Вызов NgbModal вне файла компонента Angular - PullRequest
0 голосов
/ 30 октября 2019

Мне нужно запустить 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'
        }); 
   }

Это проблема обработки внедрения зависимости?

...