summaryrefslogtreecommitdiffstats
path: root/client
diff options
context:
space:
mode:
authorLauri Ojansivu <x@xet7.org>2018-06-08 14:20:40 +0300
committerLauri Ojansivu <x@xet7.org>2018-06-08 14:20:40 +0300
commitd4df405862109baf9e777e4865316899ec4601be (patch)
tree472b28ccb9f593475031097b37de7e691a7e641f /client
parentccf1e8bc3c23729549ef529bc08899e11f8b0382 (diff)
parentdc687848e6f7e96d9a62489c77e94fd55963ddf1 (diff)
downloadwekan-d4df405862109baf9e777e4865316899ec4601be.tar.gz
wekan-d4df405862109baf9e777e4865316899ec4601be.tar.bz2
wekan-d4df405862109baf9e777e4865316899ec4601be.zip
Merge branch 'devel'
Diffstat (limited to 'client')
-rw-r--r--client/components/boards/boardArchive.jade16
-rw-r--r--client/components/boards/boardArchive.js12
-rw-r--r--client/components/boards/boardHeader.js6
-rw-r--r--client/components/cards/cardDetails.jade48
-rw-r--r--client/components/cards/cardDetails.js42
-rw-r--r--client/components/cards/cardDetails.styl3
-rw-r--r--client/components/cards/labels.styl42
7 files changed, 161 insertions, 8 deletions
diff --git a/client/components/boards/boardArchive.jade b/client/components/boards/boardArchive.jade
index 6576f742..5d291f00 100644
--- a/client/components/boards/boardArchive.jade
+++ b/client/components/boards/boardArchive.jade
@@ -6,9 +6,17 @@ template(name="archivedBoards")
ul.archived-lists
each archivedBoards
li.archived-lists-item
- button.js-restore-board
- i.fa.fa-undo
- | {{_ 'restore-board'}}
- = title
+ div.board-header-btns
+ button.board-header-btn.js-delete-board
+ i.fa.fa-trash-o
+ | {{_ 'delete-board'}}
+ button.board-header-btn.js-restore-board
+ i.fa.fa-undo
+ | {{_ 'restore-board'}}
+ = title
else
li.no-items-message {{_ 'no-archived-boards'}}
+
+template(name="boardDeletePopup")
+ p {{_ 'delete-board-confirm-popup'}}
+ button.js-confirm.negate.full(type="submit") {{_ 'delete'}}
diff --git a/client/components/boards/boardArchive.js b/client/components/boards/boardArchive.js
index acb53149..dbebdd70 100644
--- a/client/components/boards/boardArchive.js
+++ b/client/components/boards/boardArchive.js
@@ -29,6 +29,18 @@ BlazeComponent.extendComponent({
board.restore();
Utils.goBoardId(board._id);
},
+ 'click .js-delete-board': Popup.afterConfirm('boardDelete', function() {
+ Popup.close();
+ const isSandstorm = Meteor.settings && Meteor.settings.public &&
+ Meteor.settings.public.sandstorm;
+ if (isSandstorm && Session.get('currentBoard')) {
+ const currentBoard = Boards.findOne(Session.get('currentBoard'));
+ Boards.remove(currentBoard._id);
+ }
+ const board = this.currentData();
+ Boards.remove(board._id);
+ FlowRouter.go('home');
+ }),
}];
},
}).register('archivedBoards');
diff --git a/client/components/boards/boardHeader.js b/client/components/boards/boardHeader.js
index e0b19246..b2640474 100644
--- a/client/components/boards/boardHeader.js
+++ b/client/components/boards/boardHeader.js
@@ -17,6 +17,12 @@ Template.boardMenuPopup.events({
// confirm that the board was successfully archived.
FlowRouter.go('home');
}),
+ 'click .js-delete-board': Popup.afterConfirm('deleteBoard', function() {
+ const currentBoard = Boards.findOne(Session.get('currentBoard'));
+ Popup.close();
+ Boards.remove(currentBoard._id);
+ FlowRouter.go('home');
+ }),
'click .js-outgoing-webhooks': Popup.open('outgoingWebhooks'),
'click .js-import-board': Popup.open('chooseBoardSource'),
});
diff --git a/client/components/cards/cardDetails.jade b/client/components/cards/cardDetails.jade
index 55ee8d32..aa4829a9 100644
--- a/client/components/cards/cardDetails.jade
+++ b/client/components/cards/cardDetails.jade
@@ -108,6 +108,39 @@ template(name="cardDetails")
+viewer
= description
+ .card-details-items
+ .card-details-item.card-details-item-name
+ h3.card-details-item-title {{_ 'requested-by'}}
+ if canModifyCard
+ +inlinedForm(classNames="js-card-details-requester")
+ +editCardRequesterForm
+ else
+ a.js-open-inlined-form
+ if requestedBy
+ +viewer
+ = requestedBy
+ else
+ | {{_ 'add'}}
+ else if requestedBy
+ +viewer
+ = requestedBy
+
+ .card-details-item.card-details-item-name
+ h3.card-details-item-title {{_ 'assigned-by'}}
+ if canModifyCard
+ +inlinedForm(classNames="js-card-details-assigner")
+ +editCardAssignerForm
+ else
+ a.js-open-inlined-form
+ if assignedBy
+ +viewer
+ = assignedBy
+ else
+ | {{_ 'add'}}
+ else if requestedBy
+ +viewer
+ = assignedBy
+
hr
+checklists(cardId = _id)
@@ -141,6 +174,18 @@ template(name="editCardTitleForm")
button.primary.confirm.js-submit-edit-card-title-form(type="submit") {{_ 'save'}}
a.fa.fa-times-thin.js-close-inlined-form
+template(name="editCardRequesterForm")
+ input.js-edit-card-requester(type='text' autofocus value=requestedBy)
+ .edit-controls.clearfix
+ button.primary.confirm.js-submit-edit-card-requester-form(type="submit") {{_ 'save'}}
+ a.fa.fa-times-thin.js-close-inlined-form
+
+template(name="editCardAssignerForm")
+ input.js-edit-card-assigner(type='text' autofocus value=assignedBy)
+ .edit-controls.clearfix
+ button.primary.confirm.js-submit-edit-card-assigner-form(type="submit") {{_ 'save'}}
+ a.fa.fa-times-thin.js-close-inlined-form
+
template(name="cardDetailsActionsPopup")
ul.pop-over-list
li: a.js-toggle-watch-card {{#if isWatching}}{{_ 'unwatch'}}{{else}}{{_ 'watch'}}{{/if}}
@@ -150,8 +195,8 @@ template(name="cardDetailsActionsPopup")
li: a.js-members {{_ 'card-edit-members'}}
li: a.js-labels {{_ 'card-edit-labels'}}
li: a.js-attachments {{_ 'card-edit-attachments'}}
- li: a.js-received-date {{_ 'editCardReceivedDatePopup-title'}}
li: a.js-custom-fields {{_ 'card-edit-custom-fields'}}
+ li: a.js-received-date {{_ 'editCardReceivedDatePopup-title'}}
li: a.js-start-date {{_ 'editCardStartDatePopup-title'}}
li: a.js-due-date {{_ 'editCardDueDatePopup-title'}}
li: a.js-end-date {{_ 'editCardEndDatePopup-title'}}
@@ -178,7 +223,6 @@ template(name="copyCardPopup")
= title
+boardsAndLists
-
template(name="copyChecklistToManyCardsPopup")
label(for='copy-checklist-cards-title') {{_ 'copyChecklistToManyCardsPopup-instructions'}}:
textarea#copy-card-title.minicard-composer-textarea.js-card-title(autofocus)
diff --git a/client/components/cards/cardDetails.js b/client/components/cards/cardDetails.js
index 26549fda..6cbc4572 100644
--- a/client/components/cards/cardDetails.js
+++ b/client/components/cards/cardDetails.js
@@ -146,6 +146,20 @@ BlazeComponent.extendComponent({
this.data().setTitle(title);
}
},
+ 'submit .js-card-details-assigner'(evt) {
+ evt.preventDefault();
+ const assigner = this.currentComponent().getValue().trim();
+ if (assigner) {
+ this.data().setAssignedBy(assigner);
+ }
+ },
+ 'submit .js-card-details-requester'(evt) {
+ evt.preventDefault();
+ const requester = this.currentComponent().getValue().trim();
+ if (requester) {
+ this.data().setRequestedBy(requester);
+ }
+ },
'click .js-member': Popup.open('cardMember'),
'click .js-add-members': Popup.open('cardMembers'),
'click .js-add-labels': Popup.open('cardLabels'),
@@ -215,8 +229,8 @@ Template.cardDetailsActionsPopup.events({
'click .js-members': Popup.open('cardMembers'),
'click .js-labels': Popup.open('cardLabels'),
'click .js-attachments': Popup.open('cardAttachments'),
- 'click .js-received-date': Popup.open('editCardReceivedDate'),
'click .js-custom-fields': Popup.open('cardCustomFields'),
+ 'click .js-received-date': Popup.open('editCardReceivedDate'),
'click .js-start-date': Popup.open('editCardStartDate'),
'click .js-due-date': Popup.open('editCardDueDate'),
'click .js-end-date': Popup.open('editCardEndDate'),
@@ -263,6 +277,32 @@ Template.editCardTitleForm.events({
},
});
+Template.editCardRequesterForm.onRendered(function() {
+ autosize(this.$('.js-edit-card-requester'));
+});
+
+Template.editCardRequesterForm.events({
+ 'keydown .js-edit-card-requester'(evt) {
+ // If enter key was pressed, submit the data
+ if (evt.keyCode === 13) {
+ $('.js-submit-edit-card-requester-form').click();
+ }
+ },
+});
+
+Template.editCardAssignerForm.onRendered(function() {
+ autosize(this.$('.js-edit-card-assigner'));
+});
+
+Template.editCardAssignerForm.events({
+ 'keydown .js-edit-card-assigner'(evt) {
+ // If enter key was pressed, submit the data
+ if (evt.keyCode === 13) {
+ $('.js-submit-edit-card-assigner-form').click();
+ }
+ },
+});
+
Template.moveCardPopup.events({
'click .js-done' () {
// XXX We should *not* get the currentCard from the global state, but
diff --git a/client/components/cards/cardDetails.styl b/client/components/cards/cardDetails.styl
index 7dbe8732..11660593 100644
--- a/client/components/cards/cardDetails.styl
+++ b/client/components/cards/cardDetails.styl
@@ -82,7 +82,8 @@
&.card-details-item-start,
&.card-details-item-due,
&.card-details-item-end,
- &.card-details-item-customfield
+ &.card-details-item-customfield,
+ &.card-details-item-name
max-width: 50%
flex-grow: 1
diff --git a/client/components/cards/labels.styl b/client/components/cards/labels.styl
index 361a17ae..084af64c 100644
--- a/client/components/cards/labels.styl
+++ b/client/components/cards/labels.styl
@@ -73,6 +73,48 @@
.card-label-lime
background-color: #51e898
+.card-label-silver
+ background-color: #c0c0c0
+
+.card-label-peachpuff
+ background-color: #ffdab9
+
+.card-label-crimson
+ background-color: #dc143c
+
+.card-label-plum
+ background-color: #dda0dd
+
+.card-label-darkgreen
+ background-color: #006400
+
+.card-label-slateblue
+ background-color: #6a5acd
+
+.card-label-magenta
+ background-color: #ff00ff
+
+.card-label-gold
+ background-color: #ffd700
+
+.card-label-navy
+ background-color: #000080
+
+.card-label-gray
+ background-color: #808080
+
+.card-label-saddlebrown
+ background-color: #8b4513
+
+.card-label-paleturquoise
+ background-color: #afeeee
+
+.card-label-mistyrose
+ background-color: #ffe4e1
+
+.card-label-indigo
+ background-color: #4b0082
+
.edit-label,
.create-label
.card-label