Bläddra i källkod

Fix for Due Cards and some cleanup

John R. Supplee 4 år sedan
förälder
incheckning
07aa20a3cd

+ 20 - 8
client/components/main/dueCards.js

@@ -1,4 +1,12 @@
 import { CardSearchPagedComponent } from '../../lib/cardSearch';
+import {
+  OPERATOR_HAS,
+  OPERATOR_SORT,
+  OPERATOR_USER,
+  ORDER_DESCENDING,
+  PREDICATE_DUE_AT,
+} from '../../../config/search-const';
+import { QueryParams } from '../../../config/query-classes';
 
 // const subManager = new SubsManager();
 
@@ -46,18 +54,22 @@ class DueCardsComponent extends CardSearchPagedComponent {
   onCreated() {
     super.onCreated();
 
-    const queryParams = {
-      has: [{ field: 'dueAt', exists: true }],
-      limit: 5,
-      skip: 0,
-      sort: { name: 'dueAt', order: 'des' },
-    };
+    const queryParams = new QueryParams();
+    queryParams.addPredicate(OPERATOR_HAS, {
+      field: PREDICATE_DUE_AT,
+      exists: true,
+    });
+    // queryParams[OPERATOR_LIMIT] = 5;
+    queryParams.addPredicate(OPERATOR_SORT, {
+      name: PREDICATE_DUE_AT,
+      order: ORDER_DESCENDING,
+    });
 
     if (Utils.dueCardsView() !== 'all') {
-      queryParams.users = [Meteor.user().username];
+      queryParams.addPredicate(OPERATOR_USER, Meteor.user().username);
     }
 
-    this.runGlobalSearch(queryParams);
+    this.runGlobalSearch(queryParams.getParams());
   }
 
   dueCardsView() {

+ 13 - 3
client/components/main/myCards.js

@@ -1,6 +1,12 @@
 import { CardSearchPagedComponent } from '../../lib/cardSearch';
-import {QueryParams} from "../../../config/query-classes";
-import {OPERATOR_SORT, OPERATOR_USER} from "../../../config/search-const";
+import { QueryParams } from '../../../config/query-classes';
+import {
+  OPERATOR_LIMIT,
+  OPERATOR_SORT,
+  OPERATOR_USER,
+  ORDER_DESCENDING,
+  PREDICATE_DUE_AT,
+} from '../../../config/search-const';
 
 // const subManager = new SubsManager();
 
@@ -52,7 +58,11 @@ class MyCardsComponent extends CardSearchPagedComponent {
 
     const queryParams = new QueryParams();
     queryParams.addPredicate(OPERATOR_USER, Meteor.user().username);
-    queryParams.addPredicate(OPERATOR_SORT, { name: 'dueAt', order: 'des' });
+    queryParams.addPredicate(OPERATOR_SORT, {
+      name: PREDICATE_DUE_AT,
+      order: ORDER_DESCENDING,
+    });
+    queryParams.addPredicate(OPERATOR_LIMIT, 100);
 
     this.runGlobalSearch(queryParams);
     Meteor.subscribe('setting');

+ 3 - 0
client/lib/cardSearch.js

@@ -1,3 +1,6 @@
+import Cards from '../../models/cards';
+import SessionData from '../../models/usersessiondata';
+
 export class CardSearchPagedComponent extends BlazeComponent {
   onCreated() {
     this.searching = new ReactiveVar(false);

+ 4 - 0
config/query-classes.js

@@ -193,6 +193,10 @@ export class Query {
     return this.queryParams.getParams();
   }
 
+  addPredicate(operator, predicate) {
+    this.queryParams.addPredicate(operator, predicate);
+  }
+
   buildParams(queryText) {
     queryText = queryText.trim();
     // eslint-disable-next-line no-console