You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
DS7/DSWeb/TruckMng/Scripts/ExtjsEx/exportexcel/exporter/downloadify.min.js

176 lines
4.3 KiB
JavaScript

/* Downloadify 0.2 (c) 2009 by Douglas Neiner. Licensed under the MIT license */
/* See http://github.com/dcneiner/Downloadify for license and more info */
(function() {
Downloadify = window.Downloadify = {
queue : {},
uid : new Date().getTime(),
getTextForSave : function(a) {
var b = Downloadify.queue[a];
if (b)
return b.getData();
return ""
},
getFileNameForSave : function(a) {
var b = Downloadify.queue[a];
if (b)
return b.getFilename();
return ""
},
getDataTypeForSave : function(a) {
var b = Downloadify.queue[a];
if (b)
return b.getDataType();
return ""
},
saveComplete : function(a) {
var b = Downloadify.queue[a];
if (b)
b.complete();
return true
},
saveCancel : function(a) {
var b = Downloadify.queue[a];
if (b)
b.cancel();
return true
},
saveError : function(a) {
var b = Downloadify.queue[a];
if (b)
b.error();
return true
},
addToQueue : function(a) {
Downloadify.queue[a.queue_name] = a
},
getUID : function(a) {
if (a.id == "")
a.id = 'downloadify_' + Downloadify.uid++;
return a.id
}
};
Downloadify.create = function(a, b) {
var c = (typeof (a) == "string" ? document.getElementById(a) : a);
return new Downloadify.Container(c, b)
};
Downloadify.Container = function(d, e) {
var f = this;
f.el = d;
f.enabled = true;
f.dataCallback = null;
f.filenameCallback = null;
f.data = null;
f.filename = null;
var g = function() {
f.options = e;
if (!f.options.append)
f.el.innerHTML = "";
f.flashContainer = document.createElement('span');
f.el.appendChild(f.flashContainer);
f.queue_name = Downloadify.getUID(f.flashContainer);
if (typeof (f.options.filename) === "function")
f.filenameCallback = f.options.filename;
else if (f.options.filename)
f.filename = f.options.filename;
if (typeof (f.options.data) === "function")
f.dataCallback = f.options.data;
else if (f.options.data)
f.data = f.options.data;
var a = {
queue_name : f.queue_name,
width : f.options.width,
height : f.options.height
};
var b = {
allowScriptAccess : 'always'
};
var c = {
id : f.flashContainer.id,
name : f.flashContainer.id
};
if (f.options.enabled === false)
f.enabled = false;
if (f.options.transparent === true)
b.wmode = "transparent";
if (f.options.downloadImage)
a.downloadImage = f.options.downloadImage;
swfobject.embedSWF(f.options.swf, f.flashContainer.id,
f.options.width, f.options.height, "10", null, a, b, c);
Downloadify.addToQueue(f)
};
f.enable = function() {
var a = document.getElementById(f.flashContainer.id);
a.setEnabled(true);
f.enabled = true
};
f.disable = function() {
var a = document.getElementById(f.flashContainer.id);
a.setEnabled(false);
f.enabled = false
};
f.getData = function() {
if (!f.enabled)
return "";
if (f.dataCallback)
return f.dataCallback();
else if (f.data)
return f.data;
else
return ""
};
f.getFilename = function() {
if (f.filenameCallback)
return f.filenameCallback();
else if (f.filename)
return f.filename;
else
return ""
};
f.getDataType = function() {
if (f.options.dataType)
return f.options.dataType;
return "string"
};
f.complete = function() {
if (typeof (f.options.onComplete) === "function")
f.options.onComplete()
};
f.cancel = function() {
if (typeof (f.options.onCancel) === "function")
f.options.onCancel()
};
f.error = function() {
if (typeof (f.options.onError) === "function")
f.options.onError()
};
g()
};
Downloadify.defaultOptions = {
swf : 'media/downloadify.swf',
downloadImage : 'images/download.png',
width : 100,
height : 30,
transparent : true,
append : false,
dataType : "string"
}
})();
if (typeof (jQuery) != "undefined") {
(function($) {
$.fn.downloadify = function(b) {
return this.each(function() {
b = $.extend( {}, Downloadify.defaultOptions, b);
var a = Downloadify.create(this, b);
$(this).data('Downloadify', a)
})
}
})(jQuery)
};
if (typeof (MooTools) != 'undefined') {
Element.implement( {
downloadify : function(a) {
a = $merge(Downloadify.defaultOptions, a);
return this.store('Downloadify', Downloadify.create(this, a))
}
})
};