mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-10-26 08:36:12 +01:00
fix: dont send all category data back to recent&unread etc
This commit is contained in:
@@ -4,6 +4,7 @@ const nconf = require('nconf');
|
||||
const validator = require('validator');
|
||||
const winston = require('winston');
|
||||
const querystring = require('querystring');
|
||||
const _ = require('lodash');
|
||||
|
||||
const user = require('../user');
|
||||
const privileges = require('../privileges');
|
||||
@@ -228,7 +229,8 @@ async function getCategoryData(cids, uid, selectedCid) {
|
||||
if (selectedCid && !Array.isArray(selectedCid)) {
|
||||
selectedCid = [selectedCid];
|
||||
}
|
||||
let categoryData = await categories.getCategoriesFields(cids, ['cid', 'order', 'name', 'slug', 'icon', 'link', 'color', 'bgColor', 'parentCid', 'image', 'imageClass']);
|
||||
const categoryFields = ['cid', 'order', 'name', 'slug', 'icon', 'link', 'color', 'bgColor', 'parentCid', 'image', 'imageClass'];
|
||||
let categoryData = await categories.getCategoriesFields(cids, categoryFields);
|
||||
categoryData = categoryData.filter(category => category && !category.link);
|
||||
|
||||
let selectedCategory = [];
|
||||
@@ -255,22 +257,17 @@ async function getCategoryData(cids, uid, selectedCid) {
|
||||
selectedCategory = undefined;
|
||||
}
|
||||
|
||||
const categoriesData = [];
|
||||
const tree = categories.getTree(categoryData);
|
||||
|
||||
tree.forEach(category => recursive(category, categoriesData, ''));
|
||||
categories.getTree(categoryData);
|
||||
const categoriesData = categories.buildForSelectCategories(categoryData);
|
||||
|
||||
return { categories: categoriesData, selectedCategory: selectedCategory, selectedCids: selectedCids };
|
||||
}
|
||||
|
||||
function recursive(category, categoriesData, level) {
|
||||
category.level = level;
|
||||
categoriesData.push(category);
|
||||
if (Array.isArray(category.children)) {
|
||||
category.children.forEach(function (child) {
|
||||
recursive(child, categoriesData, ' ' + level);
|
||||
});
|
||||
}
|
||||
return {
|
||||
categories: categoriesData.map(category => _.pick(category, [
|
||||
'cid', 'name', 'icon', 'color', 'bgColor', 'parentCid', 'backgroundImage', 'imageClass', 'selected', 'level',
|
||||
])),
|
||||
selectedCategory: selectedCategory,
|
||||
selectedCids: selectedCids,
|
||||
};
|
||||
}
|
||||
|
||||
helpers.getHomePageRoutes = async function (uid) {
|
||||
|
||||
Reference in New Issue
Block a user