UNPKG

ember-arcgis-page-layout

Version:

Page Layout infrastructure components

64 lines (53 loc) 1.45 kB
/** * bs-drawer:component.js * * */ import Ember from 'ember'; import layout from './template'; export default Ember.Component.extend({ layout:layout, tagName: 'div', classNames: ['bs-drawer', 'editor-drawer','drawer','dw-sx-10', 'dw-sm-6', 'dw-md-4', 'fold'], classNameBindings:['drawerInside'], hasBackUrl: Ember.computed.match('backRoute', /^http/), hasBackRoute: Ember.computed('backRoute', function(){ let br = this.get('backRoute'); if(br && br.indexOf('http') === -1){ return true; }else{ return false; } }), hasBackAction: Ember.computed.notEmpty('onGoBack'), eventBus: Ember.inject.service('event-bus'), init: function(){ this._super(...arguments); this.get('eventBus').on('hideDrawer', this, 'hideDrawer'); this.get('eventBus').on('showDrawer', this, 'showDrawer'); }, didInsertElement(){ this._super(...arguments); //instantiate the drawer so that potential calls //to this.$().drawer('hide'); do not end up showing it this.$().drawer({toggle:false}); }, /** * Remove handlers */ willDestroyElement: function(){ this.get('eventBus').off('hideDrawer', this, 'hideDrawer'); this.get('eventBus').off('showDrawer', this, 'showDrawer'); }, hideDrawer: function(){ this.$().drawer('hide'); }, showDrawer: function(){ this.$().drawer('show'); }, actions: { goBack(){ this.get('onGoBack')(); } } });