@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,4 +1,4 @@
1
- import { AfterViewInit, ChangeDetectorRef, Injector, OnDestroy, OnInit } from '@angular/core';
1
+ import { AfterViewInit, Injector, OnDestroy, OnInit } from '@angular/core';
2
2
  import { AppTable } from '../table.class';
3
3
  import { Referential } from '../../services/model/referential.model';
4
4
  import { IonInfiniteScroll } from '@ionic/angular';
@@ -11,8 +11,7 @@ import * as i0 from "@angular/core";
11
11
  export declare class Table2TestPage extends AppTable<Referential, ReferentialFilter> implements OnInit, OnDestroy, AfterViewInit {
12
12
  protected validatorService: AppValidatorService;
13
13
  protected formBuilder: UntypedFormBuilder;
14
- protected cd: ChangeDetectorRef;
15
- readonly maxRowCount = 100;
14
+ static readonly maxRowCount = 100;
16
15
  canEdit: boolean;
17
16
  data: Referential[];
18
17
  filterForm: UntypedFormGroup;
@@ -21,25 +20,29 @@ export declare class Table2TestPage extends AppTable<Referential, ReferentialFil
21
20
  enableInfiniteScroll: boolean;
22
21
  checkBoxSelection: boolean;
23
22
  resizable: boolean;
23
+ filterPanelFloating: boolean;
24
+ sticky: boolean;
25
+ stickyEnd: boolean;
24
26
  get hasMoreData(): boolean;
25
27
  filterExpansionPanel: MatExpansionPanel;
26
28
  infiniteScroll: IonInfiniteScroll;
27
29
  get dataService(): InMemoryEntitiesService<Referential>;
28
- constructor(injector: Injector, validatorService: AppValidatorService, formBuilder: UntypedFormBuilder, cd: ChangeDetectorRef);
30
+ constructor(injector: Injector, validatorService: AppValidatorService, formBuilder: UntypedFormBuilder);
29
31
  ngOnInit(): void;
30
- ngAfterViewInit(): void;
32
+ ngAfterViewInit(): Promise<void>;
31
33
  ngOnDestroy(): void;
32
- protected restoreFilter(): void;
33
- load(): void;
34
+ protected restoreFilter(): Promise<void>;
35
+ load(): Promise<void>;
34
36
  fetchMore(event: any): Promise<void>;
35
37
  save(opts?: {
36
38
  keepEditing?: boolean;
37
39
  }): Promise<boolean>;
38
40
  clearControlValue(event: Event, formControl: AbstractControl): boolean;
41
+ toggleFilterPanelFloating(): void;
39
42
  applyFilterAndClosePanel(event?: Event): void;
40
- resetFilter(event?: Event): void;
43
+ closeFilterPanel(): void;
44
+ resetFilter(_?: Event): void;
41
45
  protected generateData(offset?: number, size?: number): Referential[];
42
- protected markForCheck(): void;
43
46
  static ɵfac: i0.ɵɵFactoryDeclaration<Table2TestPage, never>;
44
- static ɵcmp: i0.ɵɵComponentDeclaration<Table2TestPage, "app-table2-testing", never, {}, {}, never, ["[suffix]"], false, never>;
47
+ static ɵcmp: i0.ɵɵComponentDeclaration<Table2TestPage, "app-table2-testing", never, { "filterPanelFloating": { "alias": "filterPanelFloating"; "required": false; }; "sticky": { "alias": "sticky"; "required": false; }; "stickyEnd": { "alias": "stickyEnd"; "required": false; }; }, {}, never, ["[suffix]"], false, never>;
45
48
  }
@@ -41,8 +41,10 @@ export declare class Alerts {
41
41
  * @param interpolateParams
42
42
  */
43
43
  static askDeleteConfirmation(alertCtrl: AlertController, translate: TranslateService, event?: Event, interpolateParams?: any): Promise<boolean | undefined>;
44
- static askSaveBeforeAction(alertCtrl: AlertController, translate: TranslateService, event?: {
45
- valid: boolean;
44
+ static askSaveBeforeAction(alertCtrl: AlertController, translate: TranslateService, opts?: {
45
+ valid?: boolean;
46
+ validMessageI18n?: string;
47
+ invalidMessageI18n?: string;
46
48
  }, interpolateParams?: any): Promise<{
47
49
  confirmed: boolean;
48
50
  save: boolean;
@@ -4,5 +4,10 @@ export declare const DATE_MATCH_REGEXP: RegExp;
4
4
  export declare const DEFAULT_PLACEHOLDER_CHAR = "_";
5
5
  export declare const PUBKEY_REGEXP: RegExp;
6
6
  export declare const SPACE_PLACEHOLDER_CHAR = "\u2000";
7
+ export declare const SPACE_PLACEHOLDER_CHAR_REGEXP_GLOBAL: RegExp;
7
8
  export declare const EMPTY_PLACEHOLDER_CHAR = "\uFEFF";
9
+ export declare const EMPTY_PLACEHOLDER_CHAR_REGEXP_GLOBAL: RegExp;
10
+ export declare const PLUS_PLACEHOLDER_CHAR_REGEXP_GLOBAL: RegExp;
8
11
  export declare const KEYBOARD_HIDE_DELAY_MS = 250;
12
+ export declare const DEFAULT_JOIN_PROPERTIES_SEPARATOR: string;
13
+ export declare const DEFAULT_JOIN_ARRAY_VALUES_SEPARATOR: string;
@@ -1,11 +1,16 @@
1
- import { Duration, Moment, unitOfTime } from 'moment';
2
1
  import * as momentImported from 'moment';
2
+ import { Duration, DurationInputArg1, DurationInputArg2, Moment, MomentFormatSpecification, MomentInput, unitOfTime } from 'moment/moment';
3
+ declare type MomentFn = {
4
+ (inp?: MomentInput, strict?: boolean): Moment;
5
+ (inp?: MomentInput, format?: MomentFormatSpecification, strict?: boolean): Moment;
6
+ (inp?: MomentInput, format?: MomentFormatSpecification, language?: string, strict?: boolean): Moment;
7
+ duration: (inp?: DurationInputArg1, unit?: DurationInputArg2) => Duration;
8
+ };
3
9
  export declare const DATE_UNIX_TIMESTAMP = "X";
4
10
  export declare const DATE_UNIX_MS_TIMESTAMP = "x";
5
11
  export declare const MOMENT_NO_TIME_PROPERTY = "_hasNoTime";
6
12
  export declare class DateUtils {
7
- static moment: typeof momentImported;
8
- static momentTZ: typeof momentImported;
13
+ static moment: MomentFn;
9
14
  static toDateISOString: typeof toDateISOString;
10
15
  static fromDateISOString: typeof fromDateISOString;
11
16
  static toDuration: typeof toDuration;
@@ -13,6 +18,7 @@ export declare class DateUtils {
13
18
  static max(date1: Moment | string, date2: Moment | string): Moment;
14
19
  static equals(date1: Moment | string, date2: Moment | string): boolean;
15
20
  static isSame(date1: Moment | string, date2: Moment | string, granularity?: unitOfTime.StartOf): boolean;
21
+ static compare(date1: Moment | string, date2: Moment | string, granularity?: unitOfTime.StartOf): number;
16
22
  /**
17
23
  * Create a copy of a date, without time fields (always return a new Moment object, or undefined).
18
24
  * Same implementation as the Java class Dates.resetTime() (see any SUMARiS like Pod)
@@ -36,6 +42,7 @@ export declare class DateUtils {
36
42
  }
37
43
  export declare function toDateISOString(value: any): string | undefined;
38
44
  export declare function fromDateISOString(value: any): Moment | undefined;
39
- export declare function fromUnixTimestamp(timeInSec: number): Moment;
40
- export declare function fromUnixMsTimestamp(timeInMs: number): Moment;
45
+ export declare function fromUnixTimestamp(timeInSec: number): momentImported.Moment;
46
+ export declare function fromUnixMsTimestamp(timeInMs: number): momentImported.Moment;
41
47
  export declare function toDuration(value: number, unit?: unitOfTime.DurationConstructor): Duration;
48
+ export {};
@@ -6,7 +6,6 @@ export declare class AutofocusDirective implements AfterContentInit, OnChanges,
6
6
  private readonly keyboard;
7
7
  shouldFocusElement: any;
8
8
  timerDelay: number;
9
- private readonly _mobile;
10
9
  private _timer;
11
10
  constructor(_elementRef: ElementRef, keyboard: KeyboardService);
12
11
  ngAfterContentInit(): void;
@@ -7,7 +7,7 @@ export interface PromiseEventPayload<R = any> {
7
7
  export type PromiseEvent<R = any, D = void> = CustomEvent<PromiseEventPayload<R> & D>;
8
8
  export declare function createPromiseEventEmitter<R = any, D = void>(): EventEmitter<PromiseEvent<R, D>>;
9
9
  export declare function createPromiseEvent<T = void, D = void>(eventType: string, promise: PromiseEventPayload<T>, initArg?: CustomEventInit<D>): PromiseEvent<T, D>;
10
- export declare function emitPromiseEvent<T = any, D = void>(emitter: EventEmitter<PromiseEvent<T, D>>, eventType: string, initArg?: CustomEventInit<D>): Promise<T>;
10
+ export declare function emitPromiseEvent<R = any, D = void>(emitter: EventEmitter<PromiseEvent<R, D>>, eventType: string, initArg?: CustomEventInit<D>): Promise<R>;
11
11
  export interface CompletableEvent extends Event {
12
12
  target: EventTarget & {
13
13
  complete?: () => void;
@@ -1,6 +1,9 @@
1
1
  import { Observable } from 'rxjs';
2
2
  import { FileEvent } from '../upload-file/upload-file.model';
3
+ import { TranslateService } from '@ngx-translate/core';
3
4
  export declare class CsvUtils {
5
+ static DEFAULT_SEPARATOR: string;
6
+ static DEFAULT_ENCODING: string;
4
7
  static exportToFile(rows: object[], opts?: {
5
8
  filename?: string;
6
9
  headers?: string[];
@@ -16,4 +19,6 @@ export declare class CsvUtils {
16
19
  separator?: string;
17
20
  skipEmptyLine?: boolean;
18
21
  }): string[][];
22
+ static getLocalizedSeparator(translate?: TranslateService, defaultSeparator?: string): string;
23
+ static getLocalizedEncoding(translate: TranslateService, defaultEncoding?: string): string;
19
24
  }
@@ -12,6 +12,23 @@ export declare interface ImageResizeOptions {
12
12
  thumbnail?: boolean;
13
13
  }
14
14
  export declare class ImagesUtils {
15
+ /**
16
+ * Parse a string like `<path>|<credit>` into an object `{image, credit}`
17
+ * @param file
18
+ **/
19
+ static getImageAndCredit(file: string): {
20
+ image: string;
21
+ credits: string;
22
+ };
23
+ /**
24
+ * @param files
25
+ * @deprecated Use getRandomImageWithCredit() instead
26
+ **/
27
+ static getRandomImage(files: string[]): string | undefined;
28
+ static getRandomImageWithCredit(files: string[]): {
29
+ image: string;
30
+ credits: string;
31
+ };
15
32
  static readAsDataURL(file: File, opts?: ImageResizeOptions): Observable<FileEvent<string>>;
16
33
  static readAndResizeFromUrl(fileUrl: string, opts?: ImageResizeOptions): Promise<string>;
17
34
  static resizeBase64(dataUrl: string, opts?: ImageResizeOptions): Promise<string>;
@@ -1,6 +1,8 @@
1
1
  import { Observable } from 'rxjs';
2
2
  import { FileEvent } from '../upload-file/upload-file.model';
3
+ import { TranslateService } from '@ngx-translate/core';
3
4
  export declare class JsonUtils {
5
+ static DEFAULT_ENCODING: string;
4
6
  static exportToFile(content: any, opts?: {
5
7
  filename?: string;
6
8
  encoding?: string;
@@ -13,4 +15,5 @@ export declare class JsonUtils {
13
15
  static parseFile<T = any>(file: File, opts?: {
14
16
  encoding?: string;
15
17
  }): Observable<FileEvent<T>>;
18
+ static getLocalizedEncoding(translate: TranslateService, defaultEncoding?: string): string;
16
19
  }
@@ -1,12 +1,13 @@
1
1
  import { ChangeDetectorRef, ElementRef, EventEmitter, InjectionToken, Injector, OnInit } from '@angular/core';
2
2
  import { ControlValueAccessor, FormGroupDirective, UntypedFormControl } from '@angular/forms';
3
- import { DisplayFn, FormFieldDefinition, FormFieldType, AppFloatLabelType } from './field.model';
3
+ import { AppFloatLabelType, DisplayFn, FormFieldDefinition, FormFieldType } from './field.model';
4
4
  import { TranslateService } from '@ngx-translate/core';
5
5
  import { filterNumberInput, selectInputContent } from '../inputs';
6
6
  import { Property } from '../types';
7
7
  import { ThemePalette } from '@angular/material/core';
8
8
  import { PredefinedColors } from '@ionic/core';
9
9
  import { MatAutocompleteField } from '../material/autocomplete/material.autocomplete';
10
+ import { MatFormFieldAppearance, SubscriptSizing } from '@angular/material/form-field';
10
11
  import * as i0 from "@angular/core";
11
12
  export declare class AppFormField implements OnInit, ControlValueAccessor {
12
13
  protected translate: TranslateService;
@@ -29,12 +30,14 @@ export declare class AppFormField implements OnInit, ControlValueAccessor {
29
30
  placeholder: string;
30
31
  compact: boolean;
31
32
  floatLabel: AppFloatLabelType;
33
+ appearance: MatFormFieldAppearance;
34
+ subscriptSizing: SubscriptSizing;
32
35
  tabindex: number;
33
36
  autofocus: boolean;
34
37
  clearable: boolean;
35
38
  chipColor: ThemePalette | PredefinedColors;
36
- debug: boolean;
37
39
  classList: string;
40
+ debug: boolean;
38
41
  onKeyupEnter: EventEmitter<any>;
39
42
  get value(): any;
40
43
  matInput: ElementRef;
@@ -67,5 +70,5 @@ export declare class AppFormField implements OnInit, ControlValueAccessor {
67
70
  }): void;
68
71
  protected updateTabIndex(timeout?: number): void;
69
72
  static ɵfac: i0.ɵɵFactoryDeclaration<AppFormField, [null, null, null, { optional: true; }]>;
70
- static ɵcmp: i0.ɵɵComponentDeclaration<AppFormField, "app-form-field", never, { "definition": { "alias": "definition"; "required": false; }; "required": { "alias": "required"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "formControl": { "alias": "formControl"; "required": false; }; "formControlName": { "alias": "formControlName"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "compact": { "alias": "compact"; "required": false; }; "floatLabel": { "alias": "floatLabel"; "required": false; }; "tabindex": { "alias": "tabindex"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "chipColor": { "alias": "chipColor"; "required": false; }; "debug": { "alias": "debug"; "required": false; }; "classList": { "alias": "class"; "required": false; }; }, { "onKeyupEnter": "keyup.enter"; }, never, ["[matSuffix]", "[matSuffix]", "[matSuffix]", "[matSuffix]", "[matSuffix]", "[matSuffix]", "[matPrefix]", "[matSuffix]", "[matSuffix]", "[matPrefix]", "[matSuffix]", "[matPrefix]", "[matSuffix]", "[matSuffix]"], false, never>;
73
+ static ɵcmp: i0.ɵɵComponentDeclaration<AppFormField, "app-form-field", never, { "definition": { "alias": "definition"; "required": false; }; "required": { "alias": "required"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "formControl": { "alias": "formControl"; "required": false; }; "formControlName": { "alias": "formControlName"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "compact": { "alias": "compact"; "required": false; }; "floatLabel": { "alias": "floatLabel"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "subscriptSizing": { "alias": "subscriptSizing"; "required": false; }; "tabindex": { "alias": "tabindex"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "chipColor": { "alias": "chipColor"; "required": false; }; "classList": { "alias": "class"; "required": false; }; "debug": { "alias": "debug"; "required": false; }; }, { "onKeyupEnter": "keyup.enter"; }, never, ["[matSuffix]", "[matSuffix]", "[matSuffix]", "[matSuffix]", "[matSuffix]", "[matSuffix]", "[matPrefix]", "[matSuffix]", "[matSuffix]", "[matPrefix]", "[matSuffix]", "[matPrefix]", "[matSuffix]", "[matSuffix]"], false, never>;
71
74
  }
@@ -1,5 +1,6 @@
1
1
  import { AbstractControl, UntypedFormArray, UntypedFormGroup, ValidationErrors } from '@angular/forms';
2
2
  import { WaitForOptions } from './observables';
3
+ import { Predicate } from '@angular/core';
3
4
  export interface FormErrors {
4
5
  [key: string]: ValidationErrors;
5
6
  }
@@ -35,10 +36,38 @@ export declare function getControlFromPath(form: UntypedFormGroup, path: string)
35
36
  export declare function disableControls(form: UntypedFormGroup, paths: string[], opts?: {
36
37
  onlySelf?: boolean;
37
38
  emitEvent?: boolean;
39
+ required?: boolean;
40
+ }): void;
41
+ export declare function enableControls(form: UntypedFormGroup, paths: string[], opts?: {
42
+ onlySelf?: boolean;
43
+ emitEvent?: boolean;
44
+ required?: boolean;
45
+ }): void;
46
+ export declare function setControlsEnabled(form: UntypedFormGroup, enabled: boolean, paths: string[], opts?: {
47
+ onlySelf?: boolean;
48
+ emitEvent?: boolean;
49
+ required?: boolean;
50
+ }): void;
51
+ export declare function enableControl(control: AbstractControl, opts?: {
52
+ onlySelf?: boolean;
53
+ emitEvent?: boolean;
54
+ required?: boolean;
55
+ }): void;
56
+ export declare function disableControl(control: AbstractControl, opts?: {
57
+ onlySelf?: boolean;
58
+ emitEvent?: boolean;
59
+ required?: boolean;
60
+ }): void;
61
+ export declare function setControlEnabled(control: AbstractControl, enabled: boolean, opts?: {
62
+ onlySelf?: boolean;
63
+ emitEvent?: boolean;
64
+ required?: boolean;
38
65
  }): void;
39
66
  export declare function addValueInArray(arrayControl: UntypedFormArray, createControl: (value?: any) => AbstractControl, equals: (v1: any, v2: any) => boolean, isEmpty: (value: any) => boolean, value: any, options?: {
40
67
  emitEvent: boolean;
41
68
  insertAt?: number;
69
+ allowManyNullValues?: boolean;
70
+ allowDuplicateValue?: boolean;
42
71
  }): boolean;
43
72
  /**
44
73
  * Set an array using given default values. Each default value will be pass to the 'createControl()' function
@@ -91,3 +120,6 @@ export declare function waitWhilePending<T extends {
91
120
  export declare function waitIdle<T extends {
92
121
  loading: boolean;
93
122
  }>(form: T, opts?: WaitForOptions): Promise<void>;
123
+ export declare function filterFormErrorsByPrefix(errors: FormErrors, ...prefixes: string[]): FormErrors;
124
+ export declare function filterFormErrorsByPath(errors: FormErrors, filter: Predicate<string>): FormErrors;
125
+ export declare function filterFormErrors(errors: FormErrors, filter: Predicate<[string, any]>): FormErrors;
@@ -7,17 +7,16 @@ export declare function isNotNilOrNaN<T>(obj: T | null | undefined): boolean;
7
7
  export declare function isNilOrNaN<T>(obj: T | null | undefined): boolean;
8
8
  export declare function isNotEmptyArray<T>(obj: T[] | null | undefined): boolean;
9
9
  export declare function firstArrayValue<T>(obj: T[] | null | undefined): T | undefined;
10
+ export declare function lastArrayValue<T>(obj: T[] | null | undefined): T | undefined;
10
11
  export declare function isEmptyArray<T>(obj: T[] | null | undefined): boolean;
12
+ export declare function arrayResize<T>(array: T[] | null | undefined, size: number, defaultValue?: T): T[];
13
+ export declare function newArray<T>(size: number, defaultValue?: T): T[];
11
14
  export declare function isNotNilBoolean(obj: any | null | undefined): obj is boolean;
12
15
  export declare function isNotNilString(obj: any | null | undefined): obj is string;
16
+ export declare function isNotNilObject(obj: any | null | undefined): obj is string;
13
17
  export declare function isBlankString(obj: any | null | undefined): obj is string;
14
18
  export declare function notNilOrDefault<T>(obj: T | null | undefined, defaultValue: T): T;
15
19
  export declare function arraySize<T>(obj: T[] | null | undefined): number;
16
- export declare function arrayGroupBy<T = any, K extends keyof T = any, M extends {
17
- [key: string]: T[];
18
- } = {
19
- [key: string]: T[];
20
- }>(obj: T[], key: keyof T): M;
21
20
  /**
22
21
  * Remove duplicated value, in array. Will compute a unique key (from given properties, or given function).
23
22
  * If propertiesOrKeyFn is nil or undefined, will use all object properties
@@ -27,10 +26,11 @@ export declare function arrayGroupBy<T = any, K extends keyof T = any, M extends
27
26
  */
28
27
  export declare function arrayDistinct<T = any>(values: T[], propertiesOrKeyFn?: string | string[] | ((obj: T) => string)): T[];
29
28
  export declare function nullIfUndefined<T>(obj: T | null | undefined): T | null;
29
+ export declare function nullIfNilOrBlank<T>(obj: T | null | undefined): T | null;
30
30
  export declare function undefinedIfNull<T>(obj: T | null | undefined): T | undefined;
31
31
  export declare function trimEmptyToNull<T>(str: string | null | undefined): string | null;
32
32
  export declare function toBoolean(obj: boolean | null | undefined | string, defaultValue?: boolean): boolean;
33
- export declare function toNumber(obj: number | null | undefined, defaultValue?: number): number;
33
+ export declare function toNumber(obj: number | null | undefined | string, defaultValue?: number): number;
34
34
  export declare function toFloat(obj: string | null | undefined, defaultValue?: number): number | null;
35
35
  export declare function toInt(obj: string | null | undefined, defaultValue?: number): number | null;
36
36
  export declare function toNotNil<T = any>(obj: T, defaultValue?: T): any | null;
@@ -52,6 +52,12 @@ export declare function removeEnd(value: string, end: string): string;
52
52
  * @param value
53
53
  */
54
54
  export declare function changeCaseToUnderscore(value: string): string;
55
+ /**
56
+ * Replace underscore by a change case (.e.g 'MY_STRING' becomes 'MyString')
57
+ *
58
+ * @param value
59
+ */
60
+ export declare function underscoreToChangeCase(value: string): string;
55
61
  export declare function removeDiacritics(text: string): string;
56
62
  export declare function suggestFromStringArray(values: string[], value: any, options?: {
57
63
  searchAttribute?: string;
@@ -66,10 +72,17 @@ export declare function sort<T>(array: T[], attribute?: string, opts?: Intl.Coll
66
72
  export declare function isInt(value: string): boolean;
67
73
  export declare function isNumber(value: string): boolean;
68
74
  export declare function isNumberRange(value: string): boolean;
69
- export declare function getPropertyByPath(obj: any, path: string | string[], defaultValue?: any): any;
75
+ export declare function getPropertyByPath(obj: any, path: string | Array<string | number>, defaultValue?: any): any;
70
76
  export declare function getProperty<T = any, K extends keyof T = any>(obj: T, key: K): T[K];
71
77
  export declare function getPropertyByPathAsString(obj: any, path: string | string[]): string | undefined;
72
- export declare function setPropertyByPath(obj: any, path: string | string[], value: any): any;
78
+ /**
79
+ * Update an object's property, using a path (like '<property_1>.<sub_property_1>')
80
+ * @param obj
81
+ * @param path
82
+ * @param value
83
+ * @return the given obj
84
+ */
85
+ export declare function setPropertyByPath<T = any>(obj: T, path: string | string[], value: any): T;
73
86
  export declare function sleep(ms: number): Promise<void>;
74
87
  export declare function round(value: number | undefined | null): number;
75
88
  export declare function equalsOrNil(value1: any, value2: any): boolean;
@@ -91,6 +104,10 @@ export declare function removeAll<T>(array: T[], predicate: (value: T) => boolea
91
104
  export declare function remove<T>(array: T[], predicate: (value: T) => boolean): T;
92
105
  export declare function capitalizeFirstLetter(value: string): string;
93
106
  export declare function uncapitalizeFirstLetter(value: string): string;
107
+ export declare function booleanToString(value: any, opts?: {
108
+ yesLabel: string;
109
+ noLabel: string;
110
+ }): string;
94
111
  export declare function splitByProperty<T, M extends KeyValueType<T> = KeyValueType<T>>(array: T[] | readonly T[], propertyName: keyof T | string): M;
95
112
  export declare function splitById<T, M extends KeyValueType<T> = KeyValueType<T>>(array: T[] | readonly T[]): M;
96
113
  /**
@@ -131,3 +148,5 @@ export declare class Beans {
131
148
  static collectByProperty: typeof collectByProperty;
132
149
  }
133
150
  export declare function findParentWithClass(elem: HTMLElement, className: string): HTMLElement;
151
+ export declare function intersectArrays<T = any>(values: T[][]): T[];
152
+ export declare function noHtml(value: string): string;
@@ -45,7 +45,7 @@ export declare class ColorScale {
45
45
  static custom: (count: number, options?: ColorScaleOptions) => ColorScale;
46
46
  static default(): ColorScale;
47
47
  /**
48
- * Create a array with the given color
48
+ * Create an array with the given color
49
49
  **/
50
50
  static fix(length?: number, colorName?: ColorName): any[];
51
51
  private _min;
@@ -1,13 +1,8 @@
1
1
  import { ActivatedRouteSnapshot, CanDeactivate, RouterStateSnapshot, UrlTree } from '@angular/router';
2
2
  import { TranslateService } from '@ngx-translate/core';
3
3
  import { AlertController } from '@ionic/angular';
4
+ import { CanLeave } from '../../core/form/form.utils';
4
5
  import * as i0 from "@angular/core";
5
- export interface CanLeave {
6
- dirty: boolean;
7
- valid: boolean;
8
- save(event?: Event, options?: any): Promise<boolean>;
9
- cancel(event?: Event): Promise<void>;
10
- }
11
6
  export declare class ComponentDirtyGuard implements CanDeactivate<CanLeave> {
12
7
  protected translate: TranslateService;
13
8
  protected alertCtrl: AlertController;
@@ -1,3 +1,4 @@
1
+ import { InjectionToken } from '@angular/core';
1
2
  import { EventManager } from '@angular/platform-browser';
2
3
  import { Observable } from 'rxjs';
3
4
  import { ModalController, PopoverController } from '@ionic/angular';
@@ -10,6 +11,17 @@ interface Options {
10
11
  keys: string;
11
12
  preventDefault: boolean;
12
13
  }
14
+ export interface HotKeysConfig {
15
+ /**
16
+ * Shortcut to open the hotkeys help modal
17
+ */
18
+ openHelpModalShortcut: string;
19
+ /**
20
+ * Enable the hotkeys help modal
21
+ */
22
+ enableHelpModal: boolean;
23
+ }
24
+ export declare const APP_HOTKEYS_CONFIG: InjectionToken<Partial<HotKeysConfig>>;
13
25
  export declare class Hotkeys {
14
26
  private eventManager;
15
27
  private dialog;
@@ -19,10 +31,12 @@ export declare class Hotkeys {
19
31
  private _hotkeys;
20
32
  private _document;
21
33
  private _defaults;
22
- constructor(eventManager: EventManager, dialog: MatDialog, modalController: ModalController, popoverController: PopoverController);
23
- addShortcut(options: Partial<Options>): Observable<Event>;
34
+ private _dialogRef;
35
+ private _config;
36
+ constructor(eventManager: EventManager, dialog: MatDialog, modalController: ModalController, popoverController: PopoverController, config?: Partial<HotKeysConfig>);
37
+ addShortcut(options: Partial<Options>): Observable<KeyboardEvent>;
24
38
  openHelpModal(): void;
25
- static ɵfac: i0.ɵɵFactoryDeclaration<Hotkeys, never>;
39
+ static ɵfac: i0.ɵɵFactoryDeclaration<Hotkeys, [null, null, null, null, { optional: true; }]>;
26
40
  static ɵprov: i0.ɵɵInjectableDeclaration<Hotkeys>;
27
41
  }
28
42
  export {};
@@ -14,6 +14,7 @@ export declare class HttpUtils {
14
14
  }): Promise<string>;
15
15
  static getJson<T>(http: HttpClient, uri: string, opts?: {
16
16
  nocache?: boolean;
17
+ timeout?: number;
17
18
  headers?: HttpHeaders | {
18
19
  [header: string]: string | string[];
19
20
  };
@@ -4,7 +4,7 @@ import { TableDataSource, TableElement } from '@e-is/ngx-material-table';
4
4
  import { Environment } from '../../../../environments/environment.class';
5
5
  import { ImageService } from '../image.service';
6
6
  import { Image } from '../image.model';
7
- import { AlertController, IonModal, IonPopover, Platform, PopoverController } from '@ionic/angular';
7
+ import { AlertController, IonModal, IonPopover, Platform } from '@ionic/angular';
8
8
  import { CollectionViewer, ListRange } from '@angular/cdk/collections';
9
9
  import { TranslateService } from '@ngx-translate/core';
10
10
  import { AppColors } from '../../types';
@@ -21,24 +21,23 @@ export declare class AppImageGalleryComponent<T extends Image> implements OnInit
21
21
  protected image: ImageService;
22
22
  protected platform: Platform;
23
23
  protected alterCtrl: AlertController;
24
- protected popoverCtrl: PopoverController;
25
24
  protected translate: TranslateService;
26
25
  protected cd: ChangeDetectorRef;
27
26
  protected _destroySubject: Subject<void>;
28
27
  protected _renderChangeSubscription: Subscription;
29
28
  protected _subscription: Subscription;
30
29
  protected _dataSource: TableDataSource<T>;
31
- protected _data: TableElement<T>[];
30
+ protected _data$: BehaviorSubject<readonly TableElement<T>[] | TableElement<T>[]>;
32
31
  protected _colSize: number;
33
32
  protected _selectedRowIndex: number;
34
33
  protected _presentingElement: Element;
35
34
  protected _titleForm: FormGroup;
36
35
  protected _titleAutofocus: boolean;
37
36
  protected _slidesSubscription: Subscription;
38
- protected swiperModules: ((opts: any) => void)[];
39
37
  protected _swiper: Swiper;
40
- zoomActive: boolean;
41
- zoomScale: number;
38
+ protected swiperModules: ((opts: any) => void)[];
39
+ protected zoomActive: boolean;
40
+ protected zoomScale: number;
42
41
  viewChange: BehaviorSubject<ListRange>;
43
42
  cardColor: string | PredefinedColors;
44
43
  debug: boolean;
@@ -55,7 +54,7 @@ export declare class AppImageGalleryComponent<T extends Image> implements OnInit
55
54
  set dataSource(dataSource: TableDataSource<T, any, any, any>);
56
55
  get dataSource(): TableDataSource<T, any, any, any>;
57
56
  get enabled(): boolean;
58
- get rows(): TableElement<T>[];
57
+ get rows(): TableElement<T>[] | ReadonlyArray<TableElement<T>>;
59
58
  get rowCount(): number;
60
59
  get activeIndex(): number;
61
60
  zoomModal: IonModal;
@@ -65,7 +64,8 @@ export declare class AppImageGalleryComponent<T extends Image> implements OnInit
65
64
  rows: TableElement<T>[];
66
65
  }>>;
67
66
  onAfterAddRows: EventEmitter<TableElement<T>[]>;
68
- constructor(image: ImageService, platform: Platform, alterCtrl: AlertController, popoverCtrl: PopoverController, translate: TranslateService, cd: ChangeDetectorRef, environment?: Environment);
67
+ onAfterEditRow: EventEmitter<TableElement<T>>;
68
+ constructor(image: ImageService, platform: Platform, alterCtrl: AlertController, translate: TranslateService, cd: ChangeDetectorRef, environment?: Environment);
69
69
  ngOnInit(): void;
70
70
  ngAfterContentChecked(): void;
71
71
  ngOnDestroy(): void;
@@ -93,6 +93,6 @@ export declare class AppImageGalleryComponent<T extends Image> implements OnInit
93
93
  interactive?: boolean;
94
94
  }): Promise<boolean>;
95
95
  protected markForCheck(): void;
96
- static ɵfac: i0.ɵɵFactoryDeclaration<AppImageGalleryComponent<any>, [null, null, null, null, null, null, { optional: true; }]>;
97
- static ɵcmp: i0.ɵɵComponentDeclaration<AppImageGalleryComponent<any>, "app-image-gallery", never, { "cardColor": { "alias": "cardColor"; "required": false; }; "debug": { "alias": "debug"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "readOnly": { "alias": "readOnly"; "required": false; }; "mobile": { "alias": "mobile"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "confirmBeforeDelete": { "alias": "confirmBeforeDelete"; "required": false; }; "showToolbar": { "alias": "showToolbar"; "required": false; }; "showFabButton": { "alias": "showFabButton"; "required": false; }; "showTitle": { "alias": "showTitle"; "required": false; }; "showAddCardButton": { "alias": "showAddCardButton"; "required": false; }; "addButtonColor": { "alias": "addButtonColor"; "required": false; }; "dataSource": { "alias": "dataSource"; "required": false; }; }, { "onBeforeDeleteRows": "onBeforeDeleteRows"; "onAfterAddRows": "onAfterAddRows"; }, never, never, false, never>;
96
+ static ɵfac: i0.ɵɵFactoryDeclaration<AppImageGalleryComponent<any>, [null, null, null, null, null, { optional: true; }]>;
97
+ static ɵcmp: i0.ɵɵComponentDeclaration<AppImageGalleryComponent<any>, "app-image-gallery", never, { "cardColor": { "alias": "cardColor"; "required": false; }; "debug": { "alias": "debug"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "readOnly": { "alias": "readOnly"; "required": false; }; "mobile": { "alias": "mobile"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "confirmBeforeDelete": { "alias": "confirmBeforeDelete"; "required": false; }; "showToolbar": { "alias": "showToolbar"; "required": false; }; "showFabButton": { "alias": "showFabButton"; "required": false; }; "showTitle": { "alias": "showTitle"; "required": false; }; "showAddCardButton": { "alias": "showAddCardButton"; "required": false; }; "addButtonColor": { "alias": "addButtonColor"; "required": false; }; "dataSource": { "alias": "dataSource"; "required": false; }; }, { "onBeforeDeleteRows": "onBeforeDeleteRows"; "onAfterAddRows": "onAfterAddRows"; "onAfterEditRow": "onAfterEditRow"; }, never, never, false, never>;
98
98
  }
@@ -7,8 +7,9 @@ import * as i5 from "../../material/material.module";
7
7
  import * as i6 from "../../pipes/pipes.module";
8
8
  import * as i7 from "../../directives/directives.module";
9
9
  import * as i8 from "@ngx-translate/core";
10
+ import * as i9 from "../../rx-state.module";
10
11
  export declare class ImageGalleryModule {
11
12
  static ɵfac: i0.ɵɵFactoryDeclaration<ImageGalleryModule, never>;
12
- static ɵmod: i0.ɵɵNgModuleDeclaration<ImageGalleryModule, [typeof i1.AppImageGalleryComponent], [typeof i2.CommonModule, typeof i3.IonicModule, typeof i4.ReactiveFormsModule, typeof i5.SharedMaterialModule, typeof i6.SharedPipesModule, typeof i7.SharedDirectivesModule, typeof i8.TranslateModule], [typeof i3.IonicModule, typeof i8.TranslateModule, typeof i1.AppImageGalleryComponent]>;
13
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ImageGalleryModule, [typeof i1.AppImageGalleryComponent], [typeof i2.CommonModule, typeof i3.IonicModule, typeof i4.ReactiveFormsModule, typeof i5.SharedMaterialModule, typeof i6.SharedPipesModule, typeof i7.SharedDirectivesModule, typeof i8.TranslateModule, typeof i9.RxStateModule], [typeof i3.IonicModule, typeof i8.TranslateModule, typeof i1.AppImageGalleryComponent]>;
13
14
  static ɵinj: i0.ɵɵInjectorDeclaration<ImageGalleryModule>;
14
15
  }
@@ -25,8 +25,8 @@ export declare class ImageAttachmentService extends StartableService implements
25
25
  watchAll(offset: number, size: number, sortBy?: string, sortDirection?: SortDirection, filter?: ImageAttachmentFilter, opts?: EntitiesServiceWatchOptions & {
26
26
  query?: any;
27
27
  }): Observable<LoadResult<ImageAttachment>>;
28
- saveAll(entities: ImageAttachment[], opts?: any): Promise<any[]>;
29
- deleteAll(entities: ImageAttachment[], opts?: any): Promise<any>;
28
+ saveAll(entities: ImageAttachment[]): Promise<any[]>;
29
+ deleteAll(entities: ImageAttachment[]): Promise<any>;
30
30
  asFilter(filter: any): ImageAttachmentFilter;
31
31
  static ɵfac: i0.ɵɵFactoryDeclaration<ImageAttachmentService, never>;
32
32
  static ɵprov: i0.ɵɵInjectableDeclaration<ImageAttachmentService>;
@@ -5,8 +5,9 @@ import * as i3 from "@ionic/angular";
5
5
  import * as i4 from "../image-gallery.module";
6
6
  import * as i5 from "@ngx-translate/core";
7
7
  import * as i6 from "@angular/router";
8
+ import * as i7 from "../../../debug/debug.module";
8
9
  export declare class ImageGalleryTestingModule {
9
10
  static ɵfac: i0.ɵɵFactoryDeclaration<ImageGalleryTestingModule, never>;
10
- static ɵmod: i0.ɵɵNgModuleDeclaration<ImageGalleryTestingModule, [typeof i1.GalleryTestPage], [typeof i2.CommonModule, typeof i3.IonicModule, typeof i4.ImageGalleryModule, typeof i5.TranslateModule, typeof i6.RouterModule, typeof i5.TranslateModule], [typeof i6.RouterModule, typeof i1.GalleryTestPage]>;
11
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ImageGalleryTestingModule, [typeof i1.GalleryTestPage], [typeof i2.CommonModule, typeof i3.IonicModule, typeof i4.ImageGalleryModule, typeof i5.TranslateModule, typeof i6.RouterModule, typeof i5.TranslateModule, typeof i7.SharedDebugModule], [typeof i6.RouterModule, typeof i1.GalleryTestPage]>;
11
12
  static ɵinj: i0.ɵɵInjectorDeclaration<ImageGalleryTestingModule>;
12
13
  }
@@ -5,8 +5,8 @@ export declare function selectInputRange(input: any, startIndex: number, endInde
5
5
  export declare function getCaretPosition(input: any): number;
6
6
  export declare function moveInputCaretToSeparator(event: KeyboardEvent, separator: string, forward?: boolean): boolean;
7
7
  export declare function filterNumberInput(event: KeyboardEvent, allowDecimals: boolean, decimalSeparator?: string): void;
8
- export declare function focusInput(element: ElementRef): void;
9
- export declare function setTabIndex(element: ElementRef, tabIndex: number): void;
8
+ export declare function focusInput<T = any>(element: ElementRef<T>): void;
9
+ export declare function setTabIndex<T = any>(element: ElementRef<T>, tabIndex: number): void;
10
10
  export interface InputElement extends FocusableElement {
11
11
  tabindex?: number;
12
12
  tabIndex?: number;
@@ -15,7 +15,7 @@ export interface InputElement extends FocusableElement {
15
15
  value: any;
16
16
  }
17
17
  export declare function isInputElement(object: any): object is InputElement;
18
- export declare function asInputElement(object: ElementRef): InputElement | undefined;
18
+ export declare function asInputElement<T = any>(object: ElementRef<T>): InputElement | undefined;
19
19
  export declare function tabindexComparator(a: InputElement, b: InputElement): 0 | 1 | -1;
20
20
  export interface CanGainFocusOptions {
21
21
  minTabindex?: number;
@@ -28,5 +28,7 @@ export interface GetFocusableInputOptions extends CanGainFocusOptions {
28
28
  }
29
29
  export declare function canHaveFocus(input: InputElement, opts?: CanGainFocusOptions): boolean;
30
30
  export declare function getFocusableInputElements(elements: QueryList<ElementRef>, opts?: GetFocusableInputOptions): InputElement[];
31
- export declare function focusNextInput(event: Event | undefined, elements: QueryList<ElementRef>, opts?: GetFocusableInputOptions): boolean;
32
- export declare function focusPreviousInput(event: Event | undefined, elements: QueryList<ElementRef>, opts?: GetFocusableInputOptions): boolean;
31
+ export declare function focusNextInput<T = any>(event: Event | undefined, elements: QueryList<ElementRef<T>>, opts?: GetFocusableInputOptions): boolean;
32
+ export declare function focusPreviousInput<T = any>(event: Event | undefined, elements: QueryList<ElementRef<T>>, opts?: GetFocusableInputOptions): boolean;
33
+ export declare function getInputSelectionRangesFromMask(mask: (string | RegExp)[]): number[][];
34
+ export declare function getInputRangeFromCaretIndex(caretIndex: number, inputRanges: number[][]): number[];
@@ -10,14 +10,33 @@ export declare interface MatAutocompleteFieldConfig<T = any, F = any> {
10
10
  columnNames?: (string | undefined)[];
11
11
  multiple?: boolean;
12
12
  displayWith?: DisplayFn;
13
+ displayWithSeparator?: string;
14
+ splitSearchText?: boolean;
15
+ trimSearchText?: boolean;
13
16
  equals?: EqualsFn;
14
17
  showAllOnFocus?: boolean;
15
18
  showPanelOnFocus?: boolean;
16
- class?: string;
17
19
  mobile?: boolean;
18
20
  debounceTime?: number;
19
21
  suggestLengthThreshold?: number;
20
22
  highlightAccent?: boolean;
23
+ applyImplicitValue?: boolean;
24
+ /**
25
+ * Should select input content (desktop only)
26
+ */
27
+ selectInputContentOnFocus?: boolean;
28
+ /**
29
+ * Class to apply to the `div.mat-mdc-select-panel`
30
+ */
31
+ panelClass?: string;
32
+ /**
33
+ * Allow to fix panel width (e.g. '500px' or '100vw')
34
+ */
35
+ panelWidth?: string;
36
+ /**
37
+ * @deprecated use `panelClass` instead
38
+ */
39
+ class?: string;
21
40
  }
22
41
  export declare interface MatAutocompleteFieldAddOptions<T = any, F = any> extends Partial<MatAutocompleteFieldConfig<T, F>> {
23
42
  service?: SuggestService<T, F>;