Мне нужно запустить ngbModal на основе выбора contextMenu (не dropDownMenu) из вспомогательного файла за пределами файла угловых компонентов. ContextMenu встроено в mxGraph за счет расширения их фабрики popupMenu.
Проблема заключается в инициализации службы NgbModal для запуска модального режима вне файла Angular Component.
Я использую Angular8 с ngBootstrap, включая ngbModals в других частях приложения за пределами mxGraph. Но все остальные вызовы ngbModal поступают из файлов компонентов, а не из помощников.
В случае mxGraph функция контекстного меню находится в файле помощника, который импортируется в файл компонента с отображением mxGraph. И я хочу сохранить вызовы для запуска модалов в этом файле, так как есть несколько модалов, которые можно запустить в зависимости от выбора контекстного меню.
function contextMenu(menu, cell, evt) {
menu.addItem('launch modal 1', null, openModal1);
menu.addItem('launch modal 2', null, openModal2);
}
function openModal1(){
let modalService: NGBModal; // <-- using NGBModal as a constructor doesn't work
const modalRef = modalService.open( // <--- This errors out as undefined
testModalComponent,
{
scrollable: true,
centered: true,
size: 'l'
});
}
function openModal2(){
let modalService: NGBModal; // <-- using NGBModal as a constructor doesn't work
const modalRef = modalService.open( // <--- This errors out as undefined
testModalComponent,
{
scrollable: true,
centered: true,
size: 'l'
});
}
Это проблема обработки внедрения зависимости?