modals.pug 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257
  1. script(type='text/ng-template', id='newTagModalTemplate')
  2. .modal-header
  3. button.close(
  4. type="button"
  5. data-dismiss="modal"
  6. ng-click="cancel()"
  7. aria-label="Close"
  8. )
  9. span(aria-hidden="true") ×
  10. h3 #{translate("create_new_folder")}
  11. .modal-body
  12. form(name="newTagForm", novalidate)
  13. input.form-control(
  14. type="text",
  15. placeholder="New Folder Name",
  16. required,
  17. ng-model="inputs.newTagName",
  18. on-enter="create()",
  19. focus-on="open",
  20. stop-propagation="click"
  21. )
  22. .modal-footer
  23. .modal-footer-left
  24. span.text-danger.error(ng-show="state.error") #{translate("generic_something_went_wrong")}
  25. //- We stop propagation to stop the clicks from closing the
  26. //- 'move to folder' menu.
  27. button.btn.btn-secondary(
  28. ng-click="cancel()"
  29. stop-propagation="click"
  30. ) #{translate("cancel")}
  31. button.btn.btn-primary(
  32. ng-disabled="newTagForm.$invalid || state.inflight"
  33. ng-click="create()"
  34. stop-propagation="click"
  35. )
  36. span(ng-show="!state.inflight") #{translate("create")}
  37. span(ng-show="state.inflight") #{translate("creating")}…
  38. script(type='text/ng-template', id='deleteTagModalTemplate')
  39. .modal-header
  40. button.close(
  41. type="button"
  42. data-dismiss="modal"
  43. ng-click="cancel()"
  44. aria-label="Close"
  45. )
  46. span(aria-hidden="true") ×
  47. h3 #{translate("delete_folder")}
  48. .modal-body
  49. p #{translate("about_to_delete_folder")}
  50. ul
  51. li
  52. strong {{tag.name}}
  53. .modal-footer
  54. .modal-footer-left
  55. span.text-danger.error(ng-show="state.error") #{translate("generic_something_went_wrong")}
  56. button.btn.btn-secondary(
  57. ng-click="cancel()"
  58. ) #{translate("cancel")}
  59. button.btn.btn-danger(
  60. ng-click="delete()",
  61. ng-disabled="state.inflight"
  62. )
  63. span(ng-show="state.inflight") #{translate("deleting")}…
  64. span(ng-show="!state.inflight") #{translate("delete")}
  65. script(type='text/ng-template', id='renameTagModalTemplate')
  66. .modal-header
  67. button.close(
  68. type="button"
  69. data-dismiss="modal"
  70. ng-click="cancel()"
  71. aria-label="Close"
  72. )
  73. span(aria-hidden="true") ×
  74. h3 #{translate("rename_folder")}
  75. .modal-body
  76. form(name="renameTagForm", novalidate)
  77. input.form-control(
  78. type="text",
  79. placeholder="Tag Name",
  80. ng-model="inputs.tagName",
  81. required,
  82. on-enter="rename()",
  83. focus-on="open"
  84. )
  85. .modal-footer
  86. .modal-footer-left
  87. span.text-danger.error(ng-show="state.error") #{translate("generic_something_went_wrong")}
  88. button.btn.btn-secondary(ng-click="cancel()") #{translate("cancel")}
  89. button.btn.btn-primary(
  90. ng-click="rename()",
  91. ng-disabled="renameTagForm.$invalid || state.inflight"
  92. )
  93. span(ng-show="!state.inflight") #{translate("rename")}
  94. span(ng-show="state.inflight") #{translate("renaming")}…
  95. script(type='text/ng-template', id='renameProjectModalTemplate')
  96. .modal-header
  97. button.close(
  98. type="button"
  99. data-dismiss="modal"
  100. ng-click="cancel()"
  101. aria-label="Close"
  102. )
  103. span(aria-hidden="true") ×
  104. h3 #{translate("rename_project")}
  105. .modal-body
  106. .alert.alert-danger(ng-show="state.error.message") {{state.error.message}}
  107. .alert.alert-danger(ng-show="state.error && !state.error.message") #{translate("generic_something_went_wrong")}
  108. form(name="renameProjectForm", novalidate)
  109. input.form-control(
  110. type="text",
  111. placeholder="Project Name",
  112. ng-model="inputs.projectName",
  113. required,
  114. on-enter="rename()",
  115. focus-on="open"
  116. )
  117. .modal-footer
  118. button.btn.btn-secondary(ng-click="cancel()") #{translate("cancel")}
  119. button.btn.btn-primary(
  120. ng-click="rename()",
  121. ng-disabled="renameProjectForm.$invalid || state.inflight"
  122. )
  123. span(ng-show="!state.inflight") #{translate("rename")}
  124. span(ng-show="state.inflight") #{translate("renaming")}…
  125. script(type='text/ng-template', id='cloneProjectModalTemplate')
  126. .modal-header
  127. button.close(
  128. type="button"
  129. data-dismiss="modal"
  130. ng-click="cancel()"
  131. aria-label="Close"
  132. )
  133. span(aria-hidden="true") ×
  134. h3 #{translate("copy_project")}
  135. .modal-body
  136. .alert.alert-danger(ng-show="state.error.message") {{state.error.message === "invalid element name" ? "#{translate("invalid_element_name")}" : state.error.message}}
  137. .alert.alert-danger(ng-show="state.error && !state.error.message") #{translate("generic_something_went_wrong")}
  138. form(name="cloneProjectForm", novalidate)
  139. .form-group
  140. label #{translate("new_name")}
  141. input.form-control(
  142. type="text",
  143. placeholder="New Project Name",
  144. required,
  145. ng-model="inputs.projectName",
  146. on-enter="clone()",
  147. focus-on="open"
  148. )
  149. .modal-footer
  150. button.btn.btn-secondary(
  151. ng-disabled="state.inflight"
  152. ng-click="cancel()"
  153. ) #{translate("cancel")}
  154. button.btn.btn-primary(
  155. ng-disabled="cloneProjectForm.$invalid || state.inflight"
  156. ng-click="clone()"
  157. )
  158. span(ng-hide="state.inflight") #{translate("copy")}
  159. span(ng-show="state.inflight") #{translate("copying")} …
  160. script(type='text/ng-template', id='newProjectModalTemplate')
  161. .modal-header
  162. button.close(
  163. type="button"
  164. data-dismiss="modal"
  165. ng-click="cancel()"
  166. aria-label="Close"
  167. )
  168. span(aria-hidden="true") ×
  169. h3 #{translate("new_project")}
  170. .modal-body
  171. .alert.alert-danger(ng-show="state.error.message") {{state.error.message}}
  172. .alert.alert-danger(ng-show="state.error && !state.error.message") #{translate("generic_something_went_wrong")}
  173. form(novalidate, name="newProjectForm")
  174. input.form-control(
  175. type="text",
  176. placeholder="Project Name",
  177. required,
  178. ng-model="inputs.projectName",
  179. on-enter="create()",
  180. focus-on="open"
  181. )
  182. .modal-footer
  183. button.btn.btn-secondary(
  184. ng-disabled="state.inflight"
  185. ng-click="cancel()"
  186. ) #{translate("cancel")}
  187. button.btn.btn-primary(
  188. ng-disabled="newProjectForm.$invalid || state.inflight"
  189. ng-click="create()"
  190. )
  191. span(ng-hide="state.inflight") #{translate("create")}
  192. span(ng-show="state.inflight") #{translate("creating")}…
  193. script(type='text/ng-template', id='archiveTrashLeaveOrDeleteProjectsModalTemplate')
  194. .modal-header
  195. button.close(
  196. type="button"
  197. data-dismiss="modal"
  198. ng-click="cancel()"
  199. aria-label="Close"
  200. )
  201. span(aria-hidden="true") ×
  202. h3(ng-if="action === 'archive'") #{translate("archive_projects")}
  203. h3(ng-if="action === 'trash'") #{translate("trash_projects")}
  204. h3(ng-if="action === 'leave'") #{translate("leave_projects")}
  205. h3(ng-if="action === 'delete'") #{translate("delete_projects")}
  206. h3(ng-if="action === 'leaveOrDelete'") #{translate("delete_and_leave_projects")}
  207. .modal-body
  208. div(ng-if="action !== 'leaveOrDelete'")
  209. p(ng-if="action === 'archive'") #{translate("about_to_archive_projects")}
  210. p(ng-if="action === 'trash'") #{translate("about_to_trash_projects")}
  211. p(ng-if="action === 'leave'") #{translate("about_to_leave_projects")}
  212. p(ng-if="action === 'delete'") #{translate("about_to_delete_projects")}
  213. ul
  214. li(ng-repeat="project in projects | orderBy:'name'")
  215. strong {{project.name}}
  216. div(ng-if="action === 'archive'")
  217. p #{translate("archiving_projects_wont_affect_collaborators")}
  218. |  
  219. a(
  220. href="https://www.overleaf.com/blog/new-feature-using-archive-and-trash-to-keep-your-projects-organized"
  221. target="_blank"
  222. ) #{translate("find_out_more_nt")}
  223. div(ng-if="action === 'trash'")
  224. p #{translate("trashing_projects_wont_affect_collaborators")}
  225. |  
  226. a(
  227. href="https://www.overleaf.com/blog/new-feature-using-archive-and-trash-to-keep-your-projects-organized"
  228. target="_blank"
  229. ) #{translate("find_out_more_nt")}
  230. .project-action-alert.alert.alert-warning(ng-if="action === 'leave' || action === 'delete'")
  231. i.fa.fa-fw.fa-exclamation-triangle
  232. .project-action-alert-msg #{translate("this_action_cannot_be_undone")}
  233. div(ng-if="action === 'leaveOrDelete'")
  234. p #{translate("about_to_delete_projects")}
  235. ul
  236. li(ng-repeat="project in projects | filter:{accessLevel: 'owner'} | orderBy:'name'")
  237. strong {{project.name}}
  238. p #{translate("about_to_leave_projects")}
  239. ul
  240. li(ng-repeat="project in projects | filter:{accessLevel: '!owner'} | orderBy:'name'")
  241. strong {{project.name}}
  242. .project-action-alert.alert.alert-warning
  243. i.fa.fa-fw.fa-exclamation-triangle
  244. .project-action-alert-msg #{translate("this_action_cannot_be_undone")}
  245. .modal-footer
  246. button.btn.btn-secondary(
  247. ng-click="cancel()"
  248. ) #{translate("cancel")}
  249. button.btn.btn-danger(
  250. ng-click="confirm()"
  251. ) #{translate("confirm")}