From 8d7448594cb00e995bed9b6e6db6e7f9280da24d Mon Sep 17 00:00:00 2001 From: Kate Arzamastseva Date: Sun, 7 Aug 2011 13:54:36 +0300 Subject: issue #44 fileuploader specific changes made in inheriting class --- lib/scripts/fileuploaderextended.js | 230 ++++++++++++++++++++++++++++++++++++ 1 file changed, 230 insertions(+) create mode 100644 lib/scripts/fileuploaderextended.js (limited to 'lib/scripts/fileuploaderextended.js') diff --git a/lib/scripts/fileuploaderextended.js b/lib/scripts/fileuploaderextended.js new file mode 100644 index 000000000..ba9158ea1 --- /dev/null +++ b/lib/scripts/fileuploaderextended.js @@ -0,0 +1,230 @@ +qq.extend(qq.FileUploader.prototype, { + _createUploadHandler: function(){ + var self = this, + handlerClass; + + if(qq.UploadHandlerXhr.isSupported()){ + handlerClass = 'UploadHandlerXhr'; + //handlerClass = 'UploadHandlerForm'; + } else { + handlerClass = 'UploadHandlerForm'; + } + + var handler = new qq[handlerClass]({ + debug: this._options.debug, + action: this._options.action, + maxConnections: this._options.maxConnections, + onProgress: function(id, fileName, loaded, total){ + self._onProgress(id, fileName, loaded, total); + self._options.onProgress(id, fileName, loaded, total); + }, + onComplete: function(id, fileName, result){ + self._onComplete(id, fileName, result); + self._options.onComplete(id, fileName, result); + }, + onCancel: function(id, fileName){ + self._onCancel(id, fileName); + self._options.onCancel(id, fileName); + }, + onUpload: function(){ + self._onUpload(); + } + }); + + return handler; + }, + + _onUpload: function(){ + this._handler.uploadAll(this._options.params); + }, + + _uploadFile: function(fileContainer){ + var id = this._handler.add(fileContainer); + var fileName = this._handler.getName(id); + + if (this._options.onSubmit(id, fileName) !== false){ + this._onSubmit(id, fileName); + } + }, + + _addToList: function(id, fileName){ + var item = qq.toElement(this._options.fileTemplate); + item.qqFileId = id; + + var fileElement = this._find(item, 'file'); + qq.setText(fileElement, this._formatFileName(fileName)); + this._find(item, 'size').style.display = 'none'; + + var nameElement = this._find(item, 'nameInput'); + nameElement.value = this._formatFileName(fileName); + nameElement.id = id; + + this._listElement.appendChild(item); + } + +}); + +qq.FileUploaderExtended = function(o){ + // call parent constructor + qq.FileUploaderBasic.apply(this, arguments); + + qq.extend(this._options, { + element: null, + // if set, will be used instead of qq-upload-list in template + listElement: null, + + template: '
' + + '
Drop files here to upload
' + + '
Upload a file
' + + '' + + '' + + '
', + + // template for one item in file list + fileTemplate: '
  • ' + + '' + + '' + + '' + + '' + + 'Cancel' + + 'Failed' + + '
  • ', + + classes: { + // used to get elements from templates + button: 'qq-upload-button', + drop: 'qq-upload-drop-area', + dropActive: 'qq-upload-drop-area-active', + list: 'qq-upload-list', + nameInput: 'qq-upload-name-input', + file: 'qq-upload-file', + + spinner: 'qq-upload-spinner', + size: 'qq-upload-size', + cancel: 'qq-upload-cancel', + + // added to list item when upload completes + // used in css to hide progress spinner + success: 'qq-upload-success', + fail: 'qq-upload-fail' + } + }); + + qq.extend(this._options, o); + + this._element = this._options.element; + this._element.innerHTML = this._options.template; + this._listElement = this._options.listElement || this._find(this._element, 'list'); + + this._classes = this._options.classes; + + this._button = this._createUploadButton(this._find(this._element, 'button')); + + this._bindCancelEvent(); + this._bindUploadEvent(); + this._setupDragDrop(); +}; + +qq.extend(qq.FileUploaderExtended.prototype, qq.FileUploader.prototype); + +qq.extend(qq.FileUploaderExtended.prototype, { + _bindUploadEvent: function(){ + var self = this, + list = this._listElement; + + qq.attach(document.getElementById('mediamanager__upload_button'), 'click', function(e){ + e = e || window.event; + var target = e.target || e.srcElement; + qq.preventDefault(e); + self._handler._options.onUpload(); + + }); + } + +}); + +qq.extend(qq.UploadHandlerForm.prototype, { + uploadAll: function(params){ + this._uploadAll(params); + }, + + _uploadAll: function(params){ + for (key in this._inputs) { + this.upload(key, params); + } + + } +}); + +qq.extend(qq.UploadHandlerXhr.prototype, { + uploadAll: function(params){ + this._uploadAll(params); + }, + + getName: function(id){ + var file = this._files[id]; + var name = document.getElementById(id); + if (name != null) { + return name.value; + } else { + if (file != null) { + // fix missing name in Safari 4 + return file.fileName != null ? file.fileName : file.name; + } else { + return null; + } + } + }, + + getSize: function(id){ + var file = this._files[id]; + if (file == null) return null; + return file.fileSize != null ? file.fileSize : file.size; + }, + + _upload: function(id, params){ + var file = this._files[id], + name = this.getName(id), + size = this.getSize(id); + if (name == null || size == null) return; + + this._loaded[id] = 0; + + var xhr = this._xhrs[id] = new XMLHttpRequest(); + var self = this; + + xhr.upload.onprogress = function(e){ + if (e.lengthComputable){ + self._loaded[id] = e.loaded; + self._options.onProgress(id, name, e.loaded, e.total); + } + }; + + xhr.onreadystatechange = function(){ + if (xhr.readyState == 4){ + self._onComplete(id, xhr); + } + }; + + // build query string + params = params || {}; + params['qqfile'] = name; + var queryString = qq.obj2url(params, this._options.action); + + xhr.open("POST", queryString, true); + xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest"); + xhr.setRequestHeader("X-File-Name", encodeURIComponent(name)); + xhr.setRequestHeader("Content-Type", "application/octet-stream"); + xhr.send(file); + }, + + _uploadAll: function(params){ + jQuery(".qq-upload-spinner-hidden").each(function (i) { + jQuery(this).addClass('qq-upload-spinner'); + }); + for (key in this._files) { + this.upload(key, params); + } + + } +}); -- cgit v1.2.3 From 6bdff0836f4bc1eee19aa8c30d03ba4bfc876733 Mon Sep 17 00:00:00 2001 From: Kate Arzamastseva Date: Mon, 8 Aug 2011 19:37:09 +0300 Subject: issue #44 overwrite checkbox added to uploader --- lib/scripts/fileuploaderextended.js | 81 +++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) (limited to 'lib/scripts/fileuploaderextended.js') diff --git a/lib/scripts/fileuploaderextended.js b/lib/scripts/fileuploaderextended.js index ba9158ea1..6eaa38ebc 100644 --- a/lib/scripts/fileuploaderextended.js +++ b/lib/scripts/fileuploaderextended.js @@ -77,6 +77,7 @@ qq.FileUploaderExtended = function(o){ '
    Drop files here to upload
    ' + '
    Upload a file
    ' + '' + + '' + '' + '', @@ -139,6 +140,26 @@ qq.extend(qq.FileUploaderExtended.prototype, { self._handler._options.onUpload(); }); + }, + + _onComplete: function(id, fileName, result){ + qq.FileUploaderBasic.prototype._onComplete.apply(this, arguments); + + // mark completed + var item = this._getItemByFileId(id); + qq.remove(this._find(item, 'cancel')); + qq.remove(this._find(item, 'spinner')); + + var nameInput = this._find(item, 'nameInput'); + var fileElement = this._find(item, 'file'); + qq.setText(fileElement, nameInput.value); + qq.remove(nameInput.parentNode); + + if (result.success){ + qq.addClass(item, this._classes.success); + } else { + qq.addClass(item, this._classes.fail); + } } }); @@ -148,11 +169,70 @@ qq.extend(qq.UploadHandlerForm.prototype, { this._uploadAll(params); }, + getName: function(id){ + var file = this._inputs[id]; + var name = document.getElementById(id); + if (name != null) { + return name.value; + } else { + if (file != null) { + // get input value and remove path to normalize + return file.value.replace(/.*(\/|\\)/, ""); + } else { + return null; + } + } + }, + _uploadAll: function(params){ + jQuery(".qq-upload-spinner-hidden").each(function (i) { + jQuery(this).addClass('qq-upload-spinner'); + }); for (key in this._inputs) { this.upload(key, params); } + }, + + _upload: function(id, params){ + var input = this._inputs[id]; + + if (!input){ + throw new Error('file with passed id was not added, or already uploaded or cancelled'); + } + + var fileName = this.getName(id); + + var iframe = this._createIframe(id); + var form = this._createForm(iframe, params); + form.appendChild(input); + + var nameInput = qq.toElement(''); + form.appendChild(nameInput); + + var owCheckbox = document.getElementById('dw__ow').cloneNode(true); + form.appendChild(owCheckbox); + + var self = this; + this._attachLoadEvent(iframe, function(){ + self.log('iframe loaded'); + + var response = self._getIframeContentJSON(iframe); + + self._options.onComplete(id, fileName, response); + self._dequeue(id); + + delete self._inputs[id]; + // timeout added to fix busy state in FF3.6 + setTimeout(function(){ + qq.remove(iframe); + }, 1); + }); + + form.submit(); + qq.remove(form); + + return id; } }); @@ -209,6 +289,7 @@ qq.extend(qq.UploadHandlerXhr.prototype, { // build query string params = params || {}; params['qqfile'] = name; + params['ow'] = document.getElementById('dw__ow').checked; var queryString = qq.obj2url(params, this._options.action); xhr.open("POST", queryString, true); -- cgit v1.2.3 From 0eca67c2d107d04c48f193b1ff5c84653d064693 Mon Sep 17 00:00:00 2001 From: Kate Arzamastseva Date: Mon, 8 Aug 2011 19:57:26 +0300 Subject: issue #44 uploader css fix --- lib/scripts/fileuploaderextended.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'lib/scripts/fileuploaderextended.js') diff --git a/lib/scripts/fileuploaderextended.js b/lib/scripts/fileuploaderextended.js index 6eaa38ebc..cbe7304c2 100644 --- a/lib/scripts/fileuploaderextended.js +++ b/lib/scripts/fileuploaderextended.js @@ -78,13 +78,13 @@ qq.FileUploaderExtended = function(o){ '
    Upload a file
    ' + '
      ' + '' + - '' + + '
      ' + '', // template for one item in file list fileTemplate: '
    • ' + '' + - '' + + '' + '' + '' + 'Cancel' + -- cgit v1.2.3 From 2d6cc64fdb73879f54aa25b2122f36631c654e3c Mon Sep 17 00:00:00 2001 From: Kate Arzamastseva Date: Fri, 12 Aug 2011 12:50:34 +0300 Subject: issue #44, #52 media_upload reused, error handling --- lib/scripts/fileuploaderextended.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'lib/scripts/fileuploaderextended.js') diff --git a/lib/scripts/fileuploaderextended.js b/lib/scripts/fileuploaderextended.js index cbe7304c2..fd2104e8e 100644 --- a/lib/scripts/fileuploaderextended.js +++ b/lib/scripts/fileuploaderextended.js @@ -107,7 +107,8 @@ qq.FileUploaderExtended = function(o){ // added to list item when upload completes // used in css to hide progress spinner success: 'qq-upload-success', - fail: 'qq-upload-fail' + fail: 'qq-upload-fail', + failedText : 'qq-upload-failed-text' } }); @@ -143,7 +144,7 @@ qq.extend(qq.FileUploaderExtended.prototype, { }, _onComplete: function(id, fileName, result){ - qq.FileUploaderBasic.prototype._onComplete.apply(this, arguments); + this._filesInProgress--; // mark completed var item = this._getItemByFileId(id); @@ -159,6 +160,8 @@ qq.extend(qq.FileUploaderExtended.prototype, { qq.addClass(item, this._classes.success); } else { qq.addClass(item, this._classes.fail); + var fail = this._find(item, 'failedText'); + qq.setText(fail, result.error); } } @@ -207,7 +210,7 @@ qq.extend(qq.UploadHandlerForm.prototype, { var form = this._createForm(iframe, params); form.appendChild(input); - var nameInput = qq.toElement(''); + var nameInput = qq.toElement(''); form.appendChild(nameInput); var owCheckbox = document.getElementById('dw__ow').cloneNode(true); -- cgit v1.2.3 From 44d638d049d687159666813023108e0fa9f32181 Mon Sep 17 00:00:00 2001 From: Kate Arzamastseva Date: Fri, 12 Aug 2011 14:18:03 +0300 Subject: issue #50 partly styling the new uploader --- lib/scripts/fileuploaderextended.js | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) (limited to 'lib/scripts/fileuploaderextended.js') diff --git a/lib/scripts/fileuploaderextended.js b/lib/scripts/fileuploaderextended.js index fd2104e8e..822c32958 100644 --- a/lib/scripts/fileuploaderextended.js +++ b/lib/scripts/fileuploaderextended.js @@ -74,20 +74,20 @@ qq.FileUploaderExtended = function(o){ listElement: null, template: '
      ' + - '
      Drop files here to upload
      ' + - '
      Upload a file
      ' + + '
      ' + LANG.media_drop + '
      ' + + '
      ' + LANG.media_select + '
      ' + '
        ' + - '' + - '
        ' + + '' + + '
        ' + '
        ', // template for one item in file list fileTemplate: '
      • ' + - '' + - '' + + '' + + '' + '' + '' + - 'Cancel' + + '' + LANG.media_cancel + '' + 'Failed' + '
      • ', @@ -154,14 +154,17 @@ qq.extend(qq.FileUploaderExtended.prototype, { var nameInput = this._find(item, 'nameInput'); var fileElement = this._find(item, 'file'); qq.setText(fileElement, nameInput.value); - qq.remove(nameInput.parentNode); + qq.removeClass(fileElement, 'qq-upload-file-hidden'); + qq.remove(nameInput); + jQuery('.qq-upload-button, #mediamanager__upload_button').remove(); + jQuery('#dw__ow').parent().remove(); if (result.success){ qq.addClass(item, this._classes.success); } else { qq.addClass(item, this._classes.fail); var fail = this._find(item, 'failedText'); - qq.setText(fail, result.error); + if (result.error) qq.setText(fail, result.error); } } -- cgit v1.2.3 From 873cd06e1bda38e0decce16d6ec7d3bdaece612e Mon Sep 17 00:00:00 2001 From: Kate Arzamastseva Date: Mon, 15 Aug 2011 14:22:19 +0300 Subject: issue #50 styling the new uploader --- lib/scripts/fileuploaderextended.js | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'lib/scripts/fileuploaderextended.js') diff --git a/lib/scripts/fileuploaderextended.js b/lib/scripts/fileuploaderextended.js index 822c32958..de0bdaa3d 100644 --- a/lib/scripts/fileuploaderextended.js +++ b/lib/scripts/fileuploaderextended.js @@ -52,11 +52,11 @@ qq.extend(qq.FileUploader.prototype, { item.qqFileId = id; var fileElement = this._find(item, 'file'); - qq.setText(fileElement, this._formatFileName(fileName)); + qq.setText(fileElement, fileName); this._find(item, 'size').style.display = 'none'; var nameElement = this._find(item, 'nameInput'); - nameElement.value = this._formatFileName(fileName); + nameElement.value = fileName; nameElement.id = id; this._listElement.appendChild(item); @@ -76,20 +76,20 @@ qq.FileUploaderExtended = function(o){ template: '
        ' + '
        ' + LANG.media_drop + '
        ' + '
        ' + LANG.media_select + '
        ' + - '
          ' + + '
          ' + '' + '
          ' + '
          ', // template for one item in file list - fileTemplate: '
        • ' + + fileTemplate: '
          ' + '' + '' + '' + '' + '' + LANG.media_cancel + '' + 'Failed' + - '
        • ', + '', classes: { // used to get elements from templates @@ -140,6 +140,9 @@ qq.extend(qq.FileUploaderExtended.prototype, { qq.preventDefault(e); self._handler._options.onUpload(); + jQuery(".qq-upload-name-input").each(function (i) { + jQuery(this).attr('disabled', 'disabled'); + }); }); }, @@ -157,10 +160,13 @@ qq.extend(qq.FileUploaderExtended.prototype, { qq.removeClass(fileElement, 'qq-upload-file-hidden'); qq.remove(nameInput); jQuery('.qq-upload-button, #mediamanager__upload_button').remove(); - jQuery('#dw__ow').parent().remove(); + jQuery('#dw__ow').parent().hide(); if (result.success){ qq.addClass(item, this._classes.success); + $link = '' + nameInput.value + ''; + jQuery(fileElement).html($link); + } else { qq.addClass(item, this._classes.fail); var fail = this._find(item, 'failedText'); -- cgit v1.2.3 From 5b9353fa4e818ffe50c9fbc1094b01fe30b96758 Mon Sep 17 00:00:00 2001 From: Kate Arzamastseva Date: Mon, 15 Aug 2011 16:29:14 +0300 Subject: mediamanager html bug fixes --- lib/scripts/fileuploaderextended.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'lib/scripts/fileuploaderextended.js') diff --git a/lib/scripts/fileuploaderextended.js b/lib/scripts/fileuploaderextended.js index de0bdaa3d..60a3427a8 100644 --- a/lib/scripts/fileuploaderextended.js +++ b/lib/scripts/fileuploaderextended.js @@ -57,7 +57,7 @@ qq.extend(qq.FileUploader.prototype, { var nameElement = this._find(item, 'nameInput'); nameElement.value = fileName; - nameElement.id = id; + nameElement.id = 'mediamanager__upload_item'+id; this._listElement.appendChild(item); } @@ -183,7 +183,7 @@ qq.extend(qq.UploadHandlerForm.prototype, { getName: function(id){ var file = this._inputs[id]; - var name = document.getElementById(id); + var name = document.getElementById('mediamanager__upload_item'+id); if (name != null) { return name.value; } else { @@ -255,7 +255,7 @@ qq.extend(qq.UploadHandlerXhr.prototype, { getName: function(id){ var file = this._files[id]; - var name = document.getElementById(id); + var name = document.getElementById('mediamanager__upload_item'+id); if (name != null) { return name.value; } else { -- cgit v1.2.3 From da45d8839c94444f8e89f45ef290516542976ee8 Mon Sep 17 00:00:00 2001 From: Kate Arzamastseva Date: Thu, 18 Aug 2011 15:03:33 +0300 Subject: issue #50 styling uploader --- lib/scripts/fileuploaderextended.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'lib/scripts/fileuploaderextended.js') diff --git a/lib/scripts/fileuploaderextended.js b/lib/scripts/fileuploaderextended.js index 60a3427a8..36fc3ec63 100644 --- a/lib/scripts/fileuploaderextended.js +++ b/lib/scripts/fileuploaderextended.js @@ -56,6 +56,8 @@ qq.extend(qq.FileUploader.prototype, { this._find(item, 'size').style.display = 'none'; var nameElement = this._find(item, 'nameInput'); + fileName = fileName.toLowerCase(); + fileName = fileName.replace(/([^a-z0-9_\.\-]+)/g, '_'); nameElement.value = fileName; nameElement.id = 'mediamanager__upload_item'+id; @@ -77,8 +79,9 @@ qq.FileUploaderExtended = function(o){ '
          ' + LANG.media_drop + '
          ' + '
          ' + LANG.media_select + '
          ' + '
          ' + + '
          ' + '' + - '
          ' + + '
          ' + '', // template for one item in file list -- cgit v1.2.3 From c472bad9de398442c30ec1410d07284f0db8b821 Mon Sep 17 00:00:00 2001 From: Kate Arzamastseva Date: Fri, 19 Aug 2011 20:56:43 +0300 Subject: issue #44 new uploader in the media popup --- lib/scripts/fileuploaderextended.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'lib/scripts/fileuploaderextended.js') diff --git a/lib/scripts/fileuploaderextended.js b/lib/scripts/fileuploaderextended.js index 36fc3ec63..f4a3219bb 100644 --- a/lib/scripts/fileuploaderextended.js +++ b/lib/scripts/fileuploaderextended.js @@ -167,7 +167,7 @@ qq.extend(qq.FileUploaderExtended.prototype, { if (result.success){ qq.addClass(item, this._classes.success); - $link = '' + nameInput.value + ''; + $link = '' + nameInput.value + ''; jQuery(fileElement).html($link); } else { @@ -175,6 +175,12 @@ qq.extend(qq.FileUploaderExtended.prototype, { var fail = this._find(item, 'failedText'); if (result.error) qq.setText(fail, result.error); } + + if (document.getElementById('media__content') && !document.getElementById('mediamanager__done_form')) { + var button = '
          '; + button += '
          ' + jQuery('#mediamanager__uploader').append(button); + } } }); -- cgit v1.2.3 From 10799f9c522a9847ebf5f2f7c91d4af7f160e4b8 Mon Sep 17 00:00:00 2001 From: Kate Arzamastseva Date: Fri, 19 Aug 2011 21:11:04 +0300 Subject: issue #44 removing drop-area after upload --- lib/scripts/fileuploaderextended.js | 1 + 1 file changed, 1 insertion(+) (limited to 'lib/scripts/fileuploaderextended.js') diff --git a/lib/scripts/fileuploaderextended.js b/lib/scripts/fileuploaderextended.js index f4a3219bb..005268bbb 100644 --- a/lib/scripts/fileuploaderextended.js +++ b/lib/scripts/fileuploaderextended.js @@ -164,6 +164,7 @@ qq.extend(qq.FileUploaderExtended.prototype, { qq.remove(nameInput); jQuery('.qq-upload-button, #mediamanager__upload_button').remove(); jQuery('#dw__ow').parent().hide(); + jQuery('.qq-upload-drop-area').remove(); if (result.success){ qq.addClass(item, this._classes.success); -- cgit v1.2.3 From 9de3b5710719658ef75740c0bd930423cc7c209c Mon Sep 17 00:00:00 2001 From: Kate Arzamastseva Date: Sun, 21 Aug 2011 02:16:39 +0300 Subject: issue #44 uploader fixes, #45 browser testing --- lib/scripts/fileuploaderextended.js | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) (limited to 'lib/scripts/fileuploaderextended.js') diff --git a/lib/scripts/fileuploaderextended.js b/lib/scripts/fileuploaderextended.js index 005268bbb..ed631a9ea 100644 --- a/lib/scripts/fileuploaderextended.js +++ b/lib/scripts/fileuploaderextended.js @@ -80,7 +80,7 @@ qq.FileUploaderExtended = function(o){ '
          ' + LANG.media_select + '
          ' + '
          ' + '
          ' + - '' + + '' + '
          ' + '', @@ -163,7 +163,7 @@ qq.extend(qq.FileUploaderExtended.prototype, { qq.removeClass(fileElement, 'qq-upload-file-hidden'); qq.remove(nameInput); jQuery('.qq-upload-button, #mediamanager__upload_button').remove(); - jQuery('#dw__ow').parent().hide(); + jQuery('.dw__ow').parent().hide(); jQuery('.qq-upload-drop-area').remove(); if (result.success){ @@ -178,8 +178,12 @@ qq.extend(qq.FileUploaderExtended.prototype, { } if (document.getElementById('media__content') && !document.getElementById('mediamanager__done_form')) { - var button = '
          '; - button += '
          ' + var action = document.location.href; + var i = action.indexOf('?'); + if (i) action = action.substr(0, i); + var button = '
          '; + button += ''; + button += '
          '; jQuery('#mediamanager__uploader').append(button); } } @@ -232,8 +236,10 @@ qq.extend(qq.UploadHandlerForm.prototype, { var nameInput = qq.toElement(''); form.appendChild(nameInput); - var owCheckbox = document.getElementById('dw__ow').cloneNode(true); - form.appendChild(owCheckbox); + var checked = jQuery('.dw__ow').attr('checked'); + var owCheckbox = jQuery('.dw__ow').clone(); + owCheckbox.attr('checked', checked); + jQuery(form).append(owCheckbox); var self = this; this._attachLoadEvent(iframe, function(){ @@ -311,7 +317,7 @@ qq.extend(qq.UploadHandlerXhr.prototype, { // build query string params = params || {}; params['qqfile'] = name; - params['ow'] = document.getElementById('dw__ow').checked; + params['ow'] = jQuery('.dw__ow').attr('checked'); var queryString = qq.obj2url(params, this._options.action); xhr.open("POST", queryString, true); -- cgit v1.2.3 From 4ce531577ce9aaf635a80849d5b195e5c88eef41 Mon Sep 17 00:00:00 2001 From: Anika Henke Date: Sun, 25 Sep 2011 21:07:55 +0100 Subject: media manager: file uploader improvements --- lib/scripts/fileuploaderextended.js | 45 ++++++++++++++++++++----------------- 1 file changed, 24 insertions(+), 21 deletions(-) (limited to 'lib/scripts/fileuploaderextended.js') diff --git a/lib/scripts/fileuploaderextended.js b/lib/scripts/fileuploaderextended.js index ed631a9ea..f92d50754 100644 --- a/lib/scripts/fileuploaderextended.js +++ b/lib/scripts/fileuploaderextended.js @@ -76,23 +76,24 @@ qq.FileUploaderExtended = function(o){ listElement: null, template: '
          ' + - '
          ' + LANG.media_drop + '
          ' + - '
          ' + LANG.media_select + '
          ' + - '
          ' + - '
          ' + - '' + - '
          ' + - '
          ', + '
          ' + LANG.media_drop + '
          ' + + '
          ' + LANG.media_select + '
          ' + + '
            ' + + '
            ' + + ' ' + + ' ' + + '
            ' + + '', // template for one item in file list - fileTemplate: '
            ' + - '' + - '' + - '' + - '' + - '' + LANG.media_cancel + '' + - 'Failed' + - '
            ', + fileTemplate: '
          • ' + + '' + + ' ' + + ' ' +// @todo: use "qq-upload-spinner hidden" instead + ' ' + + ' ' + LANG.media_cancel + '' + + ' Failed' + + '
          • ', classes: { // used to get elements from templates @@ -101,6 +102,8 @@ qq.FileUploaderExtended = function(o){ dropActive: 'qq-upload-drop-area-active', list: 'qq-upload-list', nameInput: 'qq-upload-name-input', + overwriteInput: 'qq-overwrite-check', + uploadButton: 'qq-upload-action', file: 'qq-upload-file', spinner: 'qq-upload-spinner', @@ -111,7 +114,7 @@ qq.FileUploaderExtended = function(o){ // used in css to hide progress spinner success: 'qq-upload-success', fail: 'qq-upload-fail', - failedText : 'qq-upload-failed-text' + failedText: 'qq-upload-failed-text' } }); @@ -160,7 +163,7 @@ qq.extend(qq.FileUploaderExtended.prototype, { var nameInput = this._find(item, 'nameInput'); var fileElement = this._find(item, 'file'); qq.setText(fileElement, nameInput.value); - qq.removeClass(fileElement, 'qq-upload-file-hidden'); + qq.removeClass(fileElement, 'hidden'); qq.remove(nameInput); jQuery('.qq-upload-button, #mediamanager__upload_button').remove(); jQuery('.dw__ow').parent().hide(); @@ -211,8 +214,8 @@ qq.extend(qq.UploadHandlerForm.prototype, { }, _uploadAll: function(params){ - jQuery(".qq-upload-spinner-hidden").each(function (i) { - jQuery(this).addClass('qq-upload-spinner'); + jQuery(".qq-upload-spinner").each(function (i) { + jQuery(this).removeClass('hidden'); }); for (key in this._inputs) { this.upload(key, params); @@ -328,8 +331,8 @@ qq.extend(qq.UploadHandlerXhr.prototype, { }, _uploadAll: function(params){ - jQuery(".qq-upload-spinner-hidden").each(function (i) { - jQuery(this).addClass('qq-upload-spinner'); + jQuery(".qq-upload-spinner").each(function (i) { + jQuery(this).removeClass('hidden'); }); for (key in this._files) { this.upload(key, params); -- cgit v1.2.3 From 15fe2b5cbdd778e50daf2e733891ceb2ff7441b9 Mon Sep 17 00:00:00 2001 From: Anika Henke Date: Sun, 25 Sep 2011 21:11:36 +0100 Subject: removed obsolete todo --- lib/scripts/fileuploaderextended.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib/scripts/fileuploaderextended.js') diff --git a/lib/scripts/fileuploaderextended.js b/lib/scripts/fileuploaderextended.js index f92d50754..3481bbc3e 100644 --- a/lib/scripts/fileuploaderextended.js +++ b/lib/scripts/fileuploaderextended.js @@ -89,7 +89,7 @@ qq.FileUploaderExtended = function(o){ fileTemplate: '
          • ' + '' + ' ' + - ' ' +// @todo: use "qq-upload-spinner hidden" instead + ' ' + ' ' + ' ' + LANG.media_cancel + '' + ' Failed' + -- cgit v1.2.3 From edf35c4242c97d4f25032f5c295f5a8e60e83c15 Mon Sep 17 00:00:00 2001 From: Anika Henke Date: Sun, 25 Sep 2011 21:22:15 +0100 Subject: whitespace fixes: tabs to spaces --- lib/scripts/fileuploaderextended.js | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) (limited to 'lib/scripts/fileuploaderextended.js') diff --git a/lib/scripts/fileuploaderextended.js b/lib/scripts/fileuploaderextended.js index 3481bbc3e..f92bdbc49 100644 --- a/lib/scripts/fileuploaderextended.js +++ b/lib/scripts/fileuploaderextended.js @@ -76,24 +76,24 @@ qq.FileUploaderExtended = function(o){ listElement: null, template: '
            ' + - '
            ' + LANG.media_drop + '
            ' + - '
            ' + LANG.media_select + '
            ' + - '
              ' + - '
              ' + - ' ' + - ' ' + - '
              ' + - '
              ', + '
              ' + LANG.media_drop + '
              ' + + '
              ' + LANG.media_select + '
              ' + + '
                ' + + '
                ' + + ' ' + + ' ' + + '
                ' + + '', // template for one item in file list fileTemplate: '
              • ' + - '' + - ' ' + - ' ' + - ' ' + - ' ' + LANG.media_cancel + '' + - ' Failed' + - '
              • ', + '' + + ' ' + + ' ' + + ' ' + + ' ' + LANG.media_cancel + '' + + ' Failed' + + '', classes: { // used to get elements from templates @@ -239,9 +239,9 @@ qq.extend(qq.UploadHandlerForm.prototype, { var nameInput = qq.toElement(''); form.appendChild(nameInput); - var checked = jQuery('.dw__ow').attr('checked'); + var checked = jQuery('.dw__ow').attr('checked'); var owCheckbox = jQuery('.dw__ow').clone(); - owCheckbox.attr('checked', checked); + owCheckbox.attr('checked', checked); jQuery(form).append(owCheckbox); var self = this; -- cgit v1.2.3