mirror of
https://github.com/NodeBB/NodeBB.git
synced 2026-06-17 05:50:16 +02:00
feat: add filter:categories.getSelectCategories
pass query to emits
This commit is contained in:
@@ -99,7 +99,7 @@ define('admin/manage/categories', [
|
||||
}
|
||||
|
||||
Categories.throwCreateModal = function () {
|
||||
socket.emit('categories.getSelectCategories', {}, function (err, categories) {
|
||||
socket.emit('categories.getSelectCategories', { query: utils.params() }, function (err, categories) {
|
||||
if (err) {
|
||||
return app.alertError(err.message);
|
||||
}
|
||||
|
||||
@@ -114,7 +114,7 @@ define('admin/manage/category', [
|
||||
});
|
||||
|
||||
$('.copy-settings').on('click', function () {
|
||||
socket.emit('categories.getSelectCategories', {}, function (err, allCategories) {
|
||||
socket.emit('categories.getSelectCategories', { query: utils.params() }, function (err, allCategories) {
|
||||
if (err) {
|
||||
return app.alertError(err.message);
|
||||
}
|
||||
@@ -261,7 +261,7 @@ define('admin/manage/category', [
|
||||
}
|
||||
|
||||
Category.launchParentSelector = function () {
|
||||
socket.emit('categories.getSelectCategories', {}, function (err, allCategories) {
|
||||
socket.emit('categories.getSelectCategories', { query: utils.params() }, function (err, allCategories) {
|
||||
if (err) {
|
||||
return app.alertError(err.message);
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@ define('forum/topic/move', ['categorySelector', 'alerts'], function (categorySel
|
||||
Move.onComplete = onComplete;
|
||||
Move.moveAll = !tids;
|
||||
|
||||
socket.emit('categories.getMoveCategories', onCategoriesLoaded);
|
||||
socket.emit('categories.getMoveCategories', { query: utils.params() }, onCategoriesLoaded);
|
||||
};
|
||||
|
||||
function onCategoriesLoaded(err, categories) {
|
||||
|
||||
@@ -6,6 +6,7 @@ const user = require('../user');
|
||||
const topics = require('../topics');
|
||||
const api = require('../api');
|
||||
const sockets = require('.');
|
||||
const plugins = require('../plugins');
|
||||
|
||||
const SocketCategories = module.exports;
|
||||
|
||||
@@ -94,12 +95,17 @@ SocketCategories.getMoveCategories = async function (socket, data) {
|
||||
return await SocketCategories.getSelectCategories(socket, data);
|
||||
};
|
||||
|
||||
SocketCategories.getSelectCategories = async function (socket) {
|
||||
SocketCategories.getSelectCategories = async function (socket, data) {
|
||||
const [isAdmin, categoriesData] = await Promise.all([
|
||||
user.isAdministrator(socket.uid),
|
||||
categories.buildForSelect(socket.uid, 'find', ['disabled', 'link']),
|
||||
]);
|
||||
return categoriesData.filter(category => category && (!category.disabled || isAdmin) && !category.link);
|
||||
const result = await plugins.hooks.fire('filter:categories.getSelectCategories', {
|
||||
categories: categoriesData,
|
||||
isAdmin: isAdmin,
|
||||
query: data.query || {},
|
||||
});
|
||||
return result.categories.filter(category => category && (!category.disabled || isAdmin) && !category.link);
|
||||
};
|
||||
|
||||
SocketCategories.setWatchState = async function (socket, data) {
|
||||
|
||||
Reference in New Issue
Block a user