123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184 |
- Template.boardMenuPopup.events({
- 'click .js-rename-board': Popup.open('boardChangeTitle'),
- 'click .js-open-archives'() {
- Sidebar.setView('archives');
- Popup.close();
- },
- 'click .js-change-board-color': Popup.open('boardChangeColor'),
- 'click .js-change-language': Popup.open('changeLanguage'),
- 'click .js-archive-board ': Popup.afterConfirm('archiveBoard', () => {
- const boardId = Session.get('currentBoard');
- Boards.update(boardId, { $set: { archived: true }});
- // XXX We should have some kind of notification on top of the page to
- // confirm that the board was successfully archived.
- FlowRouter.go('home');
- }),
- });
- Template.boardChangeTitlePopup.events({
- submit(evt, tpl) {
- const title = tpl.$('.js-board-name').val().trim();
- if (title) {
- Boards.update(this._id, {
- $set: {
- title,
- },
- });
- Popup.close();
- }
- evt.preventDefault();
- },
- });
- BlazeComponent.extendComponent({
- template() {
- return 'headerBoard';
- },
- isStarred() {
- const boardId = Session.get('currentBoard');
- const user = Meteor.user();
- return user && user.hasStarred(boardId);
- },
- // Only show the star counter if the number of star is greater than 2
- showStarCounter() {
- const currentBoard = this.currentData();
- return currentBoard && currentBoard.stars >= 2;
- },
- events() {
- return [{
- 'click .js-edit-board-title': Popup.open('boardChangeTitle'),
- 'click .js-star-board'() {
- Meteor.user().toggleBoardStar(Session.get('currentBoard'));
- },
- 'click .js-open-board-menu': Popup.open('boardMenu'),
- 'click .js-change-visibility': Popup.open('boardChangeVisibility'),
- 'click .js-open-filter-view'() {
- Sidebar.setView('filter');
- },
- 'click .js-filter-reset'(evt) {
- evt.stopPropagation();
- Sidebar.setView();
- Filter.reset();
- },
- 'click .js-multiselection-activate'() {
- const currentCard = Session.get('currentCard');
- MultiSelection.activate();
- if (currentCard) {
- MultiSelection.add(currentCard);
- }
- },
- 'click .js-multiselection-reset'(evt) {
- evt.stopPropagation();
- MultiSelection.disable();
- },
- }];
- },
- }).register('headerBoard');
- BlazeComponent.extendComponent({
- template() {
- return 'boardChangeColorPopup';
- },
- backgroundColors() {
- return Boards.simpleSchema()._schema.color.allowedValues;
- },
- isSelected() {
- const currentBoard = Boards.findOne(Session.get('currentBoard'));
- return currentBoard.color === this.currentData().toString();
- },
- events() {
- return [{
- 'click .js-select-background'(evt) {
- const currentBoardId = Session.get('currentBoard');
- Boards.update(currentBoardId, {
- $set: {
- color: this.currentData().toString(),
- },
- });
- evt.preventDefault();
- },
- }];
- },
- }).register('boardChangeColorPopup');
- BlazeComponent.extendComponent({
- template() {
- return 'createBoardPopup';
- },
- onCreated() {
- this.visibilityMenuIsOpen = new ReactiveVar(false);
- this.visibility = new ReactiveVar('private');
- },
- visibilityCheck() {
- return this.currentData() === this.visibility.get();
- },
- setVisibility(visibility) {
- this.visibility.set(visibility);
- this.visibilityMenuIsOpen.set(false);
- },
- toogleVisibilityMenu() {
- this.visibilityMenuIsOpen.set(!this.visibilityMenuIsOpen.get());
- },
- onSubmit(evt) {
- evt.preventDefault();
- const title = this.find('.js-new-board-title').value;
- const visibility = this.visibility.get();
- const boardId = Boards.insert({
- title,
- permission: visibility,
- });
- Utils.goBoardId(boardId);
- // Immediately star boards crated with the headerbar popup.
- Meteor.user().toggleBoardStar(boardId);
- },
- events() {
- return [{
- 'click .js-select-visibility'() {
- this.setVisibility(this.currentData());
- },
- 'click .js-change-visibility': this.toogleVisibilityMenu,
- submit: this.onSubmit,
- }];
- },
- }).register('createBoardPopup');
- BlazeComponent.extendComponent({
- template() {
- return 'boardChangeVisibilityPopup';
- },
- visibilityCheck() {
- const currentBoard = Boards.findOne(Session.get('currentBoard'));
- return this.currentData() === currentBoard.permission;
- },
- selectBoardVisibility() {
- Boards.update(Session.get('currentBoard'), {
- $set: {
- permission: this.currentData(),
- },
- });
- Popup.close();
- },
- events() {
- return [{
- 'click .js-select-visibility': this.selectBoardVisibility,
- }];
- },
- }).register('boardChangeVisibilityPopup');
|