events.js 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. var toggleBoardStar = function(boardId) {
  2. var queryType = Meteor.user().hasStarred(boardId) ? '$pull' : '$addToSet';
  3. var query = {};
  4. query[queryType] = {
  5. 'profile.starredBoards': boardId
  6. };
  7. Meteor.users.update(Meteor.userId(), query);
  8. };
  9. Template.boards.events({
  10. 'click .js-star-board': function(evt) {
  11. toggleBoardStar(this._id);
  12. evt.preventDefault();
  13. }
  14. });
  15. Template.headerBoard.events({
  16. 'click .js-star-board': function() {
  17. toggleBoardStar(this._id);
  18. },
  19. 'click .js-open-board-menu': Popup.open('boardMenu'),
  20. 'click #permission-level:not(.no-edit)': Popup.open('boardChangePermission'),
  21. 'click .js-filter-cards-indicator': function(evt) {
  22. Session.set('currentWidget', 'filter');
  23. evt.preventDefault();
  24. },
  25. 'click .js-filter-card-clear': function(evt) {
  26. Filter.reset();
  27. evt.stopPropagation();
  28. }
  29. });
  30. Template.boardMenuPopup.events({
  31. 'click .js-rename-board': Popup.open('boardChangeTitle'),
  32. 'click .js-change-board-color': Popup.open('boardChangeColor')
  33. });
  34. Template.createBoardPopup.events({
  35. 'submit #CreateBoardForm': function(evt, t) {
  36. var title = t.$('#boardNewTitle');
  37. // trim value title
  38. if ($.trim(title.val())) {
  39. // İnsert Board title
  40. var boardId = Boards.insert({
  41. title: title.val(),
  42. permission: 'public'
  43. });
  44. // Go to Board _id
  45. Utils.goBoardId(boardId);
  46. }
  47. evt.preventDefault();
  48. }
  49. });
  50. Template.boardChangeTitlePopup.events({
  51. 'submit #ChangeBoardTitleForm': function(evt, t) {
  52. var title = t.$('.js-board-name').val().trim();
  53. if (title) {
  54. Boards.update(this._id, {
  55. $set: {
  56. title: title
  57. }
  58. });
  59. Popup.close();
  60. }
  61. evt.preventDefault();
  62. }
  63. });
  64. Template.boardChangePermissionPopup.events({
  65. 'click .js-select': function(evt) {
  66. var $this = $(evt.currentTarget);
  67. var permission = $this.attr('name');
  68. Boards.update(this._id, {
  69. $set: {
  70. permission: permission
  71. }
  72. });
  73. Popup.close();
  74. }
  75. });
  76. Template.boardChangeColorPopup.events({
  77. 'click .js-select-background': function(evt) {
  78. var currentBoardId = Session.get('currentBoard');
  79. Boards.update(currentBoardId, {
  80. $set: {
  81. color: this.toString()
  82. }
  83. });
  84. evt.preventDefault();
  85. }
  86. });