mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-10-29 10:06:13 +01:00
closes #6005
This commit is contained in:
@@ -179,6 +179,9 @@ helpers.buildTitle = function (pageTitle) {
|
||||
};
|
||||
|
||||
helpers.getWatchedCategories = function (uid, selectedCid, callback) {
|
||||
if (selectedCid && !Array.isArray(selectedCid)) {
|
||||
selectedCid = [selectedCid];
|
||||
}
|
||||
async.waterfall([
|
||||
function (next) {
|
||||
user.getWatchedCategories(uid, next);
|
||||
@@ -193,14 +196,30 @@ helpers.getWatchedCategories = function (uid, selectedCid, callback) {
|
||||
categoryData = categoryData.filter(function (category) {
|
||||
return category && !category.link;
|
||||
});
|
||||
|
||||
var selectedCategory;
|
||||
var selectedCategory = [];
|
||||
var selectedCids = [];
|
||||
categoryData.forEach(function (category) {
|
||||
category.selected = parseInt(category.cid, 10) === parseInt(selectedCid, 10);
|
||||
category.selected = selectedCid ? selectedCid.indexOf(String(category.cid)) !== -1 : false;
|
||||
if (category.selected) {
|
||||
selectedCategory = category;
|
||||
selectedCategory.push(category);
|
||||
selectedCids.push(parseInt(category.cid, 10));
|
||||
}
|
||||
});
|
||||
selectedCids.sort(function (a, b) {
|
||||
return a - b;
|
||||
});
|
||||
|
||||
if (selectedCategory.length > 1) {
|
||||
selectedCategory = {
|
||||
icon: 'fa-plus',
|
||||
name: '[[unread:multiple-categories-selected]]',
|
||||
bgColor: '#ddd',
|
||||
};
|
||||
} else if (selectedCategory.length === 1) {
|
||||
selectedCategory = selectedCategory[0];
|
||||
} else {
|
||||
selectedCategory = undefined;
|
||||
}
|
||||
|
||||
var categoriesData = [];
|
||||
var tree = categories.getTree(categoryData, 0);
|
||||
@@ -209,7 +228,7 @@ helpers.getWatchedCategories = function (uid, selectedCid, callback) {
|
||||
recursive(category, categoriesData, '');
|
||||
});
|
||||
|
||||
next(null, { categories: categoriesData, selectedCategory: selectedCategory });
|
||||
next(null, { categories: categoriesData, selectedCategory: selectedCategory, selectedCids: selectedCids });
|
||||
},
|
||||
], callback);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user