mirror of
https://git.tt-rss.org/git/tt-rss.git
synced 2025-12-15 13:45:56 +00:00
add dijit/dojo stuff; initial ui mockup
This commit is contained in:
130
lib/dojo/_base/Deferred.js
Normal file
130
lib/dojo/_base/Deferred.js
Normal file
@@ -0,0 +1,130 @@
|
||||
/*
|
||||
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._base.Deferred"]){
|
||||
dojo._hasResource["dojo._base.Deferred"]=true;
|
||||
dojo.provide("dojo._base.Deferred");
|
||||
dojo.require("dojo._base.lang");
|
||||
(function(){
|
||||
var _1=function(){
|
||||
};
|
||||
var _2=Object.freeze||function(){
|
||||
};
|
||||
dojo.Deferred=function(_3){
|
||||
var _4,_5,_6,_7,_8;
|
||||
var _9=this.promise={};
|
||||
function _a(_b){
|
||||
if(_5){
|
||||
throw new Error("This deferred has already been resolved");
|
||||
}
|
||||
_4=_b;
|
||||
_5=true;
|
||||
_c();
|
||||
};
|
||||
function _c(){
|
||||
var _d;
|
||||
while(!_d&&_8){
|
||||
var _e=_8;
|
||||
_8=_8.next;
|
||||
if(_d=(_e.progress==_1)){
|
||||
_5=false;
|
||||
}
|
||||
var _f=(_6?_e.error:_e.resolved);
|
||||
if(_f){
|
||||
try{
|
||||
var _10=_f(_4);
|
||||
if(_10&&typeof _10.then==="function"){
|
||||
_10.then(dojo.hitch(_e.deferred,"resolve"),dojo.hitch(_e.deferred,"reject"));
|
||||
continue;
|
||||
}
|
||||
var _11=_d&&_10===undefined;
|
||||
_e.deferred[_11&&_6?"reject":"resolve"](_11?_4:_10);
|
||||
}
|
||||
catch(e){
|
||||
_e.deferred.reject(e);
|
||||
}
|
||||
}else{
|
||||
if(_6){
|
||||
_e.deferred.reject(_4);
|
||||
}else{
|
||||
_e.deferred.resolve(_4);
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
this.resolve=this.callback=function(_12){
|
||||
this.fired=0;
|
||||
this.results=[_12,null];
|
||||
_a(_12);
|
||||
};
|
||||
this.reject=this.errback=function(_13){
|
||||
_6=true;
|
||||
this.fired=1;
|
||||
_a(_13);
|
||||
this.results=[null,_13];
|
||||
if(!_13||_13.log!==false){
|
||||
(dojo.config.deferredOnError||function(x){
|
||||
console.error(x);
|
||||
})(_13);
|
||||
}
|
||||
};
|
||||
this.progress=function(_14){
|
||||
var _15=_8;
|
||||
while(_15){
|
||||
var _16=_15.progress;
|
||||
_16&&_16(_14);
|
||||
_15=_15.next;
|
||||
}
|
||||
};
|
||||
this.addCallbacks=function(_17,_18){
|
||||
this.then(_17,_18,_1);
|
||||
return this;
|
||||
};
|
||||
this.then=_9.then=function(_19,_1a,_1b){
|
||||
var _1c=_1b==_1?this:new dojo.Deferred(_9.cancel);
|
||||
var _1d={resolved:_19,error:_1a,progress:_1b,deferred:_1c};
|
||||
if(_8){
|
||||
_7=_7.next=_1d;
|
||||
}else{
|
||||
_8=_7=_1d;
|
||||
}
|
||||
if(_5){
|
||||
_c();
|
||||
}
|
||||
return _1c.promise;
|
||||
};
|
||||
var _1e=this;
|
||||
this.cancel=_9.cancel=function(){
|
||||
if(!_5){
|
||||
var _1f=_3&&_3(_1e);
|
||||
if(!_5){
|
||||
if(!(_1f instanceof Error)){
|
||||
_1f=new Error(_1f);
|
||||
}
|
||||
_1f.log=false;
|
||||
_1e.reject(_1f);
|
||||
}
|
||||
}
|
||||
};
|
||||
_2(_9);
|
||||
};
|
||||
dojo.extend(dojo.Deferred,{addCallback:function(_20){
|
||||
return this.addCallbacks(dojo.hitch.apply(dojo,arguments));
|
||||
},addErrback:function(_21){
|
||||
return this.addCallbacks(null,dojo.hitch.apply(dojo,arguments));
|
||||
},addBoth:function(_22){
|
||||
var _23=dojo.hitch.apply(dojo,arguments);
|
||||
return this.addCallbacks(_23,_23);
|
||||
},fired:-1});
|
||||
})();
|
||||
dojo.when=function(_24,_25,_26,_27){
|
||||
if(_24&&typeof _24.then==="function"){
|
||||
return _24.then(_25,_26,_27);
|
||||
}
|
||||
return _25(_24);
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user