UNPKG

comindware.core.ui

Version:

Comindware Core UI provides the basic components like editors, lists, dropdowns, popups that we so desperately need while creating Marionette-based single-page applications.

50 lines (42 loc) 1.53 kB
import TriggerButtonView from './TriggerButtonView'; import BlinkCheckboxPopoutPanelView from './blinkCheckbox/BlinkCheckboxPopoutPanelView'; import keyCode from '../../../utils/keyCode'; export default class BlinkCheckboxView { constructor(options = {}) { const view = this.__createView(options); return view; } __createView(options) { const view = Core.dropdown.factory.createPopout({ buttonView: TriggerButtonView, panelView: BlinkCheckboxPopoutPanelView, customAnchor: true, buttonViewOptions: { model: options.model, mode: options.mode, showName: options.showName }, panelViewOptions: { model: options.model, mode: options.mode, showName: options.showName } }); view.listenTo(view, 'panel:save:columns', () => { view.trigger('action:click', options.model, { type: 'panel:save:columns' }); view.close(); }); if (options.model.get('triggerBeforeOpen')) { view.listenTo(view, 'before:open', () => { view.trigger('action:click', options.model, { type: 'before:open' }); }); } view.listenTo(view, 'keyup', this.__keyup); return view; } __keyup(buttonView, event) { if ([keyCode.ENTER, keyCode.SPACE].includes(event.keyCode)) { this.open(); } } }