mirror of
https://github.com/wekan/wekan.git
synced 2025-04-23 05:27:14 -04:00
Merge pull request #4074 from mfilser/global_search_checklistitems_and_customFields_boolean
Global search checklistitems and custom fields boolean
This commit is contained in:
commit
18ff4bee2d
1 changed files with 9 additions and 16 deletions
|
@ -404,7 +404,7 @@ function buildSelector(queryParams) {
|
|||
|
||||
const items = ChecklistItems.find(
|
||||
{ title: regex },
|
||||
{ fields: { cardId: 1 } },
|
||||
{ fields: { cardId: 1, checklistId: 1 } },
|
||||
);
|
||||
const checklists = Checklists.find(
|
||||
{
|
||||
|
@ -423,23 +423,18 @@ function buildSelector(queryParams) {
|
|||
{ fields: { cardId: 1 } },
|
||||
);
|
||||
|
||||
selector.$and.push({
|
||||
$or: [
|
||||
let cardsSelector = [
|
||||
{ title: regex },
|
||||
{ description: regex },
|
||||
{ customFields: { $elemMatch: { value: regex } } },
|
||||
// {
|
||||
// _id: {
|
||||
// $in: CardComments.textSearch(userId, [queryParams.text]).map(
|
||||
// com => com.cardId,
|
||||
// ),
|
||||
// },
|
||||
// },
|
||||
{ _id: { $in: checklists.map(list => list.cardId) } },
|
||||
{ _id: { $in: attachments.map(attach => attach.cardId) } },
|
||||
{ _id: { $in: comments.map(com => com.cardId) } },
|
||||
],
|
||||
});
|
||||
];
|
||||
if (queryParams.text == "false" || queryParams.text == "true") {
|
||||
cardsSelector.push({ customFields: { $elemMatch: { value: queryParams.text == "true" ? true : false } } } );
|
||||
}
|
||||
selector.$and.push({ $or: cardsSelector });
|
||||
}
|
||||
|
||||
if (selector.$and.length === 0) {
|
||||
|
@ -448,9 +443,7 @@ function buildSelector(queryParams) {
|
|||
}
|
||||
|
||||
// eslint-disable-next-line no-console
|
||||
console.log('selector:', selector);
|
||||
// eslint-disable-next-line no-console
|
||||
console.log('selector.$and:', selector.$and);
|
||||
console.log('cards selector:', JSON.stringify(selector, null, 2));
|
||||
|
||||
const query = new Query();
|
||||
query.selector = selector;
|
||||
|
@ -610,7 +603,7 @@ function findCards(sessionId, query) {
|
|||
// console.log('selector:', query.selector);
|
||||
// console.log('selector.$and:', query.selector.$and);
|
||||
// eslint-disable-next-line no-console
|
||||
// console.log('projection:', projection);
|
||||
// console.log('projection:', query.projection);
|
||||
|
||||
const cards = Cards.find(query.selector, query.projection);
|
||||
// eslint-disable-next-line no-console
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue