7 * @class Roo.bootstrap.ButtonUploader
8 * @extends Roo.bootstrap.Button
9 * Bootstrap Button Uploader class - it's a button which when you add files to it
12 * @cfg {Number} errorTimeout default 3000
13 * @cfg {Array} images an array of ?? Img objects ??? when loading existing files..
14 * @cfg {Array} html The button text.
15 * @cfg {Boolean} multiple (default true) Should the upload allow multiple files to be uploaded.
18 * Create a new CardUploader
19 * @param {Object} config The config object
22 Roo.bootstrap.ButtonUploader = function(config){
26 Roo.bootstrap.ButtonUploader.superclass.constructor.call(this, config);
33 * When button is pressed, before show upload files dialog is shown
34 * @param {Roo.bootstrap.UploaderButton} this
37 'beforeselect' : true,
39 * @event fired when files have been selected,
40 * When a the download link is clicked
41 * @param {Roo.bootstrap.UploaderButton} this
42 * @param {Array} Array of files that have been uploaded
49 Roo.extend(Roo.bootstrap.ButtonUploader, Roo.bootstrap.Button, {
56 fileCollection : false,
61 getAutoCreate : function()
68 Roo.bootstrap.Button.prototype.getAutoCreate.call(this)
76 initEvents : function()
79 Roo.bootstrap.Button.prototype.initEvents.call(this);
85 this.urlAPI = (window.createObjectURL && window) ||
86 (window.URL && URL.revokeObjectURL && URL) ||
87 (window.webkitURL && webkitURL);
92 cls : 'd-none roo-card-upload-selector'
96 im.multiple = 'multiple';
98 this.selectorEl = Roo.get(document.body).createChild(im); // so it does not capture click event for navitem.
100 //this.selectorEl = this.el.select('.roo-card-upload-selector', true).first();
102 this.selectorEl.on('change', this.onFileSelected, this);
109 onClick : function(e)
113 if ( this.fireEvent('beforeselect', this) === false) {
117 this.selectorEl.dom.click();
121 onFileSelected : function(e)
125 if(typeof(this.selectorEl.dom.files) == 'undefined' || !this.selectorEl.dom.files.length){
128 var files = Array.prototype.slice.call(this.selectorEl.dom.files);
129 this.selectorEl.dom.value = '';// hopefully reset..
131 this.fireEvent('uploaded', this, files );
139 * addCard - add an Attachment to the uploader
140 * @param data - the data about the image to upload
144 title : "Title of file",
146 src : "http://.....",
147 srcfile : { the File upload object },
148 mimetype : file.type,