123456789101112131415161718192021222324252627282930313233343536 |
- const closedValue = null;
- window.Modal = new class {
- constructor() {
- this._currentModal = new ReactiveVar(closedValue);
- this._onCloseGoTo = '';
- }
- getTemplateName() {
- return this._currentModal.get();
- }
- isOpen() {
- return this.getTemplateName() !== closedValue;
- }
- close() {
- this._currentModal.set(closedValue);
- if (this._onCloseGoTo) {
- FlowRouter.go(this._onCloseGoTo);
- }
- }
- open(modalName, options) {
- this._currentModal.set(modalName);
- this._onCloseGoTo = options && options.onCloseGoTo || '';
- }
- };
- Blaze.registerHelper('Modal', Modal);
- EscapeActions.register('modalWindow',
- () => Modal.close(),
- () => Modal.isOpen(),
- { noClickEscapeOn: '.modal-content' }
- );
|