mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-10-26 16:46:12 +01:00
fix: returned data
This commit is contained in:
@@ -350,7 +350,13 @@ Categories.buildForSelectCategories = function (categories) {
|
|||||||
categories = categories.filter(category => category && !category.parentCid);
|
categories = categories.filter(category => category && !category.parentCid);
|
||||||
|
|
||||||
categories.forEach(category => recursive(category, categoriesData, '', 0));
|
categories.forEach(category => recursive(category, categoriesData, '', 0));
|
||||||
return categoriesData;
|
const pickFields = [
|
||||||
|
'name', 'level', 'disabledClass', 'icon', 'value', 'text',
|
||||||
|
'cid', 'parentCid', 'color', 'bgColor', 'backgroundImage', 'imageClass',
|
||||||
|
'disabled', 'depth',
|
||||||
|
];
|
||||||
|
|
||||||
|
return categoriesData.map(category => _.pick(category, pickFields));
|
||||||
};
|
};
|
||||||
|
|
||||||
Categories.async = require('../promisify')(Categories);
|
Categories.async = require('../promisify')(Categories);
|
||||||
|
|||||||
@@ -4,7 +4,6 @@ const nconf = require('nconf');
|
|||||||
const validator = require('validator');
|
const validator = require('validator');
|
||||||
const winston = require('winston');
|
const winston = require('winston');
|
||||||
const querystring = require('querystring');
|
const querystring = require('querystring');
|
||||||
const _ = require('lodash');
|
|
||||||
|
|
||||||
const user = require('../user');
|
const user = require('../user');
|
||||||
const privileges = require('../privileges');
|
const privileges = require('../privileges');
|
||||||
@@ -12,7 +11,6 @@ const categories = require('../categories');
|
|||||||
const plugins = require('../plugins');
|
const plugins = require('../plugins');
|
||||||
const meta = require('../meta');
|
const meta = require('../meta');
|
||||||
const middleware = require('../middleware');
|
const middleware = require('../middleware');
|
||||||
const utils = require('../utils');
|
|
||||||
|
|
||||||
const helpers = module.exports;
|
const helpers = module.exports;
|
||||||
|
|
||||||
@@ -233,11 +231,13 @@ async function getCategoryData(cids, uid, selectedCid) {
|
|||||||
let categoryData = await categories.getCategoriesFields(cids, categoryFields);
|
let categoryData = await categories.getCategoriesFields(cids, categoryFields);
|
||||||
categoryData = categoryData.filter(category => category && !category.link);
|
categoryData = categoryData.filter(category => category && !category.link);
|
||||||
|
|
||||||
|
categories.getTree(categoryData);
|
||||||
|
const categoriesData = categories.buildForSelectCategories(categoryData);
|
||||||
|
|
||||||
let selectedCategory = [];
|
let selectedCategory = [];
|
||||||
const selectedCids = [];
|
const selectedCids = [];
|
||||||
categoryData.forEach(function (category) {
|
categoriesData.forEach(function (category) {
|
||||||
category.selected = selectedCid ? selectedCid.includes(String(category.cid)) : false;
|
category.selected = selectedCid ? selectedCid.includes(String(category.cid)) : false;
|
||||||
category.parentCid = category.hasOwnProperty('parentCid') && utils.isNumber(category.parentCid) ? category.parentCid : 0;
|
|
||||||
if (category.selected) {
|
if (category.selected) {
|
||||||
selectedCategory.push(category);
|
selectedCategory.push(category);
|
||||||
selectedCids.push(category.cid);
|
selectedCids.push(category.cid);
|
||||||
@@ -257,14 +257,8 @@ async function getCategoryData(cids, uid, selectedCid) {
|
|||||||
selectedCategory = undefined;
|
selectedCategory = undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
categories.getTree(categoryData);
|
|
||||||
const categoriesData = categories.buildForSelectCategories(categoryData);
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
categories: categoriesData.map(category => _.pick(category, [
|
categories: categoriesData,
|
||||||
'cid', 'name', 'icon', 'color', 'bgColor', 'parentCid', 'backgroundImage', 'imageClass', 'selected', 'level',
|
|
||||||
])),
|
|
||||||
selectedCategory: selectedCategory,
|
selectedCategory: selectedCategory,
|
||||||
selectedCids: selectedCids,
|
selectedCids: selectedCids,
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -87,11 +87,11 @@ async function buildCategories(uid, searchOnly) {
|
|||||||
|
|
||||||
const cids = await categories.getCidsByPrivilege('categories:cid', uid, 'read');
|
const cids = await categories.getCidsByPrivilege('categories:cid', uid, 'read');
|
||||||
let categoriesData = await categories.getCategoriesData(cids);
|
let categoriesData = await categories.getCategoriesData(cids);
|
||||||
|
categoriesData = categoriesData.filter(category => category && !category.link);
|
||||||
categoriesData = categories.getTree(categoriesData);
|
categoriesData = categories.getTree(categoriesData);
|
||||||
categoriesData = categories.buildForSelectCategories(categoriesData);
|
categoriesData = categories.buildForSelectCategories(categoriesData);
|
||||||
|
categoriesData = categoriesData.map(category => ({ value: category.value, text: category.text }));
|
||||||
|
|
||||||
categoriesData = categoriesData.filter(category => category && !category.link)
|
|
||||||
.map(category => ({ value: category.value, text: category.text }));
|
|
||||||
return [
|
return [
|
||||||
{ value: 'all', text: '[[unread:all_categories]]' },
|
{ value: 'all', text: '[[unread:all_categories]]' },
|
||||||
{ value: 'watched', text: '[[category:watched-categories]]' },
|
{ value: 'watched', text: '[[category:watched-categories]]' },
|
||||||
|
|||||||
Reference in New Issue
Block a user