1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- define([
- "dojo/dom-construct",
- "dojo/_base/declare",
- "dojo/_base/lang",
- "dojo/_base/array",
- "dojo/io/iframe",
- "dojox/form/uploader/plugins/IFrame"
- ],function(domConstruct, declare, lang, array, ioIframe, dojoIFrame){
- return declare("pd/widgets/uploader/IFrame", [dojoIFrame], {
- handleAs: "",
-
- uploadIFrame: function(data){
- // Overwrite dojo original one
- var form, destroyAfter = false;
- if(!this.getForm()){
- form = domConstruct.place('<form enctype="multipart/form-data" ' +
- 'method="post"></form>', this.domNode);
- array.forEach(this._inputs, function(n, i){
- if(n.value) form.appendChild(n);
- }, this);
- destroyAfter = true;
- }else{
- form = this.form;
- }
-
- var url = this.getUrl();
- var dfd = ioIframe.send({
- url: url,
- form: form,
- method: "POST",
- handleAs: this.handleAs,
- error: lang.hitch(this, function(err){
- if(destroyAfter){ domConstruct.destroy(form); }
- this.onError(err);
- }),
- load: lang.hitch(this, function(data, ioArgs, widgetRef){
- if(destroyAfter){ domConstruct.destroy(form); }
- if(data["ERROR"] || data["error"]){
- this.onError(data);
- }else{
- this.onComplete(data);
- }
- })
- });
- }
- });
- });
|