color: add option in hamburger to change the card color

Currently only dropdown, no palette

Fixes: #428
This commit is contained in:
Benjamin Tissoires 2019-01-22 10:35:09 +01:00
parent b0ac10d94a
commit 3368ebf067
4 changed files with 73 additions and 1 deletions

View file

@ -234,6 +234,7 @@ template(name="cardDetailsActionsPopup")
li: a.js-due-date {{_ 'editCardDueDatePopup-title'}}
li: a.js-end-date {{_ 'editCardEndDatePopup-title'}}
li: a.js-spent-time {{_ 'editCardSpentTimePopup-title'}}
li: a.js-set-card-color {{_ 'setCardColor-title'}}
hr
ul.pop-over-list
li: a.js-move-card-to-top {{_ 'moveCardToTop-title'}}
@ -335,7 +336,38 @@ template(name="cardMorePopup")
span.date(title=card.createdAt) {{ moment createdAt 'LLL' }}
a.js-delete(title="{{_ 'card-delete-notice'}}") {{_ 'delete'}}
template(name="setCardColorPopup")
p.quiet
span.clearfix
label {{_ "select-color"}}
select.js-select-colors
option(value="white") {{{_'color-white'}}}
option(value="green") {{{_'color-green'}}}
option(value="yellow") {{{_'color-yellow'}}}
option(value="orange") {{{_'color-orange'}}}
option(value="red") {{{_'color-red'}}}
option(value="purple") {{{_'color-purple'}}}
option(value="blue") {{{_'color-blue'}}}
option(value="sky") {{{_'color-sky'}}}
option(value="lime") {{{_'color-lime'}}}
option(value="pink") {{{_'color-pink'}}}
option(value="black") {{{_'color-black'}}}
option(value="silver") {{{_'color-silver'}}}
option(value="peachpuff") {{{_'color-peachpuff'}}}
option(value="crimson") {{{_'color-crimson'}}}
option(value="plum") {{{_'color-plum'}}}
option(value="darkgreen") {{{_'color-darkgreen'}}}
option(value="slateblue") {{{_'color-slateblue'}}}
option(value="magenta") {{{_'color-magenta'}}}
option(value="gold") {{{_'color-gold'}}}
option(value="navy") {{{_'color-navy'}}}
option(value="gray") {{{_'color-gray'}}}
option(value="saddlebrown") {{{_'color-saddlebrown'}}}
option(value="paleturquoise") {{{_'color-paleturquoise'}}}
option(value="mistyrose") {{{_'color-mistyrose'}}}
option(value="indigo") {{{_'color-indigo'}}}
.edit-controls.clearfix
button.primary.confirm.js-submit {{_ 'save'}}
template(name="cardDeletePopup")
p {{_ "card-delete-pop"}}

View file

@ -338,6 +338,7 @@ Template.cardDetailsActionsPopup.events({
'click .js-move-card': Popup.open('moveCard'),
'click .js-copy-card': Popup.open('copyCard'),
'click .js-copy-checklist-cards': Popup.open('copyChecklistToManyCards'),
'click .js-set-card-color': Popup.open('setCardColor'),
'click .js-move-card-to-top' (evt) {
evt.preventDefault();
const minOrder = _.min(this.list().cards(this.swimlaneId).map((c) => c.sort));
@ -584,6 +585,18 @@ Template.copyChecklistToManyCardsPopup.events({
},
});
Template.setCardColorPopup.events({
'click .js-submit' () {
// XXX We should *not* get the currentCard from the global state, but
// instead from a “component” state.
const card = Cards.findOne(Session.get('currentCard'));
const colorSelect = $('.js-select-colors')[0];
newColor = colorSelect.options[colorSelect.selectedIndex].value;
card.setColor(newColor);
Popup.close();
},
});
BlazeComponent.extendComponent({
onCreated() {
this.currentCard = this.currentData();