yoqw/web/cms/app/components/modal-dialog.js
2020-07-01 15:22:07 +08:00

36 lines
1.1 KiB
JavaScript

import BaseComponent from './basic-component';
import $ from 'jquery';
export default BaseComponent.extend({
classNames: ['modal', 'fade'],
'init-modal': true,
'close-to-parent': true,
'cancel-text': 'Cancel',
'submit-text': 'Submit',
'no-padding': true,
keyboard: true,
didInsertElement() {
let me = this;
me._super(...arguments);
if (me.get('init-modal')) {
$(me.element).modal({
backdrop: me.get('backdrop'),
keyboard: me.get('keyboard')
}).on('hidden.bs.modal', ()=> {
$(me.element) && me.get('close-to-parent') &&
me.get('router').transitionTo(
me.get('parentRouteName') ||
me.get('routeName').replace(/\.[^.]+$/, ''));
let onClose = me.get('on-close');
onClose && onClose();
}).on('shown.bs.modal', () => {
let onShown = me.get('on-shown');
onShown && onShown();
});
}
},
willDestroyElement() {
$(this.element).modal('hide');
}
});