summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--client/components/boards/boardsList.jade5
-rw-r--r--client/components/boards/boardsList.js5
-rw-r--r--client/components/boards/boardsList.styl14
-rw-r--r--models/boards.js16
4 files changed, 38 insertions, 2 deletions
diff --git a/client/components/boards/boardsList.jade b/client/components/boards/boardsList.jade
index 70b29c49..0739def6 100644
--- a/client/components/boards/boardsList.jade
+++ b/client/components/boards/boardsList.jade
@@ -30,8 +30,9 @@ template(name="boardList")
i.fa.js-clone-board(
class="fa-clone"
title="{{_ 'duplicate-board'}}")
-
-
+ i.fa.js-archive-board(
+ class="fa-archive"
+ title="{{_ 'archive-board'}}")
template(name="boardListHeaderBar")
h1 {{_ 'my-boards'}}
diff --git a/client/components/boards/boardsList.js b/client/components/boards/boardsList.js
index 8c45fbe2..e97070ee 100644
--- a/client/components/boards/boardsList.js
+++ b/client/components/boards/boardsList.js
@@ -70,6 +70,11 @@ BlazeComponent.extendComponent({
);
evt.preventDefault();
},
+ 'click .js-archive-board'(evt) {
+ const boardId = this.currentData()._id;
+ Meteor.call('archiveBoard', boardId);
+ evt.preventDefault();
+ },
'click .js-accept-invite'() {
const boardId = this.currentData()._id;
Meteor.user().removeInvite(boardId);
diff --git a/client/components/boards/boardsList.styl b/client/components/boards/boardsList.styl
index 7e834411..42cb354d 100644
--- a/client/components/boards/boardsList.styl
+++ b/client/components/boards/boardsList.styl
@@ -106,15 +106,29 @@ $spaceBetweenTiles = 16px
transition-duration: .15s
transition-property: color, font-size, background
+ .fa-archive
+ position: absolute;
+ bottom: 0
+ font-size: 14px
+ height: 18px
+ line-height: 18px
+ opacity: 0
+ left: 0
+ padding: 9px 9px
+ transition-duration: .15s
+ transition-property: color, font-size, background
+
li:hover a
&:hover
.fa-star,
.fa-clone,
+ .fa-archive,
.fa-star-o
color: white
.fa-star,
.fa-clone,
+ .fa-archive,
.fa-star-o
color: white
opacity: .75
diff --git a/models/boards.js b/models/boards.js
index b07d9e27..396d90fb 100644
--- a/models/boards.js
+++ b/models/boards.js
@@ -867,6 +867,22 @@ if (Meteor.isServer) {
} else throw new Meteor.Error('error-board-doesNotExist');
},
});
+
+ Meteor.methods({
+ archiveBoard(boardId) {
+ check(boardId, String);
+ const board = Boards.findOne(boardId);
+ if (board) {
+ const userId = Meteor.userId();
+ const index = board.memberIndex(userId);
+ if (index >= 0) {
+ board.archive();
+ return true;
+ } else throw new Meteor.Error('error-board-notAMember');
+ } else throw new Meteor.Error('error-board-doesNotExist');
+ },
+ });
+
}
if (Meteor.isServer) {