123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340 |
- template(name="cardDetails")
- section.card-details.js-card-details.js-perfect-scrollbar: .card-details-canvas
- .card-details-header
- +inlinedForm(classNames="js-card-details-title")
- +editCardTitleForm
- else
- 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
- h2.card-details-title.js-card-title(
- class="{{#if canModifyCard}}js-open-inlined-form is-editable{{/if}}")
- +viewer
- = getTitle
- if isWatching
- i.fa.fa-eye.card-details-watch
- .card-details-path
- each parentList
- | >
- a.js-parent-card(href=linkForCard) {{title}}
- // else
- {{_ 'top-level-card'}}
- if isLinkedCard
- h3.linked-card-location
- +viewer
- | {{getBoardTitle}} > {{getTitle}}
- if getArchived
- if isLinkedBoard
- p.warning {{_ 'board-archived'}}
- else
- p.warning {{_ 'card-archived'}}
- .card-details-items
- .card-details-item.card-details-item-received
- h3.card-details-item-title {{_ 'card-received'}}
- if getReceived
- +cardReceivedDate
- else
- if canModifyCard
- a.js-received-date {{_ 'add'}}
- .card-details-item.card-details-item-start
- h3.card-details-item-title {{_ 'card-start'}}
- if getStart
- +cardStartDate
- else
- if canModifyCard
- a.js-start-date {{_ 'add'}}
- .card-details-item.card-details-item-due
- h3.card-details-item-title {{_ 'card-due'}}
- if getDue
- +cardDueDate
- else
- if canModifyCard
- a.js-due-date {{_ 'add'}}
- .card-details-item.card-details-item-end
- h3.card-details-item-title {{_ 'card-end'}}
- if getEnd
- +cardEndDate
- else
- if canModifyCard
- a.js-end-date {{_ 'add'}}
- .card-details-items
- .card-details-item.card-details-item-members
- h3.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
- .card-details-item.card-details-item-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)= name
- if canModifyCard
- a.card-label.add-label.js-add-labels(title="{{_ 'card-labels-title'}}")
- i.fa.fa-plus
- .card-details-items
- each customFieldsWD
- .card-details-item.card-details-item-customfield
- h3.card-details-item-title
- = definition.name
- +cardCustomField
- .card-details-items
- if getSpentTime
- .card-details-item.card-details-item-spent
- if getIsOvertime
- h3.card-details-item-title {{_ 'overtime-hours'}}
- else
- h3.card-details-item-title {{_ 'spent-time-hours'}}
- +cardSpentTime
- //- 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'}}
- else if getDescription
- h3.card-details-item-title {{_ 'description'}}
- +viewer
- = getDescription
- .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 getRequestedBy
- +viewer
- = getRequestedBy
- else
- | {{_ 'add'}}
- else if getRequestedBy
- +viewer
- = getRequestedBy
- .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 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'}}
- +attachmentsGalery
- hr
- unless currentUser.isNoComments
- .activity-title
- h3 {{ _ 'activity'}}
- if currentUser.isBoardMember
- .material-toggle-switch
- span.toggle-switch-title {{_ 'hide-system-messages'}}
- if hiddenSystemMessages
- input.toggle-switch(type="checkbox" id="toggleButton" checked="checked")
- else
- input.toggle-switch(type="checkbox" id="toggleButton")
- label.toggle-label(for="toggleButton")
- 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")
- template(name="editCardTitleForm")
- textarea.js-edit-card-title(rows='1' autofocus)
- = getTitle
- .edit-controls.clearfix
- 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=getRequestedBy)
- .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=getAssignedBy)
- .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}}
- 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'}}
- 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
- li: a.js-archive {{_ 'archive-card'}}
- li: a.js-more {{_ 'cardMorePopup-title'}}
- template(name="moveCardPopup")
- +boardsAndLists
- template(name="copyCardPopup")
- label(for='copy-card-title') {{_ 'title'}}:
- textarea#copy-card-title.minicard-composer-textarea.js-card-title(autofocus)
- = getTitle
- +boardsAndLists
- template(name="copyChecklistToManyCardsPopup")
- label(for='copy-checklist-cards-title') {{_ 'copyChecklistToManyCardsPopup-instructions'}}:
- textarea#copy-card-title.minicard-composer-textarea.js-card-title(autofocus)
- | {{_ 'copyChecklistToManyCardsPopup-format'}}
- +boardsAndLists
- template(name="boardsAndLists")
- label {{_ 'boards'}}:
- select.js-select-boards
- each boards
- if $eq _id currentBoard._id
- option(value="{{_id}}" selected) {{_ 'current'}}
- else
- option(value="{{_id}}") {{title}}
- label {{_ 'swimlanes'}}:
- select.js-select-swimlanes
- each swimlanes
- option(value="{{_id}}") {{title}}
- label {{_ 'lists'}}:
- select.js-select-lists
- each aBoardLists
- option(value="{{_id}}") {{title}}
- .edit-controls.clearfix
- button.primary.confirm.js-done {{_ 'done'}}
- template(name="cardMembersPopup")
- ul.pop-over-list.js-card-member-list
- each board.activeMembers
- li.item(class="{{#if isCardMember}}active{{/if}}")
- a.name.js-select-member(href="#")
- +userAvatar(userId=user._id)
- span.full-name
- = user.profile.fullname
- | (<span class="username">{{ user.username }}</span>)
- if isCardMember
- i.fa.fa-check
- template(name="cardMorePopup")
- p.quiet
- span.clearfix
- span {{_ 'link-card'}}
- = ' '
- i.fa.colorful(class="{{#if board.isPublic}}fa-globe{{else}}fa-lock{{/if}}")
- input.inline-input(type="text" id="cardURL" readonly value="{{ absoluteUrl }}")
- button.js-copy-card-link-to-clipboard(class="btn") {{_ 'copy-card-link-to-clipboard'}}
- span.clearfix
- br
- h2 {{_ 'change-card-parent'}}
- label {{_ 'source-board'}}:
- select.js-field-parent-board
- each boards
- if isParentBoard
- option(value="{{_id}}" selected) {{title}}
- else
- option(value="{{_id}}") {{title}}
- if isTopLevel
- option(value="none" selected) {{_ 'custom-field-dropdown-none'}}
- else
- option(value="none") {{_ 'custom-field-dropdown-none'}}
- label {{_ 'parent-card'}}:
- select.js-field-parent-card
- if isTopLevel
- option(value="none" selected) {{_ 'custom-field-dropdown-none'}}
- else
- each cards
- if isParentCard
- option(value="{{_id}}" selected) {{title}}
- else
- option(value="{{_id}}") {{title}}
- option(value="none") {{_ 'custom-field-dropdown-none'}}
- br
- | {{_ 'added'}}
- span.date(title=card.createdAt) {{ moment createdAt 'LLL' }}
- a.js-delete(title="{{_ 'card-delete-notice'}}") {{_ 'delete'}}
- template(name="cardDeletePopup")
- p {{_ "card-delete-pop"}}
- unless archived
- p {{_ "card-delete-suggest-archive"}}
- button.js-confirm.negate.full(type="submit") {{_ 'delete'}}
|