-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathAngularEx.js
More file actions
75 lines (67 loc) · 2.19 KB
/
AngularEx.js
File metadata and controls
75 lines (67 loc) · 2.19 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
(function (angular) {
var moduleFn = angular.module,
requires = [],
mi = null,
configModule = angular.module('angularEx.Config', []),
mainModule = angular.module('angularEx.main', requires);
angular.module = function (moduleName, req, isApp) {
var reqArray = null;
switch (arguments.length) {
case 1:
reqArray = req || [];
break;
case 2:
if (typeof req == "boolean") {
isApp = true;
reqArray = [];
} else {
reqArray = req || [];
}
break;
default:
}
try {
mi = moduleFn(moduleName);
} catch (e) {
if (isApp) {
//requires.concat(reqArray);
mi = moduleFn(moduleName, ['angularEx.main', 'angularEx.Config']);
} else {
mi = moduleFn(moduleName, []);
orderRequires(reqArray, mi.name);
//requires.push(mi.name);
//orderRequires(mi.name);
}
//console.log('module name: %s, requires: %s', mi.name, mi.requires.toString());
//console.log(requires);
}
mi.config = conficAngularEx;//(mi.config);
return mi;
};
function conficAngularEx(config) {
configModule.config(config);
}
function orderRequires(mRequires, mName) {
var index = requires.indexOf(mName);
if (index === -1) {
requires.push(mName);
inseartRequiers(mRequires, requires.length - 1);
} else {
inseartRequiers(mRequires, index);
}
function inseartRequiers(mRequires, index) {
var i = -1;
mRequires.forEach(function (r) {
i = requires.indexOf(r);
if (i === -1) {
requires.splice(index, 0, r);
} else {
if (i > index) {
requires.splice(i, 1);
requires.splice(index, 0, r);
}
}
});
}
}
})(angular);