Fix Download page, Examples page and Test page to handle multiple dependencies for one language
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
diff --git a/download.js b/download.js
index 7b4d99e..60ab9ab 100644
--- a/download.js
+++ b/download.js
@@ -79,13 +79,13 @@ for (var category in components) {
}
var filepath = all.meta.path.replace(/\{id}/g, id);
-
+
var info = all[id] = {
title: all[id].title || all[id],
noCSS: all[id].noCSS || all.meta.noCSS,
noJS: all[id].noJS || all.meta.noJS,
enabled: checked,
- require: all[id].require,
+ require: $u.type(all[id].require) === 'string' ? [all[id].require] : all[id].require,
owner: all[id].owner,
files: {
minified: {
@@ -100,7 +100,9 @@ for (var category in components) {
};
if (info.require) {
- dependencies[info.require] = (dependencies[info.require] || []).concat(id);
+ info.require.forEach(function (v) {
+ dependencies[v] = (dependencies[v] || []).concat(id);
+ });
}
if (!all[id].noJS && !/\.css$/.test(filepath)) {
@@ -136,10 +138,12 @@ for (var category in components) {
});
if (all[id].require && this.checked) {
- var input = $('label[data-id="' + all[id].require + '"] > input');
- input.checked = true;
-
- input.onclick();
+ all[id].require.forEach(function(v) {
+ var input = $('label[data-id="' + v + '"] > input');
+ input.checked = true;
+
+ input.onclick();
+ });
}
if (dependencies[id] && !this.checked) { // It’s required by others
diff --git a/examples.js b/examples.js
index ceaeb6a..74c5aaf 100644
--- a/examples.js
+++ b/examples.js
@@ -173,7 +173,7 @@ function getDependenciesOfLanguage (lang)
return [];
}
- return ($u.type(components.languages[lang].require) === "Array")
+ return ($u.type(components.languages[lang].require) === "array")
? components.languages[lang].require
: [components.languages[lang].require];
}
diff --git a/test.html b/test.html
index 479a86d..9cb1b4e 100644
--- a/test.html
+++ b/test.html
@@ -169,7 +169,7 @@ function getDependenciesOfLanguage (lang)
return [];
}
- return ($u.type(components.languages[lang].require) === "Array")
+ return ($u.type(components.languages[lang].require) === "array")
? components.languages[lang].require
: [components.languages[lang].require];
}