This commit is contained in:
Baris Usakli
2017-10-30 15:26:12 -04:00
parent 103d9a91a9
commit a500e0019c
10 changed files with 107 additions and 38 deletions

View File

@@ -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);
};