@sumaris-net/ngx-components 2.6.4-alpha5 → 2.6.4-alpha6

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 (1179) hide show
  1. package/esm2020/public_api.mjs +313 -0
  2. package/esm2020/src/app/admin/admin-routing.module.mjs +41 -0
  3. package/esm2020/src/app/admin/admin.module.mjs +34 -0
  4. package/esm2020/src/app/admin/services/filter/person.filter.mjs +59 -0
  5. package/esm2020/src/app/admin/services/person.service.mjs +161 -0
  6. package/esm2020/src/app/admin/services/validator/person.validator.mjs +34 -0
  7. package/esm2020/src/app/admin/users/users.mjs +234 -0
  8. package/esm2020/src/app/admin/users/users.module.mjs +54 -0
  9. package/esm2020/src/app/core/about/about.modal.mjs +71 -0
  10. package/esm2020/src/app/core/about/about.module.mjs +34 -0
  11. package/esm2020/src/app/core/account/account.module.mjs +61 -0
  12. package/esm2020/src/app/core/account/account.page.mjs +316 -0
  13. package/esm2020/src/app/core/account/new-token.modal.mjs +115 -0
  14. package/esm2020/src/app/core/account/token.table.mjs +137 -0
  15. package/esm2020/src/app/core/auth/auth.form.mjs +131 -0
  16. package/esm2020/src/app/core/auth/auth.modal.mjs +72 -0
  17. package/esm2020/src/app/core/auth/auth.module.mjs +47 -0
  18. package/esm2020/src/app/core/core.module.mjs +184 -0
  19. package/esm2020/src/app/core/core.testing.module.mjs +86 -0
  20. package/esm2020/src/app/core/form/buttons/form-buttons-bar.component.mjs +71 -0
  21. package/esm2020/src/app/core/form/buttons/form-buttons-bar.module.mjs +35 -0
  22. package/esm2020/src/app/core/form/entity/editor.class.mjs +679 -0
  23. package/esm2020/src/app/core/form/entity/entity-editor-modal.class.mjs +421 -0
  24. package/esm2020/src/app/core/form/entity/entity-editor.class.mjs +687 -0
  25. package/esm2020/src/app/core/form/entity/entity-metadata.component.mjs +25 -0
  26. package/esm2020/src/app/core/form/entity/entity.module.mjs +38 -0
  27. package/esm2020/src/app/core/form/form.class.mjs +340 -0
  28. package/esm2020/src/app/core/form/form.module.mjs +66 -0
  29. package/esm2020/src/app/core/form/form.utils.mjs +473 -0
  30. package/esm2020/src/app/core/form/list/list.form.mjs +222 -0
  31. package/esm2020/src/app/core/form/list/list.module.mjs +35 -0
  32. package/esm2020/src/app/core/form/properties/properties.form.mjs +132 -0
  33. package/esm2020/src/app/core/form/properties/properties.module.mjs +43 -0
  34. package/esm2020/src/app/core/form/properties/properties.table.mjs +264 -0
  35. package/esm2020/src/app/core/form/properties/property.validator.mjs +23 -0
  36. package/esm2020/src/app/core/form/properties/testing/properties-form.test.mjs +90 -0
  37. package/esm2020/src/app/core/form/properties/testing/properties-form.testing.module.mjs +39 -0
  38. package/esm2020/src/app/core/form/text-popover/testing/text-popover.testing.mjs +70 -0
  39. package/esm2020/src/app/core/form/text-popover/testing/text-popover.testing.module.mjs +45 -0
  40. package/esm2020/src/app/core/form/text-popover/text-form.component.mjs +89 -0
  41. package/esm2020/src/app/core/form/text-popover/text-popover.component.mjs +146 -0
  42. package/esm2020/src/app/core/form/text-popover/text-popover.module.mjs +40 -0
  43. package/esm2020/src/app/core/graphql/graphql.module.mjs +22 -0
  44. package/esm2020/src/app/core/graphql/graphql.service.mjs +762 -0
  45. package/esm2020/src/app/core/graphql/graphql.utils.mjs +117 -0
  46. package/esm2020/src/app/core/home/home.mjs +257 -0
  47. package/esm2020/src/app/core/home/home.module.mjs +48 -0
  48. package/esm2020/src/app/core/icon/icon.component.mjs +41 -0
  49. package/esm2020/src/app/core/icon/icon.module.mjs +29 -0
  50. package/esm2020/src/app/core/install/install-upgrade-card.component.mjs +343 -0
  51. package/esm2020/src/app/core/install/install-upgrade-card.module.mjs +35 -0
  52. package/esm2020/src/app/core/menu/menu.component.mjs +329 -0
  53. package/esm2020/src/app/core/menu/menu.model.mjs +35 -0
  54. package/esm2020/src/app/core/menu/menu.module.mjs +44 -0
  55. package/esm2020/src/app/core/menu/menu.service.mjs +55 -0
  56. package/esm2020/src/app/core/offline/update-offline-mode-card.component.mjs +27 -0
  57. package/esm2020/src/app/core/offline/update-offline-mode-card.module.mjs +35 -0
  58. package/esm2020/src/app/core/peer/select-peer.modal.mjs +182 -0
  59. package/esm2020/src/app/core/peer/select-peer.module.mjs +42 -0
  60. package/esm2020/src/app/core/register/register-confirm.page.mjs +81 -0
  61. package/esm2020/src/app/core/register/register.form.mjs +181 -0
  62. package/esm2020/src/app/core/register/register.modal.mjs +52 -0
  63. package/esm2020/src/app/core/register/register.module.mjs +44 -0
  64. package/esm2020/src/app/core/services/account.service.mjs +1212 -0
  65. package/esm2020/src/app/core/services/auth-guard.service.mjs +71 -0
  66. package/esm2020/src/app/core/services/base-entity-service.class.mjs +444 -0
  67. package/esm2020/src/app/core/services/base-graphql-service.class.mjs +219 -0
  68. package/esm2020/src/app/core/services/base58.mjs +78 -0
  69. package/esm2020/src/app/core/services/config/core.config.mjs +175 -0
  70. package/esm2020/src/app/core/services/config.service.mjs +354 -0
  71. package/esm2020/src/app/core/services/crypto.service.mjs +114 -0
  72. package/esm2020/src/app/core/services/errors.mjs +50 -0
  73. package/esm2020/src/app/core/services/local-settings.service.mjs +449 -0
  74. package/esm2020/src/app/core/services/model/account.model.mjs +122 -0
  75. package/esm2020/src/app/core/services/model/config.model.mjs +92 -0
  76. package/esm2020/src/app/core/services/model/department.model.mjs +30 -0
  77. package/esm2020/src/app/core/services/model/entity.decorators.mjs +97 -0
  78. package/esm2020/src/app/core/services/model/entity.model.mjs +240 -0
  79. package/esm2020/src/app/core/services/model/filter.model.mjs +94 -0
  80. package/esm2020/src/app/core/services/model/history.model.mjs +2 -0
  81. package/esm2020/src/app/core/services/model/model.enum.mjs +11 -0
  82. package/esm2020/src/app/core/services/model/peer.model.mjs +68 -0
  83. package/esm2020/src/app/core/services/model/person.model.mjs +83 -0
  84. package/esm2020/src/app/core/services/model/referential.model.mjs +164 -0
  85. package/esm2020/src/app/core/services/model/settings.model.mjs +3 -0
  86. package/esm2020/src/app/core/services/model/token.model.mjs +48 -0
  87. package/esm2020/src/app/core/services/network.service.mjs +589 -0
  88. package/esm2020/src/app/core/services/network.types.mjs +20 -0
  89. package/esm2020/src/app/core/services/network.utils.mjs +15 -0
  90. package/esm2020/src/app/core/services/pipes/account.pipes.mjs +38 -0
  91. package/esm2020/src/app/core/services/pipes/department-to-string.pipe.mjs +23 -0
  92. package/esm2020/src/app/core/services/pipes/person-to-string.pipe.mjs +23 -0
  93. package/esm2020/src/app/core/services/pipes/usage-mode.pipes.mjs +37 -0
  94. package/esm2020/src/app/core/services/platform.service.mjs +525 -0
  95. package/esm2020/src/app/core/services/storage/entities-storage.service.mjs +428 -0
  96. package/esm2020/src/app/core/services/storage/entity-store.class.mjs +449 -0
  97. package/esm2020/src/app/core/services/testing/referential-filter.model.mjs +23 -0
  98. package/esm2020/src/app/core/services/testing/referential.validator.mjs +45 -0
  99. package/esm2020/src/app/core/services/validator/account.validator.mjs +56 -0
  100. package/esm2020/src/app/core/services/validator/base.validator.class.mjs +47 -0
  101. package/esm2020/src/app/core/services/validator/local-settings.validator.mjs +66 -0
  102. package/esm2020/src/app/core/services/validator/user-settings.validator.mjs +27 -0
  103. package/esm2020/src/app/core/services/validator/user-token.validator.mjs +52 -0
  104. package/esm2020/src/app/core/settings/settings.module.mjs +34 -0
  105. package/esm2020/src/app/core/settings/settings.page.mjs +312 -0
  106. package/esm2020/src/app/core/table/actions-column.component.mjs +102 -0
  107. package/esm2020/src/app/core/table/async-table.class.mjs +1697 -0
  108. package/esm2020/src/app/core/table/entities-async-table-datasource.class.mjs +384 -0
  109. package/esm2020/src/app/core/table/entities-table-datasource.class.mjs +399 -0
  110. package/esm2020/src/app/core/table/memory-table.class.mjs +53 -0
  111. package/esm2020/src/app/core/table/table-select-columns.component.mjs +43 -0
  112. package/esm2020/src/app/core/table/table.class.mjs +1728 -0
  113. package/esm2020/src/app/core/table/table.model.mjs +12 -0
  114. package/esm2020/src/app/core/table/table.module.mjs +40 -0
  115. package/esm2020/src/app/core/table/table.utils.mjs +30 -0
  116. package/esm2020/src/app/core/table/testing/table-validator.service.mjs +27 -0
  117. package/esm2020/src/app/core/table/testing/table.testing.mjs +280 -0
  118. package/esm2020/src/app/core/table/testing/table.testing.module.mjs +38 -0
  119. package/esm2020/src/app/shared/alerts.mjs +239 -0
  120. package/esm2020/src/app/shared/audio/audio.mjs +248 -0
  121. package/esm2020/src/app/shared/audio/audio.testing.mjs +31 -0
  122. package/esm2020/src/app/shared/audio/audio.testing.module.mjs +45 -0
  123. package/esm2020/src/app/shared/capacitor/keyboard.mjs +40 -0
  124. package/esm2020/src/app/shared/capacitor/plugins.mjs +9 -0
  125. package/esm2020/src/app/shared/constants.mjs +10 -0
  126. package/esm2020/src/app/shared/dates.mjs +147 -0
  127. package/esm2020/src/app/shared/debug/debug-service.class.mjs +3 -0
  128. package/esm2020/src/app/shared/debug/debug.component.mjs +39 -0
  129. package/esm2020/src/app/shared/debug/debug.module.mjs +44 -0
  130. package/esm2020/src/app/shared/directives/autofocus.directive.mjs +92 -0
  131. package/esm2020/src/app/shared/directives/autotitle.directive.mjs +30 -0
  132. package/esm2020/src/app/shared/directives/directives.module.mjs +43 -0
  133. package/esm2020/src/app/shared/directives/drag-and-drop.directive.mjs +53 -0
  134. package/esm2020/src/app/shared/directives/ng-var.directive.mjs +31 -0
  135. package/esm2020/src/app/shared/directives/resizable/resizable.component.mjs +59 -0
  136. package/esm2020/src/app/shared/directives/resizable/resizable.directive.mjs +40 -0
  137. package/esm2020/src/app/shared/directives/resizable/resizable.module.mjs +17 -0
  138. package/esm2020/src/app/shared/events.mjs +64 -0
  139. package/esm2020/src/app/shared/file/csv.utils.mjs +74 -0
  140. package/esm2020/src/app/shared/file/file.service.mjs +117 -0
  141. package/esm2020/src/app/shared/file/file.utils.mjs +113 -0
  142. package/esm2020/src/app/shared/file/images.utils.mjs +161 -0
  143. package/esm2020/src/app/shared/file/json.utils.mjs +51 -0
  144. package/esm2020/src/app/shared/file/uri.utils.mjs +23 -0
  145. package/esm2020/src/app/shared/focusable.mjs +6 -0
  146. package/esm2020/src/app/shared/form/field.component.mjs +307 -0
  147. package/esm2020/src/app/shared/form/field.model.mjs +25 -0
  148. package/esm2020/src/app/shared/form/loading-spinner.mjs +36 -0
  149. package/esm2020/src/app/shared/forms.mjs +391 -0
  150. package/esm2020/src/app/shared/functions.mjs +477 -0
  151. package/esm2020/src/app/shared/geolocation/geolocation.utils.mjs +80 -0
  152. package/esm2020/src/app/shared/gesture/gesture-config.mjs +49 -0
  153. package/esm2020/src/app/shared/gesture/hammer.utils.mjs +2 -0
  154. package/esm2020/src/app/shared/graph/colors.utils.mjs +64 -0
  155. package/esm2020/src/app/shared/graph/graph-colors.mjs +212 -0
  156. package/esm2020/src/app/shared/guard/component-dirty.guard.mjs +57 -0
  157. package/esm2020/src/app/shared/help/help.modal.mjs +53 -0
  158. package/esm2020/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.mjs +23 -0
  159. package/esm2020/src/app/shared/hotkeys/hotkeys.service.mjs +84 -0
  160. package/esm2020/src/app/shared/hotkeys/shared-hotkeys.module.mjs +42 -0
  161. package/esm2020/src/app/shared/http/http.utils.mjs +52 -0
  162. package/esm2020/src/app/shared/image/gallery/image-gallery.component.mjs +365 -0
  163. package/esm2020/src/app/shared/image/gallery/image-gallery.module.mjs +59 -0
  164. package/esm2020/src/app/shared/image/gallery/testing/gallegry.model.testing.mjs +27 -0
  165. package/esm2020/src/app/shared/image/gallery/testing/gallery.service.testing.mjs +90 -0
  166. package/esm2020/src/app/shared/image/gallery/testing/gallery.testing.mjs +39 -0
  167. package/esm2020/src/app/shared/image/gallery/testing/gallery.testing.module.mjs +56 -0
  168. package/esm2020/src/app/shared/image/image.model.mjs +2 -0
  169. package/esm2020/src/app/shared/image/image.module.mjs +29 -0
  170. package/esm2020/src/app/shared/image/image.service.mjs +98 -0
  171. package/esm2020/src/app/shared/inputs.mjs +231 -0
  172. package/esm2020/src/app/shared/interceptors/progess.interceptor.mjs +27 -0
  173. package/esm2020/src/app/shared/logging/log-level.model.mjs +48 -0
  174. package/esm2020/src/app/shared/logging/logger.model.mjs +47 -0
  175. package/esm2020/src/app/shared/logging/logging-service.class.mjs +121 -0
  176. package/esm2020/src/app/shared/logging/logging-service.config.mjs +2 -0
  177. package/esm2020/src/app/shared/logging/logging-service.module.mjs +30 -0
  178. package/esm2020/src/app/shared/material/autocomplete/material.autocomplete.config.mjs +47 -0
  179. package/esm2020/src/app/shared/material/autocomplete/material.autocomplete.mjs +916 -0
  180. package/esm2020/src/app/shared/material/autocomplete/material.autocomplete.module.mjs +78 -0
  181. package/esm2020/src/app/shared/material/autocomplete/material.autocomplete.utils.mjs +19 -0
  182. package/esm2020/src/app/shared/material/autocomplete/testing/autocomplete.test.mjs +209 -0
  183. package/esm2020/src/app/shared/material/badge/badge.directive.mjs +194 -0
  184. package/esm2020/src/app/shared/material/badge/badge.module.mjs +32 -0
  185. package/esm2020/src/app/shared/material/badge/badge.test.mjs +41 -0
  186. package/esm2020/src/app/shared/material/boolean/boolean.module.mjs +68 -0
  187. package/esm2020/src/app/shared/material/boolean/material.boolean.mjs +253 -0
  188. package/esm2020/src/app/shared/material/chips/chips.module.mjs +76 -0
  189. package/esm2020/src/app/shared/material/chips/material.chips.mjs +697 -0
  190. package/esm2020/src/app/shared/material/chips/testing/chips.test.mjs +143 -0
  191. package/esm2020/src/app/shared/material/datetime/datetime.module.mjs +91 -0
  192. package/esm2020/src/app/shared/material/datetime/material.date.mjs +376 -0
  193. package/esm2020/src/app/shared/material/datetime/material.dateshort.mjs +385 -0
  194. package/esm2020/src/app/shared/material/datetime/material.datetime.mjs +499 -0
  195. package/esm2020/src/app/shared/material/datetime/testing/mat-date-time.test.mjs +108 -0
  196. package/esm2020/src/app/shared/material/datetime/testing/mat-date.test.mjs +110 -0
  197. package/esm2020/src/app/shared/material/datetime/testing/mat-dateshort.test.mjs +103 -0
  198. package/esm2020/src/app/shared/material/duration/duration.module.mjs +67 -0
  199. package/esm2020/src/app/shared/material/duration/duration.utils.mjs +36 -0
  200. package/esm2020/src/app/shared/material/duration/material.duration.mjs +257 -0
  201. package/esm2020/src/app/shared/material/latlong/latlong.utils.mjs +266 -0
  202. package/esm2020/src/app/shared/material/latlong/material.latlong.mjs +381 -0
  203. package/esm2020/src/app/shared/material/latlong/material.latlong.module.mjs +67 -0
  204. package/esm2020/src/app/shared/material/latlong/testing/latlong.test.mjs +102 -0
  205. package/esm2020/src/app/shared/material/material.animations.mjs +104 -0
  206. package/esm2020/src/app/shared/material/material.module.mjs +224 -0
  207. package/esm2020/src/app/shared/material/material.testing.module.mjs +168 -0
  208. package/esm2020/src/app/shared/material/numpad/numpad.append-to-input.directive.mjs +98 -0
  209. package/esm2020/src/app/shared/material/numpad/numpad.component.mjs +80 -0
  210. package/esm2020/src/app/shared/material/numpad/numpad.container.mjs +190 -0
  211. package/esm2020/src/app/shared/material/numpad/numpad.content.mjs +17 -0
  212. package/esm2020/src/app/shared/material/numpad/numpad.directive.mjs +162 -0
  213. package/esm2020/src/app/shared/material/numpad/numpad.dom-service.mjs +37 -0
  214. package/esm2020/src/app/shared/material/numpad/numpad.model.mjs +15 -0
  215. package/esm2020/src/app/shared/material/numpad/numpad.module.mjs +60 -0
  216. package/esm2020/src/app/shared/material/numpad/testing/numpad.test.mjs +46 -0
  217. package/esm2020/src/app/shared/material/paginator/material.paginator-i18n.mjs +46 -0
  218. package/esm2020/src/app/shared/material/stepper/material.stepper-i18n.mjs +22 -0
  219. package/esm2020/src/app/shared/material/swipe/material.swipe.mjs +344 -0
  220. package/esm2020/src/app/shared/material/swipe/swipe.module.mjs +52 -0
  221. package/esm2020/src/app/shared/material/swipe/testing/swipe.test.mjs +64 -0
  222. package/esm2020/src/app/shared/modules.mjs +11 -0
  223. package/esm2020/src/app/shared/observables.mjs +103 -0
  224. package/esm2020/src/app/shared/pipes/arrays.pipe.mjs +141 -0
  225. package/esm2020/src/app/shared/pipes/colors.pipe.mjs +23 -0
  226. package/esm2020/src/app/shared/pipes/date-diff-duration.pipe.mjs +48 -0
  227. package/esm2020/src/app/shared/pipes/date-format.pipe.mjs +66 -0
  228. package/esm2020/src/app/shared/pipes/date-from-now.pipe.mjs +27 -0
  229. package/esm2020/src/app/shared/pipes/duration.pipe.mjs +34 -0
  230. package/esm2020/src/app/shared/pipes/file-size.pipe.mjs +62 -0
  231. package/esm2020/src/app/shared/pipes/form.pipes.mjs +187 -0
  232. package/esm2020/src/app/shared/pipes/highlight.pipe.mjs +48 -0
  233. package/esm2020/src/app/shared/pipes/latlong-format.pipe.mjs +46 -0
  234. package/esm2020/src/app/shared/pipes/maps.pipe.mjs +63 -0
  235. package/esm2020/src/app/shared/pipes/math.pipes.mjs +59 -0
  236. package/esm2020/src/app/shared/pipes/ng-init.pipe.mjs +21 -0
  237. package/esm2020/src/app/shared/pipes/number-format.pipe.mjs +30 -0
  238. package/esm2020/src/app/shared/pipes/pipes.module.mjs +239 -0
  239. package/esm2020/src/app/shared/pipes/property.pipes.mjs +93 -0
  240. package/esm2020/src/app/shared/pipes/string.pipes.mjs +121 -0
  241. package/esm2020/src/app/shared/pipes/translate-context.pipe.mjs +43 -0
  242. package/esm2020/src/app/shared/pipes/types.pipes.mjs +45 -0
  243. package/esm2020/src/app/shared/platforms.mjs +43 -0
  244. package/esm2020/src/app/shared/services/entity-service.class.mjs +7 -0
  245. package/esm2020/src/app/shared/services/job.utils.mjs +92 -0
  246. package/esm2020/src/app/shared/services/memory-entity-service.class.mjs +337 -0
  247. package/esm2020/src/app/shared/services/progress-bar.service.mjs +33 -0
  248. package/esm2020/src/app/shared/services/startable-observable-service.class.mjs +119 -0
  249. package/esm2020/src/app/shared/services/startable-service.class.mjs +110 -0
  250. package/esm2020/src/app/shared/services/translate-context.service.mjs +105 -0
  251. package/esm2020/src/app/shared/services/validator-service.class.mjs +2 -0
  252. package/esm2020/src/app/shared/services.mjs +62 -0
  253. package/esm2020/src/app/shared/shared-routing.module.mjs +70 -0
  254. package/esm2020/src/app/shared/shared.module.mjs +208 -0
  255. package/esm2020/src/app/shared/shared.testing.module.mjs +84 -0
  256. package/esm2020/src/app/shared/storage/storage-explorer.component.mjs +268 -0
  257. package/esm2020/src/app/shared/storage/storage-explorer.module.mjs +60 -0
  258. package/esm2020/src/app/shared/storage/storage.service.mjs +132 -0
  259. package/esm2020/src/app/shared/storage/storage.utils.mjs +13 -0
  260. package/esm2020/src/app/shared/testing/observable.test.mjs +95 -0
  261. package/esm2020/src/app/shared/testing/tests.page.mjs +33 -0
  262. package/esm2020/src/app/shared/toast/toast.testing.mjs +51 -0
  263. package/esm2020/src/app/shared/toast/toast.testing.module.mjs +45 -0
  264. package/esm2020/src/app/shared/toast/toasts.mjs +144 -0
  265. package/esm2020/src/app/shared/toolbar/modal-toolbar.mjs +58 -0
  266. package/esm2020/src/app/shared/toolbar/toolbar.mjs +251 -0
  267. package/esm2020/src/app/shared/toolbar/toolbar.module.mjs +53 -0
  268. package/esm2020/src/app/shared/types.mjs +2 -0
  269. package/esm2020/src/app/shared/upload-file/testing/upload-file.testing.mjs +57 -0
  270. package/esm2020/src/app/shared/upload-file/testing/upload-file.testing.module.mjs +45 -0
  271. package/esm2020/src/app/shared/upload-file/upload-file-popover.component.mjs +97 -0
  272. package/esm2020/src/app/shared/upload-file/upload-file.component.mjs +204 -0
  273. package/esm2020/src/app/shared/upload-file/upload-file.model.mjs +20 -0
  274. package/esm2020/src/app/shared/validator/form-error-adapter.class.mjs +104 -0
  275. package/esm2020/src/app/shared/validator/validators.mjs +573 -0
  276. package/esm2020/src/app/shared/version/versions.mjs +81 -0
  277. package/esm2020/src/app/social/job/job.module.mjs +42 -0
  278. package/esm2020/src/app/social/job/progression/job-progression.component.mjs +20 -0
  279. package/esm2020/src/app/social/job/progression/job-progression.icon.mjs +216 -0
  280. package/esm2020/src/app/social/job/progression/job-progression.list.mjs +43 -0
  281. package/esm2020/src/app/social/job/progression/job-progression.model.mjs +23 -0
  282. package/esm2020/src/app/social/job/progression/job-progression.service.mjs +71 -0
  283. package/esm2020/src/app/social/job/testing/job-progression.testing.mjs +52 -0
  284. package/esm2020/src/app/social/job/testing/job-progression.testing.service.mjs +55 -0
  285. package/esm2020/src/app/social/job/testing/job.testing.module.mjs +35 -0
  286. package/esm2020/src/app/social/message/message.form.mjs +81 -0
  287. package/esm2020/src/app/social/message/message.modal.mjs +93 -0
  288. package/esm2020/src/app/social/message/message.model.mjs +65 -0
  289. package/esm2020/src/app/social/message/message.module.mjs +35 -0
  290. package/esm2020/src/app/social/message/message.service.mjs +84 -0
  291. package/esm2020/src/app/social/social.errors.mjs +10 -0
  292. package/esm2020/src/app/social/social.module.mjs +47 -0
  293. package/esm2020/src/app/social/social.testing.module.mjs +51 -0
  294. package/esm2020/src/app/social/user-event/notification/user-event-notification.icon.mjs +114 -0
  295. package/esm2020/src/app/social/user-event/notification/user-event-notification.list.mjs +246 -0
  296. package/esm2020/src/app/social/user-event/testing/user-event.testing.mjs +227 -0
  297. package/esm2020/src/app/social/user-event/testing/user-event.testing.model.mjs +112 -0
  298. package/esm2020/src/app/social/user-event/testing/user-event.testing.module.mjs +35 -0
  299. package/esm2020/src/app/social/user-event/testing/user-event.testing.service.mjs +111 -0
  300. package/esm2020/src/app/social/user-event/user-event.model.mjs +2 -0
  301. package/esm2020/src/app/social/user-event/user-event.module.mjs +39 -0
  302. package/esm2020/src/app/social/user-event/user-event.service.mjs +487 -0
  303. package/esm2020/src/environments/environment.class.mjs +5 -0
  304. package/esm2020/src/environments/environment.mjs +94 -0
  305. package/esm2020/sumaris-net.ngx-components.mjs +5 -0
  306. package/fesm2015/sumaris-net.ngx-components.mjs +38842 -0
  307. package/fesm2015/sumaris-net.ngx-components.mjs.map +1 -0
  308. package/fesm2020/sumaris-net.ngx-components.mjs +37941 -0
  309. package/fesm2020/sumaris-net.ngx-components.mjs.map +1 -0
  310. package/index.d.ts +5 -0
  311. package/package.json +23 -137
  312. package/public_api.d.ts +286 -0
  313. package/src/app/admin/admin-routing.module.d.ts +9 -0
  314. package/src/app/admin/admin.module.d.ts +10 -0
  315. package/src/app/admin/services/filter/person.filter.d.ts +21 -0
  316. package/src/app/admin/services/person.service.d.ts +44 -0
  317. package/src/app/admin/services/validator/person.validator.d.ts +14 -0
  318. package/src/app/admin/users/users.d.ts +44 -0
  319. package/src/app/admin/users/users.module.d.ts +13 -0
  320. package/src/app/core/about/about.modal.d.ts +32 -0
  321. package/src/app/core/about/about.module.d.ts +10 -0
  322. package/src/app/core/account/account.module.d.ts +15 -0
  323. package/src/app/core/account/account.page.d.ts +68 -0
  324. package/src/app/core/account/new-token.modal.d.ts +41 -0
  325. package/src/app/core/account/token.table.d.ts +25 -0
  326. package/src/app/core/auth/auth.form.d.ts +36 -0
  327. package/src/app/core/auth/auth.modal.d.ts +24 -0
  328. package/src/app/core/auth/auth.module.d.ts +11 -0
  329. package/src/app/core/core.module.d.ts +31 -0
  330. package/src/app/core/core.testing.module.d.ts +14 -0
  331. package/src/app/core/form/buttons/form-buttons-bar.component.d.ts +26 -0
  332. package/src/app/core/form/buttons/form-buttons-bar.module.d.ts +9 -0
  333. package/src/app/core/form/entity/editor.class.d.ts +243 -0
  334. package/src/app/core/form/entity/entity-editor-modal.class.d.ts +128 -0
  335. package/src/app/core/form/entity/entity-editor.class.d.ts +205 -0
  336. package/src/app/core/form/entity/entity-metadata.component.d.ts +13 -0
  337. package/src/app/core/form/entity/entity.module.d.ts +10 -0
  338. package/src/app/core/form/form.class.d.ts +155 -0
  339. package/src/app/core/form/form.module.d.ts +13 -0
  340. package/src/app/core/form/form.utils.d.ts +336 -0
  341. package/src/app/core/form/list/list.form.d.ts +81 -0
  342. package/src/app/core/form/list/list.module.d.ts +9 -0
  343. package/src/app/core/form/properties/properties.form.d.ts +44 -0
  344. package/src/app/core/form/properties/properties.module.d.ts +11 -0
  345. package/src/app/core/form/properties/properties.table.d.ts +78 -0
  346. package/src/app/core/form/properties/property.validator.d.ts +13 -0
  347. package/src/app/core/form/properties/testing/properties-form.test.d.ts +19 -0
  348. package/src/app/core/form/properties/testing/properties-form.testing.module.d.ts +12 -0
  349. package/src/app/core/form/text-popover/testing/text-popover.testing.d.ts +14 -0
  350. package/src/app/core/form/text-popover/testing/text-popover.testing.module.d.ts +11 -0
  351. package/src/app/core/form/text-popover/text-form.component.d.ts +32 -0
  352. package/src/app/core/form/text-popover/text-popover.component.d.ts +70 -0
  353. package/src/app/core/form/text-popover/text-popover.module.d.ts +10 -0
  354. package/src/app/core/graphql/graphql.module.d.ts +8 -0
  355. package/src/app/core/graphql/graphql.service.d.ts +148 -0
  356. package/src/app/core/graphql/graphql.utils.d.ts +42 -0
  357. package/src/app/core/home/home.d.ts +74 -0
  358. package/src/app/core/home/home.module.d.ts +12 -0
  359. package/src/app/core/icon/icon.component.d.ts +13 -0
  360. package/src/app/core/icon/icon.module.d.ts +9 -0
  361. package/src/app/core/install/install-upgrade-card.component.d.ts +63 -0
  362. package/src/app/core/install/install-upgrade-card.module.d.ts +9 -0
  363. package/src/app/core/menu/menu.component.d.ts +62 -0
  364. package/src/app/core/menu/menu.model.d.ts +28 -0
  365. package/src/app/core/menu/menu.module.d.ts +10 -0
  366. package/src/app/core/menu/menu.service.d.ts +21 -0
  367. package/src/app/core/offline/update-offline-mode-card.component.d.ts +11 -0
  368. package/src/app/core/offline/update-offline-mode-card.module.d.ts +9 -0
  369. package/src/app/core/peer/select-peer.modal.d.ts +53 -0
  370. package/src/app/core/peer/select-peer.module.d.ts +11 -0
  371. package/src/app/core/register/register-confirm.page.d.ts +24 -0
  372. package/src/app/core/register/register.form.d.ts +48 -0
  373. package/src/app/core/register/register.modal.d.ts +14 -0
  374. package/src/app/core/register/register.module.d.ts +12 -0
  375. package/src/app/core/services/account.service.d.ts +191 -0
  376. package/src/app/core/services/auth-guard.service.d.ts +17 -0
  377. package/src/app/core/services/base-entity-service.class.d.ts +104 -0
  378. package/src/app/core/services/base-graphql-service.class.d.ts +77 -0
  379. package/src/app/core/services/base58.d.ts +7 -0
  380. package/src/app/core/services/config/core.config.d.ts +29 -0
  381. package/src/app/core/services/config.service.d.ts +60 -0
  382. package/src/app/core/services/crypto.service.d.ts +44 -0
  383. package/src/app/core/services/errors.d.ts +51 -0
  384. package/src/app/core/services/local-settings.service.d.ts +90 -0
  385. package/src/app/core/services/model/account.model.d.ts +35 -0
  386. package/src/app/core/services/model/config.model.d.ts +36 -0
  387. package/src/app/core/services/model/department.model.d.ts +11 -0
  388. package/src/app/core/services/model/entity.decorators.d.ts +17 -0
  389. package/src/app/core/services/model/entity.model.d.ts +89 -0
  390. package/src/app/core/services/model/filter.model.d.ts +43 -0
  391. package/src/app/core/services/model/history.model.d.ts +20 -0
  392. package/src/app/core/services/model/model.enum.d.ts +7 -0
  393. package/src/app/core/services/model/peer.model.d.ts +29 -0
  394. package/src/app/core/services/model/person.model.d.ts +31 -0
  395. package/src/app/core/services/model/referential.model.d.ts +77 -0
  396. package/src/app/core/services/model/settings.model.d.ts +26 -0
  397. package/src/app/core/services/model/token.model.d.ts +21 -0
  398. package/src/app/core/services/network.service.d.ts +149 -0
  399. package/src/app/core/services/network.types.d.ts +5 -0
  400. package/src/app/core/services/network.utils.d.ts +31 -0
  401. package/src/app/core/services/pipes/account.pipes.d.ts +15 -0
  402. package/src/app/core/services/pipes/department-to-string.pipe.d.ts +9 -0
  403. package/src/app/core/services/pipes/person-to-string.pipe.d.ts +9 -0
  404. package/src/app/core/services/pipes/usage-mode.pipes.d.ts +15 -0
  405. package/src/app/core/services/platform.service.d.ts +96 -0
  406. package/src/app/core/services/storage/entities-storage.service.d.ts +108 -0
  407. package/src/app/core/services/storage/entity-store.class.d.ts +113 -0
  408. package/src/app/core/services/testing/referential-filter.model.d.ts +9 -0
  409. package/src/app/core/services/testing/referential.validator.d.ts +22 -0
  410. package/src/app/core/services/validator/account.validator.d.ts +17 -0
  411. package/src/app/core/services/validator/base.validator.class.d.ts +21 -0
  412. package/src/app/core/services/validator/local-settings.validator.d.ts +18 -0
  413. package/src/app/core/services/validator/user-settings.validator.d.ts +10 -0
  414. package/src/app/core/services/validator/user-token.validator.d.ts +13 -0
  415. package/src/app/core/settings/settings.module.d.ts +10 -0
  416. package/src/app/core/settings/settings.page.d.ts +68 -0
  417. package/src/app/core/table/actions-column.component.d.ts +48 -0
  418. package/src/app/core/table/async-table.class.d.ts +383 -0
  419. package/src/app/core/table/entities-async-table-datasource.class.d.ts +80 -0
  420. package/src/app/core/table/entities-table-datasource.class.d.ts +94 -0
  421. package/src/app/core/table/memory-table.class.d.ts +25 -0
  422. package/src/app/core/table/table-select-columns.component.d.ts +22 -0
  423. package/src/app/core/table/table.class.d.ts +386 -0
  424. package/src/app/core/table/table.model.d.ts +26 -0
  425. package/src/app/core/table/table.module.d.ts +10 -0
  426. package/src/app/core/table/table.utils.d.ts +11 -0
  427. package/src/app/core/table/testing/table-validator.service.d.ts +17 -0
  428. package/src/app/core/table/testing/table.testing.d.ts +53 -0
  429. package/src/app/core/table/testing/table.testing.module.d.ts +11 -0
  430. package/src/app/shared/alerts.d.ts +53 -0
  431. package/src/app/shared/audio/audio.d.ts +44 -0
  432. package/src/app/shared/audio/audio.testing.d.ts +13 -0
  433. package/src/app/shared/audio/audio.testing.module.d.ts +11 -0
  434. package/src/app/shared/capacitor/keyboard.d.ts +16 -0
  435. package/src/app/shared/capacitor/plugins.d.ts +7 -0
  436. package/src/app/shared/constants.d.ts +7 -0
  437. package/src/app/shared/dates.d.ts +39 -0
  438. package/src/app/shared/debug/debug-service.class.d.ts +5 -0
  439. package/src/app/shared/debug/debug.component.d.ts +13 -0
  440. package/src/app/shared/debug/debug.module.d.ts +12 -0
  441. package/src/app/shared/directives/autofocus.directive.d.ts +19 -0
  442. package/src/app/shared/directives/autotitle.directive.d.ts +10 -0
  443. package/src/app/shared/directives/directives.module.d.ts +12 -0
  444. package/src/app/shared/directives/drag-and-drop.directive.d.ts +17 -0
  445. package/src/app/shared/directives/ng-var.directive.d.ts +12 -0
  446. package/src/app/shared/directives/resizable/resizable.component.d.ts +21 -0
  447. package/src/app/shared/directives/resizable/resizable.directive.d.ts +12 -0
  448. package/src/app/shared/directives/resizable/resizable.module.d.ts +8 -0
  449. package/src/app/shared/events.d.ts +27 -0
  450. package/src/app/shared/file/csv.utils.d.ts +19 -0
  451. package/src/app/shared/file/file.service.d.ts +23 -0
  452. package/src/app/shared/file/file.utils.d.ts +20 -0
  453. package/src/app/shared/file/images.utils.d.ts +19 -0
  454. package/src/app/shared/file/json.utils.d.ts +16 -0
  455. package/src/app/shared/file/uri.utils.d.ts +7 -0
  456. package/src/app/shared/focusable.d.ts +4 -0
  457. package/src/app/shared/form/field.component.d.ts +71 -0
  458. package/src/app/shared/form/field.model.d.ts +37 -0
  459. package/src/app/shared/form/loading-spinner.d.ts +8 -0
  460. package/src/app/shared/forms.d.ts +89 -0
  461. package/src/app/shared/functions.d.ts +132 -0
  462. package/src/app/shared/geolocation/geolocation.utils.d.ts +19 -0
  463. package/src/app/shared/gesture/gesture-config.d.ts +15 -0
  464. package/src/app/shared/gesture/hammer.utils.d.ts +16 -0
  465. package/src/app/shared/graph/colors.utils.d.ts +17 -0
  466. package/src/app/shared/graph/graph-colors.d.ts +63 -0
  467. package/src/app/shared/guard/component-dirty.guard.d.ts +19 -0
  468. package/src/app/shared/help/help.modal.d.ts +33 -0
  469. package/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.d.ts +10 -0
  470. package/src/app/shared/hotkeys/hotkeys.service.d.ts +28 -0
  471. package/src/app/shared/hotkeys/shared-hotkeys.module.d.ts +11 -0
  472. package/src/app/shared/http/http.utils.d.ts +27 -0
  473. package/src/app/shared/image/gallery/image-gallery.component.d.ts +98 -0
  474. package/src/app/shared/image/gallery/image-gallery.module.d.ts +14 -0
  475. package/src/app/shared/image/gallery/testing/gallegry.model.testing.d.ts +12 -0
  476. package/src/app/shared/image/gallery/testing/gallery.service.testing.d.ts +33 -0
  477. package/src/app/shared/image/gallery/testing/gallery.testing.d.ts +16 -0
  478. package/src/app/shared/image/gallery/testing/gallery.testing.module.d.ts +12 -0
  479. package/src/app/shared/image/image.model.d.ts +5 -0
  480. package/src/app/shared/image/image.module.d.ts +8 -0
  481. package/src/app/shared/image/image.service.d.ts +32 -0
  482. package/src/app/shared/inputs.d.ts +32 -0
  483. package/src/app/shared/interceptors/progess.interceptor.d.ts +8 -0
  484. package/src/app/shared/logging/log-level.model.d.ts +38 -0
  485. package/src/app/shared/logging/logger.model.d.ts +68 -0
  486. package/src/app/shared/logging/logging-service.class.d.ts +39 -0
  487. package/src/app/shared/logging/logging-service.config.d.ts +25 -0
  488. package/src/app/shared/logging/logging-service.module.d.ts +9 -0
  489. package/src/app/shared/material/autocomplete/material.autocomplete.config.d.ts +36 -0
  490. package/src/app/shared/material/autocomplete/material.autocomplete.d.ts +138 -0
  491. package/src/app/shared/material/autocomplete/material.autocomplete.module.d.ts +21 -0
  492. package/src/app/shared/material/autocomplete/material.autocomplete.utils.d.ts +4 -0
  493. package/src/app/shared/material/autocomplete/testing/autocomplete.test.d.ts +45 -0
  494. package/src/app/shared/material/badge/badge.directive.d.ts +37 -0
  495. package/src/app/shared/material/badge/badge.module.d.ts +10 -0
  496. package/src/app/shared/material/badge/badge.test.d.ts +21 -0
  497. package/src/app/shared/material/boolean/boolean.module.d.ts +19 -0
  498. package/src/app/shared/material/boolean/material.boolean.d.ts +66 -0
  499. package/src/app/shared/material/chips/chips.module.d.ts +21 -0
  500. package/src/app/shared/material/chips/material.chips.d.ts +126 -0
  501. package/src/app/shared/material/chips/testing/chips.test.d.ts +31 -0
  502. package/src/app/shared/material/datetime/datetime.module.d.ts +24 -0
  503. package/src/app/shared/material/datetime/material.date.d.ts +74 -0
  504. package/src/app/shared/material/datetime/material.dateshort.d.ts +75 -0
  505. package/src/app/shared/material/datetime/material.datetime.d.ts +100 -0
  506. package/src/app/shared/material/datetime/testing/mat-date-time.test.d.ts +31 -0
  507. package/src/app/shared/material/datetime/testing/mat-date.test.d.ts +30 -0
  508. package/src/app/shared/material/datetime/testing/mat-dateshort.test.d.ts +29 -0
  509. package/src/app/shared/material/duration/duration.module.d.ts +18 -0
  510. package/src/app/shared/material/duration/duration.utils.d.ts +3 -0
  511. package/src/app/shared/material/duration/material.duration.d.ts +57 -0
  512. package/src/app/shared/material/latlong/latlong.utils.d.ts +13 -0
  513. package/src/app/shared/material/latlong/material.latlong.d.ts +65 -0
  514. package/src/app/shared/material/latlong/material.latlong.module.d.ts +19 -0
  515. package/src/app/shared/material/latlong/testing/latlong.test.d.ts +21 -0
  516. package/src/app/shared/material/material.animations.d.ts +4 -0
  517. package/src/app/shared/material/material.module.d.ts +45 -0
  518. package/src/app/shared/material/material.testing.module.d.ts +25 -0
  519. package/src/app/shared/material/numpad/numpad.append-to-input.directive.d.ts +22 -0
  520. package/src/app/shared/material/numpad/numpad.component.d.ts +26 -0
  521. package/src/app/shared/material/numpad/numpad.container.d.ts +40 -0
  522. package/src/app/shared/material/numpad/numpad.content.d.ts +7 -0
  523. package/src/app/shared/material/numpad/numpad.directive.d.ts +35 -0
  524. package/src/app/shared/material/numpad/numpad.dom-service.d.ts +16 -0
  525. package/src/app/shared/material/numpad/numpad.model.d.ts +30 -0
  526. package/src/app/shared/material/numpad/numpad.module.d.ts +16 -0
  527. package/src/app/shared/material/numpad/testing/numpad.test.d.ts +13 -0
  528. package/src/app/shared/material/paginator/material.paginator-i18n.d.ts +15 -0
  529. package/src/app/shared/material/stepper/material.stepper-i18n.d.ts +10 -0
  530. package/src/app/shared/material/swipe/material.swipe.d.ts +89 -0
  531. package/src/app/shared/material/swipe/swipe.module.d.ts +15 -0
  532. package/src/app/shared/material/swipe/testing/swipe.test.d.ts +22 -0
  533. package/src/app/shared/modules.d.ts +8 -0
  534. package/src/app/shared/observables.d.ts +29 -0
  535. package/src/app/shared/pipes/arrays.pipe.d.ts +54 -0
  536. package/src/app/shared/pipes/colors.pipe.d.ts +9 -0
  537. package/src/app/shared/pipes/date-diff-duration.pipe.d.ts +23 -0
  538. package/src/app/shared/pipes/date-format.pipe.d.ts +34 -0
  539. package/src/app/shared/pipes/date-from-now.pipe.d.ts +12 -0
  540. package/src/app/shared/pipes/duration.pipe.d.ts +13 -0
  541. package/src/app/shared/pipes/file-size.pipe.d.ts +30 -0
  542. package/src/app/shared/pipes/form.pipes.d.ts +59 -0
  543. package/src/app/shared/pipes/highlight.pipe.d.ts +11 -0
  544. package/src/app/shared/pipes/latlong-format.pipe.d.ts +20 -0
  545. package/src/app/shared/pipes/maps.pipe.d.ts +22 -0
  546. package/src/app/shared/pipes/math.pipes.d.ts +20 -0
  547. package/src/app/shared/pipes/ng-init.pipe.d.ts +8 -0
  548. package/src/app/shared/pipes/number-format.pipe.d.ts +10 -0
  549. package/src/app/shared/pipes/pipes.module.d.ts +27 -0
  550. package/src/app/shared/pipes/property.pipes.d.ts +26 -0
  551. package/src/app/shared/pipes/string.pipes.d.ts +47 -0
  552. package/src/app/shared/pipes/translate-context.pipe.d.ts +17 -0
  553. package/src/app/shared/pipes/types.pipes.d.ts +18 -0
  554. package/src/app/shared/platforms.d.ts +8 -0
  555. package/src/app/shared/services/entity-service.class.d.ts +73 -0
  556. package/src/app/shared/services/job.utils.d.ts +20 -0
  557. package/src/app/shared/services/memory-entity-service.class.d.ts +71 -0
  558. package/src/app/shared/services/progress-bar.service.d.ts +20 -0
  559. package/src/app/shared/services/startable-observable-service.class.d.ts +33 -0
  560. package/src/app/shared/services/startable-service.class.d.ts +34 -0
  561. package/src/app/shared/services/translate-context.service.d.ts +29 -0
  562. package/src/app/shared/services/validator-service.class.d.ts +10 -0
  563. package/src/app/shared/services.d.ts +9 -0
  564. package/src/app/shared/shared-routing.module.d.ts +22 -0
  565. package/src/app/shared/shared.module.d.ts +31 -0
  566. package/src/app/shared/shared.testing.module.d.ts +17 -0
  567. package/src/app/shared/storage/storage-explorer.component.d.ts +58 -0
  568. package/src/app/shared/storage/storage-explorer.module.d.ts +16 -0
  569. package/src/app/shared/storage/storage.service.d.ts +23 -0
  570. package/src/app/shared/storage/storage.utils.d.ts +19 -0
  571. package/src/app/shared/testing/observable.test.d.ts +25 -0
  572. package/src/app/shared/testing/tests.page.d.ts +20 -0
  573. package/src/app/shared/toast/toast.testing.d.ts +15 -0
  574. package/src/app/shared/toast/toast.testing.module.d.ts +11 -0
  575. package/src/app/shared/toast/toasts.d.ts +17 -0
  576. package/src/app/shared/toolbar/modal-toolbar.d.ts +21 -0
  577. package/src/app/shared/toolbar/toolbar.d.ts +63 -0
  578. package/src/app/shared/toolbar/toolbar.module.d.ts +15 -0
  579. package/src/app/shared/types.d.ts +26 -0
  580. package/src/app/shared/upload-file/testing/upload-file.testing.d.ts +20 -0
  581. package/src/app/shared/upload-file/testing/upload-file.testing.module.d.ts +11 -0
  582. package/src/app/shared/upload-file/upload-file-popover.component.d.ts +39 -0
  583. package/src/app/shared/upload-file/upload-file.component.d.ts +48 -0
  584. package/src/app/shared/upload-file/upload-file.model.d.ts +30 -0
  585. package/src/app/shared/validator/form-error-adapter.class.d.ts +27 -0
  586. package/src/app/shared/validator/validators.d.ts +115 -0
  587. package/src/app/shared/version/versions.d.ts +26 -0
  588. package/src/app/social/job/job.module.d.ts +12 -0
  589. package/src/app/social/job/progression/job-progression.component.d.ts +9 -0
  590. package/src/app/social/job/progression/job-progression.icon.d.ts +49 -0
  591. package/src/app/social/job/progression/job-progression.list.d.ts +21 -0
  592. package/src/app/social/job/progression/job-progression.model.d.ts +11 -0
  593. package/src/app/social/job/progression/job-progression.service.d.ts +34 -0
  594. package/src/app/social/job/testing/job-progression.testing.d.ts +17 -0
  595. package/src/app/social/job/testing/job-progression.testing.service.d.ts +17 -0
  596. package/src/app/social/job/testing/job.testing.module.d.ts +11 -0
  597. package/src/app/social/message/message.form.d.ts +30 -0
  598. package/src/app/social/message/message.modal.d.ts +39 -0
  599. package/src/app/social/message/message.model.d.ts +31 -0
  600. package/src/app/social/message/message.module.d.ts +11 -0
  601. package/src/app/social/message/message.service.d.ts +27 -0
  602. package/src/app/social/social.errors.d.ts +9 -0
  603. package/src/app/social/social.module.d.ts +20 -0
  604. package/src/app/social/social.testing.module.d.ts +13 -0
  605. package/src/app/social/user-event/notification/user-event-notification.icon.d.ts +31 -0
  606. package/src/app/social/user-event/notification/user-event-notification.list.d.ts +71 -0
  607. package/src/app/social/user-event/testing/user-event.testing.d.ts +34 -0
  608. package/src/app/social/user-event/testing/user-event.testing.model.d.ts +44 -0
  609. package/src/app/social/user-event/testing/user-event.testing.module.d.ts +11 -0
  610. package/src/app/social/user-event/testing/user-event.testing.service.d.ts +41 -0
  611. package/src/app/social/user-event/user-event.model.d.ts +45 -0
  612. package/src/app/social/user-event/user-event.module.d.ts +12 -0
  613. package/src/app/social/user-event/user-event.service.d.ts +124 -0
  614. package/src/environments/environment.class.d.ts +57 -0
  615. package/src/environments/environment.d.ts +3 -0
  616. package/.editorconfig +0 -24
  617. package/.eslintrc.json +0 -74
  618. package/.gitattribute +0 -1
  619. package/.github/CONTRIBUTING.md +0 -10
  620. package/.github/ISSUE_TEMPLATE.md +0 -6
  621. package/.github/PULL_REQUEST_TEMPLATE.md +0 -10
  622. package/.github/github_disclaimer.md +0 -14
  623. package/.gitlab-ci.yml +0 -46
  624. package/.graphqlconfig +0 -15
  625. package/angular.json +0 -230
  626. package/capacitor.config.json +0 -9
  627. package/ionic.config.json +0 -7
  628. package/karma.conf.js +0 -32
  629. package/ng-package.json +0 -19
  630. package/ngcc.config.js +0 -14
  631. package/public_api.ts +0 -343
  632. package/resources/android/build/tools/android-accept-licenses.sh +0 -14
  633. package/resources/android/icon/drawable-hdpi-icon.png +0 -0
  634. package/resources/android/icon/drawable-ldpi-icon.png +0 -0
  635. package/resources/android/icon/drawable-mdpi-icon.png +0 -0
  636. package/resources/android/icon/drawable-xhdpi-icon.png +0 -0
  637. package/resources/android/icon/drawable-xxhdpi-icon.png +0 -0
  638. package/resources/android/icon/drawable-xxxhdpi-icon.png +0 -0
  639. package/resources/android/splash/drawable-land-hdpi-screen.png +0 -0
  640. package/resources/android/splash/drawable-land-ldpi-screen.png +0 -0
  641. package/resources/android/splash/drawable-land-mdpi-screen.png +0 -0
  642. package/resources/android/splash/drawable-land-xhdpi-screen.png +0 -0
  643. package/resources/android/splash/drawable-land-xxhdpi-screen.png +0 -0
  644. package/resources/android/splash/drawable-land-xxxhdpi-screen.png +0 -0
  645. package/resources/android/splash/drawable-port-hdpi-screen.png +0 -0
  646. package/resources/android/splash/drawable-port-ldpi-screen.png +0 -0
  647. package/resources/android/splash/drawable-port-mdpi-screen.png +0 -0
  648. package/resources/android/splash/drawable-port-xhdpi-screen.png +0 -0
  649. package/resources/android/splash/drawable-port-xxhdpi-screen.png +0 -0
  650. package/resources/android/splash/drawable-port-xxxhdpi-screen.png +0 -0
  651. package/resources/android/splash/drawable-xxxhdpi-screen.png +0 -0
  652. package/resources/icon/TODO.md +0 -11
  653. package/resources/icon.png +0 -0
  654. package/resources/icon.png.md5 +0 -1
  655. package/resources/icon.xcf +0 -0
  656. package/resources/ios/icon/icon-1024.png +0 -0
  657. package/resources/ios/icon/icon-108@2x.png +0 -0
  658. package/resources/ios/icon/icon-20.png +0 -0
  659. package/resources/ios/icon/icon-20@2x.png +0 -0
  660. package/resources/ios/icon/icon-20@3x.png +0 -0
  661. package/resources/ios/icon/icon-24@2x.png +0 -0
  662. package/resources/ios/icon/icon-27.5@2x.png +0 -0
  663. package/resources/ios/icon/icon-29.png +0 -0
  664. package/resources/ios/icon/icon-29@2x.png +0 -0
  665. package/resources/ios/icon/icon-29@3x.png +0 -0
  666. package/resources/ios/icon/icon-40.png +0 -0
  667. package/resources/ios/icon/icon-40@2x.png +0 -0
  668. package/resources/ios/icon/icon-40@3x.png +0 -0
  669. package/resources/ios/icon/icon-44@2x.png +0 -0
  670. package/resources/ios/icon/icon-50.png +0 -0
  671. package/resources/ios/icon/icon-50@2x.png +0 -0
  672. package/resources/ios/icon/icon-60.png +0 -0
  673. package/resources/ios/icon/icon-60@2x.png +0 -0
  674. package/resources/ios/icon/icon-60@3x.png +0 -0
  675. package/resources/ios/icon/icon-72.png +0 -0
  676. package/resources/ios/icon/icon-72@2x.png +0 -0
  677. package/resources/ios/icon/icon-76.png +0 -0
  678. package/resources/ios/icon/icon-76@2x.png +0 -0
  679. package/resources/ios/icon/icon-83.5@2x.png +0 -0
  680. package/resources/ios/icon/icon-86@2x.png +0 -0
  681. package/resources/ios/icon/icon-98@2x.png +0 -0
  682. package/resources/ios/icon/icon-small.png +0 -0
  683. package/resources/ios/icon/icon-small@2x.png +0 -0
  684. package/resources/ios/icon/icon-small@3x.png +0 -0
  685. package/resources/ios/icon/icon.png +0 -0
  686. package/resources/ios/icon/icon@2x.png +0 -0
  687. package/resources/ios/splash/Default-1792h~iphone.png +0 -0
  688. package/resources/ios/splash/Default-2436h.png +0 -0
  689. package/resources/ios/splash/Default-2688h~iphone.png +0 -0
  690. package/resources/ios/splash/Default-568h@2x~iphone.png +0 -0
  691. package/resources/ios/splash/Default-667h.png +0 -0
  692. package/resources/ios/splash/Default-736h.png +0 -0
  693. package/resources/ios/splash/Default-Landscape-1792h~iphone.png +0 -0
  694. package/resources/ios/splash/Default-Landscape-2436h.png +0 -0
  695. package/resources/ios/splash/Default-Landscape-2688h~iphone.png +0 -0
  696. package/resources/ios/splash/Default-Landscape-736h.png +0 -0
  697. package/resources/ios/splash/Default-Landscape@2x~ipad.png +0 -0
  698. package/resources/ios/splash/Default-Landscape@~ipadpro.png +0 -0
  699. package/resources/ios/splash/Default-Landscape~ipad.png +0 -0
  700. package/resources/ios/splash/Default-Portrait@2x~ipad.png +0 -0
  701. package/resources/ios/splash/Default-Portrait@~ipadpro.png +0 -0
  702. package/resources/ios/splash/Default-Portrait~ipad.png +0 -0
  703. package/resources/ios/splash/Default@2x~iphone.png +0 -0
  704. package/resources/ios/splash/Default@2x~universal~anyany.png +0 -0
  705. package/resources/ios/splash/Default~iphone.png +0 -0
  706. package/resources/splash.png +0 -0
  707. package/resources/splash.png.md5 +0 -1
  708. package/scripts/build-android.sh +0 -18
  709. package/scripts/build-i18n.js +0 -24
  710. package/scripts/docker-start.sh +0 -6
  711. package/scripts/emulate-android.sh +0 -17
  712. package/scripts/env-android.sh +0 -83
  713. package/scripts/env-clean.sh +0 -23
  714. package/scripts/env-global.sh +0 -156
  715. package/scripts/install-android-sdk-tools.sh +0 -73
  716. package/scripts/ionic-update.sh +0 -24
  717. package/scripts/node/playground.ts +0 -9
  718. package/scripts/node/resources.js +0 -90
  719. package/scripts/release.sh +0 -149
  720. package/scripts/run-android.sh +0 -59
  721. package/scripts/test.sh +0 -19
  722. package/src/app/admin/admin-routing.module.ts +0 -30
  723. package/src/app/admin/admin.module.ts +0 -23
  724. package/src/app/admin/services/filter/person.filter.ts +0 -77
  725. package/src/app/admin/services/person.service.ts +0 -212
  726. package/src/app/admin/services/validator/person.validator.ts +0 -37
  727. package/src/app/admin/users/users.html +0 -427
  728. package/src/app/admin/users/users.module.ts +0 -34
  729. package/src/app/admin/users/users.scss +0 -59
  730. package/src/app/admin/users/users.ts +0 -257
  731. package/src/app/app-routing.module.ts +0 -126
  732. package/src/app/app.component.html +0 -12
  733. package/src/app/app.component.scss +0 -4
  734. package/src/app/app.component.ts +0 -205
  735. package/src/app/app.module.ts +0 -326
  736. package/src/app/core/about/about.modal.html +0 -140
  737. package/src/app/core/about/about.modal.scss +0 -23
  738. package/src/app/core/about/about.modal.ts +0 -71
  739. package/src/app/core/about/about.module.ts +0 -24
  740. package/src/app/core/account/account.module.ts +0 -38
  741. package/src/app/core/account/account.page.html +0 -241
  742. package/src/app/core/account/account.page.scss +0 -21
  743. package/src/app/core/account/account.page.ts +0 -366
  744. package/src/app/core/account/new-token.modal.html +0 -120
  745. package/src/app/core/account/new-token.modal.ts +0 -138
  746. package/src/app/core/account/token.table.html +0 -177
  747. package/src/app/core/account/token.table.scss +0 -7
  748. package/src/app/core/account/token.table.ts +0 -141
  749. package/src/app/core/auth/auth.form.html +0 -77
  750. package/src/app/core/auth/auth.form.scss +0 -1
  751. package/src/app/core/auth/auth.form.ts +0 -145
  752. package/src/app/core/auth/auth.modal.html +0 -57
  753. package/src/app/core/auth/auth.modal.scss +0 -1
  754. package/src/app/core/auth/auth.modal.ts +0 -80
  755. package/src/app/core/auth/auth.module.ts +0 -33
  756. package/src/app/core/core.module.ts +0 -100
  757. package/src/app/core/core.testing.module.ts +0 -64
  758. package/src/app/core/form/buttons/form-buttons-bar.component.html +0 -59
  759. package/src/app/core/form/buttons/form-buttons-bar.component.scss +0 -14
  760. package/src/app/core/form/buttons/form-buttons-bar.component.ts +0 -70
  761. package/src/app/core/form/buttons/form-buttons-bar.module.ts +0 -24
  762. package/src/app/core/form/entity/editor.class.ts +0 -803
  763. package/src/app/core/form/entity/entity-editor-modal.class.ts +0 -537
  764. package/src/app/core/form/entity/entity-editor.class.ts +0 -885
  765. package/src/app/core/form/entity/entity-metadata.component.html +0 -53
  766. package/src/app/core/form/entity/entity-metadata.component.scss +0 -28
  767. package/src/app/core/form/entity/entity-metadata.component.ts +0 -19
  768. package/src/app/core/form/entity/entity.module.ts +0 -25
  769. package/src/app/core/form/form.class.ts +0 -401
  770. package/src/app/core/form/form.module.ts +0 -37
  771. package/src/app/core/form/form.utils.ts +0 -639
  772. package/src/app/core/form/list/list.form.html +0 -67
  773. package/src/app/core/form/list/list.form.scss +0 -40
  774. package/src/app/core/form/list/list.form.ts +0 -278
  775. package/src/app/core/form/list/list.module.ts +0 -25
  776. package/src/app/core/form/properties/properties.form.html +0 -129
  777. package/src/app/core/form/properties/properties.form.ts +0 -147
  778. package/src/app/core/form/properties/properties.module.ts +0 -30
  779. package/src/app/core/form/properties/properties.table.html +0 -219
  780. package/src/app/core/form/properties/properties.table.scss +0 -0
  781. package/src/app/core/form/properties/properties.table.ts +0 -291
  782. package/src/app/core/form/properties/property.validator.ts +0 -22
  783. package/src/app/core/form/properties/testing/properties-form.test.html +0 -21
  784. package/src/app/core/form/properties/testing/properties-form.test.ts +0 -102
  785. package/src/app/core/form/properties/testing/properties-form.testing.module.ts +0 -25
  786. package/src/app/core/form/text-popover/testing/text-popover.testing.html +0 -45
  787. package/src/app/core/form/text-popover/testing/text-popover.testing.module.ts +0 -32
  788. package/src/app/core/form/text-popover/testing/text-popover.testing.ts +0 -77
  789. package/src/app/core/form/text-popover/text-form.component.html +0 -44
  790. package/src/app/core/form/text-popover/text-form.component.scss +0 -8
  791. package/src/app/core/form/text-popover/text-form.component.ts +0 -65
  792. package/src/app/core/form/text-popover/text-popover.component.html +0 -86
  793. package/src/app/core/form/text-popover/text-popover.component.scss +0 -7
  794. package/src/app/core/form/text-popover/text-popover.component.ts +0 -165
  795. package/src/app/core/form/text-popover/text-popover.module.ts +0 -27
  796. package/src/app/core/graphql/graphql.module.ts +0 -17
  797. package/src/app/core/graphql/graphql.service.ts +0 -969
  798. package/src/app/core/graphql/graphql.utils.ts +0 -167
  799. package/src/app/core/home/home.html +0 -211
  800. package/src/app/core/home/home.module.ts +0 -32
  801. package/src/app/core/home/home.scss +0 -242
  802. package/src/app/core/home/home.ts +0 -298
  803. package/src/app/core/icon/icon.component.html +0 -15
  804. package/src/app/core/icon/icon.component.ts +0 -23
  805. package/src/app/core/icon/icon.module.ts +0 -22
  806. package/src/app/core/install/install-upgrade-card.component.html +0 -144
  807. package/src/app/core/install/install-upgrade-card.component.scss +0 -4
  808. package/src/app/core/install/install-upgrade-card.component.ts +0 -412
  809. package/src/app/core/install/install-upgrade-card.module.ts +0 -23
  810. package/src/app/core/menu/menu.component.html +0 -135
  811. package/src/app/core/menu/menu.component.scss +0 -225
  812. package/src/app/core/menu/menu.component.ts +0 -352
  813. package/src/app/core/menu/menu.model.ts +0 -64
  814. package/src/app/core/menu/menu.module.ts +0 -27
  815. package/src/app/core/menu/menu.service.ts +0 -62
  816. package/src/app/core/offline/update-offline-mode-card.component.html +0 -45
  817. package/src/app/core/offline/update-offline-mode-card.component.scss +0 -4
  818. package/src/app/core/offline/update-offline-mode-card.component.ts +0 -28
  819. package/src/app/core/offline/update-offline-mode-card.module.ts +0 -24
  820. package/src/app/core/peer/select-peer.modal.html +0 -123
  821. package/src/app/core/peer/select-peer.modal.scss +0 -20
  822. package/src/app/core/peer/select-peer.modal.ts +0 -197
  823. package/src/app/core/peer/select-peer.module.ts +0 -28
  824. package/src/app/core/register/register-confirm.page.html +0 -55
  825. package/src/app/core/register/register-confirm.page.scss +0 -121
  826. package/src/app/core/register/register-confirm.page.ts +0 -94
  827. package/src/app/core/register/register.form.html +0 -125
  828. package/src/app/core/register/register.form.scss +0 -10
  829. package/src/app/core/register/register.form.ts +0 -213
  830. package/src/app/core/register/register.modal.html +0 -70
  831. package/src/app/core/register/register.modal.ts +0 -52
  832. package/src/app/core/register/register.module.ts +0 -31
  833. package/src/app/core/services/account.service.ts +0 -1431
  834. package/src/app/core/services/auth-guard.service.ts +0 -70
  835. package/src/app/core/services/base-entity-service.class.ts +0 -598
  836. package/src/app/core/services/base-graphql-service.class.ts +0 -298
  837. package/src/app/core/services/base58.ts +0 -83
  838. package/src/app/core/services/config/account.config.ts +0 -35
  839. package/src/app/core/services/config/core.config.ts +0 -180
  840. package/src/app/core/services/config.service.ts +0 -414
  841. package/src/app/core/services/crypto.service.ts +0 -126
  842. package/src/app/core/services/errors.ts +0 -67
  843. package/src/app/core/services/local-settings.service.spec.ts +0 -32
  844. package/src/app/core/services/local-settings.service.ts +0 -548
  845. package/src/app/core/services/model/account.model.ts +0 -141
  846. package/src/app/core/services/model/config.model.ts +0 -122
  847. package/src/app/core/services/model/department.model.ts +0 -34
  848. package/src/app/core/services/model/entity.decorators.ts +0 -112
  849. package/src/app/core/services/model/entity.model.ts +0 -326
  850. package/src/app/core/services/model/filter.model.ts +0 -139
  851. package/src/app/core/services/model/history.model.ts +0 -25
  852. package/src/app/core/services/model/model.enum.ts +0 -11
  853. package/src/app/core/services/model/peer.model.ts +0 -86
  854. package/src/app/core/services/model/person.model.ts +0 -112
  855. package/src/app/core/services/model/referential.model.ts +0 -244
  856. package/src/app/core/services/model/settings.model.ts +0 -32
  857. package/src/app/core/services/model/token.model.ts +0 -54
  858. package/src/app/core/services/network.service.spec.ts +0 -49
  859. package/src/app/core/services/network.service.ts +0 -729
  860. package/src/app/core/services/network.types.ts +0 -26
  861. package/src/app/core/services/network.utils.ts +0 -57
  862. package/src/app/core/services/pipes/account.pipes.ts +0 -25
  863. package/src/app/core/services/pipes/department-to-string.pipe.ts +0 -15
  864. package/src/app/core/services/pipes/person-to-string.pipe.ts +0 -15
  865. package/src/app/core/services/pipes/usage-mode.pipes.ts +0 -26
  866. package/src/app/core/services/platform.service.spec.ts +0 -56
  867. package/src/app/core/services/platform.service.ts +0 -605
  868. package/src/app/core/services/storage/entities-storage.service.ts +0 -542
  869. package/src/app/core/services/storage/entity-store.class.ts +0 -598
  870. package/src/app/core/services/testing/referential-filter.model.ts +0 -28
  871. package/src/app/core/services/testing/referential.validator.ts +0 -57
  872. package/src/app/core/services/validator/account.validator.ts +0 -58
  873. package/src/app/core/services/validator/base.validator.class.ts +0 -54
  874. package/src/app/core/services/validator/local-settings.validator.ts +0 -72
  875. package/src/app/core/services/validator/user-settings.validator.ts +0 -25
  876. package/src/app/core/services/validator/user-token.validator.ts +0 -55
  877. package/src/app/core/settings/settings.module.ts +0 -24
  878. package/src/app/core/settings/settings.page.html +0 -264
  879. package/src/app/core/settings/settings.page.ts +0 -365
  880. package/src/app/core/table/actions-column.component.html +0 -91
  881. package/src/app/core/table/actions-column.component.ts +0 -70
  882. package/src/app/core/table/async-table.class.ts +0 -1934
  883. package/src/app/core/table/entities-async-table-datasource.class.ts +0 -482
  884. package/src/app/core/table/entities-table-datasource.class.ts +0 -496
  885. package/src/app/core/table/memory-table.class.ts +0 -65
  886. package/src/app/core/table/table-select-columns.component.html +0 -58
  887. package/src/app/core/table/table-select-columns.component.ts +0 -50
  888. package/src/app/core/table/table.class.ts +0 -1973
  889. package/src/app/core/table/table.model.ts +0 -35
  890. package/src/app/core/table/table.module.ts +0 -26
  891. package/src/app/core/table/table.utils.ts +0 -38
  892. package/src/app/core/table/testing/multi-table.testing.ts +0 -261
  893. package/src/app/core/table/testing/table-validator.service.ts +0 -25
  894. package/src/app/core/table/testing/table.testing.html +0 -396
  895. package/src/app/core/table/testing/table.testing.module.ts +0 -25
  896. package/src/app/core/table/testing/table.testing.scss +0 -23
  897. package/src/app/core/table/testing/table.testing.ts +0 -292
  898. package/src/app/shared/alerts.ts +0 -292
  899. package/src/app/shared/audio/audio.testing.html +0 -33
  900. package/src/app/shared/audio/audio.testing.module.ts +0 -32
  901. package/src/app/shared/audio/audio.testing.ts +0 -31
  902. package/src/app/shared/audio/audio.ts +0 -278
  903. package/src/app/shared/base64.utils.ts +0 -66
  904. package/src/app/shared/capacitor/keyboard.ts +0 -40
  905. package/src/app/shared/capacitor/plugins.ts +0 -12
  906. package/src/app/shared/constants.ts +0 -12
  907. package/src/app/shared/dates.ts +0 -163
  908. package/src/app/shared/debug/debug-service.class.ts +0 -8
  909. package/src/app/shared/debug/debug.component.html +0 -13
  910. package/src/app/shared/debug/debug.component.scss +0 -24
  911. package/src/app/shared/debug/debug.component.spec.ts +0 -25
  912. package/src/app/shared/debug/debug.component.ts +0 -27
  913. package/src/app/shared/debug/debug.module.ts +0 -28
  914. package/src/app/shared/directives/autofocus.directive.ts +0 -109
  915. package/src/app/shared/directives/autotitle.directive.ts +0 -24
  916. package/src/app/shared/directives/directives.module.ts +0 -29
  917. package/src/app/shared/directives/drag-and-drop.directive.ts +0 -47
  918. package/src/app/shared/directives/ng-var.directive.ts +0 -32
  919. package/src/app/shared/directives/resizable/resizable.component.ts +0 -47
  920. package/src/app/shared/directives/resizable/resizable.directive.ts +0 -43
  921. package/src/app/shared/directives/resizable/resizable.module.ts +0 -9
  922. package/src/app/shared/directives/resizable/resizable.style.scss +0 -44
  923. package/src/app/shared/directives/resizable/resizable.template.html +0 -6
  924. package/src/app/shared/events.ts +0 -96
  925. package/src/app/shared/file/csv.utils.ts +0 -94
  926. package/src/app/shared/file/file.service.ts +0 -132
  927. package/src/app/shared/file/file.utils.ts +0 -138
  928. package/src/app/shared/file/images.utils.ts +0 -198
  929. package/src/app/shared/file/json.utils.ts +0 -73
  930. package/src/app/shared/file/uri.utils.ts +0 -25
  931. package/src/app/shared/focusable.ts +0 -10
  932. package/src/app/shared/form/field.component.html +0 -261
  933. package/src/app/shared/form/field.component.scss +0 -7
  934. package/src/app/shared/form/field.component.ts +0 -318
  935. package/src/app/shared/form/field.model.ts +0 -64
  936. package/src/app/shared/form/loading-spinner.ts +0 -16
  937. package/src/app/shared/forms.ts +0 -458
  938. package/src/app/shared/functions.ts +0 -492
  939. package/src/app/shared/geolocation/geolocation.utils.ts +0 -101
  940. package/src/app/shared/gesture/gesture-config.ts +0 -45
  941. package/src/app/shared/gesture/hammer.utils.ts +0 -14
  942. package/src/app/shared/graph/colors.utils.ts +0 -74
  943. package/src/app/shared/graph/graph-colors.ts +0 -295
  944. package/src/app/shared/guard/component-dirty.guard.ts +0 -70
  945. package/src/app/shared/help/help.modal.html +0 -42
  946. package/src/app/shared/help/help.modal.ts +0 -61
  947. package/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.html +0 -11
  948. package/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.scss +0 -39
  949. package/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.ts +0 -16
  950. package/src/app/shared/hotkeys/hotkeys.service.ts +0 -89
  951. package/src/app/shared/hotkeys/shared-hotkeys.module.ts +0 -27
  952. package/src/app/shared/http/http.utils.ts +0 -89
  953. package/src/app/shared/image/gallery/image-gallery.component.html +0 -231
  954. package/src/app/shared/image/gallery/image-gallery.component.scss +0 -196
  955. package/src/app/shared/image/gallery/image-gallery.component.ts +0 -389
  956. package/src/app/shared/image/gallery/image-gallery.module.ts +0 -34
  957. package/src/app/shared/image/gallery/testing/gallegry.model.testing.ts +0 -27
  958. package/src/app/shared/image/gallery/testing/gallery.service.testing.ts +0 -102
  959. package/src/app/shared/image/gallery/testing/gallery.testing.html +0 -15
  960. package/src/app/shared/image/gallery/testing/gallery.testing.module.ts +0 -39
  961. package/src/app/shared/image/gallery/testing/gallery.testing.ts +0 -38
  962. package/src/app/shared/image/image.model.ts +0 -6
  963. package/src/app/shared/image/image.module.ts +0 -16
  964. package/src/app/shared/image/image.service.ts +0 -94
  965. package/src/app/shared/image/image.testing.module.ts +0 -23
  966. package/src/app/shared/inputs.ts +0 -282
  967. package/src/app/shared/interceptors/progess.interceptor.ts +0 -25
  968. package/src/app/shared/logging/log-level.model.ts +0 -53
  969. package/src/app/shared/logging/logger.model.ts +0 -120
  970. package/src/app/shared/logging/logging-service.class.ts +0 -134
  971. package/src/app/shared/logging/logging-service.config.ts +0 -29
  972. package/src/app/shared/logging/logging-service.module.ts +0 -22
  973. package/src/app/shared/material/autocomplete/material.autocomplete.config.ts +0 -83
  974. package/src/app/shared/material/autocomplete/material.autocomplete.html +0 -262
  975. package/src/app/shared/material/autocomplete/material.autocomplete.module.ts +0 -45
  976. package/src/app/shared/material/autocomplete/material.autocomplete.scss +0 -21
  977. package/src/app/shared/material/autocomplete/material.autocomplete.ts +0 -1022
  978. package/src/app/shared/material/autocomplete/material.autocomplete.utils.ts +0 -20
  979. package/src/app/shared/material/autocomplete/testing/autocomplete.test.html +0 -876
  980. package/src/app/shared/material/autocomplete/testing/autocomplete.test.spec.ts +0 -38
  981. package/src/app/shared/material/autocomplete/testing/autocomplete.test.ts +0 -247
  982. package/src/app/shared/material/badge/badge.directive.ts +0 -164
  983. package/src/app/shared/material/badge/badge.module.ts +0 -22
  984. package/src/app/shared/material/badge/badge.test.html +0 -261
  985. package/src/app/shared/material/badge/badge.test.ts +0 -36
  986. package/src/app/shared/material/boolean/boolean.module.ts +0 -40
  987. package/src/app/shared/material/boolean/material.boolean.html +0 -155
  988. package/src/app/shared/material/boolean/material.boolean.scss +0 -34
  989. package/src/app/shared/material/boolean/material.boolean.ts +0 -239
  990. package/src/app/shared/material/chips/chips.module.ts +0 -44
  991. package/src/app/shared/material/chips/material.chips.html +0 -146
  992. package/src/app/shared/material/chips/material.chips.scss +0 -65
  993. package/src/app/shared/material/chips/material.chips.ts +0 -768
  994. package/src/app/shared/material/chips/testing/chips.test.html +0 -137
  995. package/src/app/shared/material/chips/testing/chips.test.ts +0 -175
  996. package/src/app/shared/material/datetime/datetime.module.ts +0 -52
  997. package/src/app/shared/material/datetime/material.date.html +0 -132
  998. package/src/app/shared/material/datetime/material.date.scss +0 -17
  999. package/src/app/shared/material/datetime/material.date.ts +0 -408
  1000. package/src/app/shared/material/datetime/material.dateshort.html +0 -134
  1001. package/src/app/shared/material/datetime/material.dateshort.scss +0 -23
  1002. package/src/app/shared/material/datetime/material.dateshort.ts +0 -422
  1003. package/src/app/shared/material/datetime/material.datetime.html +0 -224
  1004. package/src/app/shared/material/datetime/material.datetime.scss +0 -90
  1005. package/src/app/shared/material/datetime/material.datetime.ts +0 -575
  1006. package/src/app/shared/material/datetime/testing/mat-date-time.test.html +0 -354
  1007. package/src/app/shared/material/datetime/testing/mat-date-time.test.ts +0 -134
  1008. package/src/app/shared/material/datetime/testing/mat-date.test.html +0 -418
  1009. package/src/app/shared/material/datetime/testing/mat-date.test.ts +0 -135
  1010. package/src/app/shared/material/datetime/testing/mat-dateshort.test.html +0 -370
  1011. package/src/app/shared/material/datetime/testing/mat-dateshort.test.ts +0 -127
  1012. package/src/app/shared/material/duration/duration.module.ts +0 -39
  1013. package/src/app/shared/material/duration/duration.utils.ts +0 -41
  1014. package/src/app/shared/material/duration/material.duration.html +0 -44
  1015. package/src/app/shared/material/duration/material.duration.scss +0 -28
  1016. package/src/app/shared/material/duration/material.duration.ts +0 -294
  1017. package/src/app/shared/material/latlong/latlong.utils.ts +0 -300
  1018. package/src/app/shared/material/latlong/material.latlong.html +0 -127
  1019. package/src/app/shared/material/latlong/material.latlong.module.ts +0 -40
  1020. package/src/app/shared/material/latlong/material.latlong.scss +0 -48
  1021. package/src/app/shared/material/latlong/material.latlong.ts +0 -421
  1022. package/src/app/shared/material/latlong/testing/latlong.test.html +0 -341
  1023. package/src/app/shared/material/latlong/testing/latlong.test.ts +0 -121
  1024. package/src/app/shared/material/material.animations.ts +0 -129
  1025. package/src/app/shared/material/material.module.ts +0 -94
  1026. package/src/app/shared/material/material.testing.module.ts +0 -135
  1027. package/src/app/shared/material/memory/memory.utils.ts +0 -54
  1028. package/src/app/shared/material/numpad/numpad.animation.ts +0 -1
  1029. package/src/app/shared/material/numpad/numpad.append-to-input.directive.ts +0 -109
  1030. package/src/app/shared/material/numpad/numpad.component.ts +0 -78
  1031. package/src/app/shared/material/numpad/numpad.container.html +0 -32
  1032. package/src/app/shared/material/numpad/numpad.container.scss +0 -50
  1033. package/src/app/shared/material/numpad/numpad.container.ts +0 -176
  1034. package/src/app/shared/material/numpad/numpad.content.html +0 -13
  1035. package/src/app/shared/material/numpad/numpad.content.ts +0 -10
  1036. package/src/app/shared/material/numpad/numpad.directive.ts +0 -173
  1037. package/src/app/shared/material/numpad/numpad.dom-service.ts +0 -46
  1038. package/src/app/shared/material/numpad/numpad.model.ts +0 -55
  1039. package/src/app/shared/material/numpad/numpad.module.ts +0 -38
  1040. package/src/app/shared/material/numpad/testing/numpad.test.html +0 -146
  1041. package/src/app/shared/material/numpad/testing/numpad.test.ts +0 -55
  1042. package/src/app/shared/material/paginator/material.paginator-i18n.ts +0 -49
  1043. package/src/app/shared/material/stepper/material.stepper-i18n.ts +0 -18
  1044. package/src/app/shared/material/swipe/material.swipe.html +0 -63
  1045. package/src/app/shared/material/swipe/material.swipe.scss +0 -39
  1046. package/src/app/shared/material/swipe/material.swipe.ts +0 -350
  1047. package/src/app/shared/material/swipe/swipe.module.ts +0 -33
  1048. package/src/app/shared/material/swipe/testing/swipe.test.html +0 -128
  1049. package/src/app/shared/material/swipe/testing/swipe.test.ts +0 -81
  1050. package/src/app/shared/modules.ts +0 -11
  1051. package/src/app/shared/observables.ts +0 -132
  1052. package/src/app/shared/pipes/arrays.pipe.ts +0 -111
  1053. package/src/app/shared/pipes/colors.pipe.ts +0 -19
  1054. package/src/app/shared/pipes/date-diff-duration.pipe.ts +0 -48
  1055. package/src/app/shared/pipes/date-format.pipe.ts +0 -78
  1056. package/src/app/shared/pipes/date-from-now.pipe.ts +0 -20
  1057. package/src/app/shared/pipes/duration.pipe.spec.ts +0 -51
  1058. package/src/app/shared/pipes/duration.pipe.ts +0 -34
  1059. package/src/app/shared/pipes/file-size.pipe.ts +0 -58
  1060. package/src/app/shared/pipes/form.pipes.ts +0 -204
  1061. package/src/app/shared/pipes/highlight.pipe.ts +0 -37
  1062. package/src/app/shared/pipes/latlong-format.pipe.ts +0 -30
  1063. package/src/app/shared/pipes/maps.pipe.ts +0 -39
  1064. package/src/app/shared/pipes/math.pipes.ts +0 -39
  1065. package/src/app/shared/pipes/ng-init.pipe.ts +0 -14
  1066. package/src/app/shared/pipes/number-format.pipe.ts +0 -21
  1067. package/src/app/shared/pipes/pipes.module.ts +0 -134
  1068. package/src/app/shared/pipes/property.pipes.ts +0 -87
  1069. package/src/app/shared/pipes/string.pipes.ts +0 -85
  1070. package/src/app/shared/pipes/translate-context.pipe.ts +0 -33
  1071. package/src/app/shared/pipes/types.pipes.ts +0 -31
  1072. package/src/app/shared/platforms.ts +0 -58
  1073. package/src/app/shared/services/entity-service.class.ts +0 -127
  1074. package/src/app/shared/services/job.utils.ts +0 -121
  1075. package/src/app/shared/services/memory-entity-service.class.ts +0 -447
  1076. package/src/app/shared/services/progress-bar.service.ts +0 -42
  1077. package/src/app/shared/services/startable-observable-service.class.ts +0 -137
  1078. package/src/app/shared/services/startable-service.class.ts +0 -131
  1079. package/src/app/shared/services/storage.utils.ts +0 -47
  1080. package/src/app/shared/services/translate-context.service.ts +0 -116
  1081. package/src/app/shared/services/validator-service.class.ts +0 -14
  1082. package/src/app/shared/services.ts +0 -91
  1083. package/src/app/shared/shared-routing.module.ts +0 -66
  1084. package/src/app/shared/shared.module.spec.ts +0 -13
  1085. package/src/app/shared/shared.module.ts +0 -146
  1086. package/src/app/shared/shared.testing.module.ts +0 -50
  1087. package/src/app/shared/storage/storage-explorer.component.html +0 -175
  1088. package/src/app/shared/storage/storage-explorer.component.scss +0 -39
  1089. package/src/app/shared/storage/storage-explorer.component.spec.ts +0 -24
  1090. package/src/app/shared/storage/storage-explorer.component.ts +0 -292
  1091. package/src/app/shared/storage/storage-explorer.module.ts +0 -44
  1092. package/src/app/shared/storage/storage.service.ts +0 -133
  1093. package/src/app/shared/storage/storage.utils.ts +0 -25
  1094. package/src/app/shared/testing/observable.test.html +0 -53
  1095. package/src/app/shared/testing/observable.test.scss +0 -3
  1096. package/src/app/shared/testing/observable.test.ts +0 -117
  1097. package/src/app/shared/testing/tests.page.html +0 -30
  1098. package/src/app/shared/testing/tests.page.ts +0 -34
  1099. package/src/app/shared/toast/toast.testing.html +0 -42
  1100. package/src/app/shared/toast/toast.testing.module.ts +0 -32
  1101. package/src/app/shared/toast/toast.testing.ts +0 -58
  1102. package/src/app/shared/toast/toasts.ts +0 -183
  1103. package/src/app/shared/toolbar/modal-toolbar.html +0 -32
  1104. package/src/app/shared/toolbar/modal-toolbar.scss +0 -0
  1105. package/src/app/shared/toolbar/modal-toolbar.ts +0 -63
  1106. package/src/app/shared/toolbar/toolbar.html +0 -71
  1107. package/src/app/shared/toolbar/toolbar.module.ts +0 -35
  1108. package/src/app/shared/toolbar/toolbar.scss +0 -0
  1109. package/src/app/shared/toolbar/toolbar.ts +0 -254
  1110. package/src/app/shared/types.ts +0 -31
  1111. package/src/app/shared/upload-file/testing/upload-file.testing.html +0 -25
  1112. package/src/app/shared/upload-file/testing/upload-file.testing.module.ts +0 -32
  1113. package/src/app/shared/upload-file/testing/upload-file.testing.ts +0 -68
  1114. package/src/app/shared/upload-file/upload-file-popover.component.html +0 -43
  1115. package/src/app/shared/upload-file/upload-file-popover.component.scss +0 -6
  1116. package/src/app/shared/upload-file/upload-file-popover.component.ts +0 -115
  1117. package/src/app/shared/upload-file/upload-file.component.html +0 -46
  1118. package/src/app/shared/upload-file/upload-file.component.scss +0 -130
  1119. package/src/app/shared/upload-file/upload-file.component.ts +0 -218
  1120. package/src/app/shared/upload-file/upload-file.model.ts +0 -41
  1121. package/src/app/shared/validator/form-error-adapter.class.ts +0 -123
  1122. package/src/app/shared/validator/validators.ts +0 -639
  1123. package/src/app/shared/version/versions.ts +0 -91
  1124. package/src/app/social/job/job.module.ts +0 -26
  1125. package/src/app/social/job/progression/job-progression.component.html +0 -22
  1126. package/src/app/social/job/progression/job-progression.component.scss +0 -15
  1127. package/src/app/social/job/progression/job-progression.component.ts +0 -17
  1128. package/src/app/social/job/progression/job-progression.icon.html +0 -28
  1129. package/src/app/social/job/progression/job-progression.icon.scss +0 -5
  1130. package/src/app/social/job/progression/job-progression.icon.ts +0 -238
  1131. package/src/app/social/job/progression/job-progression.list.html +0 -21
  1132. package/src/app/social/job/progression/job-progression.list.scss +0 -17
  1133. package/src/app/social/job/progression/job-progression.list.ts +0 -49
  1134. package/src/app/social/job/progression/job-progression.model.ts +0 -28
  1135. package/src/app/social/job/progression/job-progression.service.ts +0 -86
  1136. package/src/app/social/job/testing/job-progression.testing.html +0 -20
  1137. package/src/app/social/job/testing/job-progression.testing.service.ts +0 -60
  1138. package/src/app/social/job/testing/job-progression.testing.ts +0 -51
  1139. package/src/app/social/job/testing/job.testing.module.ts +0 -22
  1140. package/src/app/social/message/message.form.html +0 -60
  1141. package/src/app/social/message/message.form.scss +0 -6
  1142. package/src/app/social/message/message.form.ts +0 -79
  1143. package/src/app/social/message/message.modal.html +0 -65
  1144. package/src/app/social/message/message.modal.ts +0 -118
  1145. package/src/app/social/message/message.model.ts +0 -81
  1146. package/src/app/social/message/message.module.ts +0 -22
  1147. package/src/app/social/message/message.service.ts +0 -88
  1148. package/src/app/social/social.errors.ts +0 -11
  1149. package/src/app/social/social.module.ts +0 -36
  1150. package/src/app/social/social.testing.module.ts +0 -40
  1151. package/src/app/social/user-event/notification/user-event-notification.icon.html +0 -16
  1152. package/src/app/social/user-event/notification/user-event-notification.icon.ts +0 -108
  1153. package/src/app/social/user-event/notification/user-event-notification.list.html +0 -135
  1154. package/src/app/social/user-event/notification/user-event-notification.list.scss +0 -73
  1155. package/src/app/social/user-event/notification/user-event-notification.list.ts +0 -287
  1156. package/src/app/social/user-event/testing/user-event.testing.html +0 -27
  1157. package/src/app/social/user-event/testing/user-event.testing.model.ts +0 -146
  1158. package/src/app/social/user-event/testing/user-event.testing.module.ts +0 -22
  1159. package/src/app/social/user-event/testing/user-event.testing.service.ts +0 -141
  1160. package/src/app/social/user-event/testing/user-event.testing.ts +0 -253
  1161. package/src/app/social/user-event/user-event.model.ts +0 -73
  1162. package/src/app/social/user-event/user-event.module.ts +0 -25
  1163. package/src/app/social/user-event/user-event.service.ts +0 -679
  1164. package/src/browserslist +0 -9
  1165. package/src/environments/environment.class.ts +0 -83
  1166. package/src/environments/environment.prod.ts +0 -47
  1167. package/src/environments/environment.test.ts +0 -90
  1168. package/src/environments/environment.ts +0 -108
  1169. package/src/favicon.ico +0 -0
  1170. package/src/global.scss +0 -27
  1171. package/src/index.html +0 -80
  1172. package/src/main.ts +0 -17
  1173. package/src/polyfills.ts +0 -68
  1174. package/src/schema.graphql +0 -3112
  1175. package/src/service-worker.js +0 -31
  1176. package/src/zone-flags.ts +0 -31
  1177. package/tsconfig.app.json +0 -15
  1178. package/tsconfig.json +0 -47
  1179. package/tsconfig.spec.json +0 -19
@@ -0,0 +1,119 @@
1
+ import { __decorate, __param } from "tslib";
2
+ import { Optional } from '@angular/core';
3
+ import { BehaviorSubject, Subject, Subscription } from 'rxjs';
4
+ import { filter, takeUntil } from 'rxjs/operators';
5
+ /**
6
+ * Same as StartableService, bu with a dataSubject instead of a simple 'data' property
7
+ */
8
+ let StartableObservableService = class StartableObservableService {
9
+ constructor(prerequisiteService) {
10
+ this.dataSubject = new BehaviorSubject(null);
11
+ this.startSubject = new Subject();
12
+ this.stopSubject = new Subject();
13
+ this._debug = false;
14
+ this._startByReadyFunction = true; // should start when calling ready() ?
15
+ this._started = false;
16
+ this._startPromise = null;
17
+ this._startPrerequisite = null;
18
+ this._subscription = null;
19
+ this._startPrerequisite = prerequisiteService
20
+ ? () => prerequisiteService.ready()
21
+ : () => Promise.resolve();
22
+ }
23
+ start(opts) {
24
+ if (this._startPromise)
25
+ return this._startPromise;
26
+ if (this._started)
27
+ return Promise.resolve(this.dataSubject.value);
28
+ this._startPromise = this._startPrerequisite()
29
+ .then(() => this.ngOnStart(opts))
30
+ .then(data => {
31
+ this._started = true;
32
+ this._startPromise = undefined;
33
+ // Should be done AFTER 'this._started = true', because of the 'filter' operator, inside ready() function
34
+ this.dataSubject.next(data);
35
+ this.startSubject.next(data);
36
+ return data;
37
+ })
38
+ .catch(err => {
39
+ if (!this.stopped) {
40
+ console.error('Failed to start a service: ' + (err && err.message || err), err);
41
+ this._started = false;
42
+ this._startPromise = null;
43
+ }
44
+ return null;
45
+ });
46
+ return this._startPromise;
47
+ }
48
+ ready() {
49
+ if (this._started)
50
+ return Promise.resolve(this.dataSubject.value);
51
+ if (this._startPromise)
52
+ return this._startPromise;
53
+ if (this._startByReadyFunction)
54
+ return this.start();
55
+ return this.dataSubject
56
+ .pipe(takeUntil(this.stopSubject),
57
+ // Wait start() to be called, to exclude the initial 'null' value
58
+ filter(_ => this._started))
59
+ .toPromise();
60
+ }
61
+ async stop() {
62
+ try {
63
+ this.unsubscribe();
64
+ await this.ngOnStop();
65
+ }
66
+ catch (err) {
67
+ console.error('Failed to stop a service: ' + (err && err.message || err), err);
68
+ }
69
+ finally {
70
+ this._started = false;
71
+ this._startPromise = undefined;
72
+ this.stopSubject.next(); // Stop all running observables
73
+ this.dataSubject.next(null); // Reset data
74
+ }
75
+ }
76
+ async restart(opts) {
77
+ if (this._startPromise)
78
+ await this._startPromise; // Wait end of previous loading
79
+ if (this._started)
80
+ await this.stop(); // Then stop if started
81
+ return this.start(opts); // Then start again
82
+ }
83
+ get started() {
84
+ return this._started;
85
+ }
86
+ get starting() {
87
+ return !!this._startPromise;
88
+ }
89
+ get stopped() {
90
+ return !this._started && !this._startPromise;
91
+ }
92
+ get data() {
93
+ return this.dataSubject.value;
94
+ }
95
+ set data(value) {
96
+ if (this.dataSubject.value !== value) {
97
+ this.dataSubject.next(value);
98
+ }
99
+ }
100
+ registerSubscription(sub) {
101
+ this._subscription = this._subscription || new Subscription();
102
+ this._subscription.add(sub);
103
+ }
104
+ unregisterSubscription(sub) {
105
+ this._subscription?.remove(sub);
106
+ }
107
+ unsubscribe() {
108
+ this._subscription?.unsubscribe();
109
+ this._subscription = null;
110
+ }
111
+ ngOnStop() {
112
+ // Can be overwritten by subclasses
113
+ }
114
+ };
115
+ StartableObservableService = __decorate([
116
+ __param(0, Optional())
117
+ ], StartableObservableService);
118
+ export { StartableObservableService };
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnRhYmxlLW9ic2VydmFibGUtc2VydmljZS5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL3NlcnZpY2VzL3N0YXJ0YWJsZS1vYnNlcnZhYmxlLXNlcnZpY2UuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLGVBQWUsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzVELE9BQU8sRUFBQyxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFHakQ7O0dBRUc7QUFDSCxJQUFzQiwwQkFBMEIsR0FBaEQsTUFBc0IsMEJBQTBCO0lBYzlDLFlBQ2MsbUJBQW1EO1FBYnhELGdCQUFXLEdBQUcsSUFBSSxlQUFlLENBQUksSUFBSSxDQUFDLENBQUM7UUFDM0MsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBSyxDQUFDO1FBQ2hDLGdCQUFXLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUVqQyxXQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ2YsMEJBQXFCLEdBQUcsSUFBSSxDQUFDLENBQUMsc0NBQXNDO1FBRXRFLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsa0JBQWEsR0FBZSxJQUFJLENBQUM7UUFDakMsdUJBQWtCLEdBQXVCLElBQUksQ0FBQztRQUM5QyxrQkFBYSxHQUFpQixJQUFJLENBQUM7UUFLekMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLG1CQUFtQjtZQUMzQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsbUJBQW1CLENBQUMsS0FBSyxFQUFFO1lBQ25DLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFRO1FBQ1osSUFBSSxJQUFJ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QWhJcUIsMEJBQTBCO0lBZTNDLFdBQUEsUUFBUSxFQUFFLENBQUE7R0FmTywwQkFBMEIsQ0FnSS9DO1NBaElxQiwwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge09wdGlvbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0LCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtmaWx0ZXIsIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtJU3RhcnRhYmxlU2VydmljZX0gZnJvbSAnLi9zdGFydGFibGUtc2VydmljZS5jbGFzcyc7XG5cbi8qKlxuICogU2FtZSBhcyBTdGFydGFibGVTZXJ2aWNlLCBidSB3aXRoIGEgZGF0YVN1YmplY3QgaW5zdGVhZCBvZiBhIHNpbXBsZSAnZGF0YScgcHJvcGVydHlcbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFN0YXJ0YWJsZU9ic2VydmFibGVTZXJ2aWNlPFQgPSBhbnksIE8gPSBhbnk+IGltcGxlbWVudHMgSVN0YXJ0YWJsZVNlcnZpY2U8VD4ge1xuXG4gIHJlYWRvbmx5IGRhdGFTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUPihudWxsKTtcbiAgcmVhZG9ubHkgc3RhcnRTdWJqZWN0ID0gbmV3IFN1YmplY3Q8VD4oKTtcbiAgcmVhZG9ubHkgc3RvcFN1YmplY3QgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHByb3RlY3RlZCBfZGVidWcgPSBmYWxzZTtcbiAgcHJvdGVjdGVkIF9zdGFydEJ5UmVhZHlGdW5jdGlvbiA9IHRydWU7IC8vIHNob3VsZCBzdGFydCB3aGVuIGNhbGxpbmcgcmVhZHkoKSA/XG5cbiAgcHJpdmF0ZSBfc3RhcnRlZCA9IGZhbHNlO1xuICBwcml2YXRlIF9zdGFydFByb21pc2U6IFByb21pc2U8VD4gPSBudWxsO1xuICBwcml2YXRlIF9zdGFydFByZXJlcXVpc2l0ZTogKCkgPT4gUHJvbWlzZTxhbnk+ID0gbnVsbDtcbiAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gPSBudWxsO1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBwcmVyZXF1aXNpdGVTZXJ2aWNlPzogeyByZWFkeTogKCkgPT4gUHJvbWlzZTxhbnk+IH1cbiAgKSB7XG4gICAgdGhpcy5fc3RhcnRQcmVyZXF1aXNpdGUgPSBwcmVyZXF1aXNpdGVTZXJ2aWNlXG4gICAgICA/ICgpID0+IHByZXJlcXVpc2l0ZVNlcnZpY2UucmVhZHkoKVxuICAgICAgOiAoKSA9PiBQcm9taXNlLnJlc29sdmUoKTtcbiAgfVxuXG4gIHN0YXJ0KG9wdHM/OiBPKTogUHJvbWlzZTxUPiB7XG4gICAgaWYgKHRoaXMuX3N0YXJ0UHJvbWlzZSkgcmV0dXJuIHRoaXMuX3N0YXJ0UHJvbWlzZTtcbiAgICBpZiAodGhpcy5fc3RhcnRlZCkgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh0aGlzLmRhdGFTdWJqZWN0LnZhbHVlKTtcblxuICAgIHRoaXMuX3N0YXJ0UHJvbWlzZSA9IHRoaXMuX3N0YXJ0UHJlcmVxdWlzaXRlKClcbiAgICAgIC50aGVuKCgpID0+IHRoaXMubmdPblN0YXJ0KG9wdHMpKVxuICAgICAgLnRoZW4oZGF0YSA9PiB7XG5cbiAgICAgICAgdGhpcy5fc3RhcnRlZCA9IHRydWU7XG4gICAgICAgIHRoaXMuX3N0YXJ0UHJvbWlzZSA9IHVuZGVmaW5lZDtcblxuICAgICAgICAvLyBTaG91bGQgYmUgZG9uZSBBRlRFUiAndGhpcy5fc3RhcnRlZCA9IHRydWUnLCBiZWNhdXNlIG9mIHRoZSAnZmlsdGVyJyBvcGVyYXRvciwgaW5zaWRlIHJlYWR5KCkgZnVuY3Rpb25cbiAgICAgICAgdGhpcy5kYXRhU3ViamVjdC5uZXh0KGRhdGEpO1xuICAgICAgICB0aGlzLnN0YXJ0U3ViamVjdC5uZXh0KGRhdGEpO1xuXG4gICAgICAgIHJldHVybiBkYXRhO1xuICAgICAgfSlcbiAgICAgIC5jYXRjaChlcnIgPT4ge1xuICAgICAgICBpZiAoIXRoaXMuc3RvcHBlZCkge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBzdGFydCBhIHNlcnZpY2U6ICcgKyAoZXJyICYmIGVyci5tZXNzYWdlIHx8IGVyciksIGVycik7XG4gICAgICAgICAgdGhpcy5fc3RhcnRlZCA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuX3N0YXJ0UHJvbWlzZSA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9KTtcbiAgICByZXR1cm4gdGhpcy5fc3RhcnRQcm9taXNlO1xuICB9XG5cbiAgcmVhZHkoKTogUHJvbWlzZTxUPiB7XG4gICAgaWYgKHRoaXMuX3N0YXJ0ZWQpIHJldHVybiBQcm9taXNlLnJlc29sdmUodGhpcy5kYXRhU3ViamVjdC52YWx1ZSk7XG4gICAgaWYgKHRoaXMuX3N0YXJ0UHJvbWlzZSkgcmV0dXJuIHRoaXMuX3N0YXJ0UHJvbWlzZTtcbiAgICBpZiAodGhpcy5fc3RhcnRCeVJlYWR5RnVuY3Rpb24pIHJldHVybiB0aGlzLnN0YXJ0KCk7XG5cbiAgICByZXR1cm4gdGhpcy5kYXRhU3ViamVjdFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLnN0b3BTdWJqZWN0KSxcbiAgICAgICAgLy8gV2FpdCBzdGFydCgpIHRvIGJlIGNhbGxlZCwgdG8gZXhjbHVkZSB0aGUgaW5pdGlhbCAnbnVsbCcgdmFsdWVcbiAgICAgICAgZmlsdGVyKF8gPT4gdGhpcy5fc3RhcnRlZClcbiAgICAgIClcbiAgICAgIC50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIHN0b3AoKSB7XG5cbiAgICB0cnkge1xuICAgICAgdGhpcy51bnN1YnNjcmliZSgpO1xuICAgICAgYXdhaXQgdGhpcy5uZ09uU3RvcCgpO1xuICAgIH1cbiAgICBjYXRjaCAoZXJyKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gc3RvcCBhIHNlcnZpY2U6ICcgKyAoZXJyICYmIGVyci5tZXNzYWdlIHx8IGVyciksIGVycik7XG4gICAgfVxuICAgIGZpbmFsbHkge1xuICAgICAgdGhpcy5fc3RhcnRlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5fc3RhcnRQcm9taXNlID0gdW5kZWZpbmVkO1xuICAgICAgdGhpcy5zdG9wU3ViamVjdC5uZXh0KCk7IC8vIFN0b3AgYWxsIHJ1bm5pbmcgb2JzZXJ2YWJsZXNcbiAgICAgIHRoaXMuZGF0YVN1YmplY3QubmV4dChudWxsKTsgLy8gUmVzZXQgZGF0YVxuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHJlc3RhcnQob3B0cz86IE8pOiBQcm9taXNlPFQ+IHtcbiAgICBpZiAodGhpcy5fc3RhcnRQcm9taXNlKSBhd2FpdCB0aGlzLl9zdGFydFByb21pc2U7IC8vIFdhaXQgZW5kIG9mIHByZXZpb3VzIGxvYWRpbmdcbiAgICBpZiAodGhpcy5fc3RhcnRlZCkgYXdhaXQgdGhpcy5zdG9wKCk7IC8vIFRoZW4gc3RvcCBpZiBzdGFydGVkXG4gICAgcmV0dXJuIHRoaXMuc3RhcnQob3B0cyk7IC8vIFRoZW4gc3RhcnQgYWdhaW5cbiAgfVxuXG4gIGdldCBzdGFydGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9zdGFydGVkO1xuICB9XG5cbiAgZ2V0IHN0YXJ0aW5nKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuX3N0YXJ0UHJvbWlzZTtcbiAgfVxuXG4gIGdldCBzdG9wcGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5fc3RhcnRlZCAmJiAhdGhpcy5fc3RhcnRQcm9taXNlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBkYXRhKCk6IFQge1xuICAgIHJldHVybiB0aGlzLmRhdGFTdWJqZWN0LnZhbHVlO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldCBkYXRhKHZhbHVlOiBUKSB7XG4gICAgaWYgKHRoaXMuZGF0YVN1YmplY3QudmFsdWUgIT09IHZhbHVlKSB7XG4gICAgICB0aGlzLmRhdGFTdWJqZWN0Lm5leHQodmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCByZWdpc3RlclN1YnNjcmlwdGlvbihzdWI6IFN1YnNjcmlwdGlvbikge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbiA9IHRoaXMuX3N1YnNjcmlwdGlvbiB8fCBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9uLmFkZChzdWIpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHVucmVnaXN0ZXJTdWJzY3JpcHRpb24oc3ViOiBTdWJzY3JpcHRpb24pOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb24/LnJlbW92ZShzdWIpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHVuc3Vic2NyaWJlKCkge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb24gPSBudWxsO1xuICB9XG5cbiAgcHJvdGVjdGVkIG5nT25TdG9wKCk6IFByb21pc2U8dm9pZD4gfCB2b2lkIHtcbiAgICAvLyBDYW4gYmUgb3ZlcndyaXR0ZW4gYnkgc3ViY2xhc3Nlc1xuICB9XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IG5nT25TdGFydChvcHRzPzogTyk6IFByb21pc2U8VD47XG59XG4iXX0=
@@ -0,0 +1,110 @@
1
+ import { __decorate, __param } from "tslib";
2
+ import { Optional } from '@angular/core';
3
+ import { Subject, Subscription } from 'rxjs';
4
+ import { takeUntil } from 'rxjs/operators';
5
+ export function isStartableService(data) {
6
+ return (typeof data?.['start'] === 'function')
7
+ && (typeof data?.['stop'] === 'function')
8
+ && (typeof data?.['ready'] === 'function');
9
+ }
10
+ let StartableService = class StartableService {
11
+ constructor(prerequisiteService) {
12
+ this.startSubject = new Subject();
13
+ this.stopSubject = new Subject();
14
+ this._debug = false;
15
+ this._startByReadyFunction = true; // should start when calling ready() ?
16
+ this._data = null;
17
+ this._started = false;
18
+ this._startPromise = null;
19
+ this._startPrerequisite = null;
20
+ this._subscription = null;
21
+ this._startPrerequisite = prerequisiteService
22
+ ? () => prerequisiteService.ready()
23
+ : () => Promise.resolve();
24
+ }
25
+ start(opts) {
26
+ if (this._startPromise)
27
+ return this._startPromise;
28
+ if (this._started)
29
+ return Promise.resolve(this._data);
30
+ this._startPromise = this._startPrerequisite()
31
+ .then(() => this.ngOnStart(opts))
32
+ .then(data => {
33
+ this._data = data;
34
+ this._started = true;
35
+ this._startPromise = undefined;
36
+ this.startSubject.next(data);
37
+ return data;
38
+ })
39
+ .catch(err => {
40
+ if (!this.stopped) {
41
+ console.error('Failed to start a service: ' + (err && err.message || err), err);
42
+ this._startPromise = null;
43
+ this._started = false;
44
+ }
45
+ return null;
46
+ });
47
+ return this._startPromise;
48
+ }
49
+ ready() {
50
+ if (this._started)
51
+ return Promise.resolve(this._data);
52
+ if (this._startPromise)
53
+ return this._startPromise;
54
+ if (this._startByReadyFunction)
55
+ return this.start();
56
+ return this.startSubject
57
+ .pipe(takeUntil(this.stopSubject))
58
+ .toPromise();
59
+ }
60
+ async stop() {
61
+ try {
62
+ this.unsubscribe();
63
+ await this.ngOnStop();
64
+ }
65
+ catch (err) {
66
+ console.error('Failed to stop a service: ' + (err && err.message || err), err);
67
+ }
68
+ finally {
69
+ this._data = null;
70
+ this._started = false;
71
+ this._startPromise = undefined;
72
+ this.stopSubject.next();
73
+ }
74
+ }
75
+ async restart(opts) {
76
+ if (this._startPromise)
77
+ await this._startPromise; // Wait end of previous loading
78
+ if (this._started)
79
+ await this.stop(); // Then stop if started
80
+ return this.start(opts); // Then start again
81
+ }
82
+ get started() {
83
+ return this._started;
84
+ }
85
+ get starting() {
86
+ return !!this._startPromise;
87
+ }
88
+ get stopped() {
89
+ return !this._started && !this._startPromise;
90
+ }
91
+ registerSubscription(sub) {
92
+ this._subscription = this._subscription || new Subscription();
93
+ this._subscription.add(sub);
94
+ }
95
+ unregisterSubscription(sub) {
96
+ this._subscription?.remove(sub);
97
+ }
98
+ unsubscribe() {
99
+ this._subscription?.unsubscribe();
100
+ this._subscription = null;
101
+ }
102
+ ngOnStop() {
103
+ // Can be overwritten by subclasses
104
+ }
105
+ };
106
+ StartableService = __decorate([
107
+ __param(0, Optional())
108
+ ], StartableService);
109
+ export { StartableService };
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnRhYmxlLXNlcnZpY2UuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC9zZXJ2aWNlcy9zdGFydGFibGUtc2VydmljZS5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsT0FBTyxFQUFFLFlBQVksRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFTekMsTUFBTSxVQUFVLGtCQUFrQixDQUFDLElBQVM7SUFDMUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssVUFBVSxDQUFDO1dBQ3pDLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxVQUFVLENBQUM7V0FDdEMsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLFVBQVUsQ0FBQyxDQUN6QztBQUNMLENBQUM7QUFFRCxJQUFzQixnQkFBZ0IsR0FBdEMsTUFBc0IsZ0JBQWdCO0lBY3BDLFlBQ2MsbUJBQW1EO1FBYnhELGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQUssQ0FBQztRQUNoQyxnQkFBVyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFFakMsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUNmLDBCQUFxQixHQUFHLElBQUksQ0FBQyxDQUFDLHNDQUFzQztRQUNwRSxVQUFLLEdBQU0sSUFBSSxDQUFDO1FBRWxCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsa0JBQWEsR0FBZSxJQUFJLENBQUM7UUFDakMsdUJBQWtCLEdBQXVCLElBQUksQ0FBQztRQUM5QyxrQkFBYSxHQUFpQixJQUFJLENBQUM7UUFLekMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLG1CQUFtQjtZQUMzQyxD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SUFBSSxFQUFFLENBQUMsQ0FBQyx1QkFBdUI7UUFDN0QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsbUJBQW1CO0lBQzlDLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUMvQyxDQUFDO0lBRVMsb0JBQW9CLENBQUMsR0FBaUI7UUFDOUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxJQUFJLElBQUksWUFBWSxFQUFFLENBQUM7UUFDOUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVTLHNCQUFzQixDQUFDLEdBQWlCO1FBQ2hELElBQUksQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFUyxXQUFXO1FBQ25CLElBQUksQ0FBQyxhQUFhLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7SUFDNUIsQ0FBQztJQUVTLFFBQVE7UUFDaEIsbUNBQW1DO0lBQ3JDLENBQUM7Q0FHRixDQUFBO0FBaEhxQixnQkFBZ0I7SUFlakMsV0FBQSxRQUFRLEVBQUUsQ0FBQTtHQWZPLGdCQUFnQixDQWdIckM7U0FoSHFCLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7T3B0aW9uYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtTdWJqZWN0LCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHt0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuZXhwb3J0IGludGVyZmFjZSBJU3RhcnRhYmxlU2VydmljZTxUID0gYW55PiB7XG4gIHN0YXJ0ZWQ6IGJvb2xlYW47XG4gIHN0YXJ0KCk6IFByb21pc2U8VD47XG4gIHN0b3AoKTogUHJvbWlzZTx2b2lkPjtcbiAgcmVhZHkoKTogUHJvbWlzZTxUPjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzU3RhcnRhYmxlU2VydmljZShkYXRhOiBhbnkpOiBkYXRhIGlzIElTdGFydGFibGVTZXJ2aWNlIHtcbiAgcmV0dXJuICh0eXBlb2YgZGF0YT8uWydzdGFydCddID09PSAnZnVuY3Rpb24nKVxuICAgICYmICh0eXBlb2YgZGF0YT8uWydzdG9wJ10gPT09ICdmdW5jdGlvbicpXG4gICAgJiYgKHR5cGVvZiBkYXRhPy5bJ3JlYWR5J10gPT09ICdmdW5jdGlvbicpXG4gICAgO1xufVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU3RhcnRhYmxlU2VydmljZTxUID0gYW55LCBPID0gYW55PiBpbXBsZW1lbnRzIElTdGFydGFibGVTZXJ2aWNlPFQ+IHtcblxuICByZWFkb25seSBzdGFydFN1YmplY3QgPSBuZXcgU3ViamVjdDxUPigpO1xuICByZWFkb25seSBzdG9wU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcHJvdGVjdGVkIF9kZWJ1ZyA9IGZhbHNlO1xuICBwcm90ZWN0ZWQgX3N0YXJ0QnlSZWFkeUZ1bmN0aW9uID0gdHJ1ZTsgLy8gc2hvdWxkIHN0YXJ0IHdoZW4gY2FsbGluZyByZWFkeSgpID9cbiAgcHJvdGVjdGVkIF9kYXRhOiBUID0gbnVsbDtcblxuICBwcml2YXRlIF9zdGFydGVkID0gZmFsc2U7XG4gIHByaXZhdGUgX3N0YXJ0UHJvbWlzZTogUHJvbWlzZTxUPiA9IG51bGw7XG4gIHByaXZhdGUgX3N0YXJ0UHJlcmVxdWlzaXRlOiAoKSA9PiBQcm9taXNlPGFueT4gPSBudWxsO1xuICBwcml2YXRlIF9zdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiA9IG51bGw7XG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIHByZXJlcXVpc2l0ZVNlcnZpY2U/OiB7IHJlYWR5OiAoKSA9PiBQcm9taXNlPGFueT4gfVxuICApIHtcbiAgICB0aGlzLl9zdGFydFByZXJlcXVpc2l0ZSA9IHByZXJlcXVpc2l0ZVNlcnZpY2VcbiAgICAgID8gKCkgPT4gcHJlcmVxdWlzaXRlU2VydmljZS5yZWFkeSgpXG4gICAgICA6ICgpID0+IFByb21pc2UucmVzb2x2ZSgpO1xuICB9XG5cbiAgc3RhcnQob3B0cz86IE8pOiBQcm9taXNlPFQ+IHtcbiAgICBpZiAodGhpcy5fc3RhcnRQcm9taXNlKSByZXR1cm4gdGhpcy5fc3RhcnRQcm9taXNlO1xuICAgIGlmICh0aGlzLl9zdGFydGVkKSByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMuX2RhdGEpO1xuXG4gICAgdGhpcy5fc3RhcnRQcm9taXNlID0gdGhpcy5fc3RhcnRQcmVyZXF1aXNpdGUoKVxuICAgICAgLnRoZW4oKCkgPT4gdGhpcy5uZ09uU3RhcnQob3B0cykpXG4gICAgICAudGhlbihkYXRhID0+IHtcbiAgICAgICAgdGhpcy5fZGF0YSA9IGRhdGE7XG5cbiAgICAgICAgdGhpcy5fc3RhcnRlZCA9IHRydWU7XG4gICAgICAgIHRoaXMuX3N0YXJ0UHJvbWlzZSA9IHVuZGVmaW5lZDtcblxuICAgICAgICB0aGlzLnN0YXJ0U3ViamVjdC5uZXh0KGRhdGEpO1xuXG4gICAgICAgIHJldHVybiBkYXRhO1xuICAgICAgfSlcbiAgICAgIC5jYXRjaChlcnIgPT4ge1xuICAgICAgICBpZiAoIXRoaXMuc3RvcHBlZCkge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBzdGFydCBhIHNlcnZpY2U6ICcgKyAoZXJyICYmIGVyci5tZXNzYWdlIHx8IGVyciksIGVycik7XG4gICAgICAgICAgdGhpcy5fc3RhcnRQcm9taXNlID0gbnVsbDtcbiAgICAgICAgICB0aGlzLl9zdGFydGVkID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9KTtcbiAgICByZXR1cm4gdGhpcy5fc3RhcnRQcm9taXNlO1xuICB9XG5cbiAgcmVhZHkoKTogUHJvbWlzZTxUPiB7XG4gICAgaWYgKHRoaXMuX3N0YXJ0ZWQpIHJldHVybiBQcm9taXNlLnJlc29sdmUodGhpcy5fZGF0YSk7XG4gICAgaWYgKHRoaXMuX3N0YXJ0UHJvbWlzZSkgcmV0dXJuIHRoaXMuX3N0YXJ0UHJvbWlzZTtcbiAgICBpZiAodGhpcy5fc3RhcnRCeVJlYWR5RnVuY3Rpb24pIHJldHVybiB0aGlzLnN0YXJ0KCk7XG5cbiAgICByZXR1cm4gdGhpcy5zdGFydFN1YmplY3RcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnN0b3BTdWJqZWN0KSlcbiAgICAgIC50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIHN0b3AoKSB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMudW5zdWJzY3JpYmUoKTtcbiAgICAgIGF3YWl0IHRoaXMubmdPblN0b3AoKTtcbiAgICB9XG4gICAgY2F0Y2ggKGVycikge1xuICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIHN0b3AgYSBzZXJ2aWNlOiAnICsgKGVyciAmJiBlcnIubWVzc2FnZSB8fCBlcnIpLCBlcnIpO1xuICAgIH1cbiAgICBmaW5hbGx5IHtcbiAgICAgIHRoaXMuX2RhdGEgPSBudWxsO1xuICAgICAgdGhpcy5fc3RhcnRlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5fc3RhcnRQcm9taXNlID0gdW5kZWZpbmVkO1xuICAgICAgdGhpcy5zdG9wU3ViamVjdC5uZXh0KCk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgcmVzdGFydChvcHRzPzogTyk6IFByb21pc2U8VD4ge1xuICAgIGlmICh0aGlzLl9zdGFydFByb21pc2UpIGF3YWl0IHRoaXMuX3N0YXJ0UHJvbWlzZTsgLy8gV2FpdCBlbmQgb2YgcHJldmlvdXMgbG9hZGluZ1xuICAgIGlmICh0aGlzLl9zdGFydGVkKSBhd2FpdCB0aGlzLnN0b3AoKTsgLy8gVGhlbiBzdG9wIGlmIHN0YXJ0ZWRcbiAgICByZXR1cm4gdGhpcy5zdGFydChvcHRzKTsgLy8gVGhlbiBzdGFydCBhZ2FpblxuICB9XG5cbiAgZ2V0IHN0YXJ0ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXJ0ZWQ7XG4gIH1cblxuICBnZXQgc3RhcnRpbmcoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5fc3RhcnRQcm9taXNlO1xuICB9XG5cbiAgZ2V0IHN0b3BwZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLl9zdGFydGVkICYmICF0aGlzLl9zdGFydFByb21pc2U7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVnaXN0ZXJTdWJzY3JpcHRpb24oc3ViOiBTdWJzY3JpcHRpb24pIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb24gPSB0aGlzLl9zdWJzY3JpcHRpb24gfHwgbmV3IFN1YnNjcmlwdGlvbigpO1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbi5hZGQoc3ViKTtcbiAgfVxuXG4gIHByb3RlY3RlZCB1bnJlZ2lzdGVyU3Vic2NyaXB0aW9uKHN1YjogU3Vic2NyaXB0aW9uKTogdm9pZCB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9uPy5yZW1vdmUoc3ViKTtcbiAgfVxuXG4gIHByb3RlY3RlZCB1bnN1YnNjcmliZSgpIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9uID0gbnVsbDtcbiAgfVxuXG4gIHByb3RlY3RlZCBuZ09uU3RvcCgpOiBQcm9taXNlPHZvaWQ+IHwgdm9pZCB7XG4gICAgLy8gQ2FuIGJlIG92ZXJ3cml0dGVuIGJ5IHN1YmNsYXNzZXNcbiAgfVxuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBuZ09uU3RhcnQob3B0cz86IE8pOiBQcm9taXNlPFQ+O1xufVxuIl19
@@ -0,0 +1,105 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { map } from 'rxjs/operators';
3
+ import { of } from 'rxjs';
4
+ import { isNil, isNilOrBlank, isNotNilOrBlank } from '../functions';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@ngx-translate/core";
7
+ export class TranslateContextService {
8
+ constructor(translate) {
9
+ this.translate = translate;
10
+ }
11
+ get(key, context, interpolateParams) {
12
+ // No context: do a normal translate
13
+ if (!key || !isNil(context))
14
+ return this.translate.get(key, interpolateParams);
15
+ if (Array.isArray(key)) {
16
+ if (!key.length)
17
+ return of();
18
+ // Observe the first key, then add other
19
+ return this.get(key[0])
20
+ .pipe(map(translation => {
21
+ return key.slice(1) // Skip 1, because we already have it
22
+ .reduce((map, k) => {
23
+ map[k] = this.instant(k, context);
24
+ return map;
25
+ },
26
+ // Init with the first value
27
+ {
28
+ [key[0]]: translation
29
+ });
30
+ }));
31
+ }
32
+ // Compute a contextual i18n key, using the context as suffix
33
+ const contextualKeys = this.contextualKeys(key, context);
34
+ // Return the contextual translation, or default of not exists
35
+ return this.translate.get(contextualKeys, interpolateParams)
36
+ .pipe(map(translations => this.findFirstValid(contextualKeys, translations)));
37
+ }
38
+ instant(key, context, interpolateParams) {
39
+ // No context: do a normal translate
40
+ if (!key || isNilOrBlank(context))
41
+ return this.translate.instant(key, interpolateParams);
42
+ if (Array.isArray(key)) {
43
+ return key.reduce((map, k) => {
44
+ map[k] = this.instant(k, context);
45
+ return map;
46
+ }, {});
47
+ }
48
+ // Compute a contextual i18n key, using the context as suffix
49
+ const contextualKeys = this.contextualKeys(key, context);
50
+ const translations = this.translate.instant(contextualKeys, interpolateParams);
51
+ return this.findFirstValid(contextualKeys, translations);
52
+ }
53
+ /**
54
+ * Compute contextual i18n keys, using the context as suffix.<br>
55
+ * Suffix can be simple name (like 'aaa' - will return ['<key>.aaa']) or complexe (like 'aaa.bbb' - will return ['<key>.aaa.bbb', '<key>.aaa']
56
+ *
57
+ * @param key
58
+ * @param context
59
+ * @private
60
+ */
61
+ contextualKeys(key, context) {
62
+ return context.split('.')
63
+ .filter(isNotNilOrBlank)
64
+ .reduce((res, item) => {
65
+ const inheritedContext = res.length > 0 ? (res[res.length - 1] + '.') : '';
66
+ return res.concat(inheritedContext + item);
67
+ }, [])
68
+ .reverse() // Start with children, ends with parent key
69
+ .map(contextItem => this.contextualKey(key, contextItem))
70
+ .concat(key);
71
+ }
72
+ /**
73
+ * Compute a contextual i18n key, using the context as suffix
74
+ *
75
+ * @param key
76
+ * @param context
77
+ * @private
78
+ */
79
+ contextualKey(key, context) {
80
+ // Append a dot on context if missing
81
+ if (!context.endsWith('.')) {
82
+ context = context + '.';
83
+ }
84
+ // Compute a contextual i18n key, using the context as suffix
85
+ const parts = key.split('.');
86
+ return (parts.length === 1)
87
+ ? `${context}${key}`
88
+ : parts.slice(0, parts.length - 1).concat(context + parts[parts.length - 1]).join('.');
89
+ }
90
+ findFirstValid(keys, translations) {
91
+ // For eac contextual key: try to find translation, then use the first valid
92
+ for (let key of keys) {
93
+ if (translations[key] !== key)
94
+ return translations[key];
95
+ }
96
+ return translations[keys[keys.length - 1]]; // Return the last keys translation
97
+ }
98
+ }
99
+ TranslateContextService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TranslateContextService, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable });
100
+ TranslateContextService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TranslateContextService, providedIn: 'root' });
101
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TranslateContextService, decorators: [{
102
+ type: Injectable,
103
+ args: [{ providedIn: 'root' }]
104
+ }], ctorParameters: function () { return [{ type: i1.TranslateService }]; } });
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLWNvbnRleHQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL3NlcnZpY2VzL3RyYW5zbGF0ZS1jb250ZXh0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUMsR0FBRyxFQUFXLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFhLEVBQUUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQUMsS0FBSyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUMsTUFBTSxjQUFjLENBQUM7OztBQUlsRSxNQUFNLE9BQU8sdUJBQXVCO0lBRWxDLFlBQ1ksU0FBMkI7UUFBM0IsY0FBUyxHQUFULFNBQVMsQ0FBa0I7SUFFdkMsQ0FBQztJQUdELEdBQUcsQ0FBQyxHQUFvQixFQUFFLE9BQWdCLEVBQUUsaUJBQTBCO1FBQ3BFLG9DQUFvQztRQUNwQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztZQUFFLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLGlCQUFpQixDQUFDLENBQUM7UUFFL0UsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3RCLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTTtnQkFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDO1lBQzdCLHdDQUF3QztZQUN4QyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUNwQixJQUFJLENBQUMsR0FBRyxDQUNQLFdBQVcsQ0FBQyxFQUFFO2dCQUNSLE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxxQ0FBcUM7cUJBQ3RELE1BQU0sQ0FBQyxD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RTtZQUMxQixPQUFPLEdBQUcsT0FBTyxHQUFHLEdBQUcsQ0FBQztTQUN6QjtRQUVELDZEQUE2RDtRQUM3RCxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzdCLE9BQU8sQ0FBQyxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztZQUN6QixDQUFDLENBQUMsR0FBRyxPQUFPLEdBQUcsR0FBRyxFQUFFO1lBQ3BCLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDM0YsQ0FBQztJQUVPLGNBQWMsQ0FBQyxJQUFjLEVBQUUsWUFBdUM7UUFDNUUsNEVBQTRFO1FBQzVFLEtBQUssSUFBSSxHQUFHLElBQUksSUFBSSxFQUFFO1lBQ3BCLElBQUksWUFBWSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEdBQUc7Z0JBQUUsT0FBTyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDekQ7UUFDRCxPQUFPLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsbUNBQW1DO0lBQy9FLENBQUM7O29IQTFHVSx1QkFBdUI7d0hBQXZCLHVCQUF1QixjQURYLE1BQU07MkZBQ2xCLHVCQUF1QjtrQkFEbkMsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7bWFwLCBtZXJnZU1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBvZn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2lzTmlsLCBpc05pbE9yQmxhbmssIGlzTm90TmlsT3JCbGFua30gZnJvbSAnLi4vZnVuY3Rpb25zJztcblxuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBUcmFuc2xhdGVDb250ZXh0U2VydmljZSB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZVxuICApIHtcbiAgfVxuXG5cbiAgZ2V0KGtleTogc3RyaW5nfHN0cmluZ1tdLCBjb250ZXh0Pzogc3RyaW5nLCBpbnRlcnBvbGF0ZVBhcmFtcz86IE9iamVjdCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgLy8gTm8gY29udGV4dDogZG8gYSBub3JtYWwgdHJhbnNsYXRlXG4gICAgaWYgKCFrZXkgfHwgIWlzTmlsKGNvbnRleHQpKSByZXR1cm4gdGhpcy50cmFuc2xhdGUuZ2V0KGtleSwgaW50ZXJwb2xhdGVQYXJhbXMpO1xuXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoa2V5KSkge1xuICAgICAgaWYgKCFrZXkubGVuZ3RoKSByZXR1cm4gb2YoKTtcbiAgICAgIC8vIE9ic2VydmUgdGhlIGZpcnN0IGtleSwgdGhlbiBhZGQgb3RoZXJcbiAgICAgIHJldHVybiB0aGlzLmdldChrZXlbMF0pXG4gICAgICAgIC5waXBlKG1hcChcbiAgICAgICAgICB0cmFuc2xhdGlvbiA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGtleS5zbGljZSgxKSAvLyBTa2lwIDEsIGJlY2F1c2Ugd2UgYWxyZWFkeSBoYXZlIGl0XG4gICAgICAgICAgICAgICAgICAucmVkdWNlKChtYXAsIGspID0+IHtcbiAgICAgICAgICAgICAgICAgICAgbWFwW2tdID0gdGhpcy5pbnN0YW50KGssIGNvbnRleHQpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbWFwO1xuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIC8vIEluaXQgd2l0aCB0aGUgZmlyc3QgdmFsdWVcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgW2tleVswXV06IHRyYW5zbGF0aW9uXG4gICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8vIENvbXB1dGUgYSBjb250ZXh0dWFsIGkxOG4ga2V5LCB1c2luZyB0aGUgY29udGV4dCBhcyBzdWZmaXhcbiAgICBjb25zdCBjb250ZXh0dWFsS2V5cyA9IHRoaXMuY29udGV4dHVhbEtleXMoa2V5LCBjb250ZXh0KTtcblxuICAgIC8vIFJldHVybiB0aGUgY29udGV4dHVhbCB0cmFuc2xhdGlvbiwgb3IgZGVmYXVsdCBvZiBub3QgZXhpc3RzXG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmdldChjb250ZXh0dWFsS2V5cywgaW50ZXJwb2xhdGVQYXJhbXMpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKHRyYW5zbGF0aW9ucyA9PiB0aGlzLmZpbmRGaXJzdFZhbGlkKGNvbnRleHR1YWxLZXlzLCB0cmFuc2xhdGlvbnMpKVxuICAgICAgKTtcbiAgfVxuXG4gIGluc3RhbnQoa2V5OiBzdHJpbmd8c3RyaW5nW10sIGNvbnRleHQ/OiBzdHJpbmcsIGludGVycG9sYXRlUGFyYW1zPzogT2JqZWN0KTogYW55IHtcbiAgICAvLyBObyBjb250ZXh0OiBkbyBhIG5vcm1hbCB0cmFuc2xhdGVcbiAgICBpZiAoIWtleSB8fCBpc05pbE9yQmxhbmsoY29udGV4dCkpIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGtleSwgaW50ZXJwb2xhdGVQYXJhbXMpO1xuXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoa2V5KSkge1xuICAgICAgcmV0dXJuIGtleS5yZWR1Y2UoKG1hcCwgaykgPT4ge1xuICAgICAgICBtYXBba10gPSB0aGlzLmluc3RhbnQoaywgY29udGV4dCk7XG4gICAgICAgIHJldHVybiBtYXA7XG4gICAgICB9LCB7fSk7XG4gICAgfVxuXG4gICAgLy8gQ29tcHV0ZSBhIGNvbnRleHR1YWwgaTE4biBrZXksIHVzaW5nIHRoZSBjb250ZXh0IGFzIHN1ZmZpeFxuICAgIGNvbnN0IGNvbnRleHR1YWxLZXlzID0gdGhpcy5jb250ZXh0dWFsS2V5cyhrZXksIGNvbnRleHQpO1xuICAgIGNvbnN0IHRyYW5zbGF0aW9ucyA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoY29udGV4dHVhbEtleXMsIGludGVycG9sYXRlUGFyYW1zKTtcblxuICAgIHJldHVybiB0aGlzLmZpbmRGaXJzdFZhbGlkKGNvbnRleHR1YWxLZXlzLCB0cmFuc2xhdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbXB1dGUgY29udGV4dHVhbCBpMThuIGtleXMsIHVzaW5nIHRoZSBjb250ZXh0IGFzIHN1ZmZpeC48YnI+XG4gICAqIFN1ZmZpeCBjYW4gYmUgc2ltcGxlIG5hbWUgKGxpa2UgJ2FhYScgLSB3aWxsIHJldHVybiBbJzxrZXk+LmFhYSddKSBvciBjb21wbGV4ZSAobGlrZSAnYWFhLmJiYicgLSB3aWxsIHJldHVybiBbJzxrZXk+LmFhYS5iYmInLCAnPGtleT4uYWFhJ11cbiAgICpcbiAgICogQHBhcmFtIGtleVxuICAgKiBAcGFyYW0gY29udGV4dFxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgY29udGV4dHVhbEtleXMoa2V5OiBzdHJpbmcsIGNvbnRleHQ6IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gY29udGV4dC5zcGxpdCgnLicpXG4gICAgICAuZmlsdGVyKGlzTm90TmlsT3JCbGFuaylcbiAgICAgIC5yZWR1Y2UoKHJlcywgaXRlbSkgPT4ge1xuICAgICAgICBjb25zdCBpbmhlcml0ZWRDb250ZXh0ID0gcmVzLmxlbmd0aCA+IDAgPyAocmVzW3Jlcy5sZW5ndGggLSAxXSArICcuJykgOiAnJztcbiAgICAgICAgcmV0dXJuIHJlcy5jb25jYXQoIGluaGVyaXRlZENvbnRleHQgKyBpdGVtKVxuICAgICAgfSwgW10pXG4gICAgICAucmV2ZXJzZSgpIC8vIFN0YXJ0IHdpdGggY2hpbGRyZW4sIGVuZHMgd2l0aCBwYXJlbnQga2V5XG4gICAgICAubWFwKGNvbnRleHRJdGVtID0+IHRoaXMuY29udGV4dHVhbEtleShrZXksIGNvbnRleHRJdGVtKSlcbiAgICAgIC5jb25jYXQoa2V5KVxuICB9XG5cbiAgLyoqXG4gICAqIENvbXB1dGUgYSBjb250ZXh0dWFsIGkxOG4ga2V5LCB1c2luZyB0aGUgY29udGV4dCBhcyBzdWZmaXhcbiAgICpcbiAgICogQHBhcmFtIGtleVxuICAgKiBAcGFyYW0gY29udGV4dFxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgY29udGV4dHVhbEtleShrZXk6IHN0cmluZywgY29udGV4dDogc3RyaW5nKTogc3RyaW5nIHtcblxuICAgIC8vIEFwcGVuZCBhIGRvdCBvbiBjb250ZXh0IGlmIG1pc3NpbmdcbiAgICBpZiAoIWNvbnRleHQuZW5kc1dpdGgoJy4nKSkge1xuICAgICAgY29udGV4dCA9IGNvbnRleHQgKyAnLic7XG4gICAgfVxuXG4gICAgLy8gQ29tcHV0ZSBhIGNvbnRleHR1YWwgaTE4biBrZXksIHVzaW5nIHRoZSBjb250ZXh0IGFzIHN1ZmZpeFxuICAgIGNvbnN0IHBhcnRzID0ga2V5LnNwbGl0KCcuJyk7XG4gICAgcmV0dXJuIChwYXJ0cy5sZW5ndGggPT09IDEpXG4gICAgICA/IGAke2NvbnRleHR9JHtrZXl9YFxuICAgICAgOiBwYXJ0cy5zbGljZSgwLCBwYXJ0cy5sZW5ndGggLSAxKS5jb25jYXQoY29udGV4dCArIHBhcnRzW3BhcnRzLmxlbmd0aCAtIDFdKS5qb2luKCcuJyk7XG4gIH1cblxuICBwcml2YXRlIGZpbmRGaXJzdFZhbGlkKGtleXM6IHN0cmluZ1tdLCB0cmFuc2xhdGlvbnM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0pOiBzdHJpbmcge1xuICAgIC8vIEZvciBlYWMgY29udGV4dHVhbCBrZXk6IHRyeSB0byBmaW5kIHRyYW5zbGF0aW9uLCB0aGVuIHVzZSB0aGUgZmlyc3QgdmFsaWRcbiAgICBmb3IgKGxldCBrZXkgb2Yga2V5cykge1xuICAgICAgaWYgKHRyYW5zbGF0aW9uc1trZXldICE9PSBrZXkpIHJldHVybiB0cmFuc2xhdGlvbnNba2V5XTtcbiAgICB9XG4gICAgcmV0dXJuIHRyYW5zbGF0aW9uc1trZXlzW2tleXMubGVuZ3RoLTFdXTsgLy8gUmV0dXJuIHRoZSBsYXN0IGtleXMgdHJhbnNsYXRpb25cbiAgfVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9yLXNlcnZpY2UuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC9zZXJ2aWNlcy92YWxpZGF0b3Itc2VydmljZS5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtWYWxpZGF0b3JTZXJ2aWNlfSBmcm9tICdAZS1pcy9uZ3gtbWF0ZXJpYWwtdGFibGUnO1xuaW1wb3J0IHtBYnN0cmFjdENvbnRyb2wsIFVudHlwZWRGb3JtR3JvdXB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuZXhwb3J0IGludGVyZmFjZSBJVmFsaWRhdG9yU2VydmljZTxUPiBleHRlbmRzIFZhbGlkYXRvclNlcnZpY2Uge1xuXG4gIGdldEZvcm1Hcm91cChkYXRhPzogVCk6IFVudHlwZWRGb3JtR3JvdXA7XG5cbiAgLyoqXG4gICAqIENvbXB1dGUgZXJyb3JzIGZyb20gYSBjb250cm9sc1xuICAgKiBAcGFyYW0gY29udHJvbCBhbnkgY29udHJvbCwgb3IgRm9ybUdyb3VwLCBvciBGb3JtQXJyYXlcbiAgICovXG4gIGdldEkxOG5Gb3JtRXJyb3JzKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHN0cmluZ1tdO1xuXG59XG4iXX0=
@@ -0,0 +1,62 @@
1
+ import { getPropertyByPathAsString, isNotEmptyArray, isNotNil, isNotNilOrBlank, matchUpperCase, propertiesPathComparator, startsWithUpperCase } from './functions';
2
+ export function suggestFromArray(items, value, opts) {
3
+ if (isNotNil(value) && typeof value === 'object')
4
+ return { data: [value] };
5
+ value = (typeof value === 'string' && value !== '*') && value.toUpperCase() || undefined;
6
+ const keys = opts && (opts.searchAttribute && [opts.searchAttribute] || opts.searchAttributes) || ['label'];
7
+ if (!items) {
8
+ return { data: [], total: 0 };
9
+ }
10
+ // Filter items
11
+ let filteredItems = items;
12
+ if (isNotNilOrBlank(value)) {
13
+ // If wildcard, search using regexp
14
+ if (value.indexOf('*') !== -1) {
15
+ value = value.replace(/[*]+/g, '.*');
16
+ filteredItems = filteredItems.filter(v => keys.findIndex(key => matchUpperCase(getPropertyByPathAsString(v, key), value)) !== -1);
17
+ }
18
+ // Else (no wildcard), search using startsWith
19
+ else {
20
+ filteredItems = filteredItems.filter(v => keys.findIndex(key => startsWithUpperCase(getPropertyByPathAsString(v, key), value)) !== -1);
21
+ }
22
+ }
23
+ // Exclude ids
24
+ if (isNotEmptyArray(opts?.excludedIds)) {
25
+ filteredItems = filteredItems.filter(v => !opts.excludedIds.includes(+v['id']));
26
+ }
27
+ // Sort
28
+ if (!opts || opts.skipSort !== true) {
29
+ // Make to copy input items, before sorting (if not yet already done)
30
+ if (filteredItems === items)
31
+ filteredItems = filteredItems.slice();
32
+ // Sort by keys
33
+ filteredItems.sort(propertiesPathComparator(keys));
34
+ }
35
+ const total = filteredItems.length || 0;
36
+ // Pagination (truncate if need)
37
+ let pageData = filteredItems;
38
+ if (opts) {
39
+ if ((opts.offset || 0) > 0) {
40
+ pageData = pageData.slice(opts.offset);
41
+ }
42
+ if (isNotNil(opts.size) && pageData.length > opts.size) {
43
+ pageData = pageData.slice(0, opts.size);
44
+ }
45
+ }
46
+ const result = {
47
+ data: pageData,
48
+ total
49
+ };
50
+ // Add fetch more capability, if total was fetched
51
+ const nextOffset = (opts && opts.offset || 0) + pageData.length;
52
+ if (nextOffset < total) {
53
+ result.fetchMore = async (_) => suggestFromArray(filteredItems, undefined /*OPTIMISATION: already applied*/, {
54
+ ...opts,
55
+ offset: nextOffset,
56
+ skipSort: true,
57
+ excludedIds: undefined // OPTIMISATION: already filtered
58
+ });
59
+ }
60
+ return result;
61
+ }
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC9zZXJ2aWNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wseUJBQXlCLEVBQ3pCLGVBQWUsRUFDZixRQUFRLEVBQ1IsZUFBZSxFQUNmLGNBQWMsRUFDZCx3QkFBd0IsRUFDeEIsbUJBQW1CLEVBQ3BCLE1BQU0sYUFBYSxDQUFDO0FBRXJCLE1BQU0sVUFBVSxnQkFBZ0IsQ0FBVSxLQUFVLEVBQUUsS0FBVSxFQUFFLElBT2pFO0lBQ0MsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUTtRQUFFLE9BQU8sRUFBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBQyxDQUFDO0lBRXpFLEtBQUssR0FBRyxDQUFDLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLEtBQUssR0FBRyxDQUFDLElBQUksS0FBSyxDQUFDLFdBQVcsRUFBRSxJQUFJLFNBQVMsQ0FBQztJQUV6RixNQUFNLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFNUcsSUFBSSxDQUFDLEtBQUssRUFBRTtRQUNWLE9BQU8sRUFBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUMsQ0FBQztLQUM3QjtJQUVELGVBQWU7SUFDZixJQUFJLGFBQWEsR0FBRyxLQUFLLENBQUM7SUFDMUIsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFFMUIsbUNBQW1DO1FBQ25DLElBQUssS0FBZ0IsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7WUFDekMsS0FBSyxHQUFJLEtBQWdCLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNqRCxhQUFhLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMseUJBQXlCLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNuSTtRQUNELDhDQUE4QzthQUN6QztZQUNILGFBQWEsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLG1CQUFtQixDQUFDLHlCQUF5QixDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDeEk7S0FDRjtJQUVELGNBQWM7SUFDZCxJQUFJLGVBQWUsQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLEVBQUU7UUFDdEMsYUFBYSxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUNqRjtJQUVELE9BQU87SUFDUCxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssSUFBSSxFQUFFO1FBRW5DLHFFQUFxRTtRQUNyRSxJQUFJLGFBQWEsS0FBSyxLQUFLO1lBQUUsYUFBYSxHQUFHLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUVuRSxlQUFlO1FBQ2YsYUFBYSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0tBQ3BEO0lBRUQsTUFBTSxLQUFLLEdBQUcsYUFBYSxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUM7SUFFeEMsZ0NBQWdDO0lBQ2hDLElBQUksUUFBUSxHQUFHLGFBQWEsQ0FBQztJQUM3QixJQUFJLElBQUksRUFBRTtRQUNSLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUMxQixRQUFRLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDeEM7UUFDRCxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksUUFBUSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ3RELFFBQVEsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDekM7S0FDRjtJQUVELE1BQU0sTUFBTSxHQUFrQjtRQUM1QixJQUFJLEVBQUUsUUFBUTtRQUNkLEtBQUs7S0FDTixDQUFDO0lBRUYsa0RBQWtEO0lBQ2xELE1BQU0sVUFBVSxHQUFHLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQztJQUNoRSxJQUFJLFVBQVUsR0FBRyxLQUFLLEVBQUU7UUFDdEIsTUFBTSxDQUFDLFNBQVMsR0FBRyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUsU0FBUyxDQUFDLGlDQUFpQyxFQUN6RztZQUNFLEdBQUcsSUFBSTtZQUNQLE1BQU0sRUFBRSxVQUFVO1lBQ2xCLFFBQVEsRUFBRSxJQUFJO1lBQ2QsV0FBVyxFQUFFLFNBQVMsQ0FBQyxpQ0FBaUM7U0FDekQsQ0FBQyxDQUFDO0tBQ047SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtMb2FkUmVzdWx0fSBmcm9tICcuL3NlcnZpY2VzL2VudGl0eS1zZXJ2aWNlLmNsYXNzJztcbmltcG9ydCB7XG4gIGdldFByb3BlcnR5QnlQYXRoQXNTdHJpbmcsXG4gIGlzTm90RW1wdHlBcnJheSxcbiAgaXNOb3ROaWwsXG4gIGlzTm90TmlsT3JCbGFuayxcbiAgbWF0Y2hVcHBlckNhc2UsXG4gIHByb3BlcnRpZXNQYXRoQ29tcGFyYXRvcixcbiAgc3RhcnRzV2l0aFVwcGVyQ2FzZVxufSBmcm9tICcuL2Z1bmN0aW9ucyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBzdWdnZXN0RnJvbUFycmF5PFQgPSBhbnk+KGl0ZW1zOiBUW10sIHZhbHVlOiBhbnksIG9wdHM/OiB7XG4gIG9mZnNldD86IG51bWJlcjtcbiAgc2l6ZT86IG51bWJlcjtcbiAgc2VhcmNoQXR0cmlidXRlPzogc3RyaW5nO1xuICBzZWFyY2hBdHRyaWJ1dGVzPzogc3RyaW5nW107XG4gIGV4Y2x1ZGVkSWRzPzogbnVtYmVyW107XG4gIHNraXBTb3J0PzogYm9vbGVhbjtcbn0pOiBMb2FkUmVzdWx0PFQ+IHtcbiAgaWYgKGlzTm90TmlsKHZhbHVlKSAmJiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnKSByZXR1cm4ge2RhdGE6IFt2YWx1ZV19O1xuXG4gIHZhbHVlID0gKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgdmFsdWUgIT09ICcqJykgJiYgdmFsdWUudG9VcHBlckNhc2UoKSB8fCB1bmRlZmluZWQ7XG5cbiAgY29uc3Qga2V5cyA9IG9wdHMgJiYgKG9wdHMuc2VhcmNoQXR0cmlidXRlICYmIFtvcHRzLnNlYXJjaEF0dHJpYnV0ZV0gfHwgb3B0cy5zZWFyY2hBdHRyaWJ1dGVzKSB8fCBbJ2xhYmVsJ107XG5cbiAgaWYgKCFpdGVtcykge1xuICAgIHJldHVybiB7ZGF0YTogW10sIHRvdGFsOiAwfTtcbiAgfVxuXG4gIC8vIEZpbHRlciBpdGVtc1xuICBsZXQgZmlsdGVyZWRJdGVtcyA9IGl0ZW1zO1xuICBpZiAoaXNOb3ROaWxPckJsYW5rKHZhbHVlKSkge1xuXG4gICAgLy8gSWYgd2lsZGNhcmQsIHNlYXJjaCB1c2luZyByZWdleHBcbiAgICBpZiAoKHZhbHVlIGFzIHN0cmluZykuaW5kZXhPZignKicpICE9PSAtMSkge1xuICAgICAgdmFsdWUgPSAodmFsdWUgYXMgc3RyaW5nKS5yZXBsYWNlKC9bKl0rL2csICcuKicpO1xuICAgICAgZmlsdGVyZWRJdGVtcyA9IGZpbHRlcmVkSXRlbXMuZmlsdGVyKHYgPT4ga2V5cy5maW5kSW5kZXgoa2V5ID0+IG1hdGNoVXBwZXJDYXNlKGdldFByb3BlcnR5QnlQYXRoQXNTdHJpbmcodiwga2V5KSwgdmFsdWUpKSAhPT0gLTEpO1xuICAgIH1cbiAgICAvLyBFbHNlIChubyB3aWxkY2FyZCksIHNlYXJjaCB1c2luZyBzdGFydHNXaXRoXG4gICAgZWxzZSB7XG4gICAgICBmaWx0ZXJlZEl0ZW1zID0gZmlsdGVyZWRJdGVtcy5maWx0ZXIodiA9PiBrZXlzLmZpbmRJbmRleChrZXkgPT4gc3RhcnRzV2l0aFVwcGVyQ2FzZShnZXRQcm9wZXJ0eUJ5UGF0aEFzU3RyaW5nKHYsIGtleSksIHZhbHVlKSkgIT09IC0xKTtcbiAgICB9XG4gIH1cblxuICAvLyBFeGNsdWRlIGlkc1xuICBpZiAoaXNOb3RFbXB0eUFycmF5KG9wdHM/LmV4Y2x1ZGVkSWRzKSkge1xuICAgIGZpbHRlcmVkSXRlbXMgPSBmaWx0ZXJlZEl0ZW1zLmZpbHRlcih2ID0+ICFvcHRzLmV4Y2x1ZGVkSWRzLmluY2x1ZGVzKCt2WydpZCddKSk7XG4gIH1cblxuICAvLyBTb3J0XG4gIGlmICghb3B0cyB8fCBvcHRzLnNraXBTb3J0ICE9PSB0cnVlKSB7XG5cbiAgICAvLyBNYWtlIHRvIGNvcHkgaW5wdXQgaXRlbXMsIGJlZm9yZSBzb3J0aW5nIChpZiBub3QgeWV0IGFscmVhZHkgZG9uZSlcbiAgICBpZiAoZmlsdGVyZWRJdGVtcyA9PT0gaXRlbXMpIGZpbHRlcmVkSXRlbXMgPSBmaWx0ZXJlZEl0ZW1zLnNsaWNlKCk7XG5cbiAgICAvLyBTb3J0IGJ5IGtleXNcbiAgICBmaWx0ZXJlZEl0ZW1zLnNvcnQocHJvcGVydGllc1BhdGhDb21wYXJhdG9yKGtleXMpKTtcbiAgfVxuXG4gIGNvbnN0IHRvdGFsID0gZmlsdGVyZWRJdGVtcy5sZW5ndGggfHwgMDtcblxuICAvLyBQYWdpbmF0aW9uICh0cnVuY2F0ZSBpZiBuZWVkKVxuICBsZXQgcGFnZURhdGEgPSBmaWx0ZXJlZEl0ZW1zO1xuICBpZiAob3B0cykge1xuICAgIGlmICgob3B0cy5vZmZzZXQgfHwgMCkgPiAwKSB7XG4gICAgICBwYWdlRGF0YSA9IHBhZ2VEYXRhLnNsaWNlKG9wdHMub2Zmc2V0KTtcbiAgICB9XG4gICAgaWYgKGlzTm90TmlsKG9wdHMuc2l6ZSkgJiYgcGFnZURhdGEubGVuZ3RoID4gb3B0cy5zaXplKSB7XG4gICAgICBwYWdlRGF0YSA9IHBhZ2VEYXRhLnNsaWNlKDAsIG9wdHMuc2l6ZSk7XG4gICAgfVxuICB9XG5cbiAgY29uc3QgcmVzdWx0OiBMb2FkUmVzdWx0PFQ+ID0ge1xuICAgIGRhdGE6IHBhZ2VEYXRhLFxuICAgIHRvdGFsXG4gIH07XG5cbiAgLy8gQWRkIGZldGNoIG1vcmUgY2FwYWJpbGl0eSwgaWYgdG90YWwgd2FzIGZldGNoZWRcbiAgY29uc3QgbmV4dE9mZnNldCA9IChvcHRzICYmIG9wdHMub2Zmc2V0IHx8IDApICsgcGFnZURhdGEubGVuZ3RoO1xuICBpZiAobmV4dE9mZnNldCA8IHRvdGFsKSB7XG4gICAgcmVzdWx0LmZldGNoTW9yZSA9IGFzeW5jIChfKSA9PiBzdWdnZXN0RnJvbUFycmF5KGZpbHRlcmVkSXRlbXMsIHVuZGVmaW5lZCAvKk9QVElNSVNBVElPTjogYWxyZWFkeSBhcHBsaWVkKi8sXG4gICAgICB7XG4gICAgICAgIC4uLm9wdHMsXG4gICAgICAgIG9mZnNldDogbmV4dE9mZnNldCxcbiAgICAgICAgc2tpcFNvcnQ6IHRydWUsIC8vIE9QVElNSVNBVElPTjogYWxyZWFkeSBzb3J0ZWRcbiAgICAgICAgZXhjbHVkZWRJZHM6IHVuZGVmaW5lZCAvLyBPUFRJTUlTQVRJT046IGFscmVhZHkgZmlsdGVyZWRcbiAgICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cbiJdfQ==
@@ -0,0 +1,70 @@
1
+ import { Injectable, NgModule } from '@angular/core';
2
+ import { RouteReuseStrategy, RouterModule } from '@angular/router';
3
+ import { IonicRouteStrategy } from '@ionic/angular';
4
+ import { ComponentDirtyGuard } from './guard/component-dirty.guard';
5
+ import { isNil, isNotNil } from './functions';
6
+ import * as i0 from "@angular/core";
7
+ export class CustomReuseStrategy extends IonicRouteStrategy {
8
+ /**
9
+ * Force to reuse the route when:
10
+ * - path change from [/new] -> [/:id]
11
+ * - or path change from [/new] -> [/new?id=:id]
12
+ * @param future
13
+ * @param curr
14
+ */
15
+ shouldReuseRoute(future, curr) {
16
+ const reuse = super.shouldReuseRoute(future, curr);
17
+ // Is sam route config
18
+ if (!reuse && future.routeConfig && future.routeConfig === curr.routeConfig) {
19
+ // Read the parameter name, where id is stored
20
+ const pathIdParam = future.routeConfig.data && future.routeConfig.data.pathIdParam || 'id';
21
+ // Read the current route id
22
+ const currId = curr.params[pathIdParam] === 'new'
23
+ ? (curr.queryParams[pathIdParam] || curr.queryParams['id'] || 'new') // e.g. path like '/new/?id=<ID>'
24
+ : curr.params[pathIdParam]; // e.g. path like '/<ID>'
25
+ // Read the future route id
26
+ const futureId = future.params[pathIdParam] === 'new'
27
+ ? (future.queryParams[pathIdParam] || future.queryParams['id'] || 'new') // e.g. path like '/new/?id=<ID>'
28
+ : future.params[pathIdParam]; // e.g. path like '/<ID>'
29
+ // Reuse if same ID, using a futureId, if exists
30
+ if (isNotNil(futureId)) {
31
+ // Allow reuse when changing from /new to /new?id=:id
32
+ if (currId === 'new' && isNil(curr.queryParams[pathIdParam]) && future.params[pathIdParam] === 'new' && isNotNil(future.queryParams[pathIdParam])) {
33
+ return true;
34
+ }
35
+ // Allow reuse same id, expect when expected '/new'
36
+ return futureId !== 'new' && futureId === currId;
37
+ }
38
+ }
39
+ return reuse;
40
+ }
41
+ }
42
+ CustomReuseStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CustomReuseStrategy, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
43
+ CustomReuseStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CustomReuseStrategy });
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CustomReuseStrategy, decorators: [{
45
+ type: Injectable
46
+ }] });
47
+ export class SharedRoutingModule {
48
+ constructor() {
49
+ console.debug('[shared-routing] Creating module...');
50
+ }
51
+ }
52
+ SharedRoutingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SharedRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
53
+ SharedRoutingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: SharedRoutingModule, imports: [RouterModule] });
54
+ SharedRoutingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SharedRoutingModule, providers: [
55
+ { provide: RouteReuseStrategy, useClass: CustomReuseStrategy },
56
+ { provide: ComponentDirtyGuard, useClass: ComponentDirtyGuard }
57
+ ], imports: [RouterModule] });
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SharedRoutingModule, decorators: [{
59
+ type: NgModule,
60
+ args: [{
61
+ imports: [
62
+ RouterModule
63
+ ],
64
+ providers: [
65
+ { provide: RouteReuseStrategy, useClass: CustomReuseStrategy },
66
+ { provide: ComponentDirtyGuard, useClass: ComponentDirtyGuard }
67
+ ]
68
+ }]
69
+ }], ctorParameters: function () { return []; } });
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLXJvdXRpbmcubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvc2hhcmVkLXJvdXRpbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBeUIsa0JBQWtCLEVBQUUsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDekYsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFDLEtBQUssRUFBRSxRQUFRLEVBQUMsTUFBTSxhQUFhLENBQUM7O0FBSTVDLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxrQkFBa0I7SUFFekQ7Ozs7OztPQU1HO0lBQ0gsZ0JBQWdCLENBQUMsTUFBOEIsRUFBRSxJQUE0QjtRQUMzRSxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRW5ELHNCQUFzQjtRQUN0QixJQUFJLENBQUMsS0FBSyxJQUFJLE1BQU0sQ0FBQyxXQUFXLElBQUksTUFBTSxDQUFDLFdBQVcsS0FBSyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQzNFLDhDQUE4QztZQUM5QyxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksSUFBSSxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDO1lBRTNGLDRCQUE0QjtZQUM1QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEtBQUs7Z0JBQy9DLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxpQ0FBaUM7Z0JBQ3RHLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMseUJBQXlCO1lBRXZELDJCQUEyQjtZQUMzQixNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEtBQUs7Z0JBQ25ELENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLElBQUksTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxpQ0FBaUM7Z0JBQzFHLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMseUJBQXlCO1lBRXpELGdEQUFnRDtZQUNoRCxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRTtnQkFDdEIscURBQXFEO2dCQUNyRCxJQUFJLE1BQU0sS0FBSyxLQUFLLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEtBQUssSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFO29CQUNqSixPQUFPLElBQUksQ0FBQztpQkFDYjtnQkFFRCxtREFBbUQ7Z0JBQ25ELE9BQU8sUUFBUSxLQUFLLEtBQUssSUFBSSxRQUFRLEtBQUssTUFBTSxDQUFDO2FBQ2xEO1NBQ0Y7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7O2dIQXhDVSxtQkFBbUI7b0hBQW5CLG1CQUFtQjsyRkFBbkIsbUJBQW1CO2tCQUQvQixVQUFVOztBQXFEWCxNQUFNLE9BQU8sbUJBQW1CO0lBRTlCO1FBQ0UsT0FBTyxDQUFDLEtBQUssQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7O2dIQUpVLG1CQUFtQjtpSEFBbkIsbUJBQW1CLFlBUDVCLFlBQVk7aUhBT0gsbUJBQW1CLGFBTG5CO1FBQ1QsRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsUUFBUSxFQUFFLG1CQUFtQixFQUFFO1FBQzlELEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFFBQVEsRUFBRSxtQkFBbUIsRUFBRTtLQUNoRSxZQUxDLFlBQVk7MkZBT0gsbUJBQW1CO2tCQVQvQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3FCQUNiO29CQUNELFNBQVMsRUFBRTt3QkFDVCxFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxRQUFRLEVBQUUsbUJBQW1CLEVBQUU7d0JBQzlELEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFFBQVEsRUFBRSxtQkFBbUIsRUFBRTtxQkFDaEU7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGUsIE5nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgUm91dGVSZXVzZVN0cmF0ZWd5LCBSb3V0ZXJNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge0lvbmljUm91dGVTdHJhdGVneX0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHtDb21wb25lbnREaXJ0eUd1YXJkfSBmcm9tICcuL2d1YXJkL2NvbXBvbmVudC1kaXJ0eS5ndWFyZCc7XG5pbXBvcnQge2lzTmlsLCBpc05vdE5pbH0gZnJvbSAnLi9mdW5jdGlvbnMnO1xuXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDdXN0b21SZXVzZVN0cmF0ZWd5IGV4dGVuZHMgSW9uaWNSb3V0ZVN0cmF0ZWd5IHtcblxuICAvKipcbiAgICogRm9yY2UgdG8gcmV1c2UgdGhlIHJvdXRlIHdoZW46XG4gICAqICAtIHBhdGggY2hhbmdlIGZyb20gWy9uZXddIC0+IFsvOmlkXVxuICAgKiAgLSBvciBwYXRoIGNoYW5nZSBmcm9tIFsvbmV3XSAtPiBbL25ldz9pZD06aWRdXG4gICAqIEBwYXJhbSBmdXR1cmVcbiAgICogQHBhcmFtIGN1cnJcbiAgICovXG4gIHNob3VsZFJldXNlUm91dGUoZnV0dXJlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBjdXJyOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogYm9vbGVhbiB7XG4gICAgY29uc3QgcmV1c2UgPSBzdXBlci5zaG91bGRSZXVzZVJvdXRlKGZ1dHVyZSwgY3Vycik7XG5cbiAgICAvLyBJcyBzYW0gcm91dGUgY29uZmlnXG4gICAgaWYgKCFyZXVzZSAmJiBmdXR1cmUucm91dGVDb25maWcgJiYgZnV0dXJlLnJvdXRlQ29uZmlnID09PSBjdXJyLnJvdXRlQ29uZmlnKSB7XG4gICAgICAvLyBSZWFkIHRoZSBwYXJhbWV0ZXIgbmFtZSwgd2hlcmUgaWQgaXMgc3RvcmVkXG4gICAgICBjb25zdCBwYXRoSWRQYXJhbSA9IGZ1dHVyZS5yb3V0ZUNvbmZpZy5kYXRhICYmIGZ1dHVyZS5yb3V0ZUNvbmZpZy5kYXRhLnBhdGhJZFBhcmFtIHx8ICdpZCc7XG5cbiAgICAgIC8vIFJlYWQgdGhlIGN1cnJlbnQgcm91dGUgaWRcbiAgICAgIGNvbnN0IGN1cnJJZCA9IGN1cnIucGFyYW1zW3BhdGhJZFBhcmFtXSA9PT0gJ25ldydcbiAgICAgICAgPyAoY3Vyci5xdWVyeVBhcmFtc1twYXRoSWRQYXJhbV0gfHwgY3Vyci5xdWVyeVBhcmFtc1snaWQnXSB8fCAnbmV3JykgLy8gZS5nLiBwYXRoIGxpa2UgJy9uZXcvP2lkPTxJRD4nXG4gICAgICAgIDogY3Vyci5wYXJhbXNbcGF0aElkUGFyYW1dOyAvLyBlLmcuIHBhdGggbGlrZSAnLzxJRD4nXG5cbiAgICAgIC8vIFJlYWQgdGhlIGZ1dHVyZSByb3V0ZSBpZFxuICAgICAgY29uc3QgZnV0dXJlSWQgPSBmdXR1cmUucGFyYW1zW3BhdGhJZFBhcmFtXSA9PT0gJ25ldydcbiAgICAgICAgPyAoZnV0dXJlLnF1ZXJ5UGFyYW1zW3BhdGhJZFBhcmFtXSB8fCBmdXR1cmUucXVlcnlQYXJhbXNbJ2lkJ10gfHwgJ25ldycpIC8vIGUuZy4gcGF0aCBsaWtlICcvbmV3Lz9pZD08SUQ+J1xuICAgICAgICA6IGZ1dHVyZS5wYXJhbXNbcGF0aElkUGFyYW1dOyAvLyBlLmcuIHBhdGggbGlrZSAnLzxJRD4nXG5cbiAgICAgIC8vIFJldXNlIGlmIHNhbWUgSUQsIHVzaW5nIGEgZnV0dXJlSWQsIGlmIGV4aXN0c1xuICAgICAgaWYgKGlzTm90TmlsKGZ1dHVyZUlkKSkge1xuICAgICAgICAvLyBBbGxvdyByZXVzZSB3aGVuIGNoYW5naW5nIGZyb20gL25ldyB0byAvbmV3P2lkPTppZFxuICAgICAgICBpZiAoY3VycklkID09PSAnbmV3JyAmJiBpc05pbChjdXJyLnF1ZXJ5UGFyYW1zW3BhdGhJZFBhcmFtXSkgJiYgZnV0dXJlLnBhcmFtc1twYXRoSWRQYXJhbV0gPT09ICduZXcnICYmIGlzTm90TmlsKGZ1dHVyZS5xdWVyeVBhcmFtc1twYXRoSWRQYXJhbV0pKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBbGxvdyByZXVzZSBzYW1lIGlkLCBleHBlY3Qgd2hlbiBleHBlY3RlZCAnL25ldydcbiAgICAgICAgcmV0dXJuIGZ1dHVyZUlkICE9PSAnbmV3JyAmJiBmdXR1cmVJZCA9PT0gY3VycklkO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiByZXVzZTtcbiAgfVxufVxuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgUm91dGVyTW9kdWxlXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogUm91dGVSZXVzZVN0cmF0ZWd5LCB1c2VDbGFzczogQ3VzdG9tUmV1c2VTdHJhdGVneSB9LFxuICAgIHsgcHJvdmlkZTogQ29tcG9uZW50RGlydHlHdWFyZCwgdXNlQ2xhc3M6IENvbXBvbmVudERpcnR5R3VhcmQgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFNoYXJlZFJvdXRpbmdNb2R1bGUge1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGNvbnNvbGUuZGVidWcoJ1tzaGFyZWQtcm91dGluZ10gQ3JlYXRpbmcgbW9kdWxlLi4uJyk7XG4gIH1cbn1cbiJdfQ==