From f7b68c186d6e0aafcff0348b8ca473ff77416e77 Mon Sep 17 00:00:00 2001 From: Artur Arseniev Date: Sun, 12 Sep 2021 15:07:56 +0200 Subject: [PATCH] Add `modal` event for any update to Modal --- src/modal_dialog/index.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/modal_dialog/index.js b/src/modal_dialog/index.js index 742d92607..a2f72db6f 100644 --- a/src/modal_dialog/index.js +++ b/src/modal_dialog/index.js @@ -27,6 +27,7 @@ * @module Modal */ +import { debounce } from 'underscore'; import defaults from './config/config'; import ModalM from './model/Modal'; import ModalView from './view/ModalView'; @@ -69,10 +70,21 @@ export default () => { model = new ModalM(c); model.on('change:open', (m, enb) => triggerEvent(enb, em)); + model.on( + 'change', + debounce(() => em.trigger('modal', this._evData())) + ); return this; }, + _evData() { + return { + ...model.attributes, + close: () => this.close() + }; + }, + postRender(view) { const el = view.model.getConfig().el || view.el; const res = this.render();