| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 | import { ReactiveCache } from '/imports/reactiveCache';import { CardSearchPagedComponent } from '../../lib/cardSearch';import {  OPERATOR_HAS,  OPERATOR_SORT,  OPERATOR_USER,  ORDER_ASCENDING,  PREDICATE_DUE_AT,} from '../../../config/search-const';import { QueryParams } from '../../../config/query-classes';// const subManager = new SubsManager();BlazeComponent.extendComponent({  dueCardsView() {    // eslint-disable-next-line no-console    // console.log('sort:', Utils.dueCardsView());    return Utils.dueCardsView();  },  events() {    return [      {        'click .js-due-cards-view-change': Popup.open('dueCardsViewChange'),      },    ];  },}).register('dueCardsHeaderBar');Template.dueCards.helpers({  userId() {    return Meteor.userId();  },});BlazeComponent.extendComponent({  events() {    return [      {        'click .js-due-cards-view-me'() {          Utils.setDueCardsView('me');          Popup.back();        },        'click .js-due-cards-view-all'() {          Utils.setDueCardsView('all');          Popup.back();        },      },    ];  },}).register('dueCardsViewChangePopup');class DueCardsComponent extends CardSearchPagedComponent {  onCreated() {    super.onCreated();    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_ASCENDING,    });    if (Utils.dueCardsView() !== 'all') {      queryParams.addPredicate(OPERATOR_USER, ReactiveCache.getCurrentUser().username);    }    this.runGlobalSearch(queryParams);  }  dueCardsView() {    // eslint-disable-next-line no-console    //console.log('sort:', Utils.dueCardsView());    return Utils.dueCardsView();  }  sortByBoard() {    return this.dueCardsView() === 'board';  }  dueCardsList() {    const results = this.getResults();    console.log('results:', results);    const cards = [];    if (results) {      results.forEach(card => {        cards.push(card);      });    }    cards.sort((a, b) => {      const x = a.dueAt === null ? new Date('2100-12-31') : a.dueAt;      const y = b.dueAt === null ? new Date('2100-12-31') : b.dueAt;      if (x > y) return 1;      else if (x < y) return -1;      return 0;    });    // eslint-disable-next-line no-console    console.log('cards:', cards);    return cards;  }}DueCardsComponent.register('dueCards');
 |