From 2bf004120d5a43cd3c3c060fc7c0c30d1b01f220 Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Fri, 3 Jan 2020 06:49:35 +0200 Subject: Add Worker role. Add more Font Awesome icons. Fix browser console errors when editing user profile name etc. Thanks to xet7 ! Closes #2788 --- client/components/cards/cardDetails.jade | 283 ++++++++++++++++++++----------- 1 file changed, 187 insertions(+), 96 deletions(-) (limited to 'client/components/cards/cardDetails.jade') diff --git a/client/components/cards/cardDetails.jade b/client/components/cards/cardDetails.jade index 2b4f44b9..a7aa64ce 100644 --- a/client/components/cards/cardDetails.jade +++ b/client/components/cards/cardDetails.jade @@ -1,7 +1,7 @@ template(name="cardDetails") section.card-details.js-card-details.js-perfect-scrollbar: .card-details-canvas .card-details-header(class='{{#if colorClass}}card-details-{{colorClass}}{{/if}}') - +inlinedForm(classNames="js-card-details-title") + +inlinedForm(classNames="{{#if canModifyCardWorker}}js-card-details-title{{/if}}") +editCardTitleForm else unless isMiniScreen @@ -13,11 +13,11 @@ template(name="cardDetails") if currentUser.isBoardMember a.fa.fa-navicon.card-details-menu-mobile-web.js-open-card-details-menu h2.card-details-title.js-card-title( - class="{{#if canModifyCard}}js-open-inlined-form is-editable{{/if}}") + class="{{#if canModifyCardWorker}}js-open-inlined-form is-editable{{/if}}") +viewer = getTitle - if isWatching - i.fa.fa-eye.card-details-watch + if isWatching + i.card-details-watch.fa.fa-eye .card-details-path each parentList |   >   @@ -37,49 +37,66 @@ template(name="cardDetails") .card-details-items .card-details-item.card-details-item-received - h3.card-details-item-title {{_ 'card-received'}} + h3 + i.fa.fa-sign-out + card-details-item-title {{_ 'card-received'}} if getReceived +cardReceivedDate else if canModifyCard - a.js-received-date {{_ 'add'}} + unless currentUser.isWorker + a.js-received-date {{_ 'add'}} .card-details-item.card-details-item-start - h3.card-details-item-title {{_ 'card-start'}} + h3 + i.fa.fa-hourglass-start + card-details-item-title {{_ 'card-start'}} if getStart +cardStartDate else if canModifyCard - a.js-start-date {{_ 'add'}} + unless currentUser.isWorker + a.js-start-date {{_ 'add'}} .card-details-item.card-details-item-due - h3.card-details-item-title {{_ 'card-due'}} + h3 + i.fa.fa-sign-in + card-details-item-title {{_ 'card-due'}} if getDue +cardDueDate else if canModifyCard - a.js-due-date {{_ 'add'}} + unless currentUser.isWorker + a.js-due-date {{_ 'add'}} .card-details-item.card-details-item-end - h3.card-details-item-title {{_ 'card-end'}} + h3 + i.fa.fa-hourglass-end + card-details-item-title {{_ 'card-end'}} if getEnd +cardEndDate else if canModifyCard - a.js-end-date {{_ 'add'}} + unless currentUser.isWorker + a.js-end-date {{_ 'add'}} .card-details-items .card-details-item.card-details-item-members - h3.card-details-item-title {{_ 'members'}} + h3 + i.fa.fa-users + card-details-item-title {{_ 'members'}} each getMembers +userAvatar(userId=this cardId=../_id) | {{! XXX Hack to hide syntaxic coloration /// }} if canModifyCard - a.member.add-member.card-details-item-add-button.js-add-members(title="{{_ 'card-members-title'}}") - i.fa.fa-plus + unless currentUser.isWorker + a.member.add-member.card-details-item-add-button.js-add-members(title="{{_ 'card-members-title'}}") + i.fa.fa-plus .card-details-item.card-details-item-assignees - h3.card-details-item-title {{_ 'assignee'}} + h3 + i.fa.fa-user + card-details-item-title {{_ 'assignee'}} each getAssignees +userAvatarAssignee(userId=this cardId=../_id) | {{! XXX Hack to hide syntaxic coloration /// }} @@ -89,15 +106,18 @@ template(name="cardDetails") i.fa.fa-plus .card-details-item.card-details-item-labels - h3.card-details-item-title {{_ 'labels'}} + h3 + i.fa.fa-tags + card-details-item-title {{_ 'labels'}} a(class="{{#if canModifyCard}}js-add-labels{{else}}is-disabled{{/if}}" title="{{_ 'card-labels-title'}}") each labels span.card-label(class="card-label-{{color}}" title=name) +viewer = name if canModifyCard - a.card-label.add-label.js-add-labels(title="{{_ 'card-labels-title'}}") - i.fa.fa-plus + unless currentUser.isWorker + a.card-label.add-label.js-add-labels(title="{{_ 'card-labels-title'}}") + i.fa.fa-plus .card-details-items each customFieldsWD @@ -118,26 +138,29 @@ template(name="cardDetails") //- XXX We should use "editable" to avoid repetiting ourselves if canModifyCard - h3.card-details-item-title {{_ 'description'}} - +inlinedCardDescription(classNames="card-description js-card-description") - +editor(autofocus=true) - | {{getUnsavedValue 'cardDescription' _id getDescription}} - .edit-controls.clearfix - button.primary(type="submit") {{_ 'save'}} - a.fa.fa-times-thin.js-close-inlined-form - else - a.js-open-inlined-form - if getDescription - +viewer - = getDescription - else - | {{_ 'edit'}} - if (hasUnsavedValue 'cardDescription' _id) - p.quiet - | {{_ 'unsaved-description'}} - a.js-open-inlined-form {{_ 'view-it'}} - = ' - ' - a.js-close-inlined-form {{_ 'discard'}} + unless currentUser.isWorker + h3 + i.fa.fa-align-left + card-details-item-title {{_ 'description'}} + +inlinedCardDescription(classNames="card-description js-card-description") + +editor(autofocus=true) + | {{getUnsavedValue 'cardDescription' _id getDescription}} + .edit-controls.clearfix + button.primary(type="submit") {{_ 'save'}} + a.fa.fa-times-thin.js-close-inlined-form + else + a.js-open-inlined-form + if getDescription + +viewer + = getDescription + else + | {{_ 'edit'}} + if (hasUnsavedValue 'cardDescription' _id) + p.quiet + | {{_ 'unsaved-description'}} + a.js-open-inlined-form {{_ 'view-it'}} + = ' - ' + a.js-close-inlined-form {{_ 'discard'}} else if getDescription h3.card-details-item-title {{_ 'description'}} +viewer @@ -145,33 +168,39 @@ template(name="cardDetails") .card-details-items .card-details-item.card-details-item-name - h3.card-details-item-title {{_ 'requested-by'}} + h3 + i.fa.fa-shopping-cart + card-details-item-title {{_ 'requested-by'}} if canModifyCard - +inlinedForm(classNames="js-card-details-requester") - +editCardRequesterForm - else - a.js-open-inlined-form - if getRequestedBy - +viewer - = getRequestedBy - else - | {{_ 'add'}} + unless currentUser.isWorker + +inlinedForm(classNames="js-card-details-requester") + +editCardRequesterForm + else + a.js-open-inlined-form + if getRequestedBy + +viewer + = getRequestedBy + else + | {{_ 'add'}} else if getRequestedBy +viewer = getRequestedBy .card-details-item.card-details-item-name - h3.card-details-item-title {{_ 'assigned-by'}} + h3 + i.fa.fa-user-plus + card-details-item-title {{_ 'assigned-by'}} if canModifyCard - +inlinedForm(classNames="js-card-details-assigner") - +editCardAssignerForm - else - a.js-open-inlined-form - if getAssignedBy - +viewer - = getAssignedBy - else - | {{_ 'add'}} + unless currentUser.isWorker + +inlinedForm(classNames="js-card-details-assigner") + +editCardAssignerForm + else + a.js-open-inlined-form + if getAssignedBy + +viewer + = getAssignedBy + else + | {{_ 'add'}} else if getRequestedBy +viewer = getAssignedBy @@ -193,7 +222,9 @@ template(name="cardDetails") hr unless currentUser.isNoComments .activity-title - h3 {{ _ 'activity'}} + h3 + i.fa.fa-history + | {{ _ 'activity'}} if currentUser.isBoardMember .material-toggle-switch span.toggle-switch-title {{_ 'hide-system-messages'}} @@ -235,32 +266,79 @@ template(name="editCardAssignerForm") template(name="cardDetailsActionsPopup") ul.pop-over-list - li: a.js-toggle-watch-card {{#if isWatching}}{{_ 'unwatch'}}{{else}}{{_ 'watch'}}{{/if}} + li + a.js-toggle-watch-card + if isWatching + i.fa.fa-eye + | {{_ 'unwatch'}} + else + i.fa.fa-eye-slash + | {{_ 'watch'}} if canModifyCard - hr - ul.pop-over-list - //li: a.js-members {{_ 'card-edit-members'}} - //li: a.js-labels {{_ 'card-edit-labels'}} - //li: a.js-attachments {{_ 'card-edit-attachments'}} - 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'}} - li: a.js-spent-time {{_ 'editCardSpentTimePopup-title'}} - li: a.js-set-card-color {{_ 'setCardColorPopup-title'}} - hr - ul.pop-over-list - li: a.js-move-card-to-top {{_ 'moveCardToTop-title'}} - li: a.js-move-card-to-bottom {{_ 'moveCardToBottom-title'}} - hr + unless currentUser.isWorker + hr + ul.pop-over-list + //li: a.js-members {{_ 'card-edit-members'}} + //li: a.js-labels {{_ 'card-edit-labels'}} + //li: a.js-attachments {{_ 'card-edit-attachments'}} + li + a.js-custom-fields + i.fa.fa-list-alt + | {{_ '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'}} + li + a.js-spent-time + i.fa.fa-clock-o + | {{_ 'editCardSpentTimePopup-title'}} + li + a.js-set-card-color + i.fa.fa-paint-brush + | {{_ 'setCardColorPopup-title'}} + hr ul.pop-over-list - li: a.js-move-card {{_ 'moveCardPopup-title'}} - li: a.js-copy-card {{_ 'copyCardPopup-title'}} - li: a.js-copy-checklist-cards {{_ 'copyChecklistToManyCardsPopup-title'}} + li + a.js-move-card-to-top + i.fa.fa-arrow-up + | {{_ 'moveCardToTop-title'}} + li + a.js-move-card-to-bottom + i.fa.fa-arrow-down + | {{_ 'moveCardToBottom-title'}} + unless currentUser.isWorker + hr + ul.pop-over-list + li + a.js-move-card + i.fa.fa-arrow-right + | {{_ 'moveCardPopup-title'}} + li + a.js-copy-card + i.fa.fa-copy + | {{_ 'copyCardPopup-title'}} + hr + ul.pop-over-list + li + a.js-copy-checklist-cards + i.fa.fa-list + i.fa.fa-copy + | {{_ 'copyChecklistToManyCardsPopup-title'}} unless archived - li: a.js-archive {{_ 'archive-card'}} - li: a.js-more {{_ 'cardMorePopup-title'}} + hr + ul.pop-over-list + li + a.js-archive + i.fa.fa-arrow-right + i.fa.fa-archive + | {{_ 'archive-card'}} + hr + ul.pop-over-list + li + a.js-more + i.fa.fa-link + | {{_ 'cardMorePopup-title'}} template(name="moveCardPopup") +boardsAndLists @@ -312,16 +390,27 @@ template(name="cardMembersPopup") i.fa.fa-check template(name="cardAssigneesPopup") - ul.pop-over-list.js-card-assignee-list - each board.activeMembers - li.item(class="{{#if isCardAssignee}}active{{/if}}") - a.name.js-select-assignee(href="#") - +userAvatar(userId=user._id) - span.full-name - = user.profile.fullname - | ({{ user.username }}) - if isCardAssignee - i.fa.fa-check + unless currentUser.isWorker + ul.pop-over-list.js-card-assignee-list + each board.activeMembers + li.item(class="{{#if isCardAssignee}}active{{/if}}") + a.name.js-select-assignee(href="#") + +userAvatar(userId=user._id) + span.full-name + = user.profile.fullname + | ({{ user.username }}) + if isCardAssignee + i.fa.fa-check + if currentUser.isWorker + ul.pop-over-list.js-card-assignee-list + li.item(class="{{#if currentUser.isCardAssignee}}active{{/if}}") + a.name.js-select-assigneeWorker(href="#") + +userAvatar(userId=currentUser._id) + span.full-name + = currentUser.profile.fullname + | ({{ currentUser.username }}) + if currentUser.isCardAssignee + i.fa.fa-check template(name="userAvatarAssignee") a.assignee.js-assignee(title="{{userData.profile.fullname}} ({{userData.username}})") @@ -349,11 +438,13 @@ template(name="cardAssigneePopup") p.quiet @{{ user.username }} ul.pop-over-list if currentUser.isNotCommentOnly + unless currentUser.isWorker li: a.js-remove-assignee {{_ 'remove-member-from-card'}} - if $eq currentUser._id user._id - with currentUser - li: a.js-edit-profile {{_ 'edit-profile'}} + unless currentUser.isWorker + if $eq currentUser._id user._id + with currentUser + li: a.js-edit-profile {{_ 'edit-profile'}} template(name="userAvatarAssigneeInitials") svg.avatar.avatar-assignee-initials(viewBox="0 0 {{viewPortWidth}} 15") -- cgit v1.2.3-1-g7c22 From 27943796ade78ca3c503637a1340918bf06a1267 Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Fri, 3 Jan 2020 16:02:31 +0200 Subject: Revert to Wekan v3.57 version of client and models directories, removing Worker role temporarily, because Worker role changes broke saving card. Thanks to xet7 ! --- client/components/cards/cardDetails.jade | 283 +++++++++++-------------------- 1 file changed, 96 insertions(+), 187 deletions(-) (limited to 'client/components/cards/cardDetails.jade') diff --git a/client/components/cards/cardDetails.jade b/client/components/cards/cardDetails.jade index a7aa64ce..2b4f44b9 100644 --- a/client/components/cards/cardDetails.jade +++ b/client/components/cards/cardDetails.jade @@ -1,7 +1,7 @@ template(name="cardDetails") section.card-details.js-card-details.js-perfect-scrollbar: .card-details-canvas .card-details-header(class='{{#if colorClass}}card-details-{{colorClass}}{{/if}}') - +inlinedForm(classNames="{{#if canModifyCardWorker}}js-card-details-title{{/if}}") + +inlinedForm(classNames="js-card-details-title") +editCardTitleForm else unless isMiniScreen @@ -13,11 +13,11 @@ template(name="cardDetails") if currentUser.isBoardMember a.fa.fa-navicon.card-details-menu-mobile-web.js-open-card-details-menu h2.card-details-title.js-card-title( - class="{{#if canModifyCardWorker}}js-open-inlined-form is-editable{{/if}}") + class="{{#if canModifyCard}}js-open-inlined-form is-editable{{/if}}") +viewer = getTitle - if isWatching - i.card-details-watch.fa.fa-eye + if isWatching + i.fa.fa-eye.card-details-watch .card-details-path each parentList |   >   @@ -37,66 +37,49 @@ template(name="cardDetails") .card-details-items .card-details-item.card-details-item-received - h3 - i.fa.fa-sign-out - card-details-item-title {{_ 'card-received'}} + h3.card-details-item-title {{_ 'card-received'}} if getReceived +cardReceivedDate else if canModifyCard - unless currentUser.isWorker - a.js-received-date {{_ 'add'}} + a.js-received-date {{_ 'add'}} .card-details-item.card-details-item-start - h3 - i.fa.fa-hourglass-start - card-details-item-title {{_ 'card-start'}} + h3.card-details-item-title {{_ 'card-start'}} if getStart +cardStartDate else if canModifyCard - unless currentUser.isWorker - a.js-start-date {{_ 'add'}} + a.js-start-date {{_ 'add'}} .card-details-item.card-details-item-due - h3 - i.fa.fa-sign-in - card-details-item-title {{_ 'card-due'}} + h3.card-details-item-title {{_ 'card-due'}} if getDue +cardDueDate else if canModifyCard - unless currentUser.isWorker - a.js-due-date {{_ 'add'}} + a.js-due-date {{_ 'add'}} .card-details-item.card-details-item-end - h3 - i.fa.fa-hourglass-end - card-details-item-title {{_ 'card-end'}} + h3.card-details-item-title {{_ 'card-end'}} if getEnd +cardEndDate else if canModifyCard - unless currentUser.isWorker - a.js-end-date {{_ 'add'}} + a.js-end-date {{_ 'add'}} .card-details-items .card-details-item.card-details-item-members - h3 - i.fa.fa-users - card-details-item-title {{_ 'members'}} + h3.card-details-item-title {{_ 'members'}} each getMembers +userAvatar(userId=this cardId=../_id) | {{! XXX Hack to hide syntaxic coloration /// }} if canModifyCard - unless currentUser.isWorker - a.member.add-member.card-details-item-add-button.js-add-members(title="{{_ 'card-members-title'}}") - i.fa.fa-plus + a.member.add-member.card-details-item-add-button.js-add-members(title="{{_ 'card-members-title'}}") + i.fa.fa-plus .card-details-item.card-details-item-assignees - h3 - i.fa.fa-user - card-details-item-title {{_ 'assignee'}} + h3.card-details-item-title {{_ 'assignee'}} each getAssignees +userAvatarAssignee(userId=this cardId=../_id) | {{! XXX Hack to hide syntaxic coloration /// }} @@ -106,18 +89,15 @@ template(name="cardDetails") i.fa.fa-plus .card-details-item.card-details-item-labels - h3 - i.fa.fa-tags - card-details-item-title {{_ 'labels'}} + h3.card-details-item-title {{_ 'labels'}} a(class="{{#if canModifyCard}}js-add-labels{{else}}is-disabled{{/if}}" title="{{_ 'card-labels-title'}}") each labels span.card-label(class="card-label-{{color}}" title=name) +viewer = name if canModifyCard - unless currentUser.isWorker - a.card-label.add-label.js-add-labels(title="{{_ 'card-labels-title'}}") - i.fa.fa-plus + a.card-label.add-label.js-add-labels(title="{{_ 'card-labels-title'}}") + i.fa.fa-plus .card-details-items each customFieldsWD @@ -138,29 +118,26 @@ template(name="cardDetails") //- XXX We should use "editable" to avoid repetiting ourselves if canModifyCard - unless currentUser.isWorker - h3 - i.fa.fa-align-left - card-details-item-title {{_ 'description'}} - +inlinedCardDescription(classNames="card-description js-card-description") - +editor(autofocus=true) - | {{getUnsavedValue 'cardDescription' _id getDescription}} - .edit-controls.clearfix - button.primary(type="submit") {{_ 'save'}} - a.fa.fa-times-thin.js-close-inlined-form - else - a.js-open-inlined-form - if getDescription - +viewer - = getDescription - else - | {{_ 'edit'}} - if (hasUnsavedValue 'cardDescription' _id) - p.quiet - | {{_ 'unsaved-description'}} - a.js-open-inlined-form {{_ 'view-it'}} - = ' - ' - a.js-close-inlined-form {{_ 'discard'}} + h3.card-details-item-title {{_ 'description'}} + +inlinedCardDescription(classNames="card-description js-card-description") + +editor(autofocus=true) + | {{getUnsavedValue 'cardDescription' _id getDescription}} + .edit-controls.clearfix + button.primary(type="submit") {{_ 'save'}} + a.fa.fa-times-thin.js-close-inlined-form + else + a.js-open-inlined-form + if getDescription + +viewer + = getDescription + else + | {{_ 'edit'}} + if (hasUnsavedValue 'cardDescription' _id) + p.quiet + | {{_ 'unsaved-description'}} + a.js-open-inlined-form {{_ 'view-it'}} + = ' - ' + a.js-close-inlined-form {{_ 'discard'}} else if getDescription h3.card-details-item-title {{_ 'description'}} +viewer @@ -168,39 +145,33 @@ template(name="cardDetails") .card-details-items .card-details-item.card-details-item-name - h3 - i.fa.fa-shopping-cart - card-details-item-title {{_ 'requested-by'}} + h3.card-details-item-title {{_ 'requested-by'}} if canModifyCard - unless currentUser.isWorker - +inlinedForm(classNames="js-card-details-requester") - +editCardRequesterForm - else - a.js-open-inlined-form - if getRequestedBy - +viewer - = getRequestedBy - else - | {{_ 'add'}} + +inlinedForm(classNames="js-card-details-requester") + +editCardRequesterForm + else + a.js-open-inlined-form + if getRequestedBy + +viewer + = getRequestedBy + else + | {{_ 'add'}} else if getRequestedBy +viewer = getRequestedBy .card-details-item.card-details-item-name - h3 - i.fa.fa-user-plus - card-details-item-title {{_ 'assigned-by'}} + h3.card-details-item-title {{_ 'assigned-by'}} if canModifyCard - unless currentUser.isWorker - +inlinedForm(classNames="js-card-details-assigner") - +editCardAssignerForm - else - a.js-open-inlined-form - if getAssignedBy - +viewer - = getAssignedBy - else - | {{_ 'add'}} + +inlinedForm(classNames="js-card-details-assigner") + +editCardAssignerForm + else + a.js-open-inlined-form + if getAssignedBy + +viewer + = getAssignedBy + else + | {{_ 'add'}} else if getRequestedBy +viewer = getAssignedBy @@ -222,9 +193,7 @@ template(name="cardDetails") hr unless currentUser.isNoComments .activity-title - h3 - i.fa.fa-history - | {{ _ 'activity'}} + h3 {{ _ 'activity'}} if currentUser.isBoardMember .material-toggle-switch span.toggle-switch-title {{_ 'hide-system-messages'}} @@ -266,79 +235,32 @@ template(name="editCardAssignerForm") template(name="cardDetailsActionsPopup") ul.pop-over-list - li - a.js-toggle-watch-card - if isWatching - i.fa.fa-eye - | {{_ 'unwatch'}} - else - i.fa.fa-eye-slash - | {{_ 'watch'}} + li: a.js-toggle-watch-card {{#if isWatching}}{{_ 'unwatch'}}{{else}}{{_ 'watch'}}{{/if}} if canModifyCard - unless currentUser.isWorker - hr - ul.pop-over-list - //li: a.js-members {{_ 'card-edit-members'}} - //li: a.js-labels {{_ 'card-edit-labels'}} - //li: a.js-attachments {{_ 'card-edit-attachments'}} - li - a.js-custom-fields - i.fa.fa-list-alt - | {{_ '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'}} - li - a.js-spent-time - i.fa.fa-clock-o - | {{_ 'editCardSpentTimePopup-title'}} - li - a.js-set-card-color - i.fa.fa-paint-brush - | {{_ 'setCardColorPopup-title'}} - hr + hr ul.pop-over-list - li - a.js-move-card-to-top - i.fa.fa-arrow-up - | {{_ 'moveCardToTop-title'}} - li - a.js-move-card-to-bottom - i.fa.fa-arrow-down - | {{_ 'moveCardToBottom-title'}} - unless currentUser.isWorker - hr - ul.pop-over-list - li - a.js-move-card - i.fa.fa-arrow-right - | {{_ 'moveCardPopup-title'}} - li - a.js-copy-card - i.fa.fa-copy - | {{_ 'copyCardPopup-title'}} - hr - ul.pop-over-list - li - a.js-copy-checklist-cards - i.fa.fa-list - i.fa.fa-copy - | {{_ 'copyChecklistToManyCardsPopup-title'}} + //li: a.js-members {{_ 'card-edit-members'}} + //li: a.js-labels {{_ 'card-edit-labels'}} + //li: a.js-attachments {{_ 'card-edit-attachments'}} + 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'}} + li: a.js-spent-time {{_ 'editCardSpentTimePopup-title'}} + li: a.js-set-card-color {{_ 'setCardColorPopup-title'}} + hr + ul.pop-over-list + li: a.js-move-card-to-top {{_ 'moveCardToTop-title'}} + li: a.js-move-card-to-bottom {{_ 'moveCardToBottom-title'}} + hr + ul.pop-over-list + li: a.js-move-card {{_ 'moveCardPopup-title'}} + li: a.js-copy-card {{_ 'copyCardPopup-title'}} + li: a.js-copy-checklist-cards {{_ 'copyChecklistToManyCardsPopup-title'}} unless archived - hr - ul.pop-over-list - li - a.js-archive - i.fa.fa-arrow-right - i.fa.fa-archive - | {{_ 'archive-card'}} - hr - ul.pop-over-list - li - a.js-more - i.fa.fa-link - | {{_ 'cardMorePopup-title'}} + li: a.js-archive {{_ 'archive-card'}} + li: a.js-more {{_ 'cardMorePopup-title'}} template(name="moveCardPopup") +boardsAndLists @@ -390,27 +312,16 @@ template(name="cardMembersPopup") i.fa.fa-check template(name="cardAssigneesPopup") - unless currentUser.isWorker - ul.pop-over-list.js-card-assignee-list - each board.activeMembers - li.item(class="{{#if isCardAssignee}}active{{/if}}") - a.name.js-select-assignee(href="#") - +userAvatar(userId=user._id) - span.full-name - = user.profile.fullname - | ({{ user.username }}) - if isCardAssignee - i.fa.fa-check - if currentUser.isWorker - ul.pop-over-list.js-card-assignee-list - li.item(class="{{#if currentUser.isCardAssignee}}active{{/if}}") - a.name.js-select-assigneeWorker(href="#") - +userAvatar(userId=currentUser._id) - span.full-name - = currentUser.profile.fullname - | ({{ currentUser.username }}) - if currentUser.isCardAssignee - i.fa.fa-check + ul.pop-over-list.js-card-assignee-list + each board.activeMembers + li.item(class="{{#if isCardAssignee}}active{{/if}}") + a.name.js-select-assignee(href="#") + +userAvatar(userId=user._id) + span.full-name + = user.profile.fullname + | ({{ user.username }}) + if isCardAssignee + i.fa.fa-check template(name="userAvatarAssignee") a.assignee.js-assignee(title="{{userData.profile.fullname}} ({{userData.username}})") @@ -438,13 +349,11 @@ template(name="cardAssigneePopup") p.quiet @{{ user.username }} ul.pop-over-list if currentUser.isNotCommentOnly - unless currentUser.isWorker li: a.js-remove-assignee {{_ 'remove-member-from-card'}} - unless currentUser.isWorker - if $eq currentUser._id user._id - with currentUser - li: a.js-edit-profile {{_ 'edit-profile'}} + if $eq currentUser._id user._id + with currentUser + li: a.js-edit-profile {{_ 'edit-profile'}} template(name="userAvatarAssigneeInitials") svg.avatar.avatar-assignee-initials(viewBox="0 0 {{viewPortWidth}} 15") -- cgit v1.2.3-1-g7c22 From cd253522a305523e3e36bb73313e8c4db500a717 Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Fri, 3 Jan 2020 17:02:27 +0200 Subject: Add more Font Awesome icons. This was originally added at Wekan v3.58, removed at Wekan v3.60, and now added back at Wekan v3.61. Thanks to xet7 ! --- client/components/cards/cardDetails.jade | 117 ++++++++++++++++++++++++------- 1 file changed, 92 insertions(+), 25 deletions(-) (limited to 'client/components/cards/cardDetails.jade') diff --git a/client/components/cards/cardDetails.jade b/client/components/cards/cardDetails.jade index 2b4f44b9..d7c7ca59 100644 --- a/client/components/cards/cardDetails.jade +++ b/client/components/cards/cardDetails.jade @@ -16,8 +16,8 @@ template(name="cardDetails") class="{{#if canModifyCard}}js-open-inlined-form is-editable{{/if}}") +viewer = getTitle - if isWatching - i.fa.fa-eye.card-details-watch + if isWatching + i.card-details-watch.fa.fa-eye .card-details-path each parentList |   >   @@ -37,7 +37,9 @@ template(name="cardDetails") .card-details-items .card-details-item.card-details-item-received - h3.card-details-item-title {{_ 'card-received'}} + h3 + i.fa.fa-sign-out + card-details-item-title {{_ 'card-received'}} if getReceived +cardReceivedDate else @@ -45,7 +47,9 @@ template(name="cardDetails") a.js-received-date {{_ 'add'}} .card-details-item.card-details-item-start - h3.card-details-item-title {{_ 'card-start'}} + h3 + i.fa.fa-hourglass-start + card-details-item-title {{_ 'card-start'}} if getStart +cardStartDate else @@ -53,7 +57,9 @@ template(name="cardDetails") a.js-start-date {{_ 'add'}} .card-details-item.card-details-item-due - h3.card-details-item-title {{_ 'card-due'}} + h3 + i.fa.fa-sign-in + card-details-item-title {{_ 'card-due'}} if getDue +cardDueDate else @@ -61,7 +67,9 @@ template(name="cardDetails") a.js-due-date {{_ 'add'}} .card-details-item.card-details-item-end - h3.card-details-item-title {{_ 'card-end'}} + h3 + i.fa.fa-hourglass-end + card-details-item-title {{_ 'card-end'}} if getEnd +cardEndDate else @@ -70,7 +78,9 @@ template(name="cardDetails") .card-details-items .card-details-item.card-details-item-members - h3.card-details-item-title {{_ 'members'}} + h3 + i.fa.fa-users + card-details-item-title {{_ 'members'}} each getMembers +userAvatar(userId=this cardId=../_id) | {{! XXX Hack to hide syntaxic coloration /// }} @@ -79,7 +89,9 @@ template(name="cardDetails") i.fa.fa-plus .card-details-item.card-details-item-assignees - h3.card-details-item-title {{_ 'assignee'}} + h3 + i.fa.fa-user + card-details-item-title {{_ 'assignee'}} each getAssignees +userAvatarAssignee(userId=this cardId=../_id) | {{! XXX Hack to hide syntaxic coloration /// }} @@ -89,7 +101,9 @@ template(name="cardDetails") i.fa.fa-plus .card-details-item.card-details-item-labels - h3.card-details-item-title {{_ 'labels'}} + h3 + i.fa.fa-tags + card-details-item-title {{_ 'labels'}} a(class="{{#if canModifyCard}}js-add-labels{{else}}is-disabled{{/if}}" title="{{_ 'card-labels-title'}}") each labels span.card-label(class="card-label-{{color}}" title=name) @@ -118,7 +132,9 @@ template(name="cardDetails") //- XXX We should use "editable" to avoid repetiting ourselves if canModifyCard - h3.card-details-item-title {{_ 'description'}} + h3 + i.fa.fa-align-left + card-details-item-title {{_ 'description'}} +inlinedCardDescription(classNames="card-description js-card-description") +editor(autofocus=true) | {{getUnsavedValue 'cardDescription' _id getDescription}} @@ -145,7 +161,9 @@ template(name="cardDetails") .card-details-items .card-details-item.card-details-item-name - h3.card-details-item-title {{_ 'requested-by'}} + h3 + i.fa.fa-shopping-cart + card-details-item-title {{_ 'requested-by'}} if canModifyCard +inlinedForm(classNames="js-card-details-requester") +editCardRequesterForm @@ -161,7 +179,9 @@ template(name="cardDetails") = getRequestedBy .card-details-item.card-details-item-name - h3.card-details-item-title {{_ 'assigned-by'}} + h3 + i.fa.fa-user-plus + card-details-item-title {{_ 'assigned-by'}} if canModifyCard +inlinedForm(classNames="js-card-details-assigner") +editCardAssignerForm @@ -193,7 +213,9 @@ template(name="cardDetails") hr unless currentUser.isNoComments .activity-title - h3 {{ _ 'activity'}} + h3 + i.fa.fa-history + | {{ _ 'activity'}} if currentUser.isBoardMember .material-toggle-switch span.toggle-switch-title {{_ 'hide-system-messages'}} @@ -235,32 +257,77 @@ template(name="editCardAssignerForm") template(name="cardDetailsActionsPopup") ul.pop-over-list - li: a.js-toggle-watch-card {{#if isWatching}}{{_ 'unwatch'}}{{else}}{{_ 'watch'}}{{/if}} + li + a.js-toggle-watch-card + if isWatching + i.fa.fa-eye + | {{_ 'unwatch'}} + else + i.fa.fa-eye-slash + | {{_ 'watch'}} if canModifyCard hr ul.pop-over-list //li: a.js-members {{_ 'card-edit-members'}} //li: a.js-labels {{_ 'card-edit-labels'}} //li: a.js-attachments {{_ 'card-edit-attachments'}} - li: a.js-custom-fields {{_ 'card-edit-custom-fields'}} + li + a.js-custom-fields + i.fa.fa-list-alt + | {{_ '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'}} - li: a.js-spent-time {{_ 'editCardSpentTimePopup-title'}} - li: a.js-set-card-color {{_ 'setCardColorPopup-title'}} + li + a.js-spent-time + i.fa.fa-clock-o + | {{_ 'editCardSpentTimePopup-title'}} + li + a.js-set-card-color + i.fa.fa-paint-brush + | {{_ 'setCardColorPopup-title'}} hr ul.pop-over-list - li: a.js-move-card-to-top {{_ 'moveCardToTop-title'}} - li: a.js-move-card-to-bottom {{_ 'moveCardToBottom-title'}} + li + a.js-move-card-to-top + i.fa.fa-arrow-up + | {{_ 'moveCardToTop-title'}} + li + a.js-move-card-to-bottom + i.fa.fa-arrow-down + | {{_ 'moveCardToBottom-title'}} hr ul.pop-over-list - li: a.js-move-card {{_ 'moveCardPopup-title'}} - li: a.js-copy-card {{_ 'copyCardPopup-title'}} - li: a.js-copy-checklist-cards {{_ 'copyChecklistToManyCardsPopup-title'}} + li + a.js-move-card + i.fa.fa-arrow-right + | {{_ 'moveCardPopup-title'}} + li + a.js-copy-card + i.fa.fa-copy + | {{_ 'copyCardPopup-title'}} + hr + ul.pop-over-list + li + a.js-copy-checklist-cards + i.fa.fa-list + i.fa.fa-copy + | {{_ 'copyChecklistToManyCardsPopup-title'}} unless archived - li: a.js-archive {{_ 'archive-card'}} - li: a.js-more {{_ 'cardMorePopup-title'}} + hr + ul.pop-over-list + li + a.js-archive + i.fa.fa-arrow-right + i.fa.fa-archive + | {{_ 'archive-card'}} + hr + ul.pop-over-list + li + a.js-more + i.fa.fa-link + | {{_ 'cardMorePopup-title'}} template(name="moveCardPopup") +boardsAndLists @@ -349,7 +416,7 @@ template(name="cardAssigneePopup") p.quiet @{{ user.username }} ul.pop-over-list if currentUser.isNotCommentOnly - li: a.js-remove-assignee {{_ 'remove-member-from-card'}} + li: a.js-remove-assignee {{_ 'remove-member-from-card'}} if $eq currentUser._id user._id with currentUser -- cgit v1.2.3-1-g7c22 From f6f7705f23ea18d7f1b8f8736b762eb89e00a3cf Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Sun, 5 Jan 2020 21:28:14 +0200 Subject: Add Worker role. This was originally added at Wekan v3.58, reverted at Wekan v3.60 because of bugs, and now after fixes added back. Thanks to xet7 ! Closes #2788 --- client/components/cards/cardDetails.jade | 216 +++++++++++++++++-------------- 1 file changed, 122 insertions(+), 94 deletions(-) (limited to 'client/components/cards/cardDetails.jade') diff --git a/client/components/cards/cardDetails.jade b/client/components/cards/cardDetails.jade index d7c7ca59..de4e102a 100644 --- a/client/components/cards/cardDetails.jade +++ b/client/components/cards/cardDetails.jade @@ -44,7 +44,8 @@ template(name="cardDetails") +cardReceivedDate else if canModifyCard - a.js-received-date {{_ 'add'}} + unless currentUser.isWorker + a.js-received-date {{_ 'add'}} .card-details-item.card-details-item-start h3 @@ -54,7 +55,8 @@ template(name="cardDetails") +cardStartDate else if canModifyCard - a.js-start-date {{_ 'add'}} + unless currentUser.isWorker + a.js-start-date {{_ 'add'}} .card-details-item.card-details-item-due h3 @@ -64,7 +66,8 @@ template(name="cardDetails") +cardDueDate else if canModifyCard - a.js-due-date {{_ 'add'}} + unless currentUser.isWorker + a.js-due-date {{_ 'add'}} .card-details-item.card-details-item-end h3 @@ -74,7 +77,8 @@ template(name="cardDetails") +cardEndDate else if canModifyCard - a.js-end-date {{_ 'add'}} + unless currentUser.isWorker + a.js-end-date {{_ 'add'}} .card-details-items .card-details-item.card-details-item-members @@ -85,8 +89,9 @@ template(name="cardDetails") +userAvatar(userId=this cardId=../_id) | {{! XXX Hack to hide syntaxic coloration /// }} if canModifyCard - a.member.add-member.card-details-item-add-button.js-add-members(title="{{_ 'card-members-title'}}") - i.fa.fa-plus + unless currentUser.isWorker + a.member.add-member.card-details-item-add-button.js-add-members(title="{{_ 'card-members-title'}}") + i.fa.fa-plus .card-details-item.card-details-item-assignees h3 @@ -96,10 +101,14 @@ template(name="cardDetails") +userAvatarAssignee(userId=this cardId=../_id) | {{! XXX Hack to hide syntaxic coloration /// }} if canModifyCard + a.assignee.add-assignee.card-details-item-add-button.js-add-assignees(title="{{_ 'assignee'}}") + i.fa.fa-plus + if currentUser.isWorker unless assigneeSelected a.assignee.add-assignee.card-details-item-add-button.js-add-assignees(title="{{_ 'assignee'}}") i.fa.fa-plus + .card-details-item.card-details-item-labels h3 i.fa.fa-tags @@ -110,8 +119,9 @@ template(name="cardDetails") +viewer = name if canModifyCard - a.card-label.add-label.js-add-labels(title="{{_ 'card-labels-title'}}") - i.fa.fa-plus + unless currentUser.isWorker + a.card-label.add-label.js-add-labels(title="{{_ 'card-labels-title'}}") + i.fa.fa-plus .card-details-items each customFieldsWD @@ -132,28 +142,29 @@ template(name="cardDetails") //- XXX We should use "editable" to avoid repetiting ourselves if canModifyCard - h3 - i.fa.fa-align-left - card-details-item-title {{_ 'description'}} - +inlinedCardDescription(classNames="card-description js-card-description") - +editor(autofocus=true) - | {{getUnsavedValue 'cardDescription' _id getDescription}} - .edit-controls.clearfix - button.primary(type="submit") {{_ 'save'}} - a.fa.fa-times-thin.js-close-inlined-form - else - a.js-open-inlined-form - if getDescription - +viewer - = getDescription - else - | {{_ 'edit'}} - if (hasUnsavedValue 'cardDescription' _id) - p.quiet - | {{_ 'unsaved-description'}} - a.js-open-inlined-form {{_ 'view-it'}} - = ' - ' - a.js-close-inlined-form {{_ 'discard'}} + unless currentUser.isWorker + h3 + i.fa.fa-align-left + card-details-item-title {{_ 'description'}} + +inlinedCardDescription(classNames="card-description js-card-description") + +editor(autofocus=true) + | {{getUnsavedValue 'cardDescription' _id getDescription}} + .edit-controls.clearfix + button.primary(type="submit") {{_ 'save'}} + a.fa.fa-times-thin.js-close-inlined-form + else + a.js-open-inlined-form + if getDescription + +viewer + = getDescription + else + | {{_ 'edit'}} + if (hasUnsavedValue 'cardDescription' _id) + p.quiet + | {{_ 'unsaved-description'}} + a.js-open-inlined-form {{_ 'view-it'}} + = ' - ' + a.js-close-inlined-form {{_ 'discard'}} else if getDescription h3.card-details-item-title {{_ 'description'}} +viewer @@ -165,15 +176,16 @@ template(name="cardDetails") i.fa.fa-shopping-cart card-details-item-title {{_ 'requested-by'}} if canModifyCard - +inlinedForm(classNames="js-card-details-requester") - +editCardRequesterForm - else - a.js-open-inlined-form - if getRequestedBy - +viewer - = getRequestedBy - else - | {{_ 'add'}} + unless currentUser.isWorker + +inlinedForm(classNames="js-card-details-requester") + +editCardRequesterForm + else + a.js-open-inlined-form + if getRequestedBy + +viewer + = getRequestedBy + else + | {{_ 'add'}} else if getRequestedBy +viewer = getRequestedBy @@ -183,15 +195,16 @@ template(name="cardDetails") i.fa.fa-user-plus card-details-item-title {{_ 'assigned-by'}} if canModifyCard - +inlinedForm(classNames="js-card-details-assigner") - +editCardAssignerForm - else - a.js-open-inlined-form - if getAssignedBy - +viewer - = getAssignedBy - else - | {{_ 'add'}} + unless currentUser.isWorker + +inlinedForm(classNames="js-card-details-assigner") + +editCardAssignerForm + else + a.js-open-inlined-form + if getAssignedBy + +viewer + = getAssignedBy + else + | {{_ 'add'}} else if getRequestedBy +viewer = getAssignedBy @@ -266,28 +279,29 @@ template(name="cardDetailsActionsPopup") i.fa.fa-eye-slash | {{_ 'watch'}} if canModifyCard - hr - ul.pop-over-list - //li: a.js-members {{_ 'card-edit-members'}} - //li: a.js-labels {{_ 'card-edit-labels'}} - //li: a.js-attachments {{_ 'card-edit-attachments'}} - li - a.js-custom-fields - i.fa.fa-list-alt - | {{_ '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'}} - li - a.js-spent-time - i.fa.fa-clock-o - | {{_ 'editCardSpentTimePopup-title'}} - li - a.js-set-card-color - i.fa.fa-paint-brush - | {{_ 'setCardColorPopup-title'}} - hr + unless currentUser.isWorker + hr + ul.pop-over-list + //li: a.js-members {{_ 'card-edit-members'}} + //li: a.js-labels {{_ 'card-edit-labels'}} + //li: a.js-attachments {{_ 'card-edit-attachments'}} + li + a.js-custom-fields + i.fa.fa-list-alt + | {{_ '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'}} + li + a.js-spent-time + i.fa.fa-clock-o + | {{_ 'editCardSpentTimePopup-title'}} + li + a.js-set-card-color + i.fa.fa-paint-brush + | {{_ 'setCardColorPopup-title'}} + hr ul.pop-over-list li a.js-move-card-to-top @@ -297,16 +311,17 @@ template(name="cardDetailsActionsPopup") a.js-move-card-to-bottom i.fa.fa-arrow-down | {{_ 'moveCardToBottom-title'}} - hr - ul.pop-over-list - li - a.js-move-card - i.fa.fa-arrow-right - | {{_ 'moveCardPopup-title'}} - li - a.js-copy-card - i.fa.fa-copy - | {{_ 'copyCardPopup-title'}} + unless currentUser.isWorker + hr + ul.pop-over-list + li + a.js-move-card + i.fa.fa-arrow-right + | {{_ 'moveCardPopup-title'}} + li + a.js-copy-card + i.fa.fa-copy + | {{_ 'copyCardPopup-title'}} hr ul.pop-over-list li @@ -379,16 +394,27 @@ template(name="cardMembersPopup") i.fa.fa-check template(name="cardAssigneesPopup") - ul.pop-over-list.js-card-assignee-list - each board.activeMembers - li.item(class="{{#if isCardAssignee}}active{{/if}}") - a.name.js-select-assignee(href="#") - +userAvatar(userId=user._id) - span.full-name - = user.profile.fullname - | ({{ user.username }}) - if isCardAssignee - i.fa.fa-check + unless currentUser.isWorker + ul.pop-over-list.js-card-assignee-list + each board.activeMembers + li.item(class="{{#if isCardAssignee}}active{{/if}}") + a.name.js-select-assignee(href="#") + +userAvatar(userId=user._id) + span.full-name + = user.profile.fullname + | ({{ user.username }}) + if isCardAssignee + i.fa.fa-check + if currentUser.isWorker + ul.pop-over-list.js-card-assignee-list + li.item(class="{{#if currentUser.isCardAssignee}}active{{/if}}") + a.name.js-select-assignee(href="#") + +userAvatar(userId=currentUser._id) + span.full-name + = currentUser.profile.fullname + | ({{ currentUser.username }}) + if currentUser.isCardAssignee + i.fa.fa-check template(name="userAvatarAssignee") a.assignee.js-assignee(title="{{userData.profile.fullname}} ({{userData.username}})") @@ -416,11 +442,13 @@ template(name="cardAssigneePopup") p.quiet @{{ user.username }} ul.pop-over-list if currentUser.isNotCommentOnly - li: a.js-remove-assignee {{_ 'remove-member-from-card'}} + unless currentUser.isWorker + li: a.js-remove-assignee {{_ 'remove-member-from-card'}} - if $eq currentUser._id user._id - with currentUser - li: a.js-edit-profile {{_ 'edit-profile'}} + unless currentUser.isWorker + if $eq currentUser._id user._id + with currentUser + li: a.js-edit-profile {{_ 'edit-profile'}} template(name="userAvatarAssigneeInitials") svg.avatar.avatar-assignee-initials(viewBox="0 0 {{viewPortWidth}} 15") -- cgit v1.2.3-1-g7c22 From 0b00a8095ce34c753e5edac86d4b62e8aaa1b1e0 Mon Sep 17 00:00:00 2001 From: dollybean Date: Tue, 4 Feb 2020 02:28:45 -0800 Subject: Customize of some card's functions --- client/components/cards/cardDetails.jade | 243 ++++++++++++++++--------------- 1 file changed, 129 insertions(+), 114 deletions(-) (limited to 'client/components/cards/cardDetails.jade') diff --git a/client/components/cards/cardDetails.jade b/client/components/cards/cardDetails.jade index de4e102a..aec95486 100644 --- a/client/components/cards/cardDetails.jade +++ b/client/components/cards/cardDetails.jade @@ -8,10 +8,13 @@ template(name="cardDetails") a.fa.fa-times-thin.close-card-details.js-close-card-details if currentUser.isBoardMember a.fa.fa-navicon.card-details-menu.js-open-card-details-menu + input.inline-input(type="text" id="cardURL_copy" value="{{ absoluteUrl }}" autofocus="autofocus") + a.fa.fa-link.card-copy-button.js-copy-link if isMiniScreen a.fa.fa-times-thin.close-card-details-mobile-web.js-close-card-details if currentUser.isBoardMember a.fa.fa-navicon.card-details-menu-mobile-web.js-open-card-details-menu + a.fa.fa-link.card-copy-mobile-button h2.card-details-title.js-card-title( class="{{#if canModifyCard}}js-open-inlined-form is-editable{{/if}}") +viewer @@ -36,49 +39,41 @@ template(name="cardDetails") p.warning {{_ 'card-archived'}} .card-details-items - .card-details-item.card-details-item-received - h3 - i.fa.fa-sign-out - card-details-item-title {{_ 'card-received'}} - if getReceived - +cardReceivedDate - else - if canModifyCard - unless currentUser.isWorker - a.js-received-date {{_ 'add'}} - - .card-details-item.card-details-item-start - h3 - i.fa.fa-hourglass-start - card-details-item-title {{_ 'card-start'}} - if getStart - +cardStartDate - else - if canModifyCard - unless currentUser.isWorker - a.js-start-date {{_ 'add'}} - - .card-details-item.card-details-item-due - h3 - i.fa.fa-sign-in - card-details-item-title {{_ 'card-due'}} - if getDue - +cardDueDate - else - if canModifyCard - unless currentUser.isWorker - a.js-due-date {{_ 'add'}} - - .card-details-item.card-details-item-end - h3 - i.fa.fa-hourglass-end - card-details-item-title {{_ 'card-end'}} - if getEnd - +cardEndDate - else - if canModifyCard - unless currentUser.isWorker - a.js-end-date {{_ 'add'}} + if currentBoard.allowsReceivedDate + .card-details-item.card-details-item-received + h3 + i.fa.fa-sign-out + card-details-item-title {{_ 'card-received'}} + if getReceived + +cardReceivedDate + else + if canModifyCard + unless currentUser.isWorker + a.js-received-date {{_ 'add'}} + + if currentBoard.allowsStartDate + .card-details-item.card-details-item-start + h3 + i.fa.fa-hourglass-start + card-details-item-title {{_ 'card-start'}} + if getStart + +cardStartDate + else + if canModifyCard + unless currentUser.isWorker + a.js-start-date {{_ 'add'}} + + if currentBoard.allowsEndDate + .card-details-item.card-details-item-end + h3 + i.fa.fa-hourglass-end + card-details-item-title {{_ 'card-end'}} + if getEnd + +cardEndDate + else + if canModifyCard + unless currentUser.isWorker + a.js-end-date {{_ 'add'}} .card-details-items .card-details-item.card-details-item-members @@ -92,22 +87,34 @@ template(name="cardDetails") unless currentUser.isWorker a.member.add-member.card-details-item-add-button.js-add-members(title="{{_ 'card-members-title'}}") i.fa.fa-plus - - .card-details-item.card-details-item-assignees - h3 - i.fa.fa-user - card-details-item-title {{_ 'assignee'}} - each getAssignees - +userAvatarAssignee(userId=this cardId=../_id) - | {{! XXX Hack to hide syntaxic coloration /// }} - if canModifyCard - a.assignee.add-assignee.card-details-item-add-button.js-add-assignees(title="{{_ 'assignee'}}") - i.fa.fa-plus - if currentUser.isWorker - unless assigneeSelected + if currentBoard.allowsDueDate + .card-details-item.card-details-item-due + h3 + i.fa.fa-sign-in + card-details-item-title {{_ 'card-due'}} + if getDue + +cardDueDate + else + if canModifyCard + unless currentUser.isWorker + a.card-label.add-label.js-due-date + i.fa.fa-plus + + if assigngeeSelected + .card-details-item.card-details-item-assignees + h3 + i.fa.fa-user + card-details-item-title {{_ 'assignee'}} + each getAssignees + +userAvatarAssignee(userId=this cardId=../_id) + | {{! XXX Hack to hide syntaxic coloration /// }} + if canModifyCard a.assignee.add-assignee.card-details-item-add-button.js-add-assignees(title="{{_ 'assignee'}}") i.fa.fa-plus - + if currentUser.isWorker + unless assigneeSelected + a.assignee.add-assignee.card-details-item-add-button.js-add-assignees(title="{{_ 'assignee'}}") + i.fa.fa-plus .card-details-item.card-details-item-labels h3 @@ -143,9 +150,9 @@ template(name="cardDetails") //- XXX We should use "editable" to avoid repetiting ourselves if canModifyCard unless currentUser.isWorker - h3 - i.fa.fa-align-left - card-details-item-title {{_ 'description'}} + //h3 + //- i.fa.fa-align-left + //- card-details-item-title {{_ 'description'}} +inlinedCardDescription(classNames="card-description js-card-description") +editor(autofocus=true) | {{getUnsavedValue 'cardDescription' _id getDescription}} @@ -153,16 +160,16 @@ template(name="cardDetails") button.primary(type="submit") {{_ 'save'}} a.fa.fa-times-thin.js-close-inlined-form else - a.js-open-inlined-form + a.description-item.add-description.js-open-inlined-form if getDescription +viewer = getDescription else - | {{_ 'edit'}} + | {{_ 'addmore-detail'}} if (hasUnsavedValue 'cardDescription' _id) p.quiet | {{_ 'unsaved-description'}} - a.js-open-inlined-form {{_ 'view-it'}} + a.description-item.add-description.js-open-inlined-form {{_ 'view-it'}} = ' - ' a.js-close-inlined-form {{_ 'discard'}} else if getDescription @@ -171,57 +178,59 @@ template(name="cardDetails") = getDescription .card-details-items - .card-details-item.card-details-item-name - h3 - i.fa.fa-shopping-cart - card-details-item-title {{_ 'requested-by'}} - if canModifyCard - unless currentUser.isWorker - +inlinedForm(classNames="js-card-details-requester") - +editCardRequesterForm - else - a.js-open-inlined-form - if getRequestedBy - +viewer - = getRequestedBy - else - | {{_ 'add'}} - else if getRequestedBy - +viewer - = getRequestedBy - - .card-details-item.card-details-item-name - h3 - i.fa.fa-user-plus - card-details-item-title {{_ 'assigned-by'}} - if canModifyCard - unless currentUser.isWorker - +inlinedForm(classNames="js-card-details-assigner") - +editCardAssignerForm - else - a.js-open-inlined-form - if getAssignedBy - +viewer - = getAssignedBy - else - | {{_ 'add'}} - else if getRequestedBy - +viewer - = getAssignedBy - - hr - +checklists(cardId = _id) - - if currentBoard.allowsSubtasks - hr - +subtasks(cardId = _id) - - hr - h3 - i.fa.fa-paperclip - | {{_ 'attachments'}} + if requestBySelected + .card-details-item.card-details-item-name + h3 + i.fa.fa-shopping-cart + card-details-item-title {{_ 'requested-by'}} + if canModifyCard + unless currentUser.isWorker + +inlinedForm(classNames="js-card-details-requester") + +editCardRequesterForm + else + a.js-open-inlined-form + if getRequestedBy + +viewer + = getRequestedBy + else + | {{_ 'add'}} + else if getRequestedBy + +viewer + = getRequestedBy - +attachmentsGalery + if assigneeBySelected + .card-details-item.card-details-item-name + h3 + i.fa.fa-user-plus + card-details-item-title {{_ 'assigned-by'}} + if canModifyCard + unless currentUser.isWorker + +inlinedForm(classNames="js-card-details-assigner") + +editCardAssignerForm + else + a.js-open-inlined-form + if getAssignedBy + +viewer + = getAssignedBy + else + | {{_ 'add'}} + else if getRequestedBy + +viewer + = getAssignedBy + + .card-checklist-attachmentGalerys + .card-checklist-attachmentGalery.card-checklists + +checklists(cardId = _id) + if currentBoard.allowsSubtasks + hr + +subtasks(cardId = _id) + + //- hr + //- h3 + //- i.fa.fa-paperclip + //- | {{_ 'attachments'}} + .card-checklist-attachmentGalery.card-attachmentGalery + +attachmentsGalery hr unless currentUser.isNoComments @@ -239,7 +248,13 @@ template(name="cardDetails") label.toggle-label(for="toggleButton") if currentUser.isBoardMember unless currentUser.isNoComments - +commentForm + if canModifyCard + +inlinedForm(autoclose=false classNames="js-new-comment-form") + +commentForm + else + +userAvatar(userId=currentUser._id) + a.comment-item.add-comment.js-open-inlined-form + | {{_ 'Write Comment'}} unless currentUser.isNoComments if isLoaded.get if isLinkedCard -- cgit v1.2.3-1-g7c22 From f22785dbcde42e425c9ead209ec224aef6e11c16 Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Wed, 5 Feb 2020 19:47:08 +0200 Subject: - Fix adding comments. - Added some working layout changes from https://github.com/wekan/wekan/pull/2920. - Fixed Card Settings not working at Sandstorm. Thanks to 2020product xet7 ! Closes #2918, closes https://github.com/wekan/wekan/pull/2920 --- client/components/cards/cardDetails.jade | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) (limited to 'client/components/cards/cardDetails.jade') diff --git a/client/components/cards/cardDetails.jade b/client/components/cards/cardDetails.jade index 41ab8ca2..7a6ca7cf 100644 --- a/client/components/cards/cardDetails.jade +++ b/client/components/cards/cardDetails.jade @@ -9,7 +9,10 @@ template(name="cardDetails") if currentUser.isBoardMember a.fa.fa-navicon.card-details-menu.js-open-card-details-menu input.inline-input(type="hidden" id="cardURL_copy" value="{{ absoluteUrl }}") - a.fa.fa-link.card-copy-button.js-copy-link + a.fa.card-copy-button.js-copy-link( + class="fa-link" + title="{{_ 'copy-card-link-to-clipboard'}}" + ) if isMiniScreen a.fa.fa-times-thin.close-card-details-mobile-web.js-close-card-details if currentUser.isBoardMember @@ -157,9 +160,9 @@ template(name="cardDetails") //- XXX We should use "editable" to avoid repetiting ourselves if canModifyCard unless currentUser.isWorker - //h3 - // i.fa.fa-align-left - // card-details-item-title {{_ 'description'}} + h3 + i.fa.fa-align-left + card-details-item-title {{_ 'description'}} +inlinedCardDescription(classNames="card-description js-card-description") +editor(autofocus=true) | {{getUnsavedValue 'cardDescription' _id getDescription}} @@ -167,16 +170,16 @@ template(name="cardDetails") button.primary(type="submit") {{_ 'save'}} a.fa.fa-times-thin.js-close-inlined-form else - a.description-item.add-description.js-open-inlined-form + a.js-open-inlined-form if getDescription +viewer = getDescription else - | {{_ 'addmore-detail'}} + | {{_ 'edit'}} if (hasUnsavedValue 'cardDescription' _id) p.quiet | {{_ 'unsaved-description'}} - a.description-item.add-description.js-open-inlined-form {{_ 'view-it'}} + a.js-open-inlined-form {{_ 'view-it'}} = ' - ' a.js-close-inlined-form {{_ 'discard'}} else if getDescription @@ -257,13 +260,7 @@ template(name="cardDetails") if currentBoard.allowsComments if currentUser.isBoardMember unless currentUser.isNoComments - if canModifyCard - +inlinedForm(autoclose=false classNames="js-new-comment-form") - +commentForm - else - +userAvatar(userId=currentUser._id) - a.comment-item.add-comment.js-open-inlined-form - | {{_ 'Write Comment'}} + +commentForm unless currentUser.isNoComments if isLoaded.get if isLinkedCard -- cgit v1.2.3-1-g7c22 From 2fce02afbced07c6ff2b05786f159701c8b559e9 Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Fri, 7 Feb 2020 13:58:43 +0200 Subject: Add Feature: Card Settings/Show on card/Activities. Fix: When in Card Settings hiding Comments, only adding new comment is hidden, not old comments. Thanks to xet7 ! Closes #2925 --- client/components/cards/cardDetails.jade | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'client/components/cards/cardDetails.jade') diff --git a/client/components/cards/cardDetails.jade b/client/components/cards/cardDetails.jade index 7a6ca7cf..cb1f375e 100644 --- a/client/components/cards/cardDetails.jade +++ b/client/components/cards/cardDetails.jade @@ -261,14 +261,15 @@ template(name="cardDetails") if currentUser.isBoardMember unless currentUser.isNoComments +commentForm - unless currentUser.isNoComments - if isLoaded.get - if isLinkedCard - +activities(card=this mode="linkedcard") - else if isLinkedBoard - +activities(card=this mode="linkedboard") - else - +activities(card=this mode="card") + if currentBoard.allowsActivities + unless currentUser.isNoComments + if isLoaded.get + if isLinkedCard + +activities(card=this mode="linkedcard") + else if isLinkedBoard + +activities(card=this mode="linkedboard") + else + +activities(card=this mode="card") template(name="editCardTitleForm") textarea.js-edit-card-title(rows='1' autofocus dir="auto") -- cgit v1.2.3-1-g7c22 From 2a54218f3f68547032bd53a04a968b233be21e15 Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Mon, 10 Feb 2020 17:25:27 +0200 Subject: Remove hiding comments and activities. --- client/components/cards/cardDetails.jade | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) (limited to 'client/components/cards/cardDetails.jade') diff --git a/client/components/cards/cardDetails.jade b/client/components/cards/cardDetails.jade index cb1f375e..7a6ca7cf 100644 --- a/client/components/cards/cardDetails.jade +++ b/client/components/cards/cardDetails.jade @@ -261,15 +261,14 @@ template(name="cardDetails") if currentUser.isBoardMember unless currentUser.isNoComments +commentForm - if currentBoard.allowsActivities - unless currentUser.isNoComments - if isLoaded.get - if isLinkedCard - +activities(card=this mode="linkedcard") - else if isLinkedBoard - +activities(card=this mode="linkedboard") - else - +activities(card=this mode="card") + unless currentUser.isNoComments + if isLoaded.get + if isLinkedCard + +activities(card=this mode="linkedcard") + else if isLinkedBoard + +activities(card=this mode="linkedboard") + else + +activities(card=this mode="card") template(name="editCardTitleForm") textarea.js-edit-card-title(rows='1' autofocus dir="auto") -- cgit v1.2.3-1-g7c22 From 9a21b0a1c933e7f778e4e57a8258e150ccea1620 Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Mon, 10 Feb 2020 18:47:03 +0200 Subject: Fix Copy Card Link to Clipboard button at card title did not work. Thanks to 2020product and xet7 ! Related https://github.com/wekan/wekan/pull/2922 --- client/components/cards/cardDetails.jade | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'client/components/cards/cardDetails.jade') diff --git a/client/components/cards/cardDetails.jade b/client/components/cards/cardDetails.jade index 7a6ca7cf..e238823f 100644 --- a/client/components/cards/cardDetails.jade +++ b/client/components/cards/cardDetails.jade @@ -9,9 +9,10 @@ template(name="cardDetails") if currentUser.isBoardMember a.fa.fa-navicon.card-details-menu.js-open-card-details-menu input.inline-input(type="hidden" id="cardURL_copy" value="{{ absoluteUrl }}") - a.fa.card-copy-button.js-copy-link( + a.fa.fa-link.card-copy-button.js-copy-link( class="fa-link" title="{{_ 'copy-card-link-to-clipboard'}}" + value="{{ absoluteUrl }}" ) if isMiniScreen a.fa.fa-times-thin.close-card-details-mobile-web.js-close-card-details -- cgit v1.2.3-1-g7c22 From 4467a68b97a3fbf0fbae7f05177d978f2aa80287 Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Mon, 10 Feb 2020 19:37:25 +0200 Subject: Part 2: Fix Copy Card Link to Clipboard button at card title did not work. Thanks to 2020product and xet7 ! Related https://github.com/wekan/wekan/pull/2922 --- client/components/cards/cardDetails.jade | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'client/components/cards/cardDetails.jade') diff --git a/client/components/cards/cardDetails.jade b/client/components/cards/cardDetails.jade index e238823f..e8bb72a4 100644 --- a/client/components/cards/cardDetails.jade +++ b/client/components/cards/cardDetails.jade @@ -8,7 +8,7 @@ template(name="cardDetails") a.fa.fa-times-thin.close-card-details.js-close-card-details if currentUser.isBoardMember a.fa.fa-navicon.card-details-menu.js-open-card-details-menu - input.inline-input(type="hidden" id="cardURL_copy" value="{{ absoluteUrl }}") + input.inline-input(type="text" id="cardURL_copy" value="{{ absoluteUrl }}") a.fa.fa-link.card-copy-button.js-copy-link( class="fa-link" title="{{_ 'copy-card-link-to-clipboard'}}" -- cgit v1.2.3-1-g7c22 From e89965f6422fd95b4ad2112ae407b1dde4853510 Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Wed, 12 Feb 2020 02:08:29 +0200 Subject: Remove card element grouping to create compact card layout. Card Settings / Show on Card: Description Title and Description Text. Thanks to e-stoniauk, 2020product and xet7 ! Fixes https://github.com/wekan/wekan/pull/2922 --- client/components/cards/cardDetails.jade | 73 +++++++++++++++++--------------- 1 file changed, 39 insertions(+), 34 deletions(-) (limited to 'client/components/cards/cardDetails.jade') diff --git a/client/components/cards/cardDetails.jade b/client/components/cards/cardDetails.jade index e8bb72a4..615ae1d5 100644 --- a/client/components/cards/cardDetails.jade +++ b/client/components/cards/cardDetails.jade @@ -95,7 +95,7 @@ template(name="cardDetails") a.card-label.add-label.js-end-date i.fa.fa-plus - .card-details-items + //.card-details-items if currentBoard.allowsMembers .card-details-item.card-details-item-members h3 @@ -141,7 +141,7 @@ template(name="cardDetails") a.card-label.add-label.js-add-labels(title="{{_ 'card-labels-title'}}") i.fa.fa-plus - .card-details-items + //.card-details-items each customFieldsWD .card-details-item.card-details-item-customfield h3.card-details-item-title @@ -149,7 +149,7 @@ template(name="cardDetails") = definition.name +cardCustomField - .card-details-items + //.card-details-items if getSpentTime .card-details-item.card-details-item-spent if getIsOvertime @@ -158,37 +158,7 @@ template(name="cardDetails") h3.card-details-item-title {{_ 'spent-time-hours'}} +cardSpentTime - //- XXX We should use "editable" to avoid repetiting ourselves - if canModifyCard - unless currentUser.isWorker - h3 - i.fa.fa-align-left - card-details-item-title {{_ 'description'}} - +inlinedCardDescription(classNames="card-description js-card-description") - +editor(autofocus=true) - | {{getUnsavedValue 'cardDescription' _id getDescription}} - .edit-controls.clearfix - button.primary(type="submit") {{_ 'save'}} - a.fa.fa-times-thin.js-close-inlined-form - else - a.js-open-inlined-form - if getDescription - +viewer - = getDescription - else - | {{_ 'edit'}} - if (hasUnsavedValue 'cardDescription' _id) - p.quiet - | {{_ 'unsaved-description'}} - a.js-open-inlined-form {{_ 'view-it'}} - = ' - ' - a.js-close-inlined-form {{_ 'discard'}} - else if getDescription - h3.card-details-item-title {{_ 'description'}} - +viewer - = getDescription - - .card-details-items + //.card-details-items if currentBoard.allowsRequestedBy .card-details-item.card-details-item-name h3 @@ -229,6 +199,41 @@ template(name="cardDetails") +viewer = getAssignedBy + //- XXX We should use "editable" to avoid repetiting ourselves + if canModifyCard + unless currentUser.isWorker + if currentBoard.allowsDescriptionTitle + h3 + i.fa.fa-align-left + card-details-item-title {{_ 'description'}} + if currentBoard.allowsDescriptionText + +inlinedCardDescription(classNames="card-description js-card-description") + +editor(autofocus=true) + | {{getUnsavedValue 'cardDescription' _id getDescription}} + .edit-controls.clearfix + button.primary(type="submit") {{_ 'save'}} + a.fa.fa-times-thin.js-close-inlined-form + else + if currentBoard.allowsDescriptionText + a.js-open-inlined-form + if getDescription + +viewer + = getDescription + else + | {{_ 'edit'}} + if (hasUnsavedValue 'cardDescription' _id) + p.quiet + | {{_ 'unsaved-description'}} + a.js-open-inlined-form {{_ 'view-it'}} + = ' - ' + a.js-close-inlined-form {{_ 'discard'}} + else if getDescription + if currentBoard.allowsDescriptionTitle + h3.card-details-item-title {{_ 'description'}} + if currentBoard.allowsDescriptionText + +viewer + = getDescription + .card-checklist-attachmentGalerys .card-checklist-attachmentGalery.card-checklists if currentBoard.allowsChecklists -- cgit v1.2.3-1-g7c22 From 6b902bdb36205d74ac89d08fe4d91cc425c37fb6 Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Tue, 31 Mar 2020 23:56:37 +0300 Subject: Improvements on card details visualization. Thanks to helioguardabaxo and xet7 ! Closes #2974 --- client/components/cards/cardDetails.jade | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'client/components/cards/cardDetails.jade') diff --git a/client/components/cards/cardDetails.jade b/client/components/cards/cardDetails.jade index 615ae1d5..257ca0a8 100644 --- a/client/components/cards/cardDetails.jade +++ b/client/components/cards/cardDetails.jade @@ -203,6 +203,7 @@ template(name="cardDetails") if canModifyCard unless currentUser.isWorker if currentBoard.allowsDescriptionTitle + hr h3 i.fa.fa-align-left card-details-item-title {{_ 'description'}} @@ -229,6 +230,7 @@ template(name="cardDetails") a.js-close-inlined-form {{_ 'discard'}} else if getDescription if currentBoard.allowsDescriptionTitle + hr h3.card-details-item-title {{_ 'description'}} if currentBoard.allowsDescriptionText +viewer @@ -237,15 +239,16 @@ template(name="cardDetails") .card-checklist-attachmentGalerys .card-checklist-attachmentGalery.card-checklists if currentBoard.allowsChecklists + hr +checklists(cardId = _id) if currentBoard.allowsSubtasks hr +subtasks(cardId = _id) if currentBoard.allowsAttachments - //- hr - //- h3 - //- i.fa.fa-paperclip - //- | {{_ 'attachments'}} + hr + h3 + i.fa.fa-paperclip + | {{_ 'attachments'}} .card-checklist-attachmentGalery.card-attachmentGalery +attachmentsGalery -- cgit v1.2.3-1-g7c22 From 2bbc312ad0600da06b7d18f57630ad19cd90efd2 Mon Sep 17 00:00:00 2001 From: Nico Date: Tue, 7 Apr 2020 20:43:35 +0200 Subject: Voteing feature --- client/components/cards/cardDetails.jade | 37 ++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) (limited to 'client/components/cards/cardDetails.jade') diff --git a/client/components/cards/cardDetails.jade b/client/components/cards/cardDetails.jade index 257ca0a8..9cd581ea 100644 --- a/client/components/cards/cardDetails.jade +++ b/client/components/cards/cardDetails.jade @@ -199,6 +199,24 @@ template(name="cardDetails") +viewer = getAssignedBy + if getVoteQuestion + hr + .vote-title + h3 + i.fa.fa-thumbs-up + card-details-item-title {{_ 'vote-question'}} + .vote-result + .card-label.card-label-green + +viewer + = voteCountPositive + .card-label.card-label-red + +viewer + = voteCountNegative + +viewer + = getVoteQuestion + button.card-details-green.js-vote.js-vote-positive(class="{{#if voteState}}voted{{/if}}") {{_ 'vote-for-it'}} + button.card-details-red.js-vote.js-vote-negative(class="{{#if $eq voteState false}}voted{{/if}}") {{_ 'vote-against'}} + //- XXX We should use "editable" to avoid repetiting ourselves if canModifyCard unless currentUser.isWorker @@ -315,6 +333,16 @@ template(name="cardDetailsActionsPopup") //li: a.js-members {{_ 'card-edit-members'}} //li: a.js-labels {{_ 'card-edit-labels'}} //li: a.js-attachments {{_ 'card-edit-attachments'}} + if getVoteQuestion + li + a.js-cancel-voting + i.fa.fa-thumbs-up + | {{_ 'card-cancel-voting'}} + else + li + a.js-start-voting + i.fa.fa-thumbs-up + | {{_ 'card-start-voting'}} li a.js-custom-fields i.fa.fa-list-alt @@ -538,3 +566,12 @@ template(name="cardDeletePopup") unless archived p {{_ "card-delete-suggest-archive"}} button.js-confirm.negate.full(type="submit") {{_ 'delete'}} + +template(name="cardStartVotingPopup") + form.edit-vote-question + .fields + label(for="vote") {{_ 'vote-question'}} + input.js-vote-field#vote(type="text" name="vote" value="{{card.getVoteQuestion}}" autofocus) + + button.primary.confirm.js-submit {{_ 'save'}} + //- button.js-remove-color.negate.wide.right {{_ 'delete'}} -- cgit v1.2.3-1-g7c22 From 8f28a409c7dd90319f785e3fc4c1b26803f67f31 Mon Sep 17 00:00:00 2001 From: Nico Date: Fri, 10 Apr 2020 01:46:36 +0200 Subject: Public vote --- client/components/cards/cardDetails.jade | 35 ++++++++++++++++++++++++++------ 1 file changed, 29 insertions(+), 6 deletions(-) (limited to 'client/components/cards/cardDetails.jade') diff --git a/client/components/cards/cardDetails.jade b/client/components/cards/cardDetails.jade index 9cd581ea..99606ae4 100644 --- a/client/components/cards/cardDetails.jade +++ b/client/components/cards/cardDetails.jade @@ -206,12 +206,12 @@ template(name="cardDetails") i.fa.fa-thumbs-up card-details-item-title {{_ 'vote-question'}} .vote-result - .card-label.card-label-green - +viewer - = voteCountPositive - .card-label.card-label-red - +viewer - = voteCountNegative + if votePublic + a.card-label.card-label-green.js-show-positive-votes {{ voteCountPositive }} + a.card-label.card-label-red.js-show-negative-votes {{ voteCountNegative }} + else + .card-label.card-label-green {{ voteCountPositive }} + .card-label.card-label-red {{ voteCountNegative }} +viewer = getVoteQuestion button.card-details-green.js-vote.js-vote-positive(class="{{#if voteState}}voted{{/if}}") {{_ 'vote-for-it'}} @@ -572,6 +572,29 @@ template(name="cardStartVotingPopup") .fields label(for="vote") {{_ 'vote-question'}} input.js-vote-field#vote(type="text" name="vote" value="{{card.getVoteQuestion}}" autofocus) + label(for="vote-public") {{_ 'vote-public'}} + a.js-toggle-vote-public + .materialCheckBox#vote-public(name="vote-public") button.primary.confirm.js-submit {{_ 'save'}} //- button.js-remove-color.negate.wide.right {{_ 'delete'}} + +template(name="positiveVoteMembersPopup") + ul.pop-over-list.js-card-member-list + each m in voteMemberPositive + li.item + a.name + +userAvatar(userId=m._id) + span.full-name + = m.profile.fullname + | ({{ m.username }}) + +template(name="negativeVoteMembersPopup") + ul.pop-over-list.js-card-member-list + each m in voteMemberNegative + li.item + a.name + +userAvatar(userId=m._id) + span.full-name + = m.profile.fullname + | ({{ m.username }}) -- cgit v1.2.3-1-g7c22 From f583645744be50cba72a3e80ba2d916abb84eaba Mon Sep 17 00:00:00 2001 From: boeserwolf Date: Sun, 19 Apr 2020 10:31:40 +0300 Subject: Make linked card clickable --- client/components/cards/cardDetails.jade | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'client/components/cards/cardDetails.jade') diff --git a/client/components/cards/cardDetails.jade b/client/components/cards/cardDetails.jade index 99606ae4..ae97e0e9 100644 --- a/client/components/cards/cardDetails.jade +++ b/client/components/cards/cardDetails.jade @@ -32,7 +32,7 @@ template(name="cardDetails") // else {{_ 'top-level-card'}} if isLinkedCard - h3.linked-card-location + a.linked-card-location.js-go-to-linked-card +viewer | {{getBoardTitle}} > {{getTitle}} -- cgit v1.2.3-1-g7c22 From 7bb0aa74884d026bb6a0192bd2c4d0fb43f2953b Mon Sep 17 00:00:00 2001 From: Nico Date: Sun, 26 Apr 2020 02:41:26 +0200 Subject: Additional vote features --- client/components/cards/cardDetails.jade | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'client/components/cards/cardDetails.jade') diff --git a/client/components/cards/cardDetails.jade b/client/components/cards/cardDetails.jade index ae97e0e9..85425c59 100644 --- a/client/components/cards/cardDetails.jade +++ b/client/components/cards/cardDetails.jade @@ -212,6 +212,8 @@ template(name="cardDetails") else .card-label.card-label-green {{ voteCountPositive }} .card-label.card-label-red {{ voteCountNegative }} + unless ($and currentBoard.isPublic voteAllowNonBoardMembers ) + .card-label.card-label-gray {{ voteCount }} {{_ 'r-of' }} {{ currentBoard.activeMembers.length }} +viewer = getVoteQuestion button.card-details-green.js-vote.js-vote-positive(class="{{#if voteState}}voted{{/if}}") {{_ 'vote-for-it'}} @@ -572,9 +574,17 @@ template(name="cardStartVotingPopup") .fields label(for="vote") {{_ 'vote-question'}} input.js-vote-field#vote(type="text" name="vote" value="{{card.getVoteQuestion}}" autofocus) - label(for="vote-public") {{_ 'vote-public'}} - a.js-toggle-vote-public + .check-div + a.flex.js-toggle-vote-public .materialCheckBox#vote-public(name="vote-public") + span {{_ 'vote-public'}} + .check-div + a.flex.js-toggle-vote-allow-non-members + .materialCheckBox#vote-allow-non-members(name="vote-allow-non-members") + span {{_ 'allowNonBoardMembers'}} + //- label(for="vote-public") {{_ 'vote-public'}} + //- a.js-toggle-vote-public + //- .materialCheckBox#vote-public(name="vote-public") button.primary.confirm.js-submit {{_ 'save'}} //- button.js-remove-color.negate.wide.right {{_ 'delete'}} -- cgit v1.2.3-1-g7c22 From de993a079d9f528ae1cfe9d4ba8a3a7541d93941 Mon Sep 17 00:00:00 2001 From: Nico Date: Sun, 26 Apr 2020 02:44:14 +0200 Subject: Remove old code --- client/components/cards/cardDetails.jade | 5 ----- 1 file changed, 5 deletions(-) (limited to 'client/components/cards/cardDetails.jade') diff --git a/client/components/cards/cardDetails.jade b/client/components/cards/cardDetails.jade index 85425c59..b4259ae6 100644 --- a/client/components/cards/cardDetails.jade +++ b/client/components/cards/cardDetails.jade @@ -582,12 +582,7 @@ template(name="cardStartVotingPopup") a.flex.js-toggle-vote-allow-non-members .materialCheckBox#vote-allow-non-members(name="vote-allow-non-members") span {{_ 'allowNonBoardMembers'}} - //- label(for="vote-public") {{_ 'vote-public'}} - //- a.js-toggle-vote-public - //- .materialCheckBox#vote-public(name="vote-public") - button.primary.confirm.js-submit {{_ 'save'}} - //- button.js-remove-color.negate.wide.right {{_ 'delete'}} template(name="positiveVoteMembersPopup") ul.pop-over-list.js-card-member-list -- cgit v1.2.3-1-g7c22 From ee106d1cb41b8e7b4ae757936f0f46688325f685 Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Mon, 27 Apr 2020 02:54:40 +0300 Subject: Revert In Progress additional vote features. Translations are not removed. Thanks to xet7 ! Related https://github.com/wekan/wekan/pull/3048 --- client/components/cards/cardDetails.jade | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) (limited to 'client/components/cards/cardDetails.jade') diff --git a/client/components/cards/cardDetails.jade b/client/components/cards/cardDetails.jade index b4259ae6..ae97e0e9 100644 --- a/client/components/cards/cardDetails.jade +++ b/client/components/cards/cardDetails.jade @@ -212,8 +212,6 @@ template(name="cardDetails") else .card-label.card-label-green {{ voteCountPositive }} .card-label.card-label-red {{ voteCountNegative }} - unless ($and currentBoard.isPublic voteAllowNonBoardMembers ) - .card-label.card-label-gray {{ voteCount }} {{_ 'r-of' }} {{ currentBoard.activeMembers.length }} +viewer = getVoteQuestion button.card-details-green.js-vote.js-vote-positive(class="{{#if voteState}}voted{{/if}}") {{_ 'vote-for-it'}} @@ -574,15 +572,12 @@ template(name="cardStartVotingPopup") .fields label(for="vote") {{_ 'vote-question'}} input.js-vote-field#vote(type="text" name="vote" value="{{card.getVoteQuestion}}" autofocus) - .check-div - a.flex.js-toggle-vote-public + label(for="vote-public") {{_ 'vote-public'}} + a.js-toggle-vote-public .materialCheckBox#vote-public(name="vote-public") - span {{_ 'vote-public'}} - .check-div - a.flex.js-toggle-vote-allow-non-members - .materialCheckBox#vote-allow-non-members(name="vote-allow-non-members") - span {{_ 'allowNonBoardMembers'}} + button.primary.confirm.js-submit {{_ 'save'}} + //- button.js-remove-color.negate.wide.right {{_ 'delete'}} template(name="positiveVoteMembersPopup") ul.pop-over-list.js-card-member-list -- cgit v1.2.3-1-g7c22