const subManager = new SubsManager(); BlazeComponent.extendComponent({ events() { return [ { 'click .js-due-cards-view-change': Popup.open('globalSearchViewChange'), }, ]; }, }).register('globalSearchHeaderBar'); Template.globalSearch.helpers({ userId() { return Meteor.userId(); }, }); BlazeComponent.extendComponent({ events() { return [ { 'click .js-due-cards-view-me'() { Utils.setDueCardsView('me'); Popup.close(); }, 'click .js-due-cards-view-all'() { Utils.setDueCardsView('all'); Popup.close(); }, }, ]; }, }).register('globalSearchViewChangePopup'); BlazeComponent.extendComponent({ onCreated() { this.isPageReady = new ReactiveVar(true); this.searching = new ReactiveVar(false); this.hasResults = new ReactiveVar(false); this.query = new ReactiveVar(''); this.queryParams = null; this.resultsCount = new ReactiveVar(0); // this.autorun(() => { // const handle = subManager.subscribe('globalSearch'); // Tracker.nonreactive(() => { // Tracker.autorun(() => { // this.isPageReady.set(handle.ready()); // }); // }); // }); Meteor.subscribe('setting'); }, results() { if (this.queryParams) { const cards = Cards.globalSearch(this.queryParams); this.resultsCount.set(cards.count()); return cards; } return []; }, events() { return [ { 'submit .js-search-query-form'(evt) { evt.preventDefault(); this.query.set(evt.target.searchQuery.value); if (!this.query.get()) { this.searching.set(false); this.hasResults.set(false); return; } this.searching.set(true); this.hasResults.set(false); let query = this.query.get(); // eslint-disable-next-line no-console console.log('query:', query); const reUser = /^@(?[\w.:]+)(\s+|$)/; const reLabel = /^#(?