@sumaris-net/ngx-components 18.24.7 → 21.0.0-rc2

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 (797) hide show
  1. package/README.md +2 -0
  2. package/doc/build.md +2 -2
  3. package/fesm2022/sumaris-net.ngx-components.mjs +2440 -2229
  4. package/fesm2022/sumaris-net.ngx-components.mjs.map +1 -1
  5. package/package.json +19 -19
  6. package/src/assets/environments/environment-test.json +2 -2
  7. package/src/assets/i18n/fr.json +6 -5
  8. package/src/assets/manifest.json +1 -1
  9. package/src/theme/_icons.scss +8 -12
  10. package/src/theme/_ionic.globals.scss +8 -1
  11. package/src/theme/_material.globals.scss +4 -1
  12. package/src/theme/_material.scss +16 -13
  13. package/src/theme/_mixins.scss +7 -1
  14. package/src/theme/_ngx-components.forms.scss +87 -84
  15. package/src/theme/_ngx-components.globals.scss +2 -0
  16. package/src/theme/_ngx-components.scss +19 -4
  17. package/src/theme/_ngx-components.table.scss +31 -26
  18. package/src/theme/_ngx-components.tabs.scss +16 -14
  19. package/src/theme/_responsive.scss +2 -0
  20. package/src/theme/_roboto.scss +3 -0
  21. package/src/theme/_theme.scss +11 -14
  22. package/src/theme/_theme.variables.scss +6 -1
  23. package/src/theme/ionic/ionic.functions.color.scss +13 -5
  24. package/src/theme/ionic/ionic.globals.scss +4 -4
  25. package/src/theme/ionic/ionic.theme.default.scss +2 -0
  26. package/types/sumaris-net.ngx-components.d.ts +14159 -0
  27. package/esm2022/public_api.mjs +0 -403
  28. package/esm2022/src/app/admin/admin-routing.module.mjs +0 -34
  29. package/esm2022/src/app/admin/admin.module.mjs +0 -32
  30. package/esm2022/src/app/admin/users/person.filter.mjs +0 -157
  31. package/esm2022/src/app/admin/users/person.service.mjs +0 -226
  32. package/esm2022/src/app/admin/users/person.validator.mjs +0 -78
  33. package/esm2022/src/app/admin/users/users-select.modal.mjs +0 -167
  34. package/esm2022/src/app/admin/users/users.mjs +0 -502
  35. package/esm2022/src/app/admin/users/users.module.mjs +0 -59
  36. package/esm2022/src/app/admin/users/users.utils.mjs +0 -29
  37. package/esm2022/src/app/core/about/about.modal.mjs +0 -119
  38. package/esm2022/src/app/core/about/about.module.mjs +0 -22
  39. package/esm2022/src/app/core/account/account.module.mjs +0 -75
  40. package/esm2022/src/app/core/account/account.page.mjs +0 -426
  41. package/esm2022/src/app/core/account/new-token.form.mjs +0 -109
  42. package/esm2022/src/app/core/account/new-token.modal.mjs +0 -66
  43. package/esm2022/src/app/core/account/password/change-password.form.mjs +0 -63
  44. package/esm2022/src/app/core/account/password/change-password.module.mjs +0 -22
  45. package/esm2022/src/app/core/account/password/change-password.page.mjs +0 -150
  46. package/esm2022/src/app/core/account/token.table.mjs +0 -160
  47. package/esm2022/src/app/core/auth/auth.form.mjs +0 -159
  48. package/esm2022/src/app/core/auth/auth.modal.mjs +0 -76
  49. package/esm2022/src/app/core/auth/auth.module.mjs +0 -56
  50. package/esm2022/src/app/core/auth/reset-password.modal.mjs +0 -89
  51. package/esm2022/src/app/core/core.module.mjs +0 -157
  52. package/esm2022/src/app/core/core.testing.module.mjs +0 -128
  53. package/esm2022/src/app/core/form/array/form-array.mjs +0 -328
  54. package/esm2022/src/app/core/form/array/testing/form-array-test.module.mjs +0 -23
  55. package/esm2022/src/app/core/form/array/testing/form-array.test.mjs +0 -97
  56. package/esm2022/src/app/core/form/buttons/form-buttons-bar.component.mjs +0 -111
  57. package/esm2022/src/app/core/form/buttons/form-buttons-bar.module.mjs +0 -31
  58. package/esm2022/src/app/core/form/entity/editor.class.mjs +0 -268
  59. package/esm2022/src/app/core/form/entity/entity-editor-modal.class.mjs +0 -420
  60. package/esm2022/src/app/core/form/entity/entity-editor.class.mjs +0 -748
  61. package/esm2022/src/app/core/form/entity/entity-metadata.component.mjs +0 -25
  62. package/esm2022/src/app/core/form/entity/entity.module.mjs +0 -33
  63. package/esm2022/src/app/core/form/entity/tab-editor.class.mjs +0 -190
  64. package/esm2022/src/app/core/form/form-container.class.mjs +0 -371
  65. package/esm2022/src/app/core/form/form.class.mjs +0 -342
  66. package/esm2022/src/app/core/form/form.module.mjs +0 -77
  67. package/esm2022/src/app/core/form/form.utils.mjs +0 -238
  68. package/esm2022/src/app/core/form/list/list.form.mjs +0 -243
  69. package/esm2022/src/app/core/form/list/list.module.mjs +0 -31
  70. package/esm2022/src/app/core/form/properties/properties-file.service.mjs +0 -133
  71. package/esm2022/src/app/core/form/properties/properties.form.mjs +0 -397
  72. package/esm2022/src/app/core/form/properties/properties.module.mjs +0 -85
  73. package/esm2022/src/app/core/form/properties/properties.table.mjs +0 -267
  74. package/esm2022/src/app/core/form/properties/properties.utils.mjs +0 -304
  75. package/esm2022/src/app/core/form/properties/property.validator.mjs +0 -70
  76. package/esm2022/src/app/core/form/properties/testing/properties-form.test.mjs +0 -103
  77. package/esm2022/src/app/core/form/properties/testing/properties-form.testing.module.mjs +0 -23
  78. package/esm2022/src/app/core/form/text/testing/text-form.testing.mjs +0 -42
  79. package/esm2022/src/app/core/form/text/testing/text-form.testing.module.mjs +0 -25
  80. package/esm2022/src/app/core/form/text/text-form.component.mjs +0 -205
  81. package/esm2022/src/app/core/form/text/text-form.module.mjs +0 -31
  82. package/esm2022/src/app/core/form/text-popover/testing/text-popover.testing.mjs +0 -73
  83. package/esm2022/src/app/core/form/text-popover/testing/text-popover.testing.module.mjs +0 -22
  84. package/esm2022/src/app/core/form/text-popover/text-popover.component.mjs +0 -164
  85. package/esm2022/src/app/core/form/text-popover/text-popover.module.mjs +0 -32
  86. package/esm2022/src/app/core/form/username/username.form.mjs +0 -55
  87. package/esm2022/src/app/core/form/username/username.module.mjs +0 -20
  88. package/esm2022/src/app/core/graphql/graphql.module.mjs +0 -14
  89. package/esm2022/src/app/core/graphql/graphql.service.mjs +0 -781
  90. package/esm2022/src/app/core/graphql/graphql.utils.mjs +0 -119
  91. package/esm2022/src/app/core/home/home.mjs +0 -472
  92. package/esm2022/src/app/core/home/home.module.mjs +0 -54
  93. package/esm2022/src/app/core/icon/icon.component.mjs +0 -40
  94. package/esm2022/src/app/core/icon/icon.module.mjs +0 -20
  95. package/esm2022/src/app/core/install/install-upgrade-card.component.mjs +0 -394
  96. package/esm2022/src/app/core/install/install-upgrade-card.module.mjs +0 -31
  97. package/esm2022/src/app/core/menu/menu.component.mjs +0 -273
  98. package/esm2022/src/app/core/menu/menu.model.mjs +0 -327
  99. package/esm2022/src/app/core/menu/menu.module.mjs +0 -47
  100. package/esm2022/src/app/core/menu/menu.service.mjs +0 -666
  101. package/esm2022/src/app/core/menu/sub-menu-tab.directive.mjs +0 -113
  102. package/esm2022/src/app/core/menu/testing/menu-other.testing.mjs +0 -51
  103. package/esm2022/src/app/core/menu/testing/menu.testing.mjs +0 -165
  104. package/esm2022/src/app/core/menu/testing/menu.testing.module.mjs +0 -60
  105. package/esm2022/src/app/core/offline/update-offline-mode-card.component.mjs +0 -28
  106. package/esm2022/src/app/core/offline/update-offline-mode-card.module.mjs +0 -31
  107. package/esm2022/src/app/core/peer/select-peer.modal.mjs +0 -350
  108. package/esm2022/src/app/core/peer/select-peer.module.mjs +0 -36
  109. package/esm2022/src/app/core/register/register-confirm.page.mjs +0 -90
  110. package/esm2022/src/app/core/register/register.form.mjs +0 -197
  111. package/esm2022/src/app/core/register/register.modal.mjs +0 -55
  112. package/esm2022/src/app/core/register/register.module.mjs +0 -23
  113. package/esm2022/src/app/core/services/account.service.mjs +0 -1403
  114. package/esm2022/src/app/core/services/auth-guard.service.mjs +0 -74
  115. package/esm2022/src/app/core/services/base-entity-service.class.mjs +0 -499
  116. package/esm2022/src/app/core/services/base-graphql-service.class.mjs +0 -224
  117. package/esm2022/src/app/core/services/base58.mjs +0 -83
  118. package/esm2022/src/app/core/services/config/core.config.mjs +0 -293
  119. package/esm2022/src/app/core/services/config.service.mjs +0 -384
  120. package/esm2022/src/app/core/services/crypto.service.mjs +0 -107
  121. package/esm2022/src/app/core/services/errors.mjs +0 -54
  122. package/esm2022/src/app/core/services/local-settings.service.mjs +0 -540
  123. package/esm2022/src/app/core/services/model/account.model.mjs +0 -192
  124. package/esm2022/src/app/core/services/model/config.model.mjs +0 -111
  125. package/esm2022/src/app/core/services/model/department.model.mjs +0 -35
  126. package/esm2022/src/app/core/services/model/entity.decorators.mjs +0 -97
  127. package/esm2022/src/app/core/services/model/entity.model.mjs +0 -347
  128. package/esm2022/src/app/core/services/model/filter.model.mjs +0 -169
  129. package/esm2022/src/app/core/services/model/history.model.mjs +0 -2
  130. package/esm2022/src/app/core/services/model/model.enum.mjs +0 -11
  131. package/esm2022/src/app/core/services/model/node-feature.model.mjs +0 -31
  132. package/esm2022/src/app/core/services/model/peer.model.mjs +0 -114
  133. package/esm2022/src/app/core/services/model/person.model.mjs +0 -118
  134. package/esm2022/src/app/core/services/model/referential.model.mjs +0 -207
  135. package/esm2022/src/app/core/services/model/settings.model.mjs +0 -6
  136. package/esm2022/src/app/core/services/model/token.model.mjs +0 -57
  137. package/esm2022/src/app/core/services/model/tree-item-entity.model.mjs +0 -234
  138. package/esm2022/src/app/core/services/network.service.mjs +0 -759
  139. package/esm2022/src/app/core/services/network.types.mjs +0 -2
  140. package/esm2022/src/app/core/services/network.utils.mjs +0 -35
  141. package/esm2022/src/app/core/services/pipes/account.pipes.mjs +0 -38
  142. package/esm2022/src/app/core/services/pipes/department-to-string.pipe.mjs +0 -23
  143. package/esm2022/src/app/core/services/pipes/person-to-string.pipe.mjs +0 -23
  144. package/esm2022/src/app/core/services/pipes/pipes.module.mjs +0 -58
  145. package/esm2022/src/app/core/services/pipes/referential-to-string.pipe.mjs +0 -36
  146. package/esm2022/src/app/core/services/pipes/usage-mode.pipes.mjs +0 -37
  147. package/esm2022/src/app/core/services/platform.service.mjs +0 -780
  148. package/esm2022/src/app/core/services/storage/entities-storage.service.mjs +0 -427
  149. package/esm2022/src/app/core/services/storage/entity-store.class.mjs +0 -450
  150. package/esm2022/src/app/core/services/testing/referential-filter.model.mjs +0 -25
  151. package/esm2022/src/app/core/services/testing/referential.validator.mjs +0 -46
  152. package/esm2022/src/app/core/services/validator/account.validator.mjs +0 -46
  153. package/esm2022/src/app/core/services/validator/base.validator.class.mjs +0 -49
  154. package/esm2022/src/app/core/services/validator/local-settings.validator.mjs +0 -57
  155. package/esm2022/src/app/core/services/validator/user-settings.validator.mjs +0 -27
  156. package/esm2022/src/app/core/services/validator/user-token.validator.mjs +0 -55
  157. package/esm2022/src/app/core/settings/settings.module.mjs +0 -23
  158. package/esm2022/src/app/core/settings/settings.page.mjs +0 -406
  159. package/esm2022/src/app/core/table/async-table.class.mjs +0 -1882
  160. package/esm2022/src/app/core/table/column/actions-column.component.mjs +0 -137
  161. package/esm2022/src/app/core/table/column/nav-actions-column.component.mjs +0 -120
  162. package/esm2022/src/app/core/table/column/row-field.component.mjs +0 -116
  163. package/esm2022/src/app/core/table/entities-async-table-datasource.class.mjs +0 -415
  164. package/esm2022/src/app/core/table/entities-table-datasource.class.mjs +0 -407
  165. package/esm2022/src/app/core/table/memory-table.class.mjs +0 -57
  166. package/esm2022/src/app/core/table/table-select-columns.component.mjs +0 -46
  167. package/esm2022/src/app/core/table/table.class.mjs +0 -1918
  168. package/esm2022/src/app/core/table/table.model.mjs +0 -21
  169. package/esm2022/src/app/core/table/table.module.mjs +0 -51
  170. package/esm2022/src/app/core/table/table.pipes.mjs +0 -76
  171. package/esm2022/src/app/core/table/table.utils.mjs +0 -34
  172. package/esm2022/src/app/core/table/testing/nested-table.testing.mjs +0 -326
  173. package/esm2022/src/app/core/table/testing/table-validator.service.mjs +0 -32
  174. package/esm2022/src/app/core/table/testing/table.testing.mjs +0 -342
  175. package/esm2022/src/app/core/table/testing/table.testing.module.mjs +0 -47
  176. package/esm2022/src/app/core/table/testing/table2-validator.service.mjs +0 -25
  177. package/esm2022/src/app/core/table/testing/table2.testing.mjs +0 -322
  178. package/esm2022/src/app/shared/alerts.mjs +0 -243
  179. package/esm2022/src/app/shared/audio/audio.mjs +0 -255
  180. package/esm2022/src/app/shared/audio/audio.testing.mjs +0 -32
  181. package/esm2022/src/app/shared/audio/audio.testing.module.mjs +0 -30
  182. package/esm2022/src/app/shared/base64.utils.mjs +0 -59
  183. package/esm2022/src/app/shared/capacitor/keyboard.mjs +0 -42
  184. package/esm2022/src/app/shared/capacitor/plugins.mjs +0 -10
  185. package/esm2022/src/app/shared/constants.mjs +0 -18
  186. package/esm2022/src/app/shared/dates.mjs +0 -214
  187. package/esm2022/src/app/shared/debug/debug-service.class.mjs +0 -3
  188. package/esm2022/src/app/shared/debug/debug.component.mjs +0 -44
  189. package/esm2022/src/app/shared/debug/debug.module.mjs +0 -23
  190. package/esm2022/src/app/shared/directives/autofocus.directive.mjs +0 -91
  191. package/esm2022/src/app/shared/directives/autoresize.directive.mjs +0 -75
  192. package/esm2022/src/app/shared/directives/autotitle.directive.mjs +0 -30
  193. package/esm2022/src/app/shared/directives/autotooltip.directive.mjs +0 -35
  194. package/esm2022/src/app/shared/directives/cell-selection/cell-identifier.directive.mjs +0 -55
  195. package/esm2022/src/app/shared/directives/cell-selection/cell-selection.directive.mjs +0 -206
  196. package/esm2022/src/app/shared/directives/cell-selection/cell-selection.service.mjs +0 -204
  197. package/esm2022/src/app/shared/directives/directives.module.mjs +0 -53
  198. package/esm2022/src/app/shared/directives/drag-and-drop.directive.mjs +0 -52
  199. package/esm2022/src/app/shared/directives/ng-var.directive.mjs +0 -33
  200. package/esm2022/src/app/shared/directives/resizable/resizable.component.mjs +0 -62
  201. package/esm2022/src/app/shared/directives/resizable/resizable.directive.mjs +0 -96
  202. package/esm2022/src/app/shared/directives/resizable/resizable.module.mjs +0 -17
  203. package/esm2022/src/app/shared/directives/throttled-click.directive.mjs +0 -43
  204. package/esm2022/src/app/shared/events.mjs +0 -64
  205. package/esm2022/src/app/shared/file/csv.utils.mjs +0 -97
  206. package/esm2022/src/app/shared/file/file.service.mjs +0 -118
  207. package/esm2022/src/app/shared/file/file.utils.mjs +0 -117
  208. package/esm2022/src/app/shared/file/images.utils.mjs +0 -186
  209. package/esm2022/src/app/shared/file/json.utils.mjs +0 -58
  210. package/esm2022/src/app/shared/file/uri.utils.mjs +0 -29
  211. package/esm2022/src/app/shared/file/url.utils.mjs +0 -213
  212. package/esm2022/src/app/shared/focusable.mjs +0 -6
  213. package/esm2022/src/app/shared/form/field.component.mjs +0 -388
  214. package/esm2022/src/app/shared/form/field.model.mjs +0 -100
  215. package/esm2022/src/app/shared/form/loading-spinner.mjs +0 -35
  216. package/esm2022/src/app/shared/forms.mjs +0 -593
  217. package/esm2022/src/app/shared/functions.mjs +0 -900
  218. package/esm2022/src/app/shared/geolocation/geolocation.utils.mjs +0 -94
  219. package/esm2022/src/app/shared/gesture/gesture-config.mjs +0 -46
  220. package/esm2022/src/app/shared/gesture/hammer.utils.mjs +0 -2
  221. package/esm2022/src/app/shared/graph/colors.utils.mjs +0 -85
  222. package/esm2022/src/app/shared/graph/graph-colors.mjs +0 -214
  223. package/esm2022/src/app/shared/guard/component-dirty.guard.mjs +0 -68
  224. package/esm2022/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.mjs +0 -23
  225. package/esm2022/src/app/shared/hotkeys/hotkeys.service.mjs +0 -147
  226. package/esm2022/src/app/shared/hotkeys/shared-hotkeys.module.mjs +0 -24
  227. package/esm2022/src/app/shared/html.utils.mjs +0 -35
  228. package/esm2022/src/app/shared/http/http.utils.mjs +0 -56
  229. package/esm2022/src/app/shared/image/gallery/image-gallery.component.mjs +0 -452
  230. package/esm2022/src/app/shared/image/gallery/image-gallery.module.mjs +0 -62
  231. package/esm2022/src/app/shared/image/gallery/testing/gallegry.model.testing.mjs +0 -26
  232. package/esm2022/src/app/shared/image/gallery/testing/gallery.service.testing.mjs +0 -92
  233. package/esm2022/src/app/shared/image/gallery/testing/gallery.testing.mjs +0 -37
  234. package/esm2022/src/app/shared/image/gallery/testing/gallery.testing.module.mjs +0 -59
  235. package/esm2022/src/app/shared/image/image.model.mjs +0 -2
  236. package/esm2022/src/app/shared/image/image.module.mjs +0 -24
  237. package/esm2022/src/app/shared/image/image.service.mjs +0 -117
  238. package/esm2022/src/app/shared/inputs.mjs +0 -281
  239. package/esm2022/src/app/shared/interceptors/progess.interceptor.mjs +0 -27
  240. package/esm2022/src/app/shared/logging/log-level.model.mjs +0 -48
  241. package/esm2022/src/app/shared/logging/logger.model.mjs +0 -47
  242. package/esm2022/src/app/shared/logging/logging-service.class.mjs +0 -125
  243. package/esm2022/src/app/shared/logging/logging-service.config.mjs +0 -2
  244. package/esm2022/src/app/shared/logging/logging-service.module.mjs +0 -30
  245. package/esm2022/src/app/shared/markdown/markdown.component.mjs +0 -321
  246. package/esm2022/src/app/shared/markdown/markdown.directive.mjs +0 -34
  247. package/esm2022/src/app/shared/markdown/markdown.modal.mjs +0 -99
  248. package/esm2022/src/app/shared/markdown/markdown.module.mjs +0 -87
  249. package/esm2022/src/app/shared/markdown/markdown.service.mjs +0 -204
  250. package/esm2022/src/app/shared/markdown/markdown.utils.mjs +0 -87
  251. package/esm2022/src/app/shared/markdown/testing/markdown.test.mjs +0 -55
  252. package/esm2022/src/app/shared/markdown/testing/markdown.testing.module.mjs +0 -30
  253. package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.config.mjs +0 -46
  254. package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.mjs +0 -1356
  255. package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.module.mjs +0 -81
  256. package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.utils.mjs +0 -18
  257. package/esm2022/src/app/shared/material/autocomplete/testing/autocomplete.test.mjs +0 -242
  258. package/esm2022/src/app/shared/material/badge/badge.directive.mjs +0 -251
  259. package/esm2022/src/app/shared/material/badge/badge.module.mjs +0 -20
  260. package/esm2022/src/app/shared/material/badge/badge.test.mjs +0 -42
  261. package/esm2022/src/app/shared/material/boolean/boolean.module.mjs +0 -70
  262. package/esm2022/src/app/shared/material/boolean/material.boolean.mjs +0 -374
  263. package/esm2022/src/app/shared/material/boolean/testing/boolean.test.page.mjs +0 -83
  264. package/esm2022/src/app/shared/material/chips/chips.module.mjs +0 -74
  265. package/esm2022/src/app/shared/material/chips/material.chips.mjs +0 -843
  266. package/esm2022/src/app/shared/material/chips/testing/chips.test.mjs +0 -151
  267. package/esm2022/src/app/shared/material/datetime/datetime.module.mjs +0 -79
  268. package/esm2022/src/app/shared/material/datetime/material.date.mjs +0 -473
  269. package/esm2022/src/app/shared/material/datetime/material.dateshort.mjs +0 -457
  270. package/esm2022/src/app/shared/material/datetime/material.datetime.mjs +0 -852
  271. package/esm2022/src/app/shared/material/datetime/testing/mat-date-time.test.mjs +0 -140
  272. package/esm2022/src/app/shared/material/datetime/testing/mat-date.test.mjs +0 -127
  273. package/esm2022/src/app/shared/material/datetime/testing/mat-dateshort.test.mjs +0 -118
  274. package/esm2022/src/app/shared/material/duration/duration.module.mjs +0 -61
  275. package/esm2022/src/app/shared/material/duration/duration.utils.mjs +0 -16
  276. package/esm2022/src/app/shared/material/duration/material.duration.mjs +0 -283
  277. package/esm2022/src/app/shared/material/duration/testing/mat-duration.test.mjs +0 -85
  278. package/esm2022/src/app/shared/material/latlong/latlong.utils.mjs +0 -319
  279. package/esm2022/src/app/shared/material/latlong/material.latlong-input.mjs +0 -471
  280. package/esm2022/src/app/shared/material/latlong/material.latlong.mjs +0 -231
  281. package/esm2022/src/app/shared/material/latlong/material.latlong.module.mjs +0 -68
  282. package/esm2022/src/app/shared/material/latlong/testing/latlong.test.mjs +0 -138
  283. package/esm2022/src/app/shared/material/material.animations.mjs +0 -200
  284. package/esm2022/src/app/shared/material/material.config.mjs +0 -3
  285. package/esm2022/src/app/shared/material/material.module.mjs +0 -224
  286. package/esm2022/src/app/shared/material/material.testing.module.mjs +0 -234
  287. package/esm2022/src/app/shared/material/paginator/material.paginator-i18n.mjs +0 -51
  288. package/esm2022/src/app/shared/material/stepper/material.stepper-i18n.mjs +0 -23
  289. package/esm2022/src/app/shared/material/swipe/material.swipe.mjs +0 -379
  290. package/esm2022/src/app/shared/material/swipe/swipe.module.mjs +0 -52
  291. package/esm2022/src/app/shared/material/swipe/testing/swipe.test.mjs +0 -67
  292. package/esm2022/src/app/shared/material/test/test-component.mjs +0 -264
  293. package/esm2022/src/app/shared/material/testing/common.test.mjs +0 -111
  294. package/esm2022/src/app/shared/modules.mjs +0 -12
  295. package/esm2022/src/app/shared/named-filter/named-filter-selector.component.mjs +0 -306
  296. package/esm2022/src/app/shared/named-filter/named-filter.model.mjs +0 -49
  297. package/esm2022/src/app/shared/named-filter/named-filter.module.mjs +0 -24
  298. package/esm2022/src/app/shared/named-filter/named-filter.service.mjs +0 -69
  299. package/esm2022/src/app/shared/named-filter/testing/named-filter-selector.testing.mjs +0 -74
  300. package/esm2022/src/app/shared/named-filter/testing/named-filter.testing.module.mjs +0 -28
  301. package/esm2022/src/app/shared/observables.mjs +0 -104
  302. package/esm2022/src/app/shared/pipes/arrays.pipe.mjs +0 -251
  303. package/esm2022/src/app/shared/pipes/badge.pipes.mjs +0 -25
  304. package/esm2022/src/app/shared/pipes/colors.pipe.mjs +0 -29
  305. package/esm2022/src/app/shared/pipes/date-diff-duration.pipe.mjs +0 -50
  306. package/esm2022/src/app/shared/pipes/date-format.pipe.mjs +0 -72
  307. package/esm2022/src/app/shared/pipes/date-from-now.pipe.mjs +0 -28
  308. package/esm2022/src/app/shared/pipes/date-from.pipe.mjs +0 -29
  309. package/esm2022/src/app/shared/pipes/dates.pipe.mjs +0 -18
  310. package/esm2022/src/app/shared/pipes/display-with.pipe.mjs +0 -23
  311. package/esm2022/src/app/shared/pipes/duration.pipe.mjs +0 -34
  312. package/esm2022/src/app/shared/pipes/file-size.pipe.mjs +0 -53
  313. package/esm2022/src/app/shared/pipes/form.pipes.mjs +0 -232
  314. package/esm2022/src/app/shared/pipes/highlight.pipe.mjs +0 -50
  315. package/esm2022/src/app/shared/pipes/html.pipes.mjs +0 -102
  316. package/esm2022/src/app/shared/pipes/latlong-format.pipe.mjs +0 -42
  317. package/esm2022/src/app/shared/pipes/maps.pipe.mjs +0 -65
  318. package/esm2022/src/app/shared/pipes/maskito.pipe.mjs +0 -67
  319. package/esm2022/src/app/shared/pipes/math.pipes.mjs +0 -77
  320. package/esm2022/src/app/shared/pipes/ng-init.pipe.mjs +0 -19
  321. package/esm2022/src/app/shared/pipes/number-format.pipe.mjs +0 -17
  322. package/esm2022/src/app/shared/pipes/observable.pipes.mjs +0 -63
  323. package/esm2022/src/app/shared/pipes/pipes.module.mjs +0 -310
  324. package/esm2022/src/app/shared/pipes/property.pipes.mjs +0 -148
  325. package/esm2022/src/app/shared/pipes/selection.pipes.mjs +0 -177
  326. package/esm2022/src/app/shared/pipes/string.pipes.mjs +0 -196
  327. package/esm2022/src/app/shared/pipes/translate-context.pipe.mjs +0 -44
  328. package/esm2022/src/app/shared/pipes/types.pipes.mjs +0 -74
  329. package/esm2022/src/app/shared/pipes/url.pipes.mjs +0 -35
  330. package/esm2022/src/app/shared/platforms.mjs +0 -81
  331. package/esm2022/src/app/shared/print/print.service.mjs +0 -305
  332. package/esm2022/src/app/shared/regexps.mjs +0 -103
  333. package/esm2022/src/app/shared/rx-state/rx-state.decorators.mjs +0 -193
  334. package/esm2022/src/app/shared/rx-state/rx-state.module.mjs +0 -19
  335. package/esm2022/src/app/shared/rx-state/rx-state.types.mjs +0 -2
  336. package/esm2022/src/app/shared/services/entity-service.class.mjs +0 -44
  337. package/esm2022/src/app/shared/services/job.utils.mjs +0 -92
  338. package/esm2022/src/app/shared/services/memory-entity-service.class.mjs +0 -362
  339. package/esm2022/src/app/shared/services/progress-bar.service.mjs +0 -31
  340. package/esm2022/src/app/shared/services/startable-observable-service.class.mjs +0 -144
  341. package/esm2022/src/app/shared/services/startable-service.class.mjs +0 -118
  342. package/esm2022/src/app/shared/services/translate-context.service.mjs +0 -107
  343. package/esm2022/src/app/shared/services/validator-service.class.mjs +0 -2
  344. package/esm2022/src/app/shared/services.mjs +0 -85
  345. package/esm2022/src/app/shared/shared-routing.module.mjs +0 -72
  346. package/esm2022/src/app/shared/shared.module.mjs +0 -229
  347. package/esm2022/src/app/shared/shared.testing.module.mjs +0 -108
  348. package/esm2022/src/app/shared/storage/storage-explorer.component.mjs +0 -281
  349. package/esm2022/src/app/shared/storage/storage-explorer.module.mjs +0 -42
  350. package/esm2022/src/app/shared/storage/storage-explorer.testing-routing.module.mjs +0 -27
  351. package/esm2022/src/app/shared/storage/storage-explorer.testing.module.mjs +0 -25
  352. package/esm2022/src/app/shared/storage/storage.service.mjs +0 -134
  353. package/esm2022/src/app/shared/storage/storage.utils.mjs +0 -13
  354. package/esm2022/src/app/shared/testing/maskito.test.mjs +0 -41
  355. package/esm2022/src/app/shared/testing/observable.test.mjs +0 -94
  356. package/esm2022/src/app/shared/testing/tests.page.mjs +0 -37
  357. package/esm2022/src/app/shared/toast/toast.testing.mjs +0 -54
  358. package/esm2022/src/app/shared/toast/toast.testing.module.mjs +0 -31
  359. package/esm2022/src/app/shared/toast/toasts.mjs +0 -134
  360. package/esm2022/src/app/shared/toolbar/modal-toolbar.mjs +0 -62
  361. package/esm2022/src/app/shared/toolbar/toolbar.mjs +0 -272
  362. package/esm2022/src/app/shared/toolbar/toolbar.module.mjs +0 -26
  363. package/esm2022/src/app/shared/types.mjs +0 -2
  364. package/esm2022/src/app/shared/upload-file/testing/upload-file.testing.mjs +0 -59
  365. package/esm2022/src/app/shared/upload-file/testing/upload-file.testing.module.mjs +0 -30
  366. package/esm2022/src/app/shared/upload-file/upload-file-popover.component.mjs +0 -108
  367. package/esm2022/src/app/shared/upload-file/upload-file.component.mjs +0 -216
  368. package/esm2022/src/app/shared/upload-file/upload-file.model.mjs +0 -26
  369. package/esm2022/src/app/shared/validator/form-error-adapter.class.mjs +0 -122
  370. package/esm2022/src/app/shared/validator/validators.mjs +0 -658
  371. package/esm2022/src/app/shared/version/versions.mjs +0 -81
  372. package/esm2022/src/app/social/config/social.config.mjs +0 -9
  373. package/esm2022/src/app/social/feed/feed.component.mjs +0 -317
  374. package/esm2022/src/app/social/feed/feed.directive.mjs +0 -151
  375. package/esm2022/src/app/social/feed/feed.model.mjs +0 -60
  376. package/esm2022/src/app/social/feed/feed.module.mjs +0 -24
  377. package/esm2022/src/app/social/feed/feed.page.mjs +0 -67
  378. package/esm2022/src/app/social/feed/feed.service.mjs +0 -222
  379. package/esm2022/src/app/social/feed/testing/feed.testing.mjs +0 -66
  380. package/esm2022/src/app/social/feed/testing/feed.testing.module.mjs +0 -23
  381. package/esm2022/src/app/social/job/job.module.mjs +0 -23
  382. package/esm2022/src/app/social/job/progression/job-progression.component.mjs +0 -38
  383. package/esm2022/src/app/social/job/progression/job-progression.icon.mjs +0 -241
  384. package/esm2022/src/app/social/job/progression/job-progression.list.mjs +0 -50
  385. package/esm2022/src/app/social/job/progression/job-progression.model.mjs +0 -29
  386. package/esm2022/src/app/social/job/progression/job-progression.service.mjs +0 -91
  387. package/esm2022/src/app/social/job/testing/job-progression.testing.mjs +0 -38
  388. package/esm2022/src/app/social/job/testing/job-progression.testing.service.mjs +0 -34
  389. package/esm2022/src/app/social/job/testing/job.testing.module.mjs +0 -22
  390. package/esm2022/src/app/social/message/message.form.mjs +0 -149
  391. package/esm2022/src/app/social/message/message.modal.mjs +0 -116
  392. package/esm2022/src/app/social/message/message.model.mjs +0 -86
  393. package/esm2022/src/app/social/message/message.module.mjs +0 -25
  394. package/esm2022/src/app/social/message/message.service.mjs +0 -198
  395. package/esm2022/src/app/social/social.errors.mjs +0 -11
  396. package/esm2022/src/app/social/social.module.mjs +0 -22
  397. package/esm2022/src/app/social/social.testing.module.mjs +0 -72
  398. package/esm2022/src/app/social/user-event/notification/user-event-notification.icon.mjs +0 -191
  399. package/esm2022/src/app/social/user-event/notification/user-event-notification.list.mjs +0 -280
  400. package/esm2022/src/app/social/user-event/notification/user-event-notification.modal.mjs +0 -84
  401. package/esm2022/src/app/social/user-event/testing/user-event.testing.mjs +0 -273
  402. package/esm2022/src/app/social/user-event/testing/user-event.testing.model.mjs +0 -129
  403. package/esm2022/src/app/social/user-event/testing/user-event.testing.module.mjs +0 -22
  404. package/esm2022/src/app/social/user-event/testing/user-event.testing.service.mjs +0 -128
  405. package/esm2022/src/app/social/user-event/user-event.model.mjs +0 -2
  406. package/esm2022/src/app/social/user-event/user-event.module.mjs +0 -24
  407. package/esm2022/src/app/social/user-event/user-event.service.mjs +0 -512
  408. package/esm2022/src/environments/environment.class.mjs +0 -69
  409. package/esm2022/src/environments/environment.loader.mjs +0 -77
  410. package/esm2022/src/environments/environment.mjs +0 -133
  411. package/esm2022/sumaris-net.ngx-components.mjs +0 -5
  412. package/index.d.ts +0 -5
  413. package/public_api.d.ts +0 -364
  414. package/src/app/admin/admin-routing.module.d.ts +0 -9
  415. package/src/app/admin/admin.module.d.ts +0 -10
  416. package/src/app/admin/users/person.filter.d.ts +0 -37
  417. package/src/app/admin/users/person.service.d.ts +0 -61
  418. package/src/app/admin/users/person.validator.d.ts +0 -23
  419. package/src/app/admin/users/users-select.modal.d.ts +0 -73
  420. package/src/app/admin/users/users.d.ts +0 -89
  421. package/src/app/admin/users/users.module.d.ts +0 -15
  422. package/src/app/admin/users/users.utils.d.ts +0 -6
  423. package/src/app/core/about/about.modal.d.ts +0 -44
  424. package/src/app/core/about/about.module.d.ts +0 -11
  425. package/src/app/core/account/account.module.d.ts +0 -18
  426. package/src/app/core/account/account.page.d.ts +0 -93
  427. package/src/app/core/account/new-token.form.d.ts +0 -30
  428. package/src/app/core/account/new-token.modal.d.ts +0 -29
  429. package/src/app/core/account/password/change-password.form.d.ts +0 -19
  430. package/src/app/core/account/password/change-password.module.d.ts +0 -11
  431. package/src/app/core/account/password/change-password.page.d.ts +0 -36
  432. package/src/app/core/account/token.table.d.ts +0 -28
  433. package/src/app/core/auth/auth.form.d.ts +0 -38
  434. package/src/app/core/auth/auth.modal.d.ts +0 -24
  435. package/src/app/core/auth/auth.module.d.ts +0 -13
  436. package/src/app/core/auth/reset-password.modal.d.ts +0 -29
  437. package/src/app/core/core.module.d.ts +0 -28
  438. package/src/app/core/core.testing.module.d.ts +0 -16
  439. package/src/app/core/form/array/form-array.d.ts +0 -147
  440. package/src/app/core/form/array/testing/form-array-test.module.d.ts +0 -12
  441. package/src/app/core/form/array/testing/form-array.test.d.ts +0 -27
  442. package/src/app/core/form/buttons/form-buttons-bar.component.d.ts +0 -38
  443. package/src/app/core/form/buttons/form-buttons-bar.module.d.ts +0 -9
  444. package/src/app/core/form/entity/editor.class.d.ts +0 -86
  445. package/src/app/core/form/entity/entity-editor-modal.class.d.ts +0 -126
  446. package/src/app/core/form/entity/entity-editor.class.d.ts +0 -211
  447. package/src/app/core/form/entity/entity-metadata.component.d.ts +0 -13
  448. package/src/app/core/form/entity/entity.module.d.ts +0 -11
  449. package/src/app/core/form/entity/tab-editor.class.d.ts +0 -66
  450. package/src/app/core/form/form-container.class.d.ts +0 -132
  451. package/src/app/core/form/form.class.d.ts +0 -148
  452. package/src/app/core/form/form.module.d.ts +0 -15
  453. package/src/app/core/form/form.utils.d.ts +0 -301
  454. package/src/app/core/form/list/list.form.d.ts +0 -83
  455. package/src/app/core/form/list/list.module.d.ts +0 -9
  456. package/src/app/core/form/properties/properties-file.service.d.ts +0 -26
  457. package/src/app/core/form/properties/properties.form.d.ts +0 -109
  458. package/src/app/core/form/properties/properties.module.d.ts +0 -18
  459. package/src/app/core/form/properties/properties.table.d.ts +0 -73
  460. package/src/app/core/form/properties/properties.utils.d.ts +0 -59
  461. package/src/app/core/form/properties/property.validator.d.ts +0 -27
  462. package/src/app/core/form/properties/testing/properties-form.test.d.ts +0 -22
  463. package/src/app/core/form/properties/testing/properties-form.testing.module.d.ts +0 -12
  464. package/src/app/core/form/text/testing/text-form.testing.d.ts +0 -19
  465. package/src/app/core/form/text/testing/text-form.testing.module.d.ts +0 -14
  466. package/src/app/core/form/text/text-form.component.d.ts +0 -66
  467. package/src/app/core/form/text/text-form.module.d.ts +0 -9
  468. package/src/app/core/form/text-popover/testing/text-popover.testing.d.ts +0 -16
  469. package/src/app/core/form/text-popover/testing/text-popover.testing.module.d.ts +0 -11
  470. package/src/app/core/form/text-popover/text-popover.component.d.ts +0 -81
  471. package/src/app/core/form/text-popover/text-popover.module.d.ts +0 -10
  472. package/src/app/core/form/username/username.form.d.ts +0 -19
  473. package/src/app/core/form/username/username.module.d.ts +0 -9
  474. package/src/app/core/graphql/graphql.module.d.ts +0 -7
  475. package/src/app/core/graphql/graphql.service.d.ts +0 -138
  476. package/src/app/core/graphql/graphql.utils.d.ts +0 -47
  477. package/src/app/core/home/home.d.ts +0 -135
  478. package/src/app/core/home/home.module.d.ts +0 -16
  479. package/src/app/core/icon/icon.component.d.ts +0 -13
  480. package/src/app/core/icon/icon.module.d.ts +0 -9
  481. package/src/app/core/install/install-upgrade-card.component.d.ts +0 -63
  482. package/src/app/core/install/install-upgrade-card.module.d.ts +0 -9
  483. package/src/app/core/menu/menu.component.d.ts +0 -69
  484. package/src/app/core/menu/menu.model.d.ts +0 -163
  485. package/src/app/core/menu/menu.module.d.ts +0 -12
  486. package/src/app/core/menu/menu.service.d.ts +0 -93
  487. package/src/app/core/menu/sub-menu-tab.directive.d.ts +0 -29
  488. package/src/app/core/menu/testing/menu-other.testing.d.ts +0 -15
  489. package/src/app/core/menu/testing/menu.testing.d.ts +0 -53
  490. package/src/app/core/menu/testing/menu.testing.module.d.ts +0 -12
  491. package/src/app/core/offline/update-offline-mode-card.component.d.ts +0 -11
  492. package/src/app/core/offline/update-offline-mode-card.module.d.ts +0 -9
  493. package/src/app/core/peer/select-peer.modal.d.ts +0 -108
  494. package/src/app/core/peer/select-peer.module.d.ts +0 -12
  495. package/src/app/core/register/register-confirm.page.d.ts +0 -24
  496. package/src/app/core/register/register.form.d.ts +0 -49
  497. package/src/app/core/register/register.modal.d.ts +0 -14
  498. package/src/app/core/register/register.module.d.ts +0 -12
  499. package/src/app/core/services/account.service.d.ts +0 -236
  500. package/src/app/core/services/auth-guard.service.d.ts +0 -17
  501. package/src/app/core/services/base-entity-service.class.d.ts +0 -134
  502. package/src/app/core/services/base-graphql-service.class.d.ts +0 -77
  503. package/src/app/core/services/base58.d.ts +0 -7
  504. package/src/app/core/services/config/core.config.d.ts +0 -52
  505. package/src/app/core/services/config.service.d.ts +0 -63
  506. package/src/app/core/services/crypto.service.d.ts +0 -44
  507. package/src/app/core/services/errors.d.ts +0 -65
  508. package/src/app/core/services/local-settings.service.d.ts +0 -130
  509. package/src/app/core/services/model/account.model.d.ts +0 -66
  510. package/src/app/core/services/model/config.model.d.ts +0 -37
  511. package/src/app/core/services/model/department.model.d.ts +0 -11
  512. package/src/app/core/services/model/entity.decorators.d.ts +0 -17
  513. package/src/app/core/services/model/entity.model.d.ts +0 -133
  514. package/src/app/core/services/model/filter.model.d.ts +0 -37
  515. package/src/app/core/services/model/history.model.d.ts +0 -20
  516. package/src/app/core/services/model/model.enum.d.ts +0 -7
  517. package/src/app/core/services/model/node-feature.model.d.ts +0 -14
  518. package/src/app/core/services/model/peer.model.d.ts +0 -35
  519. package/src/app/core/services/model/person.model.d.ts +0 -39
  520. package/src/app/core/services/model/referential.model.d.ts +0 -85
  521. package/src/app/core/services/model/settings.model.d.ts +0 -29
  522. package/src/app/core/services/model/token.model.d.ts +0 -22
  523. package/src/app/core/services/model/tree-item-entity.model.d.ts +0 -62
  524. package/src/app/core/services/network.service.d.ts +0 -184
  525. package/src/app/core/services/network.types.d.ts +0 -4
  526. package/src/app/core/services/network.utils.d.ts +0 -39
  527. package/src/app/core/services/pipes/account.pipes.d.ts +0 -15
  528. package/src/app/core/services/pipes/department-to-string.pipe.d.ts +0 -9
  529. package/src/app/core/services/pipes/person-to-string.pipe.d.ts +0 -11
  530. package/src/app/core/services/pipes/pipes.module.d.ts +0 -11
  531. package/src/app/core/services/pipes/referential-to-string.pipe.d.ts +0 -23
  532. package/src/app/core/services/pipes/usage-mode.pipes.d.ts +0 -15
  533. package/src/app/core/services/platform.service.d.ts +0 -126
  534. package/src/app/core/services/storage/entities-storage.service.d.ts +0 -108
  535. package/src/app/core/services/storage/entity-store.class.d.ts +0 -113
  536. package/src/app/core/services/testing/referential-filter.model.d.ts +0 -9
  537. package/src/app/core/services/testing/referential.validator.d.ts +0 -22
  538. package/src/app/core/services/validator/account.validator.d.ts +0 -24
  539. package/src/app/core/services/validator/base.validator.class.d.ts +0 -21
  540. package/src/app/core/services/validator/local-settings.validator.d.ts +0 -18
  541. package/src/app/core/services/validator/user-settings.validator.d.ts +0 -10
  542. package/src/app/core/services/validator/user-token.validator.d.ts +0 -13
  543. package/src/app/core/settings/settings.module.d.ts +0 -12
  544. package/src/app/core/settings/settings.page.d.ts +0 -89
  545. package/src/app/core/table/async-table.class.d.ts +0 -443
  546. package/src/app/core/table/column/actions-column.component.d.ts +0 -65
  547. package/src/app/core/table/column/nav-actions-column.component.d.ts +0 -47
  548. package/src/app/core/table/column/row-field.component.d.ts +0 -41
  549. package/src/app/core/table/entities-async-table-datasource.class.d.ts +0 -103
  550. package/src/app/core/table/entities-table-datasource.class.d.ts +0 -102
  551. package/src/app/core/table/memory-table.class.d.ts +0 -25
  552. package/src/app/core/table/table-select-columns.component.d.ts +0 -22
  553. package/src/app/core/table/table.class.d.ts +0 -427
  554. package/src/app/core/table/table.model.d.ts +0 -31
  555. package/src/app/core/table/table.module.d.ts +0 -14
  556. package/src/app/core/table/table.pipes.d.ts +0 -30
  557. package/src/app/core/table/table.utils.d.ts +0 -13
  558. package/src/app/core/table/testing/nested-table.testing.d.ts +0 -54
  559. package/src/app/core/table/testing/table-validator.service.d.ts +0 -17
  560. package/src/app/core/table/testing/table.testing.d.ts +0 -55
  561. package/src/app/core/table/testing/table.testing.module.d.ts +0 -17
  562. package/src/app/core/table/testing/table2-validator.service.d.ts +0 -15
  563. package/src/app/core/table/testing/table2.testing.d.ts +0 -53
  564. package/src/app/shared/alerts.d.ts +0 -55
  565. package/src/app/shared/audio/audio.d.ts +0 -45
  566. package/src/app/shared/audio/audio.testing.d.ts +0 -13
  567. package/src/app/shared/audio/audio.testing.module.d.ts +0 -11
  568. package/src/app/shared/base64.utils.d.ts +0 -7
  569. package/src/app/shared/capacitor/keyboard.d.ts +0 -16
  570. package/src/app/shared/capacitor/plugins.d.ts +0 -8
  571. package/src/app/shared/constants.d.ts +0 -15
  572. package/src/app/shared/dates.d.ts +0 -85
  573. package/src/app/shared/debug/debug-service.class.d.ts +0 -5
  574. package/src/app/shared/debug/debug.component.d.ts +0 -14
  575. package/src/app/shared/debug/debug.module.d.ts +0 -12
  576. package/src/app/shared/directives/autofocus.directive.d.ts +0 -18
  577. package/src/app/shared/directives/autoresize.directive.d.ts +0 -20
  578. package/src/app/shared/directives/autotitle.directive.d.ts +0 -11
  579. package/src/app/shared/directives/autotooltip.directive.d.ts +0 -14
  580. package/src/app/shared/directives/cell-selection/cell-identifier.directive.d.ts +0 -17
  581. package/src/app/shared/directives/cell-selection/cell-selection.directive.d.ts +0 -29
  582. package/src/app/shared/directives/cell-selection/cell-selection.service.d.ts +0 -67
  583. package/src/app/shared/directives/directives.module.d.ts +0 -15
  584. package/src/app/shared/directives/drag-and-drop.directive.d.ts +0 -17
  585. package/src/app/shared/directives/ng-var.directive.d.ts +0 -12
  586. package/src/app/shared/directives/resizable/resizable.component.d.ts +0 -21
  587. package/src/app/shared/directives/resizable/resizable.directive.d.ts +0 -24
  588. package/src/app/shared/directives/resizable/resizable.module.d.ts +0 -8
  589. package/src/app/shared/directives/throttled-click.directive.d.ts +0 -16
  590. package/src/app/shared/events.d.ts +0 -29
  591. package/src/app/shared/file/csv.utils.d.ts +0 -30
  592. package/src/app/shared/file/file.service.d.ts +0 -23
  593. package/src/app/shared/file/file.utils.d.ts +0 -20
  594. package/src/app/shared/file/images.utils.d.ts +0 -36
  595. package/src/app/shared/file/json.utils.d.ts +0 -19
  596. package/src/app/shared/file/uri.utils.d.ts +0 -8
  597. package/src/app/shared/file/url.utils.d.ts +0 -108
  598. package/src/app/shared/focusable.d.ts +0 -4
  599. package/src/app/shared/form/field.component.d.ts +0 -83
  600. package/src/app/shared/form/field.model.d.ts +0 -88
  601. package/src/app/shared/form/loading-spinner.d.ts +0 -8
  602. package/src/app/shared/forms.d.ts +0 -170
  603. package/src/app/shared/functions.d.ts +0 -325
  604. package/src/app/shared/geolocation/geolocation.utils.d.ts +0 -25
  605. package/src/app/shared/gesture/gesture-config.d.ts +0 -15
  606. package/src/app/shared/gesture/hammer.utils.d.ts +0 -16
  607. package/src/app/shared/graph/colors.utils.d.ts +0 -34
  608. package/src/app/shared/graph/graph-colors.d.ts +0 -63
  609. package/src/app/shared/guard/component-dirty.guard.d.ts +0 -14
  610. package/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.d.ts +0 -8
  611. package/src/app/shared/hotkeys/hotkeys.service.d.ts +0 -48
  612. package/src/app/shared/hotkeys/shared-hotkeys.module.d.ts +0 -11
  613. package/src/app/shared/html.utils.d.ts +0 -17
  614. package/src/app/shared/http/http.utils.d.ts +0 -28
  615. package/src/app/shared/image/gallery/image-gallery.component.d.ts +0 -139
  616. package/src/app/shared/image/gallery/image-gallery.module.d.ts +0 -15
  617. package/src/app/shared/image/gallery/testing/gallegry.model.testing.d.ts +0 -12
  618. package/src/app/shared/image/gallery/testing/gallery.service.testing.d.ts +0 -33
  619. package/src/app/shared/image/gallery/testing/gallery.testing.d.ts +0 -16
  620. package/src/app/shared/image/gallery/testing/gallery.testing.module.d.ts +0 -13
  621. package/src/app/shared/image/image.model.d.ts +0 -7
  622. package/src/app/shared/image/image.module.d.ts +0 -8
  623. package/src/app/shared/image/image.service.d.ts +0 -37
  624. package/src/app/shared/inputs.d.ts +0 -37
  625. package/src/app/shared/interceptors/progess.interceptor.d.ts +0 -8
  626. package/src/app/shared/logging/log-level.model.d.ts +0 -38
  627. package/src/app/shared/logging/logger.model.d.ts +0 -68
  628. package/src/app/shared/logging/logging-service.class.d.ts +0 -39
  629. package/src/app/shared/logging/logging-service.config.d.ts +0 -25
  630. package/src/app/shared/logging/logging-service.module.d.ts +0 -9
  631. package/src/app/shared/markdown/markdown.component.d.ts +0 -86
  632. package/src/app/shared/markdown/markdown.directive.d.ts +0 -13
  633. package/src/app/shared/markdown/markdown.modal.d.ts +0 -49
  634. package/src/app/shared/markdown/markdown.module.d.ts +0 -17
  635. package/src/app/shared/markdown/markdown.service.d.ts +0 -37
  636. package/src/app/shared/markdown/markdown.utils.d.ts +0 -26
  637. package/src/app/shared/markdown/testing/markdown.test.d.ts +0 -18
  638. package/src/app/shared/markdown/testing/markdown.testing.module.d.ts +0 -12
  639. package/src/app/shared/material/autocomplete/material.autocomplete.config.d.ts +0 -74
  640. package/src/app/shared/material/autocomplete/material.autocomplete.d.ts +0 -224
  641. package/src/app/shared/material/autocomplete/material.autocomplete.module.d.ts +0 -23
  642. package/src/app/shared/material/autocomplete/material.autocomplete.utils.d.ts +0 -5
  643. package/src/app/shared/material/autocomplete/testing/autocomplete.test.d.ts +0 -48
  644. package/src/app/shared/material/badge/badge.directive.d.ts +0 -43
  645. package/src/app/shared/material/badge/badge.module.d.ts +0 -10
  646. package/src/app/shared/material/badge/badge.test.d.ts +0 -21
  647. package/src/app/shared/material/boolean/boolean.module.d.ts +0 -21
  648. package/src/app/shared/material/boolean/material.boolean.d.ts +0 -94
  649. package/src/app/shared/material/boolean/testing/boolean.test.page.d.ts +0 -31
  650. package/src/app/shared/material/chips/chips.module.d.ts +0 -22
  651. package/src/app/shared/material/chips/material.chips.d.ts +0 -167
  652. package/src/app/shared/material/chips/testing/chips.test.d.ts +0 -32
  653. package/src/app/shared/material/datetime/datetime.module.d.ts +0 -25
  654. package/src/app/shared/material/datetime/material.date.d.ts +0 -90
  655. package/src/app/shared/material/datetime/material.dateshort.d.ts +0 -89
  656. package/src/app/shared/material/datetime/material.datetime.d.ts +0 -136
  657. package/src/app/shared/material/datetime/testing/mat-date-time.test.d.ts +0 -38
  658. package/src/app/shared/material/datetime/testing/mat-date.test.d.ts +0 -32
  659. package/src/app/shared/material/datetime/testing/mat-dateshort.test.d.ts +0 -31
  660. package/src/app/shared/material/duration/duration.module.d.ts +0 -18
  661. package/src/app/shared/material/duration/duration.utils.d.ts +0 -2
  662. package/src/app/shared/material/duration/material.duration.d.ts +0 -64
  663. package/src/app/shared/material/duration/testing/mat-duration.test.d.ts +0 -23
  664. package/src/app/shared/material/latlong/latlong.utils.d.ts +0 -59
  665. package/src/app/shared/material/latlong/material.latlong-input.d.ts +0 -93
  666. package/src/app/shared/material/latlong/material.latlong.d.ts +0 -90
  667. package/src/app/shared/material/latlong/material.latlong.module.d.ts +0 -21
  668. package/src/app/shared/material/latlong/testing/latlong.test.d.ts +0 -30
  669. package/src/app/shared/material/material.animations.d.ts +0 -8
  670. package/src/app/shared/material/material.config.d.ts +0 -3
  671. package/src/app/shared/material/material.module.d.ts +0 -44
  672. package/src/app/shared/material/material.testing.module.d.ts +0 -31
  673. package/src/app/shared/material/paginator/material.paginator-i18n.d.ts +0 -12
  674. package/src/app/shared/material/stepper/material.stepper-i18n.d.ts +0 -10
  675. package/src/app/shared/material/swipe/material.swipe.d.ts +0 -89
  676. package/src/app/shared/material/swipe/swipe.module.d.ts +0 -16
  677. package/src/app/shared/material/swipe/testing/swipe.test.d.ts +0 -22
  678. package/src/app/shared/material/test/test-component.d.ts +0 -75
  679. package/src/app/shared/material/testing/common.test.d.ts +0 -25
  680. package/src/app/shared/modules.d.ts +0 -9
  681. package/src/app/shared/named-filter/named-filter-selector.component.d.ts +0 -63
  682. package/src/app/shared/named-filter/named-filter.model.d.ts +0 -32
  683. package/src/app/shared/named-filter/named-filter.module.d.ts +0 -13
  684. package/src/app/shared/named-filter/named-filter.service.d.ts +0 -32
  685. package/src/app/shared/named-filter/testing/named-filter-selector.testing.d.ts +0 -34
  686. package/src/app/shared/named-filter/testing/named-filter.testing.module.d.ts +0 -10
  687. package/src/app/shared/observables.d.ts +0 -32
  688. package/src/app/shared/pipes/arrays.pipe.d.ts +0 -93
  689. package/src/app/shared/pipes/badge.pipes.d.ts +0 -7
  690. package/src/app/shared/pipes/colors.pipe.d.ts +0 -9
  691. package/src/app/shared/pipes/date-diff-duration.pipe.d.ts +0 -25
  692. package/src/app/shared/pipes/date-format.pipe.d.ts +0 -35
  693. package/src/app/shared/pipes/date-from-now.pipe.d.ts +0 -14
  694. package/src/app/shared/pipes/date-from.pipe.d.ts +0 -14
  695. package/src/app/shared/pipes/dates.pipe.d.ts +0 -10
  696. package/src/app/shared/pipes/display-with.pipe.d.ts +0 -8
  697. package/src/app/shared/pipes/duration.pipe.d.ts +0 -23
  698. package/src/app/shared/pipes/file-size.pipe.d.ts +0 -30
  699. package/src/app/shared/pipes/form.pipes.d.ts +0 -74
  700. package/src/app/shared/pipes/highlight.pipe.d.ts +0 -11
  701. package/src/app/shared/pipes/html.pipes.d.ts +0 -50
  702. package/src/app/shared/pipes/latlong-format.pipe.d.ts +0 -20
  703. package/src/app/shared/pipes/maps.pipe.d.ts +0 -23
  704. package/src/app/shared/pipes/maskito.pipe.d.ts +0 -14
  705. package/src/app/shared/pipes/math.pipes.d.ts +0 -26
  706. package/src/app/shared/pipes/ng-init.pipe.d.ts +0 -8
  707. package/src/app/shared/pipes/number-format.pipe.d.ts +0 -9
  708. package/src/app/shared/pipes/observable.pipes.d.ts +0 -25
  709. package/src/app/shared/pipes/pipes.module.d.ts +0 -36
  710. package/src/app/shared/pipes/property.pipes.d.ts +0 -46
  711. package/src/app/shared/pipes/selection.pipes.d.ts +0 -62
  712. package/src/app/shared/pipes/string.pipes.d.ts +0 -72
  713. package/src/app/shared/pipes/translate-context.pipe.d.ts +0 -17
  714. package/src/app/shared/pipes/types.pipes.d.ts +0 -30
  715. package/src/app/shared/pipes/url.pipes.d.ts +0 -27
  716. package/src/app/shared/platforms.d.ts +0 -16
  717. package/src/app/shared/print/print.service.d.ts +0 -94
  718. package/src/app/shared/regexps.d.ts +0 -32
  719. package/src/app/shared/rx-state/rx-state.decorators.d.ts +0 -33
  720. package/src/app/shared/rx-state/rx-state.module.d.ts +0 -10
  721. package/src/app/shared/rx-state/rx-state.types.d.ts +0 -5
  722. package/src/app/shared/services/entity-service.class.d.ts +0 -117
  723. package/src/app/shared/services/job.utils.d.ts +0 -20
  724. package/src/app/shared/services/memory-entity-service.class.d.ts +0 -87
  725. package/src/app/shared/services/progress-bar.service.d.ts +0 -20
  726. package/src/app/shared/services/startable-observable-service.class.d.ts +0 -51
  727. package/src/app/shared/services/startable-service.class.d.ts +0 -38
  728. package/src/app/shared/services/translate-context.service.d.ts +0 -29
  729. package/src/app/shared/services/validator-service.class.d.ts +0 -11
  730. package/src/app/shared/services.d.ts +0 -17
  731. package/src/app/shared/shared-routing.module.d.ts +0 -23
  732. package/src/app/shared/shared.module.d.ts +0 -33
  733. package/src/app/shared/shared.testing.module.d.ts +0 -20
  734. package/src/app/shared/storage/storage-explorer.component.d.ts +0 -60
  735. package/src/app/shared/storage/storage-explorer.module.d.ts +0 -13
  736. package/src/app/shared/storage/storage-explorer.testing-routing.module.d.ts +0 -9
  737. package/src/app/shared/storage/storage-explorer.testing.module.d.ts +0 -10
  738. package/src/app/shared/storage/storage.service.d.ts +0 -22
  739. package/src/app/shared/storage/storage.utils.d.ts +0 -19
  740. package/src/app/shared/testing/maskito.test.d.ts +0 -10
  741. package/src/app/shared/testing/observable.test.d.ts +0 -25
  742. package/src/app/shared/testing/tests.page.d.ts +0 -20
  743. package/src/app/shared/toast/toast.testing.d.ts +0 -15
  744. package/src/app/shared/toast/toast.testing.module.d.ts +0 -12
  745. package/src/app/shared/toast/toasts.d.ts +0 -16
  746. package/src/app/shared/toolbar/modal-toolbar.d.ts +0 -21
  747. package/src/app/shared/toolbar/toolbar.d.ts +0 -70
  748. package/src/app/shared/toolbar/toolbar.module.d.ts +0 -16
  749. package/src/app/shared/types.d.ts +0 -45
  750. package/src/app/shared/upload-file/testing/upload-file.testing.d.ts +0 -21
  751. package/src/app/shared/upload-file/testing/upload-file.testing.module.d.ts +0 -11
  752. package/src/app/shared/upload-file/upload-file-popover.component.d.ts +0 -41
  753. package/src/app/shared/upload-file/upload-file.component.d.ts +0 -50
  754. package/src/app/shared/upload-file/upload-file.model.d.ts +0 -30
  755. package/src/app/shared/validator/form-error-adapter.class.d.ts +0 -33
  756. package/src/app/shared/validator/validators.d.ts +0 -145
  757. package/src/app/shared/version/versions.d.ts +0 -26
  758. package/src/app/social/config/social.config.d.ts +0 -4
  759. package/src/app/social/feed/feed.component.d.ts +0 -91
  760. package/src/app/social/feed/feed.directive.d.ts +0 -32
  761. package/src/app/social/feed/feed.model.d.ts +0 -69
  762. package/src/app/social/feed/feed.module.d.ts +0 -13
  763. package/src/app/social/feed/feed.page.d.ts +0 -24
  764. package/src/app/social/feed/feed.service.d.ts +0 -85
  765. package/src/app/social/feed/testing/feed.testing.d.ts +0 -23
  766. package/src/app/social/feed/testing/feed.testing.module.d.ts +0 -12
  767. package/src/app/social/job/job.module.d.ts +0 -12
  768. package/src/app/social/job/progression/job-progression.component.d.ts +0 -24
  769. package/src/app/social/job/progression/job-progression.icon.d.ts +0 -63
  770. package/src/app/social/job/progression/job-progression.list.d.ts +0 -20
  771. package/src/app/social/job/progression/job-progression.model.d.ts +0 -10
  772. package/src/app/social/job/progression/job-progression.service.d.ts +0 -33
  773. package/src/app/social/job/testing/job-progression.testing.d.ts +0 -13
  774. package/src/app/social/job/testing/job-progression.testing.service.d.ts +0 -9
  775. package/src/app/social/job/testing/job.testing.module.d.ts +0 -11
  776. package/src/app/social/message/message.form.d.ts +0 -36
  777. package/src/app/social/message/message.modal.d.ts +0 -47
  778. package/src/app/social/message/message.model.d.ts +0 -36
  779. package/src/app/social/message/message.module.d.ts +0 -14
  780. package/src/app/social/message/message.service.d.ts +0 -44
  781. package/src/app/social/social.errors.d.ts +0 -10
  782. package/src/app/social/social.module.d.ts +0 -20
  783. package/src/app/social/social.testing.module.d.ts +0 -14
  784. package/src/app/social/user-event/notification/user-event-notification.icon.d.ts +0 -47
  785. package/src/app/social/user-event/notification/user-event-notification.list.d.ts +0 -77
  786. package/src/app/social/user-event/notification/user-event-notification.modal.d.ts +0 -37
  787. package/src/app/social/user-event/testing/user-event.testing.d.ts +0 -44
  788. package/src/app/social/user-event/testing/user-event.testing.model.d.ts +0 -42
  789. package/src/app/social/user-event/testing/user-event.testing.module.d.ts +0 -11
  790. package/src/app/social/user-event/testing/user-event.testing.service.d.ts +0 -41
  791. package/src/app/social/user-event/user-event.model.d.ts +0 -44
  792. package/src/app/social/user-event/user-event.module.d.ts +0 -14
  793. package/src/app/social/user-event/user-event.service.d.ts +0 -124
  794. package/src/environments/environment.class.d.ts +0 -86
  795. package/src/environments/environment.d.ts +0 -2
  796. package/src/environments/environment.loader.d.ts +0 -24
  797. package/src/theme/_globals.scss +0 -5
@@ -1,222 +0,0 @@
1
- import { from, of, switchMap } from 'rxjs';
2
- import { JsonFeedUtils } from './feed.model';
3
- import { Inject, inject, Injectable, InjectionToken, Optional } from '@angular/core';
4
- import { firstArrayValue, isEmptyArray, isNilOrNaN, isNotEmptyArray, isNotNilOrBlank } from '../../shared/functions';
5
- import { filter, map, mergeMap } from 'rxjs/operators';
6
- import { StartableService } from '../../shared/services/startable-service.class';
7
- import { NetworkService } from '../../core/services/network.service';
8
- import { RxState } from '@rx-angular/state';
9
- import { ENVIRONMENT } from '../../../environments/environment.class';
10
- import { UrlUtils } from '../../shared/file/url.utils';
11
- import { Message } from '../message/message.model';
12
- import { MessageModal } from '../message/message.modal';
13
- import { ModalController } from '@ionic/angular';
14
- import { MessageService } from '../message/message.service';
15
- import { APP_PERSON_SERVICE } from '../../admin/users/person.service';
16
- import * as i0 from "@angular/core";
17
- import * as i1 from "../../core/services/account.service";
18
- import * as i2 from "../../core/services/local-settings.service";
19
- import * as i3 from "../../../environments/environment.class";
20
- export const APP_FEED_SERVICE = new InjectionToken('FeeService');
21
- export class FeedService extends StartableService {
22
- accountService;
23
- settings;
24
- environment;
25
- _logPrefix = '[feed-service] ';
26
- _state = new RxState();
27
- network = inject(NetworkService);
28
- modalCtrl = inject(ModalController);
29
- messageService = inject(MessageService);
30
- personService = inject(APP_PERSON_SERVICE);
31
- locale$ = this._state.select('locale');
32
- feedUrls$ = this._state.select('feedUrls');
33
- get feedUrls() {
34
- return this._state.get('feedUrls');
35
- }
36
- set feedUrls(urls) {
37
- this._state.set('feedUrls', () => urls);
38
- }
39
- constructor(accountService, settings, environment) {
40
- super(settings);
41
- this.accountService = accountService;
42
- this.settings = settings;
43
- this.environment = environment;
44
- this._state.connect('locale', this.settings.locale$);
45
- this._state.connect('feedUrls', this.locale$.pipe(filter(isNotNilOrBlank), map((locale) => (locale && environment.feed?.jsonFeed?.[locale]) ?? [])));
46
- // DEBUG
47
- this._debug = !environment.production;
48
- if (this._debug)
49
- console.debug(`${this._logPrefix}created`);
50
- }
51
- async ngOnStart() {
52
- await Promise.all([this.settings.ready(), this.network.ready()]);
53
- return {
54
- locale: this.settings.locale,
55
- };
56
- }
57
- watchAll(opts) {
58
- if (!this.started) {
59
- return from(this.start()).pipe(switchMap(() => this.watchAll(opts)));
60
- }
61
- if (isNotEmptyArray(opts?.urls)) {
62
- const locale$ = opts.locale ? of(opts.locale) : this.locale$;
63
- return locale$.pipe(mergeMap((locale) => this.loadAll({ locale, ...opts })));
64
- }
65
- return this.feedUrls$.pipe(filter(isNotEmptyArray), mergeMap((urls) => this.loadAll({ ...opts, urls })));
66
- }
67
- getHomeUrl(feed) {
68
- const feedUrl = feed?.feed_url ?? firstArrayValue(this.feedUrls);
69
- return feedUrl ? UrlUtils.getRootUrl(feedUrl) : undefined;
70
- }
71
- getTagUrl(feed, tag) {
72
- if (!feed || !tag)
73
- throw new Error("Missing 'feed' or 'tag' argument");
74
- const baseUrl = this.getHomeUrl(feed);
75
- return feed.tag_template?.replace('{tag}', tag) ?? baseUrl + '/tag/' + tag;
76
- }
77
- async load(url, opts) {
78
- if (!url)
79
- throw new Error('Missing url argument');
80
- const { data } = await this.loadAll({ ...opts, urls: [url] });
81
- return firstArrayValue(data);
82
- }
83
- async loadAll(opts) {
84
- await this.ready();
85
- const urls = opts?.urls ?? this.feedUrls;
86
- opts = {
87
- maxAgeInMonths: opts?.maxAgeInMonths ?? this.environment.feed?.maxAgeInMonths,
88
- maxContentLength: opts?.maxContentLength ?? this.environment.feed?.maxContentLength,
89
- locale: this.settings.locale,
90
- depth: 0,
91
- ...opts,
92
- };
93
- const feeds = await Promise.all((urls || []).map(async (url) => {
94
- try {
95
- // Get JSON
96
- const json = await this.network.get(url, { nocache: opts?.cache });
97
- console.debug(`${this._logPrefix}Loaded JSON from ${url}`, json);
98
- // Resolve feed
99
- return await this.resolveFeed(json, url, opts);
100
- }
101
- catch (err) {
102
- if (err?.status === 404) {
103
- console.error(`${this._logPrefix} Error while fetching feeds at ${url}. 404 (Not found)`);
104
- }
105
- else {
106
- console.error(`${this._logPrefix} Error while fetching feeds at ${url}`, err);
107
- }
108
- return Promise.resolve([]);
109
- }
110
- }));
111
- const data = feeds.filter(isNotEmptyArray).flat();
112
- // Close opened resources
113
- if (opts.depth === 0) {
114
- this.onAfterLoadAll();
115
- }
116
- return { data, total: data.length };
117
- }
118
- async openEditModal(event, feedItem, opts) {
119
- const messageId = +feedItem.id;
120
- if (isNilOrNaN(messageId))
121
- throw new Error(`Cannot load message - invalid id: ${feedItem.id}`);
122
- // Fetch the original message
123
- const message = await this.messageService.load(messageId);
124
- // Count recipients
125
- let recipientFilterCount;
126
- if (message.recipientFilter) {
127
- recipientFilterCount = await this.personService.countAll(message.recipientFilter);
128
- }
129
- else {
130
- recipientFilterCount = message.recipients?.length ?? (!!message.recipient ? 1 : 0);
131
- message.recipients = isNotEmptyArray(message.recipients) ? message.recipients : message.recipient ? [message.recipient] : [];
132
- delete message.recipient;
133
- }
134
- const canRecipientFilter = message.recipientFilter && !message.recipientFilter.isEmpty() && (this.accountService.isAdmin() || this.accountService.isSupervisor());
135
- const hasTopModal = !!(await this.modalCtrl.getTop());
136
- const modal = await this.modalCtrl.create({
137
- component: MessageModal,
138
- componentProps: {
139
- title: 'SOCIAL.FEED.EDIT_TITLE',
140
- suggestFn: (value, filter, sortBy, sortDirection, opts) => this.personService.suggest(value, filter, sortBy, sortDirection, opts),
141
- canSelectType: false,
142
- canRecipientFilter,
143
- recipientFilterCount,
144
- data: message,
145
- debug: this._debug,
146
- },
147
- cssClass: hasTopModal && 'stack-modal',
148
- });
149
- // Open the modal
150
- await modal.present();
151
- // On dismiss
152
- const { data } = await modal.onDidDismiss();
153
- if (!data || !(data instanceof Message))
154
- return true; // CANCELLED
155
- // Restore id and updateDate (form can lost it)
156
- data.id = data.id ?? message.id;
157
- data.updateDate = data.updateDate ?? message.updateDate;
158
- return await this.messageService.send(data, opts);
159
- }
160
- async deleteItem(feedItem) {
161
- const messageId = +feedItem.id;
162
- if (isNilOrNaN(messageId))
163
- throw new Error(`Cannot delete message - invalid id: ${feedItem.id}`);
164
- return await this.messageService.delete(messageId);
165
- }
166
- /* -- protected functions -- */
167
- async resolveFeed(json, url, opts) {
168
- // Check json is JsonFeed compatible
169
- if (JsonFeedUtils.isJsonFeed(json)) {
170
- // Migrate from old versions
171
- let feed = JsonFeedUtils.migrateFeed(json);
172
- // Resolve items (e.g. using feed.next_url)
173
- feed = await this.resolveFeedItems(feed, { ...opts, depth: opts?.depth ?? 0 });
174
- // Truncate html
175
- JsonFeedUtils.truncateFeedItemsHtml(feed, opts);
176
- return isNotEmptyArray(feed?.items) ? [feed] : [];
177
- }
178
- // not resolved (unknown format)
179
- return [];
180
- }
181
- async resolveFeedItems(json, opts) {
182
- if (!json)
183
- return json;
184
- // Load items
185
- if (isEmptyArray(json.items) && isNotNilOrBlank(json.next_url)) {
186
- const depth = opts?.depth ?? 0;
187
- if (depth >= 3) {
188
- console.warn(`${this._logPrefix}Max depth reached (${depth}) for ${json.feed_url}`);
189
- return json;
190
- }
191
- // Load items
192
- const feed = await this.load(json.next_url, { ...opts, depth: depth + 1 });
193
- if (isEmptyArray(feed?.items)) {
194
- return json;
195
- }
196
- // Merge with the input json
197
- return {
198
- ...json,
199
- title: json.title ?? feed.title,
200
- home_page_url: json.home_page_url ?? feed.home_page_url,
201
- authors: isNotEmptyArray(json.authors) ? json.authors : feed.authors,
202
- items: feed.items,
203
- tag_template: json.tag_template ?? feed.tag_template,
204
- };
205
- }
206
- return json;
207
- }
208
- onAfterLoadAll() {
209
- console.debug(`${this._logPrefix}Feeds loaded`);
210
- }
211
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FeedService, deps: [{ token: i1.AccountService }, { token: i2.LocalSettingsService }, { token: ENVIRONMENT, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
212
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FeedService });
213
- }
214
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FeedService, decorators: [{
215
- type: Injectable
216
- }], ctorParameters: () => [{ type: i1.AccountService }, { type: i2.LocalSettingsService }, { type: i3.Environment, decorators: [{
217
- type: Optional
218
- }, {
219
- type: Inject,
220
- args: [ENVIRONMENT]
221
- }] }] });
222
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zb2NpYWwvZmVlZC9mZWVkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBYyxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXZELE9BQU8sRUFBMEIsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXJGLE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckgsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDakYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRXJFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsV0FBVyxFQUFlLE1BQU0seUNBQXlDLENBQUM7QUFDbkYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUF1QixNQUFNLDBCQUEwQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NB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d0dBblFVLFdBQVcsb0ZBc0JBLFdBQVc7NEdBdEJ0QixXQUFXOzs0RkFBWCxXQUFXO2tCQUR2QixVQUFVOzswQkF1Qk4sUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZnJvbSwgT2JzZXJ2YWJsZSwgb2YsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTG9hZFJlc3VsdCB9IGZyb20gJy4uLy4uL3NoYXJlZC9zZXJ2aWNlcy9lbnRpdHktc2VydmljZS5jbGFzcyc7XG5pbXBvcnQgeyBKc29uRmVlZCwgSnNvbkZlZWRJdGVtLCBKc29uRmVlZFV0aWxzIH0gZnJvbSAnLi9mZWVkLm1vZGVsJztcbmltcG9ydCB7IEluamVjdCwgaW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgZmlyc3RBcnJheVZhbHVlLCBpc0VtcHR5QXJyYXksIGlzTmlsT3JOYU4sIGlzTm90RW1wdHlBcnJheSwgaXNOb3ROaWxPckJsYW5rIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2Z1bmN0aW9ucyc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCwgbWVyZ2VNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBTdGFydGFibGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL3NlcnZpY2VzL3N0YXJ0YWJsZS1zZXJ2aWNlLmNsYXNzJztcbmltcG9ydCB7IE5ldHdvcmtTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlcy9uZXR3b3JrLnNlcnZpY2UnO1xuaW1wb3J0IHsgTG9jYWxTZXR0aW5nc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3NlcnZpY2VzL2xvY2FsLXNldHRpbmdzLnNlcnZpY2UnO1xuaW1wb3J0IHsgUnhTdGF0ZSB9IGZyb20gJ0ByeC1hbmd1bGFyL3N0YXRlJztcbmltcG9ydCB7IEVOVklST05NRU5ULCBFbnZpcm9ubWVudCB9IGZyb20gJy4uLy4uLy4uL2Vudmlyb25tZW50cy9lbnZpcm9ubWVudC5jbGFzcyc7XG5pbXBvcnQgeyBVcmxVdGlscyB9IGZyb20gJy4uLy4uL3NoYXJlZC9maWxlL3VybC51dGlscyc7XG5pbXBvcnQgeyBNZXNzYWdlIH0gZnJvbSAnLi4vbWVzc2FnZS9tZXNzYWdlLm1vZGVsJztcbmltcG9ydCB7IE1lc3NhZ2VNb2RhbCwgTWVzc2FnZU1vZGFsT3B0aW9ucyB9IGZyb20gJy4uL21lc3NhZ2UvbWVzc2FnZS5tb2RhbCc7XG5pbXBvcnQgeyBNb2RhbENvbnRyb2xsZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJy4uL21lc3NhZ2UvbWVzc2FnZS5zZXJ2aWNlJztcbmltcG9ydCB7IEFjY291bnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlcy9hY2NvdW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgQVBQX1BFUlNPTl9TRVJWSUNFIH0gZnJvbSAnLi4vLi4vYWRtaW4vdXNlcnMvcGVyc29uLnNlcnZpY2UnO1xuXG5leHBvcnQgY29uc3QgQVBQX0ZFRURfU0VSVklDRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxJRmVlZFNlcnZpY2U8YW55Pj4oJ0ZlZVNlcnZpY2UnKTtcblxuZXhwb3J0IGludGVyZmFjZSBGZWVkTG9hZE9wdGlvbnMge1xuICBsb2NhbGU/OiBzdHJpbmc7XG4gIG1heEFnZUluTW9udGhzPzogbnVtYmVyO1xuICBtYXhDb250ZW50TGVuZ3RoPzogbnVtYmVyO1xuICBjYWNoZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmVlZHNMb2FkT3B0aW9ucyBleHRlbmRzIEZlZWRMb2FkT3B0aW9ucyB7XG4gIHVybHM/OiBzdHJpbmdbXTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRmVlZHNXYXRjaE9wdGlvbnMgZXh0ZW5kcyBGZWVkc0xvYWRPcHRpb25zIHt9XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUZlZWRTZXJ2aWNlPFQgZXh0ZW5kcyBKc29uRmVlZCA9IEpzb25GZWVkPiB7XG4gIHJlYWR5KCk6IFByb21pc2U8RmVlZFNlcnZpY2VTdGF0ZT47XG5cbiAgbG9hZCh1cmw6IHN0cmluZywgb3B0cz86IEZlZWRMb2FkT3B0aW9ucyk6IFByb21pc2U8VD47XG5cbiAgbG9hZEFsbChvcHRzPzogRmVlZHNMb2FkT3B0aW9ucyk6IFByb21pc2U8TG9hZFJlc3VsdDxUPj47XG5cbiAgd2F0Y2hBbGwob3B0cz86IEZlZWRzV2F0Y2hPcHRpb25zKTogT2JzZXJ2YWJsZTxMb2FkUmVzdWx0PFQ+PjtcblxuICBnZXRIb21lVXJsKGZlZWQ/OiBUKTogc3RyaW5nO1xuXG4gIGdldFRhZ1VybChmZWVkOiBULCB0YWc6IHN0cmluZyk6IHN0cmluZztcblxuICBvcGVuRWRpdE1vZGFsKGV2ZW50OiBFdmVudCwgZmVlZEl0ZW06IFRbJ2l0ZW1zJ11bMF0pOiBQcm9taXNlPGFueT47XG5cbiAgZGVsZXRlSXRlbShmZWVkSXRlbTogVFsnaXRlbXMnXVswXSk6IFByb21pc2U8Ym9vbGVhbj47XG5cbiAgZmVlZFVybHMkOiBPYnNlcnZhYmxlPHN0cmluZ1tdPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGZWVkU2VydmljZVN0YXRlIHtcbiAgbG9jYWxlOiBzdHJpbmc7XG4gIGZlZWRVcmxzPzogc3RyaW5nW107XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGZWVkU2VydmljZTxTIGV4dGVuZHMgRmVlZFNlcnZpY2VTdGF0ZSwgVCBleHRlbmRzIEpzb25GZWVkID0gSnNvbkZlZWQ+IGV4dGVuZHMgU3RhcnRhYmxlU2VydmljZTxTPiBpbXBsZW1lbnRzIElGZWVkU2VydmljZTxUPiB7XG4gIHByb3RlY3RlZCBfbG9nUHJlZml4ID0gJ1tmZWVkLXNlcnZpY2VdICc7XG4gIHByb3RlY3RlZCBfc3RhdGUgPSBuZXcgUnhTdGF0ZTxTPigpO1xuICBwcm90ZWN0ZWQgbmV0d29yayA9IGluamVjdChOZXR3b3JrU2VydmljZSk7XG4gIHByb3RlY3RlZCBtb2RhbEN0cmwgPSBpbmplY3QoTW9kYWxDb250cm9sbGVyKTtcbiAgcHJvdGVjdGVkIG1lc3NhZ2VTZXJ2aWNlID0gaW5qZWN0KE1lc3NhZ2VTZXJ2aWNlKTtcbiAgcHJvdGVjdGVkIHBlcnNvblNlcnZpY2UgPSBpbmplY3QoQVBQX1BFUlNPTl9TRVJWSUNFKTtcblxuICBwcm90ZWN0ZWQgbG9jYWxlJCA9IHRoaXMuX3N0YXRlLnNlbGVjdCgnbG9jYWxlJyk7XG4gIGZlZWRVcmxzJCA9IHRoaXMuX3N0YXRlLnNlbGVjdCgnZmVlZFVybHMnKTtcblxuICBnZXQgZmVlZFVybHMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLl9zdGF0ZS5nZXQoJ2ZlZWRVcmxzJyk7XG4gIH1cblxuICBzZXQgZmVlZFVybHModXJsczogc3RyaW5nW10pIHtcbiAgICB0aGlzLl9zdGF0ZS5zZXQoJ2ZlZWRVcmxzJywgKCkgPT4gdXJscyk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFjY291bnRTZXJ2aWNlOiBBY2NvdW50U2VydmljZSxcbiAgICBwcml2YXRlIHNldHRpbmdzOiBMb2NhbFNldHRpbmdzU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEVOVklST05NRU5UKSBwcm90ZWN0ZWQgZW52aXJvbm1lbnQ6IEVudmlyb25tZW50XG4gICkge1xuICAgIHN1cGVyKHNldHRpbmdzKTtcblxuICAgIHRoaXMuX3N0YXRlLmNvbm5lY3QoJ2xvY2FsZScsIHRoaXMuc2V0dGluZ3MubG9jYWxlJCk7XG5cbiAgICB0aGlzLl9zdGF0ZS5jb25uZWN0KFxuICAgICAgJ2ZlZWRVcmxzJyxcbiAgICAgIHRoaXMubG9jYWxlJC5waXBlKFxuICAgICAgICBmaWx0ZXIoaXNOb3ROaWxPckJsYW5rKSxcbiAgICAgICAgbWFwKChsb2NhbGUpID0+IChsb2NhbGUgJiYgZW52aXJvbm1lbnQuZmVlZD8uanNvbkZlZWQ/Lltsb2NhbGVdKSA/PyBbXSlcbiAgICAgIClcbiAgICApO1xuXG4gICAgLy8gREVCVUdcbiAgICB0aGlzLl9kZWJ1ZyA9ICFlbnZpcm9ubWVudC5wcm9kdWN0aW9uO1xuICAgIGlmICh0aGlzLl9kZWJ1ZykgY29uc29sZS5kZWJ1ZyhgJHt0aGlzLl9sb2dQcmVmaXh9Y3JlYXRlZGApO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIG5nT25TdGFydCgpOiBQcm9taXNlPFM+IHtcbiAgICBhd2FpdCBQcm9taXNlLmFsbChbdGhpcy5zZXR0aW5ncy5yZWFkeSgpLCB0aGlzLm5ldHdvcmsucmVhZHkoKV0pO1xuXG4gICAgcmV0dXJuIDxTPntcbiAgICAgIGxvY2FsZTogdGhpcy5zZXR0aW5ncy5sb2NhbGUsXG4gICAgfTtcbiAgfVxuXG4gIHdhdGNoQWxsKG9wdHM/OiBGZWVkc1dhdGNoT3B0aW9ucyk6IE9ic2VydmFibGU8TG9hZFJlc3VsdDxUPj4ge1xuICAgIGlmICghdGhpcy5zdGFydGVkKSB7XG4gICAgICByZXR1cm4gZnJvbSh0aGlzLnN0YXJ0KCkpLnBpcGUoc3dpdGNoTWFwKCgpID0+IHRoaXMud2F0Y2hBbGwob3B0cykpKTtcbiAgICB9XG4gICAgaWYgKGlzTm90RW1wdHlBcnJheShvcHRzPy51cmxzKSkge1xuICAgICAgY29uc3QgbG9jYWxlJCA9IG9wdHMubG9jYWxlID8gb2Yob3B0cy5sb2NhbGUpIDogdGhpcy5sb2NhbGUkO1xuICAgICAgcmV0dXJuIGxvY2FsZSQucGlwZShtZXJnZU1hcCgobG9jYWxlKSA9PiB0aGlzLmxvYWRBbGwoeyBsb2NhbGUsIC4uLm9wdHMgfSkpKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZmVlZFVybHMkLnBpcGUoXG4gICAgICBmaWx0ZXIoaXNOb3RFbXB0eUFycmF5KSxcbiAgICAgIG1lcmdlTWFwKCh1cmxzKSA9PiB0aGlzLmxvYWRBbGwoeyAuLi5vcHRzLCB1cmxzIH0pKVxuICAgICk7XG4gIH1cblxuICBnZXRIb21lVXJsKGZlZWQ/OiBKc29uRmVlZCkge1xuICAgIGNvbnN0IGZlZWRVcmwgPSBmZWVkPy5mZWVkX3VybCA/PyBmaXJzdEFycmF5VmFsdWUodGhpcy5mZWVkVXJscyk7XG4gICAgcmV0dXJuIGZlZWRVcmwgPyBVcmxVdGlscy5nZXRSb290VXJsKGZlZWRVcmwpIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgZ2V0VGFnVXJsKGZlZWQ6IEpzb25GZWVkLCB0YWc6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKCFmZWVkIHx8ICF0YWcpIHRocm93IG5ldyBFcnJvcihcIk1pc3NpbmcgJ2ZlZWQnIG9yICd0YWcnIGFyZ3VtZW50XCIpO1xuICAgIGNvbnN0IGJhc2VVcmwgPSB0aGlzLmdldEhvbWVVcmwoZmVlZCk7XG4gICAgcmV0dXJuIGZlZWQudGFnX3RlbXBsYXRlPy5yZXBsYWNlKCd7dGFnfScsIHRhZykgPz8gYmFzZVVybCArICcvdGFnLycgKyB0YWc7XG4gIH1cblxuICBhc3luYyBsb2FkKFxuICAgIHVybDogc3RyaW5nLFxuICAgIG9wdHM/OiBGZWVkTG9hZE9wdGlvbnMgJiB7XG4gICAgICAvLyBJbnRlcm5hbCBvcHRpb25zIChmb3IgcmVjdXJzaXZlIGNhbGxzKVxuICAgICAgZGVwdGg/OiBudW1iZXI7XG4gICAgfVxuICApOiBQcm9taXNlPFQ+IHtcbiAgICBpZiAoIXVybCkgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIHVybCBhcmd1bWVudCcpO1xuICAgIGNvbnN0IHsgZGF0YSB9ID0gYXdhaXQgdGhpcy5sb2FkQWxsKHsgLi4ub3B0cywgdXJsczogW3VybF0gfSk7XG4gICAgcmV0dXJuIGZpcnN0QXJyYXlWYWx1ZShkYXRhKTtcbiAgfVxuXG4gIGFzeW5jIGxvYWRBbGwoXG4gICAgb3B0cz86IEZlZWRzTG9hZE9wdGlvbnMgJiB7XG4gICAgICAvLyBJbnRlcm5hbCBvcHRpb25zIChmb3IgcmVjdXJzaXZlIGNhbGxzKVxuICAgICAgZGVwdGg/OiBudW1iZXI7XG4gICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgfVxuICApOiBQcm9taXNlPExvYWRSZXN1bHQ8VD4+IHtcbiAgICBhd2FpdCB0aGlzLnJlYWR5KCk7XG4gICAgY29uc3QgdXJscyA9IG9wdHM/LnVybHMgPz8gdGhpcy5mZWVkVXJscztcbiAgICBvcHRzID0ge1xuICAgICAgbWF4QWdlSW5Nb250aHM6IG9wdHM/Lm1heEFnZUluTW9udGhzID8/IHRoaXMuZW52aXJvbm1lbnQuZmVlZD8ubWF4QWdlSW5Nb250aHMsXG4gICAgICBtYXhDb250ZW50TGVuZ3RoOiBvcHRzPy5tYXhDb250ZW50TGVuZ3RoID8/IHRoaXMuZW52aXJvbm1lbnQuZmVlZD8ubWF4Q29udGVudExlbmd0aCxcbiAgICAgIGxvY2FsZTogdGhpcy5zZXR0aW5ncy5sb2NhbGUsXG4gICAgICBkZXB0aDogMCxcbiAgICAgIC4uLm9wdHMsXG4gICAgfTtcbiAgICBjb25zdCBmZWVkcyA9IGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgKHVybHMgfHwgW10pLm1hcChhc3luYyAodXJsKSA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgLy8gR2V0IEpTT05cbiAgICAgICAgICBjb25zdCBqc29uID0gYXdhaXQgdGhpcy5uZXR3b3JrLmdldCh1cmwsIHsgbm9jYWNoZTogb3B0cz8uY2FjaGUgfSk7XG4gICAgICAgICAgY29uc29sZS5kZWJ1ZyhgJHt0aGlzLl9sb2dQcmVmaXh9TG9hZGVkIEpTT04gZnJvbSAke3VybH1gLCBqc29uKTtcblxuICAgICAgICAgIC8vIFJlc29sdmUgZmVlZFxuICAgICAgICAgIHJldHVybiBhd2FpdCB0aGlzLnJlc29sdmVGZWVkKGpzb24sIHVybCwgb3B0cyk7XG4gICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgIGlmIChlcnI/LnN0YXR1cyA9PT0gNDA0KSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGAke3RoaXMuX2xvZ1ByZWZpeH0gRXJyb3Igd2hpbGUgZmV0Y2hpbmcgZmVlZHMgYXQgJHt1cmx9LiA0MDQgKE5vdCBmb3VuZClgKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihgJHt0aGlzLl9sb2dQcmVmaXh9IEVycm9yIHdoaWxlIGZldGNoaW5nIGZlZWRzIGF0ICR7dXJsfWAsIGVycik7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoW10pO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG5cbiAgICBjb25zdCBkYXRhID0gZmVlZHMuZmlsdGVyKGlzTm90RW1wdHlBcnJheSkuZmxhdCgpO1xuXG4gICAgLy8gQ2xvc2Ugb3BlbmVkIHJlc291cmNlc1xuICAgIGlmIChvcHRzLmRlcHRoID09PSAwKSB7XG4gICAgICB0aGlzLm9uQWZ0ZXJMb2FkQWxsKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgZGF0YSwgdG90YWw6IGRhdGEubGVuZ3RoIH07XG4gIH1cblxuICBhc3luYyBvcGVuRWRpdE1vZGFsKGV2ZW50OiBFdmVudCwgZmVlZEl0ZW06IEpzb25GZWVkSXRlbSwgb3B0cz86IHsgc2hvd1RvYXN0PzogYm9vbGVhbiB9KTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgbWVzc2FnZUlkID0gK2ZlZWRJdGVtLmlkO1xuICAgIGlmIChpc05pbE9yTmFOKG1lc3NhZ2VJZCkpIHRocm93IG5ldyBFcnJvcihgQ2Fubm90IGxvYWQgbWVzc2FnZSAtIGludmFsaWQgaWQ6ICR7ZmVlZEl0ZW0uaWR9YCk7XG5cbiAgICAvLyBGZXRjaCB0aGUgb3JpZ2luYWwgbWVzc2FnZVxuICAgIGNvbnN0IG1lc3NhZ2UgPSBhd2FpdCB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmxvYWQobWVzc2FnZUlkKTtcblxuICAgIC8vIENvdW50IHJlY2lwaWVudHNcbiAgICBsZXQgcmVjaXBpZW50RmlsdGVyQ291bnQ6IG51bWJlcjtcbiAgICBpZiAobWVzc2FnZS5yZWNpcGllbnRGaWx0ZXIpIHtcbiAgICAgIHJlY2lwaWVudEZpbHRlckNvdW50ID0gYXdhaXQgdGhpcy5wZXJzb25TZXJ2aWNlLmNvdW50QWxsKG1lc3NhZ2UucmVjaXBpZW50RmlsdGVyKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVjaXBpZW50RmlsdGVyQ291bnQgPSBtZXNzYWdlLnJlY2lwaWVudHM/Lmxlbmd0aCA/PyAoISFtZXNzYWdlLnJlY2lwaWVudCA/IDEgOiAwKTtcbiAgICAgIG1lc3NhZ2UucmVjaXBpZW50cyA9IGlzTm90RW1wdHlBcnJheShtZXNzYWdlLnJlY2lwaWVudHMpID8gbWVzc2FnZS5yZWNpcGllbnRzIDogbWVzc2FnZS5yZWNpcGllbnQgPyBbbWVzc2FnZS5yZWNpcGllbnRdIDogW107XG4gICAgICBkZWxldGUgbWVzc2FnZS5yZWNpcGllbnQ7XG4gICAgfVxuICAgIGNvbnN0IGNhblJlY2lwaWVudEZpbHRlciA9XG4gICAgICBtZXNzYWdlLnJlY2lwaWVudEZpbHRlciAmJiAhbWVzc2FnZS5yZWNpcGllbnRGaWx0ZXIuaXNFbXB0eSgpICYmICh0aGlzLmFjY291bnRTZXJ2aWNlLmlzQWRtaW4oKSB8fCB0aGlzLmFjY291bnRTZXJ2aWNlLmlzU3VwZXJ2aXNvcigpKTtcblxuICAgIGNvbnN0IGhhc1RvcE1vZGFsID0gISEoYXdhaXQgdGhpcy5tb2RhbEN0cmwuZ2V0VG9wKCkpO1xuICAgIGNvbnN0IG1vZGFsID0gYXdhaXQgdGhpcy5tb2RhbEN0cmwuY3JlYXRlKHtcbiAgICAgIGNvbXBvbmVudDogTWVzc2FnZU1vZGFsLFxuICAgICAgY29tcG9uZW50UHJvcHM6IDxNZXNzYWdlTW9kYWxPcHRpb25zPntcbiAgICAgICAgdGl0bGU6ICdTT0NJQUwuRkVFRC5FRElUX1RJVExFJyxcbiAgICAgICAgc3VnZ2VzdEZuOiAodmFsdWUsIGZpbHRlciwgc29ydEJ5LCBzb3J0RGlyZWN0aW9uLCBvcHRzKSA9PiB0aGlzLnBlcnNvblNlcnZpY2Uuc3VnZ2VzdCh2YWx1ZSwgZmlsdGVyLCBzb3J0QnksIHNvcnREaXJlY3Rpb24sIG9wdHMpLFxuICAgICAgICBjYW5TZWxlY3RUeXBlOiBmYWxzZSxcbiAgICAgICAgY2FuUmVjaXBpZW50RmlsdGVyLFxuICAgICAgICByZWNpcGllbnRGaWx0ZXJDb3VudCxcbiAgICAgICAgZGF0YTogbWVzc2FnZSxcbiAgICAgICAgZGVidWc6IHRoaXMuX2RlYnVnLFxuICAgICAgfSxcbiAgICAgIGNzc0NsYXNzOiBoYXNUb3BNb2RhbCAmJiAnc3RhY2stbW9kYWwnLFxuICAgIH0pO1xuXG4gICAgLy8gT3BlbiB0aGUgbW9kYWxcbiAgICBhd2FpdCBtb2RhbC5wcmVzZW50KCk7XG5cbiAgICAvLyBPbiBkaXNtaXNzXG4gICAgY29uc3QgeyBkYXRhIH0gPSBhd2FpdCBtb2RhbC5vbkRpZERpc21pc3MoKTtcbiAgICBpZiAoIWRhdGEgfHwgIShkYXRhIGluc3RhbmNlb2YgTWVzc2FnZSkpIHJldHVybiB0cnVlOyAvLyBDQU5DRUxMRURcblxuICAgIC8vIFJlc3RvcmUgaWQgYW5kIHVwZGF0ZURhdGUgKGZvcm0gY2FuIGxvc3QgaXQpXG4gICAgZGF0YS5pZCA9IGRhdGEuaWQgPz8gbWVzc2FnZS5pZDtcbiAgICBkYXRhLnVwZGF0ZURhdGUgPSBkYXRhLnVwZGF0ZURhdGUgPz8gbWVzc2FnZS51cGRhdGVEYXRlO1xuXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMubWVzc2FnZVNlcnZpY2Uuc2VuZChkYXRhLCBvcHRzKTtcbiAgfVxuXG4gIGFzeW5jIGRlbGV0ZUl0ZW0oZmVlZEl0ZW06IEpzb25GZWVkSXRlbSk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IG1lc3NhZ2VJZCA9ICtmZWVkSXRlbS5pZDtcbiAgICBpZiAoaXNOaWxPck5hTihtZXNzYWdlSWQpKSB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBkZWxldGUgbWVzc2FnZSAtIGludmFsaWQgaWQ6ICR7ZmVlZEl0ZW0uaWR9YCk7XG5cbiAgICByZXR1cm4gYXdhaXQgdGhpcy5tZXNzYWdlU2VydmljZS5kZWxldGUobWVzc2FnZUlkKTtcbiAgfVxuXG4gIC8qIC0tIHByb3RlY3RlZCBmdW5jdGlvbnMgLS0gKi9cblxuICBwcm90ZWN0ZWQgYXN5bmMgcmVzb2x2ZUZlZWQoXG4gICAganNvbjogYW55LFxuICAgIHVybDogc3RyaW5nLFxuICAgIG9wdHM/OiB7XG4gICAgICBsb2NhbGU/OiBzdHJpbmc7XG4gICAgICBtYXhBZ2VJbk1vbnRocz86IG51bWJlcjtcbiAgICAgIG1heENvbnRlbnRMZW5ndGg/OiBudW1iZXI7XG4gICAgICAvLyBJbnRlcm5hbCBvcHRpb25zIChmb3IgcmVjdXJzaXZlIGNhbGxzKVxuICAgICAgZGVwdGg/OiBudW1iZXI7XG4gICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgfVxuICApOiBQcm9taXNlPEpzb25GZWVkW10+IHtcbiAgICAvLyBDaGVjayBqc29uIGlzIEpzb25GZWVkIGNvbXBhdGlibGVcbiAgICBpZiAoSnNvbkZlZWRVdGlscy5pc0pzb25GZWVkKGpzb24pKSB7XG4gICAgICAvLyBNaWdyYXRlIGZyb20gb2xkIHZlcnNpb25zXG4gICAgICBsZXQgZmVlZCA9IEpzb25GZWVkVXRpbHMubWlncmF0ZUZlZWQoanNvbik7XG5cbiAgICAgIC8vIFJlc29sdmUgaXRlbXMgKGUuZy4gdXNpbmcgZmVlZC5uZXh0X3VybClcbiAgICAgIGZlZWQgPSBhd2FpdCB0aGlzLnJlc29sdmVGZWVkSXRlbXMoZmVlZCwgeyAuLi5vcHRzLCBkZXB0aDogb3B0cz8uZGVwdGggPz8gMCB9KTtcblxuICAgICAgLy8gVHJ1bmNhdGUgaHRtbFxuICAgICAgSnNvbkZlZWRVdGlscy50cnVuY2F0ZUZlZWRJdGVtc0h0bWwoZmVlZCwgb3B0cyk7XG5cbiAgICAgIHJldHVybiBpc05vdEVtcHR5QXJyYXkoZmVlZD8uaXRlbXMpID8gW2ZlZWRdIDogW107XG4gICAgfVxuXG4gICAgLy8gbm90IHJlc29sdmVkICh1bmtub3duIGZvcm1hdClcbiAgICByZXR1cm4gW107XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgcmVzb2x2ZUZlZWRJdGVtcyhcbiAgICBqc29uOiBKc29uRmVlZCxcbiAgICBvcHRzPzoge1xuICAgICAgbWF4Q29udGVudExlbmd0aD86IG51bWJlcjtcbiAgICAgIGRlcHRoPzogbnVtYmVyO1xuICAgIH1cbiAgKTogUHJvbWlzZTxKc29uRmVlZD4ge1xuICAgIGlmICghanNvbikgcmV0dXJuIGpzb247XG5cbiAgICAvLyBMb2FkIGl0ZW1zXG4gICAgaWYgKGlzRW1wdHlBcnJheShqc29uLml0ZW1zKSAmJiBpc05vdE5pbE9yQmxhbmsoanNvbi5uZXh0X3VybCkpIHtcbiAgICAgIGNvbnN0IGRlcHRoID0gb3B0cz8uZGVwdGggPz8gMDtcbiAgICAgIGlmIChkZXB0aCA+PSAzKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihgJHt0aGlzLl9sb2dQcmVmaXh9TWF4IGRlcHRoIHJlYWNoZWQgKCR7ZGVwdGh9KSBmb3IgJHtqc29uLmZlZWRfdXJsfWApO1xuICAgICAgICByZXR1cm4ganNvbjtcbiAgICAgIH1cblxuICAgICAgLy8gTG9hZCBpdGVtc1xuICAgICAgY29uc3QgZmVlZCA9IGF3YWl0IHRoaXMubG9hZChqc29uLm5leHRfdXJsLCB7IC4uLm9wdHMsIGRlcHRoOiBkZXB0aCArIDEgfSk7XG5cbiAgICAgIGlmIChpc0VtcHR5QXJyYXkoZmVlZD8uaXRlbXMpKSB7XG4gICAgICAgIHJldHVybiBqc29uO1xuICAgICAgfVxuXG4gICAgICAvLyBNZXJnZSB3aXRoIHRoZSBpbnB1dCBqc29uXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5qc29uLFxuICAgICAgICB0aXRsZToganNvbi50aXRsZSA/PyBmZWVkLnRpdGxlLFxuICAgICAgICBob21lX3BhZ2VfdXJsOiBqc29uLmhvbWVfcGFnZV91cmwgPz8gZmVlZC5ob21lX3BhZ2VfdXJsLFxuICAgICAgICBhdXRob3JzOiBpc05vdEVtcHR5QXJyYXkoanNvbi5hdXRob3JzKSA/IGpzb24uYXV0aG9ycyA6IGZlZWQuYXV0aG9ycyxcbiAgICAgICAgaXRlbXM6IGZlZWQuaXRlbXMsXG4gICAgICAgIHRhZ190ZW1wbGF0ZToganNvbi50YWdfdGVtcGxhdGUgPz8gZmVlZC50YWdfdGVtcGxhdGUsXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiBqc29uO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uQWZ0ZXJMb2FkQWxsKCkge1xuICAgIGNvbnNvbGUuZGVidWcoYCR7dGhpcy5fbG9nUHJlZml4fUZlZWRzIGxvYWRlZGApO1xuICB9XG59XG4iXX0=
@@ -1,66 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, Inject, Optional } from '@angular/core';
2
- import { ENVIRONMENT } from '../../../../environments/environment.class';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../../../core/services/local-settings.service";
5
- import * as i2 from "@angular/common";
6
- import * as i3 from "@ionic/angular";
7
- import * as i4 from "@angular/material/form-field";
8
- import * as i5 from "@angular/material/checkbox";
9
- import * as i6 from "@angular/material/select";
10
- import * as i7 from "@angular/material/core";
11
- import * as i8 from "../feed.component";
12
- import * as i9 from "../../../../environments/environment.class";
13
- export class FeedTestingPage {
14
- settings;
15
- cd;
16
- environment;
17
- availableFeedUrls = [
18
- 'https://raw.githubusercontent.com/duniter/cesium/master/doc/feed/1.1/feed-fr-FR.json',
19
- 'https://raw.githubusercontent.com/duniter/cesium/master/doc/feed/feed-fr.json',
20
- ];
21
- availableColors = [
22
- 'light-transparent',
23
- 'accent',
24
- 'primary',
25
- 'secondary',
26
- 'tertiary',
27
- 'danger',
28
- 'light',
29
- 'medium',
30
- 'dark',
31
- 'transparent',
32
- ];
33
- availableShapes = ['round', 'legacy'];
34
- debug = false;
35
- feedUrls;
36
- shape = 'legacy';
37
- headerColor = 'secondary';
38
- cardColor = 'light';
39
- constructor(settings, cd, environment) {
40
- this.settings = settings;
41
- this.cd = cd;
42
- this.environment = environment;
43
- this.settings.ready().then((settings) => this.start(settings));
44
- }
45
- start(settings) {
46
- const locale = settings.locale || this.environment?.defaultLocale || 'fr';
47
- this.feedUrls = this.environment?.feed?.jsonFeed?.[locale] || [
48
- 'https://raw.githubusercontent.com/duniter/cesium/master/doc/feed/1.1/feed-fr-FR.json',
49
- 'https://raw.githubusercontent.com/duniter/cesium/master/doc/feed/feed-fr.json',
50
- ];
51
- console.debug('[feed-testing] Feed URLs:', this.feedUrls);
52
- this.cd.markForCheck();
53
- }
54
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FeedTestingPage, deps: [{ token: i1.LocalSettingsService }, { token: i0.ChangeDetectorRef }, { token: ENVIRONMENT, optional: true }], target: i0.ɵɵFactoryTarget.Component });
55
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: FeedTestingPage, selector: "app-feed-test", ngImport: i0, template: "<ion-header>\n <ion-toolbar color=\"primary\">\n <ion-buttons slot=\"start\">\n <ion-back-button></ion-back-button>\n </ion-buttons>\n\n <ion-title>Feed test page</ion-title>\n </ion-toolbar>\n</ion-header>\n\n<ion-content>\n <ion-grid class=\"form-container ion-padding-top\">\n <ion-row>\n <ion-col size=\"12\">\n <mat-form-field [subscriptSizing]=\"'dynamic'\">\n <mat-label>Feed URL(s)</mat-label>\n <mat-select [(value)]=\"feedUrls\" multiple>\n <mat-option *ngFor=\"let feedUrl of availableFeedUrls\" [value]=\"feedUrl\">\n {{ feedUrl }}\n </mat-option>\n <mat-option>(Use environment)</mat-option>\n </mat-select>\n </mat-form-field>\n </ion-col>\n </ion-row>\n <ion-row>\n <ion-col size=\"3\">\n <mat-form-field [subscriptSizing]=\"'dynamic'\">\n <mat-label>Header color</mat-label>\n <mat-select [(value)]=\"headerColor\">\n <mat-option *ngFor=\"let color of availableColors\" [value]=\"color\">\n {{ color }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </ion-col>\n <ion-col size=\"3\">\n <mat-form-field [subscriptSizing]=\"'dynamic'\">\n <mat-label>Card color</mat-label>\n <mat-select [(value)]=\"cardColor\">\n <mat-option *ngFor=\"let color of availableColors\" [value]=\"color\">\n {{ color }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </ion-col>\n <ion-col size=\"3\">\n <mat-form-field [subscriptSizing]=\"'dynamic'\">\n <mat-label>Shape</mat-label>\n <mat-select [(value)]=\"shape\">\n <mat-option *ngFor=\"let shape of availableShapes\" [value]=\"shape\">\n {{ shape }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </ion-col>\n <ion-col size=\"3\">\n <mat-checkbox (change)=\"debug = $event.checked\" [checked]=\"debug\">Debug ?</mat-checkbox>\n </ion-col>\n </ion-row>\n </ion-grid>\n\n <div class=\"ion-padding\">\n <app-feed\n [urls]=\"feedUrls\"\n [headerColor]=\"headerColor\"\n [cardColor]=\"cardColor\"\n [shape]=\"shape\"\n [debug]=\"debug\"\n ></app-feed>\n </div>\n</ion-content>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i3.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: i3.IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { kind: "component", type: i3.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i3.IonGrid, selector: "ion-grid", inputs: ["fixed"] }, { kind: "component", type: i3.IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i3.IonRow, selector: "ion-row" }, { kind: "component", type: i3.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: i3.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: i3.IonBackButton, selector: "ion-back-button" }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "component", type: i5.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "component", type: i6.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i7.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i8.FeedsComponent, selector: "app-feed", inputs: ["debug", "mobile", "showHeader", "showReadMoreButton", "headerColor", "cardColor", "shape", "class", "itemId", "filterItem", "feeds", "urls", "maxAgeInMonths", "maxContentLength"], outputs: ["editItem", "deleteItem"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
56
- }
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FeedTestingPage, decorators: [{
58
- type: Component,
59
- args: [{ selector: 'app-feed-test', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ion-header>\n <ion-toolbar color=\"primary\">\n <ion-buttons slot=\"start\">\n <ion-back-button></ion-back-button>\n </ion-buttons>\n\n <ion-title>Feed test page</ion-title>\n </ion-toolbar>\n</ion-header>\n\n<ion-content>\n <ion-grid class=\"form-container ion-padding-top\">\n <ion-row>\n <ion-col size=\"12\">\n <mat-form-field [subscriptSizing]=\"'dynamic'\">\n <mat-label>Feed URL(s)</mat-label>\n <mat-select [(value)]=\"feedUrls\" multiple>\n <mat-option *ngFor=\"let feedUrl of availableFeedUrls\" [value]=\"feedUrl\">\n {{ feedUrl }}\n </mat-option>\n <mat-option>(Use environment)</mat-option>\n </mat-select>\n </mat-form-field>\n </ion-col>\n </ion-row>\n <ion-row>\n <ion-col size=\"3\">\n <mat-form-field [subscriptSizing]=\"'dynamic'\">\n <mat-label>Header color</mat-label>\n <mat-select [(value)]=\"headerColor\">\n <mat-option *ngFor=\"let color of availableColors\" [value]=\"color\">\n {{ color }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </ion-col>\n <ion-col size=\"3\">\n <mat-form-field [subscriptSizing]=\"'dynamic'\">\n <mat-label>Card color</mat-label>\n <mat-select [(value)]=\"cardColor\">\n <mat-option *ngFor=\"let color of availableColors\" [value]=\"color\">\n {{ color }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </ion-col>\n <ion-col size=\"3\">\n <mat-form-field [subscriptSizing]=\"'dynamic'\">\n <mat-label>Shape</mat-label>\n <mat-select [(value)]=\"shape\">\n <mat-option *ngFor=\"let shape of availableShapes\" [value]=\"shape\">\n {{ shape }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </ion-col>\n <ion-col size=\"3\">\n <mat-checkbox (change)=\"debug = $event.checked\" [checked]=\"debug\">Debug ?</mat-checkbox>\n </ion-col>\n </ion-row>\n </ion-grid>\n\n <div class=\"ion-padding\">\n <app-feed\n [urls]=\"feedUrls\"\n [headerColor]=\"headerColor\"\n [cardColor]=\"cardColor\"\n [shape]=\"shape\"\n [debug]=\"debug\"\n ></app-feed>\n </div>\n</ion-content>\n" }]
60
- }], ctorParameters: () => [{ type: i1.LocalSettingsService }, { type: i0.ChangeDetectorRef }, { type: i9.Environment, decorators: [{
61
- type: Optional
62
- }, {
63
- type: Inject,
64
- args: [ENVIRONMENT]
65
- }] }] });
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlZC50ZXN0aW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zb2NpYWwvZmVlZC90ZXN0aW5nL2ZlZWQudGVzdGluZy50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc29jaWFsL2ZlZWQvdGVzdGluZy9mZWVkLnRlc3RpbmcuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hHLE9BQU8sRUFBZSxXQUFXLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQzs7Ozs7Ozs7Ozs7QUFVdEYsTUFBTSxPQUFPLGVBQWU7SUEwQmQ7SUFDQTtJQUMrQjtJQTNCakMsaUJBQWlCLEdBQWE7UUFDdEMsc0ZBQXNGO1FBQ3RGLCtFQUErRTtLQUNoRixDQUFDO0lBQ1EsZUFBZSxHQUF3QztRQUMvRCxtQkFBbUI7UUFDbkIsUUFBUTtRQUNSLFNBQVM7UUFDVCxXQUFXO1FBQ1gsVUFBVTtRQUNWLFFBQVE7UUFDUixPQUFPO1FBQ1AsUUFBUTtRQUNSLE1BQU07UUFDTixhQUFhO0tBQ2QsQ0FBQztJQUNRLGVBQWUsR0FBRyxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztJQUV0QyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ2QsUUFBUSxDQUFXO0lBQ25CLEtBQUssR0FBdUIsUUFBUSxDQUFDO0lBQ3JDLFdBQVcsR0FBb0MsV0FBVyxDQUFDO0lBQzNELFNBQVMsR0FBb0MsT0FBTyxDQUFDO0lBRS9ELFlBQ1ksUUFBOEIsRUFDOUIsRUFBcUIsRUFDVSxXQUF3QjtRQUZ2RCxhQUFRLEdBQVIsUUFBUSxDQUFzQjtRQUM5QixPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQUNVLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBRWpFLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVTLEtBQUssQ0FBQyxRQUF1QjtRQUNyQyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsYUFBYSxJQUFJLElBQUksQ0FBQztRQUMxRSxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJO1lBQzVELHNGQUFzRjtZQUN0RiwrRUFBK0U7U0FDaEYsQ0FBQztRQUNGLE9BQU8sQ0FBQyxLQUFLLENBQUMsMkJBQTJCLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzFELElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDekIsQ0FBQzt3R0F6Q1UsZUFBZSx1RkE0QkosV0FBVzs0RkE1QnRCLGVBQWUscURDWDVCLDIwRUF3RUE7OzRGRDdEYSxlQUFlO2tCQUwzQixTQUFTOytCQUNFLGVBQWUsbUJBRVIsdUJBQXVCLENBQUMsTUFBTTs7MEJBOEI1QyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5qZWN0LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRW52aXJvbm1lbnQsIEVOVklST05NRU5UIH0gZnJvbSAnLi4vLi4vLi4vLi4vZW52aXJvbm1lbnRzL2Vudmlyb25tZW50LmNsYXNzJztcbmltcG9ydCB7IExvY2FsU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy9sb2NhbC1zZXR0aW5ncy5zZXJ2aWNlJztcbmltcG9ydCB7IExvY2FsU2V0dGluZ3MgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3NlcnZpY2VzL21vZGVsL3NldHRpbmdzLm1vZGVsJztcbmltcG9ydCB7IEFwcENvbG9ycyB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1mZWVkLXRlc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vZmVlZC50ZXN0aW5nLmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRmVlZFRlc3RpbmdQYWdlIHtcbiAgcHJvdGVjdGVkIGF2YWlsYWJsZUZlZWRVcmxzOiBzdHJpbmdbXSA9IFtcbiAgICAnaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2R1bml0ZXIvY2VzaXVtL21hc3Rlci9kb2MvZmVlZC8xLjEvZmVlZC1mci1GUi5qc29uJyxcbiAgICAnaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2R1bml0ZXIvY2VzaXVtL21hc3Rlci9kb2MvZmVlZC9mZWVkLWZyLmpzb24nLFxuICBdO1xuICBwcm90ZWN0ZWQgYXZhaWxhYmxlQ29sb3JzOiAoQXBwQ29sb3JzIHwgJ2xpZ2h0LXRyYW5zcGFyZW50JylbXSA9IFtcbiAgICAnbGlnaHQtdHJhbnNwYXJlbnQnLFxuICAgICdhY2NlbnQnLFxuICAgICdwcmltYXJ5JyxcbiAgICAnc2Vjb25kYXJ5JyxcbiAgICAndGVydGlhcnknLFxuICAgICdkYW5nZXInLFxuICAgICdsaWdodCcsXG4gICAgJ21lZGl1bScsXG4gICAgJ2RhcmsnLFxuICAgICd0cmFuc3BhcmVudCcsXG4gIF07XG4gIHByb3RlY3RlZCBhdmFpbGFibGVTaGFwZXMgPSBbJ3JvdW5kJywgJ2xlZ2FjeSddO1xuXG4gIHByb3RlY3RlZCBkZWJ1ZyA9IGZhbHNlO1xuICBwcm90ZWN0ZWQgZmVlZFVybHM6IHN0cmluZ1tdO1xuICBwcm90ZWN0ZWQgc2hhcGU6ICdyb3VuZCcgfCAnbGVnYWN5JyA9ICdsZWdhY3knO1xuICBwcm90ZWN0ZWQgaGVhZGVyQ29sb3I6IEFwcENvbG9ycyB8ICdsaWdodC10cmFuc3BhcmVudCcgPSAnc2Vjb25kYXJ5JztcbiAgcHJvdGVjdGVkIGNhcmRDb2xvcjogQXBwQ29sb3JzIHwgJ2xpZ2h0LXRyYW5zcGFyZW50JyA9ICdsaWdodCc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIHNldHRpbmdzOiBMb2NhbFNldHRpbmdzU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRU5WSVJPTk1FTlQpIHByaXZhdGUgZW52aXJvbm1lbnQ6IEVudmlyb25tZW50XG4gICkge1xuICAgIHRoaXMuc2V0dGluZ3MucmVhZHkoKS50aGVuKChzZXR0aW5ncykgPT4gdGhpcy5zdGFydChzZXR0aW5ncykpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHN0YXJ0KHNldHRpbmdzOiBMb2NhbFNldHRpbmdzKSB7XG4gICAgY29uc3QgbG9jYWxlID0gc2V0dGluZ3MubG9jYWxlIHx8IHRoaXMuZW52aXJvbm1lbnQ/LmRlZmF1bHRMb2NhbGUgfHwgJ2ZyJztcbiAgICB0aGlzLmZlZWRVcmxzID0gdGhpcy5lbnZpcm9ubWVudD8uZmVlZD8uanNvbkZlZWQ/Lltsb2NhbGVdIHx8IFtcbiAgICAgICdodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZHVuaXRlci9jZXNpdW0vbWFzdGVyL2RvYy9mZWVkLzEuMS9mZWVkLWZyLUZSLmpzb24nLFxuICAgICAgJ2h0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9kdW5pdGVyL2Nlc2l1bS9tYXN0ZXIvZG9jL2ZlZWQvZmVlZC1mci5qc29uJyxcbiAgICBdO1xuICAgIGNvbnNvbGUuZGVidWcoJ1tmZWVkLXRlc3RpbmddIEZlZWQgVVJMczonLCB0aGlzLmZlZWRVcmxzKTtcbiAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICB9XG59XG4iLCI8aW9uLWhlYWRlcj5cbiAgPGlvbi10b29sYmFyIGNvbG9yPVwicHJpbWFyeVwiPlxuICAgIDxpb24tYnV0dG9ucyBzbG90PVwic3RhcnRcIj5cbiAgICAgIDxpb24tYmFjay1idXR0b24+PC9pb24tYmFjay1idXR0b24+XG4gICAgPC9pb24tYnV0dG9ucz5cblxuICAgIDxpb24tdGl0bGU+RmVlZCB0ZXN0IHBhZ2U8L2lvbi10aXRsZT5cbiAgPC9pb24tdG9vbGJhcj5cbjwvaW9uLWhlYWRlcj5cblxuPGlvbi1jb250ZW50PlxuICA8aW9uLWdyaWQgY2xhc3M9XCJmb3JtLWNvbnRhaW5lciBpb24tcGFkZGluZy10b3BcIj5cbiAgICA8aW9uLXJvdz5cbiAgICAgIDxpb24tY29sIHNpemU9XCIxMlwiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgW3N1YnNjcmlwdFNpemluZ109XCInZHluYW1pYydcIj5cbiAgICAgICAgICA8bWF0LWxhYmVsPkZlZWQgVVJMKHMpPC9tYXQtbGFiZWw+XG4gICAgICAgICAgPG1hdC1zZWxlY3QgWyh2YWx1ZSldPVwiZmVlZFVybHNcIiBtdWx0aXBsZT5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBmZWVkVXJsIG9mIGF2YWlsYWJsZUZlZWRVcmxzXCIgW3ZhbHVlXT1cImZlZWRVcmxcIj5cbiAgICAgICAgICAgICAge3sgZmVlZFVybCB9fVxuICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgPG1hdC1vcHRpb24+KFVzZSBlbnZpcm9ubWVudCk8L21hdC1vcHRpb24+XG4gICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9pb24tY29sPlxuICAgIDwvaW9uLXJvdz5cbiAgICA8aW9uLXJvdz5cbiAgICAgIDxpb24tY29sIHNpemU9XCIzXCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBbc3Vic2NyaXB0U2l6aW5nXT1cIidkeW5hbWljJ1wiPlxuICAgICAgICAgIDxtYXQtbGFiZWw+SGVhZGVyIGNvbG9yPC9tYXQtbGFiZWw+XG4gICAgICAgICAgPG1hdC1zZWxlY3QgWyh2YWx1ZSldPVwiaGVhZGVyQ29sb3JcIj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBjb2xvciBvZiBhdmFpbGFibGVDb2xvcnNcIiBbdmFsdWVdPVwiY29sb3JcIj5cbiAgICAgICAgICAgICAge3sgY29sb3IgfX1cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2lvbi1jb2w+XG4gICAgICA8aW9uLWNvbCBzaXplPVwiM1wiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgW3N1YnNjcmlwdFNpemluZ109XCInZHluYW1pYydcIj5cbiAgICAgICAgICA8bWF0LWxhYmVsPkNhcmQgY29sb3I8L21hdC1sYWJlbD5cbiAgICAgICAgICA8bWF0LXNlbGVjdCBbKHZhbHVlKV09XCJjYXJkQ29sb3JcIj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBjb2xvciBvZiBhdmFpbGFibGVDb2xvcnNcIiBbdmFsdWVdPVwiY29sb3JcIj5cbiAgICAgICAgICAgICAge3sgY29sb3IgfX1cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2lvbi1jb2w+XG4gICAgICA8aW9uLWNvbCBzaXplPVwiM1wiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgW3N1YnNjcmlwdFNpemluZ109XCInZHluYW1pYydcIj5cbiAgICAgICAgICA8bWF0LWxhYmVsPlNoYXBlPC9tYXQtbGFiZWw+XG4gICAgICAgICAgPG1hdC1zZWxlY3QgWyh2YWx1ZSldPVwic2hhcGVcIj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBzaGFwZSBvZiBhdmFpbGFibGVTaGFwZXNcIiBbdmFsdWVdPVwic2hhcGVcIj5cbiAgICAgICAgICAgICAge3sgc2hhcGUgfX1cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2lvbi1jb2w+XG4gICAgICA8aW9uLWNvbCBzaXplPVwiM1wiPlxuICAgICAgICA8bWF0LWNoZWNrYm94IChjaGFuZ2UpPVwiZGVidWcgPSAkZXZlbnQuY2hlY2tlZFwiIFtjaGVja2VkXT1cImRlYnVnXCI+RGVidWcgPzwvbWF0LWNoZWNrYm94PlxuICAgICAgPC9pb24tY29sPlxuICAgIDwvaW9uLXJvdz5cbiAgPC9pb24tZ3JpZD5cblxuICA8ZGl2IGNsYXNzPVwiaW9uLXBhZGRpbmdcIj5cbiAgICA8YXBwLWZlZWRcbiAgICAgIFt1cmxzXT1cImZlZWRVcmxzXCJcbiAgICAgIFtoZWFkZXJDb2xvcl09XCJoZWFkZXJDb2xvclwiXG4gICAgICBbY2FyZENvbG9yXT1cImNhcmRDb2xvclwiXG4gICAgICBbc2hhcGVdPVwic2hhcGVcIlxuICAgICAgW2RlYnVnXT1cImRlYnVnXCJcbiAgICA+PC9hcHAtZmVlZD5cbiAgPC9kaXY+XG48L2lvbi1jb250ZW50PlxuIl19
@@ -1,23 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { TranslateModule } from '@ngx-translate/core';
3
- import { SharedModule } from '../../../shared/shared.module';
4
- import { FeedTestingPage } from './feed.testing';
5
- import { FeedModule } from '../feed.module';
6
- import { ReactiveFormsModule } from '@angular/forms';
7
- import { MatSelectModule } from '@angular/material/select';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "@ngx-translate/core";
10
- export class FeedTestingModule {
11
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FeedTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: FeedTestingModule, declarations: [FeedTestingPage], imports: [SharedModule, i1.TranslateModule, FeedModule, ReactiveFormsModule, MatSelectModule], exports: [FeedTestingPage, FeedModule] });
13
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FeedTestingModule, imports: [SharedModule, TranslateModule.forChild(), FeedModule, ReactiveFormsModule, MatSelectModule, FeedModule] });
14
- }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FeedTestingModule, decorators: [{
16
- type: NgModule,
17
- args: [{
18
- imports: [SharedModule, TranslateModule.forChild(), FeedModule, ReactiveFormsModule, MatSelectModule],
19
- declarations: [FeedTestingPage],
20
- exports: [FeedTestingPage, FeedModule],
21
- }]
22
- }] });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlZC50ZXN0aW5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc29jaWFsL2ZlZWQvdGVzdGluZy9mZWVkLnRlc3RpbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBTzNELE1BQU0sT0FBTyxpQkFBaUI7d0dBQWpCLGlCQUFpQjt5R0FBakIsaUJBQWlCLGlCQUhiLGVBQWUsYUFEcEIsWUFBWSxzQkFBOEIsVUFBVSxFQUFFLG1CQUFtQixFQUFFLGVBQWUsYUFFMUYsZUFBZSxFQUFFLFVBQVU7eUdBRTFCLGlCQUFpQixZQUpsQixZQUFZLEVBQUUsZUFBZSxDQUFDLFFBQVEsRUFBRSxFQUFFLFVBQVUsRUFBRSxtQkFBbUIsRUFBRSxlQUFlLEVBRXpFLFVBQVU7OzRGQUUxQixpQkFBaUI7a0JBTDdCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGVBQWUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxVQUFVLEVBQUUsbUJBQW1CLEVBQUUsZUFBZSxDQUFDO29CQUNyRyxZQUFZLEVBQUUsQ0FBQyxlQUFlLENBQUM7b0JBQy9CLE9BQU8sRUFBRSxDQUFDLGVBQWUsRUFBRSxVQUFVLENBQUM7aUJBQ3ZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgU2hhcmVkTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL3NoYXJlZC5tb2R1bGUnO1xuaW1wb3J0IHsgRmVlZFRlc3RpbmdQYWdlIH0gZnJvbSAnLi9mZWVkLnRlc3RpbmcnO1xuaW1wb3J0IHsgRmVlZE1vZHVsZSB9IGZyb20gJy4uL2ZlZWQubW9kdWxlJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbU2hhcmVkTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGUuZm9yQ2hpbGQoKSwgRmVlZE1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgTWF0U2VsZWN0TW9kdWxlXSxcbiAgZGVjbGFyYXRpb25zOiBbRmVlZFRlc3RpbmdQYWdlXSxcbiAgZXhwb3J0czogW0ZlZWRUZXN0aW5nUGFnZSwgRmVlZE1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIEZlZWRUZXN0aW5nTW9kdWxlIHt9XG4iXX0=
@@ -1,23 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { TranslateModule } from '@ngx-translate/core';
4
- import { SharedModule } from '../../shared/shared.module';
5
- import { JobProgressionIcon } from './progression/job-progression.icon';
6
- import { JobProgressionList } from './progression/job-progression.list';
7
- import { JobProgressionComponent } from './progression/job-progression.component';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "@ngx-translate/core";
10
- export class JobModule {
11
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: JobModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: JobModule, declarations: [JobProgressionIcon, JobProgressionList, JobProgressionComponent], imports: [CommonModule, SharedModule, i1.TranslateModule], exports: [JobProgressionIcon, JobProgressionList, JobProgressionComponent] });
13
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: JobModule, imports: [CommonModule, SharedModule, TranslateModule.forChild()] });
14
- }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: JobModule, decorators: [{
16
- type: NgModule,
17
- args: [{
18
- imports: [CommonModule, SharedModule, TranslateModule.forChild()],
19
- declarations: [JobProgressionIcon, JobProgressionList, JobProgressionComponent],
20
- exports: [JobProgressionIcon, JobProgressionList, JobProgressionComponent],
21
- }]
22
- }] });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam9iLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc29jaWFsL2pvYi9qb2IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDeEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDeEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUNBQXlDLENBQUM7OztBQU9sRixNQUFNLE9BQU8sU0FBUzt3R0FBVCxTQUFTO3lHQUFULFNBQVMsaUJBSEwsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsdUJBQXVCLGFBRHBFLFlBQVksRUFBRSxZQUFZLGlDQUUxQixrQkFBa0IsRUFBRSxrQkFBa0IsRUFBRSx1QkFBdUI7eUdBRTlELFNBQVMsWUFKVixZQUFZLEVBQUUsWUFBWSxFQUFFLGVBQWUsQ0FBQyxRQUFRLEVBQUU7OzRGQUlyRCxTQUFTO2tCQUxyQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDO29CQUNqRSxZQUFZLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxrQkFBa0IsRUFBRSx1QkFBdUIsQ0FBQztvQkFDL0UsT0FBTyxFQUFFLENBQUMsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsdUJBQXVCLENBQUM7aUJBQzNFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IFNoYXJlZE1vZHVsZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9zaGFyZWQubW9kdWxlJztcbmltcG9ydCB7IEpvYlByb2dyZXNzaW9uSWNvbiB9IGZyb20gJy4vcHJvZ3Jlc3Npb24vam9iLXByb2dyZXNzaW9uLmljb24nO1xuaW1wb3J0IHsgSm9iUHJvZ3Jlc3Npb25MaXN0IH0gZnJvbSAnLi9wcm9ncmVzc2lvbi9qb2ItcHJvZ3Jlc3Npb24ubGlzdCc7XG5pbXBvcnQgeyBKb2JQcm9ncmVzc2lvbkNvbXBvbmVudCB9IGZyb20gJy4vcHJvZ3Jlc3Npb24vam9iLXByb2dyZXNzaW9uLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFNoYXJlZE1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLmZvckNoaWxkKCldLFxuICBkZWNsYXJhdGlvbnM6IFtKb2JQcm9ncmVzc2lvbkljb24sIEpvYlByb2dyZXNzaW9uTGlzdCwgSm9iUHJvZ3Jlc3Npb25Db21wb25lbnRdLFxuICBleHBvcnRzOiBbSm9iUHJvZ3Jlc3Npb25JY29uLCBKb2JQcm9ncmVzc2lvbkxpc3QsIEpvYlByb2dyZXNzaW9uQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgSm9iTW9kdWxlIHt9XG4iXX0=
@@ -1,38 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
- import { RxState } from '@rx-angular/state';
3
- import { map } from 'rxjs/operators';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common";
6
- import * as i2 from "@ionic/angular";
7
- import * as i3 from "@rx-angular/template/push";
8
- export class JobProgressionComponent extends RxState {
9
- showName = true;
10
- jobProgression$;
11
- name$ = this.select('name');
12
- message$ = this.select('message');
13
- value$ = this.select('value');
14
- type$ = this.select('type');
15
- constructor() {
16
- super();
17
- }
18
- ngOnInit() {
19
- this.connect('name', this.jobProgression$.pipe(map((value) => value.name)));
20
- this.connect('message', this.jobProgression$.pipe(map((value) => value.message)));
21
- this.connect('value', this.jobProgression$.pipe(map((value) => (value.total > 0 ? value.current / value.total : undefined))));
22
- this.connect('type', this.jobProgression$.pipe(map((value) => (value.total > 0 ? 'determinate' : 'indeterminate'))));
23
- }
24
- ngOnDestroy() {
25
- super.ngOnDestroy();
26
- }
27
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: JobProgressionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
28
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: JobProgressionComponent, selector: "app-job-progression-component", inputs: { showName: "showName", jobProgression$: "jobProgression$" }, usesInheritance: true, ngImport: i0, template: "<ion-item class=\"ion-item-job-progression\">\n <ion-grid class=\"ion-no-margin\">\n <ion-row *ngIf=\"showName\" class=\"name\">\n <ion-col>\n {{ name$ | push }}\n </ion-col>\n </ion-row>\n <ion-row class=\"message\">\n <ion-col>\n {{ message$ | push }}\n </ion-col>\n </ion-row>\n <ion-row class=\"progress-bar\">\n <ion-col>\n <ion-progress-bar [value]=\"value$ | push\" [type]=\"type$ | push\"></ion-progress-bar>\n </ion-col>\n </ion-row>\n </ion-grid>\n</ion-item>\n", styles: [".ion-item-job-progression{font-size:.9em}.ion-item-job-progression .message{font-style:italic}.ion-item-job-progression .progress-bar{margin-top:5px;margin-bottom:5px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { kind: "component", type: i2.IonGrid, selector: "ion-grid", inputs: ["fixed"] }, { kind: "component", type: i2.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { kind: "component", type: i2.IonProgressBar, selector: "ion-progress-bar", inputs: ["buffer", "color", "mode", "reversed", "type", "value"] }, { kind: "component", type: i2.IonRow, selector: "ion-row" }, { kind: "pipe", type: i3.RxPush, name: "push" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
29
- }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: JobProgressionComponent, decorators: [{
31
- type: Component,
32
- args: [{ selector: 'app-job-progression-component', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ion-item class=\"ion-item-job-progression\">\n <ion-grid class=\"ion-no-margin\">\n <ion-row *ngIf=\"showName\" class=\"name\">\n <ion-col>\n {{ name$ | push }}\n </ion-col>\n </ion-row>\n <ion-row class=\"message\">\n <ion-col>\n {{ message$ | push }}\n </ion-col>\n </ion-row>\n <ion-row class=\"progress-bar\">\n <ion-col>\n <ion-progress-bar [value]=\"value$ | push\" [type]=\"type$ | push\"></ion-progress-bar>\n </ion-col>\n </ion-row>\n </ion-grid>\n</ion-item>\n", styles: [".ion-item-job-progression{font-size:.9em}.ion-item-job-progression .message{font-style:italic}.ion-item-job-progression .progress-bar{margin-top:5px;margin-bottom:5px}\n"] }]
33
- }], ctorParameters: () => [], propDecorators: { showName: [{
34
- type: Input
35
- }], jobProgression$: [{
36
- type: Input
37
- }] } });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam9iLXByb2dyZXNzaW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc29jaWFsL2pvYi9wcm9ncmVzc2lvbi9qb2ItcHJvZ3Jlc3Npb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zb2NpYWwvam9iL3Byb2dyZXNzaW9uL2pvYi1wcm9ncmVzc2lvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFN0YsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTVDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFlckMsTUFBTSxPQUFPLHVCQUF3QixTQUFRLE9BQTRCO0lBQzlELFFBQVEsR0FBRyxJQUFJLENBQUM7SUFDaEIsZUFBZSxDQUE2QjtJQUVyRCxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM1QixRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNsQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM5QixLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUU1QjtRQUNFLEtBQUssRUFBRSxDQUFDO0lBQ1YsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xGLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5SCxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkgsQ0FBQztJQUVELFdBQVc7UUFDVCxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdEIsQ0FBQzt3R0F0QlUsdUJBQXVCOzRGQUF2Qix1QkFBdUIsa0tDbkJwQyxnaUJBbUJBOzs0RkRBYSx1QkFBdUI7a0JBTm5DLFNBQVM7K0JBQ0UsK0JBQStCLG1CQUd4Qix1QkFBdUIsQ0FBQyxNQUFNO3dEQUd0QyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEpvYlByb2dyZXNzaW9uIH0gZnJvbSAnLi9qb2ItcHJvZ3Jlc3Npb24ubW9kZWwnO1xuaW1wb3J0IHsgUnhTdGF0ZSB9IGZyb20gJ0ByeC1hbmd1bGFyL3N0YXRlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuZXhwb3J0IGludGVyZmFjZSBKb2JQcm9ncmVzc2lvblN0YXRlIHtcbiAgbmFtZTogc3RyaW5nO1xuICBtZXNzYWdlOiBzdHJpbmc7XG4gIHZhbHVlOiBudW1iZXI7XG4gIHR5cGU6ICdkZXRlcm1pbmF0ZScgfCAnaW5kZXRlcm1pbmF0ZSc7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1qb2ItcHJvZ3Jlc3Npb24tY29tcG9uZW50JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2pvYi1wcm9ncmVzc2lvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2pvYi1wcm9ncmVzc2lvbi5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgSm9iUHJvZ3Jlc3Npb25Db21wb25lbnQgZXh0ZW5kcyBSeFN0YXRlPEpvYlByb2dyZXNzaW9uU3RhdGU+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBzaG93TmFtZSA9IHRydWU7XG4gIEBJbnB1dCgpIGpvYlByb2dyZXNzaW9uJDogT2JzZXJ2YWJsZTxKb2JQcm9ncmVzc2lvbj47XG5cbiAgbmFtZSQgPSB0aGlzLnNlbGVjdCgnbmFtZScpO1xuICBtZXNzYWdlJCA9IHRoaXMuc2VsZWN0KCdtZXNzYWdlJyk7XG4gIHZhbHVlJCA9IHRoaXMuc2VsZWN0KCd2YWx1ZScpO1xuICB0eXBlJCA9IHRoaXMuc2VsZWN0KCd0eXBlJyk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuY29ubmVjdCgnbmFtZScsIHRoaXMuam9iUHJvZ3Jlc3Npb24kLnBpcGUobWFwKCh2YWx1ZSkgPT4gdmFsdWUubmFtZSkpKTtcbiAgICB0aGlzLmNvbm5lY3QoJ21lc3NhZ2UnLCB0aGlzLmpvYlByb2dyZXNzaW9uJC5waXBlKG1hcCgodmFsdWUpID0+IHZhbHVlLm1lc3NhZ2UpKSk7XG4gICAgdGhpcy5jb25uZWN0KCd2YWx1ZScsIHRoaXMuam9iUHJvZ3Jlc3Npb24kLnBpcGUobWFwKCh2YWx1ZSkgPT4gKHZhbHVlLnRvdGFsID4gMCA/IHZhbHVlLmN1cnJlbnQgLyB2YWx1ZS50b3RhbCA6IHVuZGVmaW5lZCkpKSk7XG4gICAgdGhpcy5jb25uZWN0KCd0eXBlJywgdGhpcy5qb2JQcm9ncmVzc2lvbiQucGlwZShtYXAoKHZhbHVlKSA9PiAodmFsdWUudG90YWwgPiAwID8gJ2RldGVybWluYXRlJyA6ICdpbmRldGVybWluYXRlJykpKSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICB9XG59XG4iLCI8aW9uLWl0ZW0gY2xhc3M9XCJpb24taXRlbS1qb2ItcHJvZ3Jlc3Npb25cIj5cbiAgPGlvbi1ncmlkIGNsYXNzPVwiaW9uLW5vLW1hcmdpblwiPlxuICAgIDxpb24tcm93ICpuZ0lmPVwic2hvd05hbWVcIiBjbGFzcz1cIm5hbWVcIj5cbiAgICAgIDxpb24tY29sPlxuICAgICAgICB7eyBuYW1lJCB8IHB1c2ggfX1cbiAgICAgIDwvaW9uLWNvbD5cbiAgICA8L2lvbi1yb3c+XG4gICAgPGlvbi1yb3cgY2xhc3M9XCJtZXNzYWdlXCI+XG4gICAgICA8aW9uLWNvbD5cbiAgICAgICAge3sgbWVzc2FnZSQgfCBwdXNoIH19XG4gICAgICA8L2lvbi1jb2w+XG4gICAgPC9pb24tcm93PlxuICAgIDxpb24tcm93IGNsYXNzPVwicHJvZ3Jlc3MtYmFyXCI+XG4gICAgICA8aW9uLWNvbD5cbiAgICAgICAgPGlvbi1wcm9ncmVzcy1iYXIgW3ZhbHVlXT1cInZhbHVlJCB8IHB1c2hcIiBbdHlwZV09XCJ0eXBlJCB8IHB1c2hcIj48L2lvbi1wcm9ncmVzcy1iYXI+XG4gICAgICA8L2lvbi1jb2w+XG4gICAgPC9pb24tcm93PlxuICA8L2lvbi1ncmlkPlxuPC9pb24taXRlbT5cbiJdfQ==