@sumaris-net/ngx-components 2.6.26 → 2.7.0-rc10

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 (738) hide show
  1. package/esm2022/public_api.mjs +339 -0
  2. package/{esm2020 → esm2022}/src/app/admin/admin-routing.module.mjs +8 -8
  3. package/{esm2020 → esm2022}/src/app/admin/admin.module.mjs +12 -12
  4. package/esm2022/src/app/admin/services/filter/person.filter.mjs +69 -0
  5. package/esm2022/src/app/admin/services/person.service.mjs +174 -0
  6. package/esm2022/src/app/admin/services/validator/person.validator.mjs +72 -0
  7. package/esm2022/src/app/admin/users/users.mjs +264 -0
  8. package/esm2022/src/app/admin/users/users.module.mjs +58 -0
  9. package/{esm2020 → esm2022}/src/app/core/about/about.modal.mjs +20 -7
  10. package/{esm2020 → esm2022}/src/app/core/about/about.module.mjs +9 -9
  11. package/{esm2020 → esm2022}/src/app/core/account/account.module.mjs +22 -22
  12. package/esm2022/src/app/core/account/account.page.mjs +337 -0
  13. package/esm2022/src/app/core/account/new-token.modal.mjs +130 -0
  14. package/esm2022/src/app/core/account/token.table.mjs +146 -0
  15. package/esm2022/src/app/core/auth/auth.form.mjs +140 -0
  16. package/esm2022/src/app/core/auth/auth.modal.mjs +76 -0
  17. package/{esm2020 → esm2022}/src/app/core/auth/auth.module.mjs +16 -16
  18. package/{esm2020 → esm2022}/src/app/core/core.module.mjs +87 -87
  19. package/esm2022/src/app/core/core.testing.module.mjs +93 -0
  20. package/esm2022/src/app/core/form/buttons/form-buttons-bar.component.mjs +109 -0
  21. package/{esm2020 → esm2022}/src/app/core/form/buttons/form-buttons-bar.module.mjs +10 -10
  22. package/esm2022/src/app/core/form/entity/editor.class.mjs +718 -0
  23. package/esm2022/src/app/core/form/entity/entity-editor-modal.class.mjs +436 -0
  24. package/esm2022/src/app/core/form/entity/entity-editor.class.mjs +730 -0
  25. package/esm2022/src/app/core/form/entity/entity-metadata.component.mjs +24 -0
  26. package/{esm2020 → esm2022}/src/app/core/form/entity/entity.module.mjs +11 -11
  27. package/esm2022/src/app/core/form/form.class.mjs +353 -0
  28. package/{esm2020 → esm2022}/src/app/core/form/form.module.mjs +30 -30
  29. package/esm2022/src/app/core/form/form.utils.mjs +485 -0
  30. package/esm2022/src/app/core/form/list/list.form.mjs +233 -0
  31. package/{esm2020 → esm2022}/src/app/core/form/list/list.module.mjs +10 -10
  32. package/esm2022/src/app/core/form/properties/properties.form.mjs +143 -0
  33. package/{esm2020 → esm2022}/src/app/core/form/properties/properties.module.mjs +13 -13
  34. package/esm2022/src/app/core/form/properties/properties.table.mjs +269 -0
  35. package/esm2022/src/app/core/form/properties/property.validator.mjs +24 -0
  36. package/esm2022/src/app/core/form/properties/testing/properties-form.test.mjs +95 -0
  37. package/{esm2020 → esm2022}/src/app/core/form/properties/testing/properties-form.testing.module.mjs +11 -11
  38. package/esm2022/src/app/core/form/text-popover/testing/text-popover.testing.mjs +73 -0
  39. package/{esm2020 → esm2022}/src/app/core/form/text-popover/testing/text-popover.testing.module.mjs +10 -10
  40. package/esm2022/src/app/core/form/text-popover/text-popover.component.mjs +152 -0
  41. package/{esm2020 → esm2022}/src/app/core/form/text-popover/text-popover.module.mjs +10 -10
  42. package/{esm2020 → esm2022}/src/app/core/graphql/graphql.module.mjs +6 -6
  43. package/esm2022/src/app/core/graphql/graphql.service.mjs +788 -0
  44. package/esm2022/src/app/core/graphql/graphql.utils.mjs +118 -0
  45. package/esm2022/src/app/core/home/home.mjs +282 -0
  46. package/esm2022/src/app/core/home/home.module.mjs +51 -0
  47. package/esm2022/src/app/core/icon/icon.component.mjs +40 -0
  48. package/{esm2020 → esm2022}/src/app/core/icon/icon.module.mjs +7 -7
  49. package/esm2022/src/app/core/install/install-upgrade-card.component.mjs +358 -0
  50. package/{esm2020 → esm2022}/src/app/core/install/install-upgrade-card.module.mjs +10 -10
  51. package/esm2022/src/app/core/menu/menu.component.mjs +264 -0
  52. package/esm2022/src/app/core/menu/menu.model.mjs +269 -0
  53. package/esm2022/src/app/core/menu/menu.module.mjs +52 -0
  54. package/esm2022/src/app/core/menu/menu.service.mjs +671 -0
  55. package/esm2022/src/app/core/menu/sub-menu-tab.directive.mjs +109 -0
  56. package/{esm2020 → esm2022}/src/app/core/menu/testing/menu-other.testing.mjs +5 -5
  57. package/esm2022/src/app/core/menu/testing/menu.testing.mjs +122 -0
  58. package/{esm2020 → esm2022}/src/app/core/menu/testing/menu.testing.module.mjs +12 -12
  59. package/esm2022/src/app/core/offline/update-offline-mode-card.component.mjs +29 -0
  60. package/{esm2020 → esm2022}/src/app/core/offline/update-offline-mode-card.module.mjs +10 -10
  61. package/esm2022/src/app/core/peer/select-peer.modal.mjs +193 -0
  62. package/{esm2020 → esm2022}/src/app/core/peer/select-peer.module.mjs +13 -13
  63. package/{esm2020 → esm2022}/src/app/core/register/register-confirm.page.mjs +16 -9
  64. package/esm2022/src/app/core/register/register.form.mjs +194 -0
  65. package/esm2022/src/app/core/register/register.modal.mjs +55 -0
  66. package/{esm2020 → esm2022}/src/app/core/register/register.module.mjs +13 -13
  67. package/esm2022/src/app/core/services/account.service.mjs +1243 -0
  68. package/esm2022/src/app/core/services/auth-guard.service.mjs +76 -0
  69. package/esm2022/src/app/core/services/base-entity-service.class.mjs +482 -0
  70. package/esm2022/src/app/core/services/base-graphql-service.class.mjs +224 -0
  71. package/esm2022/src/app/core/services/base58.mjs +79 -0
  72. package/esm2022/src/app/core/services/config.service.mjs +367 -0
  73. package/esm2022/src/app/core/services/crypto.service.mjs +107 -0
  74. package/{esm2020 → esm2022}/src/app/core/services/errors.mjs +3 -3
  75. package/esm2022/src/app/core/services/local-settings.service.mjs +468 -0
  76. package/esm2022/src/app/core/services/model/account.model.mjs +155 -0
  77. package/esm2022/src/app/core/services/model/config.model.mjs +107 -0
  78. package/esm2022/src/app/core/services/model/department.model.mjs +34 -0
  79. package/esm2022/src/app/core/services/model/entity.decorators.mjs +97 -0
  80. package/esm2022/src/app/core/services/model/entity.model.mjs +228 -0
  81. package/{esm2020 → esm2022}/src/app/core/services/model/filter.model.mjs +1 -1
  82. package/esm2022/src/app/core/services/model/peer.model.mjs +83 -0
  83. package/esm2022/src/app/core/services/model/person.model.mjs +110 -0
  84. package/esm2022/src/app/core/services/model/referential.model.mjs +189 -0
  85. package/esm2022/src/app/core/services/model/token.model.mjs +57 -0
  86. package/esm2022/src/app/core/services/model/tree-item-entity.model.mjs +199 -0
  87. package/esm2022/src/app/core/services/network.service.mjs +626 -0
  88. package/esm2022/src/app/core/services/network.types.mjs +20 -0
  89. package/esm2022/src/app/core/services/network.utils.mjs +15 -0
  90. package/{esm2020 → esm2022}/src/app/core/services/pipes/account.pipes.mjs +9 -9
  91. package/{esm2020 → esm2022}/src/app/core/services/pipes/department-to-string.pipe.mjs +5 -5
  92. package/{esm2020 → esm2022}/src/app/core/services/pipes/person-to-string.pipe.mjs +5 -5
  93. package/{esm2020 → esm2022}/src/app/core/services/pipes/usage-mode.pipes.mjs +9 -9
  94. package/esm2022/src/app/core/services/platform.service.mjs +557 -0
  95. package/esm2022/src/app/core/services/storage/entities-storage.service.mjs +434 -0
  96. package/esm2022/src/app/core/services/storage/entity-store.class.mjs +458 -0
  97. package/esm2022/src/app/core/services/testing/referential-filter.model.mjs +25 -0
  98. package/esm2022/src/app/core/services/testing/referential.validator.mjs +46 -0
  99. package/esm2022/src/app/core/services/validator/account.validator.mjs +45 -0
  100. package/esm2022/src/app/core/services/validator/base.validator.class.mjs +49 -0
  101. package/esm2022/src/app/core/services/validator/local-settings.validator.mjs +67 -0
  102. package/{esm2020 → esm2022}/src/app/core/services/validator/user-settings.validator.mjs +5 -5
  103. package/{esm2020 → esm2022}/src/app/core/services/validator/user-token.validator.mjs +5 -5
  104. package/{esm2020 → esm2022}/src/app/core/settings/settings.module.mjs +9 -9
  105. package/esm2022/src/app/core/settings/settings.page.mjs +328 -0
  106. package/esm2022/src/app/core/table/actions-column.component.mjs +115 -0
  107. package/esm2022/src/app/core/table/async-table.class.mjs +1740 -0
  108. package/esm2022/src/app/core/table/entities-async-table-datasource.class.mjs +386 -0
  109. package/esm2022/src/app/core/table/entities-table-datasource.class.mjs +401 -0
  110. package/esm2022/src/app/core/table/memory-table.class.mjs +57 -0
  111. package/esm2022/src/app/core/table/table-select-columns.component.mjs +46 -0
  112. package/esm2022/src/app/core/table/table.class.mjs +1781 -0
  113. package/esm2022/src/app/core/table/table.model.mjs +16 -0
  114. package/{esm2020 → esm2022}/src/app/core/table/table.module.mjs +12 -12
  115. package/esm2022/src/app/core/table/table.utils.mjs +33 -0
  116. package/esm2022/src/app/core/table/testing/table-validator.service.mjs +28 -0
  117. package/esm2022/src/app/core/table/testing/table.testing.mjs +291 -0
  118. package/esm2022/src/app/core/table/testing/table.testing.module.mjs +50 -0
  119. package/esm2022/src/app/core/table/testing/table2-validator.service.mjs +25 -0
  120. package/esm2022/src/app/core/table/testing/table2.testing.mjs +250 -0
  121. package/esm2022/src/app/shared/alerts.mjs +239 -0
  122. package/esm2022/src/app/shared/audio/audio.mjs +251 -0
  123. package/esm2022/src/app/shared/audio/audio.testing.mjs +32 -0
  124. package/{esm2020 → esm2022}/src/app/shared/audio/audio.testing.module.mjs +10 -10
  125. package/esm2022/src/app/shared/capacitor/keyboard.mjs +42 -0
  126. package/esm2022/src/app/shared/capacitor/plugins.mjs +9 -0
  127. package/esm2022/src/app/shared/dates.mjs +149 -0
  128. package/esm2022/src/app/shared/debug/debug.component.mjs +40 -0
  129. package/{esm2020 → esm2022}/src/app/shared/debug/debug.module.mjs +14 -14
  130. package/esm2022/src/app/shared/directives/autofocus.directive.mjs +98 -0
  131. package/esm2022/src/app/shared/directives/autotitle.directive.mjs +32 -0
  132. package/{esm2020 → esm2022}/src/app/shared/directives/directives.module.mjs +13 -13
  133. package/esm2022/src/app/shared/directives/drag-and-drop.directive.mjs +52 -0
  134. package/esm2022/src/app/shared/directives/ng-var.directive.mjs +33 -0
  135. package/esm2022/src/app/shared/directives/resizable/resizable.component.mjs +62 -0
  136. package/esm2022/src/app/shared/directives/resizable/resizable.directive.mjs +45 -0
  137. package/{esm2020 → esm2022}/src/app/shared/directives/resizable/resizable.module.mjs +5 -5
  138. package/esm2022/src/app/shared/events.mjs +65 -0
  139. package/esm2022/src/app/shared/file/csv.utils.mjs +72 -0
  140. package/esm2022/src/app/shared/file/file.service.mjs +122 -0
  141. package/esm2022/src/app/shared/file/file.utils.mjs +113 -0
  142. package/esm2022/src/app/shared/file/images.utils.mjs +161 -0
  143. package/{esm2020 → esm2022}/src/app/shared/file/json.utils.mjs +1 -1
  144. package/esm2022/src/app/shared/file/uri.utils.mjs +24 -0
  145. package/esm2022/src/app/shared/form/field.component.mjs +353 -0
  146. package/{esm2020 → esm2022}/src/app/shared/form/field.model.mjs +1 -1
  147. package/esm2022/src/app/shared/form/loading-spinner.mjs +35 -0
  148. package/esm2022/src/app/shared/forms.mjs +414 -0
  149. package/esm2022/src/app/shared/functions.mjs +483 -0
  150. package/esm2022/src/app/shared/geolocation/geolocation.utils.mjs +82 -0
  151. package/esm2022/src/app/shared/gesture/gesture-config.mjs +46 -0
  152. package/{esm2020 → esm2022}/src/app/shared/graph/colors.utils.mjs +1 -1
  153. package/esm2022/src/app/shared/graph/graph-colors.mjs +219 -0
  154. package/esm2022/src/app/shared/guard/component-dirty.guard.mjs +59 -0
  155. package/esm2022/src/app/shared/help/help.modal.mjs +63 -0
  156. package/esm2022/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.mjs +23 -0
  157. package/esm2022/src/app/shared/hotkeys/hotkeys.service.mjs +85 -0
  158. package/{esm2020 → esm2022}/src/app/shared/hotkeys/shared-hotkeys.module.mjs +13 -13
  159. package/esm2022/src/app/shared/http/http.utils.mjs +56 -0
  160. package/esm2022/src/app/shared/image/gallery/image-gallery.component.mjs +388 -0
  161. package/{esm2020 → esm2022}/src/app/shared/image/gallery/image-gallery.module.mjs +22 -22
  162. package/esm2022/src/app/shared/image/gallery/testing/gallegry.model.testing.mjs +26 -0
  163. package/esm2022/src/app/shared/image/gallery/testing/gallery.service.testing.mjs +90 -0
  164. package/esm2022/src/app/shared/image/gallery/testing/gallery.testing.mjs +41 -0
  165. package/{esm2020 → esm2022}/src/app/shared/image/gallery/testing/gallery.testing.module.mjs +16 -16
  166. package/{esm2020 → esm2022}/src/app/shared/image/image.module.mjs +11 -11
  167. package/esm2022/src/app/shared/image/image.service.mjs +104 -0
  168. package/esm2022/src/app/shared/inputs.mjs +231 -0
  169. package/esm2022/src/app/shared/interceptors/progess.interceptor.mjs +28 -0
  170. package/esm2022/src/app/shared/logging/logger.model.mjs +47 -0
  171. package/esm2022/src/app/shared/logging/logging-service.class.mjs +128 -0
  172. package/{esm2020 → esm2022}/src/app/shared/logging/logging-service.module.mjs +8 -8
  173. package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.config.mjs +49 -0
  174. package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.mjs +967 -0
  175. package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.module.mjs +82 -0
  176. package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.utils.mjs +17 -0
  177. package/esm2022/src/app/shared/material/autocomplete/testing/autocomplete.test.mjs +217 -0
  178. package/esm2022/src/app/shared/material/badge/badge.directive.mjs +209 -0
  179. package/{esm2020 → esm2022}/src/app/shared/material/badge/badge.module.mjs +9 -9
  180. package/esm2022/src/app/shared/material/badge/badge.test.mjs +42 -0
  181. package/esm2022/src/app/shared/material/boolean/boolean.module.mjs +67 -0
  182. package/esm2022/src/app/shared/material/boolean/material-boolean.mjs +262 -0
  183. package/esm2022/src/app/shared/material/boolean/testing/boolean.test.page.mjs +53 -0
  184. package/esm2022/src/app/shared/material/chips/chips.module.mjs +76 -0
  185. package/esm2022/src/app/shared/material/chips/material.chips.mjs +719 -0
  186. package/esm2022/src/app/shared/material/chips/testing/chips.test.mjs +148 -0
  187. package/esm2022/src/app/shared/material/datetime/datetime.module.mjs +90 -0
  188. package/esm2022/src/app/shared/material/datetime/material.date.mjs +424 -0
  189. package/esm2022/src/app/shared/material/datetime/material.dateshort.mjs +432 -0
  190. package/esm2022/src/app/shared/material/datetime/material.datetime.mjs +612 -0
  191. package/esm2022/src/app/shared/material/datetime/testing/mat-date-time.test.mjs +132 -0
  192. package/esm2022/src/app/shared/material/datetime/testing/mat-date.test.mjs +123 -0
  193. package/esm2022/src/app/shared/material/datetime/testing/mat-dateshort.test.mjs +115 -0
  194. package/esm2022/src/app/shared/material/duration/duration.module.mjs +70 -0
  195. package/esm2022/src/app/shared/material/duration/duration.utils.mjs +36 -0
  196. package/esm2022/src/app/shared/material/duration/material.duration.mjs +273 -0
  197. package/esm2022/src/app/shared/material/duration/testing/mat-duration.test.mjs +79 -0
  198. package/esm2022/src/app/shared/material/latlong/latlong.utils.mjs +266 -0
  199. package/esm2022/src/app/shared/material/latlong/material.latlong.mjs +440 -0
  200. package/esm2022/src/app/shared/material/latlong/material.latlong.module.mjs +72 -0
  201. package/esm2022/src/app/shared/material/latlong/testing/latlong.test.mjs +113 -0
  202. package/esm2022/src/app/shared/material/material.module.mjs +229 -0
  203. package/esm2022/src/app/shared/material/material.testing.module.mjs +221 -0
  204. package/esm2022/src/app/shared/material/numpad/numpad.append-to-input.directive.mjs +104 -0
  205. package/{esm2020 → esm2022}/src/app/shared/material/numpad/numpad.component.mjs +19 -16
  206. package/esm2022/src/app/shared/material/numpad/numpad.container.mjs +203 -0
  207. package/esm2022/src/app/shared/material/numpad/numpad.content.mjs +19 -0
  208. package/esm2022/src/app/shared/material/numpad/numpad.directive.mjs +168 -0
  209. package/esm2022/src/app/shared/material/numpad/numpad.dom-service.mjs +36 -0
  210. package/esm2022/src/app/shared/material/numpad/numpad.model.mjs +16 -0
  211. package/{esm2020 → esm2022}/src/app/shared/material/numpad/numpad.module.mjs +21 -21
  212. package/esm2022/src/app/shared/material/numpad/testing/numpad.test.mjs +48 -0
  213. package/esm2022/src/app/shared/material/paginator/material.paginator-i18n.mjs +48 -0
  214. package/esm2022/src/app/shared/material/stepper/material.stepper-i18n.mjs +23 -0
  215. package/esm2022/src/app/shared/material/swipe/material.swipe.mjs +368 -0
  216. package/esm2022/src/app/shared/material/swipe/swipe.module.mjs +56 -0
  217. package/esm2022/src/app/shared/material/swipe/testing/swipe.test.mjs +67 -0
  218. package/esm2022/src/app/shared/material/testing/common.test.mjs +105 -0
  219. package/esm2022/src/app/shared/material/text/testing/text-form.testing.mjs +31 -0
  220. package/esm2022/src/app/shared/material/text/text-form.component.mjs +97 -0
  221. package/{esm2020 → esm2022}/src/app/shared/material/text/text-form.module.mjs +24 -24
  222. package/esm2022/src/app/shared/named-filter/named-filter-selector.component.mjs +246 -0
  223. package/esm2022/src/app/shared/named-filter/named-filter.model.mjs +49 -0
  224. package/{esm2020 → esm2022}/src/app/shared/named-filter/named-filter.module.mjs +5 -5
  225. package/esm2022/src/app/shared/named-filter/named-filter.service.mjs +69 -0
  226. package/esm2022/src/app/shared/observables.mjs +104 -0
  227. package/esm2022/src/app/shared/pipes/arrays.pipe.mjs +141 -0
  228. package/esm2022/src/app/shared/pipes/colors.pipe.mjs +27 -0
  229. package/esm2022/src/app/shared/pipes/date-diff-duration.pipe.mjs +51 -0
  230. package/esm2022/src/app/shared/pipes/date-format.pipe.mjs +72 -0
  231. package/esm2022/src/app/shared/pipes/date-from-now.pipe.mjs +28 -0
  232. package/esm2022/src/app/shared/pipes/duration.pipe.mjs +36 -0
  233. package/esm2022/src/app/shared/pipes/file-size.pipe.mjs +60 -0
  234. package/esm2022/src/app/shared/pipes/form.pipes.mjs +194 -0
  235. package/esm2022/src/app/shared/pipes/highlight.pipe.mjs +48 -0
  236. package/esm2022/src/app/shared/pipes/latlong-format.pipe.mjs +42 -0
  237. package/{esm2020 → esm2022}/src/app/shared/pipes/maps.pipe.mjs +13 -13
  238. package/esm2022/src/app/shared/pipes/maskito.pipe.mjs +69 -0
  239. package/esm2022/src/app/shared/pipes/math.pipes.mjs +59 -0
  240. package/esm2022/src/app/shared/pipes/ng-init.pipe.mjs +19 -0
  241. package/esm2022/src/app/shared/pipes/number-format.pipe.mjs +30 -0
  242. package/esm2022/src/app/shared/pipes/pipes.module.mjs +252 -0
  243. package/esm2022/src/app/shared/pipes/property.pipes.mjs +97 -0
  244. package/esm2022/src/app/shared/pipes/string.pipes.mjs +135 -0
  245. package/esm2022/src/app/shared/pipes/translate-context.pipe.mjs +44 -0
  246. package/esm2022/src/app/shared/pipes/types.pipes.mjs +58 -0
  247. package/esm2022/src/app/shared/platforms.mjs +43 -0
  248. package/esm2022/src/app/shared/rx-state.module.mjs +23 -0
  249. package/esm2022/src/app/shared/services/job.utils.mjs +92 -0
  250. package/esm2022/src/app/shared/services/memory-entity-service.class.mjs +347 -0
  251. package/esm2022/src/app/shared/services/progress-bar.service.mjs +31 -0
  252. package/esm2022/src/app/shared/services/startable-observable-service.class.mjs +121 -0
  253. package/esm2022/src/app/shared/services/startable-service.class.mjs +113 -0
  254. package/esm2022/src/app/shared/services/translate-context.service.mjs +104 -0
  255. package/esm2022/src/app/shared/services.mjs +62 -0
  256. package/esm2022/src/app/shared/shared-routing.module.mjs +71 -0
  257. package/esm2022/src/app/shared/shared.module.mjs +231 -0
  258. package/{esm2020 → esm2022}/src/app/shared/shared.testing.module.mjs +40 -40
  259. package/esm2022/src/app/shared/storage/storage-explorer.component.mjs +286 -0
  260. package/esm2022/src/app/shared/storage/storage-explorer.module.mjs +46 -0
  261. package/{esm2020 → esm2022}/src/app/shared/storage/storage-explorer.testing-routing.module.mjs +7 -7
  262. package/{esm2020 → esm2022}/src/app/shared/storage/storage-explorer.testing.module.mjs +6 -6
  263. package/esm2022/src/app/shared/storage/storage.service.mjs +134 -0
  264. package/{esm2020 → esm2022}/src/app/shared/storage/storage.utils.mjs +1 -1
  265. package/esm2022/src/app/shared/testing/observable.test.mjs +96 -0
  266. package/esm2022/src/app/shared/testing/tests.page.mjs +37 -0
  267. package/esm2022/src/app/shared/toast/toast.testing.mjs +52 -0
  268. package/{esm2020 → esm2022}/src/app/shared/toast/toast.testing.module.mjs +10 -10
  269. package/esm2022/src/app/shared/toast/toasts.mjs +144 -0
  270. package/esm2022/src/app/shared/toolbar/modal-toolbar.mjs +60 -0
  271. package/esm2022/src/app/shared/toolbar/toolbar.mjs +263 -0
  272. package/esm2022/src/app/shared/toolbar/toolbar.module.mjs +57 -0
  273. package/esm2022/src/app/shared/upload-file/testing/upload-file.testing.mjs +59 -0
  274. package/{esm2020 → esm2022}/src/app/shared/upload-file/testing/upload-file.testing.module.mjs +10 -10
  275. package/esm2022/src/app/shared/upload-file/upload-file-popover.component.mjs +107 -0
  276. package/esm2022/src/app/shared/upload-file/upload-file.component.mjs +211 -0
  277. package/esm2022/src/app/shared/upload-file/upload-file.model.mjs +27 -0
  278. package/esm2022/src/app/shared/validator/form-error-adapter.class.mjs +106 -0
  279. package/esm2022/src/app/shared/validator/validators.mjs +580 -0
  280. package/esm2022/src/app/shared/version/versions.mjs +81 -0
  281. package/esm2022/src/app/social/job/job.module.mjs +42 -0
  282. package/esm2022/src/app/social/job/progression/job-progression.component.mjs +35 -0
  283. package/esm2022/src/app/social/job/progression/job-progression.icon.mjs +232 -0
  284. package/esm2022/src/app/social/job/progression/job-progression.list.mjs +50 -0
  285. package/esm2022/src/app/social/job/progression/job-progression.model.mjs +29 -0
  286. package/esm2022/src/app/social/job/progression/job-progression.service.mjs +73 -0
  287. package/esm2022/src/app/social/job/testing/job-progression.testing.mjs +43 -0
  288. package/esm2022/src/app/social/job/testing/job-progression.testing.service.mjs +53 -0
  289. package/{esm2020 → esm2022}/src/app/social/job/testing/job.testing.module.mjs +9 -9
  290. package/esm2022/src/app/social/message/message.form.mjs +140 -0
  291. package/esm2022/src/app/social/message/message.modal.mjs +110 -0
  292. package/esm2022/src/app/social/message/message.model.mjs +75 -0
  293. package/{esm2020 → esm2022}/src/app/social/message/message.module.mjs +5 -5
  294. package/esm2022/src/app/social/message/message.service.mjs +110 -0
  295. package/{esm2020 → esm2022}/src/app/social/social.module.mjs +19 -19
  296. package/{esm2020 → esm2022}/src/app/social/social.testing.module.mjs +10 -10
  297. package/esm2022/src/app/social/user-event/notification/user-event-notification.icon.mjs +123 -0
  298. package/esm2022/src/app/social/user-event/notification/user-event-notification.list.mjs +263 -0
  299. package/esm2022/src/app/social/user-event/testing/user-event.testing.mjs +233 -0
  300. package/esm2022/src/app/social/user-event/testing/user-event.testing.model.mjs +129 -0
  301. package/{esm2020 → esm2022}/src/app/social/user-event/testing/user-event.testing.module.mjs +9 -9
  302. package/esm2022/src/app/social/user-event/testing/user-event.testing.service.mjs +116 -0
  303. package/esm2022/src/app/social/user-event/user-event.module.mjs +43 -0
  304. package/esm2022/src/app/social/user-event/user-event.service.mjs +512 -0
  305. package/esm2022/src/environments/environment.class.mjs +50 -0
  306. package/esm2022/src/environments/environment.loader.mjs +83 -0
  307. package/esm2022/src/environments/environment.mjs +97 -0
  308. package/{fesm2020 → fesm2022}/sumaris-net.ngx-components.mjs +13100 -10864
  309. package/fesm2022/sumaris-net.ngx-components.mjs.map +1 -0
  310. package/package.json +37 -17
  311. package/public_api.d.ts +12 -5
  312. package/src/app/admin/users/users.d.ts +1 -1
  313. package/src/app/admin/users/users.module.d.ts +2 -1
  314. package/src/app/core/about/about.modal.d.ts +1 -1
  315. package/src/app/core/account/account.page.d.ts +1 -1
  316. package/src/app/core/account/new-token.modal.d.ts +1 -1
  317. package/src/app/core/account/token.table.d.ts +1 -1
  318. package/src/app/core/auth/auth.form.d.ts +1 -1
  319. package/src/app/core/auth/auth.modal.d.ts +1 -1
  320. package/src/app/core/form/buttons/form-buttons-bar.component.d.ts +1 -1
  321. package/src/app/core/form/entity/editor.class.d.ts +3 -3
  322. package/src/app/core/form/entity/entity-editor-modal.class.d.ts +1 -1
  323. package/src/app/core/form/entity/entity-editor.class.d.ts +1 -1
  324. package/src/app/core/form/entity/entity-metadata.component.d.ts +1 -1
  325. package/src/app/core/form/form.class.d.ts +1 -1
  326. package/src/app/core/form/list/list.form.d.ts +1 -1
  327. package/src/app/core/form/properties/properties.form.d.ts +1 -1
  328. package/src/app/core/form/properties/properties.table.d.ts +2 -3
  329. package/src/app/core/form/properties/property.validator.d.ts +1 -1
  330. package/src/app/core/form/properties/testing/properties-form.test.d.ts +1 -1
  331. package/src/app/core/form/text-popover/testing/text-popover.testing.d.ts +1 -1
  332. package/src/app/core/form/text-popover/text-popover.component.d.ts +1 -1
  333. package/src/app/core/graphql/graphql.utils.d.ts +1 -1
  334. package/src/app/core/home/home.d.ts +1 -1
  335. package/src/app/core/home/home.module.d.ts +4 -3
  336. package/src/app/core/icon/icon.component.d.ts +1 -1
  337. package/src/app/core/install/install-upgrade-card.component.d.ts +1 -1
  338. package/src/app/core/menu/menu.component.d.ts +2 -2
  339. package/src/app/core/menu/menu.model.d.ts +0 -1
  340. package/src/app/core/menu/menu.module.d.ts +3 -5
  341. package/src/app/core/menu/menu.service.d.ts +1 -1
  342. package/src/app/core/menu/sub-menu-tab.directive.d.ts +1 -1
  343. package/src/app/core/menu/testing/menu-other.testing.d.ts +1 -1
  344. package/src/app/core/menu/testing/menu.testing.d.ts +1 -1
  345. package/src/app/core/offline/update-offline-mode-card.component.d.ts +1 -1
  346. package/src/app/core/peer/select-peer.modal.d.ts +1 -1
  347. package/src/app/core/register/register-confirm.page.d.ts +1 -1
  348. package/src/app/core/register/register.form.d.ts +1 -1
  349. package/src/app/core/register/register.modal.d.ts +1 -1
  350. package/src/app/core/services/base-entity-service.class.d.ts +2 -2
  351. package/src/app/core/services/base-graphql-service.class.d.ts +1 -1
  352. package/src/app/core/services/model/person.model.d.ts +1 -1
  353. package/src/app/core/services/model/settings.model.d.ts +1 -1
  354. package/src/app/core/services/network.types.d.ts +2 -2
  355. package/src/app/core/services/storage/entity-store.class.d.ts +1 -1
  356. package/src/app/core/services/validator/base.validator.class.d.ts +1 -1
  357. package/src/app/core/settings/settings.page.d.ts +1 -1
  358. package/src/app/core/table/actions-column.component.d.ts +2 -2
  359. package/src/app/core/table/async-table.class.d.ts +1 -1
  360. package/src/app/core/table/entities-async-table-datasource.class.d.ts +1 -1
  361. package/src/app/core/table/entities-table-datasource.class.d.ts +1 -1
  362. package/src/app/core/table/memory-table.class.d.ts +3 -3
  363. package/src/app/core/table/table-select-columns.component.d.ts +1 -1
  364. package/src/app/core/table/table.class.d.ts +4 -3
  365. package/src/app/core/table/table.model.d.ts +1 -1
  366. package/src/app/core/table/testing/table.testing.d.ts +5 -4
  367. package/src/app/core/table/testing/table.testing.module.d.ts +8 -5
  368. package/src/app/core/table/testing/table2-validator.service.d.ts +15 -0
  369. package/src/app/core/table/testing/table2.testing.d.ts +45 -0
  370. package/src/app/shared/audio/audio.d.ts +1 -1
  371. package/src/app/shared/audio/audio.testing.d.ts +1 -1
  372. package/src/app/shared/debug/debug.component.d.ts +1 -1
  373. package/src/app/shared/directives/autofocus.directive.d.ts +1 -1
  374. package/src/app/shared/directives/autotitle.directive.d.ts +1 -1
  375. package/src/app/shared/directives/drag-and-drop.directive.d.ts +1 -1
  376. package/src/app/shared/directives/ng-var.directive.d.ts +1 -1
  377. package/src/app/shared/directives/resizable/resizable.component.d.ts +1 -1
  378. package/src/app/shared/directives/resizable/resizable.directive.d.ts +1 -1
  379. package/src/app/shared/events.d.ts +1 -1
  380. package/src/app/shared/form/field.component.d.ts +4 -5
  381. package/src/app/shared/form/field.model.d.ts +2 -0
  382. package/src/app/shared/form/loading-spinner.d.ts +1 -1
  383. package/src/app/shared/functions.d.ts +2 -2
  384. package/src/app/shared/help/help.modal.d.ts +2 -2
  385. package/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.d.ts +3 -5
  386. package/src/app/shared/hotkeys/hotkeys.service.d.ts +3 -3
  387. package/src/app/shared/image/gallery/image-gallery.component.d.ts +3 -3
  388. package/src/app/shared/image/gallery/testing/gallery.testing.d.ts +2 -2
  389. package/src/app/shared/material/autocomplete/material.autocomplete.d.ts +10 -8
  390. package/src/app/shared/material/autocomplete/material.autocomplete.module.d.ts +10 -9
  391. package/src/app/shared/material/autocomplete/testing/autocomplete.test.d.ts +1 -1
  392. package/src/app/shared/material/badge/badge.directive.d.ts +1 -1
  393. package/src/app/shared/material/badge/badge.test.d.ts +1 -1
  394. package/src/app/shared/material/boolean/boolean.module.d.ts +5 -5
  395. package/src/app/shared/material/boolean/{material.boolean.d.ts → material-boolean.d.ts} +20 -23
  396. package/src/app/shared/material/boolean/testing/boolean.test.page.d.ts +21 -0
  397. package/src/app/shared/material/chips/material.chips.d.ts +8 -9
  398. package/src/app/shared/material/chips/testing/chips.test.d.ts +2 -2
  399. package/src/app/shared/material/datetime/datetime.module.d.ts +2 -2
  400. package/src/app/shared/material/datetime/material.date.d.ts +8 -5
  401. package/src/app/shared/material/datetime/material.dateshort.d.ts +11 -8
  402. package/src/app/shared/material/datetime/material.datetime.d.ts +24 -12
  403. package/src/app/shared/material/datetime/testing/mat-date-time.test.d.ts +7 -1
  404. package/src/app/shared/material/datetime/testing/mat-date.test.d.ts +3 -1
  405. package/src/app/shared/material/datetime/testing/mat-dateshort.test.d.ts +3 -1
  406. package/src/app/shared/material/duration/duration.module.d.ts +6 -5
  407. package/src/app/shared/material/duration/material.duration.d.ts +6 -5
  408. package/src/app/shared/material/duration/testing/mat-duration.test.d.ts +22 -0
  409. package/src/app/shared/material/latlong/material.latlong.d.ts +16 -9
  410. package/src/app/shared/material/latlong/material.latlong.module.d.ts +9 -8
  411. package/src/app/shared/material/latlong/testing/latlong.test.d.ts +3 -1
  412. package/src/app/shared/material/material.testing.module.d.ts +23 -19
  413. package/src/app/shared/material/numpad/numpad.append-to-input.directive.d.ts +1 -1
  414. package/src/app/shared/material/numpad/numpad.component.d.ts +1 -1
  415. package/src/app/shared/material/numpad/numpad.container.d.ts +1 -1
  416. package/src/app/shared/material/numpad/numpad.content.d.ts +1 -1
  417. package/src/app/shared/material/numpad/numpad.directive.d.ts +1 -1
  418. package/src/app/shared/material/numpad/numpad.dom-service.d.ts +3 -3
  419. package/src/app/shared/material/numpad/testing/numpad.test.d.ts +1 -1
  420. package/src/app/shared/material/paginator/material.paginator-i18n.d.ts +0 -3
  421. package/src/app/shared/material/swipe/material.swipe.d.ts +6 -6
  422. package/src/app/shared/material/swipe/swipe.module.d.ts +2 -1
  423. package/src/app/shared/material/swipe/testing/swipe.test.d.ts +1 -1
  424. package/src/app/shared/material/testing/common.test.d.ts +25 -0
  425. package/src/app/shared/material/text/testing/text-form.testing.d.ts +1 -1
  426. package/src/app/shared/material/text/text-form.component.d.ts +1 -1
  427. package/src/app/shared/named-filter/named-filter-selector.component.d.ts +4 -1
  428. package/src/app/shared/named-filter/named-filter.service.d.ts +1 -1
  429. package/src/app/shared/pipes/maskito.pipe.d.ts +9 -0
  430. package/src/app/shared/pipes/ng-init.pipe.d.ts +1 -1
  431. package/src/app/shared/pipes/pipes.module.d.ts +5 -4
  432. package/src/app/shared/pipes/string.pipes.d.ts +6 -0
  433. package/src/app/shared/pipes/types.pipes.d.ts +7 -0
  434. package/src/app/shared/rx-state.module.d.ts +10 -0
  435. package/src/app/shared/services/job.utils.d.ts +1 -1
  436. package/src/app/shared/services/memory-entity-service.class.d.ts +1 -1
  437. package/src/app/shared/services/startable-observable-service.class.d.ts +3 -0
  438. package/src/app/shared/services/startable-service.class.d.ts +3 -0
  439. package/src/app/shared/shared.module.d.ts +4 -4
  440. package/src/app/shared/storage/storage-explorer.component.d.ts +1 -1
  441. package/src/app/shared/storage/storage-explorer.module.d.ts +3 -3
  442. package/src/app/shared/storage/storage.service.d.ts +1 -1
  443. package/src/app/shared/storage/storage.utils.d.ts +1 -1
  444. package/src/app/shared/testing/observable.test.d.ts +1 -1
  445. package/src/app/shared/testing/tests.page.d.ts +1 -1
  446. package/src/app/shared/toast/toast.testing.d.ts +1 -1
  447. package/src/app/shared/toolbar/modal-toolbar.d.ts +1 -1
  448. package/src/app/shared/toolbar/toolbar.d.ts +1 -1
  449. package/src/app/shared/toolbar/toolbar.module.d.ts +4 -3
  450. package/src/app/shared/upload-file/testing/upload-file.testing.d.ts +1 -1
  451. package/src/app/shared/upload-file/upload-file-popover.component.d.ts +1 -1
  452. package/src/app/shared/upload-file/upload-file.component.d.ts +1 -1
  453. package/src/app/shared/upload-file/upload-file.model.d.ts +2 -2
  454. package/src/app/social/job/progression/job-progression.component.d.ts +17 -3
  455. package/src/app/social/job/progression/job-progression.icon.d.ts +24 -10
  456. package/src/app/social/job/progression/job-progression.list.d.ts +3 -3
  457. package/src/app/social/job/progression/job-progression.model.d.ts +0 -1
  458. package/src/app/social/job/testing/job-progression.testing.d.ts +3 -6
  459. package/src/app/social/message/message.form.d.ts +1 -1
  460. package/src/app/social/message/message.modal.d.ts +1 -1
  461. package/src/app/social/user-event/notification/user-event-notification.icon.d.ts +4 -3
  462. package/src/app/social/user-event/notification/user-event-notification.list.d.ts +1 -1
  463. package/src/app/social/user-event/testing/user-event.testing.d.ts +1 -1
  464. package/src/app/social/user-event/testing/user-event.testing.model.d.ts +0 -1
  465. package/src/app/social/user-event/user-event.model.d.ts +2 -2
  466. package/src/app/social/user-event/user-event.module.d.ts +3 -2
  467. package/src/app/social/user-event/user-event.service.d.ts +1 -1
  468. package/src/assets/i18n/fr.json +2 -2
  469. package/src/assets/img/logo/logo-eis.png +0 -0
  470. package/src/assets/manifest.json +1 -1
  471. package/src/environments/environment.loader.d.ts +1 -1
  472. package/src/theme/_material.globals.scss +51 -19
  473. package/src/theme/_material.scss +35 -19
  474. package/src/theme/_mixins.scss +4 -4
  475. package/src/theme/_ngx-components.globals.scss +6 -1
  476. package/src/theme/_ngx-components.scss +262 -538
  477. package/src/theme/_ngx-components.table.scss +597 -0
  478. package/src/theme/_theme.scss +1 -0
  479. package/esm2020/public_api.mjs +0 -332
  480. package/esm2020/src/app/admin/services/filter/person.filter.mjs +0 -59
  481. package/esm2020/src/app/admin/services/person.service.mjs +0 -170
  482. package/esm2020/src/app/admin/services/validator/person.validator.mjs +0 -71
  483. package/esm2020/src/app/admin/users/users.mjs +0 -250
  484. package/esm2020/src/app/admin/users/users.module.mjs +0 -54
  485. package/esm2020/src/app/core/account/account.page.mjs +0 -319
  486. package/esm2020/src/app/core/account/new-token.modal.mjs +0 -121
  487. package/esm2020/src/app/core/account/token.table.mjs +0 -141
  488. package/esm2020/src/app/core/auth/auth.form.mjs +0 -131
  489. package/esm2020/src/app/core/auth/auth.modal.mjs +0 -72
  490. package/esm2020/src/app/core/core.testing.module.mjs +0 -86
  491. package/esm2020/src/app/core/form/buttons/form-buttons-bar.component.mjs +0 -107
  492. package/esm2020/src/app/core/form/entity/editor.class.mjs +0 -685
  493. package/esm2020/src/app/core/form/entity/entity-editor-modal.class.mjs +0 -422
  494. package/esm2020/src/app/core/form/entity/entity-editor.class.mjs +0 -696
  495. package/esm2020/src/app/core/form/entity/entity-metadata.component.mjs +0 -25
  496. package/esm2020/src/app/core/form/form.class.mjs +0 -345
  497. package/esm2020/src/app/core/form/form.utils.mjs +0 -476
  498. package/esm2020/src/app/core/form/list/list.form.mjs +0 -222
  499. package/esm2020/src/app/core/form/properties/properties.form.mjs +0 -132
  500. package/esm2020/src/app/core/form/properties/properties.table.mjs +0 -267
  501. package/esm2020/src/app/core/form/properties/property.validator.mjs +0 -23
  502. package/esm2020/src/app/core/form/properties/testing/properties-form.test.mjs +0 -90
  503. package/esm2020/src/app/core/form/text-popover/testing/text-popover.testing.mjs +0 -70
  504. package/esm2020/src/app/core/form/text-popover/text-popover.component.mjs +0 -146
  505. package/esm2020/src/app/core/graphql/graphql.service.mjs +0 -776
  506. package/esm2020/src/app/core/graphql/graphql.utils.mjs +0 -117
  507. package/esm2020/src/app/core/home/home.mjs +0 -257
  508. package/esm2020/src/app/core/home/home.module.mjs +0 -48
  509. package/esm2020/src/app/core/icon/icon.component.mjs +0 -41
  510. package/esm2020/src/app/core/install/install-upgrade-card.component.mjs +0 -344
  511. package/esm2020/src/app/core/menu/menu.component.mjs +0 -242
  512. package/esm2020/src/app/core/menu/menu.model.mjs +0 -247
  513. package/esm2020/src/app/core/menu/menu.module.mjs +0 -57
  514. package/esm2020/src/app/core/menu/menu.service.mjs +0 -660
  515. package/esm2020/src/app/core/menu/sub-menu-tab.directive.mjs +0 -98
  516. package/esm2020/src/app/core/menu/testing/menu.testing.mjs +0 -121
  517. package/esm2020/src/app/core/offline/update-offline-mode-card.component.mjs +0 -27
  518. package/esm2020/src/app/core/peer/select-peer.modal.mjs +0 -183
  519. package/esm2020/src/app/core/register/register.form.mjs +0 -183
  520. package/esm2020/src/app/core/register/register.modal.mjs +0 -52
  521. package/esm2020/src/app/core/services/account.service.mjs +0 -1235
  522. package/esm2020/src/app/core/services/auth-guard.service.mjs +0 -71
  523. package/esm2020/src/app/core/services/base-entity-service.class.mjs +0 -468
  524. package/esm2020/src/app/core/services/base-graphql-service.class.mjs +0 -221
  525. package/esm2020/src/app/core/services/base58.mjs +0 -78
  526. package/esm2020/src/app/core/services/config.service.mjs +0 -357
  527. package/esm2020/src/app/core/services/crypto.service.mjs +0 -107
  528. package/esm2020/src/app/core/services/local-settings.service.mjs +0 -460
  529. package/esm2020/src/app/core/services/model/account.model.mjs +0 -147
  530. package/esm2020/src/app/core/services/model/config.model.mjs +0 -92
  531. package/esm2020/src/app/core/services/model/department.model.mjs +0 -30
  532. package/esm2020/src/app/core/services/model/entity.decorators.mjs +0 -97
  533. package/esm2020/src/app/core/services/model/entity.model.mjs +0 -225
  534. package/esm2020/src/app/core/services/model/peer.model.mjs +0 -68
  535. package/esm2020/src/app/core/services/model/person.model.mjs +0 -97
  536. package/esm2020/src/app/core/services/model/referential.model.mjs +0 -167
  537. package/esm2020/src/app/core/services/model/token.model.mjs +0 -52
  538. package/esm2020/src/app/core/services/model/tree-item-entity.model.mjs +0 -199
  539. package/esm2020/src/app/core/services/network.service.mjs +0 -607
  540. package/esm2020/src/app/core/services/network.types.mjs +0 -20
  541. package/esm2020/src/app/core/services/network.utils.mjs +0 -15
  542. package/esm2020/src/app/core/services/platform.service.mjs +0 -535
  543. package/esm2020/src/app/core/services/storage/entities-storage.service.mjs +0 -428
  544. package/esm2020/src/app/core/services/storage/entity-store.class.mjs +0 -449
  545. package/esm2020/src/app/core/services/testing/referential-filter.model.mjs +0 -23
  546. package/esm2020/src/app/core/services/testing/referential.validator.mjs +0 -45
  547. package/esm2020/src/app/core/services/validator/account.validator.mjs +0 -41
  548. package/esm2020/src/app/core/services/validator/base.validator.class.mjs +0 -47
  549. package/esm2020/src/app/core/services/validator/local-settings.validator.mjs +0 -66
  550. package/esm2020/src/app/core/settings/settings.page.mjs +0 -312
  551. package/esm2020/src/app/core/table/actions-column.component.mjs +0 -102
  552. package/esm2020/src/app/core/table/async-table.class.mjs +0 -1698
  553. package/esm2020/src/app/core/table/entities-async-table-datasource.class.mjs +0 -384
  554. package/esm2020/src/app/core/table/entities-table-datasource.class.mjs +0 -399
  555. package/esm2020/src/app/core/table/memory-table.class.mjs +0 -53
  556. package/esm2020/src/app/core/table/table-select-columns.component.mjs +0 -43
  557. package/esm2020/src/app/core/table/table.class.mjs +0 -1733
  558. package/esm2020/src/app/core/table/table.model.mjs +0 -12
  559. package/esm2020/src/app/core/table/table.utils.mjs +0 -33
  560. package/esm2020/src/app/core/table/testing/table-validator.service.mjs +0 -27
  561. package/esm2020/src/app/core/table/testing/table.testing.mjs +0 -281
  562. package/esm2020/src/app/core/table/testing/table.testing.module.mjs +0 -38
  563. package/esm2020/src/app/shared/alerts.mjs +0 -239
  564. package/esm2020/src/app/shared/audio/audio.mjs +0 -248
  565. package/esm2020/src/app/shared/audio/audio.testing.mjs +0 -31
  566. package/esm2020/src/app/shared/capacitor/keyboard.mjs +0 -40
  567. package/esm2020/src/app/shared/capacitor/plugins.mjs +0 -9
  568. package/esm2020/src/app/shared/dates.mjs +0 -149
  569. package/esm2020/src/app/shared/debug/debug.component.mjs +0 -39
  570. package/esm2020/src/app/shared/directives/autofocus.directive.mjs +0 -93
  571. package/esm2020/src/app/shared/directives/autotitle.directive.mjs +0 -30
  572. package/esm2020/src/app/shared/directives/drag-and-drop.directive.mjs +0 -53
  573. package/esm2020/src/app/shared/directives/ng-var.directive.mjs +0 -31
  574. package/esm2020/src/app/shared/directives/resizable/resizable.component.mjs +0 -59
  575. package/esm2020/src/app/shared/directives/resizable/resizable.directive.mjs +0 -40
  576. package/esm2020/src/app/shared/events.mjs +0 -65
  577. package/esm2020/src/app/shared/file/csv.utils.mjs +0 -72
  578. package/esm2020/src/app/shared/file/file.service.mjs +0 -117
  579. package/esm2020/src/app/shared/file/file.utils.mjs +0 -113
  580. package/esm2020/src/app/shared/file/images.utils.mjs +0 -161
  581. package/esm2020/src/app/shared/file/uri.utils.mjs +0 -24
  582. package/esm2020/src/app/shared/form/field.component.mjs +0 -332
  583. package/esm2020/src/app/shared/form/loading-spinner.mjs +0 -36
  584. package/esm2020/src/app/shared/forms.mjs +0 -414
  585. package/esm2020/src/app/shared/functions.mjs +0 -482
  586. package/esm2020/src/app/shared/geolocation/geolocation.utils.mjs +0 -80
  587. package/esm2020/src/app/shared/gesture/gesture-config.mjs +0 -49
  588. package/esm2020/src/app/shared/graph/graph-colors.mjs +0 -212
  589. package/esm2020/src/app/shared/guard/component-dirty.guard.mjs +0 -57
  590. package/esm2020/src/app/shared/help/help.modal.mjs +0 -53
  591. package/esm2020/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.mjs +0 -23
  592. package/esm2020/src/app/shared/hotkeys/hotkeys.service.mjs +0 -84
  593. package/esm2020/src/app/shared/http/http.utils.mjs +0 -56
  594. package/esm2020/src/app/shared/image/gallery/image-gallery.component.mjs +0 -368
  595. package/esm2020/src/app/shared/image/gallery/testing/gallegry.model.testing.mjs +0 -27
  596. package/esm2020/src/app/shared/image/gallery/testing/gallery.service.testing.mjs +0 -90
  597. package/esm2020/src/app/shared/image/gallery/testing/gallery.testing.mjs +0 -39
  598. package/esm2020/src/app/shared/image/image.service.mjs +0 -98
  599. package/esm2020/src/app/shared/inputs.mjs +0 -231
  600. package/esm2020/src/app/shared/interceptors/progess.interceptor.mjs +0 -27
  601. package/esm2020/src/app/shared/logging/logger.model.mjs +0 -47
  602. package/esm2020/src/app/shared/logging/logging-service.class.mjs +0 -121
  603. package/esm2020/src/app/shared/material/autocomplete/material.autocomplete.config.mjs +0 -47
  604. package/esm2020/src/app/shared/material/autocomplete/material.autocomplete.mjs +0 -920
  605. package/esm2020/src/app/shared/material/autocomplete/material.autocomplete.module.mjs +0 -78
  606. package/esm2020/src/app/shared/material/autocomplete/material.autocomplete.utils.mjs +0 -17
  607. package/esm2020/src/app/shared/material/autocomplete/testing/autocomplete.test.mjs +0 -209
  608. package/esm2020/src/app/shared/material/badge/badge.directive.mjs +0 -199
  609. package/esm2020/src/app/shared/material/badge/badge.test.mjs +0 -41
  610. package/esm2020/src/app/shared/material/boolean/boolean.module.mjs +0 -68
  611. package/esm2020/src/app/shared/material/boolean/material.boolean.mjs +0 -253
  612. package/esm2020/src/app/shared/material/chips/chips.module.mjs +0 -76
  613. package/esm2020/src/app/shared/material/chips/material.chips.mjs +0 -696
  614. package/esm2020/src/app/shared/material/chips/testing/chips.test.mjs +0 -143
  615. package/esm2020/src/app/shared/material/datetime/datetime.module.mjs +0 -91
  616. package/esm2020/src/app/shared/material/datetime/material.date.mjs +0 -376
  617. package/esm2020/src/app/shared/material/datetime/material.dateshort.mjs +0 -385
  618. package/esm2020/src/app/shared/material/datetime/material.datetime.mjs +0 -499
  619. package/esm2020/src/app/shared/material/datetime/testing/mat-date-time.test.mjs +0 -109
  620. package/esm2020/src/app/shared/material/datetime/testing/mat-date.test.mjs +0 -111
  621. package/esm2020/src/app/shared/material/datetime/testing/mat-dateshort.test.mjs +0 -103
  622. package/esm2020/src/app/shared/material/duration/duration.module.mjs +0 -67
  623. package/esm2020/src/app/shared/material/duration/duration.utils.mjs +0 -36
  624. package/esm2020/src/app/shared/material/duration/material.duration.mjs +0 -257
  625. package/esm2020/src/app/shared/material/latlong/latlong.utils.mjs +0 -266
  626. package/esm2020/src/app/shared/material/latlong/material.latlong.mjs +0 -382
  627. package/esm2020/src/app/shared/material/latlong/material.latlong.module.mjs +0 -67
  628. package/esm2020/src/app/shared/material/latlong/testing/latlong.test.mjs +0 -102
  629. package/esm2020/src/app/shared/material/material.module.mjs +0 -229
  630. package/esm2020/src/app/shared/material/material.testing.module.mjs +0 -179
  631. package/esm2020/src/app/shared/material/numpad/numpad.append-to-input.directive.mjs +0 -98
  632. package/esm2020/src/app/shared/material/numpad/numpad.container.mjs +0 -190
  633. package/esm2020/src/app/shared/material/numpad/numpad.content.mjs +0 -17
  634. package/esm2020/src/app/shared/material/numpad/numpad.directive.mjs +0 -162
  635. package/esm2020/src/app/shared/material/numpad/numpad.dom-service.mjs +0 -37
  636. package/esm2020/src/app/shared/material/numpad/numpad.model.mjs +0 -15
  637. package/esm2020/src/app/shared/material/numpad/testing/numpad.test.mjs +0 -46
  638. package/esm2020/src/app/shared/material/paginator/material.paginator-i18n.mjs +0 -46
  639. package/esm2020/src/app/shared/material/stepper/material.stepper-i18n.mjs +0 -22
  640. package/esm2020/src/app/shared/material/swipe/material.swipe.mjs +0 -344
  641. package/esm2020/src/app/shared/material/swipe/swipe.module.mjs +0 -52
  642. package/esm2020/src/app/shared/material/swipe/testing/swipe.test.mjs +0 -64
  643. package/esm2020/src/app/shared/material/text/testing/text-form.testing.mjs +0 -29
  644. package/esm2020/src/app/shared/material/text/text-form.component.mjs +0 -89
  645. package/esm2020/src/app/shared/named-filter/named-filter-selector.component.mjs +0 -224
  646. package/esm2020/src/app/shared/named-filter/named-filter.model.mjs +0 -45
  647. package/esm2020/src/app/shared/named-filter/named-filter.service.mjs +0 -63
  648. package/esm2020/src/app/shared/observables.mjs +0 -104
  649. package/esm2020/src/app/shared/pipes/arrays.pipe.mjs +0 -141
  650. package/esm2020/src/app/shared/pipes/colors.pipe.mjs +0 -25
  651. package/esm2020/src/app/shared/pipes/date-diff-duration.pipe.mjs +0 -48
  652. package/esm2020/src/app/shared/pipes/date-format.pipe.mjs +0 -66
  653. package/esm2020/src/app/shared/pipes/date-from-now.pipe.mjs +0 -27
  654. package/esm2020/src/app/shared/pipes/duration.pipe.mjs +0 -34
  655. package/esm2020/src/app/shared/pipes/file-size.pipe.mjs +0 -62
  656. package/esm2020/src/app/shared/pipes/form.pipes.mjs +0 -187
  657. package/esm2020/src/app/shared/pipes/highlight.pipe.mjs +0 -48
  658. package/esm2020/src/app/shared/pipes/latlong-format.pipe.mjs +0 -46
  659. package/esm2020/src/app/shared/pipes/math.pipes.mjs +0 -59
  660. package/esm2020/src/app/shared/pipes/ng-init.pipe.mjs +0 -21
  661. package/esm2020/src/app/shared/pipes/number-format.pipe.mjs +0 -30
  662. package/esm2020/src/app/shared/pipes/pipes.module.mjs +0 -239
  663. package/esm2020/src/app/shared/pipes/property.pipes.mjs +0 -93
  664. package/esm2020/src/app/shared/pipes/string.pipes.mjs +0 -121
  665. package/esm2020/src/app/shared/pipes/translate-context.pipe.mjs +0 -43
  666. package/esm2020/src/app/shared/pipes/types.pipes.mjs +0 -45
  667. package/esm2020/src/app/shared/platforms.mjs +0 -43
  668. package/esm2020/src/app/shared/services/job.utils.mjs +0 -92
  669. package/esm2020/src/app/shared/services/memory-entity-service.class.mjs +0 -339
  670. package/esm2020/src/app/shared/services/progress-bar.service.mjs +0 -33
  671. package/esm2020/src/app/shared/services/startable-observable-service.class.mjs +0 -118
  672. package/esm2020/src/app/shared/services/startable-service.class.mjs +0 -110
  673. package/esm2020/src/app/shared/services/translate-context.service.mjs +0 -103
  674. package/esm2020/src/app/shared/services.mjs +0 -62
  675. package/esm2020/src/app/shared/shared-routing.module.mjs +0 -71
  676. package/esm2020/src/app/shared/shared.module.mjs +0 -229
  677. package/esm2020/src/app/shared/storage/storage-explorer.component.mjs +0 -268
  678. package/esm2020/src/app/shared/storage/storage-explorer.module.mjs +0 -47
  679. package/esm2020/src/app/shared/storage/storage.service.mjs +0 -132
  680. package/esm2020/src/app/shared/testing/observable.test.mjs +0 -95
  681. package/esm2020/src/app/shared/testing/tests.page.mjs +0 -33
  682. package/esm2020/src/app/shared/toast/toast.testing.mjs +0 -51
  683. package/esm2020/src/app/shared/toast/toasts.mjs +0 -144
  684. package/esm2020/src/app/shared/toolbar/modal-toolbar.mjs +0 -58
  685. package/esm2020/src/app/shared/toolbar/toolbar.mjs +0 -251
  686. package/esm2020/src/app/shared/toolbar/toolbar.module.mjs +0 -53
  687. package/esm2020/src/app/shared/upload-file/testing/upload-file.testing.mjs +0 -58
  688. package/esm2020/src/app/shared/upload-file/upload-file-popover.component.mjs +0 -97
  689. package/esm2020/src/app/shared/upload-file/upload-file.component.mjs +0 -204
  690. package/esm2020/src/app/shared/upload-file/upload-file.model.mjs +0 -20
  691. package/esm2020/src/app/shared/validator/form-error-adapter.class.mjs +0 -104
  692. package/esm2020/src/app/shared/validator/validators.mjs +0 -580
  693. package/esm2020/src/app/shared/version/versions.mjs +0 -81
  694. package/esm2020/src/app/social/job/job.module.mjs +0 -42
  695. package/esm2020/src/app/social/job/progression/job-progression.component.mjs +0 -20
  696. package/esm2020/src/app/social/job/progression/job-progression.icon.mjs +0 -216
  697. package/esm2020/src/app/social/job/progression/job-progression.list.mjs +0 -43
  698. package/esm2020/src/app/social/job/progression/job-progression.model.mjs +0 -23
  699. package/esm2020/src/app/social/job/progression/job-progression.service.mjs +0 -71
  700. package/esm2020/src/app/social/job/testing/job-progression.testing.mjs +0 -52
  701. package/esm2020/src/app/social/job/testing/job-progression.testing.service.mjs +0 -55
  702. package/esm2020/src/app/social/message/message.form.mjs +0 -136
  703. package/esm2020/src/app/social/message/message.modal.mjs +0 -99
  704. package/esm2020/src/app/social/message/message.model.mjs +0 -67
  705. package/esm2020/src/app/social/message/message.service.mjs +0 -105
  706. package/esm2020/src/app/social/user-event/notification/user-event-notification.icon.mjs +0 -114
  707. package/esm2020/src/app/social/user-event/notification/user-event-notification.list.mjs +0 -246
  708. package/esm2020/src/app/social/user-event/testing/user-event.testing.mjs +0 -227
  709. package/esm2020/src/app/social/user-event/testing/user-event.testing.model.mjs +0 -112
  710. package/esm2020/src/app/social/user-event/testing/user-event.testing.service.mjs +0 -111
  711. package/esm2020/src/app/social/user-event/user-event.module.mjs +0 -39
  712. package/esm2020/src/app/social/user-event/user-event.service.mjs +0 -501
  713. package/esm2020/src/environments/environment.class.mjs +0 -5
  714. package/esm2020/src/environments/environment.loader.mjs +0 -79
  715. package/esm2020/src/environments/environment.mjs +0 -97
  716. package/fesm2015/sumaris-net.ngx-components.mjs +0 -41105
  717. package/fesm2015/sumaris-net.ngx-components.mjs.map +0 -1
  718. package/fesm2020/sumaris-net.ngx-components.mjs.map +0 -1
  719. package/resources/README.md +0 -7
  720. /package/{esm2020 → esm2022}/src/app/core/services/config/core.config.mjs +0 -0
  721. /package/{esm2020 → esm2022}/src/app/core/services/model/history.model.mjs +0 -0
  722. /package/{esm2020 → esm2022}/src/app/core/services/model/model.enum.mjs +0 -0
  723. /package/{esm2020 → esm2022}/src/app/core/services/model/settings.model.mjs +0 -0
  724. /package/{esm2020 → esm2022}/src/app/shared/constants.mjs +0 -0
  725. /package/{esm2020 → esm2022}/src/app/shared/debug/debug-service.class.mjs +0 -0
  726. /package/{esm2020 → esm2022}/src/app/shared/focusable.mjs +0 -0
  727. /package/{esm2020 → esm2022}/src/app/shared/gesture/hammer.utils.mjs +0 -0
  728. /package/{esm2020 → esm2022}/src/app/shared/image/image.model.mjs +0 -0
  729. /package/{esm2020 → esm2022}/src/app/shared/logging/log-level.model.mjs +0 -0
  730. /package/{esm2020 → esm2022}/src/app/shared/logging/logging-service.config.mjs +0 -0
  731. /package/{esm2020 → esm2022}/src/app/shared/material/material.animations.mjs +0 -0
  732. /package/{esm2020 → esm2022}/src/app/shared/modules.mjs +0 -0
  733. /package/{esm2020 → esm2022}/src/app/shared/services/entity-service.class.mjs +0 -0
  734. /package/{esm2020 → esm2022}/src/app/shared/services/validator-service.class.mjs +0 -0
  735. /package/{esm2020 → esm2022}/src/app/shared/types.mjs +0 -0
  736. /package/{esm2020 → esm2022}/src/app/social/social.errors.mjs +0 -0
  737. /package/{esm2020 → esm2022}/src/app/social/user-event/user-event.model.mjs +0 -0
  738. /package/{esm2020 → esm2022}/sumaris-net.ngx-components.mjs +0 -0
@@ -1,161 +0,0 @@
1
- import { isNilOrBlank } from '../functions';
2
- import { Subject } from 'rxjs';
3
- import { FileResponse } from '../upload-file/upload-file.model';
4
- import { HttpEventType } from '@angular/common/http';
5
- import { mergeMap } from 'rxjs/operators';
6
- export const IMAGE_DEFAULTS = {
7
- MAX_HEIGHT: 480,
8
- MAX_WIDTH: 640,
9
- THUMB_MAX_HEIGHT: 200,
10
- THUMB_MAX_WIDTH: 200
11
- };
12
- // @dynamic
13
- export class ImagesUtils {
14
- static readAsDataURL(file, opts) {
15
- const $progress = new Subject();
16
- const reader = new FileReader();
17
- // Listen progress
18
- reader.onprogress = (e) => {
19
- const total = e.total || 1;
20
- const loaded = e.total || 0;
21
- if (loaded < total)
22
- $progress.next({ type: HttpEventType.UploadProgress, loaded, total });
23
- };
24
- // Listen end
25
- reader.onloadend = (_) => {
26
- const body = reader.result;
27
- if (typeof body === 'string') {
28
- $progress.next(new FileResponse({ body }));
29
- $progress.complete();
30
- }
31
- else {
32
- console.error(`[image-utils] Cannot read file '${file.name}' as text`);
33
- $progress.error(`Cannot read file as text`);
34
- }
35
- };
36
- // Listen error
37
- reader.onerror = (event) => {
38
- console.error('[image-utils] Error while reading file:', event);
39
- $progress.error(event);
40
- };
41
- // Start reading the file
42
- reader.readAsDataURL(file);
43
- // Resize image, if need
44
- if (opts) {
45
- return $progress.pipe(mergeMap(async (event) => {
46
- if (event instanceof FileResponse) {
47
- const body = await ImagesUtils.resizeBase64(event.body, opts);
48
- return new FileResponse({ body });
49
- }
50
- return event;
51
- }));
52
- }
53
- return $progress.asObservable();
54
- }
55
- static async readAndResizeFromUrl(fileUrl, opts) {
56
- if (isNilOrBlank(fileUrl))
57
- throw new Error('Illegal argument: missing fileUrl');
58
- // Create the temporary image element
59
- const img = document.createElement('img');
60
- // Need to avoid CORS error
61
- // (see https://stackoverflow.com/questions/22710627/tainted-canvases-may-not-be-exported)
62
- img.crossOrigin = 'anonymous';
63
- try {
64
- return await new Promise((resolve, reject) => {
65
- img.addEventListener('load', ImagesUtils.createImageOnLoadResizeFn(resolve, reject, opts), false);
66
- img.addEventListener('error', reject);
67
- img.src = fileUrl;
68
- });
69
- }
70
- catch (err) {
71
- throw new Error(`Failed to load and resize image {${fileUrl}}`);
72
- }
73
- finally {
74
- img.remove();
75
- }
76
- }
77
- static async resizeBase64(dataUrl, opts) {
78
- // Create the temporary image element
79
- const img = document.createElement('img');
80
- // Need to avoid CORS error
81
- // (see https://stackoverflow.com/questions/22710627/tainted-canvases-may-not-be-exported)
82
- img.crossOrigin = 'anonymous';
83
- try {
84
- return await new Promise((resolve, reject) => {
85
- img.addEventListener('load', ImagesUtils.createImageOnLoadResizeFn(resolve, reject, opts), false);
86
- img.addEventListener('error', reject);
87
- img.src = dataUrl;
88
- });
89
- }
90
- finally {
91
- img.remove();
92
- }
93
- }
94
- static createImageOnLoadResizeFn(resolve, reject, opts) {
95
- return function (event) {
96
- const maxWidth = (opts && opts.thumbnail ? IMAGE_DEFAULTS.THUMB_MAX_WIDTH : (opts && opts.maxWidth || IMAGE_DEFAULTS.MAX_WIDTH));
97
- const maxHeight = (opts && opts.thumbnail ? IMAGE_DEFAULTS.THUMB_MAX_HEIGHT : (opts && opts.maxHeight || IMAGE_DEFAULTS.MAX_HEIGHT));
98
- let width = event.target.width;
99
- let height = event.target.height;
100
- const canvas = document.createElement('canvas');
101
- let ctx;
102
- try {
103
- // Thumbnail: resize and crop (to the expected size)
104
- if (opts && opts.thumbnail) {
105
- // landscape
106
- if (width > height) {
107
- width *= maxHeight / height;
108
- height = maxHeight;
109
- }
110
- // portrait
111
- else {
112
- height *= maxWidth / width;
113
- width = maxWidth;
114
- }
115
- canvas.width = maxWidth;
116
- canvas.height = maxHeight;
117
- ctx = canvas.getContext('2d');
118
- const xoffset = Math.trunc((maxWidth - width) / 2 + 0.5);
119
- const yoffset = Math.trunc((maxHeight - height) / 2 + 0.5);
120
- ctx.drawImage(event.target, xoffset, // x1
121
- yoffset, // y1
122
- maxWidth + -2 * xoffset, // x2
123
- maxHeight + -2 * yoffset // y2
124
- );
125
- }
126
- // Resize, but keep the full image
127
- else {
128
- // landscape
129
- if (width > height) {
130
- if (width > maxWidth) {
131
- height *= maxWidth / width;
132
- width = maxWidth;
133
- }
134
- }
135
- // portrait
136
- else {
137
- if (height > maxHeight) {
138
- width *= maxHeight / height;
139
- height = maxHeight;
140
- }
141
- }
142
- canvas.width = width;
143
- canvas.height = height;
144
- ctx = canvas.getContext('2d');
145
- // Resize the whole image
146
- ctx.drawImage(event.target, 0, 0, canvas.width, canvas.height);
147
- }
148
- // Get image content as data URL
149
- const base64 = canvas.toDataURL();
150
- resolve(base64);
151
- }
152
- catch (err) {
153
- reject(err);
154
- }
155
- finally {
156
- canvas.remove();
157
- }
158
- };
159
- }
160
- }
161
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2VzLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvZmlsZS9pbWFnZXMudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUMxQyxPQUFPLEVBQWEsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3pDLE9BQU8sRUFBWSxZQUFZLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUN6RSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXhDLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRztJQUM1QixVQUFVLEVBQUUsR0FBRztJQUNmLFNBQVMsRUFBRSxHQUFHO0lBQ2QsZ0JBQWdCLEVBQUUsR0FBRztJQUNyQixlQUFlLEVBQUUsR0FBRztDQUNyQixDQUFDO0FBUUYsV0FBVztBQUNYLE1BQU0sT0FBTyxXQUFXO0lBRXRCLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBVSxFQUFFLElBQXlCO1FBRXhELE1BQU0sU0FBUyxHQUFHLElBQUksT0FBTyxFQUFxQixDQUFDO1FBQ25ELE1BQU0sTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7UUFFaEMsa0JBQWtCO1FBQ2xCLE1BQU0sQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFnQixFQUFFLEVBQUU7WUFDdkMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUM7WUFDM0IsTUFBTSxNQUFNLEdBQUcsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUM7WUFDNUIsSUFBSSxNQUFNLEdBQUcsS0FBSztnQkFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUMsSUFBSSxFQUFFLGFBQWEsQ0FBQyxjQUFjLEVBQUUsTUFBTSxFQUFFLEtBQUss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WTtvQkFDWixJQUFJLEtBQUssR0FBRyxNQUFNLEVBQUU7d0JBQ2xCLElBQUksS0FBSyxHQUFHLFFBQVEsRUFBRTs0QkFDcEIsTUFBTSxJQUFJLFFBQVEsR0FBRyxLQUFLLENBQUM7NEJBQzNCLEtBQUssR0FBRyxRQUFRLENBQUM7eUJBQ2xCO3FCQUNGO29CQUVELFdBQVc7eUJBQ047d0JBQ0gsSUFBSSxNQUFNLEdBQUcsU0FBUyxFQUFFOzRCQUN0QixLQUFLLElBQUksU0FBUyxHQUFHLE1BQU0sQ0FBQzs0QkFDNUIsTUFBTSxHQUFHLFNBQVMsQ0FBQzt5QkFDcEI7cUJBQ0Y7b0JBRUQsTUFBTSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7b0JBQ3JCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO29CQUN2QixHQUFHLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFFOUIseUJBQXlCO29CQUN6QixHQUFHLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztpQkFDaEU7Z0JBRUQsZ0NBQWdDO2dCQUNoQyxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ2xDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUNqQjtZQUNELE9BQU8sR0FBRyxFQUFFO2dCQUNWLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUNiO29CQUNPO2dCQUNOLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQzthQUNqQjtRQUVILENBQUMsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aXNOaWxPckJsYW5rfSBmcm9tICcuLi9mdW5jdGlvbnMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7RmlsZUV2ZW50LCBGaWxlUmVzcG9uc2V9IGZyb20gJy4uL3VwbG9hZC1maWxlL3VwbG9hZC1maWxlLm1vZGVsJztcbmltcG9ydCB7SHR0cEV2ZW50VHlwZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHttZXJnZU1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5leHBvcnQgY29uc3QgSU1BR0VfREVGQVVMVFMgPSB7XG4gIE1BWF9IRUlHSFQ6IDQ4MCxcbiAgTUFYX1dJRFRIOiA2NDAsXG4gIFRIVU1CX01BWF9IRUlHSFQ6IDIwMCxcbiAgVEhVTUJfTUFYX1dJRFRIOiAyMDBcbn07XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBJbWFnZVJlc2l6ZU9wdGlvbnMge1xuICBtYXhXaWR0aD86IG51bWJlcjtcbiAgbWF4SGVpZ2h0PzogbnVtYmVyO1xuICB0aHVtYm5haWw/OiBib29sZWFuO1xufVxuXG4vLyBAZHluYW1pY1xuZXhwb3J0IGNsYXNzIEltYWdlc1V0aWxzIHtcblxuICBzdGF0aWMgcmVhZEFzRGF0YVVSTChmaWxlOiBGaWxlLCBvcHRzPzogSW1hZ2VSZXNpemVPcHRpb25zKTogT2JzZXJ2YWJsZTxGaWxlRXZlbnQ8c3RyaW5nPj4ge1xuXG4gICAgY29uc3QgJHByb2dyZXNzID0gbmV3IFN1YmplY3Q8RmlsZUV2ZW50PHN0cmluZz4+KCk7XG4gICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcblxuICAgIC8vIExpc3RlbiBwcm9ncmVzc1xuICAgIHJlYWRlci5vbnByb2dyZXNzID0gKGU6IFByb2dyZXNzRXZlbnQpID0+IHtcbiAgICAgIGNvbnN0IHRvdGFsID0gZS50b3RhbCB8fCAxO1xuICAgICAgY29uc3QgbG9hZGVkID0gZS50b3RhbCB8fCAwO1xuICAgICAgaWYgKGxvYWRlZCA8IHRvdGFsKSAkcHJvZ3Jlc3MubmV4dCh7dHlwZTogSHR0cEV2ZW50VHlwZS5VcGxvYWRQcm9ncmVzcywgbG9hZGVkLCB0b3RhbH0pO1xuICAgIH07XG5cbiAgICAvLyBMaXN0ZW4gZW5kXG4gICAgcmVhZGVyLm9ubG9hZGVuZCA9IChfOiBQcm9ncmVzc0V2ZW50KSA9PiB7XG4gICAgICBjb25zdCBib2R5ID0gcmVhZGVyLnJlc3VsdDtcbiAgICAgIGlmICh0eXBlb2YgYm9keSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgJHByb2dyZXNzLm5leHQobmV3IEZpbGVSZXNwb25zZSh7Ym9keX0pKTtcbiAgICAgICAgJHByb2dyZXNzLmNvbXBsZXRlKCk7XG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihgW2ltYWdlLXV0aWxzXSBDYW5ub3QgcmVhZCBmaWxlICcke2ZpbGUubmFtZX0nIGFzIHRleHRgKTtcbiAgICAgICAgJHByb2dyZXNzLmVycm9yKGBDYW5ub3QgcmVhZCBmaWxlIGFzIHRleHRgKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgLy8gTGlzdGVuIGVycm9yXG4gICAgcmVhZGVyLm9uZXJyb3IgPSAoZXZlbnQ6IFByb2dyZXNzRXZlbnQpID0+IHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1tpbWFnZS11dGlsc10gRXJyb3Igd2hpbGUgcmVhZGluZyBmaWxlOicsIGV2ZW50KTtcbiAgICAgICRwcm9ncmVzcy5lcnJvcihldmVudCk7XG4gICAgfTtcblxuICAgIC8vIFN0YXJ0IHJlYWRpbmcgdGhlIGZpbGVcbiAgICByZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTtcblxuICAgIC8vIFJlc2l6ZSBpbWFnZSwgaWYgbmVlZFxuICAgIGlmIChvcHRzKSB7XG4gICAgICByZXR1cm4gJHByb2dyZXNzLnBpcGUoXG4gICAgICAgIG1lcmdlTWFwKGFzeW5jIChldmVudCkgPT4ge1xuICAgICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIEZpbGVSZXNwb25zZSkge1xuICAgICAgICAgICAgY29uc3QgYm9keSA9IGF3YWl0IEltYWdlc1V0aWxzLnJlc2l6ZUJhc2U2NChldmVudC5ib2R5LCBvcHRzKTtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRmlsZVJlc3BvbnNlKHtib2R5fSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBldmVudDtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuICRwcm9ncmVzcy5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHN0YXRpYyBhc3luYyByZWFkQW5kUmVzaXplRnJvbVVybChmaWxlVXJsOiBzdHJpbmcsIG9wdHM/OiBJbWFnZVJlc2l6ZU9wdGlvbnMpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGlmIChpc05pbE9yQmxhbmsoZmlsZVVybCkpIHRocm93IG5ldyBFcnJvcignSWxsZWdhbCBhcmd1bWVudDogbWlzc2luZyBmaWxlVXJsJyk7XG5cbiAgICAvLyBDcmVhdGUgdGhlIHRlbXBvcmFyeSBpbWFnZSBlbGVtZW50XG4gICAgY29uc3QgaW1nID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW1nJyk7XG5cbiAgICAvLyBOZWVkIHRvIGF2b2lkIENPUlMgZXJyb3JcbiAgICAvLyAoc2VlIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzIyNzEwNjI3L3RhaW50ZWQtY2FudmFzZXMtbWF5LW5vdC1iZS1leHBvcnRlZClcbiAgICBpbWcuY3Jvc3NPcmlnaW4gPSAnYW5vbnltb3VzJztcblxuICAgIHRyeSB7XG4gICAgICByZXR1cm4gYXdhaXQgbmV3IFByb21pc2U8c3RyaW5nPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIGltZy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgSW1hZ2VzVXRpbHMuY3JlYXRlSW1hZ2VPbkxvYWRSZXNpemVGbihyZXNvbHZlLCByZWplY3QsIG9wdHMpLCBmYWxzZSk7XG4gICAgICAgIGltZy5hZGRFdmVudExpc3RlbmVyKCdlcnJvcicsIHJlamVjdCk7XG4gICAgICAgIGltZy5zcmMgPSBmaWxlVXJsO1xuICAgICAgfSk7XG4gICAgfVxuICAgIGNhdGNoIChlcnIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgRmFpbGVkIHRvIGxvYWQgYW5kIHJlc2l6ZSBpbWFnZSB7JHtmaWxlVXJsfX1gKTtcbiAgICB9XG4gICAgZmluYWxseSB7XG4gICAgICBpbWcucmVtb3ZlKCk7XG4gICAgfVxuICB9XG5cblxuICBzdGF0aWMgYXN5bmMgcmVzaXplQmFzZTY0KGRhdGFVcmw6IHN0cmluZywgb3B0cz86IEltYWdlUmVzaXplT3B0aW9ucyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgLy8gQ3JlYXRlIHRoZSB0ZW1wb3JhcnkgaW1hZ2UgZWxlbWVudFxuICAgIGNvbnN0IGltZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2ltZycpO1xuXG4gICAgLy8gTmVlZCB0byBhdm9pZCBDT1JTIGVycm9yXG4gICAgLy8gKHNlZSBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8yMjcxMDYyNy90YWludGVkLWNhbnZhc2VzLW1heS1ub3QtYmUtZXhwb3J0ZWQpXG4gICAgaW1nLmNyb3NzT3JpZ2luID0gJ2Fub255bW91cyc7XG5cbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGF3YWl0IG5ldyBQcm9taXNlPHN0cmluZz4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICBpbWcuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIEltYWdlc1V0aWxzLmNyZWF0ZUltYWdlT25Mb2FkUmVzaXplRm4ocmVzb2x2ZSwgcmVqZWN0LCBvcHRzKSwgZmFsc2UpO1xuICAgICAgICBpbWcuYWRkRXZlbnRMaXN0ZW5lcignZXJyb3InLCByZWplY3QpO1xuICAgICAgICBpbWcuc3JjID0gZGF0YVVybDtcbiAgICAgIH0pO1xuICAgIH1cbiAgICBmaW5hbGx5IHtcbiAgICAgIGltZy5yZW1vdmUoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgc3RhdGljIGNyZWF0ZUltYWdlT25Mb2FkUmVzaXplRm4ocmVzb2x2ZSwgcmVqZWN0LCBvcHRzPzogSW1hZ2VSZXNpemVPcHRpb25zKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uKGV2ZW50KSB7XG4gICAgICBjb25zdFxuICAgICAgICBtYXhXaWR0aCA9IChvcHRzICYmIG9wdHMudGh1bWJuYWlsID8gSU1BR0VfREVGQVVMVFMuVEhVTUJfTUFYX1dJRFRIIDogKG9wdHMgJiYgb3B0cy5tYXhXaWR0aCB8fCBJTUFHRV9ERUZBVUxUUy5NQVhfV0lEVEgpKTtcbiAgICAgICAgY29uc3QgbWF4SGVpZ2h0ID0gKG9wdHMgJiYgb3B0cy50aHVtYm5haWwgPyBJTUFHRV9ERUZBVUxUUy5USFVNQl9NQVhfSEVJR0hUIDogKG9wdHMgJiYgb3B0cy5tYXhIZWlnaHQgfHwgSU1BR0VfREVGQVVMVFMuTUFYX0hFSUdIVCkpO1xuICAgICAgbGV0IHdpZHRoID0gZXZlbnQudGFyZ2V0LndpZHRoO1xuICAgICAgICBsZXQgaGVpZ2h0ID0gZXZlbnQudGFyZ2V0LmhlaWdodDtcblxuICAgICAgY29uc3QgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7XG4gICAgICBsZXQgY3R4O1xuXG4gICAgICB0cnkge1xuICAgICAgICAvLyBUaHVtYm5haWw6IHJlc2l6ZSBhbmQgY3JvcCAodG8gdGhlIGV4cGVjdGVkIHNpemUpXG4gICAgICAgIGlmIChvcHRzICYmIG9wdHMudGh1bWJuYWlsKSB7XG5cbiAgICAgICAgICAvLyBsYW5kc2NhcGVcbiAgICAgICAgICBpZiAod2lkdGggPiBoZWlnaHQpIHtcbiAgICAgICAgICAgIHdpZHRoICo9IG1heEhlaWdodCAvIGhlaWdodDtcbiAgICAgICAgICAgIGhlaWdodCA9IG1heEhlaWdodDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBwb3J0cmFpdFxuICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgaGVpZ2h0ICo9IG1heFdpZHRoIC8gd2lkdGg7XG4gICAgICAgICAgICB3aWR0aCA9IG1heFdpZHRoO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjYW52YXMud2lkdGggPSBtYXhXaWR0aDtcbiAgICAgICAgICBjYW52YXMuaGVpZ2h0ID0gbWF4SGVpZ2h0O1xuICAgICAgICAgIGN0eCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpO1xuICAgICAgICAgIGNvbnN0IHhvZmZzZXQgPSBNYXRoLnRydW5jKChtYXhXaWR0aCAtIHdpZHRoKSAvIDIgKyAwLjUpO1xuICAgICAgICAgIGNvbnN0IHlvZmZzZXQgPSBNYXRoLnRydW5jKChtYXhIZWlnaHQgLSBoZWlnaHQpIC8gMiArIDAuNSk7XG4gICAgICAgICAgY3R4LmRyYXdJbWFnZShldmVudC50YXJnZXQsXG4gICAgICAgICAgICB4b2Zmc2V0LCAvLyB4MVxuICAgICAgICAgICAgeW9mZnNldCwgLy8geTFcbiAgICAgICAgICAgIG1heFdpZHRoICsgLTIgKiB4b2Zmc2V0LCAvLyB4MlxuICAgICAgICAgICAgbWF4SGVpZ2h0ICsgLTIgKiB5b2Zmc2V0IC8vIHkyXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFJlc2l6ZSwgYnV0IGtlZXAgdGhlIGZ1bGwgaW1hZ2VcbiAgICAgICAgZWxzZSB7XG5cbiAgICAgICAgICAvLyBsYW5kc2NhcGVcbiAgICAgICAgICBpZiAod2lkdGggPiBoZWlnaHQpIHtcbiAgICAgICAgICAgIGlmICh3aWR0aCA+IG1heFdpZHRoKSB7XG4gICAgICAgICAgICAgIGhlaWdodCAqPSBtYXhXaWR0aCAvIHdpZHRoO1xuICAgICAgICAgICAgICB3aWR0aCA9IG1heFdpZHRoO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIHBvcnRyYWl0XG4gICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBpZiAoaGVpZ2h0ID4gbWF4SGVpZ2h0KSB7XG4gICAgICAgICAgICAgIHdpZHRoICo9IG1heEhlaWdodCAvIGhlaWdodDtcbiAgICAgICAgICAgICAgaGVpZ2h0ID0gbWF4SGVpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGNhbnZhcy53aWR0aCA9IHdpZHRoO1xuICAgICAgICAgIGNhbnZhcy5oZWlnaHQgPSBoZWlnaHQ7XG4gICAgICAgICAgY3R4ID0gY2FudmFzLmdldENvbnRleHQoJzJkJyk7XG5cbiAgICAgICAgICAvLyBSZXNpemUgdGhlIHdob2xlIGltYWdlXG4gICAgICAgICAgY3R4LmRyYXdJbWFnZShldmVudC50YXJnZXQsIDAsIDAsIGNhbnZhcy53aWR0aCwgY2FudmFzLmhlaWdodCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBHZXQgaW1hZ2UgY29udGVudCBhcyBkYXRhIFVSTFxuICAgICAgICBjb25zdCBiYXNlNjQgPSBjYW52YXMudG9EYXRhVVJMKCk7XG4gICAgICAgIHJlc29sdmUoYmFzZTY0KTtcbiAgICAgIH1cbiAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgcmVqZWN0KGVycik7XG4gICAgICB9XG4gICAgICBmaW5hbGx5IHtcbiAgICAgICAgY2FudmFzLnJlbW92ZSgpO1xuICAgICAgfVxuXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -1,24 +0,0 @@
1
- export class UriUtils {
2
- /**
3
- * Extract the filename, from an uri (using the last slash)
4
- *
5
- * @param uri
6
- */
7
- static getFilename(uri) {
8
- if (!uri)
9
- return uri;
10
- let filename = uri.trim();
11
- // Get last part (or all string, if no '/')
12
- const lastSlashIndex = filename.lastIndexOf('/');
13
- if (lastSlashIndex !== -1 && lastSlashIndex !== uri.length - 1) {
14
- filename = filename.substring(lastSlashIndex + 1);
15
- }
16
- // Remove query params
17
- const queryParamIndex = filename.indexOf('?');
18
- if (queryParamIndex !== -1) {
19
- filename = filename.substring(0, queryParamIndex);
20
- }
21
- return filename;
22
- }
23
- }
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJpLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvZmlsZS91cmkudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFFBQVE7SUFFbkI7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBVztRQUM1QixJQUFJLENBQUMsR0FBRztZQUFFLE9BQU8sR0FBRyxDQUFDO1FBQ3JCLElBQUksUUFBUSxHQUFHLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUUxQiwyQ0FBMkM7UUFDM0MsTUFBTSxjQUFjLEdBQUcsUUFBUSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNqRCxJQUFJLGNBQWMsS0FBSyxDQUFDLENBQUMsSUFBSSxjQUFjLEtBQUssR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDOUQsUUFBUSxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ25EO1FBRUQsc0JBQXNCO1FBQ3RCLE1BQU0sZUFBZSxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDOUMsSUFBSSxlQUFlLEtBQUssQ0FBQyxDQUFDLEVBQUU7WUFDMUIsUUFBUSxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLGVBQWUsQ0FBQyxDQUFDO1NBQ25EO1FBRUQsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIFVyaVV0aWxzIHtcblxuICAvKipcbiAgICogRXh0cmFjdCB0aGUgZmlsZW5hbWUsIGZyb20gYW4gdXJpICh1c2luZyB0aGUgbGFzdCBzbGFzaClcbiAgICpcbiAgICogQHBhcmFtIHVyaVxuICAgKi9cbiAgc3RhdGljIGdldEZpbGVuYW1lKHVyaTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoIXVyaSkgcmV0dXJuIHVyaTtcbiAgICBsZXQgZmlsZW5hbWUgPSB1cmkudHJpbSgpO1xuXG4gICAgLy8gR2V0IGxhc3QgcGFydCAob3IgYWxsIHN0cmluZywgaWYgbm8gJy8nKVxuICAgIGNvbnN0IGxhc3RTbGFzaEluZGV4ID0gZmlsZW5hbWUubGFzdEluZGV4T2YoJy8nKTtcbiAgICBpZiAobGFzdFNsYXNoSW5kZXggIT09IC0xICYmIGxhc3RTbGFzaEluZGV4ICE9PSB1cmkubGVuZ3RoIC0gMSkge1xuICAgICAgZmlsZW5hbWUgPSBmaWxlbmFtZS5zdWJzdHJpbmcobGFzdFNsYXNoSW5kZXggKyAxKTtcbiAgICB9XG5cbiAgICAvLyBSZW1vdmUgcXVlcnkgcGFyYW1zXG4gICAgY29uc3QgcXVlcnlQYXJhbUluZGV4ID0gZmlsZW5hbWUuaW5kZXhPZignPycpO1xuICAgIGlmIChxdWVyeVBhcmFtSW5kZXggIT09IC0xKSB7XG4gICAgICBmaWxlbmFtZSA9IGZpbGVuYW1lLnN1YnN0cmluZygwLCBxdWVyeVBhcmFtSW5kZXgpO1xuICAgIH1cblxuICAgIHJldHVybiBmaWxlbmFtZTtcbiAgfVxufVxuIl19