Я портирую большое бизнес-приложение CRUD, созданное с использованием технологии Oracle -forms, в Интернет (HTML5 / AngularJS / RESTful-web-services).
Отчасти способ настройки бизнес-логики зависит от доступности модальных диалоговых окон, показывающих сетки CRUD. Для начала, пользователи ...
- щелкните по строке сетки
- введите данные в первое поле строки
- нажмите ENTER
- курсор переходит в следующее поле справа
- и Т. Д.
- они редактируют другие поля и т. д.
- они нажимают "сохранить" где-нибудь на странице
- проверки происходят, веб-сервис называется -> ДАННЫЕ СОХРАНЕНЫ.
Я создал эту часть с помощью ng-grid AngularUI.
На следующем этапе я споткнулся:
- Вы дважды щелкаете по строке сетки, появляется новое МОДАЛЬНОЕ диалоговое окно, показывающее «детальную сетку».
- Вы редактируете / удаляете / и т. Д. Все, что угодно в сетке, и вы также можете снова дважды щелкнуть строку сетки, и появится еще один новый МОДАЛЬНЫЙ диалог, показывающий «сетку деталей-деталей». И так далее.
Когда я попробовал это через службу диалога $ Angular UI, я быстро натолкнулся на стены - есть много проблем с вложенным диалогом $ (например, см. эту проблему в репозиториях GitHub), и что гораздо больше беспокоит, так это то, что недавно (2 месяца назад) они решили просто отказаться от старого диалогового окна, потому что в нем было слишком много проблем, и перепишите его с нуля.
Мой вопрос к любым другим разработчикам Angular: как вы справляетесь с вложенными модальными диалогами? Вы используете другие библиотеки - например, диалог jQueryUI? Если да, то как использовать их «угловым способом»? т.е. без смешивания обработки DOM в ваших контроллерах? Я попытался последовать примеру другого SO question, и он действительно работает, но он встраивает HTML-код диалогового окна в часть страницы, что нехорошо (например, представьте, что вам нужно встроить весь HTML-код для вашего диалогового окна справки, отображаемого с помощью F1 («показать диалоговое окно сочетаний клавиш ") во всех частях вашего HTML-шаблона Angular!
Я рассматриваю возможность загрузки шаблонов диалогов (например, диалогового окна Angular UI) через $ http и вставки содержимого через ngInclude, но это будет означать, что мне придется сохранить для них заполнитель в моем DOM ('#dialogPlace' или что-то в этом роде) - и поскольку у меня есть потенциально неограниченная «глубина» вложенности, я боюсь, что мне придется самостоятельно кодировать «обработку стека», полностью добавляя элементы DOM. Бог знает, что это вызовет само по себе ...
Мне очень нравится Angular, но моя проблемная область требует прочного рабочего компонента для вложенных модальных диалогов. Я надеюсь, что кто-то столкнулся с этой проблемой и имеет чистое, похожее на Angular решение ...