diff --git a/client/components/cards/cardDetails.js b/client/components/cards/cardDetails.js index 472d56485..e2493f5f4 100644 --- a/client/components/cards/cardDetails.js +++ b/client/components/cards/cardDetails.js @@ -377,6 +377,12 @@ BlazeComponent.extendComponent({ this.data().setRequestedBy(''); } }, + 'keydown input.js-edit-card-sort'(evt) { + // enter = save + if (evt.keyCode === 13) { + this.find('button[type=submit]').click(); + } + }, 'submit .js-card-details-sort'(event) { event.preventDefault(); const sort = parseFloat(this.currentComponent() diff --git a/client/components/cards/minicard.jade b/client/components/cards/minicard.jade index 985318e4f..e804b3e4c 100644 --- a/client/components/cards/minicard.jade +++ b/client/components/cards/minicard.jade @@ -145,4 +145,9 @@ template(name="minicard") if currentBoard.allowsCardSortingByNumber .badge span.badge-icon.fa.fa-sort - span.badge-text {{ sort }} + span.badge-text.check-list-sort {{ sort }} + +template(name="editCardSortOrderPopup") + input.js-edit-card-sort-popup(type='text' autofocus value=sort dir="auto") + .edit-controls.clearfix + button.primary.confirm.js-submit-edit-card-sort-popup(type="submit") {{_ 'save'}} diff --git a/client/components/cards/minicard.js b/client/components/cards/minicard.js index 9ffe3609f..9bf687ef9 100644 --- a/client/components/cards/minicard.js +++ b/client/components/cards/minicard.js @@ -67,6 +67,9 @@ BlazeComponent.extendComponent({ } }, }, + { + 'click span.badge-icon.fa.fa-sort, click span.badge-text.check-list-sort' : Popup.open("editCardSortOrder"), + } ]; }, }).register('minicard'); @@ -93,3 +96,30 @@ Template.minicard.helpers({ } }, }); + +BlazeComponent.extendComponent({ + events() { + return [ + { + 'keydown input.js-edit-card-sort-popup'(evt) { + // enter = save + if (evt.keyCode === 13) { + this.find('button[type=submit]').click(); + } + }, + 'click button.js-submit-edit-card-sort-popup'(event) { + // save button pressed + event.preventDefault(); + const sort = this.$('.js-edit-card-sort-popup')[0] + .value + .trim(); + if (!Number.isNaN(sort)) { + let card = this.data(); + card.move(card.boardId, card.swimlaneId, card.listId, sort); + Popup.close(); + } + }, + } + ] + } +}).register('editCardSortOrderPopup'); diff --git a/i18n/en.i18n.json b/i18n/en.i18n.json index 14e5d7b3b..e537db041 100644 --- a/i18n/en.i18n.json +++ b/i18n/en.i18n.json @@ -1085,5 +1085,6 @@ "history": "History", "request": "Request", "requests": "Requests", - "help-request": "Help Request" + "help-request": "Help Request", + "editCardSortOrderPopup-title": "Change Sorting" }