cardDetails.jade 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. template(name="cardDetails")
  2. section.card-details.js-card-details.js-perfect-scrollbar: .card-details-canvas
  3. .card-details-header
  4. +inlinedForm(classNames="js-card-details-title")
  5. input.full-line(type="text" value=title autofocus)
  6. .edit-controls.clearfix
  7. button.primary.confirm(type="submit") {{_ 'save'}}
  8. a.fa.fa-times-thin.js-close-inlined-form
  9. else
  10. a.fa.fa-times-thin.close-card-details.js-close-card-details
  11. if currentUser.isBoardMember
  12. a.fa.fa-ellipsis-v.card-details-menu.js-open-card-details-menu
  13. h2.card-details-title.js-card-title(
  14. class="{{#if currentUser.isBoardMember}}js-open-inlined-form is-editable{{/if}}")
  15. = title
  16. if archived
  17. p.warning {{_ 'card-archived'}}
  18. .card-details-items
  19. .card-details-item.card-details-item-members
  20. h3.card-details-item-title {{_ 'members'}}
  21. each members
  22. +userAvatar(userId=this cardId=../_id)
  23. | {{! XXX Hack to hide syntaxic coloration /// }}
  24. if currentUser.isBoardMember
  25. a.member.add-member.card-details-item-add-button.js-add-members(title="{{_ 'card-members-title'}}")
  26. i.fa.fa-plus
  27. .card-details-item.card-details-item-labels
  28. h3.card-details-item-title {{_ 'labels'}}
  29. a(class="{{#if currentUser.isBoardMember}}js-add-labels{{else}}is-disabled{{/if}}" title="{{_ 'card-labels-title'}}")
  30. each labels
  31. span.card-label(class="card-label-{{color}}" title=name)= name
  32. if currentUser.isBoardMember
  33. a.card-label.add-label.js-add-labels(title="{{_ 'card-labels-title'}}")
  34. i.fa.fa-plus
  35. //- XXX We should use "editable" to avoid repetiting ourselves
  36. if currentUser.isBoardMember
  37. h3.card-details-item-title {{_ 'description'}}
  38. +inlinedCardDescription(classNames="card-description js-card-description")
  39. +editor(autofocus=true)
  40. | {{getUnsavedValue 'cardDescription' _id description}}
  41. .edit-controls.clearfix
  42. button.primary(type="submit") {{_ 'save'}}
  43. a.fa.fa-times-thin.js-close-inlined-form
  44. else
  45. a.js-open-inlined-form
  46. if description
  47. +viewer
  48. = description
  49. else
  50. | {{_ 'edit'}}
  51. if (hasUnsavedValue 'cardDescription' _id)
  52. p.quiet
  53. | {{_ 'unsaved-description'}}
  54. a.js-open-inlined-form {{_ 'view-it'}}
  55. = ' - '
  56. a.js-close-inlined-form {{_ 'discard'}}
  57. else if description
  58. h3.card-details-item-title {{_ 'description'}}
  59. +viewer
  60. = description
  61. if attachments.count
  62. hr
  63. h2
  64. i.fa.fa-paperclip
  65. | {{_ 'attachments'}}
  66. +attachmentsGalery
  67. hr
  68. h2 {{ _ 'activity'}}
  69. if currentUser.isBoardMember
  70. +commentForm
  71. if isLoaded.get
  72. +activities(card=this mode="card")
  73. template(name="cardDetailsActionsPopup")
  74. ul.pop-over-list
  75. li: a.js-members {{_ 'card-edit-members'}}
  76. li: a.js-labels {{_ 'card-edit-labels'}}
  77. li: a.js-attachments {{_ 'card-edit-attachments'}}
  78. hr
  79. ul.pop-over-list
  80. li: a.js-move-card {{_ 'moveCardPopup-title'}}
  81. unless archived
  82. li: a.js-archive {{_ 'archive-card'}}
  83. li: a.js-more {{_ 'cardMorePopup-title'}}
  84. template(name="moveCardPopup")
  85. +boardLists
  86. template(name="cardMembersPopup")
  87. ul.pop-over-list.js-card-member-list
  88. each board.members
  89. li.item(class="{{#if isCardMember}}active{{/if}}")
  90. a.name.js-select-member(href="#")
  91. +userAvatar(userId=user._id)
  92. span.full-name
  93. = user.profile.fullname
  94. | (<span class="username">{{ user.username }}</span>)
  95. if isCardMember
  96. i.fa.fa-check
  97. template(name="cardMorePopup")
  98. p.quiet
  99. span.clearfix
  100. span {{_ 'link-card'}}
  101. = ' '
  102. i.fa.colorful(class="{{#if board.isPublic}}fa-globe{{else}}fa-lock{{/if}}")
  103. input.inline-input(type="text" readonly value="{{ rootUrl }}")
  104. | {{_ 'added'}}
  105. span.date(title=card.createdAt) {{ moment createdAt 'LLL' }}
  106. a.js-delete(title="{{_ 'card-delete-notice'}}") {{_ 'delete'}}
  107. template(name="cardDeletePopup")
  108. p {{_ "card-delete-pop"}}
  109. unless archived
  110. p {{_ "card-delete-suggest-archive"}}
  111. button.js-confirm.negate.full(type="submit") {{_ 'delete'}}