1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- /*
- Copyright (c) 2004-2012, The Dojo Foundation All Rights Reserved.
- Available via Academic Free License >= 2.1 OR the modified BSD license.
- see: http://dojotoolkit.org/license for details
- */
- if(!dojo._hasResource["dojox.form.uploader.plugins.IFrame"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
- dojo._hasResource["dojox.form.uploader.plugins.IFrame"] = true;
- dojo.provide("dojox.form.uploader.plugins.IFrame");
- dojo.require("dojox.form.uploader.plugins.HTML5");
- dojo.require("dojo.io.iframe");
- dojo.declare("dojox.form.uploader.plugins.IFrame", [], {
- //
- // Version: 1.6
- //
- // summary:
- // A plugin for dojox.form.Uploader that adds Ajax upload capabilities.
- //
- // description:
- // Only supported by IE, due to the specifc iFrame hack used. The
- // dojox.form.uploader.plugins.HTML5 plugin should be used along with this to add HTML5
- // capabilities to browsers that support them. Progress events are not supported.
- // Inherits all properties from dojox.form.Uploader and dojox.form.uploader.plugins.HTML5.
- //
- force:"",
- postMixInProperties: function(){
- this.inherited(arguments);
- if(!this.supports("multiple")){
- this.uploadType = "iframe";
- }
- },
- upload: function(/*Object ? */data){
- // summary:
- // See: dojox.form.Uploader.upload
- //
- if(!this.supports("multiple") || this.force =="iframe"){
- this.uploadIFrame(data);
- dojo.stopEvent(data);
- return;
- }
- },
- uploadIFrame: function(){
- // summary:
- // Internal. You could use this, but you should use upload() or submit();
- // which can also handle the post data.
- //
- var url = this.getUrl();
- var dfd = dojo.io.iframe.send({
- url: this.getUrl(),
- form: this.form,
- handleAs: "json",
- error: dojo.hitch(this, function(err){
- console.error("HTML Upload Error:" + err.message);
- }),
- load: dojo.hitch(this, function(data, ioArgs, widgetRef){
- this.onComplete(data);
- })
- });
- }
- });
- dojox.form.addUploaderPlugin(dojox.form.uploader.plugins.IFrame);
- }
|