| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 | BlazeComponent.extendComponent({  template() {    return 'boardList';  },  boards() {    return Boards.find({      archived: false,      'members.userId': Meteor.userId(),    }, {      sort: ['title'],    });  },  isStarred() {    const user = Meteor.user();    return user && user.hasStarred(this.currentData()._id);  },  isInvited() {    const user = Meteor.user();    return user && user.isInvitedTo(this.currentData()._id);  },  events() {    return [{      'click .js-add-board': Popup.open('createBoard'),      'click .js-star-board'(evt) {        const boardId = this.currentData()._id;        Meteor.user().toggleBoardStar(boardId);        evt.preventDefault();      },      'click .js-accept-invite'() {        const boardId = this.currentData()._id;        Meteor.user().removeInvite(boardId);      },      'click .js-decline-invite'() {        const boardId = this.currentData()._id;        Meteor.call('quitBoard', boardId, (err, ret) => {          if (!err && ret) {            Meteor.user().removeInvite(boardId);            FlowRouter.go('home');          }        });      },    }];  },}).register('boardList');
 |