lemo-crm/web/app/components/modal-dialog.js
2018-03-18 22:15:30 +08:00

35 lines
1.1 KiB
JavaScript

import Component from '@ember/component'
import BaseComponentMixin from '../mixins/components/base-component';
export default Component.extend(BaseComponentMixin, {
classNames: ['modal', 'fade'],
'init-modal': true,
'close-to-parent': true,
'cancel-text': 'Cancel',
'submit-text': 'Submit',
keyboard: true,
didInsertElement() {
let me = this;
me._super(...arguments);
if (me.get('init-modal')) {
me.$().modal({
backdrop: me.get('backdrop'),
keyboard: me.get('keyboard')
}).on('hidden.bs.modal', ()=> {
me.$() && 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.$().modal('hide');
}
});