|
@@ -1,7 +1,7 @@
|
|
template(name="cardDetails")
|
|
template(name="cardDetails")
|
|
section.card-details.js-card-details.js-perfect-scrollbar: .card-details-canvas
|
|
section.card-details.js-card-details.js-perfect-scrollbar: .card-details-canvas
|
|
.card-details-header(class='{{#if colorClass}}card-details-{{colorClass}}{{/if}}')
|
|
.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
|
|
+editCardTitleForm
|
|
else
|
|
else
|
|
unless isMiniScreen
|
|
unless isMiniScreen
|
|
@@ -13,11 +13,11 @@ template(name="cardDetails")
|
|
if currentUser.isBoardMember
|
|
if currentUser.isBoardMember
|
|
a.fa.fa-navicon.card-details-menu-mobile-web.js-open-card-details-menu
|
|
a.fa.fa-navicon.card-details-menu-mobile-web.js-open-card-details-menu
|
|
h2.card-details-title.js-card-title(
|
|
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
|
|
+viewer
|
|
= getTitle
|
|
= getTitle
|
|
- if isWatching
|
|
|
|
- i.card-details-watch.fa.fa-eye
|
|
|
|
|
|
+ if isWatching
|
|
|
|
+ i.fa.fa-eye.card-details-watch
|
|
.card-details-path
|
|
.card-details-path
|
|
each parentList
|
|
each parentList
|
|
| >
|
|
| >
|
|
@@ -37,66 +37,49 @@ template(name="cardDetails")
|
|
|
|
|
|
.card-details-items
|
|
.card-details-items
|
|
.card-details-item.card-details-item-received
|
|
.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
|
|
if getReceived
|
|
+cardReceivedDate
|
|
+cardReceivedDate
|
|
else
|
|
else
|
|
if canModifyCard
|
|
if canModifyCard
|
|
- unless currentUser.isWorker
|
|
|
|
- a.js-received-date {{_ 'add'}}
|
|
|
|
|
|
+ a.js-received-date {{_ 'add'}}
|
|
|
|
|
|
.card-details-item.card-details-item-start
|
|
.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
|
|
if getStart
|
|
+cardStartDate
|
|
+cardStartDate
|
|
else
|
|
else
|
|
if canModifyCard
|
|
if canModifyCard
|
|
- unless currentUser.isWorker
|
|
|
|
- a.js-start-date {{_ 'add'}}
|
|
|
|
|
|
+ a.js-start-date {{_ 'add'}}
|
|
|
|
|
|
.card-details-item.card-details-item-due
|
|
.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
|
|
if getDue
|
|
+cardDueDate
|
|
+cardDueDate
|
|
else
|
|
else
|
|
if canModifyCard
|
|
if canModifyCard
|
|
- unless currentUser.isWorker
|
|
|
|
- a.js-due-date {{_ 'add'}}
|
|
|
|
|
|
+ a.js-due-date {{_ 'add'}}
|
|
|
|
|
|
.card-details-item.card-details-item-end
|
|
.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
|
|
if getEnd
|
|
+cardEndDate
|
|
+cardEndDate
|
|
else
|
|
else
|
|
if canModifyCard
|
|
if canModifyCard
|
|
- unless currentUser.isWorker
|
|
|
|
- a.js-end-date {{_ 'add'}}
|
|
|
|
|
|
+ a.js-end-date {{_ 'add'}}
|
|
|
|
|
|
.card-details-items
|
|
.card-details-items
|
|
.card-details-item.card-details-item-members
|
|
.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
|
|
each getMembers
|
|
+userAvatar(userId=this cardId=../_id)
|
|
+userAvatar(userId=this cardId=../_id)
|
|
| {{! XXX Hack to hide syntaxic coloration /// }}
|
|
| {{! XXX Hack to hide syntaxic coloration /// }}
|
|
if canModifyCard
|
|
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
|
|
.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
|
|
each getAssignees
|
|
+userAvatarAssignee(userId=this cardId=../_id)
|
|
+userAvatarAssignee(userId=this cardId=../_id)
|
|
| {{! XXX Hack to hide syntaxic coloration /// }}
|
|
| {{! XXX Hack to hide syntaxic coloration /// }}
|
|
@@ -106,18 +89,15 @@ template(name="cardDetails")
|
|
i.fa.fa-plus
|
|
i.fa.fa-plus
|
|
|
|
|
|
.card-details-item.card-details-item-labels
|
|
.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'}}")
|
|
a(class="{{#if canModifyCard}}js-add-labels{{else}}is-disabled{{/if}}" title="{{_ 'card-labels-title'}}")
|
|
each labels
|
|
each labels
|
|
span.card-label(class="card-label-{{color}}" title=name)
|
|
span.card-label(class="card-label-{{color}}" title=name)
|
|
+viewer
|
|
+viewer
|
|
= name
|
|
= name
|
|
if canModifyCard
|
|
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
|
|
.card-details-items
|
|
each customFieldsWD
|
|
each customFieldsWD
|
|
@@ -138,29 +118,26 @@ template(name="cardDetails")
|
|
|
|
|
|
//- XXX We should use "editable" to avoid repetiting ourselves
|
|
//- XXX We should use "editable" to avoid repetiting ourselves
|
|
if canModifyCard
|
|
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
|
|
else if getDescription
|
|
h3.card-details-item-title {{_ 'description'}}
|
|
h3.card-details-item-title {{_ 'description'}}
|
|
+viewer
|
|
+viewer
|
|
@@ -168,39 +145,33 @@ template(name="cardDetails")
|
|
|
|
|
|
.card-details-items
|
|
.card-details-items
|
|
.card-details-item.card-details-item-name
|
|
.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
|
|
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
|
|
else if getRequestedBy
|
|
+viewer
|
|
+viewer
|
|
= getRequestedBy
|
|
= getRequestedBy
|
|
|
|
|
|
.card-details-item.card-details-item-name
|
|
.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
|
|
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
|
|
else if getRequestedBy
|
|
+viewer
|
|
+viewer
|
|
= getAssignedBy
|
|
= getAssignedBy
|
|
@@ -222,9 +193,7 @@ template(name="cardDetails")
|
|
hr
|
|
hr
|
|
unless currentUser.isNoComments
|
|
unless currentUser.isNoComments
|
|
.activity-title
|
|
.activity-title
|
|
- h3
|
|
|
|
- i.fa.fa-history
|
|
|
|
- | {{ _ 'activity'}}
|
|
|
|
|
|
+ h3 {{ _ 'activity'}}
|
|
if currentUser.isBoardMember
|
|
if currentUser.isBoardMember
|
|
.material-toggle-switch
|
|
.material-toggle-switch
|
|
span.toggle-switch-title {{_ 'hide-system-messages'}}
|
|
span.toggle-switch-title {{_ 'hide-system-messages'}}
|
|
@@ -266,79 +235,32 @@ template(name="editCardAssignerForm")
|
|
|
|
|
|
template(name="cardDetailsActionsPopup")
|
|
template(name="cardDetailsActionsPopup")
|
|
ul.pop-over-list
|
|
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
|
|
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
|
|
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
|
|
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")
|
|
template(name="moveCardPopup")
|
|
+boardsAndLists
|
|
+boardsAndLists
|
|
@@ -390,27 +312,16 @@ template(name="cardMembersPopup")
|
|
i.fa.fa-check
|
|
i.fa.fa-check
|
|
|
|
|
|
template(name="cardAssigneesPopup")
|
|
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
|
|
|
|
- | (<span class="username">{{ user.username }}</span>)
|
|
|
|
- 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
|
|
|
|
- | (<span class="username">{{ currentUser.username }}</span>)
|
|
|
|
- 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
|
|
|
|
+ | (<span class="username">{{ user.username }}</span>)
|
|
|
|
+ if isCardAssignee
|
|
|
|
+ i.fa.fa-check
|
|
|
|
|
|
template(name="userAvatarAssignee")
|
|
template(name="userAvatarAssignee")
|
|
a.assignee.js-assignee(title="{{userData.profile.fullname}} ({{userData.username}})")
|
|
a.assignee.js-assignee(title="{{userData.profile.fullname}} ({{userData.username}})")
|
|
@@ -438,13 +349,11 @@ template(name="cardAssigneePopup")
|
|
p.quiet @{{ user.username }}
|
|
p.quiet @{{ user.username }}
|
|
ul.pop-over-list
|
|
ul.pop-over-list
|
|
if currentUser.isNotCommentOnly
|
|
if currentUser.isNotCommentOnly
|
|
- unless currentUser.isWorker
|
|
|
|
li: a.js-remove-assignee {{_ 'remove-member-from-card'}}
|
|
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")
|
|
template(name="userAvatarAssigneeInitials")
|
|
svg.avatar.avatar-assignee-initials(viewBox="0 0 {{viewPortWidth}} 15")
|
|
svg.avatar.avatar-assignee-initials(viewBox="0 0 {{viewPortWidth}} 15")
|