]>
git.wh0rd.org - tt-rss.git/blob - lib/dojo/parser.js
2 Copyright (c) 2004-2016, The JS Foundation All Rights Reserved.
3 Available via Academic Free License >= 2.1 OR the modified BSD license.
4 see: http://dojotoolkit.org/license for details
8 define("dojo/parser",["require","./_base/kernel","./_base/lang","./_base/array","./_base/config","./dom","./_base/window","./_base/url","./aspect","./promise/all","./date/stamp","./Deferred","./has","./query","./on","./ready"],function(_1
,_2
,_3
,_4
,_5
,_6
,_7
,_8
,_9
,_a
,_b
,_c
,_d
,_e
,_f
,_10
){new Date("X");function _11(_12
){return eval("("+_12
+")");};var _13
=0;_9
.after(_3
,"extend",function(){_13
++;},true);function _14(_15
){var map
=_15
._nameCaseMap
,_16
=_15
.prototype;if(!map
||map
._extendCnt
<_13
){map
=_15
._nameCaseMap
={};for(var _17
in _16
){if(_17
.charAt(0)==="_"){continue;}map
[_17
.toLowerCase()]=_17
;}map
._extendCnt
=_13
;}return map
;};function _18(_19
,_1a
){if(!_1a
){_1a
=_1
;}var _1b
=_1a
._dojoParserCtorMap
||(_1a
._dojoParserCtorMap
={});var ts
=_19
.join();if(!_1b
[ts
]){var _1c
=[];for(var i
=0,l
=_19
.length
;i
<l
;i
++){var t
=_19
[i
];_1c
[_1c
.length
]=(_1b
[t
]=_1b
[t
]||(_3
.getObject(t
)||(~t
.indexOf("/")&&_1a(t
))));}var _1d
=_1c
.shift();_1b
[ts
]=_1c
.length
?(_1d
.createSubclass
?_1d
.createSubclass(_1c
):_1d
.extend
.apply(_1d
,_1c
)):_1d
;}return _1b
[ts
];};var _1e
={_clearCache:function(){_13
++;_ctorMap
={};},_functionFromScript:function(_1f
,_20
){var _21
="",_22
="",_23
=(_1f
.getAttribute(_20
+"args")||_1f
.getAttribute("args")),_24
=_1f
.getAttribute("with");var _25
=(_23
||"").split(/\s
*,\s*/
);if(_24
&&_24
.length
){_4
.forEach(_24
.split(/\s
*,\s*/
),function(_26
){_21
+="with("+_26
+"){";_22
+="}";});}return new Function(_25
,_21
+_1f
.innerHTML
+_22
);},instantiate:function(_27
,_28
,_29
){_28
=_28
||{};_29
=_29
||{};var _2a
=(_29
.scope
||_2
._scopeName
)+"Type",_2b
="data-"+(_29
.scope
||_2
._scopeName
)+"-",_2c
=_2b
+"type",_2d
=_2b
+"mixins";var _2e
=[];_4
.forEach(_27
,function(_2f
){var _30
=_2a
in _28
?_28
[_2a
]:_2f
.getAttribute(_2c
)||_2f
.getAttribute(_2a
);if(_30
){var _31
=_2f
.getAttribute(_2d
),_32
=_31
?[_30
].concat(_31
.split(/\s
*,\s*/
)):[_30
];_2e
.push({node
:_2f
,types
:_32
});}});return this._instantiate(_2e
,_28
,_29
);},_instantiate:function(_33
,_34
,_35
,_36
){var _37
=_4
.map(_33
,function(obj
){var _38
=obj
.ctor
||_18(obj
.types
,_35
.contextRequire
);if(!_38
){throw new Error("Unable to resolve constructor for: '"+obj
.types
.join()+"'");}return this.construct(_38
,obj
.node
,_34
,_35
,obj
.scripts
,obj
.inherited
);},this);function _39(_3a
){if(!_34
._started
&&!_35
.noStart
){_4
.forEach(_3a
,function(_3b
){if(typeof _3b
.startup
==="function"&&!_3b
._started
){_3b
.startup();}});}return _3a
;};if(_36
){return _a(_37
).then(_39
);}else{return _39(_37
);}},construct:function(_3c
,_3d
,_3e
,_3f
,_40
,_41
){var _42
=_3c
&&_3c
.prototype;_3f
=_3f
||{};var _43
={};if(_3f
.defaults
){_3
.mixin(_43
,_3f
.defaults
);}if(_41
){_3
.mixin(_43
,_41
);}var _44
;if(_d("dom-attributes-explicit")){_44
=_3d
.attributes
;}else{if(_d("dom-attributes-specified-flag")){_44
=_4
.filter(_3d
.attributes
,function(a
){return a
.specified
;});}else{var _45
=/^input
$|^img
$/i.test(_3d.nodeName)?_3d:_3d.cloneNode(false),_46=_45.outerHTML.replace(/=[^\s
"']+|="[^"]*"|='[^']*'/g,"").replace(/^\s*<[a-zA-Z0-9]*\s*/,"").replace(/\s*>.*$/,"");_44=_4.map(_46.split(/\s+/),function(_47){var _48=_47.toLowerCase();return {name:_47,value:(_3d.nodeName=="LI"&&_47=="value")||_48=="enctype"?_3d.getAttribute(_48):_3d.getAttributeNode(_48).value};});}}var _49=_3f.scope||_2._scopeName,_4a="data-"+_49+"-",_4b={};if(_49!=="dojo"){_4b[_4a+"props"]="data-dojo-props";_4b[_4a+"type"]="data-dojo-type";_4b[_4a+"mixins"]="data-dojo-mixins";_4b[_49+"type"]="dojotype";_4b[_4a+"id"]="data-dojo-id";}var i=0,_4c,_4d=[],_4e,_4f;while(_4c=_44[i++]){var _50=_4c.name,_51=_50.toLowerCase(),_52=_4c.value;switch(_4b[_51]||_51){case "data-dojo-type":case "dojotype":case "data-dojo-mixins":break;case "data-dojo-props":_4f=_52;break;case "data-dojo-id":case "jsid":_4e=_52;break;case "data-dojo-attach-point":case "dojoattachpoint":_43.dojoAttachPoint=_52;break;case "data-dojo-attach-event":case "dojoattachevent":_43.dojoAttachEvent=_52;break;case "class":_43["class"]=_3d.className;break;case "style":_43["style"]=_3d.style&&_3d.style.cssText;break;default:if(!(_50 in _42)){var map=_14(_3c);_50=map[_51]||_50;}if(_50 in _42){switch(typeof _42[_50]){case "string":_43[_50]=_52;break;case "number":_43[_50]=_52.length?Number(_52):NaN;break;case "boolean":_43[_50]=_52.toLowerCase()!="false";break;case "function":if(_52===""||_52.search(/[^\w\.]+/i)!=-1){_43[_50]=new Function(_52);}else{_43[_50]=_3.getObject(_52,false)||new Function(_52);}_4d.push(_50);break;default:var _53=_42[_50];_43[_50]=(_53&&"length" in _53)?(_52?_52.split(/\s*,\s*/):[]):(_53 instanceof Date)?(_52==""?new Date(""):_52=="now"?new Date():_b.fromISOString(_52)):(_53 instanceof _8)?(_2.baseUrl+_52):_11(_52);}}else{_43[_50]=_52;}}}for(var j=0;j<_4d.length;j++){var _54=_4d[j].toLowerCase();_3d.removeAttribute(_54);_3d[_54]=null;}if(_4f){try{_4f=_11.call(_3f.propsThis,"{"+_4f+"}");_3.mixin(_43,_4f);}catch(e){throw new Error(e.toString()+" in data-dojo-props='"+_4f+"'");}}_3.mixin(_43,_3e);if(!_40){_40=(_3c&&(_3c._noScript||_42._noScript)?[]:_e("> script[type^='dojo
/']",_3d));}var _55=[],_56=[],_57=[],ons=[];if(_40){for(i=0;i<_40.length;i++){var _58=_40[i];_3d.removeChild(_58);var _59=(_58.getAttribute(_4a+"event")||_58.getAttribute("event")),_5a=_58.getAttribute(_4a+"prop"),_5b=_58.getAttribute(_4a+"method"),_5c=_58.getAttribute(_4a+"advice"),_5d=_58.getAttribute("type"),nf=this._functionFromScript(_58,_4a);if(_59){if(_5d=="dojo/connect"){_55.push({method:_59,func:nf});}else{if(_5d=="dojo/on"){ons.push({event:_59,func:nf});}else{_43[_59]=nf;}}}else{if(_5d=="dojo/aspect"){_55.push({method:_5b,advice:_5c,func:nf});}else{if(_5d=="dojo/watch"){_57.push({prop:_5a,func:nf});}else{_56.push(nf);}}}}}var _5e=_3c.markupFactory||_42.markupFactory;var _5f=_5e?_5e(_43,_3d,_3c):new _3c(_43,_3d);function _60(_61){if(_4e){_3.setObject(_4e,_61);}for(i=0;i<_55.length;i++){_9[_55[i].advice||"after"](_61,_55[i].method,_3.hitch(_61,_55[i].func),true);}for(i=0;i<_56.length;i++){_56[i].call(_61);}for(i=0;i<_57.length;i++){_61.watch(_57[i].prop,_57[i].func);}for(i=0;i<ons.length;i++){_f(_61,ons[i].event,ons[i].func);}return _61;};if(_5f.then){return _5f.then(_60);}else{return _60(_5f);}},scan:function(_62,_63){var _64=[],_65=[],_66={};var _67=(_63.scope||_2._scopeName)+"Type",_68="data-"+(_63.scope||_2._scopeName)+"-",_69=_68+"type",_6a=_68+"textdir",_6b=_68+"mixins";var _6c=_62.firstChild;var _6d=_63.inherited;if(!_6d){function _6e(_6f,_70){return (_6f.getAttribute&&_6f.getAttribute(_70))||(_6f.parentNode&&_6e(_6f.parentNode,_70));};_6d={dir:_6e(_62,"dir"),lang:_6e(_62,"lang"),textDir:_6e(_62,_6a)};for(var key in _6d){if(!_6d[key]){delete _6d[key];}}}var _71={inherited:_6d};var _72;var _73;function _74(_75){if(!_75.inherited){_75.inherited={};var _76=_75.node,_77=_74(_75.parent);var _78={dir:_76.getAttribute("dir")||_77.dir,lang:_76.getAttribute("lang")||_77.lang,textDir:_76.getAttribute(_6a)||_77.textDir};for(var key in _78){if(_78[key]){_75.inherited[key]=_78[key];}}}return _75.inherited;};while(true){if(!_6c){if(!_71||!_71.node){break;}_6c=_71.node.nextSibling;_73=false;_71=_71.parent;_72=_71.scripts;continue;}if(_6c.nodeType!=1){_6c=_6c.nextSibling;continue;}if(_72&&_6c.nodeName.toLowerCase()=="script"){_79=_6c.getAttribute("type");if(_79&&/^dojo\/\w/i.test(_79)){_72.push(_6c);}_6c=_6c.nextSibling;continue;}if(_73){_6c=_6c.nextSibling;continue;}var _79=_6c.getAttribute(_69)||_6c.getAttribute(_67);var _7a=_6c.firstChild;if(!_79&&(!_7a||(_7a.nodeType==3&&!_7a.nextSibling))){_6c=_6c.nextSibling;continue;}var _7b;var _7c=null;if(_79){var _7d=_6c.getAttribute(_6b),_7e=_7d?[_79].concat(_7d.split(/\s*,\s*/)):[_79];try{_7c=_18(_7e,_63.contextRequire);}catch(e){}if(!_7c){_4.forEach(_7e,function(t){if(~t.indexOf("/")&&!_66[t]){_66[t]=true;_65[_65.length]=t;}});}var _7f=_7c&&!_7c.prototype._noScript?[]:null;_7b={types:_7e,ctor:_7c,parent:_71,node:_6c,scripts:_7f};_7b.inherited=_74(_7b);_64.push(_7b);}else{_7b={node:_6c,scripts:_72,parent:_71};}_72=_7f;_73=_6c.stopParser||(_7c&&_7c.prototype.stopParser&&!(_63.template));_71=_7b;_6c=_7a;}var d=new _c();if(_65.length){if(_d("dojo-debug-messages")){console.warn("WARNING: Modules being Auto-Required: "+_65.join(", "));}var r=_63.contextRequire||_1;r(_65,function(){d.resolve(_4.filter(_64,function(_80){if(!_80.ctor){try{_80.ctor=_18(_80.types,_63.contextRequire);}catch(e){}}var _81=_80.parent;while(_81&&!_81.types){_81=_81.parent;}var _82=_80.ctor&&_80.ctor.prototype;_80.instantiateChildren=!(_82&&_82.stopParser&&!(_63.template));_80.instantiate=!_81||(_81.instantiate&&_81.instantiateChildren);return _80.instantiate;}));});}else{d.resolve(_64);}return d.promise;},_require:function(_83,_84){var _85=_11("{"+_83.innerHTML+"}"),_86=[],_87=[],d=new _c();var _88=(_84&&_84.contextRequire)||_1;for(var _89 in _85){_86.push(_89);_87.push(_85[_89]);}_88(_87,function(){for(var i=0;i<_86.length;i++){_3.setObject(_86[i],arguments[i]);}d.resolve(arguments);});return d.promise;},_scanAmd:function(_8a,_8b){var _8c=new _c(),_8d=_8c.promise;_8c.resolve(true);var _8e=this;_e("script[type='dojo
/require
']",_8a).forEach(function(_8f){_8d=_8d.then(function(){return _8e._require(_8f,_8b);});_8f.parentNode.removeChild(_8f);});return _8d;},parse:function(_90,_91){if(_90&&typeof _90!="string"&&!("nodeType" in _90)){_91=_90;_90=_91.rootNode;}var _92=_90?_6.byId(_90):_7.body();_91=_91||{};var _93=_91.template?{template:true}:{},_94=[],_95=this;var p=this._scanAmd(_92,_91).then(function(){return _95.scan(_92,_91);}).then(function(_96){return _95._instantiate(_96,_93,_91,true);}).then(function(_97){return _94=_94.concat(_97);}).otherwise(function(e){console.error("dojo/parser::parse() error",e);throw e;});_3.mixin(_94,p);return _94;}};if(1){_2.parser=_1e;}if(_5.parseOnLoad){_10(100,_1e,"parse");}return _1e;});