Skip to content

Commit 34c31ee

Browse files
committed
Fixes #8 multiple views dependencies issue
1 parent 4b4f5d5 commit 34c31ee

File tree

1 file changed

+23
-20
lines changed

1 file changed

+23
-20
lines changed

angular-async-loader.js

+23-20
Original file line numberDiff line numberDiff line change
@@ -58,33 +58,36 @@
5858
*/
5959
function route(config) {
6060

61-
function rewriteConfig(config) {
62-
if (config.hasOwnProperty('controllerUrl') || config.hasOwnProperty('dependencies')) {
63-
var dependencies = config.dependencies;
64-
if (dependencies === undefined) {
65-
dependencies = [];
66-
} else if (typeof(dependencies) === 'string') {
67-
dependencies = [dependencies];
61+
function collectDependencies(config, dependencies) {
62+
if (config.controllerUrl) {
63+
dependencies.push(config.controllerUrl);
64+
//delete config.controllerUrl;
65+
}
66+
if (config.dependencies) {
67+
if (typeof(config.dependencies) === 'string') {
68+
dependencies.push(config.dependencies);
69+
} else {
70+
[].push.apply(dependencies, config.dependencies);
6871
}
69-
if (config.controllerUrl) {
70-
dependencies.push(config.controllerUrl);
71-
}
72-
delete config.dependencies;
73-
delete config.controllerUrl;
74-
75-
var resolve = config.resolve || {};
76-
resolve['$dummy'] = resolveDependencies(dependencies);
77-
config.resolve = resolve;
72+
//delete config.dependencies;
7873
}
7974
}
8075

81-
// multiple views support
76+
var dependencies = [];
77+
78+
collectDependencies(config, dependencies);
79+
8280
if (config.hasOwnProperty('views')) {
81+
// multiple views support
8382
Object.keys(config.views).forEach(function(view) {
84-
rewriteConfig(config.views[view]);
83+
collectDependencies(config.views[view], dependencies);
8584
});
86-
} else {
87-
rewriteConfig(config);
85+
}
86+
87+
if (dependencies.length > 0) {
88+
var resolve = config.resolve || {};
89+
resolve['$dummy'] = resolveDependencies(dependencies);
90+
config.resolve = resolve;
8891
}
8992

9093
return config;

0 commit comments

Comments
 (0)