Украшение Angular-UI Bootstrap модальный
У меня есть функция, которую я создаю, это примерно 90% функциональности, которую обеспечивает Angular-UI Bootstrap Modal. Единственная разница заключается в следующем:
- Модал должен быть расположен относительно контейнера div (я уже занимался стилем с помощью
windowClass
)
Проблема в том, что $modalStack service
жесткие коды body.append
позвоните, как видно здесь:
body.append(modalDomEl)
body.addClass(OPENED_MODAL_CLASS)
Я начал с простого копирования / вставки open
методы для каждого сервиса (переименование в openWithinElement) и изменение того, что мне нужно, чтобы он работал. Как вы можете видеть, если вы запустите приложение, оно выдаст ошибку о том, что зависимость $q не определена. Хорошо, я думаю, это имеет смысл.
Затем я добавил зависимости к provider.decorator
метод, который обошел все ошибки зависимости. Но потом я получил еще одну ошибку, function getTemplatePromise is undefined
... ну, конечно, это не определено. Это внутренний метод сервиса.
Вот когда я действительно застрял. Кажется невозможным украсить этот сервис новым методом без переопределения всех частных функций / объектов / реквизитов в сервисе.
Это тот случай?
[ПРАВИТЬ ДОБАВИТЬ] В конечном итоге я украсил службу updateParentElement
метод, который затем переместил модальное значение в переданный элемент, который был выполнен в открытом обещании. Это хаки, но работает, но я надеюсь, что есть кое-что, что мне не хватает с декораторами.
[/РЕДАКТИРОВАТЬ]
1 ответ
На мой взгляд, самое простое решение - предоставить определенный windowClass, а затем, после открытия диалога, найти его элемент по этому классу и переместить его в контейнер.