checklists.jade 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200
  1. template(name="checklists")
  2. .checklists-title
  3. h3.card-details-item-title
  4. | ✅
  5. | {{_ 'checklists'}}
  6. if canModifyCard
  7. +inlinedForm(autoclose=false classNames="js-add-checklist" cardId = cardId position="top")
  8. +addChecklistItemForm
  9. else
  10. a.add-checklist-top.js-open-inlined-form(title="{{_ 'add-checklist'}}")
  11. | ➕
  12. if currentUser.isBoardMember
  13. .material-toggle-switch(title="{{_ 'hide-finished-checklist'}}")
  14. //span.toggle-switch-title
  15. if card.hideFinishedChecklistIfItemsAreHidden
  16. input.toggle-switch(type="checkbox" id="toggleHideFinishedChecklist" checked="checked")
  17. else
  18. input.toggle-switch(type="checkbox" id="toggleHideFinishedChecklist")
  19. label.toggle-label(for="toggleHideFinishedChecklist")
  20. .card-checklist-items
  21. each checklist in checklists
  22. if checklist.showChecklist card.hideFinishedChecklistIfItemsAreHidden
  23. +checklistDetail(checklist = checklist card = card)
  24. if canModifyCard
  25. +inlinedForm(autoclose=false classNames="js-add-checklist" cardId = cardId)
  26. +addChecklistItemForm(checklist=checklist showNewlineBecomesNewChecklistItem=false)
  27. else
  28. a.add-checklist.js-open-inlined-form(title="{{_ 'add-checklist'}}")
  29. | ➕
  30. template(name="checklistDetail")
  31. .js-checklist.checklist.nodragscroll
  32. +inlinedForm(classNames="js-edit-checklist-title" checklist = checklist)
  33. +editChecklistItemForm(checklist = checklist)
  34. else
  35. .checklist-title
  36. span
  37. if canModifyCard
  38. a.checklist-details-menu.js-open-checklist-details-menu(title="{{_ 'checklistActionsPopup-title'}}")
  39. if canModifyCard
  40. h4.title.js-open-inlined-form.is-editable
  41. if isTouchScreenOrShowDesktopDragHandles
  42. span.fa.checklist-handle(class="fa-arrows" title="{{_ 'dragChecklist'}}")
  43. +viewer
  44. = checklist.title
  45. else
  46. h4.title
  47. +viewer
  48. = checklist.title
  49. if $gt finishedPercent 0
  50. .checklist-progress-bar-container
  51. .checklist-progress-text {{finishedPercent}}%
  52. .checklist-progress-bar
  53. .checklist-progress(style="width:{{finishedPercent}}%")
  54. +checklistItems(checklist = checklist card = card)
  55. template(name="checklistDeletePopup")
  56. p {{_ 'confirm-checklist-delete-popup'}}
  57. button.js-confirm.negate.full(type="submit") {{_ 'delete'}}
  58. template(name="addChecklistItemForm")
  59. a(title="{{_ 'copy-text-to-clipboard'}}")
  60. span.copied-tooltip {{_ 'copied'}}
  61. textarea.js-add-checklist-item(rows='1' autofocus)
  62. .edit-controls.clearfix
  63. button.primary.confirm.js-submit-add-checklist-item-form(type="submit") {{_ 'save'}}
  64. a.js-close-inlined-form(title="{{_ 'close-add-checklist-item'}}")
  65. | ❌
  66. if showNewlineBecomesNewChecklistItem
  67. .material-toggle-switch(title="{{_ 'newlineBecomesNewChecklistItem'}}")
  68. input.toggle-switch(type="checkbox" id="toggleNewlineBecomesNewChecklistItem")
  69. label.toggle-label(for="toggleNewlineBecomesNewChecklistItem")
  70. | {{_ 'newLineNewItem'}}
  71. if $eq position 'top'
  72. .material-toggle-switch(title="{{_ 'newlineBecomesNewChecklistItemOriginOrder'}}")
  73. input.toggle-switch(type="checkbox" id="toggleNewlineBecomesNewChecklistItemOriginOrder")
  74. label.toggle-label(for="toggleNewlineBecomesNewChecklistItemOriginOrder")
  75. | {{_ 'originOrder'}}
  76. template(name="editChecklistItemForm")
  77. a(title="{{_ 'copy-text-to-clipboard'}}")
  78. span.copied-tooltip {{_ 'copied'}}
  79. textarea.js-edit-checklist-item(rows='1' autofocus dir="auto")
  80. if $eq type 'item'
  81. = item.title
  82. else
  83. = checklist.title
  84. .edit-controls.clearfix
  85. button.primary.confirm.js-submit-edit-checklist-item-form(type="submit") {{_ 'save'}}
  86. a.js-close-inlined-form(title="{{_ 'close-edit-checklist-item'}}")
  87. | ❌
  88. span(title=createdAt) {{ moment createdAt }}
  89. if canModifyCard
  90. a.js-delete-checklist-item {{_ "delete"}}...
  91. a.js-convert-checklist-item-to-card
  92. | 📋
  93. | {{_ 'convertChecklistItemToCardPopup-title'}}
  94. template(name="checklistItems")
  95. if checklist.items.length
  96. if canModifyCard
  97. +inlinedForm(autoclose=false classNames="js-add-checklist-item" checklist = checklist position="top")
  98. +addChecklistItemForm(checklist=checklist showNewlineBecomesNewChecklistItem=true position="top")
  99. else
  100. a.add-checklist-item.js-open-inlined-form(title="{{_ 'add-checklist-item'}}")
  101. | ➕
  102. .checklist-items.js-checklist-items
  103. each item in checklist.items
  104. +inlinedForm(classNames="js-edit-checklist-item" item = item checklist = checklist)
  105. +editChecklistItemForm(type = 'item' item = item checklist = checklist)
  106. else
  107. +checklistItemDetail(item = item checklist = checklist card = card)
  108. if canModifyCard
  109. +inlinedForm(autoclose=false classNames="js-add-checklist-item" checklist = checklist)
  110. +addChecklistItemForm(checklist=checklist showNewlineBecomesNewChecklistItem=true)
  111. else
  112. a.add-checklist-item.js-open-inlined-form(title="{{_ 'add-checklist-item'}}")
  113. | ➕
  114. template(name='checklistItemDetail')
  115. .js-checklist-item.checklist-item(class="{{#if item.isFinished }}is-checked{{#if checklist.hideCheckedChecklistItems}} invisible{{/if}}{{/if}}{{#if checklist.hideAllChecklistItems}} is-checked invisible{{/if}}"
  116. role="checkbox" aria-checked="{{#if item.isFinished }}true{{else}}false{{/if}}" tabindex="0")
  117. if canModifyCard
  118. .check-box-container
  119. .check-box.materialCheckBox(class="{{#if item.isFinished }}is-checked{{/if}}")
  120. span.fa.checklistitem-handle(class="fa-arrows" title="{{_ 'dragChecklistItem'}}")
  121. .item-title.js-open-inlined-form.is-editable(class="{{#if item.isFinished }}is-checked{{/if}}")
  122. +viewer
  123. = item.title
  124. else
  125. .materialCheckBox(class="{{#if item.isFinished }}is-checked{{/if}}")
  126. .item-title(class="{{#if item.isFinished }}is-checked{{/if}}")
  127. +viewer
  128. = item.title
  129. template(name="checklistActionsPopup")
  130. ul.pop-over-list
  131. li
  132. a.js-delete-checklist.delete-checklist
  133. | 🗑️
  134. | {{_ "delete"}} ...
  135. a.js-move-checklist.move-checklist
  136. | ➡️
  137. | {{_ "moveChecklist"}} ...
  138. a.js-copy-checklist.copy-checklist
  139. | 📋
  140. | {{_ "copyChecklist"}} ...
  141. a.js-hide-checked-checklist-items
  142. | 🙈
  143. | {{_ "hideCheckedChecklistItems"}} ...
  144. .material-toggle-switch(title="{{_ 'hide-checked-items'}}")
  145. if checklist.hideCheckedChecklistItems
  146. input.toggle-switch(type="checkbox" id="toggleHideCheckedChecklistItems_{{checklist._id}}" checked="checked")
  147. else
  148. input.toggle-switch(type="checkbox" id="toggleHideCheckedChecklistItems_{{checklist._id}}")
  149. label.toggle-label(for="toggleHideCheckedChecklistItems_{{checklist._id}}")
  150. a.js-hide-all-checklist-items
  151. | 🚫
  152. | {{_ "hideAllChecklistItems"}} ...
  153. .material-toggle-switch(title="{{_ 'hideAllChecklistItems'}}")
  154. if checklist.hideAllChecklistItems
  155. input.toggle-switch(type="checkbox" id="toggleHideAllChecklistItems_{{checklist._id}}" checked="checked")
  156. else
  157. input.toggle-switch(type="checkbox" id="toggleHideAllChecklistItems_{{checklist._id}}")
  158. label.toggle-label(for="toggleHideAllChecklistItems_{{checklist._id}}")
  159. template(name="copyChecklistPopup")
  160. +copyAndMoveChecklist
  161. template(name="moveChecklistPopup")
  162. +copyAndMoveChecklist
  163. template(name="copyAndMoveChecklist")
  164. unless currentUser.isWorker
  165. label {{_ 'boards'}}:
  166. select.js-select-boards(autofocus)
  167. each boards
  168. option(value="{{_id}}" selected="{{#if isDialogOptionBoardId _id}}selected{{/if}}") {{title}}
  169. label {{_ 'swimlanes'}}:
  170. select.js-select-swimlanes
  171. each swimlanes
  172. option(value="{{_id}}" selected="{{#if isDialogOptionSwimlaneId _id}}selected{{/if}}") {{title}}
  173. label {{_ 'lists'}}:
  174. select.js-select-lists
  175. each lists
  176. option(value="{{_id}}" selected="{{#if isDialogOptionListId _id}}selected{{/if}}") {{title}}
  177. label {{_ 'cards'}}:
  178. select.js-select-cards
  179. each cards
  180. option(value="{{_id}}" selected="{{#if isDialogOptionCardId _id}}selected{{/if}}") {{title}}
  181. .edit-controls.clearfix
  182. button.primary.confirm.js-done {{_ 'done'}}