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.

32 lines (28 loc) 1.03 kB
import meta from '../meta'; import SelectableBehavior from 'models/behaviors/SelectableBehavior'; export default Backbone.Model.extend({ initialize({ uniqueId, id, streamId } = {}, options) { const previewTag = this.__getPreviewTag(); const embeddedType = meta.embeddedTypes[this.get('extension')]; if (embeddedType) { this.set('embeddedType', embeddedType); } if (previewTag) { this.set('previewTag', previewTag); } if (!uniqueId) { this.set({ uniqueId: id || streamId }); } _.extend(this, new SelectableBehavior.Selectable(this)); }, __getPreviewTag() { const extension = this.get('extension'); if (typeof extension === 'string') { if (meta.graphicFileExtensions.includes(extension.toLowerCase())) { return 'img'; } else if (meta.videoFileExtensions.includes(extension.toLowerCase())) { return 'video'; } } } });