summaryrefslogtreecommitdiff
path: root/lib/dojo/DeferredList.js
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2010-11-15 10:39:52 +0300
committerAndrew Dolgov <[email protected]>2010-11-15 10:39:52 +0300
commit2f01fe57a8d37767827d6db42850aef86a767c53 (patch)
tree516a95ffce2fc2435aed8d9976e444dbcba7dce3 /lib/dojo/DeferredList.js
parent951906dcecb1d3c7bcf751976a03e0c196ca6db0 (diff)
add dijit/dojo stuff; initial ui mockup
Diffstat (limited to 'lib/dojo/DeferredList.js')
-rw-r--r--lib/dojo/DeferredList.js58
1 files changed, 58 insertions, 0 deletions
diff --git a/lib/dojo/DeferredList.js b/lib/dojo/DeferredList.js
new file mode 100644
index 000000000..6a1a1aae6
--- /dev/null
+++ b/lib/dojo/DeferredList.js
@@ -0,0 +1,58 @@
+/*
+ Copyright (c) 2004-2010, 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["dojo.DeferredList"]){
+dojo._hasResource["dojo.DeferredList"]=true;
+dojo.provide("dojo.DeferredList");
+dojo.DeferredList=function(_1,_2,_3,_4,_5){
+var _6=[];
+dojo.Deferred.call(this);
+var _7=this;
+if(_1.length===0&&!_2){
+this.resolve([0,[]]);
+}
+var _8=0;
+dojo.forEach(_1,function(_9,i){
+_9.then(function(_a){
+if(_2){
+_7.resolve([i,_a]);
+}else{
+_b(true,_a);
+}
+},function(_c){
+if(_3){
+_7.reject(_c);
+}else{
+_b(false,_c);
+}
+if(_4){
+return null;
+}
+throw _c;
+});
+function _b(_d,_e){
+_6[i]=[_d,_e];
+_8++;
+if(_8===_1.length){
+_7.resolve(_6);
+}
+};
+});
+};
+dojo.DeferredList.prototype=new dojo.Deferred();
+dojo.DeferredList.prototype.gatherResults=function(_f){
+var d=new dojo.DeferredList(_f,false,true,false);
+d.addCallback(function(_10){
+var ret=[];
+dojo.forEach(_10,function(_11){
+ret.push(_11[1]);
+});
+return ret;
+});
+return d;
+};
+}