Bug fixes and buttons for previous and next page

* Use buttons for next and previous page in search results
* Add custom routine for stringifying and parsing the selector to JSON
so RegExp objects are preserved
This commit is contained in:
John R. Supplee 2021-01-27 16:15:54 +02:00
parent 4e8fc46475
commit 78a1d08a17
6 changed files with 74 additions and 15 deletions

View file

@ -179,6 +179,9 @@ Meteor.publish('globalSearch', function(sessionId, queryParams) {
check(sessionId, String);
check(queryParams, Object);
// eslint-disable-next-line no-console
// console.log('queryParams:', queryParams);
const userId = Meteor.userId();
// eslint-disable-next-line no-console
// console.log('userId:', userId);
@ -338,6 +341,9 @@ Meteor.publish('globalSearch', function(sessionId, queryParams) {
}
});
if (!selector.swimlaneId.hasOwnProperty('swimlaneId')) {
selector.swimlaneId = { $in: [] };
}
selector.swimlaneId.$in = querySwimlanes;
}
@ -356,6 +362,9 @@ Meteor.publish('globalSearch', function(sessionId, queryParams) {
}
});
if (!selector.hasOwnProperty('listId')) {
selector.listId = { $in: [] };
}
selector.listId.$in = queryLists;
}
@ -521,9 +530,9 @@ Meteor.publish('globalSearch', function(sessionId, queryParams) {
}
// eslint-disable-next-line no-console
console.log('selector:', selector);
// console.log('selector:', selector);
// eslint-disable-next-line no-console
console.log('selector.$and:', selector.$and);
// console.log('selector.$and:', selector.$and);
let cards = null;
@ -585,11 +594,11 @@ Meteor.publish('globalSearch', function(sessionId, queryParams) {
}
// eslint-disable-next-line no-console
console.log('projection:', projection);
// console.log('projection:', projection);
cards = Cards.find(selector, projection);
// eslint-disable-next-line no-console
console.log('count:', cards.count());
// console.log('count:', cards.count());
}
const update = {
@ -599,7 +608,7 @@ Meteor.publish('globalSearch', function(sessionId, queryParams) {
resultsCount: 0,
cards: [],
errors: errors.errorMessages(),
selector: JSON.stringify(selector),
selector: SessionData.pickle(selector),
},
};