@sumaris-net/ngx-components 4.0.0-rc9 → 18.0.0

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 (555) hide show
  1. package/README.md +5 -3
  2. package/doc/changelog.md +522 -280
  3. package/esm2022/public_api.mjs +38 -19
  4. package/esm2022/src/app/admin/admin-routing.module.mjs +10 -17
  5. package/esm2022/src/app/admin/admin.module.mjs +7 -9
  6. package/esm2022/src/app/admin/services/filter/person.filter.mjs +3 -3
  7. package/esm2022/src/app/admin/services/person.service.mjs +31 -31
  8. package/esm2022/src/app/admin/services/validator/person.validator.mjs +10 -10
  9. package/esm2022/src/app/admin/users/users.mjs +22 -19
  10. package/esm2022/src/app/admin/users/users.module.mjs +8 -10
  11. package/esm2022/src/app/core/about/about.modal.mjs +7 -7
  12. package/esm2022/src/app/core/about/about.module.mjs +8 -21
  13. package/esm2022/src/app/core/account/account.module.mjs +28 -18
  14. package/esm2022/src/app/core/account/account.page.mjs +19 -5
  15. package/esm2022/src/app/core/account/new-token.form.mjs +106 -0
  16. package/esm2022/src/app/core/account/new-token.modal.mjs +27 -86
  17. package/esm2022/src/app/core/account/password/change-password.form.mjs +60 -0
  18. package/esm2022/src/app/core/account/password/change-password.module.mjs +22 -0
  19. package/esm2022/src/app/core/account/password/change-password.page.mjs +144 -0
  20. package/esm2022/src/app/core/account/token.table.mjs +47 -35
  21. package/esm2022/src/app/core/auth/auth.form.mjs +47 -28
  22. package/esm2022/src/app/core/auth/auth.modal.mjs +6 -6
  23. package/esm2022/src/app/core/auth/auth.module.mjs +22 -13
  24. package/esm2022/src/app/core/auth/reset-password.modal.mjs +77 -0
  25. package/esm2022/src/app/core/core.module.mjs +28 -61
  26. package/esm2022/src/app/core/core.testing.module.mjs +34 -20
  27. package/esm2022/src/app/core/form/array/form-array.mjs +325 -0
  28. package/esm2022/src/app/core/form/array/testing/form-array-test.module.mjs +23 -0
  29. package/esm2022/src/app/core/form/array/testing/form-array.test.mjs +94 -0
  30. package/esm2022/src/app/core/form/buttons/form-buttons-bar.component.mjs +24 -25
  31. package/esm2022/src/app/core/form/buttons/form-buttons-bar.module.mjs +9 -13
  32. package/esm2022/src/app/core/form/entity/editor.class.mjs +64 -517
  33. package/esm2022/src/app/core/form/entity/entity-editor-modal.class.mjs +26 -42
  34. package/esm2022/src/app/core/form/entity/entity-editor.class.mjs +42 -41
  35. package/esm2022/src/app/core/form/entity/entity-metadata.component.mjs +5 -5
  36. package/esm2022/src/app/core/form/entity/entity.module.mjs +8 -14
  37. package/esm2022/src/app/core/form/entity/tab-editor.class.mjs +194 -0
  38. package/esm2022/src/app/core/form/form-container.class.mjs +327 -0
  39. package/esm2022/src/app/core/form/form.class.mjs +39 -56
  40. package/esm2022/src/app/core/form/form.module.mjs +14 -10
  41. package/esm2022/src/app/core/form/form.utils.mjs +23 -306
  42. package/esm2022/src/app/core/form/list/list.form.mjs +16 -14
  43. package/esm2022/src/app/core/form/list/list.module.mjs +8 -12
  44. package/esm2022/src/app/core/form/properties/properties.form.mjs +139 -57
  45. package/esm2022/src/app/core/form/properties/properties.module.mjs +9 -15
  46. package/esm2022/src/app/core/form/properties/properties.table.mjs +27 -28
  47. package/esm2022/src/app/core/form/properties/properties.utils.mjs +60 -0
  48. package/esm2022/src/app/core/form/properties/property.validator.mjs +23 -9
  49. package/esm2022/src/app/core/form/properties/testing/properties-form.test.mjs +18 -18
  50. package/esm2022/src/app/core/form/properties/testing/properties-form.testing.module.mjs +8 -24
  51. package/esm2022/src/app/core/form/text-popover/testing/text-popover.testing.mjs +15 -15
  52. package/esm2022/src/app/core/form/text-popover/testing/text-popover.testing.module.mjs +10 -25
  53. package/esm2022/src/app/core/form/text-popover/text-popover.component.mjs +7 -7
  54. package/esm2022/src/app/core/form/text-popover/text-popover.module.mjs +9 -13
  55. package/esm2022/src/app/core/form/username/username.form.mjs +52 -0
  56. package/esm2022/src/app/core/form/username/username.module.mjs +20 -0
  57. package/esm2022/src/app/core/graphql/graphql.module.mjs +8 -16
  58. package/esm2022/src/app/core/graphql/graphql.service.mjs +101 -109
  59. package/esm2022/src/app/core/graphql/graphql.utils.mjs +12 -11
  60. package/esm2022/src/app/core/home/home.mjs +81 -52
  61. package/esm2022/src/app/core/home/home.module.mjs +10 -19
  62. package/esm2022/src/app/core/icon/icon.component.mjs +5 -5
  63. package/esm2022/src/app/core/icon/icon.module.mjs +8 -17
  64. package/esm2022/src/app/core/install/install-upgrade-card.component.mjs +33 -37
  65. package/esm2022/src/app/core/install/install-upgrade-card.module.mjs +9 -13
  66. package/esm2022/src/app/core/menu/menu.component.mjs +5 -6
  67. package/esm2022/src/app/core/menu/menu.model.mjs +21 -18
  68. package/esm2022/src/app/core/menu/menu.module.mjs +7 -12
  69. package/esm2022/src/app/core/menu/menu.service.mjs +44 -60
  70. package/esm2022/src/app/core/menu/sub-menu-tab.directive.mjs +4 -4
  71. package/esm2022/src/app/core/menu/testing/menu-other.testing.mjs +7 -6
  72. package/esm2022/src/app/core/menu/testing/menu.testing.mjs +43 -8
  73. package/esm2022/src/app/core/menu/testing/menu.testing.module.mjs +8 -27
  74. package/esm2022/src/app/core/offline/update-offline-mode-card.component.mjs +6 -7
  75. package/esm2022/src/app/core/offline/update-offline-mode-card.module.mjs +9 -13
  76. package/esm2022/src/app/core/peer/select-peer.modal.mjs +31 -21
  77. package/esm2022/src/app/core/peer/select-peer.module.mjs +11 -23
  78. package/esm2022/src/app/core/register/register-confirm.page.mjs +18 -16
  79. package/esm2022/src/app/core/register/register.form.mjs +7 -7
  80. package/esm2022/src/app/core/register/register.modal.mjs +6 -6
  81. package/esm2022/src/app/core/register/register.module.mjs +8 -29
  82. package/esm2022/src/app/core/services/account.service.mjs +272 -170
  83. package/esm2022/src/app/core/services/auth-guard.service.mjs +13 -15
  84. package/esm2022/src/app/core/services/base-entity-service.class.mjs +55 -64
  85. package/esm2022/src/app/core/services/base-graphql-service.class.mjs +39 -33
  86. package/esm2022/src/app/core/services/base58.mjs +8 -4
  87. package/esm2022/src/app/core/services/config/core.config.mjs +88 -37
  88. package/esm2022/src/app/core/services/config.service.mjs +81 -62
  89. package/esm2022/src/app/core/services/crypto.service.mjs +11 -11
  90. package/esm2022/src/app/core/services/errors.mjs +6 -5
  91. package/esm2022/src/app/core/services/local-settings.service.mjs +58 -44
  92. package/esm2022/src/app/core/services/model/account.model.mjs +12 -17
  93. package/esm2022/src/app/core/services/model/config.model.mjs +7 -7
  94. package/esm2022/src/app/core/services/model/department.model.mjs +3 -2
  95. package/esm2022/src/app/core/services/model/entity.decorators.mjs +6 -6
  96. package/esm2022/src/app/core/services/model/entity.model.mjs +27 -31
  97. package/esm2022/src/app/core/services/model/filter.model.mjs +12 -15
  98. package/esm2022/src/app/core/services/model/history.model.mjs +1 -1
  99. package/esm2022/src/app/core/services/model/model.enum.mjs +2 -2
  100. package/esm2022/src/app/core/services/model/peer.model.mjs +19 -9
  101. package/esm2022/src/app/core/services/model/person.model.mjs +26 -22
  102. package/esm2022/src/app/core/services/model/referential.model.mjs +36 -23
  103. package/esm2022/src/app/core/services/model/settings.model.mjs +2 -1
  104. package/esm2022/src/app/core/services/model/token.model.mjs +7 -3
  105. package/esm2022/src/app/core/services/model/tree-item-entity.model.mjs +3 -7
  106. package/esm2022/src/app/core/services/network.service.mjs +99 -76
  107. package/esm2022/src/app/core/services/network.types.mjs +1 -1
  108. package/esm2022/src/app/core/services/network.utils.mjs +3 -3
  109. package/esm2022/src/app/core/services/pipes/account.pipes.mjs +11 -11
  110. package/esm2022/src/app/core/services/pipes/department-to-string.pipe.mjs +6 -6
  111. package/esm2022/src/app/core/services/pipes/person-to-string.pipe.mjs +9 -9
  112. package/esm2022/src/app/core/services/pipes/pipes.module.mjs +54 -0
  113. package/esm2022/src/app/core/services/pipes/referential-to-string.pipe.mjs +21 -0
  114. package/esm2022/src/app/core/services/pipes/usage-mode.pipes.mjs +11 -11
  115. package/esm2022/src/app/core/services/platform.service.mjs +102 -69
  116. package/esm2022/src/app/core/services/storage/entities-storage.service.mjs +32 -39
  117. package/esm2022/src/app/core/services/storage/entity-store.class.mjs +36 -45
  118. package/esm2022/src/app/core/services/testing/referential-filter.model.mjs +1 -1
  119. package/esm2022/src/app/core/services/testing/referential.validator.mjs +14 -14
  120. package/esm2022/src/app/core/services/validator/account.validator.mjs +5 -5
  121. package/esm2022/src/app/core/services/validator/base.validator.class.mjs +5 -5
  122. package/esm2022/src/app/core/services/validator/local-settings.validator.mjs +34 -20
  123. package/esm2022/src/app/core/services/validator/user-settings.validator.mjs +5 -5
  124. package/esm2022/src/app/core/services/validator/user-token.validator.mjs +12 -9
  125. package/esm2022/src/app/core/settings/settings.module.mjs +9 -21
  126. package/esm2022/src/app/core/settings/settings.page.mjs +76 -63
  127. package/esm2022/src/app/core/table/async-table.class.mjs +219 -201
  128. package/esm2022/src/app/core/table/column/actions-column.component.mjs +127 -0
  129. package/esm2022/src/app/core/table/column/nav-actions-column.component.mjs +117 -0
  130. package/esm2022/src/app/core/table/column/row-field.component.mjs +116 -0
  131. package/esm2022/src/app/core/table/entities-async-table-datasource.class.mjs +31 -33
  132. package/esm2022/src/app/core/table/entities-table-datasource.class.mjs +36 -36
  133. package/esm2022/src/app/core/table/memory-table.class.mjs +5 -5
  134. package/esm2022/src/app/core/table/table-select-columns.component.mjs +8 -8
  135. package/esm2022/src/app/core/table/table.class.mjs +193 -152
  136. package/esm2022/src/app/core/table/table.model.mjs +1 -1
  137. package/esm2022/src/app/core/table/table.module.mjs +35 -24
  138. package/esm2022/src/app/core/table/table.pipes.mjs +77 -0
  139. package/esm2022/src/app/core/table/table.utils.mjs +2 -4
  140. package/esm2022/src/app/core/table/testing/table-validator.service.mjs +9 -5
  141. package/esm2022/src/app/core/table/testing/table.testing.mjs +116 -78
  142. package/esm2022/src/app/core/table/testing/table.testing.module.mjs +8 -33
  143. package/esm2022/src/app/core/table/testing/table2-validator.service.mjs +4 -4
  144. package/esm2022/src/app/core/table/testing/table2.testing.mjs +68 -45
  145. package/esm2022/src/app/shared/alerts.mjs +49 -45
  146. package/esm2022/src/app/shared/audio/audio.mjs +25 -27
  147. package/esm2022/src/app/shared/audio/audio.testing.mjs +5 -5
  148. package/esm2022/src/app/shared/audio/audio.testing.module.mjs +10 -25
  149. package/esm2022/src/app/shared/capacitor/keyboard.mjs +5 -5
  150. package/esm2022/src/app/shared/capacitor/plugins.mjs +1 -1
  151. package/esm2022/src/app/shared/constants.mjs +9 -4
  152. package/esm2022/src/app/shared/dates.mjs +18 -16
  153. package/esm2022/src/app/shared/debug/debug-service.class.mjs +1 -1
  154. package/esm2022/src/app/shared/debug/debug.component.mjs +5 -5
  155. package/esm2022/src/app/shared/debug/debug.module.mjs +8 -29
  156. package/esm2022/src/app/shared/directives/autofocus.directive.mjs +8 -15
  157. package/esm2022/src/app/shared/directives/autotitle.directive.mjs +4 -4
  158. package/esm2022/src/app/shared/directives/directives.module.mjs +8 -29
  159. package/esm2022/src/app/shared/directives/drag-and-drop.directive.mjs +4 -4
  160. package/esm2022/src/app/shared/directives/ng-var.directive.mjs +4 -4
  161. package/esm2022/src/app/shared/directives/resizable/resizable.component.mjs +4 -4
  162. package/esm2022/src/app/shared/directives/resizable/resizable.directive.mjs +4 -4
  163. package/esm2022/src/app/shared/directives/resizable/resizable.module.mjs +4 -4
  164. package/esm2022/src/app/shared/events.mjs +6 -8
  165. package/esm2022/src/app/shared/file/csv.utils.mjs +38 -18
  166. package/esm2022/src/app/shared/file/file.service.mjs +11 -15
  167. package/esm2022/src/app/shared/file/file.utils.mjs +13 -11
  168. package/esm2022/src/app/shared/file/images.utils.mjs +29 -4
  169. package/esm2022/src/app/shared/file/json.utils.mjs +11 -4
  170. package/esm2022/src/app/shared/file/uri.utils.mjs +1 -1
  171. package/esm2022/src/app/shared/focusable.mjs +1 -1
  172. package/esm2022/src/app/shared/form/field.component.mjs +69 -43
  173. package/esm2022/src/app/shared/form/field.model.mjs +4 -4
  174. package/esm2022/src/app/shared/form/loading-spinner.mjs +5 -5
  175. package/esm2022/src/app/shared/forms.mjs +116 -43
  176. package/esm2022/src/app/shared/functions.mjs +139 -71
  177. package/esm2022/src/app/shared/geolocation/geolocation.utils.mjs +14 -14
  178. package/esm2022/src/app/shared/gesture/gesture-config.mjs +10 -10
  179. package/esm2022/src/app/shared/gesture/hammer.utils.mjs +1 -1
  180. package/esm2022/src/app/shared/graph/colors.utils.mjs +14 -18
  181. package/esm2022/src/app/shared/graph/graph-colors.mjs +23 -29
  182. package/esm2022/src/app/shared/guard/component-dirty.guard.mjs +4 -4
  183. package/esm2022/src/app/shared/help/help.modal.mjs +6 -6
  184. package/esm2022/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.mjs +5 -5
  185. package/esm2022/src/app/shared/hotkeys/hotkeys.service.mjs +44 -17
  186. package/esm2022/src/app/shared/hotkeys/shared-hotkeys.module.mjs +9 -27
  187. package/esm2022/src/app/shared/http/http.utils.mjs +15 -11
  188. package/esm2022/src/app/shared/image/gallery/image-gallery.component.mjs +27 -27
  189. package/esm2022/src/app/shared/image/gallery/image-gallery.module.mjs +13 -10
  190. package/esm2022/src/app/shared/image/gallery/testing/gallegry.model.testing.mjs +1 -1
  191. package/esm2022/src/app/shared/image/gallery/testing/gallery.service.testing.mjs +14 -17
  192. package/esm2022/src/app/shared/image/gallery/testing/gallery.testing.mjs +9 -13
  193. package/esm2022/src/app/shared/image/gallery/testing/gallery.testing.module.mjs +14 -11
  194. package/esm2022/src/app/shared/image/image.model.mjs +1 -1
  195. package/esm2022/src/app/shared/image/image.module.mjs +8 -13
  196. package/esm2022/src/app/shared/image/image.service.mjs +14 -12
  197. package/esm2022/src/app/shared/inputs.mjs +52 -20
  198. package/esm2022/src/app/shared/interceptors/progess.interceptor.mjs +2 -3
  199. package/esm2022/src/app/shared/logging/log-level.model.mjs +1 -1
  200. package/esm2022/src/app/shared/logging/logger.model.mjs +2 -2
  201. package/esm2022/src/app/shared/logging/logging-service.class.mjs +17 -20
  202. package/esm2022/src/app/shared/logging/logging-service.module.mjs +6 -6
  203. package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.config.mjs +7 -10
  204. package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.mjs +348 -238
  205. package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.module.mjs +13 -16
  206. package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.utils.mjs +5 -4
  207. package/esm2022/src/app/shared/material/autocomplete/testing/autocomplete.test.mjs +51 -37
  208. package/esm2022/src/app/shared/material/badge/badge.directive.mjs +99 -57
  209. package/esm2022/src/app/shared/material/badge/badge.module.mjs +8 -20
  210. package/esm2022/src/app/shared/material/badge/badge.test.mjs +5 -5
  211. package/esm2022/src/app/shared/material/boolean/boolean.module.mjs +19 -20
  212. package/esm2022/src/app/shared/material/boolean/material.boolean.mjs +209 -104
  213. package/esm2022/src/app/shared/material/boolean/testing/boolean.test.page.mjs +15 -8
  214. package/esm2022/src/app/shared/material/chips/chips.module.mjs +12 -13
  215. package/esm2022/src/app/shared/material/chips/material.chips.mjs +228 -168
  216. package/esm2022/src/app/shared/material/chips/testing/chips.test.mjs +20 -21
  217. package/esm2022/src/app/shared/material/datetime/datetime.module.mjs +12 -27
  218. package/esm2022/src/app/shared/material/datetime/material.date.mjs +167 -92
  219. package/esm2022/src/app/shared/material/datetime/material.dateshort.mjs +128 -77
  220. package/esm2022/src/app/shared/material/datetime/material.datetime.mjs +297 -165
  221. package/esm2022/src/app/shared/material/datetime/testing/mat-date-time.test.mjs +34 -30
  222. package/esm2022/src/app/shared/material/datetime/testing/mat-date.test.mjs +31 -27
  223. package/esm2022/src/app/shared/material/datetime/testing/mat-dateshort.test.mjs +26 -23
  224. package/esm2022/src/app/shared/material/duration/duration.module.mjs +11 -16
  225. package/esm2022/src/app/shared/material/duration/duration.utils.mjs +3 -6
  226. package/esm2022/src/app/shared/material/duration/material.duration.mjs +35 -34
  227. package/esm2022/src/app/shared/material/duration/testing/mat-duration.test.mjs +23 -22
  228. package/esm2022/src/app/shared/material/latlong/latlong.utils.mjs +217 -170
  229. package/esm2022/src/app/shared/material/latlong/material.latlong.mjs +182 -241
  230. package/esm2022/src/app/shared/material/latlong/material.latlong.module.mjs +10 -15
  231. package/esm2022/src/app/shared/material/latlong/testing/latlong.test.mjs +19 -14
  232. package/esm2022/src/app/shared/material/material.animations.mjs +22 -22
  233. package/esm2022/src/app/shared/material/material.config.mjs +3 -0
  234. package/esm2022/src/app/shared/material/material.module.mjs +16 -16
  235. package/esm2022/src/app/shared/material/material.testing.module.mjs +50 -37
  236. package/esm2022/src/app/shared/material/paginator/material.paginator-i18n.mjs +12 -9
  237. package/esm2022/src/app/shared/material/stepper/material.stepper-i18n.mjs +4 -4
  238. package/esm2022/src/app/shared/material/swipe/material.swipe.mjs +26 -19
  239. package/esm2022/src/app/shared/material/swipe/swipe.module.mjs +7 -11
  240. package/esm2022/src/app/shared/material/swipe/testing/swipe.test.mjs +8 -8
  241. package/esm2022/src/app/shared/material/testing/common.test.mjs +30 -24
  242. package/esm2022/src/app/shared/material/text/testing/text-form.testing.mjs +30 -19
  243. package/esm2022/src/app/shared/material/text/text-form.component.mjs +128 -21
  244. package/esm2022/src/app/shared/material/text/text-form.module.mjs +8 -8
  245. package/esm2022/src/app/shared/modules.mjs +1 -1
  246. package/esm2022/src/app/shared/named-filter/named-filter-selector.component.mjs +118 -37
  247. package/esm2022/src/app/shared/named-filter/named-filter.model.mjs +1 -1
  248. package/esm2022/src/app/shared/named-filter/named-filter.module.mjs +5 -5
  249. package/esm2022/src/app/shared/named-filter/named-filter.service.mjs +8 -8
  250. package/esm2022/src/app/shared/named-filter/testing/named-filter-selector.testing.mjs +74 -0
  251. package/esm2022/src/app/shared/named-filter/testing/named-filter.testing.module.mjs +28 -0
  252. package/esm2022/src/app/shared/observables.mjs +14 -18
  253. package/esm2022/src/app/shared/pipes/arrays.pipe.mjs +53 -38
  254. package/esm2022/src/app/shared/pipes/badge.pipes.mjs +24 -0
  255. package/esm2022/src/app/shared/pipes/colors.pipe.mjs +8 -6
  256. package/esm2022/src/app/shared/pipes/date-diff-duration.pipe.mjs +8 -10
  257. package/esm2022/src/app/shared/pipes/date-format.pipe.mjs +15 -15
  258. package/esm2022/src/app/shared/pipes/date-from-now.pipe.mjs +6 -6
  259. package/esm2022/src/app/shared/pipes/duration.pipe.mjs +6 -6
  260. package/esm2022/src/app/shared/pipes/file-size.pipe.mjs +6 -13
  261. package/esm2022/src/app/shared/pipes/form.pipes.mjs +72 -47
  262. package/esm2022/src/app/shared/pipes/highlight.pipe.mjs +15 -15
  263. package/esm2022/src/app/shared/pipes/html.pipes.mjs +52 -0
  264. package/esm2022/src/app/shared/pipes/latlong-format.pipe.mjs +14 -14
  265. package/esm2022/src/app/shared/pipes/maps.pipe.mjs +17 -17
  266. package/esm2022/src/app/shared/pipes/maskito.pipe.mjs +37 -88
  267. package/esm2022/src/app/shared/pipes/math.pipes.mjs +16 -16
  268. package/esm2022/src/app/shared/pipes/ng-init.pipe.mjs +5 -5
  269. package/esm2022/src/app/shared/pipes/number-format.pipe.mjs +6 -6
  270. package/esm2022/src/app/shared/pipes/pipes.module.mjs +117 -137
  271. package/esm2022/src/app/shared/pipes/property.pipes.mjs +86 -47
  272. package/esm2022/src/app/shared/pipes/selection.pipes.mjs +179 -0
  273. package/esm2022/src/app/shared/pipes/string.pipes.mjs +50 -49
  274. package/esm2022/src/app/shared/pipes/translate-context.pipe.mjs +11 -11
  275. package/esm2022/src/app/shared/pipes/types.pipes.mjs +33 -17
  276. package/esm2022/src/app/shared/platforms.mjs +7 -5
  277. package/esm2022/src/app/shared/rx-state.module.mjs +7 -11
  278. package/esm2022/src/app/shared/services/entity-service.class.mjs +2 -2
  279. package/esm2022/src/app/shared/services/job.utils.mjs +7 -7
  280. package/esm2022/src/app/shared/services/memory-entity-service.class.mjs +43 -41
  281. package/esm2022/src/app/shared/services/progress-bar.service.mjs +4 -4
  282. package/esm2022/src/app/shared/services/startable-observable-service.class.mjs +11 -14
  283. package/esm2022/src/app/shared/services/startable-service.class.mjs +11 -17
  284. package/esm2022/src/app/shared/services/translate-context.service.mjs +18 -15
  285. package/esm2022/src/app/shared/services/validator-service.class.mjs +1 -1
  286. package/esm2022/src/app/shared/services.mjs +12 -12
  287. package/esm2022/src/app/shared/shared-routing.module.mjs +19 -18
  288. package/esm2022/src/app/shared/shared.module.mjs +29 -28
  289. package/esm2022/src/app/shared/shared.testing.module.mjs +18 -10
  290. package/esm2022/src/app/shared/storage/storage-explorer.component.mjs +39 -46
  291. package/esm2022/src/app/shared/storage/storage-explorer.module.mjs +8 -12
  292. package/esm2022/src/app/shared/storage/storage-explorer.testing-routing.module.mjs +9 -17
  293. package/esm2022/src/app/shared/storage/storage-explorer.testing.module.mjs +10 -18
  294. package/esm2022/src/app/shared/storage/storage.service.mjs +4 -4
  295. package/esm2022/src/app/shared/storage/storage.utils.mjs +2 -2
  296. package/esm2022/src/app/shared/testing/maskito.test.mjs +41 -0
  297. package/esm2022/src/app/shared/testing/observable.test.mjs +11 -13
  298. package/esm2022/src/app/shared/testing/tests.page.mjs +6 -6
  299. package/esm2022/src/app/shared/toast/toast.testing.mjs +11 -11
  300. package/esm2022/src/app/shared/toast/toast.testing.module.mjs +10 -25
  301. package/esm2022/src/app/shared/toast/toasts.mjs +9 -9
  302. package/esm2022/src/app/shared/toolbar/modal-toolbar.mjs +10 -8
  303. package/esm2022/src/app/shared/toolbar/toolbar.mjs +31 -32
  304. package/esm2022/src/app/shared/toolbar/toolbar.module.mjs +8 -39
  305. package/esm2022/src/app/shared/types.mjs +1 -1
  306. package/esm2022/src/app/shared/upload-file/testing/upload-file.testing.mjs +12 -12
  307. package/esm2022/src/app/shared/upload-file/testing/upload-file.testing.module.mjs +10 -25
  308. package/esm2022/src/app/shared/upload-file/upload-file-popover.component.mjs +7 -8
  309. package/esm2022/src/app/shared/upload-file/upload-file.component.mjs +21 -19
  310. package/esm2022/src/app/shared/upload-file/upload-file.model.mjs +2 -3
  311. package/esm2022/src/app/shared/validator/form-error-adapter.class.mjs +64 -56
  312. package/esm2022/src/app/shared/validator/validators.mjs +60 -39
  313. package/esm2022/src/app/shared/version/versions.mjs +2 -2
  314. package/esm2022/src/app/social/job/job.module.mjs +8 -27
  315. package/esm2022/src/app/social/job/progression/job-progression.component.mjs +9 -9
  316. package/esm2022/src/app/social/job/progression/job-progression.icon.mjs +49 -46
  317. package/esm2022/src/app/social/job/progression/job-progression.list.mjs +10 -13
  318. package/esm2022/src/app/social/job/progression/job-progression.model.mjs +1 -1
  319. package/esm2022/src/app/social/job/progression/job-progression.service.mjs +39 -21
  320. package/esm2022/src/app/social/job/testing/job-progression.testing.mjs +6 -11
  321. package/esm2022/src/app/social/job/testing/job-progression.testing.service.mjs +11 -30
  322. package/esm2022/src/app/social/job/testing/job.testing.module.mjs +8 -21
  323. package/esm2022/src/app/social/message/message.form.mjs +5 -5
  324. package/esm2022/src/app/social/message/message.modal.mjs +8 -8
  325. package/esm2022/src/app/social/message/message.model.mjs +8 -8
  326. package/esm2022/src/app/social/message/message.module.mjs +4 -4
  327. package/esm2022/src/app/social/message/message.service.mjs +7 -7
  328. package/esm2022/src/app/social/social.errors.mjs +2 -2
  329. package/esm2022/src/app/social/social.module.mjs +7 -32
  330. package/esm2022/src/app/social/social.testing.module.mjs +9 -20
  331. package/esm2022/src/app/social/user-event/notification/user-event-notification.icon.mjs +27 -23
  332. package/esm2022/src/app/social/user-event/notification/user-event-notification.list.mjs +19 -22
  333. package/esm2022/src/app/social/user-event/testing/user-event.testing.mjs +47 -23
  334. package/esm2022/src/app/social/user-event/testing/user-event.testing.model.mjs +8 -8
  335. package/esm2022/src/app/social/user-event/testing/user-event.testing.module.mjs +8 -21
  336. package/esm2022/src/app/social/user-event/testing/user-event.testing.service.mjs +27 -15
  337. package/esm2022/src/app/social/user-event/user-event.model.mjs +1 -1
  338. package/esm2022/src/app/social/user-event/user-event.module.mjs +8 -28
  339. package/esm2022/src/app/social/user-event/user-event.service.mjs +61 -64
  340. package/esm2022/src/environments/environment.class.mjs +9 -1
  341. package/esm2022/src/environments/environment.loader.mjs +5 -11
  342. package/esm2022/src/environments/environment.mjs +19 -11
  343. package/fesm2022/sumaris-net.ngx-components.mjs +16117 -14592
  344. package/fesm2022/sumaris-net.ngx-components.mjs.map +1 -1
  345. package/package.json +33 -18
  346. package/public_api.d.ts +30 -22
  347. package/src/app/admin/services/filter/person.filter.d.ts +1 -1
  348. package/src/app/admin/users/users.d.ts +5 -6
  349. package/src/app/core/account/account.module.d.ts +10 -8
  350. package/src/app/core/account/account.page.d.ts +25 -15
  351. package/src/app/core/account/new-token.form.d.ts +29 -0
  352. package/src/app/core/account/new-token.modal.d.ts +9 -21
  353. package/src/app/core/account/password/change-password.form.d.ts +19 -0
  354. package/src/app/core/account/password/change-password.module.d.ts +11 -0
  355. package/src/app/core/account/password/change-password.page.d.ts +36 -0
  356. package/src/app/core/account/token.table.d.ts +7 -5
  357. package/src/app/core/auth/auth.form.d.ts +11 -9
  358. package/src/app/core/auth/auth.module.d.ts +6 -4
  359. package/src/app/core/auth/reset-password.modal.d.ts +26 -0
  360. package/src/app/core/core.module.d.ts +21 -24
  361. package/src/app/core/core.testing.module.d.ts +2 -1
  362. package/src/app/core/form/array/form-array.d.ts +136 -0
  363. package/src/app/core/form/array/testing/form-array-test.module.d.ts +12 -0
  364. package/src/app/core/form/array/testing/form-array.test.d.ts +26 -0
  365. package/src/app/core/form/buttons/form-buttons-bar.component.d.ts +2 -3
  366. package/src/app/core/form/entity/editor.class.d.ts +19 -179
  367. package/src/app/core/form/entity/entity-editor-modal.class.d.ts +10 -13
  368. package/src/app/core/form/entity/entity-editor.class.d.ts +12 -17
  369. package/src/app/core/form/entity/entity-metadata.component.d.ts +1 -1
  370. package/src/app/core/form/entity/tab-editor.class.d.ts +70 -0
  371. package/src/app/core/form/form-container.class.d.ts +126 -0
  372. package/src/app/core/form/form.class.d.ts +13 -26
  373. package/src/app/core/form/form.module.d.ts +2 -1
  374. package/src/app/core/form/form.utils.d.ts +60 -145
  375. package/src/app/core/form/list/list.form.d.ts +2 -2
  376. package/src/app/core/form/properties/properties.form.d.ts +34 -12
  377. package/src/app/core/form/properties/properties.table.d.ts +2 -2
  378. package/src/app/core/form/properties/properties.utils.d.ts +27 -0
  379. package/src/app/core/form/properties/property.validator.d.ts +9 -3
  380. package/src/app/core/form/text-popover/testing/text-popover.testing.d.ts +3 -1
  381. package/src/app/core/form/username/username.form.d.ts +19 -0
  382. package/src/app/core/form/username/username.module.d.ts +9 -0
  383. package/src/app/core/graphql/graphql.module.d.ts +1 -2
  384. package/src/app/core/graphql/graphql.service.d.ts +2 -4
  385. package/src/app/core/home/home.d.ts +26 -6
  386. package/src/app/core/menu/testing/menu-other.testing.d.ts +1 -1
  387. package/src/app/core/menu/testing/menu.testing.d.ts +11 -3
  388. package/src/app/core/peer/select-peer.modal.d.ts +13 -7
  389. package/src/app/core/peer/select-peer.module.d.ts +3 -4
  390. package/src/app/core/services/account.service.d.ts +9 -0
  391. package/src/app/core/services/base-entity-service.class.d.ts +1 -1
  392. package/src/app/core/services/config/core.config.d.ts +12 -1
  393. package/src/app/core/services/config.service.d.ts +4 -3
  394. package/src/app/core/services/errors.d.ts +11 -0
  395. package/src/app/core/services/local-settings.service.d.ts +8 -4
  396. package/src/app/core/services/model/entity.model.d.ts +6 -5
  397. package/src/app/core/services/model/filter.model.d.ts +1 -1
  398. package/src/app/core/services/model/peer.model.d.ts +1 -0
  399. package/src/app/core/services/model/person.model.d.ts +6 -2
  400. package/src/app/core/services/model/referential.model.d.ts +8 -3
  401. package/src/app/core/services/model/settings.model.d.ts +4 -2
  402. package/src/app/core/services/model/token.model.d.ts +1 -0
  403. package/src/app/core/services/model/tree-item-entity.model.d.ts +1 -1
  404. package/src/app/core/services/network.service.d.ts +11 -7
  405. package/src/app/core/services/pipes/department-to-string.pipe.d.ts +1 -1
  406. package/src/app/core/services/pipes/person-to-string.pipe.d.ts +3 -1
  407. package/src/app/core/services/pipes/pipes.module.d.ts +11 -0
  408. package/src/app/core/services/pipes/referential-to-string.pipe.d.ts +13 -0
  409. package/src/app/core/services/platform.service.d.ts +8 -3
  410. package/src/app/core/services/testing/referential-filter.model.d.ts +1 -1
  411. package/src/app/core/services/validator/local-settings.validator.d.ts +6 -2
  412. package/src/app/core/settings/settings.module.d.ts +2 -1
  413. package/src/app/core/settings/settings.page.d.ts +34 -21
  414. package/src/app/core/table/async-table.class.d.ts +22 -17
  415. package/src/app/core/table/column/actions-column.component.d.ts +59 -0
  416. package/src/app/core/table/column/nav-actions-column.component.d.ts +46 -0
  417. package/src/app/core/table/column/row-field.component.d.ts +40 -0
  418. package/src/app/core/table/entities-async-table-datasource.class.d.ts +1 -0
  419. package/src/app/core/table/entities-table-datasource.class.d.ts +1 -0
  420. package/src/app/core/table/table.class.d.ts +14 -11
  421. package/src/app/core/table/table.module.d.ts +8 -4
  422. package/src/app/core/table/table.pipes.d.ts +28 -0
  423. package/src/app/core/table/testing/table.testing.d.ts +12 -13
  424. package/src/app/core/table/testing/table2.testing.d.ts +13 -10
  425. package/src/app/shared/alerts.d.ts +4 -2
  426. package/src/app/shared/constants.d.ts +5 -0
  427. package/src/app/shared/dates.d.ts +12 -5
  428. package/src/app/shared/directives/autofocus.directive.d.ts +0 -1
  429. package/src/app/shared/events.d.ts +1 -1
  430. package/src/app/shared/file/csv.utils.d.ts +5 -0
  431. package/src/app/shared/file/images.utils.d.ts +17 -0
  432. package/src/app/shared/file/json.utils.d.ts +3 -0
  433. package/src/app/shared/form/field.component.d.ts +6 -3
  434. package/src/app/shared/forms.d.ts +32 -0
  435. package/src/app/shared/functions.d.ts +27 -8
  436. package/src/app/shared/graph/graph-colors.d.ts +1 -1
  437. package/src/app/shared/guard/component-dirty.guard.d.ts +1 -6
  438. package/src/app/shared/hotkeys/hotkeys.service.d.ts +17 -3
  439. package/src/app/shared/http/http.utils.d.ts +1 -0
  440. package/src/app/shared/image/gallery/image-gallery.component.d.ts +10 -10
  441. package/src/app/shared/image/gallery/image-gallery.module.d.ts +2 -1
  442. package/src/app/shared/image/gallery/testing/gallery.service.testing.d.ts +2 -2
  443. package/src/app/shared/image/gallery/testing/gallery.testing.module.d.ts +2 -1
  444. package/src/app/shared/inputs.d.ts +7 -5
  445. package/src/app/shared/material/autocomplete/material.autocomplete.config.d.ts +20 -1
  446. package/src/app/shared/material/autocomplete/material.autocomplete.d.ts +56 -16
  447. package/src/app/shared/material/autocomplete/material.autocomplete.module.d.ts +1 -1
  448. package/src/app/shared/material/autocomplete/material.autocomplete.utils.d.ts +2 -1
  449. package/src/app/shared/material/autocomplete/testing/autocomplete.test.d.ts +3 -2
  450. package/src/app/shared/material/badge/badge.directive.d.ts +10 -4
  451. package/src/app/shared/material/boolean/boolean.module.d.ts +15 -14
  452. package/src/app/shared/material/boolean/material.boolean.d.ts +51 -25
  453. package/src/app/shared/material/boolean/testing/boolean.test.page.d.ts +1 -0
  454. package/src/app/shared/material/chips/chips.module.d.ts +2 -1
  455. package/src/app/shared/material/chips/material.chips.d.ts +46 -21
  456. package/src/app/shared/material/chips/testing/chips.test.d.ts +1 -0
  457. package/src/app/shared/material/datetime/datetime.module.d.ts +1 -1
  458. package/src/app/shared/material/datetime/material.date.d.ts +33 -18
  459. package/src/app/shared/material/datetime/material.dateshort.d.ts +29 -16
  460. package/src/app/shared/material/datetime/material.datetime.d.ts +41 -28
  461. package/src/app/shared/material/datetime/testing/mat-date-time.test.d.ts +3 -3
  462. package/src/app/shared/material/duration/duration.module.d.ts +1 -1
  463. package/src/app/shared/material/duration/material.duration.d.ts +1 -1
  464. package/src/app/shared/material/latlong/latlong.utils.d.ts +9 -1
  465. package/src/app/shared/material/latlong/material.latlong.d.ts +29 -32
  466. package/src/app/shared/material/latlong/material.latlong.module.d.ts +1 -1
  467. package/src/app/shared/material/latlong/testing/latlong.test.d.ts +5 -1
  468. package/src/app/shared/material/material.config.d.ts +3 -0
  469. package/src/app/shared/material/material.module.d.ts +5 -6
  470. package/src/app/shared/material/material.testing.module.d.ts +8 -7
  471. package/src/app/shared/material/swipe/material.swipe.d.ts +4 -3
  472. package/src/app/shared/material/text/testing/text-form.testing.d.ts +10 -4
  473. package/src/app/shared/material/text/text-form.component.d.ts +42 -8
  474. package/src/app/shared/named-filter/named-filter-selector.component.d.ts +30 -14
  475. package/src/app/shared/named-filter/named-filter.service.d.ts +12 -6
  476. package/src/app/shared/named-filter/testing/named-filter-selector.testing.d.ts +34 -0
  477. package/src/app/shared/named-filter/testing/named-filter.testing.module.d.ts +10 -0
  478. package/src/app/shared/pipes/arrays.pipe.d.ts +5 -0
  479. package/src/app/shared/pipes/badge.pipes.d.ts +7 -0
  480. package/src/app/shared/pipes/date-format.pipe.d.ts +3 -2
  481. package/src/app/shared/pipes/form.pipes.d.ts +18 -8
  482. package/src/app/shared/pipes/html.pipes.d.ts +15 -0
  483. package/src/app/shared/pipes/maps.pipe.d.ts +4 -4
  484. package/src/app/shared/pipes/maskito.pipe.d.ts +7 -9
  485. package/src/app/shared/pipes/pipes.module.d.ts +7 -4
  486. package/src/app/shared/pipes/property.pipes.d.ts +24 -3
  487. package/src/app/shared/pipes/selection.pipes.d.ts +62 -0
  488. package/src/app/shared/pipes/string.pipes.d.ts +6 -6
  489. package/src/app/shared/pipes/types.pipes.d.ts +6 -1
  490. package/src/app/shared/services/entity-service.class.d.ts +0 -2
  491. package/src/app/shared/services/memory-entity-service.class.d.ts +6 -3
  492. package/src/app/shared/services.d.ts +1 -0
  493. package/src/app/shared/shared.testing.module.d.ts +2 -1
  494. package/src/app/shared/storage/storage-explorer.component.d.ts +4 -3
  495. package/src/app/shared/testing/maskito.test.d.ts +10 -0
  496. package/src/app/shared/toolbar/toolbar.d.ts +7 -2
  497. package/src/app/shared/types.d.ts +5 -0
  498. package/src/app/shared/upload-file/upload-file.component.d.ts +1 -0
  499. package/src/app/shared/validator/form-error-adapter.class.d.ts +17 -11
  500. package/src/app/shared/validator/validators.d.ts +20 -9
  501. package/src/app/social/job/progression/job-progression.icon.d.ts +4 -5
  502. package/src/app/social/job/progression/job-progression.list.d.ts +1 -3
  503. package/src/app/social/job/progression/job-progression.service.d.ts +3 -4
  504. package/src/app/social/job/testing/job-progression.testing.d.ts +0 -1
  505. package/src/app/social/job/testing/job-progression.testing.service.d.ts +3 -11
  506. package/src/app/social/message/message.modal.d.ts +2 -2
  507. package/src/app/social/message/message.model.d.ts +1 -1
  508. package/src/app/social/user-event/notification/user-event-notification.icon.d.ts +4 -4
  509. package/src/app/social/user-event/testing/user-event.testing.d.ts +1 -0
  510. package/src/app/social/user-event/testing/user-event.testing.model.d.ts +2 -3
  511. package/src/app/social/user-event/testing/user-event.testing.service.d.ts +1 -0
  512. package/src/assets/i18n/en-US.json +48 -19
  513. package/src/assets/i18n/en.json +48 -20
  514. package/src/assets/i18n/fr.json +50 -20
  515. package/src/assets/manifest.json +1 -1
  516. package/src/environments/environment.class.d.ts +10 -0
  517. package/src/environments/environment.d.ts +0 -1
  518. package/src/environments/environment.loader.d.ts +0 -2
  519. package/src/theme/_functions.scss +15 -0
  520. package/src/theme/_icons.scss +1 -1
  521. package/src/theme/_ionic.globals.scss +8 -2
  522. package/src/theme/_ionic.scss +10 -10
  523. package/src/theme/_material.globals.scss +16 -43
  524. package/src/theme/_material.scss +45 -32
  525. package/src/theme/_mixins.scss +99 -18
  526. package/src/theme/_ngx-components.forms.scss +354 -0
  527. package/src/theme/_ngx-components.globals.scss +20 -10
  528. package/src/theme/_ngx-components.scss +194 -400
  529. package/src/theme/_ngx-components.table.scss +200 -207
  530. package/src/theme/_ngx-components.tabs.scss +54 -0
  531. package/src/theme/_responsive.scss +0 -31
  532. package/src/theme/_theme.scss +2 -0
  533. package/src/theme/_theme.variables.scss +172 -0
  534. package/esm2022/src/app/core/table/actions-column.component.mjs +0 -115
  535. package/esm2022/src/app/shared/material/boolean/material-boolean2.mjs +0 -266
  536. package/esm2022/src/app/shared/material/numpad/numpad.append-to-input.directive.mjs +0 -104
  537. package/esm2022/src/app/shared/material/numpad/numpad.component.mjs +0 -83
  538. package/esm2022/src/app/shared/material/numpad/numpad.container.mjs +0 -203
  539. package/esm2022/src/app/shared/material/numpad/numpad.content.mjs +0 -19
  540. package/esm2022/src/app/shared/material/numpad/numpad.directive.mjs +0 -168
  541. package/esm2022/src/app/shared/material/numpad/numpad.dom-service.mjs +0 -36
  542. package/esm2022/src/app/shared/material/numpad/numpad.model.mjs +0 -16
  543. package/esm2022/src/app/shared/material/numpad/numpad.module.mjs +0 -60
  544. package/esm2022/src/app/shared/material/numpad/testing/numpad.test.mjs +0 -48
  545. package/src/app/core/table/actions-column.component.d.ts +0 -48
  546. package/src/app/shared/material/boolean/material-boolean2.d.ts +0 -66
  547. package/src/app/shared/material/numpad/numpad.append-to-input.directive.d.ts +0 -22
  548. package/src/app/shared/material/numpad/numpad.component.d.ts +0 -26
  549. package/src/app/shared/material/numpad/numpad.container.d.ts +0 -40
  550. package/src/app/shared/material/numpad/numpad.content.d.ts +0 -7
  551. package/src/app/shared/material/numpad/numpad.directive.d.ts +0 -35
  552. package/src/app/shared/material/numpad/numpad.dom-service.d.ts +0 -16
  553. package/src/app/shared/material/numpad/numpad.model.d.ts +0 -30
  554. package/src/app/shared/material/numpad/numpad.module.d.ts +0 -16
  555. package/src/app/shared/material/numpad/testing/numpad.test.d.ts +0 -13
@@ -1,13 +1,12 @@
1
- import { AbstractControl, AbstractControlOptions, UntypedFormArray, UntypedFormBuilder, UntypedFormGroup, ValidatorFn } from '@angular/forms';
2
- import { Entity } from '../services/model/entity.model';
1
+ import { AbstractControl } from '@angular/forms';
3
2
  import { filterNumberInput, selectInputContent } from '../../shared/inputs';
4
3
  import { WaitForOptions } from '../../shared/observables';
5
- import { addValueInArray, clearValueInArray, copyEntity2Form, disableControls, getControlFromPath, getFormErrors, getFormValueFromEntity, logFormErrors, markAllAsTouched, markAsUntouched, removeValueInArray, resizeArray, updateValueAndValidity, waitIdle, waitWhilePending } from '../../shared/forms';
4
+ import { addValueInArray, clearValueInArray, copyEntity2Form, disableControl, disableControls, enableControl, enableControls, filterFormErrors, filterFormErrorsByPath, filterFormErrorsByPrefix, getControlFromPath, getFormErrors, getFormValueFromEntity, logFormErrors, markAllAsTouched, markAsUntouched, removeValueInArray, resizeArray, setControlEnabled, setControlsEnabled, updateValueAndValidity, waitIdle, waitWhilePending } from '../../shared/forms';
6
5
  export declare type IAppFormGetter = () => IAppForm;
7
6
  export declare interface OnReady {
8
7
  ngOnReady(): any;
9
8
  }
10
- export interface IAppForm {
9
+ export interface IAppForm<T = any> {
11
10
  invalid: boolean;
12
11
  valid: boolean;
13
12
  dirty: boolean;
@@ -17,49 +16,72 @@ export interface IAppForm {
17
16
  disabled: boolean;
18
17
  touched: boolean;
19
18
  untouched: boolean;
19
+ disable(opts?: {
20
+ onlySelf?: boolean;
21
+ emitEvent?: boolean;
22
+ }): void;
23
+ enable(opts?: {
24
+ onlySelf?: boolean;
25
+ emitEvent?: boolean;
26
+ }): void;
20
27
  empty?: boolean;
21
28
  loading?: boolean;
29
+ loaded?: boolean;
30
+ destroyed?: boolean;
22
31
  ready(): Promise<void>;
23
32
  waitIdle(opts?: WaitForOptions): Promise<any>;
24
- disable(opts?: {
33
+ setValue?: (data: T, opts?: {
25
34
  onlySelf?: boolean;
26
35
  emitEvent?: boolean;
27
- }): any;
28
- enable(opts?: {
36
+ }) => Promise<void> | void;
37
+ patchValue?: (data: T, opts?: {
29
38
  onlySelf?: boolean;
30
39
  emitEvent?: boolean;
31
- }): any;
40
+ }) => Promise<void> | void;
41
+ reset?: (data?: T, opts?: {
42
+ onlySelf?: boolean;
43
+ emitEvent?: boolean;
44
+ }) => void;
45
+ getValue?: () => Promise<T> | T;
32
46
  markAsPristine(opts?: {
33
47
  onlySelf?: boolean;
34
48
  emitEvent?: boolean;
35
- }): any;
49
+ }): void;
36
50
  markAsUntouched(opts?: {
37
51
  onlySelf?: boolean;
38
52
  emitEvent?: boolean;
39
- }): any;
53
+ }): void;
40
54
  markAsTouched(opts?: {
41
55
  onlySelf?: boolean;
42
56
  emitEvent?: boolean;
43
- }): any;
57
+ }): void;
44
58
  markAllAsTouched(opts?: {
45
59
  emitEvent?: boolean;
46
- }): any;
60
+ }): void;
47
61
  markAsDirty(opts?: {
48
62
  onlySelf?: boolean;
49
63
  emitEvent?: boolean;
50
- }): any;
64
+ }): void;
51
65
  markAsLoading(opts?: {
52
66
  onlySelf?: boolean;
53
67
  emitEvent?: boolean;
54
- }): any;
68
+ }): void;
55
69
  markAsLoaded(opts?: {
56
70
  onlySelf?: boolean;
57
71
  emitEvent?: boolean;
58
- }): any;
72
+ }): void;
59
73
  markAsReady(opts?: {
60
74
  onlySelf?: boolean;
61
75
  emitEvent?: boolean;
62
- }): any;
76
+ }): void;
77
+ }
78
+ export interface CanSave {
79
+ dirty: boolean;
80
+ valid: boolean;
81
+ save(): Promise<boolean>;
82
+ }
83
+ export interface CanLeave extends CanSave {
84
+ cancel(event?: Event): Promise<void>;
63
85
  }
64
86
  /**
65
87
  * A form that do nothing
@@ -140,170 +162,59 @@ export declare class AppFormProvider<F extends IAppForm = IAppForm> implements I
140
162
  disable(opts?: {
141
163
  onlySelf?: boolean;
142
164
  emitEvent?: boolean;
143
- }): any;
165
+ }): void;
144
166
  enable(opts?: {
145
167
  onlySelf?: boolean;
146
168
  emitEvent?: boolean;
147
- }): any;
169
+ }): void;
148
170
  markAsPristine(opts?: {
149
171
  onlySelf?: boolean;
150
172
  emitEvent?: boolean;
151
- }): any;
152
- markAsUntouched(opts?: {
153
- onlySelf?: boolean;
154
- emitEvent?: boolean;
155
- }): any;
156
- markAsTouched(opts?: {
157
- onlySelf?: boolean;
158
- emitEvent?: boolean;
159
- }): any;
160
- markAllAsTouched(opts?: {
161
- emitEvent?: boolean;
162
- }): any;
163
- markAsDirty(opts?: {
164
- onlySelf?: boolean;
165
- emitEvent?: boolean;
166
- }): any;
167
- markAsLoading(opts?: {
168
- onlySelf?: boolean;
169
- emitEvent?: boolean;
170
- }): any;
171
- markAsLoaded(opts?: {
172
- onlySelf?: boolean;
173
- emitEvent?: boolean;
174
- }): any;
175
- markAsReady(opts?: {
176
- onlySelf?: boolean;
177
- emitEvent?: boolean;
178
- }): any;
179
- }
180
- export interface FormArrayHelperOptions {
181
- allowEmptyArray: boolean;
182
- validators?: ValidatorFn[];
183
- }
184
- export declare class FormArrayHelper<T = Entity<any>, C extends AbstractControl = AbstractControl> {
185
- private readonly _formArray;
186
- private createControl;
187
- private equals;
188
- private isEmpty;
189
- static getOrCreateArray(formBuilder: UntypedFormBuilder, form: UntypedFormGroup, arrayName: string): UntypedFormArray;
190
- private _allowEmptyArray;
191
- private readonly _validators;
192
- get allowEmptyArray(): boolean;
193
- set allowEmptyArray(value: boolean);
194
- get formArray(): UntypedFormArray;
195
- constructor(_formArray: UntypedFormArray, createControl: (value?: T) => C, equals: (v1: T, v2: T) => boolean, isEmpty: (value: T) => boolean, options?: FormArrayHelperOptions);
196
- /**
197
- * @param value
198
- * @param options
199
- */
200
- add(value?: T, options?: {
201
- emitEvent: boolean;
202
- insertAt?: number;
203
- }): boolean;
204
- removeAt(index: number): boolean;
205
- resize(length: number, options?: {
206
- emitEvent?: boolean;
207
- }): boolean;
208
- clearAt(index: number): boolean;
209
- isLast(index: number): boolean;
210
- removeAllEmpty(): void;
211
- size(): number;
212
- at(index: number): C;
213
- /**
214
- * Resize the FormArray, then set values
215
- *
216
- * @param values
217
- * @param options
218
- */
219
- setValue(values: T[], options?: {
220
- onlySelf?: boolean;
221
- emitEvent?: boolean;
222
173
  }): void;
223
- /**
224
- * Resize the FormArray, then patch values
225
- *
226
- * @param values
227
- * @param options
228
- */
229
- patchValue(values: T[], options?: {
174
+ markAsUntouched(opts?: {
230
175
  onlySelf?: boolean;
231
176
  emitEvent?: boolean;
232
177
  }): void;
233
- disable(opts?: {
178
+ markAsTouched(opts?: {
234
179
  onlySelf?: boolean;
235
180
  emitEvent?: boolean;
236
181
  }): void;
237
- enable(opts?: {
238
- onlySelf?: boolean;
182
+ markAllAsTouched(opts?: {
239
183
  emitEvent?: boolean;
240
184
  }): void;
241
- forEach(ite: (control: C) => void): void;
242
- protected setAllowEmptyArray(value: boolean): void;
243
- }
244
- export declare interface AppFormArrayOptions extends AbstractControlOptions {
245
- allowEmptyArray?: boolean;
246
- allowReuseControls?: boolean;
247
- }
248
- export declare class AppFormArray<T extends Entity<T>, C extends AbstractControl> extends UntypedFormArray {
249
- createControl: (value?: T) => C;
250
- private equals;
251
- private isEmpty;
252
- private options?;
253
- get allowEmptyArray(): boolean;
254
- set allowEmptyArray(value: boolean);
255
- constructor(createControl: (value?: T) => C, equals: (v1: T, v2: T) => boolean, isEmpty: (value: T) => boolean, options?: AppFormArrayOptions | undefined | null);
256
- /**
257
- * WIll rebuild the array, using the given values
258
- *
259
- * @param values
260
- * @param options
261
- */
262
- setValue(values: any[], options?: {
185
+ markAsDirty(opts?: {
263
186
  onlySelf?: boolean;
264
187
  emitEvent?: boolean;
265
188
  }): void;
266
- patchValue(values: any[] | null | undefined, options?: {
189
+ markAsLoading(opts?: {
267
190
  onlySelf?: boolean;
268
191
  emitEvent?: boolean;
269
192
  }): void;
270
- resize(length: number, options?: {
271
- emitEvent?: boolean;
272
- }): void;
273
- disable(opts?: {
193
+ markAsLoaded(opts?: {
274
194
  onlySelf?: boolean;
275
195
  emitEvent?: boolean;
276
196
  }): void;
277
- enable(opts?: {
197
+ markAsReady(opts?: {
278
198
  onlySelf?: boolean;
279
199
  emitEvent?: boolean;
280
200
  }): void;
281
- forEach(ite: (control: C) => void): void;
282
- /**
283
- * @param value
284
- * @param options
285
- */
286
- add(value?: T, options?: {
287
- emitEvent: boolean;
288
- insertAt?: number;
289
- }): void;
290
- removeAt(index: number, options?: {
291
- emitEvent: boolean;
292
- }): void;
293
- clearAt(index: number, options?: {
294
- emitEvent: boolean;
295
- }): void;
296
- isLast(index: number): boolean;
297
- removeAllEmpty(): void;
298
- protected setAllowEmptyArray(value: boolean): void;
201
+ save(): Promise<boolean>;
299
202
  }
203
+ /**
204
+ * Helper class, for angular forms
205
+ */
300
206
  export declare class AppFormUtils {
301
207
  static copyEntity2Form: typeof copyEntity2Form;
302
208
  static getFormValueFromEntity: typeof getFormValueFromEntity;
303
209
  static logFormErrors: typeof logFormErrors;
304
210
  static getControlFromPath: typeof getControlFromPath;
305
211
  static filterNumberInput: typeof filterNumberInput;
212
+ static enableControls: typeof enableControls;
213
+ static enableControl: typeof enableControl;
214
+ static disableControl: typeof disableControl;
306
215
  static disableControls: typeof disableControls;
216
+ static setControlEnabled: typeof setControlEnabled;
217
+ static setControlsEnabled: typeof setControlsEnabled;
307
218
  static selectInputContent: typeof selectInputContent;
308
219
  /**
309
220
  * @deprecated use markAllAsTouched() instead (naming was wrong)
@@ -321,6 +232,7 @@ export declare class AppFormUtils {
321
232
  static updateValueAndValidity: typeof updateValueAndValidity;
322
233
  static getFormErrors: typeof getFormErrors;
323
234
  static isForm(object: any): object is IAppForm;
235
+ static canSave(object: any): object is IAppForm & CanSave;
324
236
  static addValueInArray: typeof addValueInArray;
325
237
  static removeValueInArray: typeof removeValueInArray;
326
238
  static resizeArray: typeof resizeArray;
@@ -329,6 +241,9 @@ export declare class AppFormUtils {
329
241
  static isControlHasInput: typeof isControlHasInput;
330
242
  static setCalculatedValue: typeof setCalculatedValue;
331
243
  static resetCalculatedValue: typeof resetCalculatedValue;
244
+ static filterErrorsByPrefix: typeof filterFormErrorsByPrefix;
245
+ static filterErrorsByPath: typeof filterFormErrorsByPath;
246
+ static filterErrors: typeof filterFormErrors;
332
247
  }
333
248
  export declare function isControlHasInput(controls: {
334
249
  [key: string]: AbstractControl;
@@ -1,13 +1,13 @@
1
1
  import { ChangeDetectorRef, EventEmitter, Injector, OnInit } from '@angular/core';
2
- import { AbstractControl, UntypedFormArray, UntypedFormBuilder, UntypedFormGroup, FormGroupDirective } from '@angular/forms';
2
+ import { AbstractControl, FormGroupDirective, UntypedFormArray, UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';
3
3
  import { DateAdapter } from '@angular/material/core';
4
4
  import { Moment } from 'moment';
5
5
  import { LocalSettingsService } from '../../services/local-settings.service';
6
6
  import { AppForm } from '../form.class';
7
- import { FormArrayHelper, FormArrayHelperOptions } from '../form.utils';
8
7
  import { SelectionModel } from '@angular/cdk/collections';
9
8
  import { Observable } from 'rxjs';
10
9
  import { Color } from '@ionic/core';
10
+ import { FormArrayHelper, FormArrayHelperOptions } from '../array/form-array';
11
11
  import * as i0 from "@angular/core";
12
12
  export declare interface ItemButton<T = any> {
13
13
  title?: string;
@@ -1,44 +1,66 @@
1
1
  import { ChangeDetectorRef, Injector, OnInit } from '@angular/core';
2
- import { UntypedFormArray, UntypedFormBuilder, UntypedFormGroup, FormGroupDirective } from '@angular/forms';
2
+ import { FormGroupDirective, UntypedFormArray, UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';
3
3
  import { FormFieldDefinition, FormFieldDefinitionMap } from '../../../shared/form/field.model';
4
4
  import { DateAdapter, ThemePalette } from '@angular/material/core';
5
5
  import { Moment } from 'moment';
6
- import { LocalSettingsService } from '../../services/local-settings.service';
7
6
  import { AppForm } from '../form.class';
8
- import { FormArrayHelper, FormArrayHelperOptions } from '../form.utils';
9
7
  import { Property } from '../../../shared/types';
10
8
  import { PropertyValidator } from './property.validator';
11
9
  import { PredefinedColors } from '@ionic/core';
10
+ import { FormArrayHelper, FormArrayHelperOptions } from '../array/form-array';
11
+ import { MatFormFieldAppearance, SubscriptSizing } from '@angular/material/form-field';
12
+ import { MatAutocompleteFieldConfig } from '../../../shared/material/autocomplete/material.autocomplete.config';
13
+ import { LoadResult } from '../../../shared/services/entity-service.class';
12
14
  import * as i0 from "@angular/core";
13
15
  export declare class AppPropertiesForm<T = Property> extends AppForm<T[]> implements OnInit {
14
16
  protected formBuilder: UntypedFormBuilder;
15
17
  protected dateAdapter: DateAdapter<Moment>;
16
- protected settings: LocalSettingsService;
17
18
  protected cd: ChangeDetectorRef;
18
19
  protected validator: PropertyValidator;
19
20
  private formGroupDir;
20
- definitionsMapByKey: FormFieldDefinitionMap;
21
- definitionsByIndex: {
21
+ protected _definitions: FormFieldDefinition[];
22
+ protected _options: Property[];
23
+ protected _definitionsMapByKey: FormFieldDefinitionMap;
24
+ protected _definitionsByIndex: {
22
25
  [index: number]: FormFieldDefinition;
23
26
  };
24
- helper: FormArrayHelper<Property>;
27
+ protected _helper: FormArrayHelper<Property>;
28
+ protected _autocompleteConfig: MatAutocompleteFieldConfig;
25
29
  formArrayName: string;
26
30
  formArray: UntypedFormArray;
27
31
  options: FormArrayHelperOptions;
28
- definitions: FormFieldDefinition[];
29
32
  chipColor: ThemePalette | PredefinedColors;
33
+ mobile: boolean;
34
+ appearance: MatFormFieldAppearance;
35
+ subscriptSizing: SubscriptSizing;
36
+ showHintKey: boolean;
37
+ hintKeyPrefix: string;
38
+ showMoreButton: boolean;
39
+ showMoreButtonTitle: string;
40
+ showAddButton: boolean;
41
+ set definitions(value: FormFieldDefinition[]);
42
+ get definitions(): FormFieldDefinition[];
30
43
  set value(data: T[]);
31
44
  get value(): T[];
32
45
  get length(): number;
33
46
  get fieldForms(): UntypedFormGroup[];
34
- constructor(injector: Injector, formBuilder: UntypedFormBuilder, dateAdapter: DateAdapter<Moment>, settings: LocalSettingsService, cd: ChangeDetectorRef, validator: PropertyValidator, formGroupDir: FormGroupDirective);
47
+ constructor(injector: Injector, formBuilder: UntypedFormBuilder, dateAdapter: DateAdapter<Moment>, cd: ChangeDetectorRef, validator: PropertyValidator, formGroupDir: FormGroupDirective);
35
48
  ngOnInit(): void;
49
+ protected updateDefinitionsMaps(): void;
36
50
  getDefinitionAt(index: number): FormFieldDefinition;
37
- updateDefinitionAt(index: number): FormFieldDefinition;
51
+ updateDefinitionAt(index: number, opts?: {
52
+ emitEvent?: boolean;
53
+ }): FormFieldDefinition;
38
54
  removeAt(index: number): void;
39
55
  isUnknownField(fieldForm: UntypedFormGroup): boolean;
40
56
  setValue(data: T[] | any): void;
57
+ protected suggestDefinition(value: any, filter?: any): Promise<LoadResult<Property>>;
41
58
  protected markForCheck(): void;
42
- static ɵfac: i0.ɵɵFactoryDeclaration<AppPropertiesForm<any>, [null, null, null, null, null, null, { optional: true; }]>;
43
- static ɵcmp: i0.ɵɵComponentDeclaration<AppPropertiesForm<any>, "app-properties-form", never, { "formArrayName": { "alias": "formArrayName"; "required": false; }; "formArray": { "alias": "formArray"; "required": false; }; "options": { "alias": "options"; "required": false; }; "definitions": { "alias": "definitions"; "required": false; }; "chipColor": { "alias": "chipColor"; "required": false; }; }, {}, never, never, false, never>;
59
+ protected isEmptyProperty(obj: Property): boolean;
60
+ static ɵfac: i0.ɵɵFactoryDeclaration<AppPropertiesForm<any>, [null, null, null, null, null, { optional: true; }]>;
61
+ static ɵcmp: i0.ɵɵComponentDeclaration<AppPropertiesForm<any>, "app-properties-form", never, { "formArrayName": { "alias": "formArrayName"; "required": false; }; "formArray": { "alias": "formArray"; "required": false; }; "options": { "alias": "options"; "required": false; }; "chipColor": { "alias": "chipColor"; "required": false; }; "mobile": { "alias": "mobile"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "subscriptSizing": { "alias": "subscriptSizing"; "required": false; }; "showHintKey": { "alias": "showHintKey"; "required": false; }; "hintKeyPrefix": { "alias": "hintKeyPrefix"; "required": false; }; "showMoreButton": { "alias": "showMoreButton"; "required": false; }; "showMoreButtonTitle": { "alias": "showMoreButtonTitle"; "required": false; }; "showAddButton": { "alias": "showAddButton"; "required": false; }; "definitions": { "alias": "definitions"; "required": false; }; }, {}, never, never, false, never>;
62
+ static ngAcceptInputType_mobile: unknown;
63
+ static ngAcceptInputType_showHintKey: unknown;
64
+ static ngAcceptInputType_showMoreButton: unknown;
65
+ static ngAcceptInputType_showAddButton: unknown;
44
66
  }
@@ -4,11 +4,10 @@ import { Entity, EntityAsObjectOptions } from '../../services/model/entity.model
4
4
  import { AppValidatorService } from '../../services/validator/base.validator.class';
5
5
  import { AbstractControl, UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';
6
6
  import { FormFieldDefinition, FormFieldDefinitionMap } from '../../../shared/form/field.model';
7
- import { FilterFn } from '../../../shared/services/entity-service.class';
8
7
  import { Environment } from '../../../../environments/environment.class';
9
8
  import { TableElement } from '@e-is/ngx-material-table';
10
9
  import { EntityFilter } from '../../services/model/filter.model';
11
- import { ObjectMap } from '../../../shared/types';
10
+ import { FilterFn, ObjectMap } from '../../../shared/types';
12
11
  import { MatExpansionPanel } from '@angular/material/expansion';
13
12
  import * as i0 from "@angular/core";
14
13
  interface TranslatedFormFieldDefinition extends FormFieldDefinition {
@@ -55,6 +54,7 @@ export declare class AppPropertiesTable extends AppInMemoryTable<PropertyEntity,
55
54
  ngOnInit(): void;
56
55
  get value(): PropertyEntity[];
57
56
  set value(data: PropertyEntity[]);
57
+ definitionByRow: (row: TableElement<PropertyEntity>) => FormFieldDefinition;
58
58
  setValue(value: PropertyEntity[], opts?: {
59
59
  emitEvent?: boolean;
60
60
  }): void;
@@ -0,0 +1,27 @@
1
+ import { PropertiesMap, Property } from '../../../shared/types';
2
+ export declare class AppPropertiesUtils {
3
+ /**
4
+ * Converts an array of Property objects to an object map.
5
+ *
6
+ * @param {Property[]} [sources] - The array of Property objects to convert.
7
+ * @param {Object} [opts] - Options for the conversion.
8
+ * @param {boolean} [opts.omitNilOrBlank] - If set to true, properties with nil or blank values will be omitted from the resulting object.
9
+ * @return {PropertiesMap} The resulting object map where keys are property keys and values are property values.
10
+ */
11
+ static arrayAsObject(sources?: Property[], opts?: {
12
+ omitNilOrBlank: boolean;
13
+ }): PropertiesMap;
14
+ /**
15
+ * Converts an object into an array of properties.
16
+ *
17
+ * @param {PropertiesMap} [source] - The source object containing properties to convert.
18
+ * @return {Property[]} An array of properties derived from the source object.
19
+ */
20
+ static arrayFromObject<T = any>(source?: PropertiesMap): Property[];
21
+ }
22
+ export declare class AppPropertyUtils {
23
+ static asObject(source: Property | any): {
24
+ key: string;
25
+ value: string;
26
+ } | undefined;
27
+ }
@@ -1,13 +1,19 @@
1
- import { UntypedFormBuilder } from '@angular/forms';
1
+ import { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';
2
2
  import { Property } from '../../../shared/types';
3
3
  import { AppValidatorService } from '../../services/validator/base.validator.class';
4
4
  import * as i0 from "@angular/core";
5
+ export interface PropertyValidatorOptions {
6
+ valueMaxLength?: number;
7
+ }
5
8
  export declare class PropertyValidator extends AppValidatorService<Property> {
6
9
  protected formBuilder: UntypedFormBuilder;
7
10
  constructor(formBuilder: UntypedFormBuilder);
8
- getFormGroupConfig(data?: Property): {
11
+ getFormGroup(data?: Property, opts?: PropertyValidatorOptions): UntypedFormGroup;
12
+ getFormGroupConfig(data?: Property, opts?: PropertyValidatorOptions): {
9
13
  [p: string]: any;
10
14
  };
15
+ equals(v1: Property, v2: Property): boolean;
16
+ isEmpty(obj: Property): boolean;
11
17
  static ɵfac: i0.ɵɵFactoryDeclaration<PropertyValidator, never>;
12
- static ɵdir: i0.ɵɵDirectiveDeclaration<PropertyValidator, never, never, {}, {}, never, never, false, never>;
18
+ static ɵprov: i0.ɵɵInjectableDeclaration<PropertyValidator>;
13
19
  }
@@ -1,12 +1,14 @@
1
1
  import { PopoverController, ToastController } from '@ionic/angular';
2
2
  import { TextPopoverOptions } from '../text-popover.component';
3
3
  import { TranslateService } from '@ngx-translate/core';
4
+ import { PlatformService } from '../../../services/platform.service';
4
5
  import * as i0 from "@angular/core";
5
6
  export declare class TextPopoverTestingPage {
6
7
  private popoverController;
7
8
  private toastController;
8
9
  private translate;
9
- constructor(popoverController: PopoverController, toastController: ToastController, translate: TranslateService);
10
+ private platform;
11
+ constructor(popoverController: PopoverController, toastController: ToastController, translate: TranslateService, platform: PlatformService);
10
12
  showPopover(event: Event, opts?: Partial<TextPopoverOptions>): Promise<void>;
11
13
  protected showSharePopoverWithButtons(event: UIEvent, opts?: Partial<TextPopoverOptions>): Promise<void>;
12
14
  static ɵfac: i0.ɵɵFactoryDeclaration<TextPopoverTestingPage, never>;
@@ -0,0 +1,19 @@
1
+ import { ChangeDetectorRef, Injector } from '@angular/core';
2
+ import { UntypedFormBuilder } from '@angular/forms';
3
+ import { AppForm } from '../form.class';
4
+ import * as i0 from "@angular/core";
5
+ export declare class AppUsernameForm extends AppForm<{
6
+ username: string;
7
+ }> {
8
+ protected cd: ChangeDetectorRef;
9
+ mobile: boolean;
10
+ usernamePlaceHolder: string;
11
+ emailValidator: boolean;
12
+ constructor(injector: Injector, formBuilder: UntypedFormBuilder, cd: ChangeDetectorRef);
13
+ ngOnInit(): void;
14
+ markForCheck(): void;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<AppUsernameForm, never>;
16
+ static ɵcmp: i0.ɵɵComponentDeclaration<AppUsernameForm, "app-username-form", never, { "mobile": { "alias": "mobile"; "required": false; }; "usernamePlaceHolder": { "alias": "usernamePlaceHolder"; "required": false; }; "emailValidator": { "alias": "emailValidator"; "required": false; }; }, {}, never, never, false, never>;
17
+ static ngAcceptInputType_mobile: unknown;
18
+ static ngAcceptInputType_emailValidator: unknown;
19
+ }
@@ -0,0 +1,9 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./username.form";
3
+ import * as i2 from "../../../shared/shared.module";
4
+ import * as i3 from "@ngx-translate/core";
5
+ export declare class AppUsernameFormModule {
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<AppUsernameFormModule, never>;
7
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AppUsernameFormModule, [typeof i1.AppUsernameForm], [typeof i2.SharedModule, typeof i3.TranslateModule], [typeof i3.TranslateModule, typeof i1.AppUsernameForm]>;
8
+ static ɵinj: i0.ɵɵInjectorDeclaration<AppUsernameFormModule>;
9
+ }
@@ -1,8 +1,7 @@
1
1
  import * as i0 from "@angular/core";
2
- import * as i1 from "@angular/common/http";
3
2
  export declare class AppGraphQLModule {
4
3
  constructor();
5
4
  static ɵfac: i0.ɵɵFactoryDeclaration<AppGraphQLModule, never>;
6
- static ɵmod: i0.ɵɵNgModuleDeclaration<AppGraphQLModule, never, [typeof i1.HttpClientModule], [typeof i1.HttpClientModule]>;
5
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AppGraphQLModule, never, never, never>;
7
6
  static ɵinj: i0.ɵɵInjectorDeclaration<AppGraphQLModule>;
8
7
  }
@@ -12,7 +12,6 @@ import { HttpLink } from 'apollo-angular/http';
12
12
  import { ErrorPolicy, MutationBaseOptions } from '@apollo/client/core/watchQueryOptions';
13
13
  import { Cache } from '@apollo/client/cache/core/types/Cache';
14
14
  import { Environment } from '../../../environments/environment.class';
15
- import { CryptoService } from '../services/crypto.service';
16
15
  import { PropertiesMap } from '../../shared/types';
17
16
  import { StartableService } from '../../shared/services/startable-service.class';
18
17
  import { StorageService } from '../../shared/storage/storage.service';
@@ -50,7 +49,6 @@ export declare class GraphqlService extends StartableService<ApolloClient<any>>
50
49
  private httpLink;
51
50
  private network;
52
51
  private storage;
53
- private cryptoService;
54
52
  protected environment: Environment;
55
53
  private typePolicies;
56
54
  private fragments;
@@ -65,7 +63,7 @@ export declare class GraphqlService extends StartableService<ApolloClient<any>>
65
63
  get client(): ApolloClient<any>;
66
64
  get cache(): ApolloCache<any>;
67
65
  get defaultFetchPolicy(): WatchQueryFetchPolicy;
68
- constructor(platform: Platform, apollo: Apollo, httpLink: HttpLink, network: NetworkService, storage: StorageService, cryptoService: CryptoService, environment: Environment, typePolicies: TypePolicies, fragments: DocumentNode[]);
66
+ constructor(platform: Platform, apollo: Apollo, httpLink: HttpLink, network: NetworkService, storage: StorageService, environment: Environment, typePolicies: TypePolicies, fragments: DocumentNode[]);
69
67
  setAuthToken(token: string): Promise<void>;
70
68
  setAuthBasic(basic: string): Promise<void>;
71
69
  /**
@@ -144,6 +142,6 @@ export declare class GraphqlService extends StartableService<ApolloClient<any>>
144
142
  private createAppErrorByCode;
145
143
  private getI18nErrorMessageByCode;
146
144
  private toAppError;
147
- static ɵfac: i0.ɵɵFactoryDeclaration<GraphqlService, [null, null, null, null, null, null, null, { optional: true; }, { optional: true; }]>;
145
+ static ɵfac: i0.ɵɵFactoryDeclaration<GraphqlService, [null, null, null, null, null, null, { optional: true; }, { optional: true; }]>;
148
146
  static ɵprov: i0.ɵɵInjectableDeclaration<GraphqlService>;
149
147
  }
@@ -15,10 +15,23 @@ import { IMenuItem } from '../menu/menu.model';
15
15
  import { ShowToastOptions } from '../../shared/toast/toasts';
16
16
  import { Environment } from '../../../environments/environment.class';
17
17
  import { HistoryPageReference } from '../services/model/history.model';
18
+ import { RxState } from '@rx-angular/state';
19
+ import { ImagesUtils } from '../../shared/file/images.utils';
18
20
  import * as i0 from "@angular/core";
19
- export declare const getRandomImage: (files: string[]) => string;
21
+ /**
22
+ * @param files
23
+ * @deprecated use `getRandomImageWithCredit()` instead
24
+ **/
25
+ export declare const getRandomImage: typeof ImagesUtils.getRandomImage;
26
+ export declare const getRandomImageWithCredit: typeof ImagesUtils.getRandomImageWithCredit;
20
27
  export declare const APP_HOME_BUTTONS: InjectionToken<IMenuItem[]>;
21
- export declare class HomePage implements OnDestroy {
28
+ export interface HomePageState {
29
+ loading: boolean;
30
+ showSpinner: boolean;
31
+ showPartnerBanner: boolean;
32
+ pageHistory: HistoryPageReference[];
33
+ }
34
+ export declare class HomePage extends RxState<HomePageState> implements OnDestroy {
22
35
  private accountService;
23
36
  private modalCtrl;
24
37
  private translate;
@@ -34,13 +47,12 @@ export declare class HomePage implements OnDestroy {
34
47
  private readonly _debug;
35
48
  private _subscription;
36
49
  private _config;
37
- loading: boolean;
50
+ protected pageHistory$: import("rxjs").Observable<HistoryPageReference[]>;
51
+ protected loading$: import("rxjs").Observable<boolean>;
38
52
  waitingNetwork: boolean;
39
- showSpinner: boolean;
40
53
  accountName: string;
41
54
  isLogin: boolean;
42
55
  $partners: BehaviorSubject<Department[]>;
43
- loadingBanner: boolean;
44
56
  logo: string;
45
57
  description: string;
46
58
  appName: string;
@@ -48,10 +60,17 @@ export declare class HomePage implements OnDestroy {
48
60
  canRegister: boolean;
49
61
  contentStyle: any;
50
62
  contentCredits: string;
51
- pageHistory: HistoryPageReference[];
52
63
  offline: boolean;
53
64
  $filteredButtons: BehaviorSubject<IMenuItem[]>;
54
65
  readonly showAccountButton: boolean;
66
+ set pageHistory(value: HistoryPageReference[]);
67
+ get pageHistory(): HistoryPageReference[];
68
+ set loading(value: boolean);
69
+ get loading(): boolean;
70
+ set showSpinner(value: boolean);
71
+ get showSpinner(): boolean;
72
+ set showPartnerBanner(value: boolean);
73
+ get showPartnerBanner(): boolean;
55
74
  get currentLocaleCode(): string;
56
75
  constructor(accountService: AccountService, modalCtrl: ModalController, translate: TranslateService, toastController: ToastController, configService: ConfigService, platform: PlatformService, cd: ChangeDetectorRef, network: NetworkService, settings: LocalSettingsService, environment: Environment, locales: LocaleConfig[], buttons: IMenuItem[]);
57
76
  ngOnDestroy(): void;
@@ -68,6 +87,7 @@ export declare class HomePage implements OnDestroy {
68
87
  protected onLogin(account: Account): void;
69
88
  protected onLogout(): void;
70
89
  protected refreshButtons(account?: Account): void;
90
+ protected removePageHistory(path: string): Promise<void>;
71
91
  protected markForCheck(): void;
72
92
  static ɵfac: i0.ɵɵFactoryDeclaration<HomePage, [null, null, null, null, null, null, null, null, null, null, null, { optional: true; }]>;
73
93
  static ɵcmp: i0.ɵɵComponentDeclaration<HomePage, "app-page-home", never, {}, {}, never, never, false, never>;
@@ -1,7 +1,7 @@
1
- import { MenuService } from '../menu.service';
2
1
  import { ActivatedRoute, Router } from '@angular/router';
3
2
  import { AlertController, NavController } from '@ionic/angular';
4
3
  import { TranslateService } from '@ngx-translate/core';
4
+ import { MenuService } from '../menu.service';
5
5
  import { MenuTestingPage } from './menu.testing';
6
6
  import * as i0 from "@angular/core";
7
7
  export declare class OtherMenuTestingPage extends MenuTestingPage {