|
|
|
Доступ к атрибутам плагина из javascript
|
|||
|---|---|---|---|
|
#18+
SvDev, Вариантов куча, и все это уже глубоко Явакскрипт. И до сих пор непонятно, нужен ли ему такой отзывчивый функционал. Как я понял, все сводиться к тому, что не дать пользователю нажать сохранить, пока он не заполнит поля. В апексе это реализовано, что после нажатия кнопки "Сохранить", пользователю выдаются его косяки, и в большинстве всех это устраивает. Автор же хочет, как я понял, поменять эту логику Апекса в корне, на все приложение... У каждого свои заморочки, ну вот он так хочет (хотя я считаю трудозатраты не оправданы). Но автору пришла вот такая идея. Мне любопытно, то в итоге получится. Возможно докрутим, и получится довольно юзабельно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2015, 12:03 |
|
||
|
Доступ к атрибутам плагина из javascript
|
|||
|---|---|---|---|
|
#18+
SvDev4. Можно еще создать глобальные методы с динамическими именами на основе p_dynamic_action.id, потом поизвращаться с функцией eval, или яваскрипт код генерировать динамически через pl/sql, но я не думаю, что это правильный подход, т.к. использование eval считается плохим тоном, точно так же как делать зависимым яваскрипт от pl/sql слишком сильно. Я ему предложил для динамических имен подход, правильный. Каждый новый объект в своем регионе будет иметь свое имя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2015, 12:05 |
|
||
|
Доступ к атрибутам плагина из javascript
|
|||
|---|---|---|---|
|
#18+
На текущий момент остановился на следующем варианте: Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. Вся проблема в том, насколько правильно и красиво реализована функция reset_interface ( form_id ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2015, 12:52 |
|
||
|
Доступ к атрибутам плагина из javascript
|
|||
|---|---|---|---|
|
#18+
с примером say я ошибся маленько: gObjArr - глобальный, иначе, если say будет вызываться 2 раза из двух разных DA, они видеть друг друга не будут соответственно, тогда обращаться можно будет и через массив тоже Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2015, 13:01 |
|
||
|
Доступ к атрибутам плагина из javascript
|
|||
|---|---|---|---|
|
#18+
Diagnost89В этом вызове и прописан вызов функции очистки интерфейса с передачей ей id региона. Собственно если бы внутри этой функции можно было получить атрибуты соответствующего плагина то было бы красиво. а сейчас происходит выборка элементов внутри этой формы с предопределенными классами not_empty_item и not_empty_button Опять 25, не функция в футуре РЕГИОНА у тебя должна вызываться, а функция из ПЛАГИНА, должна отработать по отношению к твоему региону. Ты плагин как массив для хранения используешь. Вот стучусь стучусь, а понимания нет. если ты плагин как массив используешь, выкинь на фик плагин. Если ты используешь плагин как плагин, будь добр, все обработки внутри него написать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2015, 14:11 |
|
||
|
Доступ к атрибутам плагина из javascript
|
|||
|---|---|---|---|
|
#18+
Diagnost89, Хорошо, давай так. Вот этот скрипт, который у тебя основной в плагине, перенесем просто в футер региона? Можем так сделать? Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Конечно, да! Нужен плагин? Конечно, НЕТ. Весь остальной код, ты просто размешаешь в хеадере страницы. ВСЕЕЕЕ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2015, 14:33 |
|
||
|
Доступ к атрибутам плагина из javascript
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. В общем в итоге сделал следующим образом. 1. Плагин типа "регион" для диалогового окна Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. У этого региона есть два события, сделанные как компоненты: OnOpen и OnClose 2. у плагина NotEmptyValidator теперь не два а три атрибута: первый - список итемов для проверки второй - список кнопок для лока/анлока третий - тип действия (selectlist, имеет два значения - Init и Reset) Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. Соответственно в js-файле две точки входа в плагин: Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 3. На странице делается 2 динамик экшена первый на Page Load вызывает плагин NotEmptyValidator c действием Init второй на кастомном событии плагина региона OnOpen вызывает плагин NotEmptyValidator с действием Reset Все управляется теперь декларативно, никаких js никуда дописывать не надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2015, 12:32 |
|
||
|
Доступ к атрибутам плагина из javascript
|
|||
|---|---|---|---|
|
#18+
Diagnost89, Есть такое понятие, как "гавно-код". Тут у нас яркий пример "гавно-решение". Надеюсь, что это будет только в единственном экземпляре. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2015, 14:27 |
|
||
|
Доступ к атрибутам плагина из javascript
|
|||
|---|---|---|---|
|
#18+
blkangel , Просьба указать, чем конкретно у Вас лично это решение вызывает такую реакцию? Какая конкретно его часть? Плагин выполняет свою основную функцию - делает проверку указанных полей на "заполненность" и в зависимости от этого меняет состояние указанных кнопок. Так же можно выполнить сброс валидации для указанных полей и кнопок. Все это делается без единой строчки js-кода со стороны пользователя. И к тому же, вопрос изначально был про то, как передать значение атрибута плагина в js-функцию. На данный момент видно, что атрибут передается в функцию в зависимости от выбранного типа действия (инициализация/сброс). Касательно встроенного функционала валидации апекса - он происходит при сабмите формы. ТС хочет все обработки делать, не допуская перезагрузок страницы и это, как мне кажется, правильный подход. ТС решил свою задачу. Не надо пытаться самоутвердиться, уничижая достижения других. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2015, 16:13 |
|
||
|
Доступ к атрибутам плагина из javascript
|
|||
|---|---|---|---|
|
#18+
e.s.l, это публичный форум. Так что, критика - обычное дело. Добро пожаловать в веб. Тем более, что задачи плагина, описали только вы .... на 2-ой странице. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2015, 16:23 |
|
||
|
Доступ к атрибутам плагина из javascript
|
|||
|---|---|---|---|
|
#18+
e.s.l blkangel , Просьба указать, чем конкретно у Вас лично это решение вызывает такую реакцию? Какая конкретно его часть? Плагин выполняет свою основную функцию - делает проверку указанных полей на "заполненность" и в зависимости от этого меняет состояние указанных кнопок. Так же можно выполнить сброс валидации для указанных полей и кнопок. Все это делается без единой строчки js-кода со стороны пользователя. И к тому же, вопрос изначально был про то, как передать значение атрибута плагина в js-функцию. На данный момент видно, что атрибут передается в функцию в зависимости от выбранного типа действия (инициализация/сброс). Касательно встроенного функционала валидации апекса - он происходит при сабмите формы. ТС хочет все обработки делать, не допуская перезагрузок страницы и это, как мне кажется, правильный подход. ТС решил свою задачу. Дорогой e.s.l , Вы видимо читали ветку не вникая в суть. e.s.l, Мде... Видимо вы выборочно ветку читали. 1. Человек к реализации конкретной задачи, подошел неверно. Не верно оценил трудозатраты, сложность решения, отоговый выхлоп.. Можно обойтись только JS кодом (который кстати уже написан, чутка доработав). 2. Теперь по самой реализации ОДНОЙ задачи. Для ее реализции, мы используем ДВА плагина + плюс вызовы из вне? Это только меня смущает? Или у нас тут много таких "супер" программеров?????? Давай те еще третий плагин напишем, который будет управлять первыми двумя? (Чего бы нам к велосипеду еще педали на для рук не сделать, может лучше поедет....) Где логика? Ну раз уж решили реализовать через плагин, будьте добры реализовать все в одном. e.s.l Не надо пытаться самоутвердиться, уничижая достижения других. Я предложил решение, но не обращая на это, автор, гнет свою линию, не обращая ни на советы ни на кого и выкладывать свое "произведение". Видимо, автор хочет услышать мнения другиз, о своем произведении. Вот он его и получил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2015, 16:41 |
|
||
|
Доступ к атрибутам плагина из javascript
|
|||
|---|---|---|---|
|
#18+
blkangel1. Человек к реализации конкретной задачи, подошел неверно. Не верно оценил трудозатраты, сложность решения, отоговый выхлоп.. Можно обойтись только JS кодом (который кстати уже написан, чутка доработав). Тут я бы не был так категоричен. Давайте по порядку. Не вижу тут проблем с оценкой трудозатрат. Если у нас будет N страниц где будет M форм, по вашему нам нужно будет скопировать js-код N*M раз. Это бредовое предложение - копировать код из раза в раз. В чем заключается сложность итогового решения? Тут не понятно. Итоговый выхлоп тоже есть, и ощутимый. Теперь подключая плагины на страницу можно без написания дополнительного кода создавать динамические диалоговые окна и проводить валидацию, опять же, динамически. blkangel2. Теперь по самой реализации ОДНОЙ задачи. Для ее реализции, мы используем ДВА плагина + плюс вызовы из вне? Это только меня смущает? Или у нас тут много таких "супер" программеров?????? Давай те еще третий плагин напишем, который будет управлять первыми двумя? (Чего бы нам к велосипеду еще педали на для рук не сделать, может лучше поедет....) Где логика? Ну раз уж решили реализовать через плагин, будьте добры реализовать все в одном. Два плагина используются для реализации двух разных задач, как я понял. Один отвечает за отрисовку региона как модального окна jQuery UI Dialog (штатного региона такого типа в апексе нет). Это может быть использовано и без валидации полей. Второй плагин как раз выполняет валидацию полей и смену состояний кнопок (это может быть использовано и в регионе, который не является jQuery UI Dialog). Отсюда видно, что плагины не зависят друг от друга и выполняют совершенно разные задачи. ТС лишь спросил о том как эти плагины должны взаимодействовать, изначально пойдя не совсем по тому пути (вызов js-функции плагина за пределами контекста этого плагина). Теперь же эта проблема решена, на сколько я вижу. А критика, как мне показалось, имела место быть лишь по тому, что ТС не использовал ни одно из предложенных решений. Но это его право. И критиковать его решение только потому что оно не использует предложенных Вами методов - вот это мне не понятно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2015, 17:40 |
|
||
|
Доступ к атрибутам плагина из javascript
|
|||
|---|---|---|---|
|
#18+
e.s.lпо вашему нам нужно будет скопировать js-код N*M раз. Это бредовое предложение - копировать код из раза в раз. Не нужно ничего копировать, скрипт должен цепляться как библиотека везде. У которой входный параметры (listItems, buttonItems). В регионе одна строчка var myUniqueRegionObjectNazivajuKakHochu= new validators(listItems, buttonItems); Часть аналогичного универсального блока у меня. Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2015, 18:05 |
|
||
|
Доступ к атрибутам плагина из javascript
|
|||
|---|---|---|---|
|
#18+
e.s.l, И вообще, чего ты мне хочешь втюхать? Что у него супер пупер решение? Ну так используй молча. Меня не трогай. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2015, 18:07 |
|
||
|
Доступ к атрибутам плагина из javascript
|
|||
|---|---|---|---|
|
#18+
blkangel, Очень интересный подход. Мои 5 копеек: Я ратую за максимальное использование таких вещей на этапе рендеринга. Тогда вступают в действие штатные средства ороракле-apex. Грань разумности 3х подходов тонкая)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2015, 18:41 |
|
||
|
Доступ к атрибутам плагина из javascript
|
|||
|---|---|---|---|
|
#18+
blkangelИ вообще, чего ты мне хочешь втюхать? Ничего я тебе лично втюхать не хочу. blkangelЧто у него супер пупер решение? В отличие от твоего решения, у него все завернуто в плагин и имеет интерфейс. В остальном тоже самое с другими именами. blkangelНу так используй молча. Я не могу опубликовать свое мнение? Это позволено только тебе? Ну так заведи себе блог и пиши в него свои мнения, если не хочешь знать мнения других. blkangelМеня не трогай. Извини, что потревожил. Больше не буду. Откланиваюсь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2015, 09:04 |
|
||
|
|

start [/forum/topic.php?fid=50&msg=38884292&tid=1875075]: |
0ms |
get settings: |
7ms |
get forum list: |
16ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
152ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 226ms |
| total: | 452ms |

| 0 / 0 |
