import "blueimp-file-upload/js/vendor/jquery.ui.widget.js"; import "blueimp-file-upload/js/jquery.iframe-transport.js"; import "blueimp-file-upload/js/jquery.fileupload.js"; //import "blueimp-file-upload/js/jquery.fileupload-image.js"; export default class Upload { constructor(oSpot) { this.spot = oSpot; } pageInit(asHash) { let asProject = this.spot.vars(['projects', this.spot.vars('default_project_codename')]); this.spot.tmp('status-box', $('#status')); if(asProject.editable) { $('#fileupload') .attr('data-url', this.spot.getActionLink('upload')) .fileupload({ dataType: 'json', formData: {t: this.spot.consts.timezone}, acceptFileTypes: /(\.|\/)(gif|jpe?g|png|mov)$/i, done: (e, asData) => { $.each(asData.result.files, (iKey, oFile) => { let bError = ('error' in oFile); //Feedback this.addStatus(bError?oFile.error:(this.spot.lang('upload_success', [oFile.name]))); //Comments if(!bError) this.addCommentBox(oFile.id, oFile.thumbnail); }); }, progressall: (e, data) => { let progress = parseInt(data.loaded / data.total * 100, 10); $('#progress .bar').css('width', progress+'%'); } }); } else this.addStatus(this.spot.lang('upload_mode_archived', [asProject.name]), true); } addCommentBox(iMediaId, sThumbnailPath) { $('#comments').append($('
', {'class':'comment'}) .append($('', {'class':'thumb', 'src':sThumbnailPath})) .append($('
') .append($('', {'class':'content', 'name':'content', 'type':'text'})) .append($('', {'class':'id', 'name':'id', 'type':'hidden', 'value':iMediaId})) .append($('