-
Notifications
You must be signed in to change notification settings - Fork 0
/
enyo.js
15 lines (10 loc) · 6.93 KB
/
enyo.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// ../source/boot/enyo.js
(function(){var e="enyo.js";enyo=window.enyo||{options:{}},enyo.locateScript=function(e){for(var t,o,n=document.getElementsByTagName("script"),a=n.length-1,r=e.length;a>=0&&(t=n[a]);a--)if(!t.located&&(o=t.getAttribute("src")||"",o.slice(-r)==e))return t.located=!0,{path:o.slice(0,Math.max(0,o.lastIndexOf("/"))),node:t}},enyo.args=enyo.args||{};var t=enyo.locateScript(e);if(t){enyo.args.root=(enyo.args.root||t.path).replace("/source","");for(var o,n=0,a=t.node.attributes.length;a>n&&(o=t.node.attributes.item(n));n++)enyo.args[o.nodeName]=o.value}})();
// ../source/boot/ready.js
(function(e,t){var n,a,o,r,c,d=e.document,i=[],s="complete"===d.readyState,y=!1;t.ready=function(e,n){i.push([e,n]),s&&!y&&(t.asyncMethod(window,c),y=!0)},n=function(e,n){e.call(n||t.global)},a=function(e){(s="interactive"===d.readyState)&&(~t.indexOf(e.type,["DOMContentLoaded","readystatechange"])||(o(e.type,a),c())),(s="complete"===d.readyState||"loaded"===d.readyState)&&(o(e.type,a),c())},r=function(e,t){var n=d.addEventListener?"addEventListener":"attachEvent",a="attachEvent"===n?"on":"";d[n](a+e,t,!1)},o=function(e,t){var n=d.addEventListener?"removeEventListener":"detachEvent",a="detachEvent"===n?"on":"";d[n](a+e,t,!1)},c=function(){if(s&&i.length)for(;i.length;)n.apply(e,i.shift());y=!1},r("DOMContentLoaded",a),r("readystatechange",a)})(window,enyo);
// ../loader.js
(function(){enyo=window.enyo||{options:{}},enyo.pathResolverFactory=function(){this.paths={},this.pathNames=[]},enyo.pathResolverFactory.prototype={addPath:function(e,t){return this.paths[e]=t,this.pathNames.push(e),this.pathNames.sort(function(e,t){return t.length-e.length}),t},addPaths:function(e){if(e)for(var t in e)this.addPath(t,e[t])},includeTrailingSlash:function(e){return e&&"/"!==e.slice(-1)?e+"/":e},rewrite:function(e){var t,a=this.includeTrailingSlash,i=this.paths,n=function(e,n){return t=!0,a(i[n])||""},o=e;do{t=!1;for(var s=0;this.pathNames.length>s;s++){var r=RegExp("\\$("+this.pathNames[s]+")(\\/)?","g");o=o.replace(r,n)}}while(t);return o}},enyo.path=new enyo.pathResolverFactory,enyo.loaderFactory=function(e,t){this.machine=e,this.packages=[],this.modules=[],this.sheets=[],this.designs=[],this.stack=[],this.pathResolver=t||enyo.path,this.packageName="",this.packageFolder="",this.finishCallbacks={}},enyo.loaderFactory.prototype={verbose:!1,loadScript:function(e,t,a){this.machine.script(e,t,a)},loadSheet:function(e){this.machine.sheet(e)},loadPackage:function(e){this.machine.script(e)},report:function(){},load:function(){this.more({index:0,depends:arguments||[]})},more:function(e){if(!e||!this.continueBlock(e)){var t=this.stack.pop();t?(enyo.runtimeLoading&&e.failed&&(t.failed=t.failed||[],t.failed.push.apply(t.failed,e.failed)),this.verbose&&window.console.groupEnd("* finish package ("+(t.packageName||"anon")+")"),this.packageFolder=t.folder,this.packageName="",this.more(t)):this.finish(e)}},finish:function(e){this.packageFolder="",this.verbose&&window.console.log("-------------- fini");for(var t in this.finishCallbacks)if(this.finishCallbacks[t]){var a=this.finishCallbacks[t];this.finishCallbacks[t]=null,a(e)}},continueBlock:function(e){for(;e.index<e.depends.length;){var t=e.depends[e.index++];if(t)if("string"==typeof t){if(this.require(t,e))return!0}else this.pathResolver.addPaths(t)}},require:function(e,t){var a=this.pathResolver.rewrite(e),i=this.getPathPrefix(e);if(a=i+a,".css"==a.slice(-4).toLowerCase()||".less"==a.slice(-5).toLowerCase())this.verbose&&window.console.log("+ stylesheet: ["+i+"]["+e+"]"),this.requireStylesheet(a);else{if(".js"==a.slice(-3).toLowerCase()&&"package.js"!=a.slice(-10).toLowerCase())return this.verbose&&window.console.log("+ module: ["+i+"]["+e+"]"),this.requireScript(e,a,t);if(".design"!=a.slice(-7).toLowerCase())return this.requirePackage(a,t),!0;this.verbose&&window.console.log("+ design metadata: ["+i+"]["+e+"]"),this.requireDesign(a)}},getPathPrefix:function(e){var t=e.slice(0,1);return"/"==t||"\\"==t||"$"==t||/^https?:/i.test(e)?"":this.packageFolder},requireStylesheet:function(e){this.sheets.push(e),this.loadSheet(e)},requireScript:function(e,t,a){if(this.modules.push({packageName:this.packageName,rawPath:e,path:t}),enyo.runtimeLoading){var i=this,n=function(){i.more(a)},o=function(){a.failed=a.failed||[],a.failed.push(t),i.more(a)};this.loadScript(t,n,o)}else this.loadScript(t);return enyo.runtimeLoading},requireDesign:function(e){this.designs.push({packageName:this.packageName,path:e})},decodePackagePath:function(e){var t="",a="package.js",i=e.replace(/\\/g,"/").replace(/\/\//g,"/").replace(/:\//,"://").split("/");if(i.length){var n=i.pop()||i.pop()||"";n.slice(-a.length)!==a?i.push(n):a=n,t=i.join("/"),t=t?t+"/":"",a=t+a}return{folder:t,manifest:a}},aliasPackage:function(e){var t=this.decodePackagePath(e);this.manifest=t.manifest},requirePackage:function(e,t){t.folder=this.packageFolder;var a=this.decodePackagePath(e);this.manifest=a.manifest,this.packageFolder=a.folder,t.packageName=this.packageName,this.stack.push(t),this.report("loading package",this.packageName),this.verbose&&window.console.group("* start package ["+this.packageName+"]"),this.loadPackage(this.manifest)}}})();
// ../source/boot/boot.js
enyo.machine={sheet:function(e){var t="text/css",a="stylesheet",n=".less"==e.slice(-5);n&&(window.less?(t="text/less",a="stylesheet/less"):e=e.slice(0,e.length-4)+"css");var i;enyo.runtimeLoading||n?(i=document.createElement("link"),i.href=e,i.media="screen",i.rel=a,i.type=t,document.getElementsByTagName("head")[0].appendChild(i)):document.write('<link href="'+e+'" media="screen" rel="'+a+'" type="'+t+'" />'),n&&window.less&&(window.less.sheets.push(i),enyo.loader.finishCallbacks.lessRefresh||(enyo.loader.finishCallbacks.lessRefresh=function(){window.less.refresh(!0)}))},script:function(e,t,a){if(enyo.runtimeLoading){var n=document.createElement("script");n.src=e,n.onload=t,n.onerror=a,n.charset="utf-8",document.getElementsByTagName("head")[0].appendChild(n)}else document.write('<script src="'+e+'"'+(t?' onload="'+t+'"':"")+(a?' onerror="'+a+'"':"")+"></scri"+"pt>")},inject:function(e){document.write('<script type="text/javascript">'+e+"</scri"+"pt>")}},enyo.loader=new enyo.loaderFactory(enyo.machine),enyo.depends=function(){var e=enyo.loader;if(!e.packageFolder){var t=enyo.locateScript("package.js");t&&t.path&&(e.aliasPackage(t.path),e.packageFolder=t.path+"/")}e.load.apply(e,arguments)},function(){function e(n){if(n&&n(),a.length){var i=a.shift(),o=i[0],s=t.isArray(o)?o:[o],r=i[1];t.loader.finishCallbacks.runtimeLoader=function(t){e(function(){r&&r(t)})},t.loader.packageFolder="./",t.depends.apply(this,s)}else t.runtimeLoading=!1,t.loader.packageFolder=""}var t=window.enyo,a=[];t.load=function(){a.push(arguments),t.runtimeLoading||(t.runtimeLoading=!0,e())}}(),enyo.path.addPaths({enyo:enyo.args.root,lib:"$enyo/../lib"});
// add enyo.indexOf help method
enyo.indexOf=function(e,t,n){if(t.indexOf){return t.indexOf(e,n)}if(n){if(n<0){n=0}if(n>t.length){return-1}}for(var r=n||0,i=t.length,s;(s=t[r])||r<i;r++){if(s==e){return r}}return-1};