import Ember from 'ember'; import BaseComponentMixin from '../mixins/components/base-component'; export default Ember.Component.extend(BaseComponentMixin, { classNames: ['modal', 'fade'], 'init-modal': true, transitionToParentRouteAfterClose: true, didInsertElement() { let me = this; me._super(...arguments); if (me.get('init-modal')) { me.$().modal().on('hidden.bs.modal', ()=> { me.$() && me.get('transitionToParentRouteAfterClose') && 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'); } });