Global search add swimlane functionality

* streamline code
* fix bug in swimlane lookup
reviewable/pr3431/r1
John R. Supplee 4 years ago
parent 2e17f2b4b9
commit 4ab1a04814
  1. 68
      models/cards.js

@ -1735,54 +1735,44 @@ Cards.globalSearch = queryParams => {
// eslint-disable-next-line no-console
console.log('userId:', this.userId);
let selector = {
const selector = {
archived: false,
type: 'cardType-card',
boardId: { $in: Boards.userBoardIds(userId) },
swimlaneId: { $nin: Swimlanes.archivedSwimlaneIds() },
listId: { $nin: Lists.archivedListIds() },
};
const searchLists = [];
// eslint-disable-next-line no-console
// console.log('listsSelector:', queryParams.keys());
if ('listsSelector' in queryParams) {
// eslint-disable-next-line no-console
// console.log('listsSelector:', queryParams.listsSelector.keys());
for (const key in queryParams.listsSelector) {
selector[key] = queryParams.listsSelector[key];
}
// eslint-disable-next-line no-console
console.log('search list selector:', selector);
Lists.find(selector).forEach(list => {
searchLists.push(list._id);
});
// eslint-disable-next-line no-console
console.log('search lists:', searchLists);
}
const searchSwimlanes = [];
if ('swimlanesSelector' in queryParams) {
const swimSelector = {
archived: false,
};
for (const key in queryParams.swimlanesSelector) {
selector[key] = queryParams.swimlanesSelector[key];
swimSelector[key] = queryParams.swimlanesSelector[key];
}
Lists.find(selector).forEach(swim => {
searchSwimlanes.push(swim._id);
selector.swimlaneId.$in = Swimlanes.find(swimSelector).map(swim => {
return swim._id;
});
}
selector = {
archived: false,
type: 'cardType-card',
boardId: { $in: Boards.userBoardIds(userId) },
swimlaneId: { $nin: Swimlanes.archivedSwimlaneIds() },
listId: { $nin: Lists.archivedListIds() },
};
if ('listsSelector' in queryParams) {
const listsSelector = {
archived: false,
};
if (searchSwimlanes.length) {
selector.swimlaneId.$in = searchSwimlanes;
}
// eslint-disable-next-line no-console
// console.log('listsSelector:', queryParams.listsSelector.keys());
for (const key in queryParams.listsSelector) {
listsSelector[key] = queryParams.listsSelector[key];
}
if (searchLists.length) {
selector.listId.$in = searchLists;
// eslint-disable-next-line no-console
console.log('search list selector:', selector);
selector.listId.$in = Lists.find(listsSelector).map(list => {
return list._id;
});
}
if (queryParams.users.length) {
@ -1810,7 +1800,7 @@ Cards.globalSearch = queryParams => {
// eslint-disable-next-line no-console
console.log('selector:', selector);
return Cards.find(selector, {
const cards = Cards.find(selector, {
fields: {
_id: 1,
archived: 1,
@ -1827,6 +1817,10 @@ Cards.globalSearch = queryParams => {
},
limit: 50,
});
// eslint-disable-next-line no-console
console.log('count:', cards.count());
return cards;
};
//FUNCTIONS FOR creation of Activities

Loading…
Cancel
Save