Skip to content
This repository was archived by the owner on Jan 24, 2019. It is now read-only.

Commit 5962923

Browse files
committed
enable modules definition combination file for moduleDom
1 parent b146b06 commit 5962923

File tree

2 files changed

+20
-6
lines changed

2 files changed

+20
-6
lines changed

js.js

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
$js - asynchronous module definition framework
33
or just simple lightweight javascript dependencies manager
44
5-
@version 2.9
5+
@version 3.0
66
@link http://github.com/redcatphp/js/
77
@author Jo Surikat <jo@surikat.pro>
88
@website http://redcatphp.com
@@ -54,6 +54,7 @@
5454
var handled = [];
5555
var requiring = {};
5656
var intercepting;
57+
var waitingModule = {};
5758

5859
var wait = function(u){
5960
if(handled.indexOf(u)>-1)
@@ -507,8 +508,8 @@
507508
}
508509
}
509510
}
510-
$js(module,function(){
511-
var func = $js.module(module);
511+
var loadModuleDomElement = function(){
512+
var func = $js.module(module);
512513
var params = paramsReflection(func);
513514
var apply = [];
514515
for(var k in params){
@@ -525,7 +526,16 @@
525526
}
526527
}
527528
func.apply(el,apply);
528-
});
529+
};
530+
if($js.module(module)){
531+
loadModuleDomElement();
532+
}
533+
else if(waitingModule[module]){
534+
waitingModule[module](loadModuleDomElement);
535+
}
536+
else{
537+
$js(module,loadModuleDomElement);
538+
}
529539
};
530540
$js = (function(){
531541

@@ -649,9 +659,10 @@
649659
if(obj){
650660
var interceptor = {};
651661
intercepting = interceptor;
652-
$js(obj,sync,function(){
662+
var when = $js(obj,sync,function(){
653663
if(id){
654664
js.modules[getSrc(id)] = mod;
665+
delete(waitingModule[id]);
655666
}
656667
else{
657668
js.modulesStack.push(mod);
@@ -663,6 +674,9 @@
663674
interceptor.callback();
664675
}
665676
});
677+
if(id){
678+
waitingModule[id] = when;
679+
}
666680
}
667681
else{
668682
if(id){

0 commit comments

Comments
 (0)