@sumaris-net/ngx-components 2.12.28 → 2.18.0-alpha10

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 (298) hide show
  1. package/doc/changelog.md +3 -0
  2. package/esm2022/public_api.mjs +2 -1
  3. package/esm2022/src/app/admin/admin-routing.module.mjs +5 -5
  4. package/esm2022/src/app/admin/admin.module.mjs +5 -5
  5. package/esm2022/src/app/admin/services/person.service.mjs +4 -4
  6. package/esm2022/src/app/admin/services/validator/person.validator.mjs +4 -4
  7. package/esm2022/src/app/admin/users/users.mjs +4 -4
  8. package/esm2022/src/app/admin/users/users.module.mjs +5 -5
  9. package/esm2022/src/app/core/about/about.modal.mjs +4 -4
  10. package/esm2022/src/app/core/about/about.module.mjs +5 -5
  11. package/esm2022/src/app/core/account/account.module.mjs +5 -5
  12. package/esm2022/src/app/core/account/account.page.mjs +4 -4
  13. package/esm2022/src/app/core/account/new-token.modal.mjs +4 -4
  14. package/esm2022/src/app/core/account/password/change-password.form.mjs +4 -4
  15. package/esm2022/src/app/core/account/password/change-password.module.mjs +5 -5
  16. package/esm2022/src/app/core/account/password/change-password.page.mjs +4 -4
  17. package/esm2022/src/app/core/account/token.table.mjs +4 -4
  18. package/esm2022/src/app/core/auth/auth.form.mjs +4 -4
  19. package/esm2022/src/app/core/auth/auth.modal.mjs +4 -4
  20. package/esm2022/src/app/core/auth/auth.module.mjs +5 -5
  21. package/esm2022/src/app/core/auth/reset-password.modal.mjs +4 -4
  22. package/esm2022/src/app/core/core.module.mjs +15 -23
  23. package/esm2022/src/app/core/core.testing.module.mjs +5 -5
  24. package/esm2022/src/app/core/form/array/form-array.mjs +2 -1
  25. package/esm2022/src/app/core/form/array/testing/form-array-test.module.mjs +5 -5
  26. package/esm2022/src/app/core/form/array/testing/form-array.test.mjs +4 -4
  27. package/esm2022/src/app/core/form/buttons/form-buttons-bar.component.mjs +4 -4
  28. package/esm2022/src/app/core/form/buttons/form-buttons-bar.module.mjs +5 -5
  29. package/esm2022/src/app/core/form/entity/editor.class.mjs +4 -4
  30. package/esm2022/src/app/core/form/entity/entity-editor-modal.class.mjs +4 -4
  31. package/esm2022/src/app/core/form/entity/entity-editor.class.mjs +4 -4
  32. package/esm2022/src/app/core/form/entity/entity-metadata.component.mjs +4 -4
  33. package/esm2022/src/app/core/form/entity/entity.module.mjs +5 -5
  34. package/esm2022/src/app/core/form/entity/tab-editor.class.mjs +4 -4
  35. package/esm2022/src/app/core/form/form-container.class.mjs +4 -4
  36. package/esm2022/src/app/core/form/form.class.mjs +9 -16
  37. package/esm2022/src/app/core/form/form.module.mjs +5 -5
  38. package/esm2022/src/app/core/form/list/list.form.mjs +4 -4
  39. package/esm2022/src/app/core/form/list/list.module.mjs +5 -5
  40. package/esm2022/src/app/core/form/properties/properties.form.mjs +133 -48
  41. package/esm2022/src/app/core/form/properties/properties.module.mjs +5 -5
  42. package/esm2022/src/app/core/form/properties/properties.table.mjs +7 -7
  43. package/esm2022/src/app/core/form/properties/property.validator.mjs +22 -8
  44. package/esm2022/src/app/core/form/properties/testing/properties-form.test.mjs +5 -5
  45. package/esm2022/src/app/core/form/properties/testing/properties-form.testing.module.mjs +5 -5
  46. package/esm2022/src/app/core/form/text-popover/testing/text-popover.testing.mjs +4 -4
  47. package/esm2022/src/app/core/form/text-popover/testing/text-popover.testing.module.mjs +5 -5
  48. package/esm2022/src/app/core/form/text-popover/text-popover.component.mjs +4 -4
  49. package/esm2022/src/app/core/form/text-popover/text-popover.module.mjs +5 -5
  50. package/esm2022/src/app/core/form/username/username.form.mjs +4 -4
  51. package/esm2022/src/app/core/form/username/username.module.mjs +5 -5
  52. package/esm2022/src/app/core/graphql/graphql.module.mjs +7 -10
  53. package/esm2022/src/app/core/graphql/graphql.service.mjs +4 -4
  54. package/esm2022/src/app/core/home/home.mjs +4 -4
  55. package/esm2022/src/app/core/home/home.module.mjs +5 -5
  56. package/esm2022/src/app/core/icon/icon.component.mjs +4 -4
  57. package/esm2022/src/app/core/icon/icon.module.mjs +5 -5
  58. package/esm2022/src/app/core/install/install-upgrade-card.component.mjs +4 -4
  59. package/esm2022/src/app/core/install/install-upgrade-card.module.mjs +5 -5
  60. package/esm2022/src/app/core/menu/menu.component.mjs +4 -4
  61. package/esm2022/src/app/core/menu/menu.module.mjs +5 -5
  62. package/esm2022/src/app/core/menu/menu.service.mjs +4 -4
  63. package/esm2022/src/app/core/menu/sub-menu-tab.directive.mjs +4 -4
  64. package/esm2022/src/app/core/menu/testing/menu-other.testing.mjs +4 -4
  65. package/esm2022/src/app/core/menu/testing/menu.testing.mjs +4 -4
  66. package/esm2022/src/app/core/menu/testing/menu.testing.module.mjs +5 -5
  67. package/esm2022/src/app/core/offline/update-offline-mode-card.component.mjs +4 -4
  68. package/esm2022/src/app/core/offline/update-offline-mode-card.module.mjs +5 -5
  69. package/esm2022/src/app/core/peer/select-peer.modal.mjs +4 -4
  70. package/esm2022/src/app/core/peer/select-peer.module.mjs +9 -12
  71. package/esm2022/src/app/core/register/register-confirm.page.mjs +4 -4
  72. package/esm2022/src/app/core/register/register.form.mjs +4 -4
  73. package/esm2022/src/app/core/register/register.modal.mjs +4 -4
  74. package/esm2022/src/app/core/register/register.module.mjs +5 -5
  75. package/esm2022/src/app/core/services/account.service.mjs +4 -4
  76. package/esm2022/src/app/core/services/auth-guard.service.mjs +4 -4
  77. package/esm2022/src/app/core/services/base-entity-service.class.mjs +4 -4
  78. package/esm2022/src/app/core/services/base-graphql-service.class.mjs +4 -4
  79. package/esm2022/src/app/core/services/config.service.mjs +4 -4
  80. package/esm2022/src/app/core/services/crypto.service.mjs +4 -4
  81. package/esm2022/src/app/core/services/local-settings.service.mjs +4 -4
  82. package/esm2022/src/app/core/services/model/entity.model.mjs +4 -2
  83. package/esm2022/src/app/core/services/network.service.mjs +4 -4
  84. package/esm2022/src/app/core/services/pipes/account.pipes.mjs +9 -9
  85. package/esm2022/src/app/core/services/pipes/department-to-string.pipe.mjs +5 -5
  86. package/esm2022/src/app/core/services/pipes/person-to-string.pipe.mjs +5 -5
  87. package/esm2022/src/app/core/services/pipes/pipes.module.mjs +5 -5
  88. package/esm2022/src/app/core/services/pipes/referential-to-string.pipe.mjs +4 -4
  89. package/esm2022/src/app/core/services/pipes/usage-mode.pipes.mjs +9 -9
  90. package/esm2022/src/app/core/services/platform.service.mjs +4 -4
  91. package/esm2022/src/app/core/services/storage/entities-storage.service.mjs +4 -4
  92. package/esm2022/src/app/core/services/testing/referential.validator.mjs +4 -4
  93. package/esm2022/src/app/core/services/validator/account.validator.mjs +4 -4
  94. package/esm2022/src/app/core/services/validator/base.validator.class.mjs +4 -4
  95. package/esm2022/src/app/core/services/validator/local-settings.validator.mjs +21 -10
  96. package/esm2022/src/app/core/services/validator/user-settings.validator.mjs +4 -4
  97. package/esm2022/src/app/core/services/validator/user-token.validator.mjs +4 -4
  98. package/esm2022/src/app/core/settings/settings.module.mjs +7 -6
  99. package/esm2022/src/app/core/settings/settings.page.mjs +47 -47
  100. package/esm2022/src/app/core/table/async-table.class.mjs +4 -4
  101. package/esm2022/src/app/core/table/column/actions-column.component.mjs +4 -4
  102. package/esm2022/src/app/core/table/column/nav-actions-column.component.mjs +6 -6
  103. package/esm2022/src/app/core/table/column/row-field.component.mjs +4 -4
  104. package/esm2022/src/app/core/table/entities-async-table-datasource.class.mjs +4 -4
  105. package/esm2022/src/app/core/table/entities-table-datasource.class.mjs +4 -4
  106. package/esm2022/src/app/core/table/memory-table.class.mjs +4 -4
  107. package/esm2022/src/app/core/table/table-select-columns.component.mjs +4 -4
  108. package/esm2022/src/app/core/table/table.class.mjs +11 -8
  109. package/esm2022/src/app/core/table/table.module.mjs +5 -5
  110. package/esm2022/src/app/core/table/table.pipes.mjs +10 -10
  111. package/esm2022/src/app/core/table/testing/table-validator.service.mjs +4 -4
  112. package/esm2022/src/app/core/table/testing/table.testing.mjs +5 -5
  113. package/esm2022/src/app/core/table/testing/table.testing.module.mjs +5 -5
  114. package/esm2022/src/app/core/table/testing/table2-validator.service.mjs +4 -4
  115. package/esm2022/src/app/core/table/testing/table2.testing.mjs +5 -5
  116. package/esm2022/src/app/shared/audio/audio.mjs +4 -4
  117. package/esm2022/src/app/shared/audio/audio.testing.mjs +4 -4
  118. package/esm2022/src/app/shared/audio/audio.testing.module.mjs +5 -5
  119. package/esm2022/src/app/shared/capacitor/keyboard.mjs +4 -4
  120. package/esm2022/src/app/shared/dates.mjs +4 -8
  121. package/esm2022/src/app/shared/debug/debug.component.mjs +4 -4
  122. package/esm2022/src/app/shared/debug/debug.module.mjs +5 -5
  123. package/esm2022/src/app/shared/directives/autofocus.directive.mjs +4 -4
  124. package/esm2022/src/app/shared/directives/autotitle.directive.mjs +4 -4
  125. package/esm2022/src/app/shared/directives/directives.module.mjs +5 -5
  126. package/esm2022/src/app/shared/directives/drag-and-drop.directive.mjs +4 -4
  127. package/esm2022/src/app/shared/directives/ng-var.directive.mjs +4 -4
  128. package/esm2022/src/app/shared/directives/resizable/resizable.component.mjs +4 -4
  129. package/esm2022/src/app/shared/directives/resizable/resizable.directive.mjs +4 -4
  130. package/esm2022/src/app/shared/directives/resizable/resizable.module.mjs +5 -5
  131. package/esm2022/src/app/shared/file/file.service.mjs +4 -4
  132. package/esm2022/src/app/shared/form/field.component.mjs +35 -16
  133. package/esm2022/src/app/shared/form/loading-spinner.mjs +4 -4
  134. package/esm2022/src/app/shared/functions.mjs +16 -1
  135. package/esm2022/src/app/shared/gesture/gesture-config.mjs +4 -4
  136. package/esm2022/src/app/shared/guard/component-dirty.guard.mjs +4 -4
  137. package/esm2022/src/app/shared/help/help.modal.mjs +4 -4
  138. package/esm2022/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.mjs +4 -4
  139. package/esm2022/src/app/shared/hotkeys/hotkeys.service.mjs +4 -4
  140. package/esm2022/src/app/shared/hotkeys/shared-hotkeys.module.mjs +5 -5
  141. package/esm2022/src/app/shared/image/gallery/image-gallery.component.mjs +13 -12
  142. package/esm2022/src/app/shared/image/gallery/image-gallery.module.mjs +5 -5
  143. package/esm2022/src/app/shared/image/gallery/testing/gallery.service.testing.mjs +4 -4
  144. package/esm2022/src/app/shared/image/gallery/testing/gallery.testing.mjs +4 -4
  145. package/esm2022/src/app/shared/image/gallery/testing/gallery.testing.module.mjs +5 -5
  146. package/esm2022/src/app/shared/image/image.module.mjs +5 -5
  147. package/esm2022/src/app/shared/image/image.service.mjs +4 -4
  148. package/esm2022/src/app/shared/inputs.mjs +1 -1
  149. package/esm2022/src/app/shared/logging/logging-service.class.mjs +4 -4
  150. package/esm2022/src/app/shared/logging/logging-service.module.mjs +5 -5
  151. package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.config.mjs +1 -1
  152. package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.mjs +38 -21
  153. package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.module.mjs +5 -5
  154. package/esm2022/src/app/shared/material/autocomplete/testing/autocomplete.test.mjs +4 -4
  155. package/esm2022/src/app/shared/material/badge/badge.directive.mjs +4 -4
  156. package/esm2022/src/app/shared/material/badge/badge.module.mjs +5 -5
  157. package/esm2022/src/app/shared/material/badge/badge.test.mjs +4 -4
  158. package/esm2022/src/app/shared/material/boolean/boolean.module.mjs +5 -5
  159. package/esm2022/src/app/shared/material/boolean/material.boolean.mjs +4 -4
  160. package/esm2022/src/app/shared/material/boolean/testing/boolean.test.page.mjs +4 -4
  161. package/esm2022/src/app/shared/material/chips/chips.module.mjs +5 -5
  162. package/esm2022/src/app/shared/material/chips/material.chips.mjs +6 -6
  163. package/esm2022/src/app/shared/material/chips/testing/chips.test.mjs +4 -4
  164. package/esm2022/src/app/shared/material/datetime/datetime.module.mjs +5 -5
  165. package/esm2022/src/app/shared/material/datetime/material.date.mjs +4 -4
  166. package/esm2022/src/app/shared/material/datetime/material.dateshort.mjs +4 -4
  167. package/esm2022/src/app/shared/material/datetime/material.datetime.mjs +6 -6
  168. package/esm2022/src/app/shared/material/datetime/testing/mat-date-time.test.mjs +4 -4
  169. package/esm2022/src/app/shared/material/datetime/testing/mat-date.test.mjs +4 -4
  170. package/esm2022/src/app/shared/material/datetime/testing/mat-dateshort.test.mjs +4 -4
  171. package/esm2022/src/app/shared/material/duration/duration.module.mjs +5 -5
  172. package/esm2022/src/app/shared/material/duration/material.duration.mjs +4 -4
  173. package/esm2022/src/app/shared/material/duration/testing/mat-duration.test.mjs +4 -4
  174. package/esm2022/src/app/shared/material/latlong/material.latlong.mjs +4 -4
  175. package/esm2022/src/app/shared/material/latlong/material.latlong.module.mjs +5 -5
  176. package/esm2022/src/app/shared/material/latlong/testing/latlong.test.mjs +4 -4
  177. package/esm2022/src/app/shared/material/material.module.mjs +5 -5
  178. package/esm2022/src/app/shared/material/material.testing.module.mjs +5 -5
  179. package/esm2022/src/app/shared/material/paginator/material.paginator-i18n.mjs +4 -4
  180. package/esm2022/src/app/shared/material/stepper/material.stepper-i18n.mjs +4 -4
  181. package/esm2022/src/app/shared/material/swipe/material.swipe.mjs +4 -4
  182. package/esm2022/src/app/shared/material/swipe/swipe.module.mjs +5 -5
  183. package/esm2022/src/app/shared/material/swipe/testing/swipe.test.mjs +4 -4
  184. package/esm2022/src/app/shared/material/testing/common.test.mjs +4 -4
  185. package/esm2022/src/app/shared/material/text/testing/text-form.testing.mjs +4 -4
  186. package/esm2022/src/app/shared/material/text/text-form.component.mjs +4 -4
  187. package/esm2022/src/app/shared/material/text/text-form.module.mjs +5 -5
  188. package/esm2022/src/app/shared/named-filter/named-filter-selector.component.mjs +35 -22
  189. package/esm2022/src/app/shared/named-filter/named-filter.module.mjs +5 -5
  190. package/esm2022/src/app/shared/named-filter/named-filter.service.mjs +4 -4
  191. package/esm2022/src/app/shared/named-filter/testing/named-filter-selector.testing.mjs +16 -11
  192. package/esm2022/src/app/shared/named-filter/testing/named-filter.testing.module.mjs +5 -5
  193. package/esm2022/src/app/shared/pipes/arrays.pipe.mjs +28 -28
  194. package/esm2022/src/app/shared/pipes/badge.pipes.mjs +4 -4
  195. package/esm2022/src/app/shared/pipes/colors.pipe.mjs +4 -4
  196. package/esm2022/src/app/shared/pipes/date-diff-duration.pipe.mjs +5 -5
  197. package/esm2022/src/app/shared/pipes/date-format.pipe.mjs +7 -7
  198. package/esm2022/src/app/shared/pipes/date-from-now.pipe.mjs +5 -5
  199. package/esm2022/src/app/shared/pipes/duration.pipe.mjs +5 -5
  200. package/esm2022/src/app/shared/pipes/file-size.pipe.mjs +4 -4
  201. package/esm2022/src/app/shared/pipes/form.pipes.mjs +22 -22
  202. package/esm2022/src/app/shared/pipes/highlight.pipe.mjs +5 -5
  203. package/esm2022/src/app/shared/pipes/html.pipes.mjs +52 -0
  204. package/esm2022/src/app/shared/pipes/latlong-format.pipe.mjs +10 -10
  205. package/esm2022/src/app/shared/pipes/maps.pipe.mjs +13 -13
  206. package/esm2022/src/app/shared/pipes/maskito.pipe.mjs +4 -4
  207. package/esm2022/src/app/shared/pipes/math.pipes.mjs +13 -13
  208. package/esm2022/src/app/shared/pipes/ng-init.pipe.mjs +4 -4
  209. package/esm2022/src/app/shared/pipes/number-format.pipe.mjs +5 -5
  210. package/esm2022/src/app/shared/pipes/pipes.module.mjs +14 -7
  211. package/esm2022/src/app/shared/pipes/property.pipes.mjs +15 -15
  212. package/esm2022/src/app/shared/pipes/selection.pipes.mjs +22 -22
  213. package/esm2022/src/app/shared/pipes/string.pipes.mjs +31 -31
  214. package/esm2022/src/app/shared/pipes/translate-context.pipe.mjs +9 -9
  215. package/esm2022/src/app/shared/pipes/types.pipes.mjs +16 -16
  216. package/esm2022/src/app/shared/rx-state.module.mjs +5 -5
  217. package/esm2022/src/app/shared/services/memory-entity-service.class.mjs +4 -4
  218. package/esm2022/src/app/shared/services/progress-bar.service.mjs +4 -4
  219. package/esm2022/src/app/shared/services/startable-observable-service.class.mjs +4 -4
  220. package/esm2022/src/app/shared/services/startable-service.class.mjs +4 -4
  221. package/esm2022/src/app/shared/services/translate-context.service.mjs +4 -4
  222. package/esm2022/src/app/shared/shared-routing.module.mjs +8 -8
  223. package/esm2022/src/app/shared/shared.module.mjs +5 -5
  224. package/esm2022/src/app/shared/shared.testing.module.mjs +5 -5
  225. package/esm2022/src/app/shared/storage/storage-explorer.component.mjs +4 -4
  226. package/esm2022/src/app/shared/storage/storage-explorer.module.mjs +5 -5
  227. package/esm2022/src/app/shared/storage/storage-explorer.testing-routing.module.mjs +5 -5
  228. package/esm2022/src/app/shared/storage/storage-explorer.testing.module.mjs +5 -5
  229. package/esm2022/src/app/shared/storage/storage.service.mjs +4 -4
  230. package/esm2022/src/app/shared/testing/maskito.test.mjs +4 -4
  231. package/esm2022/src/app/shared/testing/observable.test.mjs +4 -4
  232. package/esm2022/src/app/shared/testing/tests.page.mjs +4 -4
  233. package/esm2022/src/app/shared/toast/toast.testing.mjs +4 -4
  234. package/esm2022/src/app/shared/toast/toast.testing.module.mjs +5 -5
  235. package/esm2022/src/app/shared/toolbar/modal-toolbar.mjs +4 -4
  236. package/esm2022/src/app/shared/toolbar/toolbar.mjs +4 -4
  237. package/esm2022/src/app/shared/toolbar/toolbar.module.mjs +5 -5
  238. package/esm2022/src/app/shared/upload-file/testing/upload-file.testing.mjs +4 -4
  239. package/esm2022/src/app/shared/upload-file/testing/upload-file.testing.module.mjs +5 -5
  240. package/esm2022/src/app/shared/upload-file/upload-file-popover.component.mjs +4 -4
  241. package/esm2022/src/app/shared/upload-file/upload-file.component.mjs +4 -4
  242. package/esm2022/src/app/shared/validator/form-error-adapter.class.mjs +4 -4
  243. package/esm2022/src/app/social/job/job.module.mjs +5 -5
  244. package/esm2022/src/app/social/job/progression/job-progression.component.mjs +4 -4
  245. package/esm2022/src/app/social/job/progression/job-progression.icon.mjs +4 -4
  246. package/esm2022/src/app/social/job/progression/job-progression.list.mjs +10 -11
  247. package/esm2022/src/app/social/job/progression/job-progression.service.mjs +4 -4
  248. package/esm2022/src/app/social/job/testing/job-progression.testing.mjs +4 -4
  249. package/esm2022/src/app/social/job/testing/job-progression.testing.service.mjs +4 -4
  250. package/esm2022/src/app/social/job/testing/job.testing.module.mjs +5 -5
  251. package/esm2022/src/app/social/message/message.form.mjs +4 -4
  252. package/esm2022/src/app/social/message/message.modal.mjs +4 -4
  253. package/esm2022/src/app/social/message/message.module.mjs +5 -5
  254. package/esm2022/src/app/social/message/message.service.mjs +4 -4
  255. package/esm2022/src/app/social/social.module.mjs +5 -5
  256. package/esm2022/src/app/social/social.testing.module.mjs +5 -5
  257. package/esm2022/src/app/social/user-event/notification/user-event-notification.icon.mjs +4 -4
  258. package/esm2022/src/app/social/user-event/notification/user-event-notification.list.mjs +4 -4
  259. package/esm2022/src/app/social/user-event/testing/user-event.testing.mjs +4 -4
  260. package/esm2022/src/app/social/user-event/testing/user-event.testing.module.mjs +5 -5
  261. package/esm2022/src/app/social/user-event/testing/user-event.testing.service.mjs +4 -4
  262. package/esm2022/src/app/social/user-event/user-event.module.mjs +5 -5
  263. package/esm2022/src/app/social/user-event/user-event.service.mjs +4 -4
  264. package/esm2022/src/environments/environment.loader.mjs +4 -4
  265. package/esm2022/src/environments/environment.mjs +3 -3
  266. package/fesm2022/sumaris-net.ngx-components.mjs +1582 -1372
  267. package/fesm2022/sumaris-net.ngx-components.mjs.map +1 -1
  268. package/package.json +12 -6
  269. package/public_api.d.ts +1 -0
  270. package/src/app/core/core.module.d.ts +19 -20
  271. package/src/app/core/form/array/form-array.d.ts +1 -1
  272. package/src/app/core/form/form.class.d.ts +2 -5
  273. package/src/app/core/form/properties/properties.form.d.ts +32 -10
  274. package/src/app/core/form/properties/property.validator.d.ts +9 -3
  275. package/src/app/core/graphql/graphql.module.d.ts +1 -2
  276. package/src/app/core/peer/select-peer.module.d.ts +3 -4
  277. package/src/app/core/services/validator/local-settings.validator.d.ts +6 -2
  278. package/src/app/core/settings/settings.module.d.ts +2 -1
  279. package/src/app/core/settings/settings.page.d.ts +29 -18
  280. package/src/app/shared/dates.d.ts +9 -3
  281. package/src/app/shared/form/field.component.d.ts +3 -2
  282. package/src/app/shared/functions.d.ts +2 -0
  283. package/src/app/shared/inputs.d.ts +5 -5
  284. package/src/app/shared/material/autocomplete/material.autocomplete.config.d.ts +4 -0
  285. package/src/app/shared/material/autocomplete/material.autocomplete.d.ts +12 -4
  286. package/src/app/shared/named-filter/named-filter-selector.component.d.ts +9 -6
  287. package/src/app/shared/named-filter/testing/named-filter-selector.testing.d.ts +4 -1
  288. package/src/app/shared/pipes/html.pipes.d.ts +15 -0
  289. package/src/app/shared/pipes/pipes.module.d.ts +5 -4
  290. package/src/assets/i18n/fr.json +3 -2
  291. package/src/assets/manifest.json +1 -1
  292. package/src/environments/environment.d.ts +0 -1
  293. package/src/theme/_icons.scss +1 -1
  294. package/src/theme/_ionic.scss +10 -10
  295. package/src/theme/_material.globals.scss +6 -6
  296. package/src/theme/_ngx-components.forms.scss +3 -3
  297. package/src/theme/_ngx-components.scss +3 -2
  298. package/src/theme/_ngx-components.table.scss +2 -2
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@sumaris-net/ngx-components",
3
3
  "description": "SUMARiS Angular components",
4
- "version": "2.12.28",
4
+ "version": "2.18.0-alpha10",
5
5
  "author": "contact@e-is.pro",
6
6
  "license": "AGPL-3.0",
7
7
  "readmeFilename": "README.md",
@@ -22,19 +22,20 @@
22
22
  "@noble/ed25519": "^1.7.3",
23
23
  "@polkadot/util": "~12.6.2",
24
24
  "@polkadot/util-crypto": "~12.6.2",
25
- "@rx-angular/cdk": "~17.1.0",
26
- "@rx-angular/state": "~17.2.0",
27
- "@rx-angular/template": "~17.3.1",
25
+ "@rx-angular/cdk": "~18.0.0",
26
+ "@rx-angular/state": "~18.1.0",
27
+ "@rx-angular/template": "~18.0.3",
28
28
  "clone": "~2.1.2",
29
29
  "maildev": "^2.1.0",
30
30
  "tslib": "^2.3.0"
31
31
  },
32
32
  "peerDependencies": {
33
- "@apollo/client": "~3.11.5",
33
+ "@apollo/client": "~3.11.8",
34
34
  "@ionic/storage": "~4.0.0",
35
35
  "d3": "~7.6.1",
36
36
  "localforage": "~1.10.0",
37
- "rxjs": "~7.8.1"
37
+ "rxjs": "~7.8.1",
38
+ "zone.js": "0.15.0"
38
39
  },
39
40
  "optionalDependencies": {
40
41
  "@awesome-cordova-plugins/core": "~6.4.0",
@@ -72,6 +73,11 @@
72
73
  "npm": ">= 9.9.1",
73
74
  "yarn": ">= 1.22.19"
74
75
  },
76
+ "optimizeDeps": {
77
+ "exclude": [
78
+ "@ionic/angular"
79
+ ]
80
+ },
75
81
  "module": "fesm2022/sumaris-net.ngx-components.mjs",
76
82
  "typings": "index.d.ts",
77
83
  "exports": {
package/public_api.d.ts CHANGED
@@ -86,6 +86,7 @@ export * from './src/app/shared/pipes/types.pipes';
86
86
  export * from './src/app/shared/pipes/maskito.pipe';
87
87
  export * from './src/app/shared/pipes/selection.pipes';
88
88
  export * from './src/app/shared/pipes/badge.pipes';
89
+ export * from './src/app/shared/pipes/html.pipes';
89
90
  export * from './src/app/shared/services';
90
91
  export * from './src/app/shared/audio/audio';
91
92
  export * from './src/app/shared/file/file.service';
@@ -2,28 +2,27 @@ import { ModuleWithProviders } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "../shared/shared.module";
4
4
  import * as i2 from "@angular/router";
5
- import * as i3 from "@angular/common/http";
6
- import * as i4 from "ionic-cache";
7
- import * as i5 from "@ionic/storage-angular";
8
- import * as i6 from "./graphql/graphql.module";
9
- import * as i7 from "./menu/menu.module";
10
- import * as i8 from "./icon/icon.module";
11
- import * as i9 from "./account/account.module";
12
- import * as i10 from "./register/register.module";
13
- import * as i11 from "./auth/auth.module";
14
- import * as i12 from "./home/home.module";
15
- import * as i13 from "./about/about.module";
16
- import * as i14 from "./settings/settings.module";
17
- import * as i15 from "./peer/select-peer.module";
18
- import * as i16 from "./form/form.module";
19
- import * as i17 from "./table/table.module";
20
- import * as i18 from "./install/install-upgrade-card.module";
21
- import * as i19 from "./offline/update-offline-mode-card.module";
22
- import * as i20 from "./services/pipes/pipes.module";
23
- import * as i21 from "./account/password/change-password.module";
5
+ import * as i3 from "ionic-cache";
6
+ import * as i4 from "@ionic/storage-angular";
7
+ import * as i5 from "./graphql/graphql.module";
8
+ import * as i6 from "./menu/menu.module";
9
+ import * as i7 from "./icon/icon.module";
10
+ import * as i8 from "./account/account.module";
11
+ import * as i9 from "./register/register.module";
12
+ import * as i10 from "./auth/auth.module";
13
+ import * as i11 from "./home/home.module";
14
+ import * as i12 from "./about/about.module";
15
+ import * as i13 from "./settings/settings.module";
16
+ import * as i14 from "./peer/select-peer.module";
17
+ import * as i15 from "./form/form.module";
18
+ import * as i16 from "./table/table.module";
19
+ import * as i17 from "./install/install-upgrade-card.module";
20
+ import * as i18 from "./offline/update-offline-mode-card.module";
21
+ import * as i19 from "./services/pipes/pipes.module";
22
+ import * as i20 from "./account/password/change-password.module";
24
23
  export declare class CoreModule {
25
24
  static forRoot(): ModuleWithProviders<CoreModule>;
26
25
  static ɵfac: i0.ɵɵFactoryDeclaration<CoreModule, never>;
27
- static ɵmod: i0.ɵɵNgModuleDeclaration<CoreModule, never, [typeof i1.SharedModule, typeof i2.RouterModule, typeof i3.HttpClientModule, typeof i4.CacheModule, typeof i5.IonicStorageModule, typeof i6.AppGraphQLModule, typeof i7.AppMenuModule, typeof i8.AppIconModule, typeof i9.AppAccountModule, typeof i10.AppRegisterModule, typeof i11.AppAuthModule, typeof i12.AppHomePageModule, typeof i13.AppAboutModalModule, typeof i14.AppSettingsPageModule, typeof i15.AppSelectPeerModule, typeof i16.AppFormModule, typeof i17.AppTableModule, typeof i18.AppInstallUpgradeCardModule, typeof i19.AppUpdateOfflineModeCardModule, typeof i20.CorePipesModule], [typeof i1.SharedModule, typeof i2.RouterModule, typeof i6.AppGraphQLModule, typeof i7.AppMenuModule, typeof i10.AppRegisterModule, typeof i21.AppChangePasswordModule, typeof i11.AppAuthModule, typeof i12.AppHomePageModule, typeof i13.AppAboutModalModule, typeof i14.AppSettingsPageModule, typeof i8.AppIconModule, typeof i15.AppSelectPeerModule, typeof i16.AppFormModule, typeof i17.AppTableModule, typeof i18.AppInstallUpgradeCardModule, typeof i19.AppUpdateOfflineModeCardModule, typeof i20.CorePipesModule]>;
26
+ static ɵmod: i0.ɵɵNgModuleDeclaration<CoreModule, never, [typeof i1.SharedModule, typeof i2.RouterModule, typeof i3.CacheModule, typeof i4.IonicStorageModule, typeof i5.AppGraphQLModule, typeof i6.AppMenuModule, typeof i7.AppIconModule, typeof i8.AppAccountModule, typeof i9.AppRegisterModule, typeof i10.AppAuthModule, typeof i11.AppHomePageModule, typeof i12.AppAboutModalModule, typeof i13.AppSettingsPageModule, typeof i14.AppSelectPeerModule, typeof i15.AppFormModule, typeof i16.AppTableModule, typeof i17.AppInstallUpgradeCardModule, typeof i18.AppUpdateOfflineModeCardModule, typeof i19.CorePipesModule], [typeof i1.SharedModule, typeof i2.RouterModule, typeof i5.AppGraphQLModule, typeof i6.AppMenuModule, typeof i9.AppRegisterModule, typeof i20.AppChangePasswordModule, typeof i10.AppAuthModule, typeof i11.AppHomePageModule, typeof i12.AppAboutModalModule, typeof i13.AppSettingsPageModule, typeof i7.AppIconModule, typeof i14.AppSelectPeerModule, typeof i15.AppFormModule, typeof i16.AppTableModule, typeof i17.AppInstallUpgradeCardModule, typeof i18.AppUpdateOfflineModeCardModule, typeof i19.CorePipesModule]>;
28
27
  static ɵinj: i0.ɵɵInjectorDeclaration<CoreModule>;
29
28
  }
@@ -78,7 +78,7 @@ export declare interface AppFormArrayOptions extends AbstractControlOptions {
78
78
  allowManyNullValues?: boolean;
79
79
  allowDuplicateValue?: boolean;
80
80
  }
81
- export declare class AppFormArray<T extends Entity<T>, C extends AbstractControl> extends UntypedFormArray {
81
+ export declare class AppFormArray<T = Entity<any>, C extends AbstractControl = AbstractControl> extends UntypedFormArray {
82
82
  createControl: (value?: T) => C;
83
83
  private equals;
84
84
  private isEmpty;
@@ -39,11 +39,6 @@ export declare class AppForm<T> implements IAppForm<T>, OnInit, OnDestroy, IForm
39
39
  get untouched(): boolean;
40
40
  get enabled(): boolean;
41
41
  get disabled(): boolean;
42
- /**
43
- * @deprecated
44
- */
45
- protected get _enable(): boolean;
46
- protected set _enable(value: boolean);
47
42
  disable(opts?: {
48
43
  onlySelf?: boolean;
49
44
  emitEvent?: boolean;
@@ -144,4 +139,6 @@ export declare class AppForm<T> implements IAppForm<T>, OnInit, OnDestroy, IForm
144
139
  private setLoading;
145
140
  static ɵfac: i0.ɵɵFactoryDeclaration<AppForm<any>, never>;
146
141
  static ɵdir: i0.ɵɵDirectiveDeclaration<AppForm<any>, never, never, { "debug": { "alias": "debug"; "required": false; }; "tabindex": { "alias": "tabindex"; "required": false; }; "errorTranslateOptions": { "alias": "errorTranslateOptions"; "required": false; }; "form": { "alias": "form"; "required": false; }; }, { "onCancel": "onCancel"; "onSubmit": "onSubmit"; }, never, never, false, never>;
142
+ static ngAcceptInputType_debug: unknown;
143
+ static ngAcceptInputType_tabindex: unknown;
147
144
  }
@@ -3,42 +3,64 @@ import { FormGroupDirective, UntypedFormArray, UntypedFormBuilder, UntypedFormGr
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
7
  import { Property } from '../../../shared/types';
9
8
  import { PropertyValidator } from './property.validator';
10
9
  import { PredefinedColors } from '@ionic/core';
11
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
  }
@@ -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,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
  }
@@ -1,11 +1,10 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "./select-peer.modal";
3
3
  import * as i2 from "../../shared/shared.module";
4
- import * as i3 from "@angular/common/http";
5
- import * as i4 from "@ngx-translate/core";
6
- import * as i5 from "../form/text-popover/text-popover.module";
4
+ import * as i3 from "@ngx-translate/core";
5
+ import * as i4 from "../form/text-popover/text-popover.module";
7
6
  export declare class AppSelectPeerModule {
8
7
  static ɵfac: i0.ɵɵFactoryDeclaration<AppSelectPeerModule, never>;
9
- static ɵmod: i0.ɵɵNgModuleDeclaration<AppSelectPeerModule, [typeof i1.SelectPeerModal], [typeof i2.SharedModule, typeof i3.HttpClientModule, typeof i4.TranslateModule, typeof i5.AppTextPopoverModule], [typeof i4.TranslateModule, typeof i1.SelectPeerModal]>;
8
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AppSelectPeerModule, [typeof i1.SelectPeerModal], [typeof i2.SharedModule, typeof i3.TranslateModule, typeof i4.AppTextPopoverModule], [typeof i3.TranslateModule, typeof i1.SelectPeerModal]>;
10
9
  static ɵinj: i0.ɵɵInjectorDeclaration<AppSelectPeerModule>;
11
10
  }
@@ -2,12 +2,16 @@ import { AbstractControl, UntypedFormBuilder, UntypedFormGroup, ValidationErrors
2
2
  import { LocalSettings } from '../model/settings.model';
3
3
  import { NetworkService } from '../network.service';
4
4
  import { AppValidatorService } from './base.validator.class';
5
+ import { AppFormArray } from '../../form/array/form-array';
6
+ import { Property } from '../../../shared/types';
7
+ import { PropertyValidator } from '../../form/properties/property.validator';
5
8
  import * as i0 from "@angular/core";
6
9
  export declare class LocalSettingsValidatorService extends AppValidatorService<LocalSettings> {
10
+ private propertyValidator;
7
11
  private networkService;
8
- constructor(formBuilder: UntypedFormBuilder, networkService: NetworkService);
12
+ constructor(formBuilder: UntypedFormBuilder, propertyValidator: PropertyValidator, networkService: NetworkService);
9
13
  getFormGroup(data?: LocalSettings): UntypedFormGroup;
10
- getPropertiesArray(array?: any): import("@angular/forms").UntypedFormArray;
14
+ getPropertiesArray(data?: any): AppFormArray<Property, UntypedFormGroup>;
11
15
  getPropertyFormGroup(data?: {
12
16
  key: string;
13
17
  value?: string;
@@ -3,8 +3,9 @@ import * as i1 from "./settings.page";
3
3
  import * as i2 from "../../shared/shared.module";
4
4
  import * as i3 from "../form/buttons/form-buttons-bar.module";
5
5
  import * as i4 from "@ngx-translate/core";
6
+ import * as i5 from "../form/properties/properties.module";
6
7
  export declare class AppSettingsPageModule {
7
8
  static ɵfac: i0.ɵɵFactoryDeclaration<AppSettingsPageModule, never>;
8
- static ɵmod: i0.ɵɵNgModuleDeclaration<AppSettingsPageModule, [typeof i1.SettingsPage], [typeof i2.SharedModule, typeof i3.AppFormButtonsBarModule, typeof i4.TranslateModule], [typeof i4.TranslateModule, typeof i1.SettingsPage]>;
9
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AppSettingsPageModule, [typeof i1.SettingsPage], [typeof i2.SharedModule, typeof i3.AppFormButtonsBarModule, typeof i4.TranslateModule, typeof i5.AppPropertiesFormModule], [typeof i4.TranslateModule, typeof i1.SettingsPage]>;
9
10
  static ɵinj: i0.ɵɵInjectorDeclaration<AppSettingsPageModule>;
10
11
  }
@@ -9,12 +9,11 @@ import { LocalSettingsValidatorService } from '../services/validator/local-setti
9
9
  import { PlatformService } from '../services/platform.service';
10
10
  import { NetworkService } from '../services/network.service';
11
11
  import { LocalSettingsService } from '../services/local-settings.service';
12
- import { FormFieldDefinition, FormFieldDefinitionMap } from '../../shared/form/field.model';
12
+ import { FormFieldDefinition } from '../../shared/form/field.model';
13
13
  import { AlertController, NavController } from '@ionic/angular';
14
- import { Property } from '../../shared/types';
15
14
  import { ISelectPeerModalOptions } from '../peer/select-peer.modal';
16
15
  import { IMenuItem } from '../menu/menu.model';
17
- import { FormArrayHelper } from '../form/array/form-array';
16
+ import { AppPropertiesForm } from '../form/properties/properties.form';
18
17
  import * as i0 from "@angular/core";
19
18
  export declare const APP_SETTINGS_MENU_ITEMS: InjectionToken<IMenuItem[]>;
20
19
  export declare class SettingsPage extends AppForm<LocalSettings> implements OnInit, OnDestroy, CanLeave {
@@ -30,27 +29,21 @@ export declare class SettingsPage extends AppForm<LocalSettings> implements OnIn
30
29
  network: NetworkService;
31
30
  locales: LocaleConfig[];
32
31
  private data;
33
- mobile: boolean;
34
- saving: boolean;
35
- usageModes: UsageMode[];
36
- menuItems: IMenuItem[];
37
- propertyDefinitions: FormFieldDefinition[];
38
- propertyDefinitionsByKey: FormFieldDefinitionMap;
39
- propertyDefinitionsByIndex: {
40
- [index: number]: FormFieldDefinition;
41
- };
42
- propertiesFormHelper: FormArrayHelper<Property>;
43
- latLongFormats: string[];
32
+ protected mobile: boolean;
33
+ protected isAdmin: boolean;
34
+ protected saving: boolean;
35
+ protected usageModes: UsageMode[];
36
+ protected menuItems: IMenuItem[];
37
+ protected propertyDefinitions: FormFieldDefinition[];
38
+ protected latLongFormats: string[];
44
39
  get accountInheritance(): boolean;
45
40
  get isLogin(): boolean;
46
- get propertiesForm(): UntypedFormArray;
41
+ get propertiesFormArray(): UntypedFormArray;
47
42
  get darkMode(): boolean;
48
43
  set darkMode(value: boolean);
44
+ propertiesForm: AppPropertiesForm;
49
45
  constructor(injector: Injector, platform: PlatformService, navController: NavController, validatorService: LocalSettingsValidatorService, alertCtrl: AlertController, translate: TranslateService, formBuilder: UntypedFormBuilder, accountService: AccountService, settings: LocalSettingsService, cd: ChangeDetectorRef, network: NetworkService, locales: LocaleConfig[], menuItems?: IMenuItem[]);
50
46
  ngOnInit(): Promise<void>;
51
- getPropertyDefinition(index: number): FormFieldDefinition;
52
- updatePropertyDefinition(index: number): FormFieldDefinition;
53
- removePropertyAt(index: number): void;
54
47
  load(): Promise<void>;
55
48
  updateView(data: LocalSettings): void;
56
49
  save(event?: Event, options?: any): Promise<boolean>;
@@ -63,6 +56,24 @@ export declare class SettingsPage extends AppForm<LocalSettings> implements OnIn
63
56
  clearCache(event?: Event): Promise<void>;
64
57
  executeAction(event: Event, item: IMenuItem): Promise<void>;
65
58
  getValue(): Promise<LocalSettings>;
59
+ markAsLoading(): void;
60
+ markAsLoaded(opts?: {
61
+ emitEvent?: boolean;
62
+ }): void;
63
+ get loading(): boolean;
64
+ get loaded(): boolean;
65
+ enable(opts?: {
66
+ onlySelf?: boolean;
67
+ emitEvent?: boolean;
68
+ }): void;
69
+ disable(opts?: {
70
+ onlySelf?: boolean;
71
+ emitEvent?: boolean;
72
+ }): void;
73
+ markAsPristine(opts?: {
74
+ onlySelf?: boolean;
75
+ emitEvent?: boolean;
76
+ }): void;
66
77
  protected toggleDarkMode(enable?: boolean): Promise<void>;
67
78
  protected markForCheck(): void;
68
79
  static ɵfac: i0.ɵɵFactoryDeclaration<SettingsPage, [null, null, null, null, null, null, null, null, null, null, null, null, { optional: true; }]>;
@@ -1,11 +1,16 @@
1
1
  import * as momentImported from 'moment';
2
- import { Duration, Moment, unitOfTime } 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;
@@ -40,3 +45,4 @@ export declare function fromDateISOString(value: any): Moment | undefined;
40
45
  export declare function fromUnixTimestamp(timeInSec: number): momentImported.Moment;
41
46
  export declare function fromUnixMsTimestamp(timeInMs: number): momentImported.Moment;
42
47
  export declare function toDuration(value: number, unit?: unitOfTime.DurationConstructor): Duration;
48
+ export {};
@@ -7,7 +7,7 @@ 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 } from '@angular/material/form-field';
10
+ import { MatFormFieldAppearance, SubscriptSizing } from '@angular/material/form-field';
11
11
  import * as i0 from "@angular/core";
12
12
  export declare class AppFormField implements OnInit, ControlValueAccessor {
13
13
  protected translate: TranslateService;
@@ -31,6 +31,7 @@ export declare class AppFormField implements OnInit, ControlValueAccessor {
31
31
  compact: boolean;
32
32
  floatLabel: AppFloatLabelType;
33
33
  appearance: MatFormFieldAppearance;
34
+ subscriptSizing: SubscriptSizing;
34
35
  tabindex: number;
35
36
  autofocus: boolean;
36
37
  clearable: boolean;
@@ -69,5 +70,5 @@ export declare class AppFormField implements OnInit, ControlValueAccessor {
69
70
  }): void;
70
71
  protected updateTabIndex(timeout?: number): void;
71
72
  static ɵfac: i0.ɵɵFactoryDeclaration<AppFormField, [null, null, null, { optional: true; }]>;
72
- 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; }; "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>;
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>;
73
74
  }
@@ -148,3 +148,5 @@ export declare class Beans {
148
148
  static collectByProperty: typeof collectByProperty;
149
149
  }
150
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;
@@ -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,7 +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
33
  export declare function getInputSelectionRangesFromMask(mask: (string | RegExp)[]): number[][];
34
34
  export declare function getInputRangeFromCaretIndex(caretIndex: number, inputRanges: number[][]): number[];
@@ -21,6 +21,10 @@ export declare interface MatAutocompleteFieldConfig<T = any, F = any> {
21
21
  suggestLengthThreshold?: number;
22
22
  highlightAccent?: boolean;
23
23
  applyImplicitValue?: boolean;
24
+ /**
25
+ * Should select input content (desktop only)
26
+ */
27
+ selectInputContentOnFocus?: boolean;
24
28
  /**
25
29
  * Class to apply to the `div.mat-mdc-select-panel`
26
30
  */
@@ -5,11 +5,15 @@ import { SuggestFn } from '../../services/entity-service.class';
5
5
  import { InputElement } from '../../inputs';
6
6
  import { AppFloatLabelType, DisplayFn, EqualsFn } from '../../form/field.model';
7
7
  import { MatFormFieldAppearance, SubscriptSizing } from '@angular/material/form-field';
8
- import { MatSelect } from '@angular/material/select';
8
+ import { MatSelect, MatSelectChange } from '@angular/material/select';
9
9
  import { MatAutocomplete, MatAutocompleteSelectedEvent, MatAutocompleteTrigger } from '@angular/material/autocomplete';
10
10
  import { IonSearchbar, ModalController } from '@ionic/angular';
11
11
  import { MatAutocompleteFieldConfig } from './material.autocomplete.config';
12
12
  import * as i0 from "@angular/core";
13
+ export type MatAutocompleteFieldSelectChange = {
14
+ source: MatSelect | MatAutocomplete;
15
+ value: any;
16
+ };
13
17
  export declare class MatAutocompleteField implements OnInit, AfterViewInit, OnDestroy, InputElement, ControlValueAccessor {
14
18
  protected injector: Injector;
15
19
  protected el: ElementRef<HTMLElement>;
@@ -76,6 +80,7 @@ export declare class MatAutocompleteField implements OnInit, AfterViewInit, OnDe
76
80
  clearButtonTitle: string;
77
81
  trimSearchText: boolean;
78
82
  splitSearchText: boolean;
83
+ selectInputContentOnFocus: boolean;
79
84
  /**
80
85
  * @deprecated Use panelClass instead
81
86
  */
@@ -87,7 +92,7 @@ export declare class MatAutocompleteField implements OnInit, AfterViewInit, OnDe
87
92
  dropButtonClick: EventEmitter<Event>;
88
93
  keydownEscape: EventEmitter<Event>;
89
94
  keyupEnter: EventEmitter<Event>;
90
- optionSelected: EventEmitter<MatAutocompleteSelectedEvent>;
95
+ selectionChange: EventEmitter<MatAutocompleteFieldSelectChange>;
91
96
  matSelect: MatSelect;
92
97
  ionSearchbar: IonSearchbar;
93
98
  matInputText: ElementRef;
@@ -130,6 +135,9 @@ export declare class MatAutocompleteField implements OnInit, AfterViewInit, OnDe
130
135
  _initMatSelectInfiniteScroll(threshold?: string): void;
131
136
  get isOpen(): boolean;
132
137
  closePanel(): void;
138
+ protected markAsLoading(): void;
139
+ protected onSelectionChange(event: MatSelectChange): void;
140
+ protected onOptionSelected(event: MatAutocompleteSelectedEvent): void;
133
141
  private suggest;
134
142
  private fetchMore;
135
143
  private updateImplicitValue;
@@ -137,7 +145,6 @@ export declare class MatAutocompleteField implements OnInit, AfterViewInit, OnDe
137
145
  private getAutocompletePanel;
138
146
  private getMatSelectPanel;
139
147
  private markForCheck;
140
- protected markAsLoading(): void;
141
148
  private _fixMatSelectPositionAndSearchbar;
142
149
  private _fixMatSelectPanelPosition;
143
150
  /**
@@ -150,7 +157,7 @@ export declare class MatAutocompleteField implements OnInit, AfterViewInit, OnDe
150
157
  */
151
158
  private _fixSearchbarOverlay;
152
159
  static ɵfac: i0.ɵɵFactoryDeclaration<MatAutocompleteField, [null, null, null, null, null, { optional: true; }]>;
153
- static ɵcmp: i0.ɵɵComponentDeclaration<MatAutocompleteField, "mat-autocomplete-field", never, { "equals": { "alias": "equals"; "required": false; }; "logPrefix": { "alias": "logPrefix"; "required": false; }; "formControl": { "alias": "formControl"; "required": false; }; "formControlName": { "alias": "formControlName"; "required": false; }; "floatLabel": { "alias": "floatLabel"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "subscriptSizing": { "alias": "subscriptSizing"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "suggestFn": { "alias": "suggestFn"; "required": false; }; "required": { "alias": "required"; "required": false; }; "mobile": { "alias": "mobile"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "debounceTime": { "alias": "debounceTime"; "required": false; }; "displaySeparator": { "alias": "displaySeparator"; "required": false; }; "displayWith": { "alias": "displayWith"; "required": false; }; "displayAttributes": { "alias": "displayAttributes"; "required": false; }; "displayColumnSizes": { "alias": "displayColumnSizes"; "required": false; }; "displayColumnNames": { "alias": "displayColumnNames"; "required": false; }; "highlightAccent": { "alias": "highlightAccent"; "required": false; }; "showAllOnFocus": { "alias": "showAllOnFocus"; "required": false; }; "showPanelOnFocus": { "alias": "showPanelOnFocus"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; "config": { "alias": "config"; "required": false; }; "i18nPrefix": { "alias": "i18nPrefix"; "required": false; }; "noResultMessage": { "alias": "noResultMessage"; "required": false; }; "panelClass": { "alias": "panelClass"; "required": false; }; "panelWidth": { "alias": "panelWidth"; "required": false; }; "disableRipple": { "alias": "disableRipple"; "required": false; }; "matAutocompletePosition": { "alias": "matAutocompletePosition"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "fetchMoreThreshold": { "alias": "fetchMoreThreshold"; "required": false; }; "suggestLengthThreshold": { "alias": "suggestLengthThreshold"; "required": false; }; "showLoadingSpinner": { "alias": "showLoadingSpinner"; "required": false; }; "debug": { "alias": "debug"; "required": false; }; "showSearchBar": { "alias": "showSearchBar"; "required": false; }; "stickySearchBar": { "alias": "stickySearchBar"; "required": false; }; "applyImplicitValue": { "alias": "applyImplicitValue"; "required": false; }; "dropButtonTitle": { "alias": "dropButtonTitle"; "required": false; }; "clearButtonTitle": { "alias": "clearButtonTitle"; "required": false; }; "trimSearchText": { "alias": "trimSearchText"; "required": false; }; "splitSearchText": { "alias": "splitSearchText"; "required": false; }; "classList": { "alias": "class"; "required": false; }; "filter": { "alias": "filter"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "tabindex": { "alias": "tabindex"; "required": false; }; "items": { "alias": "items"; "required": false; }; }, { "clicked": "click"; "blurred": "blur"; "focused": "focus"; "dropButtonClick": "dropButtonClick"; "keydownEscape": "keydown.escape"; "keyupEnter": "keyup.enter"; "optionSelected": "optionSelected"; }, never, ["[matAfter]", "[matPrefix]", "[matSuffix]", "mat-error,[matError]", "mat-hint:not([align='end']),[matHint]", "mat-hint[align='end']"], false, never>;
160
+ static ɵcmp: i0.ɵɵComponentDeclaration<MatAutocompleteField, "mat-autocomplete-field", never, { "equals": { "alias": "equals"; "required": false; }; "logPrefix": { "alias": "logPrefix"; "required": false; }; "formControl": { "alias": "formControl"; "required": false; }; "formControlName": { "alias": "formControlName"; "required": false; }; "floatLabel": { "alias": "floatLabel"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "subscriptSizing": { "alias": "subscriptSizing"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "suggestFn": { "alias": "suggestFn"; "required": false; }; "required": { "alias": "required"; "required": false; }; "mobile": { "alias": "mobile"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "debounceTime": { "alias": "debounceTime"; "required": false; }; "displaySeparator": { "alias": "displaySeparator"; "required": false; }; "displayWith": { "alias": "displayWith"; "required": false; }; "displayAttributes": { "alias": "displayAttributes"; "required": false; }; "displayColumnSizes": { "alias": "displayColumnSizes"; "required": false; }; "displayColumnNames": { "alias": "displayColumnNames"; "required": false; }; "highlightAccent": { "alias": "highlightAccent"; "required": false; }; "showAllOnFocus": { "alias": "showAllOnFocus"; "required": false; }; "showPanelOnFocus": { "alias": "showPanelOnFocus"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; "config": { "alias": "config"; "required": false; }; "i18nPrefix": { "alias": "i18nPrefix"; "required": false; }; "noResultMessage": { "alias": "noResultMessage"; "required": false; }; "panelClass": { "alias": "panelClass"; "required": false; }; "panelWidth": { "alias": "panelWidth"; "required": false; }; "disableRipple": { "alias": "disableRipple"; "required": false; }; "matAutocompletePosition": { "alias": "matAutocompletePosition"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "fetchMoreThreshold": { "alias": "fetchMoreThreshold"; "required": false; }; "suggestLengthThreshold": { "alias": "suggestLengthThreshold"; "required": false; }; "showLoadingSpinner": { "alias": "showLoadingSpinner"; "required": false; }; "debug": { "alias": "debug"; "required": false; }; "showSearchBar": { "alias": "showSearchBar"; "required": false; }; "stickySearchBar": { "alias": "stickySearchBar"; "required": false; }; "applyImplicitValue": { "alias": "applyImplicitValue"; "required": false; }; "dropButtonTitle": { "alias": "dropButtonTitle"; "required": false; }; "clearButtonTitle": { "alias": "clearButtonTitle"; "required": false; }; "trimSearchText": { "alias": "trimSearchText"; "required": false; }; "splitSearchText": { "alias": "splitSearchText"; "required": false; }; "selectInputContentOnFocus": { "alias": "selectInputContentOnFocus"; "required": false; }; "classList": { "alias": "class"; "required": false; }; "filter": { "alias": "filter"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "tabindex": { "alias": "tabindex"; "required": false; }; "items": { "alias": "items"; "required": false; }; }, { "clicked": "click"; "blurred": "blur"; "focused": "focus"; "dropButtonClick": "dropButtonClick"; "keydownEscape": "keydown.escape"; "keyupEnter": "keyup.enter"; "selectionChange": "selectionChange"; }, never, ["[matAfter]", "[matPrefix]", "[matSuffix]", "mat-error,[matError]", "mat-hint:not([align='end']),[matHint]", "mat-hint[align='end']"], false, never>;
154
161
  static ngAcceptInputType_required: unknown;
155
162
  static ngAcceptInputType_mobile: unknown;
156
163
  static ngAcceptInputType_clearable: unknown;
@@ -168,5 +175,6 @@ export declare class MatAutocompleteField implements OnInit, AfterViewInit, OnDe
168
175
  static ngAcceptInputType_stickySearchBar: unknown;
169
176
  static ngAcceptInputType_trimSearchText: unknown;
170
177
  static ngAcceptInputType_splitSearchText: unknown;
178
+ static ngAcceptInputType_selectInputContentOnFocus: unknown;
171
179
  static ngAcceptInputType_readonly: unknown;
172
180
  }