diff options
author | IgnatzHome <ignatz@maschath.de> | 2018-06-14 19:42:09 +0200 |
---|---|---|
committer | IgnatzHome <ignatz@maschath.de> | 2018-06-14 19:42:09 +0200 |
commit | a433f7d9fe310e1aa5f5c831b2bfacb5b86c941e (patch) | |
tree | 6e30c7ebc0106518ec5ea76bcb57d294cc9f48f1 /client/components/cards | |
parent | 991e74bfc287d840951b7c707b7ff2a2f26e5001 (diff) | |
parent | fcf262cc9807c1e87e638ce6b0c6151ae2114f60 (diff) | |
download | wekan-a433f7d9fe310e1aa5f5c831b2bfacb5b86c941e.tar.gz wekan-a433f7d9fe310e1aa5f5c831b2bfacb5b86c941e.tar.bz2 wekan-a433f7d9fe310e1aa5f5c831b2bfacb5b86c941e.zip |
Merge branch 'feature-custom-fields' of https://github.com/feuerball11/wekan into feature-custom-fields
Diffstat (limited to 'client/components/cards')
-rw-r--r-- | client/components/cards/cardDate.js | 14 | ||||
-rw-r--r-- | client/components/cards/cardDetails.jade | 48 | ||||
-rw-r--r-- | client/components/cards/cardDetails.js | 42 | ||||
-rw-r--r-- | client/components/cards/cardDetails.styl | 3 | ||||
-rw-r--r-- | client/components/cards/labels.styl | 54 | ||||
-rw-r--r-- | client/components/cards/minicard.jade | 23 | ||||
-rw-r--r-- | client/components/cards/minicard.styl | 7 |
7 files changed, 179 insertions, 12 deletions
diff --git a/client/components/cards/cardDate.js b/client/components/cards/cardDate.js index f33e8c19..e95c3a23 100644 --- a/client/components/cards/cardDate.js +++ b/client/components/cards/cardDate.js @@ -93,7 +93,7 @@ Template.dateBadge.helpers({ }); // editCardReceivedDatePopup -(class extends EditCardDate { +(class extends DatePicker { onCreated() { super.onCreated(); this.data().receivedAt && this.date.set(moment(this.data().receivedAt)); @@ -156,7 +156,7 @@ Template.dateBadge.helpers({ }).register('editCardDueDatePopup'); // editCardEndDatePopup -(class extends EditCardDate { +(class extends DatePicker { onCreated() { super.onCreated(); this.data().endAt && this.date.set(moment(this.data().endAt)); @@ -279,11 +279,14 @@ class CardDueDate extends CardDate { classes() { let classes = 'due-date' + ' '; - if (this.now.get().diff(this.date.get(), 'days') >= 2) + if ((this.now.get().diff(this.date.get(), 'days') >= 2) && + (this.date.get().isBefore(this.data().endAt))) classes += 'long-overdue'; - else if (this.now.get().diff(this.date.get(), 'minute') >= 0) + else if ((this.now.get().diff(this.date.get(), 'minute') >= 0) && + (this.date.get().isBefore(this.data().endAt))) classes += 'due'; - else if (this.now.get().diff(this.date.get(), 'days') >= -1) + else if ((this.now.get().diff(this.date.get(), 'days') >= -1) && + (this.date.get().isBefore(this.data().endAt))) classes += 'almost-due'; return classes; } @@ -355,4 +358,3 @@ CardEndDate.register('cardEndDate'); return this.date.get().format('l'); } }).register('minicardEndDate'); - 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 a2bf2d02..1a8a8bef 100644 --- a/client/components/cards/cardDetails.js +++ b/client/components/cards/cardDetails.js @@ -150,6 +150,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'), @@ -221,8 +235,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'), @@ -269,6 +283,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..3b481d93 100644 --- a/client/components/cards/labels.styl +++ b/client/components/cards/labels.styl @@ -3,7 +3,7 @@ // XXX Use .board-widget-labels as a flexbox container .card-label border-radius: 4px - color: white + color: white //Default white text, in select cases, changed to black to improve contrast between label colour and text display: inline-block font-weight: 700 font-size: 13px @@ -48,9 +48,11 @@ .card-label-yellow background-color: #fad900 + color: #000000 //Black text for better visibility .card-label-orange background-color: #ff9f19 + color: #000000 //Black text for better visibility .card-label-red background-color: #eb4646 @@ -63,6 +65,7 @@ .card-label-pink background-color: #ff78cb + color: #000000 //Black text for better visibility .card-label-sky background-color: #00c2e0 @@ -72,6 +75,55 @@ .card-label-lime background-color: #51e898 + color: #000000 //Black text for better visibility + +.card-label-silver + background-color: #c0c0c0 + color: #000000 //Black text for better visibility + +.card-label-peachpuff + background-color: #ffdab9 + color: #000000 //Black text for better visibility + +.card-label-crimson + background-color: #dc143c + +.card-label-plum + background-color: #dda0dd + color: #000000 //Black text for better visibility + +.card-label-darkgreen + background-color: #006400 + +.card-label-slateblue + background-color: #6a5acd + +.card-label-magenta + background-color: #ff00ff + +.card-label-gold + background-color: #ffd700 + color: #000000 //Black text for better visibility + +.card-label-navy + background-color: #000080 + +.card-label-gray + background-color: #808080 + +.card-label-saddlebrown + background-color: #8b4513 + +.card-label-paleturquoise + background-color: #afeeee + color: #000000 //Black text for better visibility + +.card-label-mistyrose + background-color: #ffe4e1 + color: #000000 //Black text for better visibility + +.card-label-indigo + background-color: #4b0082 .edit-label, .create-label diff --git a/client/components/cards/minicard.jade b/client/components/cards/minicard.jade index 9fa4dd57..c912ea70 100644 --- a/client/components/cards/minicard.jade +++ b/client/components/cards/minicard.jade @@ -10,20 +10,41 @@ template(name="minicard") +viewer = title .dates + if receivedAt + unless startAt + unless dueAt + unless endAt + .date + +miniCardReceivedDate if startAt .date +minicardStartDate if dueAt + unless endAt + .date + +minicardDueDate + if endAt .date - +minicardDueDate + +minicardEndDate if spentTime .date +cardSpentTime + .minicard-custom-fields + each customFieldsWD + if definition.showOnCard + .minicard-custom-field + .minicard-custom-field-item + = definition.name + .minicard-custom-field-item + +viewer + = trueValue + if members .minicard-members.js-minicard-members each members +userAvatar(userId=this) + .badges if comments.count .badge(title="{{_ 'card-comments-title' comments.count }}") diff --git a/client/components/cards/minicard.styl b/client/components/cards/minicard.styl index d59f1f63..38f829d0 100644 --- a/client/components/cards/minicard.styl +++ b/client/components/cards/minicard.styl @@ -77,6 +77,13 @@ height: @width border-radius: 2px margin-left: 3px + .minicard-custom-fields + display:block; + .minicard-custom-field + display:flex; + .minicard-custom-field-item + max-width:50%; + flex-grow:1; .minicard-title p:last-child margin-bottom: 0 |