| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 | const closedValue = null;window.Modal = new (class {  constructor() {    this._currentModal = new ReactiveVar(closedValue);    this._onCloseGoTo = '';    this._isWideModal = false;  }  getHeaderName() {    const currentModal = this._currentModal.get();    return currentModal && currentModal.header;  }  getTemplateName() {    const currentModal = this._currentModal.get();    return currentModal && currentModal.modalName;  }  isOpen() {    return this.getTemplateName() !== closedValue;  }  isWide() {    return this._isWideModal;  }  close() {    this._currentModal.set(closedValue);    if (this._onCloseGoTo) {      FlowRouter.go(this._onCloseGoTo);    }  }  openWide(modalName, { header = '', onCloseGoTo = '' } = {}) {    this._currentModal.set({ header, modalName });    this._onCloseGoTo = onCloseGoTo;    this._isWideModal = true;  }  open(modalName, { header = '', onCloseGoTo = '' } = {}) {    this._currentModal.set({ header, modalName });    this._onCloseGoTo = onCloseGoTo;  }})();Blaze.registerHelper('Modal', Modal);EscapeActions.register(  'modalWindow',  () => Modal.close(),  () => Modal.isOpen(),  { noClickEscapeOn: '.modal-container' },);
 |