Украшение 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, а затем, после открытия диалога, найти его элемент по этому классу и переместить его в контейнер.

Другие вопросы по тегам