@sync-in/server 1.5.2 → 1.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (355) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/README.md +2 -1
  3. package/environment/environment.dist.min.yaml +1 -0
  4. package/environment/environment.dist.yaml +88 -30
  5. package/migrations/0002_sleepy_korath.sql +1 -0
  6. package/migrations/meta/0002_snapshot.json +2424 -0
  7. package/migrations/meta/_journal.json +7 -0
  8. package/package.json +14 -12
  9. package/server/app.bootstrap.js +1 -1
  10. package/server/app.bootstrap.js.map +1 -1
  11. package/server/applications/files/services/files-manager.service.js +1 -2
  12. package/server/applications/files/services/files-manager.service.js.map +1 -1
  13. package/server/applications/files/services/files-only-office-manager.service.js +5 -6
  14. package/server/applications/files/services/files-only-office-manager.service.js.map +1 -1
  15. package/server/applications/files/utils/files.js +6 -4
  16. package/server/applications/files/utils/files.js.map +1 -1
  17. package/server/applications/links/links.controller.js +2 -2
  18. package/server/applications/links/links.controller.js.map +1 -1
  19. package/server/applications/links/services/links-manager.service.js +2 -1
  20. package/server/applications/links/services/links-manager.service.js.map +1 -1
  21. package/server/applications/links/services/links-manager.service.spec.js +6 -3
  22. package/server/applications/links/services/links-manager.service.spec.js.map +1 -1
  23. package/server/applications/notifications/constants/notifications.js +9 -0
  24. package/server/applications/notifications/constants/notifications.js.map +1 -1
  25. package/server/applications/notifications/i18n/fr.js +10 -1
  26. package/server/applications/notifications/i18n/fr.js.map +1 -1
  27. package/server/applications/notifications/interfaces/notification-properties.interface.js.map +1 -1
  28. package/server/applications/notifications/mails/models.js +41 -3
  29. package/server/applications/notifications/mails/models.js.map +1 -1
  30. package/server/applications/notifications/mails/templates.js +1 -1
  31. package/server/applications/notifications/mails/templates.js.map +1 -1
  32. package/server/applications/notifications/schemas/notifications.schema.js +2 -1
  33. package/server/applications/notifications/schemas/notifications.schema.js.map +1 -1
  34. package/server/applications/notifications/services/notifications-manager.service.js +16 -13
  35. package/server/applications/notifications/services/notifications-manager.service.js.map +1 -1
  36. package/server/applications/notifications/services/notifications-manager.service.spec.js +9 -8
  37. package/server/applications/notifications/services/notifications-manager.service.spec.js.map +1 -1
  38. package/server/applications/notifications/services/notifications-queries.service.js +1 -1
  39. package/server/applications/notifications/services/notifications-queries.service.js.map +1 -1
  40. package/server/applications/shares/services/shares-manager.service.js +3 -2
  41. package/server/applications/shares/services/shares-manager.service.js.map +1 -1
  42. package/server/applications/sync/constants/auth.js +2 -2
  43. package/server/applications/sync/constants/auth.js.map +1 -1
  44. package/server/applications/sync/dtos/sync-client-registration.dto.js +5 -0
  45. package/server/applications/sync/dtos/sync-client-registration.dto.js.map +1 -1
  46. package/server/applications/sync/dtos/sync-operations.dto.js +1 -2
  47. package/server/applications/sync/dtos/sync-operations.dto.js.map +1 -1
  48. package/server/applications/sync/schemas/sync-clients.schema.js +2 -1
  49. package/server/applications/sync/schemas/sync-clients.schema.js.map +1 -1
  50. package/server/applications/sync/schemas/sync-paths.schema.js +2 -1
  51. package/server/applications/sync/schemas/sync-paths.schema.js.map +1 -1
  52. package/server/applications/sync/services/sync-clients-manager.service.js +28 -20
  53. package/server/applications/sync/services/sync-clients-manager.service.js.map +1 -1
  54. package/server/applications/sync/services/sync-clients-manager.service.spec.js +24 -18
  55. package/server/applications/sync/services/sync-clients-manager.service.spec.js.map +1 -1
  56. package/server/applications/sync/services/sync-queries.service.js +5 -5
  57. package/server/applications/sync/services/sync-queries.service.js.map +1 -1
  58. package/server/applications/users/admin-users.controller.js +48 -37
  59. package/server/applications/users/admin-users.controller.js.map +1 -1
  60. package/server/applications/users/admin-users.controller.spec.js +15 -0
  61. package/server/applications/users/admin-users.controller.spec.js.map +1 -1
  62. package/server/applications/users/constants/routes.js +5 -0
  63. package/server/applications/users/constants/routes.js.map +1 -1
  64. package/server/applications/users/constants/user.js +8 -0
  65. package/server/applications/users/constants/user.js.map +1 -1
  66. package/server/applications/users/dto/delete-user.dto.js +5 -23
  67. package/server/applications/users/dto/delete-user.dto.js.map +1 -1
  68. package/server/applications/users/dto/user-properties.dto.js +38 -3
  69. package/server/applications/users/dto/user-properties.dto.js.map +1 -1
  70. package/server/applications/users/interfaces/admin-user.interface.js.map +1 -1
  71. package/server/applications/users/interfaces/user-secrets.interface.js +10 -0
  72. package/server/applications/users/interfaces/user-secrets.interface.js.map +1 -0
  73. package/server/applications/users/models/user.model.js +84 -50
  74. package/server/applications/users/models/user.model.js.map +1 -1
  75. package/server/applications/users/schemas/user.interface.js.map +1 -1
  76. package/server/applications/users/schemas/users.schema.js +2 -0
  77. package/server/applications/users/schemas/users.schema.js.map +1 -1
  78. package/server/applications/users/services/admin-users-manager.service.js +7 -19
  79. package/server/applications/users/services/admin-users-manager.service.js.map +1 -1
  80. package/server/applications/users/services/admin-users-manager.service.spec.js +7 -26
  81. package/server/applications/users/services/admin-users-manager.service.spec.js.map +1 -1
  82. package/server/applications/users/services/admin-users-queries.service.js +1 -0
  83. package/server/applications/users/services/admin-users-queries.service.js.map +1 -1
  84. package/server/applications/users/services/users-manager.service.js +138 -28
  85. package/server/applications/users/services/users-manager.service.js.map +1 -1
  86. package/server/applications/users/services/users-manager.service.spec.js +11 -9
  87. package/server/applications/users/services/users-manager.service.spec.js.map +1 -1
  88. package/server/applications/users/services/users-queries.service.js +63 -57
  89. package/server/applications/users/services/users-queries.service.js.map +1 -1
  90. package/server/applications/users/users.controller.js +48 -1
  91. package/server/applications/users/users.controller.js.map +1 -1
  92. package/server/applications/users/users.controller.spec.js +8 -1
  93. package/server/applications/users/users.controller.spec.js.map +1 -1
  94. package/server/applications/users/users.e2e-spec.js +2 -1
  95. package/server/applications/users/users.e2e-spec.js.map +1 -1
  96. package/server/applications/users/utils/avatar.js +48 -0
  97. package/server/applications/users/utils/avatar.js.map +1 -0
  98. package/server/authentication/auth.config.js +89 -26
  99. package/server/authentication/auth.config.js.map +1 -1
  100. package/server/authentication/auth.controller.js +117 -9
  101. package/server/authentication/auth.controller.js.map +1 -1
  102. package/server/authentication/auth.controller.spec.js +16 -1
  103. package/server/authentication/auth.controller.spec.js.map +1 -1
  104. package/server/authentication/auth.e2e-spec.js +4 -3
  105. package/server/authentication/auth.e2e-spec.js.map +1 -1
  106. package/server/authentication/auth.module.js +4 -1
  107. package/server/authentication/auth.module.js.map +1 -1
  108. package/server/authentication/constants/auth-ldap.js +44 -0
  109. package/server/authentication/constants/auth-ldap.js.map +1 -0
  110. package/server/authentication/constants/auth.js +37 -4
  111. package/server/authentication/constants/auth.js.map +1 -1
  112. package/server/authentication/constants/routes.js +21 -0
  113. package/server/authentication/constants/routes.js.map +1 -1
  114. package/server/authentication/constants/scope.js +20 -0
  115. package/server/authentication/constants/scope.js.map +1 -0
  116. package/server/authentication/dto/login-response.dto.js +27 -4
  117. package/server/authentication/dto/login-response.dto.js.map +1 -1
  118. package/server/authentication/dto/token-response.dto.js +5 -0
  119. package/server/authentication/dto/token-response.dto.js.map +1 -1
  120. package/server/{applications/users/dto/user-password.dto.js → authentication/dto/two-fa-verify.dto.js} +27 -9
  121. package/server/authentication/dto/two-fa-verify.dto.js.map +1 -0
  122. package/server/authentication/guards/auth-basic.strategy.js +6 -5
  123. package/server/authentication/guards/auth-basic.strategy.js.map +1 -1
  124. package/server/authentication/guards/auth-token-access.strategy.js +3 -2
  125. package/server/authentication/guards/auth-token-access.strategy.js.map +1 -1
  126. package/server/authentication/guards/auth-token-refresh.strategy.js +3 -2
  127. package/server/authentication/guards/auth-token-refresh.strategy.js.map +1 -1
  128. package/server/authentication/guards/auth-two-fa-guard.js +81 -0
  129. package/server/authentication/guards/auth-two-fa-guard.js.map +1 -0
  130. package/server/authentication/interfaces/jwt-payload.interface.js +5 -0
  131. package/server/authentication/interfaces/jwt-payload.interface.js.map +1 -1
  132. package/server/authentication/interfaces/token.interface.js +2 -0
  133. package/server/authentication/interfaces/token.interface.js.map +1 -1
  134. package/server/authentication/interfaces/two-fa-setup.interface.js +10 -0
  135. package/server/authentication/interfaces/two-fa-setup.interface.js.map +1 -0
  136. package/server/authentication/models/auth-method.js.map +1 -1
  137. package/server/authentication/services/auth-manager.service.js +72 -49
  138. package/server/authentication/services/auth-manager.service.js.map +1 -1
  139. package/server/authentication/services/auth-methods/auth-method-database.service.js +3 -3
  140. package/server/authentication/services/auth-methods/auth-method-database.service.js.map +1 -1
  141. package/server/authentication/services/auth-methods/auth-method-database.service.spec.js +5 -0
  142. package/server/authentication/services/auth-methods/auth-method-database.service.spec.js.map +1 -1
  143. package/server/authentication/services/auth-methods/auth-method-ldap.service.js +151 -66
  144. package/server/authentication/services/auth-methods/auth-method-ldap.service.js.map +1 -1
  145. package/server/authentication/services/auth-methods/auth-method-ldap.service.spec.js +52 -50
  146. package/server/authentication/services/auth-methods/auth-method-ldap.service.spec.js.map +1 -1
  147. package/server/authentication/services/auth-methods/auth-method-two-fa.service.js +251 -0
  148. package/server/authentication/services/auth-methods/auth-method-two-fa.service.js.map +1 -0
  149. package/server/authentication/services/auth-methods/auth-method-two-fa.service.spec.js +41 -0
  150. package/server/authentication/services/auth-methods/auth-method-two-fa.service.spec.js.map +1 -0
  151. package/server/authentication/utils/crypt-secret.js +68 -0
  152. package/server/authentication/utils/crypt-secret.js.map +1 -0
  153. package/server/common/functions.js +18 -2
  154. package/server/common/functions.js.map +1 -1
  155. package/server/common/qrcode.js +34 -0
  156. package/server/common/qrcode.js.map +1 -0
  157. package/server/common/shared.js +18 -0
  158. package/server/common/shared.js.map +1 -1
  159. package/server/configuration/config.environment.js +23 -6
  160. package/server/configuration/config.environment.js.map +1 -1
  161. package/server/configuration/config.interfaces.js +10 -0
  162. package/server/configuration/config.interfaces.js.map +1 -0
  163. package/server/configuration/config.loader.js.map +1 -1
  164. package/server/configuration/config.validation.js +13 -13
  165. package/server/configuration/config.validation.js.map +1 -1
  166. package/server/infrastructure/cache/adapters/mysql-cache.adapter.js +6 -6
  167. package/server/infrastructure/cache/adapters/mysql-cache.adapter.js.map +1 -1
  168. package/server/infrastructure/cache/schemas/mysql-cache.schema.js +2 -1
  169. package/server/infrastructure/cache/schemas/mysql-cache.schema.js.map +1 -1
  170. package/server/infrastructure/cache/services/cache.service.js.map +1 -1
  171. package/server/infrastructure/database/columns.js +39 -0
  172. package/server/infrastructure/database/columns.js.map +1 -0
  173. package/server/infrastructure/database/database.config.js +0 -1
  174. package/server/infrastructure/database/database.config.js.map +1 -1
  175. package/server/infrastructure/mailer/interfaces/mail.interface.js.map +1 -1
  176. package/server/infrastructure/mailer/mailer.config.js +12 -0
  177. package/server/infrastructure/mailer/mailer.config.js.map +1 -1
  178. package/server/infrastructure/mailer/mailer.service.js +2 -1
  179. package/server/infrastructure/mailer/mailer.service.js.map +1 -1
  180. package/static/assets/mimes/text-x-c.svg +1 -0
  181. package/static/assets/pdfjs/build/pdf.mjs +2522 -914
  182. package/static/assets/pdfjs/build/pdf.mjs.map +1 -1
  183. package/static/assets/pdfjs/build/pdf.sandbox.mjs +2 -2
  184. package/static/assets/pdfjs/build/pdf.worker.mjs +1024 -566
  185. package/static/assets/pdfjs/build/pdf.worker.mjs.map +1 -1
  186. package/static/assets/pdfjs/version +1 -1
  187. package/static/assets/pdfjs/web/debugger.mjs +116 -37
  188. package/static/assets/pdfjs/web/images/comment-popup-editButton.svg +5 -0
  189. package/static/assets/pdfjs/web/locale/ach/viewer.ftl +0 -12
  190. package/static/assets/pdfjs/web/locale/af/viewer.ftl +0 -12
  191. package/static/assets/pdfjs/web/locale/an/viewer.ftl +0 -16
  192. package/static/assets/pdfjs/web/locale/ar/viewer.ftl +0 -32
  193. package/static/assets/pdfjs/web/locale/ast/viewer.ftl +0 -19
  194. package/static/assets/pdfjs/web/locale/az/viewer.ftl +0 -16
  195. package/static/assets/pdfjs/web/locale/be/viewer.ftl +0 -32
  196. package/static/assets/pdfjs/web/locale/bg/viewer.ftl +0 -32
  197. package/static/assets/pdfjs/web/locale/bn/viewer.ftl +0 -16
  198. package/static/assets/pdfjs/web/locale/bo/viewer.ftl +0 -12
  199. package/static/assets/pdfjs/web/locale/br/viewer.ftl +0 -22
  200. package/static/assets/pdfjs/web/locale/brx/viewer.ftl +0 -16
  201. package/static/assets/pdfjs/web/locale/bs/viewer.ftl +0 -32
  202. package/static/assets/pdfjs/web/locale/ca/viewer.ftl +12 -23
  203. package/static/assets/pdfjs/web/locale/cak/viewer.ftl +0 -23
  204. package/static/assets/pdfjs/web/locale/ckb/viewer.ftl +0 -16
  205. package/static/assets/pdfjs/web/locale/cs/viewer.ftl +0 -32
  206. package/static/assets/pdfjs/web/locale/cy/viewer.ftl +0 -32
  207. package/static/assets/pdfjs/web/locale/da/viewer.ftl +3 -35
  208. package/static/assets/pdfjs/web/locale/de/viewer.ftl +0 -32
  209. package/static/assets/pdfjs/web/locale/dsb/viewer.ftl +0 -32
  210. package/static/assets/pdfjs/web/locale/el/viewer.ftl +0 -32
  211. package/static/assets/pdfjs/web/locale/en-CA/viewer.ftl +0 -32
  212. package/static/assets/pdfjs/web/locale/en-GB/viewer.ftl +0 -32
  213. package/static/assets/pdfjs/web/locale/en-US/viewer.ftl +25 -13
  214. package/static/assets/pdfjs/web/locale/eo/viewer.ftl +0 -32
  215. package/static/assets/pdfjs/web/locale/es-AR/viewer.ftl +0 -32
  216. package/static/assets/pdfjs/web/locale/es-CL/viewer.ftl +0 -32
  217. package/static/assets/pdfjs/web/locale/es-ES/viewer.ftl +5 -32
  218. package/static/assets/pdfjs/web/locale/es-MX/viewer.ftl +0 -32
  219. package/static/assets/pdfjs/web/locale/et/viewer.ftl +0 -16
  220. package/static/assets/pdfjs/web/locale/eu/viewer.ftl +38 -32
  221. package/static/assets/pdfjs/web/locale/fa/viewer.ftl +0 -19
  222. package/static/assets/pdfjs/web/locale/ff/viewer.ftl +0 -12
  223. package/static/assets/pdfjs/web/locale/fi/viewer.ftl +0 -32
  224. package/static/assets/pdfjs/web/locale/fr/viewer.ftl +0 -32
  225. package/static/assets/pdfjs/web/locale/fur/viewer.ftl +0 -32
  226. package/static/assets/pdfjs/web/locale/fy-NL/viewer.ftl +0 -32
  227. package/static/assets/pdfjs/web/locale/ga-IE/viewer.ftl +0 -12
  228. package/static/assets/pdfjs/web/locale/gd/viewer.ftl +0 -23
  229. package/static/assets/pdfjs/web/locale/gl/viewer.ftl +0 -32
  230. package/static/assets/pdfjs/web/locale/gn/viewer.ftl +0 -32
  231. package/static/assets/pdfjs/web/locale/gu-IN/viewer.ftl +0 -12
  232. package/static/assets/pdfjs/web/locale/he/viewer.ftl +0 -32
  233. package/static/assets/pdfjs/web/locale/hi-IN/viewer.ftl +0 -16
  234. package/static/assets/pdfjs/web/locale/hr/viewer.ftl +0 -32
  235. package/static/assets/pdfjs/web/locale/hsb/viewer.ftl +0 -32
  236. package/static/assets/pdfjs/web/locale/hu/viewer.ftl +0 -32
  237. package/static/assets/pdfjs/web/locale/hy-AM/viewer.ftl +372 -16
  238. package/static/assets/pdfjs/web/locale/hye/viewer.ftl +0 -16
  239. package/static/assets/pdfjs/web/locale/ia/viewer.ftl +0 -32
  240. package/static/assets/pdfjs/web/locale/id/viewer.ftl +38 -32
  241. package/static/assets/pdfjs/web/locale/is/viewer.ftl +27 -32
  242. package/static/assets/pdfjs/web/locale/it/viewer.ftl +0 -33
  243. package/static/assets/pdfjs/web/locale/ja/viewer.ftl +31 -33
  244. package/static/assets/pdfjs/web/locale/ka/viewer.ftl +0 -32
  245. package/static/assets/pdfjs/web/locale/kab/viewer.ftl +0 -32
  246. package/static/assets/pdfjs/web/locale/kk/viewer.ftl +31 -32
  247. package/static/assets/pdfjs/web/locale/km/viewer.ftl +0 -12
  248. package/static/assets/pdfjs/web/locale/kn/viewer.ftl +0 -12
  249. package/static/assets/pdfjs/web/locale/ko/viewer.ftl +0 -32
  250. package/static/assets/pdfjs/web/locale/lij/viewer.ftl +0 -12
  251. package/static/assets/pdfjs/web/locale/lo/viewer.ftl +0 -23
  252. package/static/assets/pdfjs/web/locale/lt/viewer.ftl +0 -16
  253. package/static/assets/pdfjs/web/locale/ltg/viewer.ftl +0 -12
  254. package/static/assets/pdfjs/web/locale/lv/viewer.ftl +0 -12
  255. package/static/assets/pdfjs/web/locale/meh/viewer.ftl +0 -14
  256. package/static/assets/pdfjs/web/locale/mk/viewer.ftl +0 -19
  257. package/static/assets/pdfjs/web/locale/ml/viewer.ftl +0 -31
  258. package/static/assets/pdfjs/web/locale/mr/viewer.ftl +0 -16
  259. package/static/assets/pdfjs/web/locale/ms/viewer.ftl +0 -12
  260. package/static/assets/pdfjs/web/locale/my/viewer.ftl +0 -12
  261. package/static/assets/pdfjs/web/locale/nb-NO/viewer.ftl +0 -32
  262. package/static/assets/pdfjs/web/locale/ne-NP/viewer.ftl +0 -12
  263. package/static/assets/pdfjs/web/locale/nl/viewer.ftl +0 -32
  264. package/static/assets/pdfjs/web/locale/nn-NO/viewer.ftl +0 -32
  265. package/static/assets/pdfjs/web/locale/oc/viewer.ftl +0 -24
  266. package/static/assets/pdfjs/web/locale/pa-IN/viewer.ftl +0 -32
  267. package/static/assets/pdfjs/web/locale/pl/viewer.ftl +0 -32
  268. package/static/assets/pdfjs/web/locale/pt-BR/viewer.ftl +0 -32
  269. package/static/assets/pdfjs/web/locale/pt-PT/viewer.ftl +0 -32
  270. package/static/assets/pdfjs/web/locale/rm/viewer.ftl +0 -32
  271. package/static/assets/pdfjs/web/locale/ro/viewer.ftl +5 -37
  272. package/static/assets/pdfjs/web/locale/ru/viewer.ftl +0 -32
  273. package/static/assets/pdfjs/web/locale/sat/viewer.ftl +0 -23
  274. package/static/assets/pdfjs/web/locale/sc/viewer.ftl +8 -27
  275. package/static/assets/pdfjs/web/locale/sco/viewer.ftl +0 -16
  276. package/static/assets/pdfjs/web/locale/si/viewer.ftl +0 -22
  277. package/static/assets/pdfjs/web/locale/sk/viewer.ftl +0 -32
  278. package/static/assets/pdfjs/web/locale/skr/viewer.ftl +0 -32
  279. package/static/assets/pdfjs/web/locale/sl/viewer.ftl +30 -32
  280. package/static/assets/pdfjs/web/locale/son/viewer.ftl +0 -12
  281. package/static/assets/pdfjs/web/locale/sq/viewer.ftl +0 -32
  282. package/static/assets/pdfjs/web/locale/sr/viewer.ftl +0 -32
  283. package/static/assets/pdfjs/web/locale/sv-SE/viewer.ftl +0 -32
  284. package/static/assets/pdfjs/web/locale/szl/viewer.ftl +0 -16
  285. package/static/assets/pdfjs/web/locale/ta/viewer.ftl +0 -12
  286. package/static/assets/pdfjs/web/locale/te/viewer.ftl +0 -16
  287. package/static/assets/pdfjs/web/locale/tg/viewer.ftl +0 -32
  288. package/static/assets/pdfjs/web/locale/th/viewer.ftl +38 -32
  289. package/static/assets/pdfjs/web/locale/tl/viewer.ftl +0 -16
  290. package/static/assets/pdfjs/web/locale/tr/viewer.ftl +0 -32
  291. package/static/assets/pdfjs/web/locale/trs/viewer.ftl +0 -12
  292. package/static/assets/pdfjs/web/locale/uk/viewer.ftl +0 -32
  293. package/static/assets/pdfjs/web/locale/ur/viewer.ftl +0 -16
  294. package/static/assets/pdfjs/web/locale/uz/viewer.ftl +0 -12
  295. package/static/assets/pdfjs/web/locale/vi/viewer.ftl +0 -32
  296. package/static/assets/pdfjs/web/locale/xh/viewer.ftl +0 -12
  297. package/static/assets/pdfjs/web/locale/zh-CN/viewer.ftl +0 -32
  298. package/static/assets/pdfjs/web/locale/zh-TW/viewer.ftl +0 -32
  299. package/static/assets/pdfjs/web/viewer.css +586 -437
  300. package/static/assets/pdfjs/web/viewer.html +12 -23
  301. package/static/assets/pdfjs/web/viewer.mjs +955 -514
  302. package/static/assets/pdfjs/web/viewer.mjs.map +1 -1
  303. package/static/assets/pdfjs/web/wasm/openjpeg.wasm +0 -0
  304. package/static/assets/pdfjs/web/wasm/openjpeg_nowasm_fallback.js +10 -22
  305. package/static/{chunk-SPTF6FSM.js → chunk-27YQB3TE.js} +1 -1
  306. package/static/chunk-2I4CUFUA.js +1 -0
  307. package/static/chunk-2MTM6SWN.js +4 -0
  308. package/static/{chunk-7VRUZRJG.js → chunk-34MKICK5.js} +2 -2
  309. package/static/chunk-5O3DIUU3.js +1 -0
  310. package/static/{chunk-VJRTMDEJ.js → chunk-6NMVZIIT.js} +1 -1
  311. package/static/{chunk-L6MU6S2V.js → chunk-7DN7ZAPU.js} +1 -1
  312. package/static/{chunk-MVO4WZLK.js → chunk-7FUM3JGM.js} +1 -1
  313. package/static/{chunk-RSS6GYNE.js → chunk-7ITZXYYJ.js} +1 -1
  314. package/static/chunk-7P27WBGC.js +4 -0
  315. package/static/chunk-ATP3BFHV.js +562 -0
  316. package/static/chunk-AWQ2YTVC.js +1 -0
  317. package/static/chunk-DSOE3FEP.js +1 -0
  318. package/static/{chunk-2R6HHGUR.js → chunk-EFKMBLRE.js} +1 -1
  319. package/static/chunk-FUFKVHPU.js +1 -0
  320. package/static/{chunk-MRSWNAVB.js → chunk-HCDLWTMW.js} +1 -1
  321. package/static/chunk-IPAC4VAF.js +1 -0
  322. package/static/{chunk-ZC5NIT55.js → chunk-IQOALFYU.js} +1 -1
  323. package/static/chunk-JASU3CIH.js +1 -0
  324. package/static/{chunk-6OJZWYRZ.js → chunk-JQ5FTO2M.js} +1 -1
  325. package/static/chunk-JUNZFADM.js +1 -0
  326. package/static/{chunk-LLWSLOSX.js → chunk-LJUKI4SQ.js} +1 -1
  327. package/static/{chunk-WI7FOANP.js → chunk-LUWQFIWR.js} +1 -1
  328. package/static/{chunk-BIUNUYZ5.js → chunk-ORMRCEGT.js} +1 -1
  329. package/static/{chunk-IZL7JPTS.js → chunk-Q7D6RN4N.js} +1 -1
  330. package/static/{chunk-JYXLQRHG.js → chunk-QJX6ITLW.js} +1 -1
  331. package/static/{chunk-YJMN3B4N.js → chunk-QQ6UQQBR.js} +1 -1
  332. package/static/chunk-S2HDY3OL.js +1 -0
  333. package/static/{chunk-NE4NDO45.js → chunk-S75P2FFI.js} +1 -1
  334. package/static/{chunk-CRQNEHTX.js → chunk-T3EYFSVZ.js} +1 -1
  335. package/static/{chunk-MCLQFZ3S.js → chunk-U34OZUZ7.js} +1 -1
  336. package/static/chunk-Y7EH7G5K.js +1 -0
  337. package/static/{chunk-MGGT6MIJ.js → chunk-ZQQPUYLU.js} +1 -1
  338. package/static/index.html +2 -2
  339. package/static/main-7SQDDVMD.js +9 -0
  340. package/static/{styles-FYUSO6OJ.css → styles-A5VYX3CE.css} +1 -1
  341. package/server/applications/users/dto/user-password.dto.js.map +0 -1
  342. package/static/chunk-4U5A2DEP.js +0 -4
  343. package/static/chunk-54EAZ2UD.js +0 -1
  344. package/static/chunk-7ZRXJONB.js +0 -1
  345. package/static/chunk-F2J2IIJE.js +0 -1
  346. package/static/chunk-FNFGUIQH.js +0 -4
  347. package/static/chunk-GGLK52CG.js +0 -1
  348. package/static/chunk-HW2H3ISM.js +0 -559
  349. package/static/chunk-HX6BBYVD.js +0 -1
  350. package/static/chunk-JF7S3UYQ.js +0 -1
  351. package/static/chunk-KSHPKI4G.js +0 -1
  352. package/static/chunk-VPJ2V27B.js +0 -1
  353. package/static/chunk-VUI3KV7V.js +0 -1
  354. package/static/chunk-ZXS4V7J2.js +0 -1
  355. package/static/main-FFIWFD2F.js +0 -7
@@ -0,0 +1 @@
1
+ import{x as xe,z as Se}from"./chunk-34MKICK5.js";import{a as be}from"./chunk-U34OZUZ7.js";import{g as ge}from"./chunk-7P27WBGC.js";import{g as Ce}from"./chunk-7FUM3JGM.js";import{q as fe,r as _e}from"./chunk-JUNZFADM.js";import{Aa as le,Fa as ce,Kb as de,Mb as ue,Sb as he,_a as pe,eb as y,v as te,w as ie,zb as me}from"./chunk-2MTM6SWN.js";import{Ad as J,Cb as h,Eb as r,Ga as V,Gc as Q,Gd as Z,Hd as ee,Ib as $,Jb as L,Jf as re,Kb as W,L as j,Ma as s,Nb as I,Ob as M,Pb as d,Qa as N,Qb as g,Tb as K,Ub as H,Vb as X,Xa as R,Xb as k,Za as U,_c as F,bb as T,dc as C,ec as q,ef as ne,f as A,fc as x,fd as z,ha as b,jb as f,kb as _,kd as Y,ma as S,na as v,nb as w,nf as oe,ob as P,pb as p,qb as l,rb as c,rf as ae,sb as m,ya as B,yd as G,yf as se,zb as E}from"./chunk-ATP3BFHV.js";import{a as O,b as D}from"./chunk-RTRJ3KFH.js";var ye=(()=>{let o=class o{constructor(){this.inputField="name",this.fullWidth=!1,this.textCenter=!1,this.disableOnBlur=!0,this.disableFocus=!1,this.disableKeyboard=!1,this.updateObject=new T(!0),this.renamingInProgress=new T(!0),this.elementRef=b(B),this.renderer=b(N),this.dangerColor="#dd4b39",this.primaryColor="#3c8dbc"}ngOnInit(){this.initStyles(),this.renamingInProgress.emit(!0),this.elementRef.nativeElement.value=this.inputObject[this.inputField],setTimeout(()=>{this.setParentDraggable("false"),this.disableFocus||(this.elementRef.nativeElement.focus(),this.elementRef.nativeElement.select())},5)}onBlur(){this.disableOnBlur&&this.disableEdit()}onEnter(){this.disableKeyboard||(this.elementRef.nativeElement.value?this.elementRef.nativeElement.value===this.inputObject[this.inputField]?(this.setCorrectForm(),this.disableEdit()):(this.setCorrectForm(),this.updateObject.next({object:this.inputObject,name:this.elementRef.nativeElement.value}),this.disableEdit()):this.setIncorrectForm())}onEscape(){this.disableKeyboard||this.disableEdit()}initStyles(){this.renderer.setStyle(this.elementRef.nativeElement,"display","inline"),this.renderer.setStyle(this.elementRef.nativeElement,"height","100%"),this.renderer.setStyle(this.elementRef.nativeElement,"min-height","20px"),this.renderer.addClass(this.elementRef.nativeElement,"form-control"),this.renderer.addClass(this.elementRef.nativeElement,"form-control-sm"),this.textCenter?(this.renderer.addClass(this.elementRef.nativeElement,"text-center"),this.renderer.setStyle(this.elementRef.nativeElement,"padding","0")):this.renderer.setStyle(this.elementRef.nativeElement,"padding","2px"),this.fullWidth?this.renderer.addClass(this.elementRef.nativeElement,"w-100"):this.renderer.addClass(this.elementRef.nativeElement,"w-75")}setIncorrectForm(){this.renderer.addClass(this.elementRef.nativeElement,"is-invalid"),this.renderer.setStyle(this.elementRef.nativeElement,"border-color",this.dangerColor)}setCorrectForm(){this.renderer.removeClass(this.elementRef.nativeElement,"is-invalid"),this.renderer.setStyle(this.elementRef.nativeElement,"border-color",this.primaryColor)}disableEdit(){this.setParentDraggable("true"),this.renamingInProgress.emit(!1),setTimeout(()=>this.inputObject.isRenamed=!1,100)}setParentDraggable(e){this.renderer.setAttribute(this.elementRef.nativeElement.parentElement,"draggable",e)}};o.\u0275fac=function(t){return new(t||o)},o.\u0275dir=U({type:o,selectors:[["","appInputEdit",""]],hostBindings:function(t,a){t&1&&h("blur",function(){return a.onBlur()})("keyup.enter",function(){return a.onEnter()})("keyup.esc",function(){return a.onEscape()})},inputs:{inputObject:"inputObject",inputField:"inputField",fullWidth:"fullWidth",textCenter:"textCenter",disableOnBlur:"disableOnBlur",disableFocus:"disableFocus",disableKeyboard:"disableKeyboard"},outputs:{updateObject:"updateObject",renamingInProgress:"renamingInProgress"}});let i=o;return i})();var Ee=["InputRename"],Fe=(i,o)=>o.alias,Te=(i,o)=>o.key;function we(i,o){if(i&1&&m(0,"app-user-avatar",14)(1,"div",9),i&2){let n=r().$implicit;p("user",n.owner)}}function Pe(i,o){if(i&1){let n=E();l(0,"input",15,0),h("updateObject",function(t){S(n);let a=r(2);return v(a.onRenameRoot(t))}),c()}if(i&2){let n=r().$implicit;p("inputObject",n)("fullWidth",!0)}}function Ie(i,o){if(i&1&&(l(0,"span"),d(1),c()),i&2){let n=r(2).$implicit;s(),g(n.externalPath)}}function Me(i,o){if(i&1&&(l(0,"span"),d(1),C(2,"pathSlice"),c()),i&2){let n=r(2).$implicit;s(),g(x(2,1,n.file.path,-2))}}function ke(i,o){if(i&1&&(l(0,"div",16)(1,"span"),d(2),c()(),l(3,"div",17),f(4,Ie,2,1,"span")(5,Me,3,4,"span"),c()),i&2){let n=r().$implicit,e=r();s(2),g(n.name),s(2),_(e.user.isAdmin&&n.externalPath?4:5)}}function Oe(i,o){if(i&1&&(l(0,"div",7)(1,"div",18),d(2),c(),l(3,"div",18),d(4),C(5,"amTimeAgo"),c()()),i&2){let n=r().$implicit;s(2),g(n.alias),s(2),g(q(5,2,n.createdAt))}}function De(i,o){if(i&1){let n=E();l(0,"button",21),C(1,"translate"),X("ngModelChange",function(t){S(n);let a=r().$implicit,u=r().$implicit;return H(u.hPerms[a.key],t)||(u.hPerms[a.key]=t),v(t)}),h("ngModelChange",function(){S(n);let t=r(2).$implicit,a=r();return v(a.onPermissionChange(t))}),m(2,"fa-icon",22),c()}if(i&2){let n=r().$implicit,e=r().$implicit,t=r();M(k("btn btn-sm btn-custom ",!e.isDir&&(n.key==="a"||n.key==="d")?"disabled":"")),K("ngModel",e.hPerms[n.key]),p("tooltip",x(1,6,t.SPACES_PERMISSIONS_TEXT[n.key].text,t.locale.language)),s(2),p("icon",t.SPACES_PERMISSIONS_TEXT[n.key].icon)}}function Ae(i,o){if(i&1&&(l(0,"button",23),C(1,"translate"),m(2,"fa-icon",22),c()),i&2){let n=r().$implicit,e=r().$implicit,t=r();I("active",e.hPerms[n.key]),p("tooltip",x(1,4,t.SPACES_PERMISSIONS_TEXT[n.key].text,t.locale.language)),s(2),p("icon",t.SPACES_PERMISSIONS_TEXT[n.key].icon)}}function je(i,o){if(i&1&&f(0,De,3,9,"button",19)(1,Ae,3,7,"button",20),i&2){let n=r().$implicit,e=r();_(!(n.owner!=null&&n.owner.id)&&e.user.isAdmin||(n.owner==null?null:n.owner.id)===e.user.id?0:1)}}function Be(i,o){if(i&1){let n=E();l(0,"div",1)(1,"div",2)(2,"div",3),f(3,we,2,1),m(4,"img",4),l(5,"div",5),f(6,Pe,2,2,"input",6)(7,ke,6,2),c()(),f(8,Oe,6,4,"div",7),l(9,"div",8),m(10,"div",9),w(11,je,2,1,null,null,Te),C(13,"keyvalue"),m(14,"div",10),l(15,"button",11),C(16,"translate"),h("click",function(){let t=S(n).$implicit,a=r();return v(a.setRenamed(t))}),m(17,"fa-icon",12),c(),l(18,"button",13),C(19,"translate"),h("click",function(){let t=S(n).$implicit,a=r();return v(a.removeRoot(t))}),m(20,"fa-icon",12),c()()()()}if(i&2){let n=o.$implicit,e=r();s(3),_(e.showUsers?3:-1),s(),I("cursor-pointer",!!n.file.path),p("src",n.file.mimeUrl,V)("tooltip",n.file.path),s(2),_(n.isRenamed?6:7),s(2),_(e.showInfos?8:-1),s(3),P(x(13,14,n.hPerms,e.originalOrderKeyValue)),s(4),M(k("btn btn-sm ",n.isRenamed?"btn-success":"btn-custom"," me-2")),p("tooltip",x(16,17,"Rename",e.locale.language)),s(2),p("icon",e.icons.faPen),s(),p("tooltip",x(19,20,"Remove",e.locale.language)),s(2),p("icon",e.icons.faTimes)}}var Re=(()=>{let o=class o{constructor(){this.showInfos=!0,this.showUsers=!0,this.addRootFile=null,this.locale=b(J),this.icons={faTimes:oe,faPen:ae},this.SPACES_PERMISSIONS_TEXT=ue,this.originalOrderKeyValue=pe,this.subscription=null}ngOnInit(){this.addRootFile&&(this.subscription=this.addRootFile.subscribe(e=>this.addRoot(e)))}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}addRoot(e){let t={id:0,alias:y(e.name,"alias",this.space.roots).toLowerCase(),name:y(e.name,"name",this.space.roots),permissions:"",createdAt:new Date};e.externalPath?(t.externalPath=e.externalPath,t.owner={id:null,login:null,email:null,fullName:null},t.file={id:0,path:null,mime:null}):(t.externalPath=null,t.owner={id:this.user.id,login:this.user.login,email:this.user.email,fullName:this.user.fullName},t.file={id:e.id,path:e.path,mime:e.mime}),this.space.addRoot(t,!0)}removeRoot(e){this.space.roots=this.space.roots.filter(t=>e.alias!==t.alias)}onRenameRoot(e){let t=e.object;t.alias=y(ce(e.name,!0),"alias",this.space.roots.filter(a=>a.id!==t.id)).toLowerCase(),t.name=y(e.name.replace(le,""),"name",this.space.roots.filter(a=>a.id!==t.id))}onPermissionChange(e){e.permissions=he(e.hPerms)}setRenamed(e){e.isRenamed?(this.onRenameRoot({object:e,name:this.inputRename.nativeElement.value}),e.isRenamed=!1):e.isRenamed=!0}};o.\u0275fac=function(t){return new(t||o)},o.\u0275cmp=R({type:o,selectors:[["app-space-manage-roots"]],viewQuery:function(t,a){if(t&1&&$(Ee,5),t&2){let u;L(u=W())&&(a.inputRename=u.first)}},inputs:{space:"space",user:"user",showInfos:"showInfos",showUsers:"showUsers",addRootFile:"addRootFile"},decls:2,vars:0,consts:[["InputRename",""],[1,"bg-theme","mb-1","p-2",2,"border-radius","4px"],[1,"d-flex","align-items-center","text-truncate","no-select","fs-xs",2,"height","32px"],[1,"d-flex","align-items-center","text-truncate","me-auto"],["draggable","false","height","30","width","30","alt","",3,"src","tooltip"],[1,"d-flex","flex-column","text-truncate","ms-2"],["appInputEdit","","type","text","required","",3,"inputObject","fullWidth"],[1,"d-flex","flex-column","fs-xxxs","text-muted","d-none","d-lg-block","ms-3"],[1,"d-flex","no-select"],[1,"vr","mx-2"],[1,"vr","ms-1","me-2"],["type","button",3,"click","tooltip"],[3,"icon"],["type","button",1,"btn","btn-sm","btn-danger",3,"click","tooltip"],["tooltipPlacement","bottom",3,"user"],["appInputEdit","","type","text","required","",3,"updateObject","inputObject","fullWidth"],[1,"text-truncate"],[1,"d-none","d-lg-block","fs-xxxs","text-truncate"],[1,"d-flex","justify-content-end"],["btnCheckbox","","type","button",3,"ngModel","tooltip","class"],["type","button",1,"btn","btn-sm","btn-custom","disabled",3,"tooltip","active"],["btnCheckbox","","type","button",3,"ngModelChange","ngModel","tooltip"],["size","lg",3,"icon"],["type","button",1,"btn","btn-sm","btn-custom","disabled",3,"tooltip"]],template:function(t,a){t&1&&w(0,Be,21,23,"div",1,Fe),t&2&&P(a.space.roots)},dependencies:[_e,fe,F,be,ie,te,G,z,Y,ye,Q,Z,ge,xe],encapsulation:2});let i=o;return i})();function Ve(i,o){if(i&1&&m(0,"fa-icon",3),i&2){let n=r();p("icon",n.icons.faSpinner)}}function Ne(i,o){i&1&&(l(0,"span",5),d(1,"You have no files anchored on this space"),c())}var wt=(()=>{let o=class o{constructor(){this.layout=b(me),this.addRootFileEvent=new A,this.icons={faAnchor:se,faPlus:re,faSpinner:ne,SPACES:de.SPACES},this.submitted=!1,this.loading=!1,this.spacesService=b(Ce)}ngOnInit(){this.space?.roots.length&&(this.space.roots=[]),this.spacesService.getUserSpaceRoots(this.space.id).subscribe({next:e=>this.setSpaceRoots(e),error:e=>{this.layout.sendNotification("error","Manage my anchored files",e.error.message)}})}openSelectRootDialog(){this.layout.openDialog(Se,"xl",{initialState:{currentRoots:this.space.roots.filter(t=>t.owner.id===this.user.id)}}).content.submitEvent.pipe(j(1)).subscribe(t=>this.addRootFileEvent.next(t))}onSubmit(){this.loading=!0,this.submitted=!0,this.spacesService.updateUserSpaceRoots(this.space.id,this.space.roots.map(e=>({id:e.id,alias:e.alias,name:e.name,permissions:e.permissions,file:{id:e.file.id,path:e.file.path,mime:e.file.mime}}))).subscribe({next:e=>{this.setSpaceRoots(e),this.layout.closeDialog()},error:e=>{this.layout.sendNotification("error","Manage my anchored files",e.error.message),this.submitted=!1,this.loading=!1}})}setSpaceRoots(e){this.space.roots=[];for(let t of e)this.space.addRoot(D(O({},t),{owner:this.user}),!0);this.space.counts.roots=this.space.roots.length}};o.\u0275fac=function(t){return new(t||o)},o.\u0275cmp=R({type:o,selectors:[["app-space-user-anchors-dialog"]],inputs:{space:"space",user:"user"},decls:22,vars:11,consts:[[1,"modal-header","align-items-center"],[1,"modal-title"],[1,"me-2",3,"icon"],["animation","spin","size","sm",1,"ms-2",3,"icon"],[1,"modal-title","ms-auto"],["l10nTranslate",""],["aria-label","Close","type","button",1,"btn-close","btn-close-white","ms-2",3,"click"],[1,"modal-body"],[3,"space","user","showUsers","addRootFile"],[1,"modal-footer"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-success",3,"click"],[3,"icon"],["data-dismiss","modal","type","button","l10nTranslate","",1,"btn","btn-sm","btn-secondary","ms-auto",3,"click"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-primary",3,"click","disabled"]],template:function(t,a){t&1&&(l(0,"div",0)(1,"h4",1),m(2,"fa-icon",2),l(3,"span"),d(4),c()(),f(5,Ve,1,1,"fa-icon",3),l(6,"h4",4)(7,"span",5),d(8,"Manage my anchored files"),c()(),l(9,"button",6),h("click",function(){return a.layout.closeDialog()}),c()(),l(10,"div",7),m(11,"app-space-manage-roots",8),f(12,Ne,2,0,"span",5),c(),l(13,"div",9)(14,"button",10),h("click",function(){return a.openSelectRootDialog()}),m(15,"fa-icon",11)(16,"fa-icon",11),d(17," File "),c(),l(18,"button",12),h("click",function(){return a.layout.closeDialog()}),d(19,"Cancel"),c(),l(20,"button",13),h("click",function(){return a.onSubmit()}),d(21," Confirm "),c()()),t&2&&(s(2),p("icon",a.icons.SPACES),s(2),g(a.space.name),s(),_(a.loading?5:-1),s(6),p("space",a.space)("user",a.user)("showUsers",!1)("addRootFile",a.addRootFileEvent),s(),_(a.space.roots.length?-1:12),s(3),p("icon",a.icons.faPlus),s(),p("icon",a.icons.faAnchor),s(4),p("disabled",a.submitted))},dependencies:[F,ee,Re],encapsulation:2});let i=o;return i})();export{ye as a,Re as b,wt as c};
@@ -0,0 +1 @@
1
+ import{a as wt}from"./chunk-Q7D6RN4N.js";import{a as Tt,b as H,c as Et}from"./chunk-S2HDY3OL.js";import{a as $,b as ke,c as pt,e as Fe}from"./chunk-7DN7ZAPU.js";import{a as At}from"./chunk-LJUKI4SQ.js";import{d as Se}from"./chunk-JQ5FTO2M.js";import"./chunk-JXZCNFW7.js";import{a as yt}from"./chunk-U34OZUZ7.js";import{a as Z,b as ye,c as Te,d as we,h as Ee}from"./chunk-7P27WBGC.js";import{a as Ve,b as Ne,c as bt,d as St}from"./chunk-FUFKVHPU.js";import{a as Ae}from"./chunk-IPAC4VAF.js";import"./chunk-Y7EH7G5K.js";import{l as xe,m as be,p as Y,q as xt}from"./chunk-JUNZFADM.js";import{L as ct,M as q,O as dt,S as ve,_a as vt,ra as ut,sa as ft,ta as _t,v as We,wa as gt,xa as Ct,ya as ht,zb as J}from"./chunk-2MTM6SWN.js";import{b as He,d as je}from"./chunk-ORMRCEGT.js";import{$a as Ge,Ad as K,Ae as Ce,Cb as f,Cd as Qe,Cf as at,Eb as d,Ef as rt,Fc as se,Ga as oe,Gc as $e,Gd as X,Hd as B,He as Ze,Ib as ee,Id as ze,Jb as te,Je as he,Kb as ie,L as j,Lf as st,Ma as a,Mb as Ue,Nb as E,Ob as V,Pb as m,Qb as b,Rb as w,Sb as G,Sd as Ke,Sf as lt,Tb as Re,Ub as Le,Vb as Oe,Xa as M,Xb as R,Xe as et,Xf as mt,Yb as Be,_a as ae,_c as L,ab as D,ad as W,bb as re,bd as le,ce as Xe,dc as h,dd as I,ec as T,ee as Je,ef as tt,fc as A,fd as O,gd as me,ha as S,hd as qe,jb as g,jd as F,kb as C,kd as ce,lb as Q,ma as v,na as x,nb as U,ob as k,od as de,of as it,pb as c,pd as pe,qb as n,qd as ue,rb as o,rd as fe,sb as u,sd as _e,se as Ye,wf as nt,yd as ge,zb as N,zd as z,zf as ot}from"./chunk-ATP3BFHV.js";import{j as P}from"./chunk-RTRJ3KFH.js";function Vt(e,r){if(e&1&&(u(0,"fa-icon",42),n(1,"span"),m(2),o()),e&2){let i=d();c("icon",i.icons.faPen),a(2),b(i.guest.fullName)}}function Nt(e,r){if(e&1&&(u(0,"fa-icon",42),n(1,"span",43),m(2,"New guest"),o()),e&2){let i=d();c("icon",i.icons.faPlus)}}function It(e,r){if(e&1&&u(0,"fa-icon",2),e&2){let i=d();c("icon",i.icons.faSpinner)}}function Pt(e,r){e&1&&(n(0,"h4",3)(1,"span",43),m(2,"Edit guest"),o()())}function Mt(e,r){if(e&1&&(u(0,"fa-icon",44),n(1,"span",45),m(2,"Account"),o()),e&2){let i=d();c("icon",i.icons.faAddressCard)}}function Gt(e,r){if(e&1&&u(0,"app-password-strength-bar",22),e&2){let i=d();c("passwordToCheck",i.guestForm.value.password)}}function Rt(e,r){if(e&1&&(n(0,"option",26),m(1),o()),e&2){let i=r.$implicit;c("ngValue",i),a(),b(i)}}function Lt(e,r){if(e&1&&(n(0,"option",34),m(1),o()),e&2){let i=r.$implicit,s=d();c("ngValue",s.allNotifications.indexOf(i)),a(),b(i)}}function Ot(e,r){if(e&1&&(n(0,"div"),m(1),h(2,"amDateFormat"),o(),n(3,"div"),m(4),h(5,"amDateFormat"),o()),e&2){let i=d(2);a(),G("",T(2,4,i.guest.currentAccess)," - ",i.guest.currentIp),a(3),G("",T(5,6,i.guest.lastAccess)," - ",i.guest.lastIp)}}function Bt(e,r){e&1&&(n(0,"span",37),m(1,"never"),o())}function $t(e,r){if(e&1&&(n(0,"div",11)(1,"div",12)(2,"label",46),m(3,"Creation date"),o(),n(4,"div",47),m(5),h(6,"amDateFormat"),o()(),n(7,"div",48)(8,"label",49),m(9,"Last accesses"),o(),n(10,"div",50),g(11,Ot,6,8)(12,Bt,2,0,"span",37),o()()()),e&2){let i=d();a(5),b(T(6,2,i.guest.createdAt)),a(6),C(i.guest.lastAccess?11:12)}}function Ht(e,r){if(e&1&&(u(0,"fa-icon",44),n(1,"span",51),m(2,"Managers"),o(),n(3,"span"),m(4),o()),e&2){let i=d();c("icon",i.icons.faUsersGear),a(4),w("(",i.guestForm.value.managers.length||0,")")}}function jt(e,r){e&1&&(n(0,"small",37),m(1,"At least one manager is required"),o())}function qt(e,r){if(e&1){let i=N();n(0,"button",52),f("click",function(){v(i);let l=d();return x(l.confirmDeletion=!0)}),m(1," Remove "),o()}if(e&2){let i=d();c("disabled",i.confirmDeletion)}}var Pe=(()=>{let r=class r extends wt{constructor(){super(),this.adminService=S(H)}searchMembers(s){let l={search:s,ignoreUserIds:this.guestForm.value.managers.map(t=>t.id),usersRole:q.USER,onlyUsers:!0};return this.adminService.searchMembers(l)}onSubmit(){return P(this,null,function*(){if(this.submitted=!0,this.confirmDeletion){let s=yield this.userService.auth2FaVerifyDialog(!0);if(s===!1)return;this.adminService.deleteUser(this.guest.id,{deleteSpace:!0,isGuest:!0},s).subscribe({next:()=>{this.guestChange.emit(["delete",this.guest]),this.layout.sendNotification("success","Guest deleted",this.guest.login),this.layout.closeDialog()},error:l=>this.onError(l)})}else if(this.guest){let s=this.makeDto();if(!Object.keys(s).length){this.loading=!1,this.submitted=!1;return}let l=yield this.userService.auth2FaVerifyDialog();if(l===!1)return;this.adminService.updateUser(this.guest.id,s,l,!0).subscribe({next:t=>{t?this.guestChange.emit(["update",t]):this.guestChange.emit(["delete",this.guest]),this.layout.sendNotification("success","Guest updated",this.guestForm.value.login),this.layout.closeDialog()},error:t=>this.onError(t)})}else{let s=yield this.userService.auth2FaVerifyDialog();if(s===!1)return;this.adminService.createUser(this.makeDto(!0),s,!0).subscribe({next:l=>{this.guestChange.emit(["add",l]),this.layout.sendNotification("success","Guest created",this.guestForm.value.login),this.layout.closeDialog()},error:l=>this.onError(l)})}})}};r.\u0275fac=function(l){return new(l||r)},r.\u0275cmp=M({type:r,selectors:[["app-admin-guest-dialog"]],features:[Ge],decls:70,vars:40,consts:[[1,"modal-header","align-items-center"],[1,"modal-title"],["animation","spin","size","sm",1,"ms-2",3,"icon"],[1,"modal-title","ms-auto"],["aria-label","Close","type","button",3,"click"],[1,"modal-body",3,"formGroup"],["type","pills",3,"justified"],[1,"my-3"],["customClass","tab-dialog form-validation",3,"selectTab"],["tabHeading",""],[1,"d-flex","flex-column"],[1,"d-flex","col-12","pb-3"],[1,"flex-fill","col-6","pe-4"],["for","login","l10nTranslate",""],["id","login","appAutofocus","","formControlName","login","autocomplete","off","type","text",1,"form-control","form-control-sm",3,"autoSelect"],[1,"flex-fill","col-6","ps-4"],["for","email","l10nTranslate",""],["id","email","formControlName","email","autocomplete","off","type","email",1,"form-control","form-control-sm"],["for","firstName","l10nTranslate",""],["id","firstName","formControlName","firstName","autocomplete","off","type","text",1,"form-control","form-control-sm"],["for","lastName","l10nTranslate",""],["id","lastName","formControlName","lastName","autocomplete","off","type","text",1,"form-control","form-control-sm"],[1,"position-absolute","pe-4",2,"right","50%","padding-top","6px",3,"passwordToCheck"],["id","password","placeholder","Set a password",3,"passwordChange","password","showGenerator","showLabel","isRequired"],["for","language","l10nTranslate",""],["id","language","formControlName","language",1,"form-control","form-select","form-select-sm"],[3,"ngValue"],[1,"d-flex","flex-column","col-6","pe-4"],["for","account","l10nTranslate",""],["id","account",1,"form-check","form-switch","form-check-inline"],["for","isActive",1,"form-check-label"],["formControlName","isActive","id","isActive","type","checkbox",1,"form-check-input"],["for","notification","l10nTranslate",""],["id","notification","formControlName","notification",1,"form-control","form-select","form-select-sm"],["l10nTranslate","",3,"ngValue"],["customClass","tab-dialog",3,"selectTab"],[3,"membersChange","members","withPermissions","customPlaceholder","searchFunction"],["l10nTranslate","",1,"text-danger"],[1,"modal-footer"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-danger",3,"disabled"],["data-dismiss","modal","type","button","l10nTranslate","",1,"btn","btn-sm","btn-secondary","ms-auto",3,"click"],["type","button","l10nTranslate","",3,"click","disabled"],[1,"me-2",3,"icon"],["l10nTranslate",""],[3,"icon"],["l10nTranslate","",1,"ms-2"],["for","created","l10nTranslate",""],["id","created"],[1,"d-flex","flex-column","align-items-end","col-6","ps-4"],["for","access","l10nTranslate",""],["id","access",1,"text-align-end"],["l10nTranslate","",1,"ms-2","me-1"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-danger",3,"click","disabled"]],template:function(l,t){l&1&&(n(0,"div",0)(1,"h4",1),g(2,Vt,3,2)(3,Nt,3,1),g(4,It,1,1,"fa-icon",2),o(),g(5,Pt,3,0,"h4",3),n(6,"button",4),f("click",function(){return t.layout.closeDialog()}),o()(),n(7,"div",5)(8,"tabset",6),u(9,"hr",7),n(10,"tab",8),f("selectTab",function(){return t.tabView=null}),D(11,Mt,3,1,"ng-template",9),n(12,"div",10)(13,"div",11)(14,"div",12)(15,"label",13),m(16,"Login"),o(),u(17,"input",14),o(),n(18,"div",15)(19,"label",16),m(20,"Email"),o(),u(21,"input",17),o()(),n(22,"div",11)(23,"div",12)(24,"label",18),m(25,"First name"),o(),u(26,"input",19),o(),n(27,"div",15)(28,"label",20),m(29,"Last name"),o(),u(30,"input",21),o()(),n(31,"div",11)(32,"div",12),g(33,Gt,1,1,"app-password-strength-bar",22),n(34,"app-input-password",23),f("passwordChange",function(_){return t.updatePassword(_)}),o()(),n(35,"div",15)(36,"label",24),m(37,"Language"),o(),n(38,"select",25),U(39,Rt,2,2,"option",26,Q),o()()(),n(41,"div",11)(42,"div",27)(43,"label",28),m(44,"Account status"),o(),n(45,"div",29)(46,"label",30),u(47,"input",31),n(48,"span"),m(49),h(50,"translate"),h(51,"titlecase"),o()()()(),n(52,"div",15)(53,"label",32),m(54,"Notification"),o(),n(55,"select",33),U(56,Lt,2,2,"option",34,Q),o()()(),g(58,$t,13,4,"div",11),o()(),n(59,"tab",35),f("selectTab",function(){return t.tabView="managers"}),D(60,Ht,5,2,"ng-template",9),n(61,"div",7)(62,"app-user-search",36),f("membersChange",function(_){return t.updateManagers(_)}),o(),g(63,jt,2,0,"small",37),o()()()(),n(64,"div",38),g(65,qt,2,1,"button",39),n(66,"button",40),f("click",function(){return t.onCancel()}),m(67,"Cancel"),o(),n(68,"button",41),f("click",function(){return t.onSubmit()}),m(69),o()()),l&2&&(a(2),C(t.guest?2:3),a(2),C(t.loading?4:-1),a(),C(t.guest?5:-1),a(),V(R("btn-close btn-close-white ",t.guest?"ms-2":"ms-auto"," ms-2")),a(),c("formGroup",t.guestForm),a(),c("justified",!0),a(9),E("is-invalid",t.guestForm.controls.login.invalid),c("autoSelect",!1),a(4),E("is-invalid",t.guestForm.controls.email.invalid),a(5),E("is-invalid",t.guestForm.controls.firstName.invalid),a(7),C(t.guestForm.value.password!==t.defaultPassword?33:-1),a(),c("password",t.guestForm.value.password)("showGenerator",!0)("showLabel",!0)("isRequired",!0),a(5),k(t.languages),a(9),E("text-danger",!t.guestForm.value.isActive),a(),w(" ",T(51,38,A(50,35,t.guestForm.value.isActive?"active":"suspended",t.locale.language))," "),a(7),k(t.allNotifications),a(2),C(t.guest?58:-1),a(4),c("members",t.guestForm.value.managers)("withPermissions",!1)("customPlaceholder","Type to search for managers to add")("searchFunction",t.searchMembers.bind(t)),a(),C(t.guestForm.value.managers.length?-1:63),a(2),C(t.guest!=null&&t.guest.id?65:-1),a(3),V(R("btn btn-sm ",t.confirmDeletion?"btn-danger":"btn-primary")),c("disabled",t.guestForm.invalid||t.submitted),a(),w(" ",t.confirmDeletion?"Confirm deletion":"Confirm"," "))},dependencies:[L,B,z,fe,_e,le,W,ue,O,me,de,pe,xe,Ae,be,Ee,ye,Te,we,Z,X,se],encapsulation:2});let e=r;return e})();var Ft=(()=>{let r=class r{constructor(){this.translate=S(Qe)}transform(s,l=!1,t=null,p=", "){return s.length?(t?s.map(y=>y[t]):s.concat()).sort().map(y=>new Fe().transform(l?this.translate.translate(y):y)).join(p):""}};r.\u0275fac=function(l){return new(l||r)},r.\u0275pipe=ae({name:"join",type:r,pure:!0});let e=r;return e})();var Dt=(()=>{let r=class r{transform(s,l=","){return s?.length?s.split(l):[]}};r.\u0275fac=function(l){return new(l||r)},r.\u0275pipe=ae({name:"split",type:r,pure:!0});let e=r;return e})();function Qt(e,r){e&1&&(n(0,"h4",3)(1,"span",14),m(2,"Delete user"),o()())}var Ut=(()=>{let r=class r{constructor(){this.wasDeleted=new re,this.locale=S(K),this.submitted=!1,this.icons={faUserMinus:ot},this.deleteSpace=!1,this.layout=S(J),this.adminService=S(H),this.userService=S(Y)}onClose(){this.wasDeleted.emit(!1),this.layout.closeDialog()}onSubmit(){return P(this,null,function*(){this.submitted=!0;let s=yield this.userService.auth2FaVerifyDialog(!0);if(s===!1){this.onClose();return}this.adminService.deleteUser(this.user.id,{deleteSpace:this.deleteSpace,isGuest:!1},s).subscribe({next:()=>{this.wasDeleted.emit(!0),this.layout.sendNotification("success","Delete user",this.user.login),this.onClose()},error:l=>{this.submitted=!1,this.layout.sendNotification("error","Delete user",this.user.login,l)}})})}};r.\u0275fac=function(l){return new(l||r)},r.\u0275cmp=M({type:r,selectors:[["app-admin-user-delete-dialog"]],inputs:{user:"user"},outputs:{wasDeleted:"wasDeleted"},decls:28,vars:13,consts:[[1,"modal-header","align-items-center"],[1,"modal-title"],[1,"me-2",3,"icon"],[1,"modal-title","ms-auto"],["aria-label","Close","type","button",3,"click"],[1,"modal-body"],[1,"d-flex","align-items-center","avatar","mb-3"],["alt","",1,"avatar-img",3,"src"],[1,"d-flex","flex-column"],[1,"mx-2"],[1,"form-check","form-check-inline","mt-3"],[1,"d-flex"],["for","deleteSpace",1,"form-check-label"],["id","deleteSpace","type","checkbox",1,"form-check-input",3,"ngModelChange","ngModel"],["l10nTranslate",""],[1,"modal-footer"],["data-dismiss","modal","type","button","l10nTranslate","",1,"btn","btn-sm","btn-secondary","ms-auto",3,"click"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-danger",3,"click","disabled"]],template:function(l,t){l&1&&(n(0,"div",0)(1,"h4",1),u(2,"fa-icon",2),n(3,"span"),m(4),o()(),g(5,Qt,3,0,"h4",3),n(6,"button",4),f("click",function(){return t.onClose()}),o()(),n(7,"div",5)(8,"div",6),u(9,"img",7),n(10,"div",8)(11,"span",9)(12,"b"),m(13),h(14,"capitalize"),o()(),n(15,"span",9),m(16),o()()(),n(17,"div",10)(18,"div",11)(19,"label",12)(20,"input",13),Oe("ngModelChange",function(_){return Le(t.deleteSpace,_)||(t.deleteSpace=_),_}),o(),n(21,"span",14),m(22,"Delete all user files"),o()()()()(),n(23,"div",15)(24,"button",16),f("click",function(){return t.onClose()}),m(25," Cancel "),o(),n(26,"button",17),f("click",function(){return t.onSubmit()}),m(27," Confirm "),o()()),l&2&&(a(2),c("icon",t.icons.faUserMinus),a(2),b(t.user.fullName),a(),C(t.user?5:-1),a(),V(R("btn-close btn-close-white ",t.user?"ms-2":"ms-auto"," ms-2")),a(3),c("src",t.user.avatarUrl,oe),a(4),b(T(14,11,t.user.login)),a(3),b(t.user.email),a(4),Re("ngModel",t.deleteSpace),a(6),c("disabled",t.submitted))},dependencies:[L,B,z,W,O,ge,ce,Fe],encapsulation:2});let e=r;return e})();var Wt=(e,r)=>r.id;function zt(e,r){if(e&1&&(u(0,"fa-icon",47),n(1,"span"),m(2),o()),e&2){let i=d();c("icon",i.icons.faUserPen),a(2),b(i.user.fullName)}}function Kt(e,r){if(e&1&&(u(0,"fa-icon",47),n(1,"span",40),m(2,"New user"),o()),e&2){let i=d();c("icon",i.icons.faUserPlus)}}function Xt(e,r){if(e&1&&u(0,"fa-icon",2),e&2){let i=d();c("icon",i.icons.faSpinner)}}function Jt(e,r){e&1&&(n(0,"h4",3)(1,"span",40),m(2,"Edit user"),o()())}function Yt(e,r){if(e&1&&(u(0,"fa-icon",48),n(1,"span",49),m(2,"Account"),o()),e&2){let i=d();c("icon",i.icons.faAddressCard)}}function Zt(e,r){if(e&1&&u(0,"app-password-strength-bar",22),e&2){let i=d();c("passwordToCheck",i.userForm.value.password)}}function ei(e,r){if(e&1&&(n(0,"option",26),m(1),o()),e&2){let i=r.$implicit;c("ngValue",i),a(),b(i)}}function ti(e,r){if(e&1&&(n(0,"option",30),m(1),o()),e&2){let i=r.$implicit,s=d();c("ngValue",s.allNotifications.indexOf(i)),a(),b(i)}}function ii(e,r){if(e&1){let i=N();n(0,"span",55),f("click",function(){v(i);let l=d(2);return x(l.reset2Fa())}),u(1,"fa-icon",48),n(2,"span",56),m(3,"Reset"),o()()}if(e&2){let i=d(2);a(),c("icon",i.icons.faTrash)}}function ni(e,r){if(e&1&&(n(0,"div",11)(1,"div",12)(2,"label",50),m(3,"Storage Usage"),o(),u(4,"app-storage-usage",51),o(),n(5,"div",15)(6,"div",10)(7,"label",52),m(8,"Two-Factor Authentication"),o(),n(9,"div",53)(10,"span"),u(11,"fa-icon",48),m(12),h(13,"translate"),h(14,"titlecase"),o(),g(15,ii,4,1,"span",54),o()()()()),e&2){let i=d();a(4),c("item",i.user),a(7),c("icon",i.user.twoFaEnabled?i.icons.faLock:i.icons.faLockOpen),a(),w(" ",T(14,7,A(13,4,i.user.twoFaEnabled?"enabled":"disabled",i.locale.language))," "),a(3),C(i.user.twoFaEnabled?15:-1)}}function oi(e,r){if(e&1&&(n(0,"div"),m(1),h(2,"amDateFormat"),o(),n(3,"div"),m(4),h(5,"amDateFormat"),o()),e&2){let i=d(2);a(),G("",T(2,4,i.user.currentAccess)," - ",i.user.currentIp),a(3),G("",T(5,6,i.user.lastAccess)," - ",i.user.lastIp)}}function ai(e,r){e&1&&(n(0,"span",62),m(1,"never"),o())}function ri(e,r){if(e&1&&(n(0,"div",11)(1,"div",12)(2,"label",57),m(3,"Creation date"),o(),n(4,"div",58),m(5),h(6,"amDateFormat"),o()(),n(7,"div",59)(8,"label",60),m(9,"Last accesses"),o(),n(10,"div",61),g(11,oi,6,8)(12,ai,2,0,"span",62),o()()()),e&2){let i=d();a(5),b(T(6,2,i.user.createdAt)),a(6),C(i.user.lastAccess?11:12)}}function si(e,r){if(e&1&&(u(0,"fa-icon",48),n(1,"span",49),m(2,"Permissions"),o()),e&2){let i=d();c("icon",i.icons.faShieldHalved)}}function li(e,r){if(e&1&&(n(0,"div",65)(1,"div",66),u(2,"fa-icon",67),n(3,"span"),m(4),o()(),n(5,"div",68),m(6),h(7,"split"),h(8,"join"),o()()),e&2){let i=d().$implicit,s=d(2);a(2),c("icon",s.icons.GROUPS),a(2),b(i.name),a(2),b(A(8,5,T(7,3,i.permissions),!0))}}function mi(e,r){if(e&1&&g(0,li,9,8,"div",65),e&2){let i=r.$implicit;C(i.permissions?0:-1)}}function ci(e,r){if(e&1&&(n(0,"div",32)(1,"label",63),m(2,"Permissions inherited from groups"),o(),n(3,"div",64),U(4,mi,1,1,null,null,Wt),o()()),e&2){let i=d();a(4),k(i.userForm.value.groups)}}function di(e,r){if(e&1&&(u(0,"fa-icon",48),n(1,"span",69),m(2,"Groups"),o(),n(3,"span"),m(4),o()),e&2){let i=d();c("icon",i.icons.faUsers),a(4),w("(",i.userForm.value.groups.length||0,")")}}function pi(e,r){if(e&1){let i=N();n(0,"button",70),f("click",function(){v(i);let l=d();return x(l.confirmDeletion=!0)}),m(1," Remove "),o()}if(e&2){let i=d();c("disabled",i.confirmDeletion)}}var Me=(()=>{let r=class r{constructor(){this.user=null,this.userChange=new re,this.locale=S(K),this.layout=S(J),this.submitted=!1,this.loading=!1,this.confirmDeletion=!1,this.icons={GROUPS:gt.GROUPS,faUserPlus:he,faUserPen:Ce,faSpinner:tt,faAddressCard:Ze,faUsers:Ye,faShieldHalved:rt,faTrash:Je,faLock:nt,faLockOpen:it},this.allNotifications=Object.values(ve),this.defaultPassword=this.layout.translateString(Ct),this.languages=this.layout.getLanguages(!0),this.adminService=S(H),this.userService=S(Y)}ngOnInit(){this.userForm=new qe({login:new F(this.user?.login||"",[I.required,I.pattern(ct)]),email:new F(this.user?.email||"",[I.required,I.maxLength(255),I.email]),firstName:new F(this.user?.firstName||"",[I.required,I.maxLength(255)]),lastName:new F(this.user?.lastName||"",I.maxLength(255)),password:new F(this.user?this.defaultPassword:"",I.maxLength(255)),language:new F(this.user?.language||null),notification:new F(this.user?.notification||Object.values(ve).indexOf(ve.APPLICATION_EMAIL)),isActive:new F(this.user?this.user.isActive:!0),isAdmin:new F(this.user?this.user.isAdmin:!1),storageQuota:new F(this.user?.storageQuota||null),groups:new F(this.user?.groups||[]),applications:new F(this.user?.applications||[])})}searchMembers(s){let l={search:s,onlyGroups:!0,excludePersonalGroups:!0,withPermissions:!0,ignoreGroupIds:this.userForm.value.groups.map(t=>t.id)};return this.adminService.searchMembers(l)}updateApplications(s){this.userForm.controls.applications.setValue(s),this.userForm.controls.applications.markAsDirty()}updatePassword(s){this.userForm.controls.password.setValue(s),this.userForm.controls.password.markAsDirty()}updateMembers(s){this.userForm.controls.groups.setValue(s),this.userForm.controls.groups.markAsDirty()}updateQuota(s){this.userForm.controls.storageQuota.setValue(s),this.userForm.controls.storageQuota.markAsDirty()}onCancel(){this.confirmDeletion?this.confirmDeletion=!1:this.layout.closeDialog()}reset2Fa(){return P(this,null,function*(){let s=yield this.userService.auth2FaVerifyDialog(!0);s!==!1&&this.userService.adminResetUser2Fa(this.user.id,s).subscribe({next:l=>{this.user.twoFaEnabled=!l.success,l.success?this.layout.sendNotification("success","Two-Factor Authentication is disabled",this.user.login):this.layout.sendNotification("error","Two-Factor Authentication",l.message)},error:l=>{this.submitted=!1,this.layout.sendNotification("error","Two-Factor Authentication",this.user.login,l)}})})}onSubmit(){return P(this,null,function*(){if(this.submitted=!0,this.confirmDeletion)this.layout.openDialog(Ut,"sm",{initialState:{user:this.user}}).content.wasDeleted.pipe(j(1)).subscribe(l=>{l?(this.userChange.emit(["delete",this.user]),this.layout.closeDialog()):(this.confirmDeletion=!1,this.submitted=!1)});else if(this.user){let s=yield this.userService.auth2FaVerifyDialog();if(s===!1)return;this.adminService.updateUser(this.user.id,this.makeDto(),s).subscribe({next:l=>{this.userChange.emit(["update",l]),this.layout.sendNotification("success","User updated",this.userForm.value.login),this.layout.closeDialog()},error:l=>this.onError(l)})}else{let s=yield this.userService.auth2FaVerifyDialog();if(s===!1)return;this.adminService.createUser(this.makeDto(!0),s).subscribe({next:l=>{this.userChange.emit(["add",l]),this.layout.sendNotification("success","User created",this.userForm.value.login),this.layout.closeDialog()},error:l=>this.onError(l)})}})}makeDto(s=!1){let l={};if(s)l=this.userForm.value;else for(let t in this.userForm.controls)this.userForm.controls[t].dirty&&(l[t]=this.userForm.controls[t].value);for(let t in l)switch(t){case"language":l[t]=l[t]===ht?null:l[t];break;case"isAdmin":l.role=l[t]?q.ADMINISTRATOR:q.USER;break;case"applications":l.permissions=l[t].join(dt);break;case"groups":l[t]=l[t].map(p=>p.id);break}return l}onError(s){this.layout.sendNotification("error","Group error",this.userForm.value.login,s),this.submitted=!1}};r.\u0275fac=function(l){return new(l||r)},r.\u0275cmp=M({type:r,selectors:[["app-admin-user-dialog"]],inputs:{user:"user"},outputs:{userChange:"userChange"},decls:82,vars:44,consts:[[1,"modal-header","align-items-center"],[1,"modal-title"],["animation","spin","size","sm",1,"ms-2",3,"icon"],[1,"modal-title","ms-auto"],["aria-label","Close","type","button",3,"click"],[1,"modal-body",3,"formGroup"],["type","pills",3,"justified"],[1,"my-3"],["customClass","tab-dialog form-validation",3,"selectTab"],["tabHeading",""],[1,"d-flex","flex-column"],[1,"d-flex","col-12","pb-3"],[1,"flex-fill","col-6","pe-4"],["for","login","l10nTranslate",""],["id","login","appAutofocus","","formControlName","login","autocomplete","off","type","text",1,"form-control","form-control-sm",3,"autoSelect"],[1,"flex-fill","col-6","ps-4"],["for","email","l10nTranslate",""],["id","email","formControlName","email","autocomplete","off","type","email",1,"form-control","form-control-sm"],["for","firstName","l10nTranslate",""],["id","firstName","formControlName","firstName","autocomplete","off","type","text",1,"form-control","form-control-sm"],["for","lastName","l10nTranslate",""],["id","lastName","formControlName","lastName","autocomplete","off","type","text",1,"form-control","form-control-sm"],[1,"position-absolute","pe-4",2,"right","50%","padding-top","6px",3,"passwordToCheck"],["id","password","placeholder","Set a password",3,"passwordChange","password","showGenerator","showLabel","isRequired"],["for","language","l10nTranslate",""],["id","language","formControlName","language",1,"form-control","form-select","form-select-sm"],[3,"ngValue"],[3,"quotaChange","quota","fullWidth"],["for","notification","l10nTranslate",""],["id","notification","formControlName","notification",1,"form-control","form-select","form-select-sm"],["l10nTranslate","",3,"ngValue"],["customClass","tab-dialog",3,"selectTab"],[1,"d-flex","flex-column","col-12","pb-3"],["for","account","l10nTranslate",""],["id","account",1,"form-check","form-switch","form-check-inline"],[1,"d-flex"],["for","isActive",1,"form-check-label"],["formControlName","isActive","id","isActive","type","checkbox",1,"form-check-input"],["for","isAdmin",1,"form-check-label"],["formControlName","isAdmin","id","isAdmin","type","checkbox",1,"form-check-input"],["l10nTranslate",""],[3,"permissionsChange","permissions"],[3,"membersChange","members","withPermissions","customPlaceholder","searchFunction"],[1,"modal-footer"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-danger",3,"disabled"],["data-dismiss","modal","type","button","l10nTranslate","",1,"btn","btn-sm","btn-secondary","ms-auto",3,"click"],["type","button","l10nTranslate","",3,"click","disabled"],[1,"me-2",3,"icon"],[3,"icon"],["l10nTranslate","",1,"ms-2"],["for","storage","l10nTranslate",""],["id","storage",3,"item"],["for","twoFa","l10nTranslate",""],["id","twoFa",1,"pt-1"],["role","button",1,"ms-3","link-danger"],["role","button",1,"ms-3","link-danger",3,"click"],["l10nTranslate","",1,"ms-1"],["for","created","l10nTranslate",""],["id","created"],[1,"d-flex","flex-column","align-items-end","col-6","ps-4"],["for","access","l10nTranslate",""],["id","access",1,"text-align-end"],["l10nTranslate","",1,"text-danger"],["for","groups_permissions","l10nTranslate",""],["id","groups_permissions"],[1,"d-flex","align-items-center","mb-1"],[1,"d-flex","align-items-center","me-5"],[1,"circle-primary-icon","me-2",3,"icon"],[1,"d-flex","fs-xxs","ms-auto"],["l10nTranslate","",1,"ms-2","me-1"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-danger",3,"click","disabled"]],template:function(l,t){l&1&&(n(0,"div",0)(1,"h4",1),g(2,zt,3,2)(3,Kt,3,1),g(4,Xt,1,1,"fa-icon",2),o(),g(5,Jt,3,0,"h4",3),n(6,"button",4),f("click",function(){return t.layout.closeDialog()}),o()(),n(7,"div",5)(8,"tabset",6),u(9,"hr",7),n(10,"tab",8),f("selectTab",function(){return t.tabView=null}),D(11,Yt,3,1,"ng-template",9),n(12,"div",10)(13,"div",11)(14,"div",12)(15,"label",13),m(16,"Login"),o(),u(17,"input",14),o(),n(18,"div",15)(19,"label",16),m(20,"Email"),o(),u(21,"input",17),o()(),n(22,"div",11)(23,"div",12)(24,"label",18),m(25,"First name"),o(),u(26,"input",19),o(),n(27,"div",15)(28,"label",20),m(29,"Last name"),o(),u(30,"input",21),o()(),n(31,"div",11)(32,"div",12),g(33,Zt,1,1,"app-password-strength-bar",22),n(34,"app-input-password",23),f("passwordChange",function(_){return t.updatePassword(_)}),o()(),n(35,"div",15)(36,"label",24),m(37,"Language"),o(),n(38,"select",25),U(39,ei,2,2,"option",26,Q),o()()(),n(41,"div",11)(42,"div",12)(43,"app-storage-quota",27),f("quotaChange",function(_){return t.updateQuota(_)}),o()(),n(44,"div",15)(45,"label",28),m(46,"Notification"),o(),n(47,"select",29),U(48,ti,2,2,"option",30,Q),o()()(),g(50,ni,16,9,"div",11),o(),g(51,ri,13,4,"div",11),o(),n(52,"tab",31),f("selectTab",function(){return t.tabView="permissions"}),D(53,si,3,1,"ng-template",9),n(54,"div",32)(55,"label",33),m(56,"Account status"),o(),n(57,"div",34)(58,"div",35)(59,"label",36),u(60,"input",37),n(61,"span"),m(62),h(63,"translate"),h(64,"titlecase"),o()()(),n(65,"div",35)(66,"label",38),u(67,"input",39),n(68,"span",40),m(69,"Administrator"),o()()()()(),n(70,"app-admin-permissions",41),f("permissionsChange",function(_){return t.updateApplications(_)}),o(),g(71,ci,6,0,"div",32),o(),n(72,"tab",31),f("selectTab",function(){return t.tabView="groups"}),D(73,di,5,2,"ng-template",9),n(74,"div",7)(75,"app-user-search",42),f("membersChange",function(_){return t.updateMembers(_)}),o()()()()(),n(76,"div",43),g(77,pi,2,1,"button",44),n(78,"button",45),f("click",function(){return t.onCancel()}),m(79,"Cancel"),o(),n(80,"button",46),f("click",function(){return t.onSubmit()}),m(81),o()()),l&2&&(a(2),C(t.user?2:3),a(2),C(t.loading?4:-1),a(),C(t.user?5:-1),a(),V(R("btn-close btn-close-white ",t.user?"ms-2":"ms-auto"," ms-2")),a(),c("formGroup",t.userForm),a(),c("justified",!0),a(9),E("is-invalid",t.userForm.controls.login.invalid),c("autoSelect",!1),a(4),E("is-invalid",t.userForm.controls.email.invalid),a(5),E("is-invalid",t.userForm.controls.firstName.invalid),a(7),C(t.userForm.value.password!==t.defaultPassword?33:-1),a(),c("password",t.userForm.value.password)("showGenerator",!0)("showLabel",!0)("isRequired",!0),a(5),k(t.languages),a(4),c("quota",t.userForm.value.storageQuota)("fullWidth",!0),a(5),k(t.allNotifications),a(2),C(t.user&&t.user.storageUsage?50:-1),a(),C(t.user?51:-1),a(10),E("text-danger",!t.userForm.value.isActive),a(),w(" ",T(64,42,A(63,39,t.userForm.value.isActive?"active":"suspended",t.locale.language))," "),a(8),c("permissions",t.userForm.value.applications),a(),C(t.userForm.value.groups.length?71:-1),a(4),c("members",t.userForm.value.groups)("withPermissions",!1)("customPlaceholder","Type to search for groups to add")("searchFunction",t.searchMembers.bind(t)),a(2),C(t.user!=null&&t.user.id?77:-1),a(3),V(R("btn btn-sm ",t.confirmDeletion?"btn-danger":"btn-primary")),c("disabled",t.userForm.invalid||t.submitted),a(),w(" ",t.confirmDeletion?"Confirm deletion":"Confirm"," "))},dependencies:[L,B,Te,we,ye,z,fe,_e,le,W,ue,O,me,de,pe,xe,Ae,Se,At,Ee,be,Et,se,X,Dt,Ft,Z],encapsulation:2});let e=r;return e})();var ui=["MainContextMenu"],fi=["TargetContextMenu"],kt=(e,r)=>r.key,_i=(e,r)=>r.id,gi=(e,r)=>r.mid;function Ci(e,r){if(e&1&&u(0,"fa-icon",24),e&2){let i=d(3);c("icon",i.sortTable.sortParam.asc?i.icons.faArrowDown:i.icons.faArrowUp)("fixedWidth",!1)}}function hi(e,r){if(e&1){let i=N();n(0,"th",23),f("click",function(){v(i);let l=d().$implicit,t=d();return x(t.sortBy(l.key))}),m(1),g(2,Ci,1,2,"fa-icon",24),o()}if(e&2){let i=d().$implicit,s=d();V(i.value.class),Ue("width",i.value.width,"%"),E("text-align-center",i.value.textCenter)("cursor-pointer",i.value.sortable),a(),w(" ",i.value.label," "),a(),C(s.sortTable.sortParam.column===i.key?2:-1)}}function vi(e,r){if(e&1&&g(0,hi,3,10,"th",22),e&2){let i=r.$implicit;C(i.value.show?0:-1)}}function xi(e,r){if(e&1&&u(0,"fa-icon",32),e&2){let i=d(5);c("icon",i.icons.faKey)}}function bi(e,r){if(e&1&&(n(0,"div",27),u(1,"img",30),n(2,"div",28)(3,"span",31),m(4),g(5,xi,1,1,"fa-icon",32),o(),n(6,"span",33),m(7),o()()()),e&2){let i=d(3).$implicit;a(),c("src",i.avatarUrl,oe),a(3),w(" ",i.login," "),a(),C(i.isAdmin?5:-1),a(2),b(i.email)}}function Si(e,r){if(e&1&&(n(0,"span",34),m(1),o()),e&2){let i=d(4).$implicit;a(),b(i.userRoleText)}}function yi(e,r){if(e&1&&(n(0,"div",28)(1,"span",31),m(2),o(),g(3,Si,2,1,"span",34),o()),e&2){let i=d(3).$implicit;a(2),b(i.fullName),a(),C(i.isAdmin?3:-1)}}function Ti(e,r){if(e&1&&u(0,"app-user-avatar",35),e&2){let i=r.$implicit;c("user",i)("isMember",!0)}}function wi(e,r){if(e&1&&U(0,Ti,1,2,"app-user-avatar",35,gi),e&2){let i=d(3).$implicit;k(i.managers)}}function Ai(e,r){if(e&1&&u(0,"app-storage-usage",36),e&2){let i=d(4).$implicit;c("item",i)}}function Ei(e,r){if(e&1&&g(0,Ai,1,1,"app-storage-usage",36),e&2){let i=d(3).$implicit;C(i.storageUsage?0:-1)}}function Fi(e,r){if(e&1&&(n(0,"div",28)(1,"div"),m(2),o(),n(3,"div"),m(4),o()()),e&2){let i=d(3).$implicit;a(2),b(i.currentIp),a(2),b(i.lastIp)}}function Di(e,r){e&1&&m(0," too many login attempts ")}function Ui(e,r){if(e&1&&m(0),e&2){let i=d(4).$implicit;w(" ",i.userIsActiveText," ")}}function ki(e,r){if(e&1&&(n(0,"span",11),g(1,Di,1,0)(2,Ui,1,1),o()),e&2){let i=d(3).$implicit;V(i.isActive?"text-success":"text-danger"),a(),C(!i.isActive&&i.passwordAttempts?1:2)}}function Vi(e,r){if(e&1&&(n(0,"div",28)(1,"div"),m(2),h(3,"amDateFormat"),o(),n(4,"div"),m(5),h(6,"amDateFormat"),o()()),e&2){let i=d(5).$implicit;a(2),b(T(3,2,i.currentAccess)),a(3),b(T(6,4,i.lastAccess))}}function Ni(e,r){if(e&1&&m(0),e&2){let i=d(5).$implicit;w(" ",i.hTimeAgo," ")}}function Ii(e,r){if(e&1){let i=N();n(0,"div",38),f("mouseover",function(){v(i);let l=d(4).$implicit;return x(l.currentAccessHover=!0)})("focus",function(){v(i);let l=d(4).$implicit;return x(l.currentAccessHover=!0)})("mouseleave",function(){v(i);let l=d(4).$implicit;return x(l.currentAccessHover=!1)}),g(1,Vi,7,6,"div",28)(2,Ni,1,1),o()}if(e&2){let i=d(4).$implicit;a(),C(i.currentAccessHover?1:2)}}function Pi(e,r){e&1&&(n(0,"span",11),m(1,"never"),o())}function Mi(e,r){if(e&1&&g(0,Ii,3,1,"div",37)(1,Pi,2,0,"span",11),e&2){let i=d(3).$implicit;C(i.currentAccess?0:1)}}function Gi(e,r){if(e&1&&(n(0,"td"),g(1,bi,8,4,"div",27)(2,yi,4,2,"div",28)(3,wi,2,0)(4,Ei,1,1)(5,Fi,5,2,"div",28)(6,ki,3,3,"span",29)(7,Mi,2,1),o()),e&2){let i,s=d().$implicit,l=d().$implicit;V(Be("",s.value.class," ",s.value.newly?"prop-newly-"+l[s.value.newly]:"")),Ue("width",s.value.width,"%"),E("text-align-center",s.value.textCenter),a(),C((i=s.key)==="login"?1:i==="fullName"?2:i==="managers"?3:i==="storage"?4:i==="currentIp"?5:i==="isActive"?6:i==="currentAccess"?7:-1)}}function Ri(e,r){if(e&1&&g(0,Gi,8,9,"td",26),e&2){let i=r.$implicit;C(i.value.show?0:-1)}}function Li(e,r){if(e&1){let i=N();n(0,"tr",25),f("click",function(){let l=v(i).$implicit,t=d();return x(t.onSelect(l))})("contextmenu",function(l){let t=v(i).$implicit,p=d();return x(p.onTargetContextMenu(l,t))})("pressup",function(l){let t=v(i).$implicit,p=d();return x(p.onTargetContextMenu(l,t))})("tap",function(){v(i);let l=d();return x(l.openDialog())}),U(1,Ri,1,1,null,null,kt),h(3,"keyvalue"),o()}if(e&2){let i=r.$implicit,s=d();E("disabled",!i.isActive)("selected",i.id===(s.selected==null?null:s.selected.id)),a(),k(A(3,4,s.tableHeaders,s.originalOrderKeyValue))}}function Oi(e,r){if(e&1&&(n(0,"span",11),u(1,"fa-icon",5),m(2),o()),e&2){let i=d();a(),c("icon",i.icons.faUserPlus),a(),w("New ",i.guestsView?"guest":"user")}}function Bi(e,r){}function $i(e,r){if(e&1&&(n(0,"span",11),u(1,"fa-icon",5),m(2,"Refresh"),o()),e&2){let i=d();a(),c("icon",i.icons.faArrowRotateRight)}}function Hi(e,r){if(e&1&&(n(0,"span",11),u(1,"fa-icon",5),m(2),o()),e&2){let i=d();a(),c("icon",i.icons.faUserPen),a(),w("Edit ",i.guestsView?"guest":"user")}}function ji(e,r){}function qi(e,r){if(e&1&&(n(0,"span",11),u(1,"fa-icon",5),m(2,"Impersonate identity"),o()),e&2){let i=d();a(),c("icon",i.icons.faUserSecret)}}var Mo=(()=>{let r=class r{constructor(){this.locale=S(K),this.originalOrderKeyValue=vt,this.icons={faRotate:ze,faUserPlus:he,faUserPen:Ce,faArrowDown:mt,faArrowUp:et,faKey:Xe,faUserSecret:lt,faArrowRotateRight:st,faToggleOn:at,faToggleOff:Ke},this.tableHeaders={login:{label:"Login",width:30,textCenter:!1,class:"",show:!0,sortable:!0},fullName:{label:"Full name",width:15,class:"",textCenter:!1,show:!0,sortable:!0},managers:{label:"Managers",width:15,class:"d-none d-md-table-cell",textCenter:!0,show:!1,sortable:!0},storage:{label:"Storage Space",width:15,class:"d-none d-md-table-cell",textCenter:!0,show:!0,sortable:!0},isActive:{label:"Status",width:10,textCenter:!0,class:"d-none d-lg-table-cell",show:!0,sortable:!0},currentIp:{label:"IP",width:10,textCenter:!1,class:"d-none d-lg-table-cell",show:!0},currentAccess:{label:"Seen",width:12,textCenter:!0,class:"d-none d-lg-table-cell",newly:"newly",show:!0,sortable:!0}},this.guestsView=!1,this.loading=!1,this.selected=null,this.users=[],this.router=S(je),this.activatedRoute=S(He),this.layout=S(J),this.adminService=S(H),this.userService=S(Y),this.sortSettings={default:[{prop:"login",type:"string"}],login:[{prop:"login",type:"string"}],fullName:[{prop:"fullName",type:"string"}],managers:[{prop:"managers",type:"length"}],storage:[{prop:"storageUsage",type:"number"}],currentAccess:[{prop:"currentAccess",type:"date"}],isActive:[{prop:"isActive",type:"number"}]},this.sortTable=new St(this.constructor.name,this.sortSettings),this.layout.setBreadcrumbIcon(pt.USERS),this.activatedRoute.data.subscribe(s=>{this.guestsView=s.type===q.GUEST,this.setEnv()})}loadUsersOrGuests(){this.loading=!0,this.onSelect(),this.adminService.listUsers(this.guestsView).subscribe({next:s=>{this.sortBy(this.sortTable.sortParam.column,!1,s),this.scrollView.scrollInto(-1),this.loading=!1},error:s=>{this.users=[],this.layout.sendNotification("error",this.guestsView?"Guests":"Users","Unable to load",s),this.loading=!1}})}onSelect(s=null){this.selected=s}onGuestsView(s){this.guestsView=s,this.router.navigate([$.BASE,s?$.GUESTS:$.USERS]).catch(console.error)}onContextMenu(s){s.preventDefault(),s.stopPropagation(),this.layout.openContextMenu(s,this.mainContextMenu)}onTargetContextMenu(s,l){s.preventDefault(),s.type==="contextmenu"&&s.stopPropagation(),this.onSelect(l),this.layout.openContextMenu(s,this.targetContextMenu)}sortBy(s,l=!0,t){this.users=this.sortTable.sortBy(s,l,t||this.users)}openDialog(s=!1){this.guestsView?this.openGuestDialog(s):this.openUserDialog(s)}openUserDialog(s=!1){s?this.layout.openDialog(Me,"md").content.userChange.pipe(j(1)).subscribe(t=>{let[p,_]=t;p==="add"&&(this.sortBy(this.sortTable.sortParam.column,!1,[...this.users,_]),this.onSelect(_))}):this.adminService.getUser(this.selected.id).subscribe({next:l=>{this.layout.openDialog(Me,"md",{initialState:{user:l}}).content.userChange.pipe(j(1)).subscribe(p=>{let[_,y]=p;_==="update"?this.selected=Object.assign(this.selected,y):_==="delete"&&(this.onSelect(),this.sortBy(this.sortTable.sortParam.column,!1,this.users.filter(De=>De.id!==y.id)))})},error:l=>this.layout.sendNotification("error","Edit group",this.selected.login,l)})}openGuestDialog(s=!1){s?this.layout.openDialog(Pe,"md").content.guestChange.pipe(j(1)).subscribe(t=>{let[p,_]=t,y=new Tt(_);p==="add"&&(this.sortBy(this.sortTable.sortParam.column,!1,[...this.users,y]),this.onSelect(y))}):this.adminService.getUser(this.selected.id,!0).subscribe({next:l=>{this.layout.openDialog(Pe,"md",{initialState:{guest:l}}).content.guestChange.pipe(j(1)).subscribe(p=>{let[_,y]=p;_==="update"?this.selected=Object.assign(this.selected,y):_==="delete"&&(this.onSelect(),this.sortBy(this.sortTable.sortParam.column,!1,this.users.filter(De=>De.id!==y.id)))})},error:l=>this.layout.sendNotification("error","Guest error",this.selected.fullName,l)})}impersonateIdentity(){return P(this,null,function*(){let s=yield this.userService.auth2FaVerifyDialog(!0);s!==!1&&this.adminService.impersonateUser(this.selected.id,s).subscribe({next:l=>{setTimeout(()=>this.adminService.initImpersonateUser(l),500)},error:l=>this.layout.sendNotification("error","Impersonate identity",this.selected.login,l)})})}setEnv(){this.tableHeaders.managers.show=this.guestsView,this.tableHeaders.storage.show=!this.guestsView,this.loadUsersOrGuests(),this.layout.setBreadcrumbNav({url:this.guestsView?`/${$.BASE}/${$.GUESTS}/${ke.GUESTS}`:`/${$.BASE}/${$.USERS}/${ke.USERS}`,splicing:2,translating:!0,sameLink:!0})}};r.\u0275fac=function(l){return new(l||r)},r.\u0275cmp=M({type:r,selectors:[["app-admin-users"]],viewQuery:function(l,t){if(l&1&&(ee(Ne,5),ee(Ve,7),ee(ui,7),ee(fi,7)),l&2){let p;te(p=ie())&&(t.scrollView=p.first),te(p=ie())&&(t.inputFilter=p.first),te(p=ie())&&(t.mainContextMenu=p.first),te(p=ie())&&(t.targetContextMenu=p.first)}},decls:47,vars:40,consts:[["MainContextMenu",""],["TargetContextMenu",""],[1,"app-top-menu"],["container","body","type","button",1,"btn","btn-sm","btn-secondary","me-1",3,"click","tooltip"],[3,"icon","animation"],[3,"icon"],["container","body","type","button",1,"btn","btn-sm","btn-secondary","me-1",3,"click","disabled","tooltip"],[1,"ms-auto"],["btnCheckbox","","type","button",1,"btn","btn-sm","btn-custom","me-1",3,"ngModelChange","ngModel"],[1,"d-flex","align-items-center"],[1,"me-2",3,"icon"],["l10nTranslate",""],[1,"btn-group","btn-group-sm"],[1,"d-none","d-sm-block"],[1,"app-table"],[3,"contextmenu","bufferAmount","items"],["tabindex","-1"],[3,"disabled","selected"],[1,"app-foot-menu"],[1,"mx-auto"],["contextMenuItem","",3,"execute"],["contextMenuItem","",3,"divider"],["l10nTranslate","",3,"width","text-align-center","cursor-pointer","class"],["l10nTranslate","",3,"click"],[3,"icon","fixedWidth"],[3,"click","contextmenu","pressup","tap"],[3,"width","text-align-center","class"],[1,"d-flex","align-items-center","avatar"],[1,"d-flex","flex-column"],["l10nTranslate","",3,"class"],["alt","",1,"avatar-img",3,"src"],["draggable","false",1,"no-pointer-events"],[1,"m-0",3,"icon"],["draggable","false",1,"no-pointer-events","text-muted","fs-xxxs"],["draggable","false","l10nTranslate","",1,"no-pointer-events","text-muted","fs-xxxs"],[3,"user","isMember"],[3,"item"],[1,"d-flex","justify-content-center"],[1,"d-flex","justify-content-center",3,"mouseover","focus","mouseleave"]],template:function(l,t){if(l&1){let p=N();n(0,"div",2)(1,"button",3),h(2,"translate"),f("click",function(){return v(p),x(t.loadUsersOrGuests())}),u(3,"fa-icon",4),o(),n(4,"button",3),h(5,"translate"),f("click",function(){return v(p),x(t.openDialog(!0))}),u(6,"fa-icon",5),o(),n(7,"button",6),h(8,"translate"),f("click",function(){return v(p),x(t.openDialog())}),u(9,"fa-icon",5),o(),n(10,"button",6),h(11,"translate"),f("click",function(){return v(p),x(t.impersonateIdentity())}),u(12,"fa-icon",5),o(),n(13,"div",7)(14,"button",8),f("ngModelChange",function(y){return v(p),x(t.onGuestsView(y))}),n(15,"div",9),u(16,"fa-icon",10),n(17,"span",11),m(18,"Guests"),o()()(),n(19,"div",12),u(20,"app-input-filter",13),o()()(),n(21,"table",14)(22,"thead")(23,"tr"),U(24,vi,1,1,null,null,kt),h(26,"keyvalue"),o()()(),n(27,"app-virtual-scroll",15),h(28,"searchFilter"),f("contextmenu",function(y){return v(p),x(t.onContextMenu(y))}),n(29,"table",14)(30,"tbody",16),U(31,Li,4,7,"tr",17,_i),o()()(),n(33,"div",18)(34,"span",19),m(35),h(36,"translate"),o()(),n(37,"context-menu",null,0),D(39,Oi,3,2,"ng-template",20),f("execute",function(){return v(p),x(t.openDialog(!0))}),D(40,Bi,0,0,"ng-template",21)(41,$i,3,1,"ng-template",20),f("execute",function(){return v(p),x(t.loadUsersOrGuests())}),o(),n(42,"context-menu",null,1),D(44,Hi,3,2,"ng-template",20),f("execute",function(){return v(p),x(t.openDialog())}),D(45,ji,0,0,"ng-template",21)(46,qi,3,1,"ng-template",20),f("execute",function(){return v(p),x(t.impersonateIdentity())}),o()}l&2&&(a(),c("tooltip",A(2,19,"Refresh",t.locale.language)),a(2),c("icon",t.icons.faRotate)("animation",t.loading?"spin":null),a(),c("tooltip",A(5,22,t.guestsView?"New guest":"New user",t.locale.language)),a(2),c("icon",t.icons.faUserPlus),a(),c("disabled",!t.selected)("tooltip",A(8,25,t.guestsView?"Edit guest":"Edit user",t.locale.language)),a(2),c("icon",t.icons.faUserPen),a(),c("disabled",!t.selected)("tooltip",A(11,28,"Impersonate identity",t.locale.language)),a(2),c("icon",t.icons.faUserSecret),a(2),c("ngModel",t.guestsView),a(2),c("icon",t.guestsView?t.icons.faToggleOn:t.icons.faToggleOff),a(8),k(A(26,31,t.tableHeaders,t.originalOrderKeyValue)),a(3),c("bufferAmount",5)("items",A(28,34,t.users,t.inputFilter.search())),a(4),k(t.scrollView==null?null:t.scrollView.viewPortItems),a(4),G("",t.users.length," ",A(36,37,t.guestsView?"guests":"users",t.locale.language)),a(5),c("divider",!0),a(5),c("divider",!0))},dependencies:[L,Ve,We,B,Ne,Se,_t,ft,ut,xt,ge,O,ce,yt,X,$e,bt,Z],encapsulation:2});let e=r;return e})();export{Mo as AdminUsersComponent};
@@ -1 +1 @@
1
- import{B as q,C as $e}from"./chunk-7VRUZRJG.js";import"./chunk-MGGT6MIJ.js";import{a as L}from"./chunk-WI7FOANP.js";import"./chunk-JXZCNFW7.js";import"./chunk-MCLQFZ3S.js";import{a as ke}from"./chunk-ZC5NIT55.js";import{d as Fe}from"./chunk-NE4NDO45.js";import"./chunk-FNFGUIQH.js";import{a as z,b as Q,c as Me,d as Ee}from"./chunk-54EAZ2UD.js";import{b as Ae,c as Pe}from"./chunk-F2J2IIJE.js";import{b as Re}from"./chunk-MVO4WZLK.js";import"./chunk-7ZRXJONB.js";import"./chunk-JF7S3UYQ.js";import"./chunk-VPJ2V27B.js";import{B as re,Gb as ve,Hb as Te,Ib as Ve,Ja as U,Qa as Se,Xa as we,kb as ye,pa as fe,qa as xe,ra as ge,v as ne,w as oe,wb as be}from"./chunk-4U5A2DEP.js";import{m as De}from"./chunk-22EANI6R.js";import{b as Y}from"./chunk-BIUNUYZ5.js";import{Cb as u,Eb as a,Ed as te,Fd as ie,Ga as H,Gc as X,Gd as ae,Gf as _e,Ib as E,If as me,Jb as F,Kb as k,L as I,Ld as le,Ma as r,Mb as V,Nb as P,Ob as O,Pb as C,Qb as v,Rb as N,Sb as j,Ue as ce,Uf as ue,Vf as he,Wd as se,Xa as K,Yb as G,Zc as Z,Zf as Ce,_b as J,ab as T,dc as S,fc as w,ha as M,ib as W,jb as y,kb as b,ma as d,na as _,nb as D,ob as R,of as pe,pb as m,pf as de,qb as s,rb as p,sb as h,yd as ee,zb as g}from"./chunk-HW2H3ISM.js";import{a as B}from"./chunk-RTRJ3KFH.js";var $=class{constructor(l){this.syncs=[],this.newly=0,Object.assign(this,l),Re(this),this.hTimeAgo=(0,re.default)(this.createdAt).fromNow(!0),this.newly=Se(this.createdAt)}fallBackMimeUrl(){this.mimeUrl=De}};var Oe=["MainContextMenu"],Ne=["TargetContextMenu"],Ue=()=>["shares"],Be=(t,l)=>l.id,Ie=(t,l)=>l.key;function ze(t,l){if(t&1&&(s(0,"span",31),C(1),p()),t&2){let e=a().$implicit,n=a(2);V("font-size",n.galleryMode.textSize,"px"),r(),v(e.hTimeAgo)}}function Qe(t,l){if(t&1){let e=g();s(0,"div",32),u("click",function(){d(e);let o=a().$implicit,i=a(2);return _(i.openChildShareDialog(o))}),h(1,"fa-icon",33),s(2,"span"),C(3),p()()}if(t&2){let e=a().$implicit,n=a(2);V("font-size",n.galleryMode.textSize,"px"),r(),m("icon",n.icons.SHARED),r(2),v(e.counts.shares)}}function Le(t,l){if(t&1){let e=g();s(0,"div",21),u("click",function(){let o=d(e).$implicit,i=a(2);return _(i.onSelect(o))})("contextmenu",function(o){let i=d(e).$implicit,c=a(2);return _(c.onTargetContextMenu(o,i))})("pressup",function(o){let i=d(e).$implicit,c=a(2);return _(c.onTargetContextMenu(o,i))})("tap",function(){d(e);let o=a(2);return _(o.openShareDialog())}),s(1,"div",22)(2,"img",23),u("error",function(){let o=d(e).$implicit;return _(o.fallBackMimeUrl())}),p(),s(3,"span",24),y(4,ze,2,3,"span",25),p(),y(5,Qe,4,4,"div",26),s(6,"span",27),h(7,"app-share-repository",28),p()(),s(8,"div",29)(9,"span",30),C(10),p()()()}if(t&2){let e=l.$implicit,n=l.$index,o=a(2);V("height",o.galleryMode.dimensions,"px")("width",o.galleryMode.dimensions,"px"),P("disabled",!e.enabled)("selected",e.id===(o.selected==null?null:o.selected.id)),r(),W("rowIndex",n),r(),m("src",e.mimeUrl,H)("height",o.galleryMode.image)("width",o.galleryMode.image),r(2),b(e.newly?4:-1),r(),b(e.counts.shares?5:-1),r(2),m("share",e)("galleryMode",o.galleryMode),r(2),V("font-size",o.galleryMode.textSize,"px"),r(),v(e.name)}}function qe(t,l){if(t&1){let e=g();s(0,"div",12)(1,"app-virtual-scroll",18),S(2,"searchFilter"),u("contextmenu",function(o){d(e);let i=a();return _(i.onContextMenu(o))}),s(3,"div",19),D(4,Le,11,19,"div",20,Be),p()()()}if(t&2){let e=a();r(),m("childHeight",e.galleryMode.dimensions)("childWidth",e.galleryMode.dimensions)("items",w(2,5,e.shares,e.inputFilter.search()))("galleryMode",!0)("resizeOffset",110),r(3),R(e.scrollView==null?null:e.scrollView.viewPortItems)}}function Ke(t,l){if(t&1&&h(0,"fa-icon",6),t&2){let e=a(4);m("icon",e.sortTable.sortParam.asc?e.icons.faArrowDown:e.icons.faArrowUp)}}function We(t,l){if(t&1){let e=g();s(0,"th",39),u("click",function(){d(e);let o=a().$implicit,i=a(2);return _(i.sortBy(o.key))}),C(1),y(2,Ke,1,1,"fa-icon",6),p()}if(t&2){let e=a().$implicit,n=a(2);O(e.value.class),V("width",e.value.width,"%"),P("text-align-center",e.value.textCenter)("cursor-pointer",e.value.sortable),r(),N(" ",e.value.label," "),r(),b(n.sortTable.sortParam.column===e.key?2:-1)}}function je(t,l){if(t&1&&y(0,We,3,10,"th",38),t&2){let e=l.$implicit;b(e.value.show?0:-1)}}function Ge(t,l){if(t&1){let e=g();s(0,"div",42)(1,"img",44),u("error",function(){d(e);let o=a(3).$implicit;return _(o.fallBackMimeUrl())}),p(),s(2,"div",45)(3,"span",30),C(4),p(),s(5,"span",46),C(6),p()()()}if(t&2){let e=a(3).$implicit;r(),m("src",e.mimeUrl,H),r(3),v(e.name),r(2),v(e.description)}}function Je(t,l){if(t&1&&h(0,"app-share-repository",43),t&2){let e=a(3).$implicit;m("share",e)}}function Xe(t,l){if(t&1&&(s(0,"span"),C(1),S(2,"joinCounts"),p()),t&2){let e=a(3).$implicit;r(),v(w(2,1,e.counts,J(4,Ue)))}}function Ye(t,l){if(t&1){let e=g();s(0,"span",49),u("click",function(){d(e);let o=a(4).$implicit,i=a(2);return _(i.openChildShareDialog(o))}),h(1,"fa-icon",33),s(2,"span"),C(3),p()()}if(t&2){let e=a(4).$implicit,n=a(2);r(),m("icon",n.icons.SHARED),r(2),v(e.counts.shares)}}function Ze(t,l){if(t&1){let e=g();s(0,"span",50),u("click",function(){d(e);let o=a(4).$implicit,i=a(2);return _(i.goToComments(o))}),h(1,"fa-icon",6),p()}if(t&2){let e=a(6);r(),m("icon",e.icons.faCommentDots)}}function et(t,l){if(t&1&&(y(0,Ye,4,2,"span",47),y(1,Ze,2,1,"span",48)),t&2){let e=a(3).$implicit;b(e.counts.shares?0:-1),r(),b(e.hasComments?1:-1)}}function tt(t,l){if(t&1&&C(0),t&2){let e=a(3).$implicit;N(" ",e.hTimeAgo," ")}}function it(t,l){if(t&1&&(s(0,"td"),y(1,Ge,7,3,"div",42)(2,Je,1,1,"app-share-repository",43)(3,Xe,3,5,"span")(4,et,2,2)(5,tt,1,1),p()),t&2){let e,n=a().$implicit,o=a().$implicit;O(G("",n.value.class," ",n.value.newly?"prop-newly-"+o[n.value.newly]:"")),V("width",n.value.width,"%"),P("text-align-center",n.value.textCenter),r(),b((e=n.key)==="name"?1:e==="from"?2:e==="members"?3:e==="infos"?4:e==="created"?5:-1)}}function nt(t,l){if(t&1&&y(0,it,6,9,"td",41),t&2){let e=l.$implicit;b(e.value.show?0:-1)}}function ot(t,l){if(t&1){let e=g();s(0,"tr",40),u("click",function(){let o=d(e).$implicit,i=a(2);return _(i.onSelect(o))})("contextmenu",function(o){let i=d(e).$implicit,c=a(2);return _(c.onTargetContextMenu(o,i))})("pressup",function(o){let i=d(e).$implicit,c=a(2);return _(c.onTargetContextMenu(o,i))})("tap",function(){d(e);let o=a(2);return _(o.openShareDialog())}),D(1,nt,1,1,null,null,Ie),S(3,"keyvalue"),p()}if(t&2){let e=l.$implicit,n=a(2);P("disabled",!e.enabled)("selected",e.id===(n.selected==null?null:n.selected.id)),r(),R(w(3,4,n.tableHeaders,n.originalOrderKeyValue))}}function rt(t,l){if(t&1){let e=g();s(0,"table",34)(1,"thead")(2,"tr"),D(3,je,1,1,null,null,Ie),S(5,"keyvalue"),p()()(),s(6,"app-virtual-scroll",35),S(7,"searchFilter"),u("contextmenu",function(o){d(e);let i=a();return _(i.onContextMenu(o))}),s(8,"table",34)(9,"tbody",36),D(10,ot,4,7,"tr",37,Be),p()()()}if(t&2){let e=a();r(3),R(w(5,2,e.tableHeaders,e.originalOrderKeyValue)),r(3),m("bufferAmount",5)("items",w(7,5,e.shares,e.inputFilter.search())),r(4),R(e.scrollView==null?null:e.scrollView.viewPortItems)}}function at(t,l){if(t&1&&(s(0,"span",51),h(1,"fa-icon",6),C(2,"New share"),p()),t&2){let e=a();r(),m("icon",e.icons.faPlus)}}function lt(t,l){}function st(t,l){if(t&1&&(s(0,"span",51),h(1,"fa-icon",6),C(2,"Refresh"),p()),t&2){let e=a();r(),m("icon",e.icons.faArrowRotateRight)}}function ct(t,l){if(t&1&&(s(0,"span",51),h(1,"fa-icon",6),C(2,"Go to"),p()),t&2){let e=a();r(),m("icon",e.icons.faMapMarkerAlt)}}function pt(t,l){if(t&1&&(s(0,"span",51),h(1,"fa-icon",6),C(2,"Edit"),p()),t&2){let e=a();r(),m("icon",e.icons.faPen)}}function dt(t,l){if(t&1&&(s(0,"span",51),h(1,"fa-icon",6),C(2,"Edit children shares"),p()),t&2){let e=a(2);r(),m("icon",e.icons.SHARED)}}function _t(t,l){if(t&1){let e=g();T(0,dt,3,1,"ng-template",15),u("execute",function(){d(e);let o=a();return _(o.openChildShareDialog())})}}function mt(t,l){}function ut(t,l){if(t&1&&(s(0,"span",51),h(1,"fa-icon",6),C(2,"Informations"),p()),t&2){let e=a();r(),m("icon",e.icons.faCircleInfo)}}var Xt=(()=>{let l=class l{constructor(){this.locale=M(ee),this.layout=M(be),this.icons={SHARED:Te.SHARED_WITH_OTHERS,faArrowRotateRight:me,faArrowDown:ue,faArrowUp:ce,faRotate:ae,faPlus:_e,faMinus:le,faPen:pe,faEllipsisH:se,faMapMarkerAlt:he,faCircleInfo:Ce,faCommentDots:de},this.originalOrderKeyValue=we,this.TAB_MENU=U,this.loading=!1,this.shares=[],this.selected=null,this.tableHeaders={name:{label:"Name",width:40,textCenter:!1,class:"",show:!0,sortable:!0},from:{label:"Shared from",width:20,textCenter:!1,class:"d-none d-md-table-cell",show:!0},members:{label:"Members",width:16,class:"d-none d-md-table-cell",textCenter:!1,show:!0},infos:{label:"Infos",width:14,textCenter:!0,class:"d-none d-md-table-cell",show:!0},created:{label:"Created",width:10,textCenter:!0,class:"d-none d-lg-table-cell",newly:"newly",show:!0,sortable:!0}},this.btnSortFields={name:"Name",created:"Created"},this.activatedRoute=M(Y),this.store=M(ye),this.sharesService=M(Pe),this.sortSettings={default:[{prop:"name",type:"string"}],name:[{prop:"name",type:"string"}],created:[{prop:"createdAt",type:"date"}]},this.sortTable=new Ee(this.constructor.name,this.sortSettings),this.loadShares(),this.activatedRoute.queryParams.subscribe(n=>this.focusOnSelect=n.select),this.layout.setBreadcrumbIcon(this.icons.SHARED),this.layout.setBreadcrumbNav({url:`/${Ve.SHARED}/${ve.SHARED_WITH_OTHER}`,translating:!0,sameLink:!0})}ngOnInit(){this.galleryMode=this.btnNavigationView.currentView()}loadShares(){this.loading=!0,this.onSelect(),this.sharesService.listShares().subscribe({next:n=>{this.sortBy(this.sortTable.sortParam.column,!1,n.map(o=>new $(o))),this.loading=!1,this.focusOnSelect?this.focusOn(this.focusOnSelect):this.scrollView.scrollInto(-1)},error:n=>{this.shares=[],this.loading=!1,this.layout.sendNotification("error","Shares",n.error.message)}})}sortBy(n,o=!0,i){this.shares=this.sortTable.sortBy(n,o,i||this.shares)}onSelect(n=null){this.selected=n,this.store.shareSelection.set(this.selected)}openShareDialog(n=!1){n?this.layout.openDialog(q,"lg").content.shareChange.pipe(I(1)).subscribe(i=>{let[c,f]=i;c==="add"&&(this.focusOnSelect=f.name,this.loadShares())}):this.sharesService.getShare(this.selected.id).subscribe({next:o=>{this.layout.openDialog(q,"lg",{initialState:{share:o}}).content.shareChange.pipe(I(1)).subscribe(c=>{let[f,x]=c;if(f==="update"){this.selected.name=x.name,this.selected.alias=x.alias,this.selected.description=x.description,this.selected.modifiedAt=x.modifiedAt,this.selected.enabled=x.enabled;let A={users:0,groups:0,links:x.links.length};for(let He of x.members)He.isUser?A.users++:A.groups++;this.selected.counts=B(B({},this.selected.counts),A)}else f==="delete"&&(this.onSelect(),this.sortBy(this.sortTable.sortParam.column,!1,this.shares.filter(A=>A.id!==x.id)))})},error:o=>this.layout.sendNotification("error","Edit share",this.selected.name,o)})}openChildShareDialog(n){n&&this.onSelect(n),this.layout.openDialog($e,null,{initialState:{share:this.selected}}).content.sharesCountEvent.subscribe(i=>this.selected.counts.shares=i)}onContextMenu(n){n.preventDefault(),n.stopPropagation(),this.layout.openContextMenu(n,this.mainContextMenu)}onTargetContextMenu(n,o){n.preventDefault(),n.type==="contextmenu"&&n.stopPropagation(),this.onSelect(o),this.layout.openContextMenu(n,this.targetContextMenu)}goTo(n){n=n||this.selected,this.sharesService.goTo(n).catch(console.error)}goToComments(n){this.sharesService.goTo(n).then(()=>this.layout.showRSideBarTab(U.COMMENTS,!0))}focusOn(n){let o=this.shares.find(i=>i.name===n);o&&(setTimeout(()=>this.scrollView.scrollInto(o),100),this.onSelect(o))}};l.\u0275fac=function(o){return new(o||l)},l.\u0275cmp=K({type:l,selectors:[["app-shared"]],viewQuery:function(o,i){if(o&1&&(E(Q,5),E(z,7),E(L,7),E(Oe,7),E(Ne,7)),o&2){let c;F(c=k())&&(i.scrollView=c.first),F(c=k())&&(i.inputFilter=c.first),F(c=k())&&(i.btnNavigationView=c.first),F(c=k())&&(i.mainContextMenu=c.first),F(c=k())&&(i.targetContextMenu=c.first)}},decls:38,vars:40,consts:[["MainContextMenu",""],["TargetContextMenu",""],[1,"app-top-menu"],["container","body","type","button",1,"d-none","d-sm-block","btn","btn-sm","btn-secondary","me-1",3,"click","tooltip"],[3,"icon","animation"],["container","body","type","button",1,"btn","btn-sm","btn-secondary","me-1",3,"click","tooltip"],[3,"icon"],["container","body","type","button",1,"btn","btn-sm","btn-secondary","me-1",3,"click","disabled","tooltip"],[1,"ms-auto"],[1,"btn-group","btn-group-sm","me-1"],[1,"d-none","d-sm-block"],[3,"sortBy","switchView","sortParams","sortFields"],[1,"app-thumbs"],[1,"app-foot-menu"],[1,"mx-auto"],["contextMenuItem","",3,"execute"],["contextMenuItem","",3,"divider"],["contextMenuItem",""],[3,"contextmenu","childHeight","childWidth","items","galleryMode","resizeOffset"],["tabindex","-1",1,"row","g-0"],[1,"card",3,"disabled","selected","height","width"],[1,"card",3,"click","contextmenu","pressup","tap"],[1,"card-body"],["alt","","draggable","true",3,"error","src","height","width"],[1,"label-top-right"],["l10nTranslate","",1,"badge","rounded-pill","bg-warning",3,"font-size"],[1,"label-bottom-right","badge","rounded-pill","bg-purple","cursor-pointer","me-1",3,"font-size"],[1,"label-bottom-left"],[3,"share","galleryMode"],[1,"card-footer","text-center","text-truncate","p-1"],["draggable","false",1,"no-pointer-events"],["l10nTranslate","",1,"badge","rounded-pill","bg-warning"],[1,"label-bottom-right","badge","rounded-pill","bg-purple","cursor-pointer","me-1",3,"click"],[1,"me-1",3,"icon"],[1,"app-table"],[3,"contextmenu","bufferAmount","items"],["tabindex","-1"],[3,"disabled","selected"],["l10nTranslate","",3,"width","text-align-center","cursor-pointer","class"],["l10nTranslate","",3,"click"],[3,"click","contextmenu","pressup","tap"],[3,"width","text-align-center","class"],[1,"d-flex","align-items-center"],[3,"share"],["alt","","draggable","false","height","30","width","30",3,"error","src"],[1,"d-flex","flex-column","text-truncate"],["draggable","false",1,"no-pointer-events","text-muted","fs-xxxs"],[1,"badge","rounded-pill","bg-purple","cursor-pointer","me-1"],[1,"badge","rounded-pill","bg-success","cursor-pointer"],[1,"badge","rounded-pill","bg-purple","cursor-pointer","me-1",3,"click"],[1,"badge","rounded-pill","bg-success","cursor-pointer",3,"click"],["l10nTranslate",""]],template:function(o,i){if(o&1){let c=g();s(0,"div",2)(1,"button",3),S(2,"translate"),u("click",function(){return d(c),_(i.loadShares())}),h(3,"fa-icon",4),p(),s(4,"button",5),S(5,"translate"),u("click",function(){return d(c),_(i.openShareDialog(!0))}),h(6,"fa-icon",6),p(),s(7,"button",7),S(8,"translate"),u("click",function(){return d(c),_(i.openShareDialog())}),h(9,"fa-icon",6),p(),s(10,"button",7),S(11,"translate"),u("click",function(){return d(c),_(i.openChildShareDialog())}),h(12,"fa-icon",6),p(),s(13,"button",7),S(14,"translate"),u("click",function(){return d(c),_(i.goTo())}),h(15,"fa-icon",6),p(),s(16,"div",8)(17,"div",9),h(18,"app-input-filter",10),p(),s(19,"app-navigation-view",11),u("sortBy",function(x){return d(c),_(i.sortBy(x))})("switchView",function(x){return d(c),_(i.galleryMode=x)}),p()()(),y(20,qe,6,8,"div",12)(21,rt,12,8),s(22,"div",13)(23,"span",14),C(24),S(25,"translate"),p()(),s(26,"context-menu",null,0),T(28,at,3,1,"ng-template",15),u("execute",function(){return d(c),_(i.openShareDialog(!0))}),T(29,lt,0,0,"ng-template",16)(30,st,3,1,"ng-template",15),u("execute",function(){return d(c),_(i.loadShares())}),p(),s(31,"context-menu",null,1),T(33,ct,3,1,"ng-template",15),u("execute",function(){return d(c),_(i.goTo())}),T(34,pt,3,1,"ng-template",15),u("execute",function(){return d(c),_(i.openShareDialog())}),y(35,_t,1,0,null,17),T(36,mt,0,0,"ng-template",16)(37,ut,3,1,"ng-template",15),u("execute",function(){return d(c),_(i.layout.showRSideBarTab(i.TAB_MENU.SELECTION))}),p()}o&2&&(r(),m("tooltip",w(2,22,"Refresh",i.locale.language)),r(2),m("icon",i.icons.faArrowRotateRight)("animation",i.loading?"spin":null),r(),m("tooltip",w(5,25,"New share",i.locale.language)),r(2),m("icon",i.icons.faPlus),r(),m("disabled",!i.selected)("tooltip",w(8,28,"Edit share",i.locale.language)),r(2),m("icon",i.icons.faPen),r(),m("disabled",!(i.selected!=null&&i.selected.counts.shares))("tooltip",w(11,31,"Edit children shares",i.locale.language)),r(2),m("icon",i.icons.SHARED),r(),m("disabled",!i.selected)("tooltip",w(14,34,"Go to",i.locale.language)),r(2),m("icon",i.icons.faMapMarkerAlt),r(4),m("sortParams",i.sortTable.sortParam)("sortFields",i.btnSortFields),r(),b(i.galleryMode!=null&&i.galleryMode.enabled?20:21),r(4),j("",i.shares.length," ",w(25,37,"shares",i.locale.language)),r(5),m("divider",!0),r(6),b(i.selected!=null&&i.selected.counts.shares?35:-1),r(),m("divider",!0))},dependencies:[Z,ie,L,z,oe,ne,Q,Fe,ge,xe,fe,Ae,X,te,Me,ke],encapsulation:2});let t=l;return t})();export{Xt as SharedComponent};
1
+ import{B as q,C as $e}from"./chunk-34MKICK5.js";import"./chunk-ZQQPUYLU.js";import{a as L}from"./chunk-LUWQFIWR.js";import"./chunk-JXZCNFW7.js";import"./chunk-U34OZUZ7.js";import{a as ke}from"./chunk-IQOALFYU.js";import{d as Fe}from"./chunk-S75P2FFI.js";import"./chunk-7P27WBGC.js";import{a as z,b as Q,c as Me,d as Ee}from"./chunk-FUFKVHPU.js";import{b as Ae,c as Pe}from"./chunk-2I4CUFUA.js";import{b as Re}from"./chunk-7FUM3JGM.js";import"./chunk-IPAC4VAF.js";import"./chunk-Y7EH7G5K.js";import"./chunk-JUNZFADM.js";import{B as re,Jb as ve,Kb as Te,Lb as Ve,Na as U,Ta as Se,_a as we,nb as ye,ra as fe,sa as xe,ta as ge,v as ne,w as oe,zb as be}from"./chunk-2MTM6SWN.js";import{m as De}from"./chunk-22EANI6R.js";import{b as Y}from"./chunk-ORMRCEGT.js";import{Ad as ee,Cb as u,Eb as a,Ga as H,Gc as X,Gd as te,Hd as ie,Ib as E,Id as ae,Jb as F,Jf as _e,Kb as k,L as I,Lf as me,Ma as r,Mb as V,Nb as P,Nd as le,Ob as O,Pb as C,Qb as v,Rb as N,Sb as j,Xa as K,Xe as ce,Xf as ue,Yb as G,Yd as se,Yf as he,_b as J,_c as Z,ab as T,bg as Ce,dc as S,fc as w,ha as M,ib as W,jb as y,kb as b,ma as d,na as _,nb as D,ob as R,pb as m,qb as s,rb as p,rf as pe,sb as h,sf as de,zb as g}from"./chunk-ATP3BFHV.js";import{a as B}from"./chunk-RTRJ3KFH.js";var $=class{constructor(l){this.syncs=[],this.newly=0,Object.assign(this,l),Re(this),this.hTimeAgo=(0,re.default)(this.createdAt).fromNow(!0),this.newly=Se(this.createdAt)}fallBackMimeUrl(){this.mimeUrl=De}};var Oe=["MainContextMenu"],Ne=["TargetContextMenu"],Ue=()=>["shares"],Be=(t,l)=>l.id,Ie=(t,l)=>l.key;function ze(t,l){if(t&1&&(s(0,"span",31),C(1),p()),t&2){let e=a().$implicit,n=a(2);V("font-size",n.galleryMode.textSize,"px"),r(),v(e.hTimeAgo)}}function Qe(t,l){if(t&1){let e=g();s(0,"div",32),u("click",function(){d(e);let o=a().$implicit,i=a(2);return _(i.openChildShareDialog(o))}),h(1,"fa-icon",33),s(2,"span"),C(3),p()()}if(t&2){let e=a().$implicit,n=a(2);V("font-size",n.galleryMode.textSize,"px"),r(),m("icon",n.icons.SHARED),r(2),v(e.counts.shares)}}function Le(t,l){if(t&1){let e=g();s(0,"div",21),u("click",function(){let o=d(e).$implicit,i=a(2);return _(i.onSelect(o))})("contextmenu",function(o){let i=d(e).$implicit,c=a(2);return _(c.onTargetContextMenu(o,i))})("pressup",function(o){let i=d(e).$implicit,c=a(2);return _(c.onTargetContextMenu(o,i))})("tap",function(){d(e);let o=a(2);return _(o.openShareDialog())}),s(1,"div",22)(2,"img",23),u("error",function(){let o=d(e).$implicit;return _(o.fallBackMimeUrl())}),p(),s(3,"span",24),y(4,ze,2,3,"span",25),p(),y(5,Qe,4,4,"div",26),s(6,"span",27),h(7,"app-share-repository",28),p()(),s(8,"div",29)(9,"span",30),C(10),p()()()}if(t&2){let e=l.$implicit,n=l.$index,o=a(2);V("height",o.galleryMode.dimensions,"px")("width",o.galleryMode.dimensions,"px"),P("disabled",!e.enabled)("selected",e.id===(o.selected==null?null:o.selected.id)),r(),W("rowIndex",n),r(),m("src",e.mimeUrl,H)("height",o.galleryMode.image)("width",o.galleryMode.image),r(2),b(e.newly?4:-1),r(),b(e.counts.shares?5:-1),r(2),m("share",e)("galleryMode",o.galleryMode),r(2),V("font-size",o.galleryMode.textSize,"px"),r(),v(e.name)}}function qe(t,l){if(t&1){let e=g();s(0,"div",12)(1,"app-virtual-scroll",18),S(2,"searchFilter"),u("contextmenu",function(o){d(e);let i=a();return _(i.onContextMenu(o))}),s(3,"div",19),D(4,Le,11,19,"div",20,Be),p()()()}if(t&2){let e=a();r(),m("childHeight",e.galleryMode.dimensions)("childWidth",e.galleryMode.dimensions)("items",w(2,5,e.shares,e.inputFilter.search()))("galleryMode",!0)("resizeOffset",110),r(3),R(e.scrollView==null?null:e.scrollView.viewPortItems)}}function Ke(t,l){if(t&1&&h(0,"fa-icon",6),t&2){let e=a(4);m("icon",e.sortTable.sortParam.asc?e.icons.faArrowDown:e.icons.faArrowUp)}}function We(t,l){if(t&1){let e=g();s(0,"th",39),u("click",function(){d(e);let o=a().$implicit,i=a(2);return _(i.sortBy(o.key))}),C(1),y(2,Ke,1,1,"fa-icon",6),p()}if(t&2){let e=a().$implicit,n=a(2);O(e.value.class),V("width",e.value.width,"%"),P("text-align-center",e.value.textCenter)("cursor-pointer",e.value.sortable),r(),N(" ",e.value.label," "),r(),b(n.sortTable.sortParam.column===e.key?2:-1)}}function je(t,l){if(t&1&&y(0,We,3,10,"th",38),t&2){let e=l.$implicit;b(e.value.show?0:-1)}}function Ge(t,l){if(t&1){let e=g();s(0,"div",42)(1,"img",44),u("error",function(){d(e);let o=a(3).$implicit;return _(o.fallBackMimeUrl())}),p(),s(2,"div",45)(3,"span",30),C(4),p(),s(5,"span",46),C(6),p()()()}if(t&2){let e=a(3).$implicit;r(),m("src",e.mimeUrl,H),r(3),v(e.name),r(2),v(e.description)}}function Je(t,l){if(t&1&&h(0,"app-share-repository",43),t&2){let e=a(3).$implicit;m("share",e)}}function Xe(t,l){if(t&1&&(s(0,"span"),C(1),S(2,"joinCounts"),p()),t&2){let e=a(3).$implicit;r(),v(w(2,1,e.counts,J(4,Ue)))}}function Ye(t,l){if(t&1){let e=g();s(0,"span",49),u("click",function(){d(e);let o=a(4).$implicit,i=a(2);return _(i.openChildShareDialog(o))}),h(1,"fa-icon",33),s(2,"span"),C(3),p()()}if(t&2){let e=a(4).$implicit,n=a(2);r(),m("icon",n.icons.SHARED),r(2),v(e.counts.shares)}}function Ze(t,l){if(t&1){let e=g();s(0,"span",50),u("click",function(){d(e);let o=a(4).$implicit,i=a(2);return _(i.goToComments(o))}),h(1,"fa-icon",6),p()}if(t&2){let e=a(6);r(),m("icon",e.icons.faCommentDots)}}function et(t,l){if(t&1&&(y(0,Ye,4,2,"span",47),y(1,Ze,2,1,"span",48)),t&2){let e=a(3).$implicit;b(e.counts.shares?0:-1),r(),b(e.hasComments?1:-1)}}function tt(t,l){if(t&1&&C(0),t&2){let e=a(3).$implicit;N(" ",e.hTimeAgo," ")}}function it(t,l){if(t&1&&(s(0,"td"),y(1,Ge,7,3,"div",42)(2,Je,1,1,"app-share-repository",43)(3,Xe,3,5,"span")(4,et,2,2)(5,tt,1,1),p()),t&2){let e,n=a().$implicit,o=a().$implicit;O(G("",n.value.class," ",n.value.newly?"prop-newly-"+o[n.value.newly]:"")),V("width",n.value.width,"%"),P("text-align-center",n.value.textCenter),r(),b((e=n.key)==="name"?1:e==="from"?2:e==="members"?3:e==="infos"?4:e==="created"?5:-1)}}function nt(t,l){if(t&1&&y(0,it,6,9,"td",41),t&2){let e=l.$implicit;b(e.value.show?0:-1)}}function ot(t,l){if(t&1){let e=g();s(0,"tr",40),u("click",function(){let o=d(e).$implicit,i=a(2);return _(i.onSelect(o))})("contextmenu",function(o){let i=d(e).$implicit,c=a(2);return _(c.onTargetContextMenu(o,i))})("pressup",function(o){let i=d(e).$implicit,c=a(2);return _(c.onTargetContextMenu(o,i))})("tap",function(){d(e);let o=a(2);return _(o.openShareDialog())}),D(1,nt,1,1,null,null,Ie),S(3,"keyvalue"),p()}if(t&2){let e=l.$implicit,n=a(2);P("disabled",!e.enabled)("selected",e.id===(n.selected==null?null:n.selected.id)),r(),R(w(3,4,n.tableHeaders,n.originalOrderKeyValue))}}function rt(t,l){if(t&1){let e=g();s(0,"table",34)(1,"thead")(2,"tr"),D(3,je,1,1,null,null,Ie),S(5,"keyvalue"),p()()(),s(6,"app-virtual-scroll",35),S(7,"searchFilter"),u("contextmenu",function(o){d(e);let i=a();return _(i.onContextMenu(o))}),s(8,"table",34)(9,"tbody",36),D(10,ot,4,7,"tr",37,Be),p()()()}if(t&2){let e=a();r(3),R(w(5,2,e.tableHeaders,e.originalOrderKeyValue)),r(3),m("bufferAmount",5)("items",w(7,5,e.shares,e.inputFilter.search())),r(4),R(e.scrollView==null?null:e.scrollView.viewPortItems)}}function at(t,l){if(t&1&&(s(0,"span",51),h(1,"fa-icon",6),C(2,"New share"),p()),t&2){let e=a();r(),m("icon",e.icons.faPlus)}}function lt(t,l){}function st(t,l){if(t&1&&(s(0,"span",51),h(1,"fa-icon",6),C(2,"Refresh"),p()),t&2){let e=a();r(),m("icon",e.icons.faArrowRotateRight)}}function ct(t,l){if(t&1&&(s(0,"span",51),h(1,"fa-icon",6),C(2,"Go to"),p()),t&2){let e=a();r(),m("icon",e.icons.faMapMarkerAlt)}}function pt(t,l){if(t&1&&(s(0,"span",51),h(1,"fa-icon",6),C(2,"Edit"),p()),t&2){let e=a();r(),m("icon",e.icons.faPen)}}function dt(t,l){if(t&1&&(s(0,"span",51),h(1,"fa-icon",6),C(2,"Edit children shares"),p()),t&2){let e=a(2);r(),m("icon",e.icons.SHARED)}}function _t(t,l){if(t&1){let e=g();T(0,dt,3,1,"ng-template",15),u("execute",function(){d(e);let o=a();return _(o.openChildShareDialog())})}}function mt(t,l){}function ut(t,l){if(t&1&&(s(0,"span",51),h(1,"fa-icon",6),C(2,"Informations"),p()),t&2){let e=a();r(),m("icon",e.icons.faCircleInfo)}}var Xt=(()=>{let l=class l{constructor(){this.locale=M(ee),this.layout=M(be),this.icons={SHARED:Te.SHARED_WITH_OTHERS,faArrowRotateRight:me,faArrowDown:ue,faArrowUp:ce,faRotate:ae,faPlus:_e,faMinus:le,faPen:pe,faEllipsisH:se,faMapMarkerAlt:he,faCircleInfo:Ce,faCommentDots:de},this.originalOrderKeyValue=we,this.TAB_MENU=U,this.loading=!1,this.shares=[],this.selected=null,this.tableHeaders={name:{label:"Name",width:40,textCenter:!1,class:"",show:!0,sortable:!0},from:{label:"Shared from",width:20,textCenter:!1,class:"d-none d-md-table-cell",show:!0},members:{label:"Members",width:16,class:"d-none d-md-table-cell",textCenter:!1,show:!0},infos:{label:"Infos",width:14,textCenter:!0,class:"d-none d-md-table-cell",show:!0},created:{label:"Created",width:10,textCenter:!0,class:"d-none d-lg-table-cell",newly:"newly",show:!0,sortable:!0}},this.btnSortFields={name:"Name",created:"Created"},this.activatedRoute=M(Y),this.store=M(ye),this.sharesService=M(Pe),this.sortSettings={default:[{prop:"name",type:"string"}],name:[{prop:"name",type:"string"}],created:[{prop:"createdAt",type:"date"}]},this.sortTable=new Ee(this.constructor.name,this.sortSettings),this.loadShares(),this.activatedRoute.queryParams.subscribe(n=>this.focusOnSelect=n.select),this.layout.setBreadcrumbIcon(this.icons.SHARED),this.layout.setBreadcrumbNav({url:`/${Ve.SHARED}/${ve.SHARED_WITH_OTHER}`,translating:!0,sameLink:!0})}ngOnInit(){this.galleryMode=this.btnNavigationView.currentView()}loadShares(){this.loading=!0,this.onSelect(),this.sharesService.listShares().subscribe({next:n=>{this.sortBy(this.sortTable.sortParam.column,!1,n.map(o=>new $(o))),this.loading=!1,this.focusOnSelect?this.focusOn(this.focusOnSelect):this.scrollView.scrollInto(-1)},error:n=>{this.shares=[],this.loading=!1,this.layout.sendNotification("error","Shares",n.error.message)}})}sortBy(n,o=!0,i){this.shares=this.sortTable.sortBy(n,o,i||this.shares)}onSelect(n=null){this.selected=n,this.store.shareSelection.set(this.selected)}openShareDialog(n=!1){n?this.layout.openDialog(q,"lg").content.shareChange.pipe(I(1)).subscribe(i=>{let[c,f]=i;c==="add"&&(this.focusOnSelect=f.name,this.loadShares())}):this.sharesService.getShare(this.selected.id).subscribe({next:o=>{this.layout.openDialog(q,"lg",{initialState:{share:o}}).content.shareChange.pipe(I(1)).subscribe(c=>{let[f,x]=c;if(f==="update"){this.selected.name=x.name,this.selected.alias=x.alias,this.selected.description=x.description,this.selected.modifiedAt=x.modifiedAt,this.selected.enabled=x.enabled;let A={users:0,groups:0,links:x.links.length};for(let He of x.members)He.isUser?A.users++:A.groups++;this.selected.counts=B(B({},this.selected.counts),A)}else f==="delete"&&(this.onSelect(),this.sortBy(this.sortTable.sortParam.column,!1,this.shares.filter(A=>A.id!==x.id)))})},error:o=>this.layout.sendNotification("error","Edit share",this.selected.name,o)})}openChildShareDialog(n){n&&this.onSelect(n),this.layout.openDialog($e,null,{initialState:{share:this.selected}}).content.sharesCountEvent.subscribe(i=>this.selected.counts.shares=i)}onContextMenu(n){n.preventDefault(),n.stopPropagation(),this.layout.openContextMenu(n,this.mainContextMenu)}onTargetContextMenu(n,o){n.preventDefault(),n.type==="contextmenu"&&n.stopPropagation(),this.onSelect(o),this.layout.openContextMenu(n,this.targetContextMenu)}goTo(n){n=n||this.selected,this.sharesService.goTo(n).catch(console.error)}goToComments(n){this.sharesService.goTo(n).then(()=>this.layout.showRSideBarTab(U.COMMENTS,!0))}focusOn(n){let o=this.shares.find(i=>i.name===n);o&&(setTimeout(()=>this.scrollView.scrollInto(o),100),this.onSelect(o))}};l.\u0275fac=function(o){return new(o||l)},l.\u0275cmp=K({type:l,selectors:[["app-shared"]],viewQuery:function(o,i){if(o&1&&(E(Q,5),E(z,7),E(L,7),E(Oe,7),E(Ne,7)),o&2){let c;F(c=k())&&(i.scrollView=c.first),F(c=k())&&(i.inputFilter=c.first),F(c=k())&&(i.btnNavigationView=c.first),F(c=k())&&(i.mainContextMenu=c.first),F(c=k())&&(i.targetContextMenu=c.first)}},decls:38,vars:40,consts:[["MainContextMenu",""],["TargetContextMenu",""],[1,"app-top-menu"],["container","body","type","button",1,"d-none","d-sm-block","btn","btn-sm","btn-secondary","me-1",3,"click","tooltip"],[3,"icon","animation"],["container","body","type","button",1,"btn","btn-sm","btn-secondary","me-1",3,"click","tooltip"],[3,"icon"],["container","body","type","button",1,"btn","btn-sm","btn-secondary","me-1",3,"click","disabled","tooltip"],[1,"ms-auto"],[1,"btn-group","btn-group-sm","me-1"],[1,"d-none","d-sm-block"],[3,"sortBy","switchView","sortParams","sortFields"],[1,"app-thumbs"],[1,"app-foot-menu"],[1,"mx-auto"],["contextMenuItem","",3,"execute"],["contextMenuItem","",3,"divider"],["contextMenuItem",""],[3,"contextmenu","childHeight","childWidth","items","galleryMode","resizeOffset"],["tabindex","-1",1,"row","g-0"],[1,"card",3,"disabled","selected","height","width"],[1,"card",3,"click","contextmenu","pressup","tap"],[1,"card-body"],["alt","","draggable","true",3,"error","src","height","width"],[1,"label-top-right"],["l10nTranslate","",1,"badge","rounded-pill","bg-warning",3,"font-size"],[1,"label-bottom-right","badge","rounded-pill","bg-purple","cursor-pointer","me-1",3,"font-size"],[1,"label-bottom-left"],[3,"share","galleryMode"],[1,"card-footer","text-center","text-truncate","p-1"],["draggable","false",1,"no-pointer-events"],["l10nTranslate","",1,"badge","rounded-pill","bg-warning"],[1,"label-bottom-right","badge","rounded-pill","bg-purple","cursor-pointer","me-1",3,"click"],[1,"me-1",3,"icon"],[1,"app-table"],[3,"contextmenu","bufferAmount","items"],["tabindex","-1"],[3,"disabled","selected"],["l10nTranslate","",3,"width","text-align-center","cursor-pointer","class"],["l10nTranslate","",3,"click"],[3,"click","contextmenu","pressup","tap"],[3,"width","text-align-center","class"],[1,"d-flex","align-items-center"],[3,"share"],["alt","","draggable","false","height","30","width","30",3,"error","src"],[1,"d-flex","flex-column","text-truncate"],["draggable","false",1,"no-pointer-events","text-muted","fs-xxxs"],[1,"badge","rounded-pill","bg-purple","cursor-pointer","me-1"],[1,"badge","rounded-pill","bg-success","cursor-pointer"],[1,"badge","rounded-pill","bg-purple","cursor-pointer","me-1",3,"click"],[1,"badge","rounded-pill","bg-success","cursor-pointer",3,"click"],["l10nTranslate",""]],template:function(o,i){if(o&1){let c=g();s(0,"div",2)(1,"button",3),S(2,"translate"),u("click",function(){return d(c),_(i.loadShares())}),h(3,"fa-icon",4),p(),s(4,"button",5),S(5,"translate"),u("click",function(){return d(c),_(i.openShareDialog(!0))}),h(6,"fa-icon",6),p(),s(7,"button",7),S(8,"translate"),u("click",function(){return d(c),_(i.openShareDialog())}),h(9,"fa-icon",6),p(),s(10,"button",7),S(11,"translate"),u("click",function(){return d(c),_(i.openChildShareDialog())}),h(12,"fa-icon",6),p(),s(13,"button",7),S(14,"translate"),u("click",function(){return d(c),_(i.goTo())}),h(15,"fa-icon",6),p(),s(16,"div",8)(17,"div",9),h(18,"app-input-filter",10),p(),s(19,"app-navigation-view",11),u("sortBy",function(x){return d(c),_(i.sortBy(x))})("switchView",function(x){return d(c),_(i.galleryMode=x)}),p()()(),y(20,qe,6,8,"div",12)(21,rt,12,8),s(22,"div",13)(23,"span",14),C(24),S(25,"translate"),p()(),s(26,"context-menu",null,0),T(28,at,3,1,"ng-template",15),u("execute",function(){return d(c),_(i.openShareDialog(!0))}),T(29,lt,0,0,"ng-template",16)(30,st,3,1,"ng-template",15),u("execute",function(){return d(c),_(i.loadShares())}),p(),s(31,"context-menu",null,1),T(33,ct,3,1,"ng-template",15),u("execute",function(){return d(c),_(i.goTo())}),T(34,pt,3,1,"ng-template",15),u("execute",function(){return d(c),_(i.openShareDialog())}),y(35,_t,1,0,null,17),T(36,mt,0,0,"ng-template",16)(37,ut,3,1,"ng-template",15),u("execute",function(){return d(c),_(i.layout.showRSideBarTab(i.TAB_MENU.SELECTION))}),p()}o&2&&(r(),m("tooltip",w(2,22,"Refresh",i.locale.language)),r(2),m("icon",i.icons.faArrowRotateRight)("animation",i.loading?"spin":null),r(),m("tooltip",w(5,25,"New share",i.locale.language)),r(2),m("icon",i.icons.faPlus),r(),m("disabled",!i.selected)("tooltip",w(8,28,"Edit share",i.locale.language)),r(2),m("icon",i.icons.faPen),r(),m("disabled",!(i.selected!=null&&i.selected.counts.shares))("tooltip",w(11,31,"Edit children shares",i.locale.language)),r(2),m("icon",i.icons.SHARED),r(),m("disabled",!i.selected)("tooltip",w(14,34,"Go to",i.locale.language)),r(2),m("icon",i.icons.faMapMarkerAlt),r(4),m("sortParams",i.sortTable.sortParam)("sortFields",i.btnSortFields),r(),b(i.galleryMode!=null&&i.galleryMode.enabled?20:21),r(4),j("",i.shares.length," ",w(25,37,"shares",i.locale.language)),r(5),m("divider",!0),r(6),b(i.selected!=null&&i.selected.counts.shares?35:-1),r(),m("divider",!0))},dependencies:[Z,ie,L,z,oe,ne,Q,Fe,ge,xe,fe,Ae,X,te,Me,ke],encapsulation:2});let t=l;return t})();export{Xt as SharedComponent};
@@ -0,0 +1 @@
1
+ import{$a as me,Vb as de,zb as fe}from"./chunk-2MTM6SWN.js";import{Ad as he,Cb as H,Eb as I,Fb as G,Gb as X,Gd as ae,Ib as v,J as b,Jb as C,Ka as Q,Kb as y,Ma as T,N as F,Qa as Z,T as L,X as V,Xa as w,Z as z,_a as $,_c as ie,bb as _,bd as se,cb as j,dc as ee,f as W,fc as te,fd as oe,ha as c,jb as q,kb as K,ma as M,na as x,nd as ne,nf as ce,p as k,pb as R,qb as O,rb as P,ta as A,tb as J,ub as Y,va as N,vb as U,wd as re,ya as E,zb as D,zd as le}from"./chunk-ATP3BFHV.js";var ve=["iFilter"];function Ce(r,i){if(r&1){let m=D();O(0,"span",3)(1,"fa-icon",4),H("click",function(){M(m);let e=I();return x(e.clear())}),P()()}if(r&2){let m=I();T(),R("icon",m.faTimes)}}var De=(()=>{let i=class i{constructor(){this.search=A(""),this.locale=c(he),this.faTimes=ce,this.fb=c(re),this.searchControl=this.fb.control(""),this.subscription=this.searchControl.valueChanges.pipe(b(300),F()).subscribe(t=>this.onType(t))}ngOnDestroy(){this.subscription.unsubscribe()}onKeyPress(t){(t.ctrlKey||t.metaKey)&&t.keyCode===70?(t.preventDefault(),t.stopPropagation(),this.iFilter.nativeElement.focus()):t.keyCode===27&&t.preventDefault()}clear(){this.searchControl&&(this.searchControl.reset(),this.iFilter.nativeElement.value="")}onType(t){this.search.set(t)}};i.\u0275fac=function(e){return new(e||i)},i.\u0275cmp=w({type:i,selectors:[["app-input-filter"]],viewQuery:function(e,s){if(e&1&&v(ve,7),e&2){let o;C(o=y())&&(s.iFilter=o.first)}},hostBindings:function(e,s){e&1&&H("keydown",function(h){return s.onKeyPress(h)},Q)},decls:5,vars:6,consts:[["iFilter",""],[1,"btn-group",2,"height","30px","max-width","150px"],["type","text",1,"form-control","form-control-sm",2,"padding-right","24px",3,"keyup.escape","placeholder","formControl"],[1,"cursor-pointer",2,"position","absolute","right","5px","top","3px","z-index","1001","font-size","1rem"],["role","button",3,"click","icon"]],template:function(e,s){if(e&1){let o=D();O(0,"div",1)(1,"input",2,0),ee(3,"translate"),H("keyup.escape",function(){return M(o),x(s.clear())}),P(),q(4,Ce,2,1,"span",3),P()}e&2&&(T(),R("placeholder",te(3,3,"Filter",s.locale.language)+" (Ctrl/\u2318+F)")("formControl",s.searchControl),T(3),K(s.search()?4:-1))},dependencies:[le,se,oe,ne,ie,ae],encapsulation:2});let r=i;return r})();var ye=["content"],Se=["shim"],be=["*"],Qe=(()=>{let i=class i{constructor(){this.isScrollBottom=new _,this.isScrollTop=new _,this.resizeOffset=130,this.galleryMode=!1,this.selectedChat=null,this.items=[],this.childHeight=35,this.bufferAmount=0,this.viewPortItems=[],this.element=c(E),this.renderer=c(Z),this.ngZone=c(j),this.layout=c(fe),this.subscriptions=[],this.scrollbarWidth=0,this._scrollChat=new W,this.scrollChat=this._scrollChat.asObservable().pipe(b(50)),this.startupLoop=!0,this.scrollTimer=null,this.lastScrollHeight=-1,this.lastTopPadding=-1,this.toggleLeftSidebar=this.layout.toggleLeftSideBar.pipe(V(1),z(t=>k(t).pipe(L({count:30,delay:10})))),this.tableScrollHovering=()=>{clearTimeout(this.scrollTimer),this.contentElementRef.nativeElement.classList.contains("table-disable-hover")||this.renderer.addClass(this.contentElementRef.nativeElement,"table-disable-hover"),this.scrollTimer=setTimeout(()=>{this.renderer.removeClass(this.contentElementRef.nativeElement,"table-disable-hover")},200),this.refresh()},this.refreshWithDimensions=()=>{this.resizeOffsetHeight(),this.refresh(!0)},this.refreshWithoutDimensions=()=>{this.refresh()},this.refreshChatWithoutDimensions=()=>{this.chatIsScrolledToTop()&&!this.selectedChat.allHistoryLoaded?this.element.nativeElement.scrollTo({left:0,top:this.element.nativeElement.scrollTop,behavior:"auto"}):(this.refreshWithoutDimensions(),this._scrollChat.next())},this.refreshChatWithDimensions=()=>{this.resizeOffsetHeight(),this.refresh(!0),this.selectedChat.isScrolledToBottom?this.scrollInto(-2):this._scrollChat.next()}}ngOnInit(){this.resizeOffsetHeight(!0),this.addParentEventHandlers(),this.selectedChat?(this.childHeight=1,this.subscriptions.push(this.scrollChat.subscribe(()=>this.checkScrollChat()))):this.galleryMode||this.subscriptions.push(this.toggleLeftSidebar.subscribe(()=>this.resizeTableHeader()))}ngOnDestroy(){this.eventScrollHandler&&(this.eventScrollHandler(),this.eventScrollHandler=void 0),this.subscriptions.forEach(t=>t.unsubscribe())}ngOnChanges(t){if(this.previousStart=void 0,this.previousEnd=void 0,this.galleryMode)this.startupLoop=!0;else{let e=t.items||void 0;(t.items!==void 0&&e.previousValue===void 0||e.previousValue!==void 0&&e.previousValue.length===0)&&(this.startupLoop=!0)}this.refresh(!0),this.checkChangesOnChat(t)}refresh(t=!1){this.ngZone.runOutsideAngular(()=>{(t||!this.dimensionsView)&&this.calculateDimensions(),requestAnimationFrame(()=>this.calculateItems())}),this.resizeTableHeader()}scrollInto(t){if(t===-1){this.element.nativeElement.scrollTo({left:0,top:0,behavior:"auto"});return}else if(t===-2){this.element.nativeElement.scrollTo({left:0,top:this.element.nativeElement.scrollHeight,behavior:"smooth"});return}else if(t===0){this.refresh();return}let e=(this.items||[]).indexOf(t);if(e<0||e>=(this.items||[]).length)return;let s=this.dimensionsView,o=Math.floor(e/s.itemsPerRow)*s.childHeight-s.childHeight*Math.min(e,this.bufferAmount);this.element.nativeElement.scrollTo({left:0,top:o,behavior:"smooth"}),this.refresh()}checkChangesOnChat(t){this.selectedChat&&(t.selectedChat?(this.renderer.setStyle(this.element.nativeElement,"visibility","hidden"),setTimeout(()=>{this.selectedChat.lastScrollPosition===null&&this.saveChatScrollPosition(this.element.nativeElement.scrollHeight),this.element.nativeElement.scrollTo({left:0,top:this.selectedChat.lastScrollPosition,behavior:"auto"}),this.checkScrollChat(),this.renderer.setStyle(this.element.nativeElement,"visibility","visible")},50)):this.chatIsScrolledToBottom()?this.restoreBottomScrollChat():this.chatIsScrolledToTop()&&this.restoreTopScrollChat())}checkScrollChat(){let t=this.chatIsScrolledToBottom(),e=this.chatIsScrolledToTop();e?this.saveChatScrollPosition(this.element.nativeElement.scrollHeight-this.element.nativeElement.scrollTop):t?this.saveChatScrollPosition(this.element.nativeElement.scrollHeight):this.saveChatScrollPosition(),this.ngZone.run(()=>{this.isScrollBottom.next(t),this.isScrollTop.next(e)})}saveChatScrollPosition(t=null){this.selectedChat.lastScrollPosition=t||this.element.nativeElement.scrollTop}chatIsScrolledToBottom(){return Math.ceil(this.element.nativeElement.clientHeight/10)*10===Math.ceil((this.element.nativeElement.scrollHeight-this.element.nativeElement.scrollTop)/10)*10}chatIsScrolledToTop(){return this.element.nativeElement.scrollTop<=300}restoreBottomScrollChat(){setTimeout(()=>{this.element.nativeElement.scrollTo({left:0,top:this.element.nativeElement.scrollHeight,behavior:"smooth"})},50)}restoreTopScrollChat(){setTimeout(()=>{this.element.nativeElement.scrollTop=this.element.nativeElement.scrollHeight-this.selectedChat.lastScrollPosition},50)}resizeOffsetHeight(t=!1){let e=window.innerHeight-this.resizeOffset;(t||this.element.nativeElement.offsetHeight!==e)&&this.renderer.setStyle(this.element.nativeElement,"height",`${e-1}px`)}resizeTableHeader(){!this.selectedChat&&!this.galleryMode&&this.element.nativeElement.previousElementSibling&&this.element.nativeElement.previousElementSibling.classList.contains("app-table")&&setTimeout(()=>this.renderer.setStyle(this.element.nativeElement.previousElementSibling,"width",`${this.element.nativeElement.clientWidth}px`),50)}addParentEventHandlers(){this.ngZone.runOutsideAngular(()=>{this.galleryMode?this.eventScrollHandler=this.renderer.listen(this.element.nativeElement,"scroll",this.refreshWithoutDimensions):this.selectedChat?this.eventScrollHandler=this.renderer.listen(this.element.nativeElement,"scroll",this.refreshChatWithoutDimensions):this.eventScrollHandler=this.renderer.listen(this.element.nativeElement,"scroll",this.tableScrollHovering),this.selectedChat?this.subscriptions.push(this.layout.resizeEvent.subscribe(()=>this.refreshChatWithDimensions())):this.subscriptions.push(this.layout.resizeEvent.subscribe(()=>this.refreshWithDimensions()))})}countItemsPerRow(){if(this.galleryMode){let t,e,s=this.contentElementRef.nativeElement.children;for(s[0]&&(s=s[0].children),e=0;e<s.length&&!(t!==void 0&&t!==s[e].offsetTop);e++)t=s[e].offsetTop;return e}else return 1}calculateDimensions(){let t=this.element.nativeElement,e=t.offsetWidth-t.clientWidth;this.scrollbarWidth!=e&&(this.resizeTableHeader(),this.scrollbarWidth=e);let o=(this.items||[]).length,h=t.clientWidth-this.scrollbarWidth,S=t.clientHeight,f;if(this.childWidth===void 0||this.childHeight===void 0){let B=this.contentElementRef.nativeElement;f=B.children[0]?B.children[0].getBoundingClientRect():{width:h,height:S}}let n=this.childWidth||f.width,d=this.childHeight||f.height,a=this.countItemsPerRow(),u=Math.max(1,Math.floor(h/n));this.galleryMode&&a===0?a=u:a=Math.max(1,a);let l=Math.max(1,Math.floor(S/d)),p=t.scrollTop,ge=Math.max(0,p),g=d*Math.ceil(o/a);l===1&&Math.floor(ge/g*o)+u>=o&&(a=u),g!==this.lastScrollHeight&&(this.renderer.setStyle(this.shimElementRef.nativeElement,"height",`${g}px`),this.lastScrollHeight=g),this.dimensionsView={itemCount:o,viewWidth:h,viewHeight:S,childWidth:n,childHeight:d,itemsPerRow:a,itemsPerCol:l,itemsPerRowByCalc:u,scrollHeight:g}}calculateItems(){let t=this.element.nativeElement,e=this.dimensionsView,s=this.items||[],o=this.galleryMode?this.bufferAmount*e.itemsPerRowByCalc:this.bufferAmount,h=t.scrollTop;h>e.scrollHeight&&(h=e.scrollHeight);let f=Math.max(0,h)/e.scrollHeight*e.itemCount/e.itemsPerRow,n=Math.min(e.itemCount,Math.ceil(f)*e.itemsPerRow+e.itemsPerRow*(e.itemsPerCol+1)),d=n,a=n%e.itemsPerRow;a&&(d=n+e.itemsPerRow-a);let u=Math.max(0,d-e.itemsPerCol*e.itemsPerRow-e.itemsPerRow),l=Math.min(u,Math.floor(f)*e.itemsPerRow),p=s==null||s.length===0?0:e.childHeight*Math.ceil(l/e.itemsPerRow)-e.childHeight*Math.min(l,this.bufferAmount);p!==this.lastTopPadding&&(this.renderer.setStyle(this.contentElementRef.nativeElement,"transform",`translateY(${p}px)`),this.renderer.setStyle(this.contentElementRef.nativeElement,"webkitTransform",`translateY(${p}px)`),this.lastTopPadding=p),l=isNaN(l)?-1:l,n=isNaN(n)?-1:n,l-=o,l=Math.max(0,l),n+=o,n=Math.min(s.length,n),l!==this.previousStart||n!==this.previousEnd?(this.ngZone.run(()=>{this.viewPortItems=s.slice(l,n>=0?n:0)}),this.previousStart=l,this.previousEnd=n,this.startupLoop===!0&&this.refresh()):this.startupLoop===!0&&(this.startupLoop=!1,this.refresh(!0))}};i.\u0275fac=function(e){return new(e||i)},i.\u0275cmp=w({type:i,selectors:[["app-virtual-scroll"]],viewQuery:function(e,s){if(e&1&&(v(ye,7,E),v(Se,7,E)),e&2){let o;C(o=y())&&(s.contentElementRef=o.first),C(o=y())&&(s.shimElementRef=o.first)}},inputs:{resizeOffset:"resizeOffset",galleryMode:"galleryMode",selectedChat:"selectedChat",items:"items",childHeight:"childHeight",childWidth:"childWidth",bufferAmount:"bufferAmount"},outputs:{isScrollBottom:"isScrollBottom",isScrollTop:"isScrollTop"},features:[N],ngContentSelectors:be,decls:5,vars:0,consts:[["shim",""],["content",""],[1,"total-padding"],[1,"scrollable-content"]],template:function(e,s){e&1&&(G(),U(0,"div",2,0),J(2,"div",3,1),X(4),Y())},styles:["[_nghost-%COMP%]{display:block;overflow-x:hidden;overflow-y:auto;position:relative;scrollbar-width:thin}.scrollable-content[_ngcontent-%COMP%]{top:0;left:0;width:100%;position:absolute;will-change:transform}.total-padding[_ngcontent-%COMP%]{width:1px;opacity:0}"],changeDetection:0});let r=i;return r})();var je=(()=>{let i=class i{transform(t,e,s){return!t?.length||!e?t:me(e,t,s)}};i.\u0275fac=function(e){return new(e||i)},i.\u0275pipe=$({name:"searchFilter",type:i,pure:!0});let r=i;return r})();var pe=class{constructor(i,m){this.defaultId="default",this.keyStore=`sortBy${i}`,this.sortSettings=m,this._sortParam=this.sort}get sortParam(){return this._sortParam||this.sort}get sort(){let i=localStorage.getItem(this.keyStore);return i?JSON.parse(i):{column:this.defaultId,asc:!1}}set sort(i){this._sortParam=i,localStorage.setItem(this.keyStore,JSON.stringify(i))}sortBy(i,m=!0,t){if(!(i in this.sortSettings))return t;m&&(this.sortParam.asc?(this.sortParam.column=this.defaultId,this.sortParam.asc=!1,i=this.defaultId):this.sortParam.column===i?this.sortParam.asc=!this.sortParam.asc:(this.sortParam.column=i,this.sortParam.asc=!1),this.sort=this.sortParam);for(let e of this.sortSettings[i])de(e.type,t,e.prop,i===this.defaultId?!1:this.sortParam.asc);return[...t]}};export{De as a,Qe as b,je as c,pe as d};
@@ -1,4 +1,4 @@
1
- import{f as _e,g as Ce}from"./chunk-FNFGUIQH.js";import{f as ge}from"./chunk-VPJ2V27B.js";import{Lb as fe,Qb as z,ua as me,wb as he}from"./chunk-4U5A2DEP.js";import{$b as Z,Cb as h,Dc as Y,Eb as c,Fa as E,Fd as ae,J as L,Jd as le,Lb as D,Ma as r,N as R,Nb as y,Ob as J,Pb as m,Qb as k,Re as pe,Tb as F,Ub as V,Vb as G,Xa as M,Xb as K,Xc as ee,Za as U,Zb as X,Zc as P,_c as te,ab as w,ac as $,ad as ie,ba as I,bb as x,bf as de,dc as A,ed as ne,fc as H,ha as O,hc as j,jb as f,jd as oe,kb as g,lb as q,ma as C,na as v,nb as B,ob as Q,of as ue,pb as d,pe as ce,qb as l,rb as a,sb as _,wd as se,xd as re,ya as W,yb as T,zb as b}from"./chunk-HW2H3ISM.js";var be=(function(i){return i[i.USER=0]="USER",i[i.PERSONAL=1]="PERSONAL",i})(be||{}),ye=(function(i){return i[i.VISIBLE=0]="VISIBLE",i[i.PRIVATE=1]="PRIVATE",i[i.ISOLATED=2]="ISOLATED",i})(ye||{});function ke(i,n){if(i&1&&(l(0,"span"),m(1),a()),i&2){let s=c();r(),k(s.group.name)}}function Se(i,n){i&1&&(l(0,"span",3),m(1,"New personal group"),a())}function Me(i,n){if(i&1&&_(0,"fa-icon",4),i&2){let s=c();d("icon",s.icons.faSpinner)}}function we(i,n){i&1&&(l(0,"span",3),m(1,"Edit personal group"),a())}function Pe(i,n){i&1&&(l(0,"span",3),m(1,"Edit group"),a())}function Ee(i,n){if(i&1&&(l(0,"h4",5),f(1,we,2,0,"span",3)(2,Pe,2,0,"span",3),a()),i&2){let s=c();r(),g(s.isPersonalGroup?1:2)}}var st=(()=>{let n=class n{constructor(){this.groupChange=new x,this.layout=O(he),this.icons={GROUPS:me.GROUPS,faSpinner:de,faCog:pe,faUsers:ce,faPen:ue},this.isPersonalGroup=!0,this.submitted=!1,this.loading=!1,this.userService=O(ge),this.user=this.userService.user}ngOnInit(){this.originalGroup?.id?(this.isPersonalGroup=this.originalGroup.isPersonalGroup,this.group=new z({id:this.originalGroup.id,name:this.originalGroup.name,description:this.originalGroup.description,createdAt:this.originalGroup.createdAt,modifiedAt:this.originalGroup.modifiedAt,type:this.originalGroup.type})):this.group=new z({id:0,name:"",description:"",createdAt:null,modifiedAt:null,type:fe.PGROUP})}onCancel(){this.layout.closeDialog()}onSubmit(){if(this.loading=!0,this.submitted=!0,this.group.id===0)this.userService.createPersonalGroup(this.makeDto(!0)).subscribe({next:e=>{this.loading=!1,this.groupChange.emit(["add",e]),this.layout.sendNotification("success","Group created",e.name),this.layout.closeDialog()},error:e=>this.onError(e)});else{let e=this.makeDto();if(!Object.keys(e).length){this.loading=!1,this.submitted=!1;return}this.userService.updatePersonalGroup(this.originalGroup.id,this.makeDto()).subscribe({next:t=>{this.loading=!1,this.groupChange.emit(["update",t]),this.layout.sendNotification("success","Group updated",t.name),this.layout.closeDialog()},error:t=>this.onError(t)})}}makeDto(e=!1){return{name:e?this.group.name:this.group.name!==this.originalGroup.name?this.group.name:void 0,description:e?this.group.description:this.group.description!==this.originalGroup.description?this.group.description:void 0}}onError(e){this.layout.sendNotification("error","Group error",this.group.name,e),this.submitted=!1,this.loading=!1}};n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=M({type:n,selectors:[["app-user-group-dialog"]],inputs:{originalGroup:"originalGroup"},outputs:{groupChange:"groupChange"},decls:23,vars:15,consts:[[1,"modal-header","align-items-center"],[1,"modal-title"],[1,"me-2",3,"icon"],["l10nTranslate",""],["animation","spin","size","sm",1,"ms-2",3,"icon"],[1,"modal-title","ms-auto"],["aria-label","Close","type","button",3,"click"],[1,"modal-body"],[1,"d-flex","col-12","pb-3"],[1,"flex-fill","col-6","pe-4"],["for","name","l10nTranslate",""],["id","name","appAutofocus","","autocomplete","off","type","text",1,"form-control","form-control-sm",3,"ngModelChange","disabled","autoSelect","ngModel"],[1,"flex-fill","col-6","ps-4"],["for","description","l10nTranslate",""],["id","description","autocomplete","off","type","text",1,"form-control","form-control-sm",3,"ngModelChange","ngModel","disabled"],[1,"modal-footer"],["data-dismiss","modal","type","button","l10nTranslate","",1,"btn","btn-sm","btn-secondary","ms-auto",3,"click"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-primary",3,"click","disabled"]],template:function(t,o){t&1&&(l(0,"div",0)(1,"h4",1),_(2,"fa-icon",2),f(3,ke,2,1,"span")(4,Se,2,0,"span",3),f(5,Me,1,1,"fa-icon",4),a(),f(6,Ee,3,1,"h4",5),l(7,"button",6),h("click",function(){return o.layout.closeDialog()}),a()(),l(8,"div",7)(9,"div",8)(10,"div",9)(11,"label",10),m(12,"Name"),a(),l(13,"input",11),G("ngModelChange",function(u){return V(o.group.name,u)||(o.group.name=u),u}),a()(),l(14,"div",12)(15,"label",13),m(16,"Description"),a(),l(17,"input",14),G("ngModelChange",function(u){return V(o.group.description,u)||(o.group.description=u),u}),a()()()(),l(18,"div",15)(19,"button",16),h("click",function(){return o.onCancel()}),m(20,"Cancel"),a(),l(21,"button",17),h("click",function(){return o.onSubmit()}),m(22," Confirm "),a()()),t&2&&(r(2),d("icon",o.icons.GROUPS),r(),g(o.group.id?3:4),r(2),g(o.loading?5:-1),r(),g(o.group.id?6:-1),r(),J(K("btn-close btn-close-white ",o.group.id?"ms-2":"ms-auto"," ms-2")),r(6),y("is-invalid",!o.group.name),d("disabled",!o.isPersonalGroup)("autoSelect",!1),F("ngModel",o.group.name),r(4),F("ngModel",o.group.description),d("disabled",!o.isPersonalGroup),r(4),d("disabled",!o.group.name||o.submitted))},dependencies:[re,ie,ne,se,oe,P,ae,_e],encapsulation:2});let i=n;return i})();var xe=(()=>{let n=class n{onClick(e){e.stopPropagation()}ngOnInit(){setTimeout(()=>{typeof document<"u"&&document.addEventListener("click",this.offClickHandler)},0)}ngOnDestroy(){typeof document<"u"&&document.removeEventListener("click",this.offClickHandler)}};n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=U({type:n,selectors:[["","offClick",""]],hostBindings:function(t,o){t&1&&h("click",function(u){return o.onClick(u)})},inputs:{offClickHandler:[0,"offClick","offClickHandler"]}});let i=n;return i})();var S=class{constructor(n){typeof n=="string"&&(this.id=this.name=n,this.description=""),typeof n=="object"&&(this.id=n.id||n.name,this.name=n.name,this.description=n.description||"")}};var Te=i=>({active:i}),De=(i,n)=>({o:i,i:n});function Fe(i,n){if(i&1){let s=b();l(0,"input",6),h("keydown",function(t){C(s);let o=c();return v(o.inputEvent(t))})("keyup",function(t){C(s);let o=c();return v(o.inputEvent(t,!0))}),a()}if(i&2){let s=c();d("disabled",s.disabled)}}function Ve(i,n){i&1&&T(0)}function Ge(i,n){if(i&1&&(l(0,"span",12),w(1,Ve,1,0,"ng-container",13),a()),i&2){let s=c(2),e=D(6);y("ui-select-allow-clear",s.allowClear&&s.active),r(),d("ngTemplateOutlet",s.customTemplateSelect||e)("ngTemplateOutletContext",Z(4,Te,s.active))}}function Ae(i,n){if(i&1&&(l(0,"span",9),m(1),a()),i&2){let s=c(2);r(),k(s.placeholder)}}function He(i,n){if(i&1){let s=b();l(0,"button",14),h("click",function(t){C(s);let o=c(2);return v(o.removeClick(o.active,t))}),a()}}function je(i,n){if(i&1){let s=b();l(0,"div",4)(1,"span",7),h("click",function(t){C(s);let o=c();return v(o.matchClick(t))}),f(2,Ge,2,6,"span",8)(3,Ae,2,1,"span",9),f(4,He,1,0,"button",10),_(5,"i",11),a()()}if(i&2){let s=c();r(2),g(s.active?2:3),r(2),g(s.allowClear&&s.active?4:-1)}}function ze(i,n){i&1&&T(0)}function Ne(i,n){if(i&1){let s=b();l(0,"li",15)(1,"div",16),h("click",function(t){let o=C(s).$implicit,p=c(2);return v(p.selectMatch(o,t))})("mouseenter",function(){let t=C(s).$implicit,o=c(2);return v(o.selectActive(t))}),w(2,ze,1,0,"ng-container",13),a()()}if(i&2){let s=n.$implicit,e=c(2),t=D(8);r(),y("active",e.isActive(s)),r(),d("ngTemplateOutlet",e.customTemplateOptions||t)("ngTemplateOutletContext",$(4,De,s,e.inputValue))}}function Le(i,n){if(i&1&&(l(0,"ul",5),B(1,Ne,3,7,"li",15,q),a()),i&2){let s=c();r(),Q(s.options)}}function Re(i,n){if(i&1&&(l(0,"div",17)(1,"span",18),_(2,"fa-icon",19),a(),l(3,"span"),m(4),a(),l(5,"div",20),m(6),a()()),i&2){let s=n.active,e=c();r(2),d("icon",e.itemIcon)("fixedWidth",!1),r(2),k(s.name),r(2),k(s.description)}}function Ie(i,n){if(i&1&&(l(0,"a",21)(1,"div",17)(2,"span",18),_(3,"fa-icon",19),a(),_(4,"span",22),A(5,"highlight"),_(6,"span",23),A(7,"highlight"),a()()),i&2){let s=n.i,e=n.o,t=c();r(3),d("icon",t.itemIcon)("fixedWidth",!1),r(),d("innerHtml",t.sanitize(H(5,4,e.name,s)),E),r(2),d("innerHtml",t.sanitize(H(7,7,e.description,s)),E)}}var bt=(()=>{let n=class n{constructor(){this.element=O(W),this.itemIcon=le,this.allowClear=!0,this.placeholder="",this.idField="id",this.nameField="name",this.descriptionField="description",this.data=new x,this.selected=new x,this.removed=new x,this.typed=new x,this.opened=new x,this.options=[],this.itemObjects=[],this.inputMode=!1,this.inputValue="",this.onChange=Function.prototype,this.onTouched=Function.prototype,this.sanitizer=O(ee),this._items=[],this._optionsOpened=!1,this._disabled=!1,this._active=null,this.clickedOutside=this.clickedOutside.bind(this)}set items(e){if(!e.length){this._items=this.itemObjects=[],this.itemObjects=[];return}this._items=e.filter(t=>{if(typeof t=="string"||typeof t=="object"&&t&&t[this.nameField]&&t[this.idField])return t}),this.itemObjects=this._items.map(t=>typeof t=="string"?new S(t):new S({id:t[this.idField],name:t[this.nameField],description:t[this.descriptionField]}))}get optionsOpened(){return this._optionsOpened}set optionsOpened(e){this._optionsOpened=e,this.opened.emit(e)}get disabled(){return this._disabled}set disabled(e){this._disabled=e,this._disabled===!0&&this.hideOptions()}get active(){return this._active}set active(e){e?this._active=typeof e=="string"?e:new S({id:e[this.idField],name:e[this.nameField],description:e[this.descriptionField]}):this._active=null}sanitize(e){return this.sanitizer.bypassSecurityTrustHtml(e)}inputEvent(e,t=!1){if(e.keyCode===9)return;if(t&&(e.keyCode===37||e.keyCode===39||e.keyCode===38||e.keyCode===40||e.keyCode===13)){e.preventDefault();return}if(!t&&e.keyCode===8){let p=this.element.nativeElement.querySelector("div.ui-select-container > input");(!p.value||p.value.length<=0)&&(this.active&&this.remove(this.active),e.preventDefault())}if(!t&&e.keyCode===27){this.hideOptions(),e.preventDefault();return}if(!t&&e.keyCode===46&&(this.active&&this.remove(this.active),e.preventDefault()),!t&&e.keyCode===37&&this._items.length>0){this.behavior.first(),e.preventDefault();return}if(!t&&e.keyCode===39&&this._items.length>0){this.behavior.last(),e.preventDefault();return}if(!t&&e.keyCode===38){this.behavior.prev(),e.preventDefault();return}if(!t&&e.keyCode===40){this.behavior.next(),e.preventDefault();return}if(!t&&e.keyCode===13){(!this.active||this.active.id!==this.activeOption.id)&&(this.selectActiveMatch(),this.behavior.next()),e.preventDefault();return}let o=e.target||e.srcElement;o?(this.inputValue=o.value,this.doEvent("typed",this.inputValue||" ")):this.open()}ngOnInit(){this.subscription=this.typed.asObservable().pipe(L(200),R()).subscribe(e=>this.doSearch(e)),this.behavior=new N(this),this.doEvent("typed"," ")}ngOnDestroy(){this.subscription.unsubscribe()}remove(e){this._disabled!==!0&&(this.active=null,this.data.next(this.active),this.doEvent("removed",e),this.inputValue="",this.doEvent("typed"," "))}doEvent(e,t){this[e]&&t&&this[e].next(t),this.onTouched(),(e==="selected"||e==="removed")&&this.onChange(this.active)}clickedOutside(){this.inputMode=!1,this.optionsOpened=!1}writeValue(e){this.active=e,this.data.emit(this.active)}registerOnChange(e){this.onChange=e}registerOnTouched(e){this.onTouched=e}matchClick(e){this._disabled!==!0&&(this.inputMode=!this.inputMode,this.inputMode===!0&&(this.focusToInput(),this.open()))}mainClick(e){if(this.inputMode===!0||this._disabled===!0)return;if(e.keyCode===46){e.preventDefault(),this.inputEvent(e);return}if(e.keyCode===8){e.preventDefault(),this.inputEvent(e,!0);return}if(e.keyCode===9||e.keyCode===13||e.keyCode===27||e.keyCode>=37&&e.keyCode<=40){e.preventDefault();return}this.inputMode=!0;let t=String.fromCharCode(96<=e.keyCode&&e.keyCode<=105?e.keyCode-48:e.keyCode).toLowerCase();this.focusToInput(t),this.open();let o=e.target||e.srcElement;o.value=t,this.inputEvent(e)}selectActive(e){this.activeOption=e}isActive(e){return this.activeOption.id===e.id}removeClick(e,t){t.stopPropagation(),this.remove(e)}focusToInput(e=""){setTimeout(()=>{let t=this.element.nativeElement.querySelector("div.ui-select-container > input");t&&(t.focus(),t.value=e)},0)}selectMatch(e,t=void 0){t&&(t.stopPropagation(),t.preventDefault()),!(this.options.length<=0)&&(this.active=e,this.data.next(this.active),this.doEvent("selected",e),this.hideOptions(),this.focusToInput(e.name),this.element.nativeElement.querySelector(".ui-select-container").focus())}doSearch(e){this.searchFunction(e).subscribe({next:t=>{this.items=t},error:t=>{console.error(t),this.items=[]},complete:()=>this.behavior.filter()})}open(){this.options=this.itemObjects,this.options.length>0&&this.behavior.first(),this.optionsOpened=!0}hideOptions(){this.inputMode=!1,this.optionsOpened=!1}selectActiveMatch(){this.selectMatch(this.activeOption)}};n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=M({type:n,selectors:[["app-select"]],inputs:{searchFunction:"searchFunction",customTemplateOptions:"customTemplateOptions",customTemplateSelect:"customTemplateSelect",itemIcon:"itemIcon",allowClear:"allowClear",placeholder:"placeholder",idField:"idField",nameField:"nameField",descriptionField:"descriptionField",disabled:"disabled",active:"active"},outputs:{data:"data",selected:"selected",removed:"removed",typed:"typed",opened:"opened"},features:[X([{provide:te,useExisting:I(()=>n),multi:!0}])],decls:9,vars:5,consts:[["DefaultSelect",""],["DefaultOptions",""],[1,"ui-select-container","dropdown","open",3,"keyup","offClick"],["autocomplete","false","tabindex","-1","type","text",1,"form-control","form-control-sm","ui-select-search",3,"disabled"],[1,"ui-select-match","form-control","form-control-sm"],["role","menu",1,"ui-select-choices","dropdown-menu"],["autocomplete","false","tabindex","-1","type","text",1,"form-control","form-control-sm","ui-select-search",3,"keydown","keyup","disabled"],["tabindex","-1",1,"ui-select-toggle","no-select",2,"outline","0",3,"click"],[1,"ui-select-match-text","w-100",3,"ui-select-allow-clear"],[1,"ui-select-placeholder"],["aria-label","close","type","button",1,"btn-close"],[1,"dropdown-toggle"],[1,"ui-select-match-text","w-100"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],["aria-label","close","type","button",1,"btn-close",3,"click"],["role","menuitem"],[1,"ui-select-choices-row",3,"click","mouseenter"],[1,"d-flex","align-items-center"],[1,"ui-icon","circle-primary-icon","me-2"],[3,"icon","fixedWidth"],[1,"d-flex","ms-auto","me-4","fs-xxxs","text-muted"],["href","javascript:void(0)",1,"dropdown-item","cursor-pointer",2,"padding","3px 5px"],[3,"innerHtml"],[1,"d-flex","ms-auto","fs-xxxs","text-muted",3,"innerHtml"]],template:function(t,o){if(t&1){let p=b();l(0,"div",2),h("keyup",function(Oe){return C(p),v(o.mainClick(Oe))}),_(1,"div"),f(2,Fe,1,1,"input",3)(3,je,6,2,"div",4),f(4,Le,3,0,"ul",5),a(),w(5,Re,7,4,"ng-template",null,0,j)(7,Ie,8,10,"ng-template",null,1,j)}t&2&&(d("offClick",o.clickedOutside),r(),y("ui-disabled",o.disabled),r(),g(o.inputMode?2:3),r(2),g(o.optionsOpened&&o.options&&o.options.length>0?4:-1))},dependencies:[xe,P,Y,Ce],styles:[`.ui-select-container[_ngcontent-%COMP%]{background-color:transparent;border-radius:4px}.ui-select-container.open[_ngcontent-%COMP%] > .dropdown-menu[_ngcontent-%COMP%]{display:block}.ui-select-container.open[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{outline:none}.ui-select-container[_ngcontent-%COMP%] .ui-icon[_ngcontent-%COMP%]{min-width:26px;min-height:26px;font-size:.85rem}.ui-select-container[_ngcontent-%COMP%] .ui-disabled[_ngcontent-%COMP%]{background-color:#d4dbe8;border-radius:4px;position:absolute;width:100%;height:100%;z-index:5;opacity:.6;top:0;left:0;cursor:not-allowed}.ui-select-container[_ngcontent-%COMP%] .ui-select-search[_ngcontent-%COMP%]{line-height:26px}.ui-select-container[_ngcontent-%COMP%] .ui-select-match[_ngcontent-%COMP%]{padding-left:.3rem}.ui-select-container[_ngcontent-%COMP%] .ui-select-match[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{text-align:start!important}.ui-select-container[_ngcontent-%COMP%] .ui-select-match[_ngcontent-%COMP%] .caret[_ngcontent-%COMP%]{position:absolute;top:45%;right:15px}.ui-select-container[_ngcontent-%COMP%] .ui-select-match[_ngcontent-%COMP%] .close[_ngcontent-%COMP%]{font-size:1.6em;line-height:.75}.ui-select-container[_ngcontent-%COMP%] .ui-select-match[_ngcontent-%COMP%] .ui-select-toggle[_ngcontent-%COMP%]{display:flex;align-items:center}.ui-select-container[_ngcontent-%COMP%] .ui-select-match[_ngcontent-%COMP%] .ui-select-toggle[_ngcontent-%COMP%] > .caret[_ngcontent-%COMP%]{position:absolute;height:10px;top:50%;right:10px;margin-top:-2px}.ui-select-container[_ngcontent-%COMP%] .ui-select-match[_ngcontent-%COMP%] .ui-select-placeholder[_ngcontent-%COMP%]{float:left;line-height:26px;color:#8c8c8c;width:100%}.ui-select-container[_ngcontent-%COMP%] .ui-select-match[_ngcontent-%COMP%] .dropdown-toggle[_ngcontent-%COMP%]{cursor:pointer}.ui-select-container[_ngcontent-%COMP%] .ui-select-match[_ngcontent-%COMP%] .dropdown-toggle[_ngcontent-%COMP%]:after{display:inline-block!important}.ui-select-container[_ngcontent-%COMP%] .ui-select-choices[_ngcontent-%COMP%]{width:100%;height:auto;max-height:200px;overflow-x:hidden;margin-top:0}.ui-select-container[_ngcontent-%COMP%] .ui-select-choices[_ngcontent-%COMP%] .ui-select-choices-row[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{display:block;padding:3px 5px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.ui-select-container[_ngcontent-%COMP%] .ui-select-choices[_ngcontent-%COMP%] .ui-select-choices-row[_ngcontent-%COMP%] .active[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{text-decoration:none;outline:0}.ui-select-container[_ngcontent-%COMP%] .ui-select-choices[_ngcontent-%COMP%] .ui-select-choices-row[_ngcontent-%COMP%] .dropdown-item[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{pointer-events:none}
1
+ import{f as Ce}from"./chunk-7P27WBGC.js";import{m as fe,p as _e}from"./chunk-JUNZFADM.js";import{Ob as ge,Tb as z,wa as me,zb as he}from"./chunk-2MTM6SWN.js";import{$b as Z,$c as te,Cb as h,Dc as Y,Eb as c,Fa as E,Hd as ae,J as L,Lb as D,Ld as le,Ma as r,N as R,Nb as y,Ob as J,Pb as m,Qb as k,Tb as F,Ub as V,Ue as pe,Vb as G,Xa as M,Xb as K,Yc as ee,Za as U,Zb as X,_c as P,ab as w,ac as $,ba as I,bb as x,bd as ie,dc as A,ef as de,fc as H,fd as ne,ha as O,hc as j,jb as f,kb as g,kd as oe,lb as q,ma as C,na as v,nb as B,ob as Q,pb as d,qb as l,rb as a,rf as ue,sb as _,se as ce,ya as W,yb as T,yd as se,zb as b,zd as re}from"./chunk-ATP3BFHV.js";var be=(function(i){return i[i.USER=0]="USER",i[i.PERSONAL=1]="PERSONAL",i})(be||{}),ye=(function(i){return i[i.VISIBLE=0]="VISIBLE",i[i.PRIVATE=1]="PRIVATE",i[i.ISOLATED=2]="ISOLATED",i})(ye||{});function ke(i,n){if(i&1&&(l(0,"span"),m(1),a()),i&2){let s=c();r(),k(s.group.name)}}function Se(i,n){i&1&&(l(0,"span",3),m(1,"New personal group"),a())}function Me(i,n){if(i&1&&_(0,"fa-icon",4),i&2){let s=c();d("icon",s.icons.faSpinner)}}function we(i,n){i&1&&(l(0,"span",3),m(1,"Edit personal group"),a())}function Pe(i,n){i&1&&(l(0,"span",3),m(1,"Edit group"),a())}function Ee(i,n){if(i&1&&(l(0,"h4",5),f(1,we,2,0,"span",3)(2,Pe,2,0,"span",3),a()),i&2){let s=c();r(),g(s.isPersonalGroup?1:2)}}var st=(()=>{let n=class n{constructor(){this.groupChange=new x,this.layout=O(he),this.icons={GROUPS:me.GROUPS,faSpinner:de,faCog:pe,faUsers:ce,faPen:ue},this.isPersonalGroup=!0,this.submitted=!1,this.loading=!1,this.userService=O(_e),this.user=this.userService.user}ngOnInit(){this.originalGroup?.id?(this.isPersonalGroup=this.originalGroup.isPersonalGroup,this.group=new z({id:this.originalGroup.id,name:this.originalGroup.name,description:this.originalGroup.description,createdAt:this.originalGroup.createdAt,modifiedAt:this.originalGroup.modifiedAt,type:this.originalGroup.type})):this.group=new z({id:0,name:"",description:"",createdAt:null,modifiedAt:null,type:ge.PGROUP})}onCancel(){this.layout.closeDialog()}onSubmit(){if(this.loading=!0,this.submitted=!0,this.group.id===0)this.userService.createPersonalGroup(this.makeDto(!0)).subscribe({next:e=>{this.loading=!1,this.groupChange.emit(["add",e]),this.layout.sendNotification("success","Group created",e.name),this.layout.closeDialog()},error:e=>this.onError(e)});else{let e=this.makeDto();if(!Object.keys(e).length){this.loading=!1,this.submitted=!1;return}this.userService.updatePersonalGroup(this.originalGroup.id,this.makeDto()).subscribe({next:t=>{this.loading=!1,this.groupChange.emit(["update",t]),this.layout.sendNotification("success","Group updated",t.name),this.layout.closeDialog()},error:t=>this.onError(t)})}}makeDto(e=!1){return{name:e?this.group.name:this.group.name!==this.originalGroup.name?this.group.name:void 0,description:e?this.group.description:this.group.description!==this.originalGroup.description?this.group.description:void 0}}onError(e){this.layout.sendNotification("error","Group error",this.group.name,e),this.submitted=!1,this.loading=!1}};n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=M({type:n,selectors:[["app-user-group-dialog"]],inputs:{originalGroup:"originalGroup"},outputs:{groupChange:"groupChange"},decls:23,vars:15,consts:[[1,"modal-header","align-items-center"],[1,"modal-title"],[1,"me-2",3,"icon"],["l10nTranslate",""],["animation","spin","size","sm",1,"ms-2",3,"icon"],[1,"modal-title","ms-auto"],["aria-label","Close","type","button",3,"click"],[1,"modal-body"],[1,"d-flex","col-12","pb-3"],[1,"flex-fill","col-6","pe-4"],["for","name","l10nTranslate",""],["id","name","appAutofocus","","autocomplete","off","type","text",1,"form-control","form-control-sm",3,"ngModelChange","disabled","autoSelect","ngModel"],[1,"flex-fill","col-6","ps-4"],["for","description","l10nTranslate",""],["id","description","autocomplete","off","type","text",1,"form-control","form-control-sm",3,"ngModelChange","ngModel","disabled"],[1,"modal-footer"],["data-dismiss","modal","type","button","l10nTranslate","",1,"btn","btn-sm","btn-secondary","ms-auto",3,"click"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-primary",3,"click","disabled"]],template:function(t,o){t&1&&(l(0,"div",0)(1,"h4",1),_(2,"fa-icon",2),f(3,ke,2,1,"span")(4,Se,2,0,"span",3),f(5,Me,1,1,"fa-icon",4),a(),f(6,Ee,3,1,"h4",5),l(7,"button",6),h("click",function(){return o.layout.closeDialog()}),a()(),l(8,"div",7)(9,"div",8)(10,"div",9)(11,"label",10),m(12,"Name"),a(),l(13,"input",11),G("ngModelChange",function(u){return V(o.group.name,u)||(o.group.name=u),u}),a()(),l(14,"div",12)(15,"label",13),m(16,"Description"),a(),l(17,"input",14),G("ngModelChange",function(u){return V(o.group.description,u)||(o.group.description=u),u}),a()()()(),l(18,"div",15)(19,"button",16),h("click",function(){return o.onCancel()}),m(20,"Cancel"),a(),l(21,"button",17),h("click",function(){return o.onSubmit()}),m(22," Confirm "),a()()),t&2&&(r(2),d("icon",o.icons.GROUPS),r(),g(o.group.id?3:4),r(2),g(o.loading?5:-1),r(),g(o.group.id?6:-1),r(),J(K("btn-close btn-close-white ",o.group.id?"ms-2":"ms-auto"," ms-2")),r(6),y("is-invalid",!o.group.name),d("disabled",!o.isPersonalGroup)("autoSelect",!1),F("ngModel",o.group.name),r(4),F("ngModel",o.group.description),d("disabled",!o.isPersonalGroup),r(4),d("disabled",!o.group.name||o.submitted))},dependencies:[re,ie,ne,se,oe,P,ae,fe],encapsulation:2});let i=n;return i})();var xe=(()=>{let n=class n{onClick(e){e.stopPropagation()}ngOnInit(){setTimeout(()=>{typeof document<"u"&&document.addEventListener("click",this.offClickHandler)},0)}ngOnDestroy(){typeof document<"u"&&document.removeEventListener("click",this.offClickHandler)}};n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=U({type:n,selectors:[["","offClick",""]],hostBindings:function(t,o){t&1&&h("click",function(u){return o.onClick(u)})},inputs:{offClickHandler:[0,"offClick","offClickHandler"]}});let i=n;return i})();var S=class{constructor(n){typeof n=="string"&&(this.id=this.name=n,this.description=""),typeof n=="object"&&(this.id=n.id||n.name,this.name=n.name,this.description=n.description||"")}};var Te=i=>({active:i}),De=(i,n)=>({o:i,i:n});function Fe(i,n){if(i&1){let s=b();l(0,"input",6),h("keydown",function(t){C(s);let o=c();return v(o.inputEvent(t))})("keyup",function(t){C(s);let o=c();return v(o.inputEvent(t,!0))}),a()}if(i&2){let s=c();d("disabled",s.disabled)}}function Ve(i,n){i&1&&T(0)}function Ge(i,n){if(i&1&&(l(0,"span",12),w(1,Ve,1,0,"ng-container",13),a()),i&2){let s=c(2),e=D(6);y("ui-select-allow-clear",s.allowClear&&s.active),r(),d("ngTemplateOutlet",s.customTemplateSelect||e)("ngTemplateOutletContext",Z(4,Te,s.active))}}function Ae(i,n){if(i&1&&(l(0,"span",9),m(1),a()),i&2){let s=c(2);r(),k(s.placeholder)}}function He(i,n){if(i&1){let s=b();l(0,"button",14),h("click",function(t){C(s);let o=c(2);return v(o.removeClick(o.active,t))}),a()}}function je(i,n){if(i&1){let s=b();l(0,"div",4)(1,"span",7),h("click",function(t){C(s);let o=c();return v(o.matchClick(t))}),f(2,Ge,2,6,"span",8)(3,Ae,2,1,"span",9),f(4,He,1,0,"button",10),_(5,"i",11),a()()}if(i&2){let s=c();r(2),g(s.active?2:3),r(2),g(s.allowClear&&s.active?4:-1)}}function ze(i,n){i&1&&T(0)}function Ne(i,n){if(i&1){let s=b();l(0,"li",15)(1,"div",16),h("click",function(t){let o=C(s).$implicit,p=c(2);return v(p.selectMatch(o,t))})("mouseenter",function(){let t=C(s).$implicit,o=c(2);return v(o.selectActive(t))}),w(2,ze,1,0,"ng-container",13),a()()}if(i&2){let s=n.$implicit,e=c(2),t=D(8);r(),y("active",e.isActive(s)),r(),d("ngTemplateOutlet",e.customTemplateOptions||t)("ngTemplateOutletContext",$(4,De,s,e.inputValue))}}function Le(i,n){if(i&1&&(l(0,"ul",5),B(1,Ne,3,7,"li",15,q),a()),i&2){let s=c();r(),Q(s.options)}}function Re(i,n){if(i&1&&(l(0,"div",17)(1,"span",18),_(2,"fa-icon",19),a(),l(3,"span"),m(4),a(),l(5,"div",20),m(6),a()()),i&2){let s=n.active,e=c();r(2),d("icon",e.itemIcon)("fixedWidth",!1),r(2),k(s.name),r(2),k(s.description)}}function Ie(i,n){if(i&1&&(l(0,"a",21)(1,"div",17)(2,"span",18),_(3,"fa-icon",19),a(),_(4,"span",22),A(5,"highlight"),_(6,"span",23),A(7,"highlight"),a()()),i&2){let s=n.i,e=n.o,t=c();r(3),d("icon",t.itemIcon)("fixedWidth",!1),r(),d("innerHtml",t.sanitize(H(5,4,e.name,s)),E),r(2),d("innerHtml",t.sanitize(H(7,7,e.description,s)),E)}}var bt=(()=>{let n=class n{constructor(){this.element=O(W),this.itemIcon=le,this.allowClear=!0,this.placeholder="",this.idField="id",this.nameField="name",this.descriptionField="description",this.data=new x,this.selected=new x,this.removed=new x,this.typed=new x,this.opened=new x,this.options=[],this.itemObjects=[],this.inputMode=!1,this.inputValue="",this.onChange=Function.prototype,this.onTouched=Function.prototype,this.sanitizer=O(ee),this._items=[],this._optionsOpened=!1,this._disabled=!1,this._active=null,this.clickedOutside=this.clickedOutside.bind(this)}set items(e){if(!e.length){this._items=this.itemObjects=[],this.itemObjects=[];return}this._items=e.filter(t=>{if(typeof t=="string"||typeof t=="object"&&t&&t[this.nameField]&&t[this.idField])return t}),this.itemObjects=this._items.map(t=>typeof t=="string"?new S(t):new S({id:t[this.idField],name:t[this.nameField],description:t[this.descriptionField]}))}get optionsOpened(){return this._optionsOpened}set optionsOpened(e){this._optionsOpened=e,this.opened.emit(e)}get disabled(){return this._disabled}set disabled(e){this._disabled=e,this._disabled===!0&&this.hideOptions()}get active(){return this._active}set active(e){e?this._active=typeof e=="string"?e:new S({id:e[this.idField],name:e[this.nameField],description:e[this.descriptionField]}):this._active=null}sanitize(e){return this.sanitizer.bypassSecurityTrustHtml(e)}inputEvent(e,t=!1){if(e.keyCode===9)return;if(t&&(e.keyCode===37||e.keyCode===39||e.keyCode===38||e.keyCode===40||e.keyCode===13)){e.preventDefault();return}if(!t&&e.keyCode===8){let p=this.element.nativeElement.querySelector("div.ui-select-container > input");(!p.value||p.value.length<=0)&&(this.active&&this.remove(this.active),e.preventDefault())}if(!t&&e.keyCode===27){this.hideOptions(),e.preventDefault();return}if(!t&&e.keyCode===46&&(this.active&&this.remove(this.active),e.preventDefault()),!t&&e.keyCode===37&&this._items.length>0){this.behavior.first(),e.preventDefault();return}if(!t&&e.keyCode===39&&this._items.length>0){this.behavior.last(),e.preventDefault();return}if(!t&&e.keyCode===38){this.behavior.prev(),e.preventDefault();return}if(!t&&e.keyCode===40){this.behavior.next(),e.preventDefault();return}if(!t&&e.keyCode===13){(!this.active||this.active.id!==this.activeOption.id)&&(this.selectActiveMatch(),this.behavior.next()),e.preventDefault();return}let o=e.target||e.srcElement;o?(this.inputValue=o.value,this.doEvent("typed",this.inputValue||" ")):this.open()}ngOnInit(){this.subscription=this.typed.asObservable().pipe(L(200),R()).subscribe(e=>this.doSearch(e)),this.behavior=new N(this),this.doEvent("typed"," ")}ngOnDestroy(){this.subscription.unsubscribe()}remove(e){this._disabled!==!0&&(this.active=null,this.data.next(this.active),this.doEvent("removed",e),this.inputValue="",this.doEvent("typed"," "))}doEvent(e,t){this[e]&&t&&this[e].next(t),this.onTouched(),(e==="selected"||e==="removed")&&this.onChange(this.active)}clickedOutside(){this.inputMode=!1,this.optionsOpened=!1}writeValue(e){this.active=e,this.data.emit(this.active)}registerOnChange(e){this.onChange=e}registerOnTouched(e){this.onTouched=e}matchClick(e){this._disabled!==!0&&(this.inputMode=!this.inputMode,this.inputMode===!0&&(this.focusToInput(),this.open()))}mainClick(e){if(this.inputMode===!0||this._disabled===!0)return;if(e.keyCode===46){e.preventDefault(),this.inputEvent(e);return}if(e.keyCode===8){e.preventDefault(),this.inputEvent(e,!0);return}if(e.keyCode===9||e.keyCode===13||e.keyCode===27||e.keyCode>=37&&e.keyCode<=40){e.preventDefault();return}this.inputMode=!0;let t=String.fromCharCode(96<=e.keyCode&&e.keyCode<=105?e.keyCode-48:e.keyCode).toLowerCase();this.focusToInput(t),this.open();let o=e.target||e.srcElement;o.value=t,this.inputEvent(e)}selectActive(e){this.activeOption=e}isActive(e){return this.activeOption.id===e.id}removeClick(e,t){t.stopPropagation(),this.remove(e)}focusToInput(e=""){setTimeout(()=>{let t=this.element.nativeElement.querySelector("div.ui-select-container > input");t&&(t.focus(),t.value=e)},0)}selectMatch(e,t=void 0){t&&(t.stopPropagation(),t.preventDefault()),!(this.options.length<=0)&&(this.active=e,this.data.next(this.active),this.doEvent("selected",e),this.hideOptions(),this.focusToInput(e.name),this.element.nativeElement.querySelector(".ui-select-container").focus())}doSearch(e){this.searchFunction(e).subscribe({next:t=>{this.items=t},error:t=>{console.error(t),this.items=[]},complete:()=>this.behavior.filter()})}open(){this.options=this.itemObjects,this.options.length>0&&this.behavior.first(),this.optionsOpened=!0}hideOptions(){this.inputMode=!1,this.optionsOpened=!1}selectActiveMatch(){this.selectMatch(this.activeOption)}};n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=M({type:n,selectors:[["app-select"]],inputs:{searchFunction:"searchFunction",customTemplateOptions:"customTemplateOptions",customTemplateSelect:"customTemplateSelect",itemIcon:"itemIcon",allowClear:"allowClear",placeholder:"placeholder",idField:"idField",nameField:"nameField",descriptionField:"descriptionField",disabled:"disabled",active:"active"},outputs:{data:"data",selected:"selected",removed:"removed",typed:"typed",opened:"opened"},features:[X([{provide:te,useExisting:I(()=>n),multi:!0}])],decls:9,vars:5,consts:[["DefaultSelect",""],["DefaultOptions",""],[1,"ui-select-container","dropdown","open",3,"keyup","offClick"],["autocomplete","false","tabindex","-1","type","text",1,"form-control","form-control-sm","ui-select-search",3,"disabled"],[1,"ui-select-match","form-control","form-control-sm"],["role","menu",1,"ui-select-choices","dropdown-menu"],["autocomplete","false","tabindex","-1","type","text",1,"form-control","form-control-sm","ui-select-search",3,"keydown","keyup","disabled"],["tabindex","-1",1,"ui-select-toggle","no-select",2,"outline","0",3,"click"],[1,"ui-select-match-text","w-100",3,"ui-select-allow-clear"],[1,"ui-select-placeholder"],["aria-label","close","type","button",1,"btn-close"],[1,"dropdown-toggle"],[1,"ui-select-match-text","w-100"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],["aria-label","close","type","button",1,"btn-close",3,"click"],["role","menuitem"],[1,"ui-select-choices-row",3,"click","mouseenter"],[1,"d-flex","align-items-center"],[1,"ui-icon","circle-primary-icon","me-2"],[3,"icon","fixedWidth"],[1,"d-flex","ms-auto","me-4","fs-xxxs","text-muted"],["href","javascript:void(0)",1,"dropdown-item","cursor-pointer",2,"padding","3px 5px"],[3,"innerHtml"],[1,"d-flex","ms-auto","fs-xxxs","text-muted",3,"innerHtml"]],template:function(t,o){if(t&1){let p=b();l(0,"div",2),h("keyup",function(Oe){return C(p),v(o.mainClick(Oe))}),_(1,"div"),f(2,Fe,1,1,"input",3)(3,je,6,2,"div",4),f(4,Le,3,0,"ul",5),a(),w(5,Re,7,4,"ng-template",null,0,j)(7,Ie,8,10,"ng-template",null,1,j)}t&2&&(d("offClick",o.clickedOutside),r(),y("ui-disabled",o.disabled),r(),g(o.inputMode?2:3),r(2),g(o.optionsOpened&&o.options&&o.options.length>0?4:-1))},dependencies:[xe,P,Y,Ce],styles:[`.ui-select-container[_ngcontent-%COMP%]{background-color:transparent;border-radius:4px}.ui-select-container.open[_ngcontent-%COMP%] > .dropdown-menu[_ngcontent-%COMP%]{display:block}.ui-select-container.open[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{outline:none}.ui-select-container[_ngcontent-%COMP%] .ui-icon[_ngcontent-%COMP%]{min-width:26px;min-height:26px;font-size:.85rem}.ui-select-container[_ngcontent-%COMP%] .ui-disabled[_ngcontent-%COMP%]{background-color:#d4dbe8;border-radius:4px;position:absolute;width:100%;height:100%;z-index:5;opacity:.6;top:0;left:0;cursor:not-allowed}.ui-select-container[_ngcontent-%COMP%] .ui-select-search[_ngcontent-%COMP%]{line-height:26px}.ui-select-container[_ngcontent-%COMP%] .ui-select-match[_ngcontent-%COMP%]{padding-left:.3rem}.ui-select-container[_ngcontent-%COMP%] .ui-select-match[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{text-align:start!important}.ui-select-container[_ngcontent-%COMP%] .ui-select-match[_ngcontent-%COMP%] .caret[_ngcontent-%COMP%]{position:absolute;top:45%;right:15px}.ui-select-container[_ngcontent-%COMP%] .ui-select-match[_ngcontent-%COMP%] .close[_ngcontent-%COMP%]{font-size:1.6em;line-height:.75}.ui-select-container[_ngcontent-%COMP%] .ui-select-match[_ngcontent-%COMP%] .ui-select-toggle[_ngcontent-%COMP%]{display:flex;align-items:center}.ui-select-container[_ngcontent-%COMP%] .ui-select-match[_ngcontent-%COMP%] .ui-select-toggle[_ngcontent-%COMP%] > .caret[_ngcontent-%COMP%]{position:absolute;height:10px;top:50%;right:10px;margin-top:-2px}.ui-select-container[_ngcontent-%COMP%] .ui-select-match[_ngcontent-%COMP%] .ui-select-placeholder[_ngcontent-%COMP%]{float:left;line-height:26px;color:#8c8c8c;width:100%}.ui-select-container[_ngcontent-%COMP%] .ui-select-match[_ngcontent-%COMP%] .dropdown-toggle[_ngcontent-%COMP%]{cursor:pointer}.ui-select-container[_ngcontent-%COMP%] .ui-select-match[_ngcontent-%COMP%] .dropdown-toggle[_ngcontent-%COMP%]:after{display:inline-block!important}.ui-select-container[_ngcontent-%COMP%] .ui-select-choices[_ngcontent-%COMP%]{width:100%;height:auto;max-height:200px;overflow-x:hidden;margin-top:0}.ui-select-container[_ngcontent-%COMP%] .ui-select-choices[_ngcontent-%COMP%] .ui-select-choices-row[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{display:block;padding:3px 5px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.ui-select-container[_ngcontent-%COMP%] .ui-select-choices[_ngcontent-%COMP%] .ui-select-choices-row[_ngcontent-%COMP%] .active[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{text-decoration:none;outline:0}.ui-select-container[_ngcontent-%COMP%] .ui-select-choices[_ngcontent-%COMP%] .ui-select-choices-row[_ngcontent-%COMP%] .dropdown-item[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{pointer-events:none}
2
2
 
3
3
 
4
4
 
@@ -0,0 +1 @@
1
+ import{Ma as n,Mb as s,Xa as l,tb as d,ub as h,va as c,vb as g}from"./chunk-ATP3BFHV.js";var M=(()=>{let r=class r{constructor(){this.passwordToCheck="",this.bar0="",this.bar1="",this.bar2="",this.bar3="",this.bar4="",this.colors=["#F00","#F90","#FF0","#7ACC00","#06854B"]}static measureStrength(e){let t=0,o=/[$-/:-?{-~!"^_`[\]]/g,p=/[a-z]+/.test(e),m=/[A-Z]+/.test(e),u=/[0-9]+/.test(e),b=o.test(e),f=[p,m,u,b],a=0;for(let C of f)a+=C===!0?1:0;return t+=2*e.length+(e.length>=10?1:0),t+=a*10,t=e.length<=6?Math.min(t,10):t,t=a===1?Math.min(t,10):t,t=a===2?Math.min(t,20):t,t=a===3?Math.min(t,40):t,t}ngOnChanges(e){let t=e.passwordToCheck.currentValue;if(this.setBarColors(5,"#DDD"),t){let o=this.getColor(r.measureStrength(t));this.setBarColors(o.idx,o.col)}}getColor(e){let t=Math.min(Math.floor((e-1)/10),4);return{idx:t+1,col:this.colors[t]}}setBarColors(e,t){for(let o=0;o<e;o++)this[`bar${o}`]=t}};r.\u0275fac=function(t){return new(t||r)},r.\u0275cmp=l({type:r,selectors:[["app-password-strength-bar"]],inputs:{passwordToCheck:"passwordToCheck"},features:[c],decls:8,vars:10,consts:[["strength",""],["id","strength"],["id","strengthBar"],[1,"point"]],template:function(t,o){t&1&&(d(0,"div",1,0)(2,"ul",2),g(3,"li",3)(4,"li",3)(5,"li",3)(6,"li",3)(7,"li",3),h()()),t&2&&(n(3),s("background-color",o.bar0),n(),s("background-color",o.bar1),n(),s("background-color",o.bar2),n(),s("background-color",o.bar3),n(),s("background-color",o.bar4))},styles:["ul#strengthBar[_ngcontent-%COMP%]{display:flex;list-style:none;padding:0;align-self:center;margin-bottom:-2px}.point[_ngcontent-%COMP%]:last-child{margin:0!important}.point[_ngcontent-%COMP%]{background:#ddd;border-radius:2px;height:6px;margin-right:1px;width:20px}"],changeDetection:0});let i=r;return i})();export{M as a};
@@ -1 +1 @@
1
- import{Ad as f,_a as c,ha as a}from"./chunk-HW2H3ISM.js";var d=(()=>{let t=class t{constructor(){this.translate=a(f)}transform(e,i=[]){let n="";if(!e)return n;for(let[o,s]of Object.entries(e).filter(([l,p])=>i.indexOf(l)===-1))s&&(n+=`${s} ${this.translate.translate(s===1?o.slice(0,-1):o)}, `);return n.slice(0,-2)}};t.\u0275fac=function(i){return new(i||t)},t.\u0275pipe=c({name:"joinCounts",type:t,pure:!0});let r=t;return r})();export{d as a};
1
+ import{Cd as f,_a as c,ha as a}from"./chunk-ATP3BFHV.js";var d=(()=>{let t=class t{constructor(){this.translate=a(f)}transform(e,i=[]){let n="";if(!e)return n;for(let[o,s]of Object.entries(e).filter(([l,p])=>i.indexOf(l)===-1))s&&(n+=`${s} ${this.translate.translate(s===1?o.slice(0,-1):o)}, `);return n.slice(0,-2)}};t.\u0275fac=function(i){return new(i||t)},t.\u0275pipe=c({name:"joinCounts",type:t,pure:!0});let r=t;return r})();export{d as a};
@@ -0,0 +1 @@
1
+ import{a as Se}from"./chunk-ZQQPUYLU.js";import{a as Q}from"./chunk-LUWQFIWR.js";import"./chunk-S75P2FFI.js";import{a as N,b as O,c as ye,d as be}from"./chunk-FUFKVHPU.js";import{b as we,c as ve,d as Te,e as Le}from"./chunk-2I4CUFUA.js";import"./chunk-7FUM3JGM.js";import"./chunk-IPAC4VAF.js";import"./chunk-Y7EH7G5K.js";import"./chunk-JUNZFADM.js";import{Jb as ge,Lb as ke,Na as Ce,_a as fe,nb as xe,ra as de,sa as me,ta as ue,v as X,w as Z,zb as he}from"./chunk-2MTM6SWN.js";import"./chunk-22EANI6R.js";import{b as K}from"./chunk-ORMRCEGT.js";import{Ad as G,Cb as C,Eb as l,Ga as D,Gc as q,Gd as Y,Hd as J,Ib as L,Jb as S,Kb as V,L as U,Lf as se,Ma as r,Mb as F,Nb as P,Ob as M,Pb as u,Qb as v,Rb as I,Re as oe,Sb as B,Xa as W,Xb as R,Xe as re,Xf as ce,Yb as H,Yd as ee,Yf as pe,_c as j,ab as T,bg as _e,dc as k,fc as y,fe as te,ha as w,ib as z,jb as x,kb as h,le as ie,ma as d,na as m,nb as A,ob as $,pb as _,qb as s,rb as c,rf as ae,sb as f,we as ne,wf as le,zb as b}from"./chunk-ATP3BFHV.js";import"./chunk-RTRJ3KFH.js";var Me=["MainContextMenu"],Ee=["TargetContextMenu"],Ve=(t,a)=>a.id,Fe=(t,a)=>a.key;function Ae(t,a){if(t&1&&(s(0,"span",30),u(1),c()),t&2){let e=l().$implicit,i=l(2);F("font-size",i.galleryMode.textSize,"px"),r(),I(" ",e.hTimeAccessAgo," ")}}function $e(t,a){if(t&1){let e=b();s(0,"div",21),C("click",function(){let o=d(e).$implicit,n=l(2);return m(n.onSelect(o))})("contextmenu",function(o){let n=d(e).$implicit,p=l(2);return m(p.onTargetContextMenu(o,n))})("pressup",function(o){let n=d(e).$implicit,p=l(2);return m(p.onTargetContextMenu(o,n))})("tap",function(){d(e);let o=l(2);return m(o.openLinkDialog())}),s(1,"div",22)(2,"img",23),C("error",function(){let o=d(e).$implicit;return m(o.fallBackMimeUrl())}),c(),s(3,"span",24),x(4,Ae,2,3,"span",25),c(),s(5,"span",26),f(6,"app-share-repository",27),c()(),s(7,"div",28)(8,"span",29),u(9),c()()()}if(t&2){let e=a.$implicit,i=a.$index,o=l(2);F("height",o.galleryMode.dimensions,"px")("width",o.galleryMode.dimensions,"px"),P("selected",e.id===(o.selected==null?null:o.selected.id))("disabled",!e.link.isActive),r(),z("rowIndex",i),r(),_("src",e.mimeUrl,D)("height",o.galleryMode.image)("width",o.galleryMode.image),r(2),h(e.newly?4:-1),r(2),_("share",e)("galleryMode",o.galleryMode),r(2),F("font-size",o.galleryMode.textSize,"px"),r(),v(e.name)}}function Pe(t,a){if(t&1){let e=b();s(0,"div",13)(1,"app-virtual-scroll",18),k(2,"searchFilter"),C("contextmenu",function(o){d(e);let n=l();return m(n.onContextMenu(o))}),s(3,"div",19),A(4,$e,10,18,"div",20,Ve),c()()()}if(t&2){let e=l();r(),_("childHeight",e.galleryMode.dimensions)("childWidth",e.galleryMode.dimensions)("items",y(2,5,e.shares,e.inputFilter.search()))("galleryMode",!0)("resizeOffset",110),r(3),$(e.scrollView==null?null:e.scrollView.viewPortItems)}}function Ie(t,a){if(t&1&&f(0,"fa-icon",37),t&2){let e=l(4);_("icon",e.sortTable.sortParam.asc?e.icons.faArrowDown:e.icons.faArrowUp)("fixedWidth",!1)}}function Be(t,a){if(t&1){let e=b();s(0,"th",36),C("click",function(){d(e);let o=l().$implicit,n=l(2);return m(n.sortBy(o.key))}),u(1),x(2,Ie,1,2,"fa-icon",37),c()}if(t&2){let e=l().$implicit,i=l(2);M(e.value.class),F("width",e.value.width,"%"),P("text-align-center",e.value.textCenter)("cursor-pointer",e.value.sortable),r(),I(" ",e.value.label," "),r(),h(i.sortTable.sortParam.column===e.key?2:-1)}}function Re(t,a){if(t&1&&x(0,Be,3,10,"th",35),t&2){let e=a.$implicit;h(e.value.show?0:-1)}}function De(t,a){if(t&1){let e=b();s(0,"div",40)(1,"img",43),C("error",function(){d(e);let o=l(3).$implicit;return m(o.fallBackMimeUrl())}),c(),s(2,"div",44)(3,"span",29),u(4),c(),s(5,"span",45),u(6),c()()()}if(t&2){let e=l(3).$implicit;r(),_("src",e.mimeUrl,D),r(3),v(e.name),r(2),v(e.description)}}function Ne(t,a){if(t&1&&(s(0,"span"),u(1),c()),t&2){let e=l(4).$implicit;r(),v(e.link.email||"")}}function Oe(t,a){if(t&1&&(s(0,"span",41)(1,"span"),u(2),c(),x(3,Ne,2,1,"span"),c()),t&2){let e=l(3).$implicit;r(2),v(e.link.name),r(),h(e.link.email?3:-1)}}function Qe(t,a){if(t&1&&f(0,"app-share-repository",42),t&2){let e=l(3).$implicit;_("share",e)}}function Ue(t,a){if(t&1&&(s(0,"span"),u(1),c()),t&2){let e=l(4).$implicit;M(R("badge rounded-pill ",e.link.nbAccess>=e.link.limitAccess?"bg-danger":"bg-success")),r(),B(" ",e.link.nbAccess,"/",e.link.limitAccess," ")}}function We(t,a){if(t&1&&(s(0,"span",47),u(1),c()),t&2){let e=l(4).$implicit;r(),v(e.link.nbAccess)}}function ze(t,a){if(t&1&&(s(0,"span",49),u(1),k(2,"translate"),c()),t&2){let e=l(5).$implicit,i=l(2);r(),B("",e.hTimeExpirationAgo,"\xA0",y(2,2,e.hTimeExpirationAgo===1?"day":"days",i.locale.language))}}function He(t,a){if(t&1&&(s(0,"span"),f(1,"fa-icon",37),x(2,ze,3,5,"span",49),c()),t&2){let e=l(4).$implicit,i=l(2);M(R("badge rounded-pill bg-",e.hTimeExpirationAgo>=1?"warning":"danger"," ms-1")),r(),_("icon",i.icons.faClock)("fixedWidth",!1),r(),h(e.hTimeExpirationAgo>=1?2:-1)}}function qe(t,a){if(t&1&&(s(0,"span",48),f(1,"fa-icon",6),c()),t&2){let e=l(6);r(),_("icon",e.icons.faLock)}}function Ke(t,a){if(t&1&&(x(0,Ue,2,5,"span",46)(1,We,2,1,"span",47),x(2,He,3,6,"span",46),x(3,qe,2,1,"span",48)),t&2){let e=l(3).$implicit;h(e.link.limitAccess?0:1),r(2),h(e.link.expiresAt?2:-1),r(),h(e.link.requireAuth?3:-1)}}function je(t,a){if(t&1&&f(0,"app-file-permissions",50),t&2){let e=l(4).$implicit;_("permissions",e.hPerms)}}function Ge(t,a){if(t&1&&x(0,je,1,1,"app-file-permissions",50),t&2){let e=l(3).$implicit;h(e.link.permissions?0:-1)}}function Ye(t,a){if(t&1&&u(0),t&2){let e=l(4).$implicit;I(" ",e.hTimeAccessAgo," ")}}function Je(t,a){t&1&&(s(0,"span",51),u(1,"never"),c())}function Xe(t,a){if(t&1&&x(0,Ye,1,1)(1,Je,2,0,"span",51),t&2){let e=l(3).$implicit;h(e.link.currentAccess?0:1)}}function Ze(t,a){if(t&1&&(s(0,"td"),x(1,De,7,3,"div",40)(2,Oe,4,2,"span",41)(3,Qe,1,1,"app-share-repository",42)(4,Ke,4,3)(5,Ge,1,1)(6,Xe,2,1),c()),t&2){let e,i=l().$implicit,o=l().$implicit;M(H("",i.value.class," ",i.value.newly!==void 0?"props-newly-"+o[i.value.newly]:"")),F("width",i.value.width,"%"),P("text-align-center",i.value.textCenter),r(),h((e=i.key)==="name"?1:e==="link"?2:e==="from"?3:e==="infos"?4:e==="permissions"?5:e==="accessed"?6:-1)}}function et(t,a){if(t&1&&x(0,Ze,7,9,"td",39),t&2){let e=a.$implicit;h(e.value.show?0:-1)}}function tt(t,a){if(t&1){let e=b();s(0,"tr",38),C("click",function(){let o=d(e).$implicit,n=l(2);return m(n.onSelect(o))})("contextmenu",function(o){let n=d(e).$implicit,p=l(2);return m(p.onTargetContextMenu(o,n))})("pressup",function(o){let n=d(e).$implicit,p=l(2);return m(p.onTargetContextMenu(o,n))})("tap",function(){d(e);let o=l(2);return m(o.openLinkDialog())}),A(1,et,1,1,null,null,Fe),k(3,"keyvalue"),c()}if(t&2){let e=a.$implicit,i=l(2);P("selected",e.id===(i.selected==null?null:i.selected.id))("disabled",!e.link.isActive),r(),$(y(3,4,i.tableHeaders,i.originalOrderKeyValue))}}function it(t,a){if(t&1){let e=b();s(0,"table",31)(1,"thead")(2,"tr"),A(3,Re,1,1,null,null,Fe),k(5,"keyvalue"),c()()(),s(6,"app-virtual-scroll",32),k(7,"searchFilter"),C("contextmenu",function(o){d(e);let n=l();return m(n.onContextMenu(o))}),s(8,"table",31)(9,"tbody",33),A(10,tt,4,7,"tr",34,Ve),c()()()}if(t&2){let e=l();r(3),$(y(5,2,e.tableHeaders,e.originalOrderKeyValue)),r(3),_("bufferAmount",5)("items",y(7,5,e.shares,e.inputFilter.search())),r(4),$(e.scrollView==null?null:e.scrollView.viewPortItems)}}function nt(t,a){if(t&1&&(s(0,"span",51),f(1,"fa-icon",6),u(2,"Refresh"),c()),t&2){let e=l();r(),_("icon",e.icons.faArrowRotateRight)}}function ot(t,a){if(t&1&&(s(0,"span",51),f(1,"fa-icon",6),u(2,"Go to"),c()),t&2){let e=l();r(),_("icon",e.icons.faMapMarkerAlt)}}function rt(t,a){if(t&1&&(s(0,"span",51),f(1,"fa-icon",6),u(2,"Edit link"),c()),t&2){let e=l();r(),_("icon",e.icons.faPen)}}function at(t,a){if(t&1&&(s(0,"span",51),f(1,"fa-icon",6),u(2,"Copy link"),c()),t&2){let e=l();r(),_("icon",e.icons.faClipboard)}}function lt(t,a){}function st(t,a){if(t&1&&(s(0,"span",51),f(1,"fa-icon",6),u(2,"Informations"),c()),t&2){let e=l();r(),_("icon",e.icons.faCircleInfo)}}var Dt=(()=>{let a=class a{constructor(){this.locale=w(G),this.layout=w(he),this.icons={faLink:oe,faArrowRotateRight:se,faArrowDown:ce,faArrowUp:re,faMapMarkerAlt:pe,faPen:ae,faEllipsisH:ee,faClock:ie,faLock:le,faClipboard:ne,faClipboardCheck:te,faCircleInfo:_e},this.originalOrderKeyValue=fe,this.TAB_MENU=Ce,this.loading=!1,this.linkWasCopied=!1,this.shares=[],this.selected=null,this.tableHeaders={name:{label:"Name",width:30,textCenter:!1,class:"",show:!0,sortable:!0},link:{label:"Link",width:15,textCenter:!1,class:"d-none d-sm-table-cell",show:!0,sortable:!0},from:{label:"Shared from",width:15,textCenter:!1,class:"d-none d-md-table-cell",show:!0},infos:{label:"Infos",width:15,textCenter:!0,class:"d-none d-lg-table-cell",show:!0,sortable:!0},permissions:{label:"Permissions",width:10,textCenter:!0,class:"d-none d-lg-table-cell",show:!0,sortable:!0},accessed:{label:"Accessed",width:10,textCenter:!0,class:"d-none d-lg-table-cell",newly:"newly",show:!0,sortable:!0}},this.btnSortFields={name:"Name",link:"Link",accessed:"Accessed"},this.activatedRoute=w(K),this.store=w(xe),this.linksService=w(Le),this.sharesService=w(ve),this.sortSettings={default:[{prop:"name",type:"string"}],link:[{prop:"link.name",type:"string"}],name:[{prop:"name",type:"string"}],infos:[{prop:"link.nbAccess",type:"number"}],permissions:[{prop:"link.permissions",type:"length"}],accessed:[{prop:"link.currentAccess",type:"date"}]},this.sortTable=new be(this.constructor.name,this.sortSettings),this.loadShareLinks(),this.activatedRoute.queryParams.subscribe(i=>this.focusOnSelect=i.select),this.layout.setBreadcrumbIcon(this.icons.faLink),this.layout.setBreadcrumbNav({url:`/${ke.LINKS}/${ge.SHARED_BY_LINKS}`,translating:!0,sameLink:!0})}ngOnInit(){this.galleryMode=this.btnNavigationView.currentView()}loadShareLinks(){this.loading=!0,this.onSelect(),this.linksService.shareLinksList().subscribe({next:i=>{this.sortBy(this.sortTable.sortParam.column,!1,i),this.loading=!1,this.focusOnSelect?this.focusOn(this.focusOnSelect):this.scrollView.scrollInto(-1)},error:i=>{this.shares=[],this.loading=!1,this.layout.sendNotification("error","Links",i.error.message)}})}sortBy(i,o=!0,n){this.shares=this.sortTable.sortBy(i,o,n||this.shares)}onSelect(i=null){this.selected=i,this.store.linkSelection.set(this.selected)}openLinkDialog(){this.linksService.shareLink(this.selected.id).subscribe(i=>{this.layout.openDialog(Te,"md",{initialState:{share:i}}).content.shareChange.pipe(U(1)).subscribe(n=>{let[p,g]=n;p==="update"?this.selected=Object.assign(this.selected,g):p==="delete"&&(this.onSelect(),this.sortBy(this.sortTable.sortParam.column,!1,this.shares.filter(E=>E.id!==g.id)))})})}onContextMenu(i){i.preventDefault(),i.stopPropagation(),this.layout.openContextMenu(i,this.mainContextMenu)}onTargetContextMenu(i,o){i.preventDefault(),i.type==="contextmenu"&&i.stopPropagation(),this.onSelect(o),this.layout.openContextMenu(i,this.targetContextMenu)}copyToClipboard(){this.selected&&(this.linksService.copyLinkToClipboard(this.selected.link.uuid),this.linkWasCopied=!0,this.layout.sendNotification("info","Link copied",this.selected.file.name||this.selected.name),setTimeout(()=>this.linkWasCopied=!1,3e3))}goTo(i){i=i||this.selected,this.sharesService.goTo(i).catch(console.error)}focusOn(i){let o=this.shares.find(n=>n.name===i);o&&(setTimeout(()=>this.scrollView.scrollInto(o),100),this.onSelect(o))}};a.\u0275fac=function(o){return new(o||a)},a.\u0275cmp=W({type:a,selectors:[["app-shared-links"]],viewQuery:function(o,n){if(o&1&&(L(O,5),L(N,7),L(Q,7),L(Me,7),L(Ee,7)),o&2){let p;S(p=V())&&(n.scrollView=p.first),S(p=V())&&(n.inputFilter=p.first),S(p=V())&&(n.btnNavigationView=p.first),S(p=V())&&(n.mainContextMenu=p.first),S(p=V())&&(n.targetContextMenu=p.first)}},decls:33,vars:36,consts:[["MainContextMenu",""],["TargetContextMenu",""],[1,"app-top-menu"],["container","body","type","button",1,"d-none","d-sm-block","btn","btn-sm","btn-secondary","me-1",3,"click","tooltip"],[3,"icon","animation"],["container","body","type","button",1,"btn","btn-sm","btn-secondary","me-1",3,"click","disabled","tooltip"],[3,"icon"],["container","body","type","button",3,"click","disabled","tooltip"],["container","body","type","button",1,"btn","btn-sm","btn-secondary",3,"click","disabled","tooltip"],[1,"ms-auto"],[1,"btn-group","btn-group-sm","me-1"],[1,"d-none","d-sm-block"],[3,"sortBy","switchView","sortParams","sortFields"],[1,"app-thumbs"],[1,"app-foot-menu"],[1,"mx-auto"],["contextMenuItem","",3,"execute"],["contextMenuItem","",3,"divider"],[3,"contextmenu","childHeight","childWidth","items","galleryMode","resizeOffset"],["tabindex","-1",1,"row","g-0"],[1,"card",3,"selected","disabled","height","width"],[1,"card",3,"click","contextmenu","pressup","tap"],[1,"card-body"],["alt","","draggable","true",3,"error","src","height","width"],[1,"label-top-right"],[1,"badge","rounded-pill","bg-warning",3,"font-size"],[1,"label-bottom-left"],[3,"share","galleryMode"],[1,"card-footer","text-center","text-truncate","p-1"],["draggable","false",1,"no-pointer-events"],[1,"badge","rounded-pill","bg-warning"],[1,"app-table"],[3,"contextmenu","bufferAmount","items"],["tabindex","-1"],[3,"selected","disabled"],["l10nTranslate","",3,"width","text-align-center","cursor-pointer","class"],["l10nTranslate","",3,"click"],[3,"icon","fixedWidth"],[3,"click","contextmenu","pressup","tap"],[3,"width","text-align-center","class"],[1,"d-flex","align-items-center"],[1,"d-flex","flex-column"],[3,"share"],["alt","","draggable","false","height","30","width","30",3,"error","src"],[1,"d-flex","flex-column","text-truncate"],["draggable","false",1,"no-pointer-events","text-muted","fs-xxxs"],[3,"class"],[1,"badge","rounded-pill","bg-success"],[1,"badge","rounded-pill","bg-gray-dark","ms-1"],[1,"ms-2"],["tooltipPlacement","auto",3,"permissions"],["l10nTranslate",""]],template:function(o,n){if(o&1){let p=b();s(0,"div",2)(1,"button",3),k(2,"translate"),C("click",function(){return d(p),m(n.loadShareLinks())}),f(3,"fa-icon",4),c(),s(4,"button",5),k(5,"translate"),C("click",function(){return d(p),m(n.openLinkDialog())}),f(6,"fa-icon",6),c(),s(7,"button",7),k(8,"translate"),C("click",function(){return d(p),m(n.copyToClipboard())}),f(9,"fa-icon",6),c(),s(10,"button",8),k(11,"translate"),C("click",function(){return d(p),m(n.goTo())}),f(12,"fa-icon",6),c(),s(13,"div",9)(14,"div",10),f(15,"app-input-filter",11),c(),s(16,"app-navigation-view",12),C("sortBy",function(E){return d(p),m(n.sortBy(E))})("switchView",function(E){return d(p),m(n.galleryMode=E)}),c()()(),x(17,Pe,6,8,"div",13)(18,it,12,8),s(19,"div",14)(20,"span",15),u(21),k(22,"translate"),c()(),s(23,"context-menu",null,0),T(25,nt,3,1,"ng-template",16),C("execute",function(){return d(p),m(n.loadShareLinks())}),c(),s(26,"context-menu",null,1),T(28,ot,3,1,"ng-template",16),C("execute",function(){return d(p),m(n.goTo())}),T(29,rt,3,1,"ng-template",16),C("execute",function(){return d(p),m(n.openLinkDialog())}),T(30,at,3,1,"ng-template",16),C("execute",function(){return d(p),m(n.copyToClipboard())}),T(31,lt,0,0,"ng-template",17)(32,st,3,1,"ng-template",16),C("execute",function(){return d(p),m(n.layout.showRSideBarTab(n.TAB_MENU.SELECTION))}),c()}o&2&&(r(),_("tooltip",y(2,21,"Refresh",n.locale.language)),r(2),_("icon",n.icons.faArrowRotateRight)("animation",n.loading?"spin":null),r(),_("disabled",!n.selected)("tooltip",y(5,24,"Edit link",n.locale.language)),r(2),_("icon",n.icons.faPen),r(),M(R("btn btn-sm me-1 ",n.linkWasCopied?"btn-info":"btn-secondary")),_("disabled",!n.selected)("tooltip",y(8,27,"Copy link",n.locale.language)),r(2),_("icon",n.linkWasCopied?n.icons.faClipboardCheck:n.icons.faClipboard),r(),_("disabled",!n.selected)("tooltip",y(11,30,"Go to",n.locale.language)),r(2),_("icon",n.icons.faMapMarkerAlt),r(4),_("sortParams",n.sortTable.sortParam)("sortFields",n.btnSortFields),r(),h(n.galleryMode!=null&&n.galleryMode.enabled?17:18),r(4),B("",n.shares.length," ",y(22,33,"shares",n.locale.language)),r(10),_("divider",!0))},dependencies:[ue,me,de,j,J,Q,Z,X,N,O,we,Se,q,Y,ye],encapsulation:2});let t=a;return t})();export{Dt as LinksComponent};
@@ -1 +1 @@
1
- import{Pa as $}from"./chunk-4U5A2DEP.js";import{Ac as R,Eb as o,Fb as y,Gb as x,Lb as C,Ma as c,Mb as w,Nb as b,Pb as d,Qa as E,Qb as f,Ra as u,Sb as N,Xa as m,Ya as M,_a as j,ab as h,ca as I,da as S,dc as g,ec as U,gc as _,hc as T,ib as v,jb as F,kb as P,pb as s,qb as p,rb as l,va as D,ya as B,yb as k,zc as O}from"./chunk-HW2H3ISM.js";var V=["*"];function J(t,e){t&1&&k(0)}function K(t,e){if(t&1&&(p(0,"bar",3),x(1),l()),t&2){let a=o();s("type",a.type)("value",a._value)("max",a.max)("animate",a.animate)("striped",a.striped)}}function L(t,e){if(t&1&&(p(0,"bar",3),d(1),l()),t&2){let a=e.$implicit,i=o(2);s("type",a.type)("value",a.value)("max",a.max||i.max)("animate",i.animate)("striped",i.striped),c(),f(a.label)}}function W(t,e){if(t&1&&h(0,L,2,6,"bar",4),t&2){let a=o();s("ngForOf",a._values)}}var X=(()=>{let e=class e{constructor(i,n){this.el=i,this.renderer=n,this.max=100,this.value=0,this.animate=!1,this.striped=!1,this.type="info",this.percent=100}ngOnChanges(i){(i.value||i.max)&&(this.percent=100*(Number(i.value?.currentValue||this.value)/Number(i.max?.currentValue||this.max||100))),i.type&&this.applyTypeClasses()}applyTypeClasses(){if(this._prevType){let i=`progress-bar-${this._prevType}`,n=`bg-${this._prevType}`;this.renderer.removeClass(this.el.nativeElement,i),this.renderer.removeClass(this.el.nativeElement,n),this._prevType=void 0}if(this.type){let i=`progress-bar-${this.type}`,n=`bg-${this.type}`;this.renderer.addClass(this.el.nativeElement,i),this.renderer.addClass(this.el.nativeElement,n),this._prevType=this.type}}};e.\u0275fac=function(n){return new(n||e)(u(B),u(E))},e.\u0275cmp=m({type:e,selectors:[["bar"]],hostAttrs:["role","progressbar","aria-valuemin","0"],hostVars:13,hostBindings:function(n,r){n&2&&(v("aria-valuenow",r.value)("aria-valuetext",r.percent?r.percent.toFixed(0)+"%":"")("aria-valuemax",r.max),w("height","100","%")("width",r.percent,"%"),b("progress-bar",!0)("progress-bar-animated",r.animate)("progress-bar-striped",r.striped))},inputs:{max:"max",value:"value",animate:"animate",striped:"striped",type:"type"},features:[D],ngContentSelectors:V,decls:1,vars:0,template:function(n,r){n&1&&(y(),x(0))},encapsulation:2,changeDetection:0});let t=e;return t})(),Y=(()=>{let e=class e{constructor(){this.animate=!1,this.max=100}};e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=I({token:e,factory:e.\u0275fac,providedIn:"root"});let t=e;return t})(),A=(()=>{let e=class e{set value(i){this.isStacked=Array.isArray(i),typeof i=="number"?(this._value=i,this._values=void 0):(this._value=void 0,this._values=i)}constructor(i){this.max=100,this.animate=!1,this.striped=!1,this.isStacked=!1,this._value=0,Object.assign(this,i)}};e.\u0275fac=function(n){return new(n||e)(u(Y))},e.\u0275cmp=m({type:e,selectors:[["progressbar"]],hostVars:3,hostBindings:function(n,r){n&2&&(v("max",r.max),b("progress",!0))},inputs:{max:"max",animate:"animate",striped:"striped",type:"type",value:"value"},ngContentSelectors:V,decls:5,vars:3,consts:[["NotStacked",""],["Stacked",""],[4,"ngIf","ngIfThen","ngIfElse"],[3,"type","value","max","animate","striped"],[3,"type","value","max","animate","striped",4,"ngFor","ngForOf"]],template:function(n,r){if(n&1&&(y(),h(0,J,1,0,"ng-container",2)(1,K,2,5,"ng-template",null,0,T)(3,W,1,1,"ng-template",null,1,T)),n&2){let z=C(2),G=C(4);s("ngIf",!r.isStacked)("ngIfThen",z)("ngIfElse",G)}},dependencies:[R,X,O],styles:["[_nghost-%COMP%]{width:100%;display:flex}"],changeDetection:0});let t=e;return t})(),H=(()=>{let e=class e{static forRoot(){return{ngModule:e,providers:[]}}};e.\u0275fac=function(n){return new(n||e)},e.\u0275mod=M({type:e}),e.\u0275inj=S({});let t=e;return t})();var q=(()=>{let e=class e{transform(i,n=0,r=!1){return $(i,n,r)}};e.\u0275fac=function(n){return new(n||e)},e.\u0275pipe=j({name:"toBytes",type:e,pure:!0});let t=e;return t})();function ee(t,e){if(t&1&&(p(0,"progressbar",0)(1,"span",1),d(2),g(3,"toBytes"),g(4,"toBytes"),l()()),t&2){let a=o();s("max",a.item.storageQuota)("value",a.item.storageUsage)("type",null),c(2),N("",_(3,5,a.item.storageUsage,2,!0)," / ",U(4,9,a.item.storageQuota))}}function te(t,e){if(t&1&&(p(0,"progressbar",0)(1,"span",1),d(2),g(3,"toBytes"),l()()),t&2){let a=o();s("max",a.item.storageUsage)("value",a.item.storageUsage)("type",null),c(2),f(_(3,4,a.item.storageUsage,2,!0))}}var oe=(()=>{let e=class e{constructor(){this.item={storageUsage:0,storageQuota:null}}};e.\u0275fac=function(n){return new(n||e)},e.\u0275cmp=m({type:e,selectors:[["app-storage-usage"]],inputs:{item:"item"},decls:2,vars:1,consts:[[1,"bg-black",3,"max","value","type"],[1,"ms-1","me-1"]],template:function(n,r){n&1&&F(0,ee,5,11,"progressbar",0)(1,te,4,8,"progressbar",0),n&2&&P(r.item.storageQuota>0?0:1)},dependencies:[H,A,q],encapsulation:2});let t=e;return t})();export{A as a,H as b,q as c,oe as d};
1
+ import{Sa as $}from"./chunk-2MTM6SWN.js";import{Ac as R,Eb as o,Fb as y,Gb as x,Lb as C,Ma as c,Mb as w,Nb as b,Pb as d,Qa as E,Qb as f,Ra as u,Sb as N,Xa as m,Ya as M,_a as j,ab as h,ca as I,da as S,dc as g,ec as U,gc as _,hc as T,ib as v,jb as F,kb as P,pb as s,qb as p,rb as l,va as D,ya as B,yb as k,zc as O}from"./chunk-ATP3BFHV.js";var V=["*"];function J(t,e){t&1&&k(0)}function K(t,e){if(t&1&&(p(0,"bar",3),x(1),l()),t&2){let a=o();s("type",a.type)("value",a._value)("max",a.max)("animate",a.animate)("striped",a.striped)}}function L(t,e){if(t&1&&(p(0,"bar",3),d(1),l()),t&2){let a=e.$implicit,i=o(2);s("type",a.type)("value",a.value)("max",a.max||i.max)("animate",i.animate)("striped",i.striped),c(),f(a.label)}}function W(t,e){if(t&1&&h(0,L,2,6,"bar",4),t&2){let a=o();s("ngForOf",a._values)}}var X=(()=>{let e=class e{constructor(i,n){this.el=i,this.renderer=n,this.max=100,this.value=0,this.animate=!1,this.striped=!1,this.type="info",this.percent=100}ngOnChanges(i){(i.value||i.max)&&(this.percent=100*(Number(i.value?.currentValue||this.value)/Number(i.max?.currentValue||this.max||100))),i.type&&this.applyTypeClasses()}applyTypeClasses(){if(this._prevType){let i=`progress-bar-${this._prevType}`,n=`bg-${this._prevType}`;this.renderer.removeClass(this.el.nativeElement,i),this.renderer.removeClass(this.el.nativeElement,n),this._prevType=void 0}if(this.type){let i=`progress-bar-${this.type}`,n=`bg-${this.type}`;this.renderer.addClass(this.el.nativeElement,i),this.renderer.addClass(this.el.nativeElement,n),this._prevType=this.type}}};e.\u0275fac=function(n){return new(n||e)(u(B),u(E))},e.\u0275cmp=m({type:e,selectors:[["bar"]],hostAttrs:["role","progressbar","aria-valuemin","0"],hostVars:13,hostBindings:function(n,r){n&2&&(v("aria-valuenow",r.value)("aria-valuetext",r.percent?r.percent.toFixed(0)+"%":"")("aria-valuemax",r.max),w("height","100","%")("width",r.percent,"%"),b("progress-bar",!0)("progress-bar-animated",r.animate)("progress-bar-striped",r.striped))},inputs:{max:"max",value:"value",animate:"animate",striped:"striped",type:"type"},features:[D],ngContentSelectors:V,decls:1,vars:0,template:function(n,r){n&1&&(y(),x(0))},encapsulation:2,changeDetection:0});let t=e;return t})(),Y=(()=>{let e=class e{constructor(){this.animate=!1,this.max=100}};e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=I({token:e,factory:e.\u0275fac,providedIn:"root"});let t=e;return t})(),A=(()=>{let e=class e{set value(i){this.isStacked=Array.isArray(i),typeof i=="number"?(this._value=i,this._values=void 0):(this._value=void 0,this._values=i)}constructor(i){this.max=100,this.animate=!1,this.striped=!1,this.isStacked=!1,this._value=0,Object.assign(this,i)}};e.\u0275fac=function(n){return new(n||e)(u(Y))},e.\u0275cmp=m({type:e,selectors:[["progressbar"]],hostVars:3,hostBindings:function(n,r){n&2&&(v("max",r.max),b("progress",!0))},inputs:{max:"max",animate:"animate",striped:"striped",type:"type",value:"value"},ngContentSelectors:V,decls:5,vars:3,consts:[["NotStacked",""],["Stacked",""],[4,"ngIf","ngIfThen","ngIfElse"],[3,"type","value","max","animate","striped"],[3,"type","value","max","animate","striped",4,"ngFor","ngForOf"]],template:function(n,r){if(n&1&&(y(),h(0,J,1,0,"ng-container",2)(1,K,2,5,"ng-template",null,0,T)(3,W,1,1,"ng-template",null,1,T)),n&2){let z=C(2),G=C(4);s("ngIf",!r.isStacked)("ngIfThen",z)("ngIfElse",G)}},dependencies:[R,X,O],styles:["[_nghost-%COMP%]{width:100%;display:flex}"],changeDetection:0});let t=e;return t})(),H=(()=>{let e=class e{static forRoot(){return{ngModule:e,providers:[]}}};e.\u0275fac=function(n){return new(n||e)},e.\u0275mod=M({type:e}),e.\u0275inj=S({});let t=e;return t})();var q=(()=>{let e=class e{transform(i,n=0,r=!1){return $(i,n,r)}};e.\u0275fac=function(n){return new(n||e)},e.\u0275pipe=j({name:"toBytes",type:e,pure:!0});let t=e;return t})();function ee(t,e){if(t&1&&(p(0,"progressbar",0)(1,"span",1),d(2),g(3,"toBytes"),g(4,"toBytes"),l()()),t&2){let a=o();s("max",a.item.storageQuota)("value",a.item.storageUsage)("type",null),c(2),N("",_(3,5,a.item.storageUsage,2,!0)," / ",U(4,9,a.item.storageQuota))}}function te(t,e){if(t&1&&(p(0,"progressbar",0)(1,"span",1),d(2),g(3,"toBytes"),l()()),t&2){let a=o();s("max",a.item.storageUsage)("value",a.item.storageUsage)("type",null),c(2),f(_(3,4,a.item.storageUsage,2,!0))}}var oe=(()=>{let e=class e{constructor(){this.item={storageUsage:0,storageQuota:null}}};e.\u0275fac=function(n){return new(n||e)},e.\u0275cmp=m({type:e,selectors:[["app-storage-usage"]],inputs:{item:"item"},decls:2,vars:1,consts:[[1,"bg-black",3,"max","value","type"],[1,"ms-1","me-1"]],template:function(n,r){n&1&&F(0,ee,5,11,"progressbar",0)(1,te,4,8,"progressbar",0),n&2&&P(r.item.storageQuota>0?0:1)},dependencies:[H,A,q],encapsulation:2});let t=e;return t})();export{A as a,H as b,q as c,oe as d};