7 * @class Roo.bootstrap.DocumentSlider
8 * @extends Roo.bootstrap.Component
9 * Bootstrap DocumentSlider class
13 * Create a new DocumentViewer
14 * @param {Object} config The config object
17 Roo.bootstrap.DocumentSlider = function(config){
18 Roo.bootstrap.DocumentSlider.superclass.constructor.call(this, config);
25 * Fire after initEvent
26 * @param {Roo.bootstrap.DocumentSlider} this
32 * @param {Roo.bootstrap.DocumentSlider} this
38 Roo.extend(Roo.bootstrap.DocumentSlider, Roo.bootstrap.Component, {
44 getAutoCreate : function()
48 cls : 'roo-document-slider',
52 cls : 'roo-document-slider-header',
56 cls : 'roo-document-slider-header-title'
62 cls : 'roo-document-slider-body',
66 cls : 'roo-document-slider-prev',
70 cls : 'fa fa-chevron-left'
76 cls : 'roo-document-slider-thumb',
80 cls : 'roo-document-slider-image'
86 cls : 'roo-document-slider-next',
90 cls : 'fa fa-chevron-right'
102 initEvents : function()
104 this.headerEl = this.el.select('.roo-document-slider-header', true).first();
105 this.headerEl.setVisibilityMode(Roo.Element.DISPLAY);
107 this.titleEl = this.el.select('.roo-document-slider-header .roo-document-slider-header-title', true).first();
108 this.titleEl.setVisibilityMode(Roo.Element.DISPLAY);
110 this.bodyEl = this.el.select('.roo-document-slider-body', true).first();
111 this.bodyEl.setVisibilityMode(Roo.Element.DISPLAY);
113 this.thumbEl = this.el.select('.roo-document-slider-thumb', true).first();
114 this.thumbEl.setVisibilityMode(Roo.Element.DISPLAY);
116 this.imageEl = this.el.select('.roo-document-slider-image', true).first();
117 this.imageEl.setVisibilityMode(Roo.Element.DISPLAY);
119 this.prevIndicator = this.el.select('.roo-document-slider-prev i', true).first();
120 this.prevIndicator.setVisibilityMode(Roo.Element.DISPLAY);
122 this.nextIndicator = this.el.select('.roo-document-slider-next i', true).first();
123 this.nextIndicator.setVisibilityMode(Roo.Element.DISPLAY);
125 this.prevIndicator.on('click', this.prev, this);
127 this.nextIndicator.on('click', this.next, this);
133 if(this.files.length){
138 this.fireEvent('initial', this);
143 this.imageEl.attr('src', this.files[this.indicator - 1]);
145 this.titleEl.dom.innerHTML = String.format('{0} / {1}', this.indicator, this.files.length);
147 if(this.indicator == 1){
148 this.prevIndicator.hide();
151 if(this.indicator == this.files.length){
153 this.nextIndicator.hide();
156 this.thumbEl.scrollTo('top');
158 this.fireEvent('update', this);
163 this.indicator = Math.min(1, this.indicator - 1);
170 this.indicator = Math.min(this.files.length, this.indicator + 1);