feat(v2): enable subcategories (#1021)

* feat(v2): enable subcategories

* nits

* eslint issue https://github.com/prettier/prettier/issues/3734
This commit is contained in:
Endilie Yacop Sucipto 2018-10-08 17:50:28 +08:00 committed by GitHub
parent 954456088c
commit f62029c30e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 150 additions and 43 deletions

View file

@ -9,11 +9,26 @@ module.exports = function createOrder(allSidebars = {}) {
let ids = [];
const categoryOrder = [];
const subCategoryOrder = [];
Object.keys(categories).forEach(category => {
ids = ids.concat(categories[category]);
// eslint-disable-next-line
for (let i = 0; i < categories[category].length; i++) {
categoryOrder.push(category);
if (Array.isArray(categories[category])) {
ids = ids.concat(categories[category]);
// eslint-disable-next-line
for (let i = 0; i < categories[category].length; i++) {
categoryOrder.push(category);
subCategoryOrder.push(undefined);
}
} else {
Object.keys(categories[category]).forEach(subCategory => {
ids = ids.concat(categories[category][subCategory]);
// eslint-disable-next-line
for (let i = 0; i < categories[category][subCategory].length; i++) {
categoryOrder.push(category);
subCategoryOrder.push(subCategory);
}
});
}
});
@ -29,6 +44,7 @@ module.exports = function createOrder(allSidebars = {}) {
next,
sidebar,
category: categoryOrder[i],
subCategory: subCategoryOrder[i],
};
}
});