mirror of
https://github.com/wekan/wekan.git
synced 2025-04-24 14:08:31 -04:00
Yes Wekan need some tests. Yes I need to stop refactoring my code when I’m halp-sleeping in my bed at 4am.
36 lines
723 B
JavaScript
36 lines
723 B
JavaScript
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, { onCloseGoTo = ''} = {}) {
|
|
this._currentModal.set(modalName);
|
|
this._onCloseGoTo = onCloseGoTo;
|
|
}
|
|
};
|
|
|
|
Blaze.registerHelper('Modal', Modal);
|
|
|
|
EscapeActions.register('modalWindow',
|
|
() => Modal.close(),
|
|
() => Modal.isOpen(),
|
|
{ noClickEscapeOn: '.modal-content' }
|
|
);
|