/* * Licence: LGPL */ /** * @class Roo.bootstrap.DocumentViewer * @extends Roo.bootstrap.Component * Bootstrap DocumentViewer class * @cfg {Boolean} showDownload (true|false) show download button (default true) * @cfg {Boolean} showTrash (true|false) show trash button (default true) * * @constructor * Create a new DocumentViewer * @param {Object} config The config object */ Roo.bootstrap.DocumentViewer = function(config){ Roo.bootstrap.DocumentViewer.superclass.constructor.call(this, config); this.addEvents({ /** * @event initial * Fire after initEvent * @param {Roo.bootstrap.DocumentViewer} this */ "initial" : true, /** * @event click * Fire after click * @param {Roo.bootstrap.DocumentViewer} this */ "click" : true, /** * @event download * Fire after download button * @param {Roo.bootstrap.DocumentViewer} this */ "download" : true, /** * @event trash * Fire after trash button * @param {Roo.bootstrap.DocumentViewer} this */ "trash" : true }); }; Roo.extend(Roo.bootstrap.DocumentViewer, Roo.bootstrap.Component, { showDownload : true, showTrash : true, getAutoCreate : function() { var cfg = { tag : 'div', cls : 'roo-document-viewer', cn : [ { tag : 'div', cls : 'roo-document-viewer-body', cn : [ { tag : 'div', cls : 'roo-document-viewer-thumb', cn : [ { tag : 'img', cls : 'roo-document-viewer-image' } ] } ] }, { tag : 'div', cls : 'roo-document-viewer-footer', cn : { tag : 'div', cls : 'btn-group btn-group-justified roo-document-viewer-btn-group', cn : [ { tag : 'div', cls : 'btn-group roo-document-viewer-download', cn : [ { tag : 'button', cls : 'btn btn-default', html : '<i class="fa fa-download"></i>' } ] }, { tag : 'div', cls : 'btn-group roo-document-viewer-trash', cn : [ { tag : 'button', cls : 'btn btn-default', html : '<i class="fa fa-trash"></i>' } ] } ] } } ] }; return cfg; }, initEvents : function() { this.bodyEl = this.el.select('.roo-document-viewer-body', true).first(); this.bodyEl.setVisibilityMode(Roo.Element.DISPLAY); this.thumbEl = this.el.select('.roo-document-viewer-thumb', true).first(); this.thumbEl.setVisibilityMode(Roo.Element.DISPLAY); this.imageEl = this.el.select('.roo-document-viewer-image', true).first(); this.imageEl.setVisibilityMode(Roo.Element.DISPLAY); this.footerEl = this.el.select('.roo-document-viewer-footer', true).first(); this.footerEl.setVisibilityMode(Roo.Element.DISPLAY); this.downloadBtn = this.el.select('.roo-document-viewer-download', true).first(); this.downloadBtn.setVisibilityMode(Roo.Element.DISPLAY); this.trashBtn = this.el.select('.roo-document-viewer-trash', true).first(); this.trashBtn.setVisibilityMode(Roo.Element.DISPLAY); this.bodyEl.on('click', this.onClick, this); this.downloadBtn.on('click', this.onDownload, this); this.trashBtn.on('click', this.onTrash, this); this.downloadBtn.hide(); this.trashBtn.hide(); if(this.showDownload){ this.downloadBtn.show(); } if(this.showTrash){ this.trashBtn.show(); } if(!this.showDownload && !this.showTrash) { this.footerEl.hide(); } }, initial : function() { this.fireEvent('initial', this); }, onClick : function(e) { e.preventDefault(); this.fireEvent('click', this); }, onDownload : function(e) { e.preventDefault(); this.fireEvent('download', this); }, onTrash : function(e) { e.preventDefault(); this.fireEvent('trash', this); } });