@sumaris-net/ngx-components 2.0.0-rc1 → 2.0.0-rc4

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 (287) hide show
  1. package/doc/changelog.md +50 -0
  2. package/esm2020/public_api.mjs +9 -5
  3. package/esm2020/src/app/admin/admin-routing.module.mjs +5 -5
  4. package/esm2020/src/app/admin/admin.module.mjs +13 -28
  5. package/esm2020/src/app/admin/services/person.service.mjs +3 -3
  6. package/esm2020/src/app/admin/services/validator/person.validator.mjs +3 -3
  7. package/esm2020/src/app/admin/users/list/users.mjs +33 -27
  8. package/esm2020/src/app/admin/users/list/users.module.mjs +58 -0
  9. package/esm2020/src/app/core/about/modal-about.mjs +3 -3
  10. package/esm2020/src/app/core/account/account.mjs +3 -3
  11. package/esm2020/src/app/core/auth/form/form-auth.mjs +3 -3
  12. package/esm2020/src/app/core/auth/modal/modal-auth.mjs +3 -3
  13. package/esm2020/src/app/core/core.module.mjs +6 -6
  14. package/esm2020/src/app/core/core.testing.module.mjs +26 -12
  15. package/esm2020/src/app/core/form/editor.class.mjs +129 -62
  16. package/esm2020/src/app/core/form/entity-editor-modal.class.mjs +25 -10
  17. package/esm2020/src/app/core/form/entity-editor.class.mjs +10 -33
  18. package/esm2020/src/app/core/form/entity-metadata.component.mjs +3 -3
  19. package/esm2020/src/app/core/form/form-buttons-bar.component.mjs +3 -3
  20. package/esm2020/src/app/core/form/form.class.mjs +10 -4
  21. package/esm2020/src/app/core/form/form.utils.mjs +39 -4
  22. package/esm2020/src/app/core/form/list.form.mjs +7 -6
  23. package/esm2020/src/app/core/form/properties/properties.form.mjs +129 -0
  24. package/esm2020/src/app/core/form/properties/property.validator.mjs +23 -0
  25. package/esm2020/src/app/core/form/properties/testing/properties-form.test.mjs +90 -0
  26. package/esm2020/src/app/core/form/properties/testing/properties-form.testing.module.mjs +39 -0
  27. package/esm2020/src/app/core/graphql/graphql.module.mjs +4 -4
  28. package/esm2020/src/app/core/graphql/graphql.service.mjs +3 -3
  29. package/esm2020/src/app/core/graphql/graphql.utils.mjs +2 -2
  30. package/esm2020/src/app/core/home/home.mjs +3 -3
  31. package/esm2020/src/app/core/icon/icon.component.mjs +5 -5
  32. package/esm2020/src/app/core/icon/icon.module.mjs +4 -4
  33. package/esm2020/src/app/core/install/install-upgrade-card.component.mjs +3 -3
  34. package/esm2020/src/app/core/install/install-upgrade-card.module.mjs +4 -4
  35. package/esm2020/src/app/core/menu/menu.component.mjs +3 -3
  36. package/esm2020/src/app/core/menu/menu.module.mjs +4 -4
  37. package/esm2020/src/app/core/menu/menu.service.mjs +3 -3
  38. package/esm2020/src/app/core/offline/update-offline-mode-card.component.mjs +3 -3
  39. package/esm2020/src/app/core/peer/select-peer.modal.mjs +3 -3
  40. package/esm2020/src/app/core/peer/select-peer.module.mjs +4 -4
  41. package/esm2020/src/app/core/register/confirm/confirm.mjs +3 -3
  42. package/esm2020/src/app/core/register/form/form-register.mjs +3 -3
  43. package/esm2020/src/app/core/register/modal/modal-register.mjs +3 -3
  44. package/esm2020/src/app/core/register/register.module.mjs +4 -4
  45. package/esm2020/src/app/core/services/account.service.mjs +5 -5
  46. package/esm2020/src/app/core/services/auth-guard.service.mjs +3 -3
  47. package/esm2020/src/app/core/services/base-entity-service.class.mjs +8 -9
  48. package/esm2020/src/app/core/services/base-graphql-service.class.mjs +3 -3
  49. package/esm2020/src/app/core/services/config.service.mjs +5 -5
  50. package/esm2020/src/app/core/services/crypto.service.mjs +3 -3
  51. package/esm2020/src/app/core/services/local-settings.service.mjs +3 -3
  52. package/esm2020/src/app/core/services/model/peer.model.mjs +3 -3
  53. package/esm2020/src/app/core/services/model/referential.model.mjs +11 -3
  54. package/esm2020/src/app/core/services/network.service.mjs +21 -28
  55. package/esm2020/src/app/core/services/pipes/account.pipes.mjs +8 -8
  56. package/esm2020/src/app/core/services/pipes/department-to-string.pipe.mjs +4 -4
  57. package/esm2020/src/app/core/services/pipes/person-to-string.pipe.mjs +4 -4
  58. package/esm2020/src/app/core/services/pipes/usage-mode.pipes.mjs +8 -8
  59. package/esm2020/src/app/core/services/platform.service.mjs +3 -3
  60. package/esm2020/src/app/core/services/storage/entities-storage.service.mjs +3 -3
  61. package/esm2020/src/app/core/services/testing/referential.validator.mjs +3 -3
  62. package/esm2020/src/app/core/services/validator/account.validator.mjs +3 -3
  63. package/esm2020/src/app/core/services/validator/base.validator.class.mjs +3 -3
  64. package/esm2020/src/app/core/services/validator/local-settings.validator.mjs +3 -3
  65. package/esm2020/src/app/core/services/validator/user-settings.validator.mjs +3 -3
  66. package/esm2020/src/app/core/settings/settings.page.mjs +4 -4
  67. package/esm2020/src/app/core/table/actions-column.component.mjs +9 -9
  68. package/esm2020/src/app/core/table/entities-table-datasource.class.mjs +74 -65
  69. package/esm2020/src/app/core/table/memory-table.class.mjs +3 -3
  70. package/esm2020/src/app/core/table/table-select-columns.component.mjs +3 -3
  71. package/esm2020/src/app/core/table/table.class.mjs +223 -208
  72. package/esm2020/src/app/core/table/table.utils.mjs +1 -1
  73. package/esm2020/src/app/core/table/testing/table.testing.mjs +5 -5
  74. package/esm2020/src/app/core/table/testing/table.testing.module.mjs +4 -4
  75. package/esm2020/src/app/core/text-popover/testing/text-popover.testing.mjs +3 -3
  76. package/esm2020/src/app/core/text-popover/testing/text-popover.testing.module.mjs +4 -4
  77. package/esm2020/src/app/core/text-popover/text-form.component.mjs +3 -3
  78. package/esm2020/src/app/core/text-popover/text-popover.component.mjs +3 -3
  79. package/esm2020/src/app/shared/audio/audio.mjs +4 -4
  80. package/esm2020/src/app/shared/audio/audio.testing.mjs +3 -3
  81. package/esm2020/src/app/shared/audio/audio.testing.module.mjs +4 -4
  82. package/esm2020/src/app/shared/capacitor/keyboard.mjs +3 -3
  83. package/esm2020/src/app/shared/debug/debug.component.mjs +39 -0
  84. package/esm2020/src/app/shared/debug/debug.module.mjs +44 -0
  85. package/esm2020/src/app/shared/directives/autofocus.directive.mjs +6 -6
  86. package/esm2020/src/app/shared/directives/autotitle.directive.mjs +3 -3
  87. package/esm2020/src/app/shared/directives/directives.module.mjs +4 -4
  88. package/esm2020/src/app/shared/directives/drag-and-drop.directive.mjs +3 -3
  89. package/esm2020/src/app/shared/directives/ng-var.directive.mjs +3 -3
  90. package/esm2020/src/app/shared/directives/resizable/resizable.component.mjs +3 -3
  91. package/esm2020/src/app/shared/directives/resizable/resizable.directive.mjs +3 -3
  92. package/esm2020/src/app/shared/directives/resizable/resizable.module.mjs +4 -4
  93. package/esm2020/src/app/shared/events.mjs +2 -2
  94. package/esm2020/src/app/shared/file/file.service.mjs +5 -5
  95. package/esm2020/src/app/shared/form/field.component.mjs +10 -7
  96. package/esm2020/src/app/shared/form/loading-spinner.mjs +3 -3
  97. package/esm2020/src/app/shared/forms.mjs +21 -2
  98. package/esm2020/src/app/shared/functions.mjs +23 -10
  99. package/esm2020/src/app/shared/gesture/gesture-config.mjs +3 -3
  100. package/esm2020/src/app/shared/graph/graph-colors.mjs +17 -63
  101. package/esm2020/src/app/shared/guard/component-dirty.guard.mjs +3 -3
  102. package/esm2020/src/app/shared/help/help.modal.mjs +3 -3
  103. package/esm2020/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.mjs +3 -3
  104. package/esm2020/src/app/shared/hotkeys/hotkeys.service.mjs +3 -3
  105. package/esm2020/src/app/shared/hotkeys/shared-hotkeys.module.mjs +4 -4
  106. package/esm2020/src/app/shared/image/gallery/image-gallery.component.mjs +3 -3
  107. package/esm2020/src/app/shared/image/gallery/image-gallery.module.mjs +4 -4
  108. package/esm2020/src/app/shared/image/gallery/testing/gallery.service.testing.mjs +3 -3
  109. package/esm2020/src/app/shared/image/gallery/testing/gallery.testing.mjs +3 -3
  110. package/esm2020/src/app/shared/image/gallery/testing/gallery.testing.module.mjs +4 -4
  111. package/esm2020/src/app/shared/image/image.module.mjs +4 -4
  112. package/esm2020/src/app/shared/image/image.service.mjs +3 -3
  113. package/esm2020/src/app/shared/material/autocomplete/material.autocomplete.mjs +8 -10
  114. package/esm2020/src/app/shared/material/autocomplete/material.autocomplete.module.mjs +4 -4
  115. package/esm2020/src/app/shared/material/autocomplete/testing/autocomplete.test.mjs +3 -3
  116. package/esm2020/src/app/shared/material/badge/badge.directive.mjs +157 -0
  117. package/esm2020/src/app/shared/material/badge/badge.module.mjs +32 -0
  118. package/esm2020/src/app/shared/material/badge/badge.test.mjs +26 -0
  119. package/esm2020/src/app/shared/material/boolean/boolean.module.mjs +4 -4
  120. package/esm2020/src/app/shared/material/boolean/material.boolean.mjs +3 -3
  121. package/esm2020/src/app/shared/material/chips/chips.module.mjs +4 -4
  122. package/esm2020/src/app/shared/material/chips/material.chips.mjs +11 -13
  123. package/esm2020/src/app/shared/material/chips/testing/chips.test.mjs +3 -3
  124. package/esm2020/src/app/shared/material/datetime/datetime.module.mjs +4 -4
  125. package/esm2020/src/app/shared/material/datetime/material.date.mjs +79 -83
  126. package/esm2020/src/app/shared/material/datetime/material.dateshort.mjs +5 -5
  127. package/esm2020/src/app/shared/material/datetime/material.datetime.mjs +95 -77
  128. package/esm2020/src/app/shared/material/datetime/testing/mat-date-time.test.mjs +5 -5
  129. package/esm2020/src/app/shared/material/datetime/testing/mat-date.test.mjs +5 -5
  130. package/esm2020/src/app/shared/material/duration/duration.module.mjs +4 -4
  131. package/esm2020/src/app/shared/material/duration/material.duration.mjs +3 -3
  132. package/esm2020/src/app/shared/material/latlong/material.latlong.mjs +3 -3
  133. package/esm2020/src/app/shared/material/latlong/material.latlong.module.mjs +4 -4
  134. package/esm2020/src/app/shared/material/latlong/testing/latlong.test.mjs +3 -3
  135. package/esm2020/src/app/shared/material/material.animations.mjs +1 -1
  136. package/esm2020/src/app/shared/material/material.module.mjs +10 -10
  137. package/esm2020/src/app/shared/material/material.testing.module.mjs +24 -12
  138. package/esm2020/src/app/shared/material/numpad/numpad.append-to-input.directive.mjs +3 -3
  139. package/esm2020/src/app/shared/material/numpad/numpad.component.mjs +3 -3
  140. package/esm2020/src/app/shared/material/numpad/numpad.container.mjs +5 -5
  141. package/esm2020/src/app/shared/material/numpad/numpad.content.mjs +3 -3
  142. package/esm2020/src/app/shared/material/numpad/numpad.directive.mjs +3 -3
  143. package/esm2020/src/app/shared/material/numpad/numpad.dom-service.mjs +3 -3
  144. package/esm2020/src/app/shared/material/numpad/numpad.module.mjs +4 -4
  145. package/esm2020/src/app/shared/material/numpad/testing/numpad.test.mjs +3 -3
  146. package/esm2020/src/app/shared/material/paginator/material.paginator-i18n.mjs +3 -3
  147. package/esm2020/src/app/shared/material/stepper/material.stepper-i18n.mjs +3 -3
  148. package/esm2020/src/app/shared/material/swipe/material.swipe.mjs +3 -3
  149. package/esm2020/src/app/shared/material/swipe/swipe.module.mjs +4 -4
  150. package/esm2020/src/app/shared/material/swipe/testing/swipe.test.mjs +3 -3
  151. package/esm2020/src/app/shared/observables.mjs +29 -22
  152. package/esm2020/src/app/shared/pipes/arrays.pipe.mjs +48 -27
  153. package/esm2020/src/app/shared/pipes/colors.pipe.mjs +3 -3
  154. package/esm2020/src/app/shared/pipes/date-diff-duration.pipe.mjs +4 -4
  155. package/esm2020/src/app/shared/pipes/date-format.pipe.mjs +4 -4
  156. package/esm2020/src/app/shared/pipes/date-from-now.pipe.mjs +4 -4
  157. package/esm2020/src/app/shared/pipes/duration.pipe.mjs +4 -4
  158. package/esm2020/src/app/shared/pipes/file-size.pipe.mjs +3 -3
  159. package/esm2020/src/app/shared/pipes/form.pipes.mjs +18 -18
  160. package/esm2020/src/app/shared/pipes/highlight.pipe.mjs +4 -4
  161. package/esm2020/src/app/shared/pipes/latlong-format.pipe.mjs +9 -9
  162. package/esm2020/src/app/shared/pipes/maps.pipe.mjs +12 -12
  163. package/esm2020/src/app/shared/pipes/math.pipes.mjs +12 -12
  164. package/esm2020/src/app/shared/pipes/ng-init.pipe.mjs +3 -3
  165. package/esm2020/src/app/shared/pipes/number-format.pipe.mjs +4 -4
  166. package/esm2020/src/app/shared/pipes/pipes.module.mjs +10 -6
  167. package/esm2020/src/app/shared/pipes/property.pipes.mjs +7 -7
  168. package/esm2020/src/app/shared/pipes/string.pipes.mjs +15 -15
  169. package/esm2020/src/app/shared/pipes/translate-context.pipe.mjs +8 -8
  170. package/esm2020/src/app/shared/services/entity-service.class.mjs +1 -13
  171. package/esm2020/src/app/shared/services/memory-entity-service.class.mjs +127 -43
  172. package/esm2020/src/app/shared/services/progress-bar.service.mjs +3 -3
  173. package/esm2020/src/app/shared/services/startable-observable-service.class.mjs +119 -0
  174. package/esm2020/src/app/shared/services/startable-service.class.mjs +42 -31
  175. package/esm2020/src/app/shared/services/storage/storage.service.mjs +3 -3
  176. package/esm2020/src/app/shared/services/translate-context.service.mjs +3 -3
  177. package/esm2020/src/app/shared/shared-routing.module.mjs +7 -7
  178. package/esm2020/src/app/shared/shared.module.mjs +4 -4
  179. package/esm2020/src/app/shared/shared.testing.module.mjs +4 -4
  180. package/esm2020/src/app/shared/testing/observable.test.mjs +96 -0
  181. package/esm2020/src/app/shared/testing/tests.page.mjs +3 -3
  182. package/esm2020/src/app/shared/toast/toast.testing.mjs +10 -11
  183. package/esm2020/src/app/shared/toast/toast.testing.module.mjs +4 -4
  184. package/esm2020/src/app/shared/toast/toasts.mjs +38 -15
  185. package/esm2020/src/app/shared/toolbar/modal-toolbar.mjs +5 -5
  186. package/esm2020/src/app/shared/toolbar/toolbar.mjs +9 -9
  187. package/esm2020/src/app/shared/toolbar/toolbar.module.mjs +4 -4
  188. package/esm2020/src/app/shared/upload-file/testing/upload-file.testing.mjs +3 -3
  189. package/esm2020/src/app/shared/upload-file/testing/upload-file.testing.module.mjs +4 -4
  190. package/esm2020/src/app/shared/upload-file/upload-file-popover.component.mjs +3 -3
  191. package/esm2020/src/app/shared/upload-file/upload-file.component.mjs +3 -3
  192. package/esm2020/src/app/shared/validator/form-error-adapter.class.mjs +3 -3
  193. package/esm2020/src/app/social/job/job.module.mjs +9 -9
  194. package/esm2020/src/app/social/job/job.service.mjs +27 -15
  195. package/esm2020/src/app/social/job/progression/job-progression.icon.mjs +210 -0
  196. package/esm2020/src/app/social/job/progression/job-progression.list.mjs +3 -3
  197. package/esm2020/src/app/social/job/testing/job-progression.testing.mjs +33 -31
  198. package/esm2020/src/app/social/job/testing/job-progression.testing.service.mjs +27 -5
  199. package/esm2020/src/app/social/job/testing/job.testing.module.mjs +4 -4
  200. package/esm2020/src/app/social/message/message.form.mjs +3 -3
  201. package/esm2020/src/app/social/message/message.modal.mjs +3 -3
  202. package/esm2020/src/app/social/message/message.module.mjs +4 -4
  203. package/esm2020/src/app/social/message/message.service.mjs +3 -3
  204. package/esm2020/src/app/social/social.module.mjs +5 -5
  205. package/esm2020/src/app/social/social.testing.module.mjs +4 -4
  206. package/esm2020/src/app/social/user-event/notification/user-event-notification.icon.mjs +28 -17
  207. package/esm2020/src/app/social/user-event/notification/user-event-notification.list.mjs +6 -6
  208. package/esm2020/src/app/social/user-event/testing/user-event.testing.mjs +6 -6
  209. package/esm2020/src/app/social/user-event/testing/user-event.testing.module.mjs +4 -4
  210. package/esm2020/src/app/social/user-event/testing/user-event.testing.service.mjs +3 -3
  211. package/esm2020/src/app/social/user-event/user-event.module.mjs +9 -9
  212. package/esm2020/src/app/social/user-event/user-event.service.mjs +5 -5
  213. package/esm2020/src/app/vendor.mjs +6 -1
  214. package/fesm2015/sumaris-net.ngx-components.mjs +2692 -1945
  215. package/fesm2015/sumaris-net.ngx-components.mjs.map +1 -1
  216. package/fesm2020/sumaris-net.ngx-components.mjs +2512 -1718
  217. package/fesm2020/sumaris-net.ngx-components.mjs.map +1 -1
  218. package/package.json +6 -2
  219. package/public_api.d.ts +8 -4
  220. package/src/app/admin/admin.module.d.ts +4 -8
  221. package/src/app/admin/users/list/users.d.ts +1 -0
  222. package/src/app/admin/users/list/users.module.d.ts +14 -0
  223. package/src/app/core/core.module.d.ts +1 -1
  224. package/src/app/core/core.testing.module.d.ts +2 -1
  225. package/src/app/core/form/editor.class.d.ts +20 -6
  226. package/src/app/core/form/entity-editor-modal.class.d.ts +13 -4
  227. package/src/app/core/form/entity-editor.class.d.ts +4 -11
  228. package/src/app/core/form/form.class.d.ts +2 -0
  229. package/src/app/core/form/form.utils.d.ts +28 -2
  230. package/src/app/core/form/{properties.form.d.ts → properties/properties.form.d.ts} +13 -13
  231. package/src/app/core/form/properties/property.validator.d.ts +13 -0
  232. package/src/app/core/form/properties/testing/properties-form.test.d.ts +19 -0
  233. package/src/app/core/form/properties/testing/properties-form.testing.module.d.ts +12 -0
  234. package/src/app/core/services/model/referential.model.d.ts +6 -1
  235. package/src/app/core/services/network.service.d.ts +6 -8
  236. package/src/app/core/table/entities-table-datasource.class.d.ts +22 -15
  237. package/src/app/core/table/table.class.d.ts +37 -47
  238. package/src/app/core/table/table.utils.d.ts +2 -1
  239. package/src/app/shared/debug/debug.component.d.ts +13 -0
  240. package/src/app/shared/debug/debug.module.d.ts +12 -0
  241. package/src/app/shared/events.d.ts +4 -4
  242. package/src/app/shared/form/field.component.d.ts +4 -1
  243. package/src/app/shared/forms.d.ts +8 -1
  244. package/src/app/shared/functions.d.ts +9 -4
  245. package/src/app/shared/graph/graph-colors.d.ts +8 -8
  246. package/src/app/shared/image/gallery/testing/gallery.testing.d.ts +1 -1
  247. package/src/app/shared/material/badge/badge.directive.d.ts +28 -0
  248. package/src/app/shared/material/badge/badge.module.d.ts +10 -0
  249. package/src/app/shared/material/badge/badge.test.d.ts +12 -0
  250. package/src/app/shared/material/datetime/material.date.d.ts +12 -13
  251. package/src/app/shared/material/datetime/material.datetime.d.ts +14 -14
  252. package/src/app/shared/material/material.module.d.ts +2 -2
  253. package/src/app/shared/material/material.testing.module.d.ts +10 -9
  254. package/src/app/shared/observables.d.ts +1 -1
  255. package/src/app/shared/pipes/arrays.pipe.d.ts +12 -2
  256. package/src/app/shared/pipes/pipes.module.d.ts +1 -1
  257. package/src/app/shared/services/entity-service.class.d.ts +0 -11
  258. package/src/app/shared/services/memory-entity-service.class.d.ts +20 -6
  259. package/src/app/shared/services/startable-observable-service.class.d.ts +33 -0
  260. package/src/app/shared/services/startable-service.class.d.ts +12 -9
  261. package/src/app/shared/testing/observable.test.d.ts +25 -0
  262. package/src/app/shared/toast/toast.testing.d.ts +3 -5
  263. package/src/app/shared/toast/toasts.d.ts +5 -2
  264. package/src/app/social/job/job.module.d.ts +2 -2
  265. package/src/app/social/job/job.service.d.ts +10 -2
  266. package/src/app/social/job/progression/{job-progression.component.d.ts → job-progression.icon.d.ts} +5 -5
  267. package/src/app/social/job/testing/job-progression.testing.d.ts +7 -4
  268. package/src/app/social/job/testing/job-progression.testing.service.d.ts +4 -0
  269. package/src/app/social/social.module.d.ts +1 -1
  270. package/src/app/social/user-event/notification/user-event-notification.icon.d.ts +8 -5
  271. package/src/app/social/user-event/testing/user-event.testing.d.ts +2 -2
  272. package/src/app/social/user-event/user-event.module.d.ts +1 -1
  273. package/src/app/social/user-event/user-event.service.d.ts +1 -1
  274. package/src/app/vendor.d.ts +2 -0
  275. package/src/theme/_ionic.globals.scss +4 -0
  276. package/src/theme/_material.globals.scss +3 -1
  277. package/src/theme/_material.scss +29 -4
  278. package/src/theme/_mixins.scss +3 -3
  279. package/src/theme/_ngx-components.scss +26 -0
  280. package/esm2020/src/app/core/form/properties.form.mjs +0 -126
  281. package/esm2020/src/app/shared/material/badge/badge-icon.directive.mjs +0 -143
  282. package/esm2020/src/app/shared/material/badge/badge-icon.module.mjs +0 -32
  283. package/esm2020/src/app/shared/material/badge/badge-icon.test.mjs +0 -27
  284. package/esm2020/src/app/social/job/progression/job-progression.component.mjs +0 -201
  285. package/src/app/shared/material/badge/badge-icon.directive.d.ts +0 -30
  286. package/src/app/shared/material/badge/badge-icon.module.d.ts +0 -10
  287. package/src/app/shared/material/badge/badge-icon.test.d.ts +0 -12
@@ -18,14 +18,14 @@ export interface EntitiesTableDataSourceConfig<T extends Entity<T, ID>, ID = num
18
18
  saveAllOptions?: SO;
19
19
  [key: string]: any;
20
20
  }
21
- export declare class EntitiesTableDataSource<T extends IEntity<T, ID>, F = any, ID = number, WO extends EntitiesServiceWatchOptions = EntitiesServiceWatchOptions, SO = any, V extends ValidatorService = ValidatorService, C extends EntitiesTableDataSourceConfig<T, ID, WO, SO> = EntitiesTableDataSourceConfig<T, ID, WO, SO>> extends TableDataSource<T, V, C> implements OnDestroy {
21
+ export declare class EntitiesTableDataSource<T extends IEntity<T, ID>, F = any, ID = number, WO extends EntitiesServiceWatchOptions = EntitiesServiceWatchOptions, SO = any, V extends ValidatorService = ValidatorService, C extends EntitiesTableDataSourceConfig<T, ID, WO, SO> = EntitiesTableDataSourceConfig<T, ID, WO, SO>, R extends TableElement<T> = TableElement<T>> extends TableDataSource<T, V, C, R> implements OnDestroy {
22
22
  readonly dataService: IEntitiesService<T, F, WO>;
23
23
  private readonly _entityName;
24
24
  protected _debug: boolean;
25
25
  protected _creating: boolean;
26
26
  protected _saving: boolean;
27
- protected _stopWatching$: Subject<void>;
28
27
  protected _fetchMoreFn: FetchMoreFn<LoadResult<T>>;
28
+ protected _stopWatchSubject: Subject<void>;
29
29
  loadingSubject: BehaviorSubject<boolean>;
30
30
  /**
31
31
  * @deprecated Use watchAllOptions or saveAllOptions
@@ -51,35 +51,42 @@ export declare class EntitiesTableDataSource<T extends IEntity<T, ID>, F = any,
51
51
  * @param config Additional configuration for table.
52
52
  */
53
53
  constructor(dataType: new () => T, dataService: IEntitiesService<T, F, WO>, validatorService?: V, options?: C);
54
+ /**
55
+ * @deprecated use disconnect
56
+ */
54
57
  ngOnDestroy(): void;
58
+ /**
59
+ * @deprecated use disconnect
60
+ */
61
+ close(): void;
55
62
  watchAll(offset: number, size: number, sortBy?: string, sortDirection?: SortDirection, filter?: Partial<F>): Observable<LoadResult<T>>;
56
- protected updateDatasourceFromRows(rows: TableElement<T>[]): void;
63
+ protected updateDatasourceFromRows(rows: R[]): void;
57
64
  save(): Promise<boolean>;
58
65
  updateDatasource(data: T[], opts?: {
59
66
  emitEvent: boolean;
60
- }): Promise<void>;
61
- connect(collectionViewer: CollectionViewer): Observable<TableElement<T>[] | ReadonlyArray<TableElement<T>>>;
67
+ }): void;
68
+ connect(collectionViewer: CollectionViewer): Observable<R[] | ReadonlyArray<R>>;
62
69
  disconnect(collectionViewer?: CollectionViewer): void;
63
70
  waitIdle(debounceTimeMs?: number): Promise<any>;
64
- confirmCreate(row: TableElement<T>): Promise<boolean>;
65
- confirmEdit(row: TableElement<T>): Promise<boolean>;
66
- startEdit(row: TableElement<T>): Promise<boolean>;
71
+ confirmCreate(row: R): boolean;
72
+ confirmEdit(row: R): boolean;
73
+ startEdit(row: R): boolean;
67
74
  handleError(error: any, message: string): Observable<LoadResult<T>>;
68
75
  handleServiceError(error: any): void;
69
- delete(id: number): Promise<boolean>;
70
- deleteAll(rows: TableElement<T>[]): Promise<any>;
71
- getRow(id: number): TableElement<T>;
72
- getRows(): TableElement<T>[];
76
+ delete(id: number): boolean;
77
+ deleteAll(rows: R[]): Promise<any>;
78
+ getRow(id: number): R;
79
+ getRows(): R[];
73
80
  hasSomeEditingRow(): boolean;
74
81
  createNew(insertAt?: number, opts?: {
75
82
  editing: boolean;
76
- }): Promise<TableElement<T> | undefined>;
83
+ }): Promise<R | undefined>;
77
84
  getData(): T[];
78
85
  fetchMore(opts?: {
79
86
  emitEvent: boolean;
80
87
  }): Promise<boolean>;
81
88
  markAsLoading(): void;
82
89
  markAsLoaded(): void;
83
- static ɵfac: i0.ɵɵFactoryDeclaration<EntitiesTableDataSource<any, any, any, any, any, any, any>, never>;
84
- static ɵdir: i0.ɵɵDirectiveDeclaration<EntitiesTableDataSource<any, any, any, any, any, any, any>, never, never, {}, {}, never, never, false>;
90
+ static ɵfac: i0.ɵɵFactoryDeclaration<EntitiesTableDataSource<any, any, any, any, any, any, any, any>, never>;
91
+ static ɵdir: i0.ɵɵDirectiveDeclaration<EntitiesTableDataSource<any, any, any, any, any, any, any, any>, never, never, {}, {}, never, never, false>;
85
92
  }
@@ -14,13 +14,13 @@ import { Location } from '@angular/common';
14
14
  import { IAppForm } from '../form/form.utils';
15
15
  import { LocalSettingsService } from '../services/local-settings.service';
16
16
  import { TranslateService } from '@ngx-translate/core';
17
+ import { MatAutocompleteConfigHolder, MatAutocompleteFieldAddOptions, MatAutocompleteFieldConfig } from '../../shared/material/autocomplete/material.autocomplete.config';
17
18
  import { CompletableEvent } from '../../shared/events';
18
19
  import { WaitForOptions } from '../../shared/observables';
19
20
  import { ShowToastOptions } from '../../shared/toast/toasts';
20
21
  import { CdkColumnDef } from '@angular/cdk/table';
21
22
  import { LoadResult } from '../../shared/services/entity-service.class';
22
23
  import { FormErrorTranslator, FormErrorTranslatorOptions, IFormControlPathTranslator } from '../../shared/validator/form-error-adapter.class';
23
- import { MatAutocompleteConfigHolder, MatAutocompleteFieldAddOptions, MatAutocompleteFieldConfig } from '../../shared/material/autocomplete/material.autocomplete.config';
24
24
  import * as i0 from "@angular/core";
25
25
  export declare const SETTINGS_DISPLAY_COLUMNS = "displayColumns";
26
26
  export declare const SETTINGS_SORTED_COLUMN = "sortedColumn";
@@ -41,7 +41,7 @@ export interface IModalDetailOptions<T = any> {
41
41
  isNew: boolean;
42
42
  data: T;
43
43
  disabled: boolean;
44
- onDelete?: (event: Event, data: T) => Promise<boolean>;
44
+ onDelete?: (event: UIEvent, data: T) => Promise<boolean>;
45
45
  }
46
46
  export declare type SaveActionType = 'delete' | 'sort' | 'filter';
47
47
  export declare abstract class AppTable<T extends IEntity<T, ID>, F = any, ID = number> implements OnInit, OnDestroy, AfterViewInit, IAppForm, IFormControlPathTranslator {
@@ -74,6 +74,7 @@ export declare abstract class AppTable<T extends IEntity<T, ID>, F = any, ID = n
74
74
  readonly readySubject: BehaviorSubject<boolean>;
75
75
  readonly loadingSubject: BehaviorSubject<boolean>;
76
76
  readonly savingSubject: BehaviorSubject<boolean>;
77
+ readonly touchedSubject: BehaviorSubject<boolean>;
77
78
  readonly dirtySubject: BehaviorSubject<boolean>;
78
79
  readonly errorSubject: BehaviorSubject<string>;
79
80
  get error(): string;
@@ -125,6 +126,10 @@ export declare abstract class AppTable<T extends IEntity<T, ID>, F = any, ID = n
125
126
  get filter(): F;
126
127
  get empty(): boolean;
127
128
  onRefresh: EventEmitter<any>;
129
+ onOpenIdAndRow: EventEmitter<{
130
+ id: ID;
131
+ row: TableElement<T>;
132
+ }>;
128
133
  onOpenRow: EventEmitter<TableElement<T>>;
129
134
  onNewRow: EventEmitter<any>;
130
135
  onStartEditingRow: EventEmitter<TableElement<T>>;
@@ -151,6 +156,8 @@ export declare abstract class AppTable<T extends IEntity<T, ID>, F = any, ID = n
151
156
  get valid(): boolean;
152
157
  get invalid(): boolean;
153
158
  get pending(): boolean;
159
+ get touched(): boolean;
160
+ get untouched(): boolean;
154
161
  disable(opts?: {
155
162
  onlySelf?: boolean;
156
163
  emitEvent?: boolean;
@@ -212,6 +219,7 @@ export declare abstract class AppTable<T extends IEntity<T, ID>, F = any, ID = n
212
219
  private _paginator;
213
220
  set paginator(value: MatPaginator);
214
221
  get paginator(): MatPaginator;
222
+ get destroyed(): boolean;
215
223
  table: MatTable<T>;
216
224
  childPaginator: MatPaginator;
217
225
  sort: MatSort;
@@ -229,20 +237,20 @@ export declare abstract class AppTable<T extends IEntity<T, ID>, F = any, ID = n
229
237
  setFilter(filter: F, opts?: {
230
238
  emitEvent?: boolean;
231
239
  }): void;
232
- confirmAndAdd(event?: Event, row?: TableElement<T>): Promise<boolean>;
233
- confirmAndBackward(event?: Event, row?: TableElement<T>): Promise<boolean>;
234
- confirmAndForward(event?: Event, row?: TableElement<T>): Promise<boolean>;
240
+ confirmAndAdd(event?: Event, row?: TableElement<T>): boolean | Promise<boolean>;
241
+ confirmAndBackward(event?: Event, row?: TableElement<T>): boolean;
242
+ confirmAndForward(event?: Event, row?: TableElement<T>): boolean | Promise<boolean>;
235
243
  /**
236
244
  * Confirm the creation of the given row, or if not specified the currently edited row
237
245
  *
238
246
  * @param event
239
247
  * @param row
240
248
  */
241
- confirmEditCreate(event?: Event, row?: TableElement<T>): Promise<boolean>;
242
- cancelOrDelete(event: Event | undefined, row: TableElement<T>, opts?: {
249
+ confirmEditCreate(event?: Event, row?: TableElement<T>): boolean;
250
+ cancelOrDelete(event: Event, row: TableElement<T>, opts?: {
243
251
  interactive?: boolean;
244
252
  keepEditing?: boolean;
245
- }): Promise<boolean>;
253
+ }): void;
246
254
  addRow(event?: Event, insertAt?: number, opts?: {
247
255
  focusColumn?: string;
248
256
  editing?: boolean;
@@ -252,7 +260,7 @@ export declare abstract class AppTable<T extends IEntity<T, ID>, F = any, ID = n
252
260
  }): Promise<boolean>;
253
261
  cancel(event?: Event, opts?: {
254
262
  interactive?: boolean;
255
- }): Promise<boolean>;
263
+ }): void;
256
264
  duplicateRow(event?: Event, row?: TableElement<T>, opts?: {
257
265
  skipProperties?: string[];
258
266
  }): Promise<boolean>;
@@ -260,7 +268,7 @@ export declare abstract class AppTable<T extends IEntity<T, ID>, F = any, ID = n
260
268
  isAllSelected(): boolean;
261
269
  /** Selects all rows if they are not all selected; otherwise clear selection. */
262
270
  masterToggle(): Promise<void>;
263
- deleteSelection(event: Event): Promise<number>;
271
+ deleteSelection(event: UIEvent): Promise<number>;
264
272
  /**
265
273
  *
266
274
  * @param event
@@ -268,7 +276,7 @@ export declare abstract class AppTable<T extends IEntity<T, ID>, F = any, ID = n
268
276
  * @param opts Use interactive=false to avoid user interaction (e.g. user confirmation)
269
277
  * And to force deletion even if table is busy
270
278
  */
271
- deleteRow(event: Event | null, row: TableElement<T>, opts?: {
279
+ deleteRow(event: UIEvent | null, row: TableElement<T>, opts?: {
272
280
  interactive?: boolean;
273
281
  }): Promise<boolean>;
274
282
  /**
@@ -278,7 +286,7 @@ export declare abstract class AppTable<T extends IEntity<T, ID>, F = any, ID = n
278
286
  * @param opts Use interactive=false to avoid user interaction (e.g. user confirmation)
279
287
  * And to force deletion even if table is busy
280
288
  */
281
- deleteRows(event: Event | null, rows: TableElement<T>[], opts?: {
289
+ deleteRows(event: UIEvent | null, rows: TableElement<T>[], opts?: {
282
290
  interactive?: boolean;
283
291
  }): Promise<number>;
284
292
  selectRowById(id: number): Promise<boolean>;
@@ -287,19 +295,19 @@ export declare abstract class AppTable<T extends IEntity<T, ID>, F = any, ID = n
287
295
  * @param data
288
296
  */
289
297
  selectRowByData(data: T): Promise<boolean>;
290
- clickRow(event: Event | undefined, row: TableElement<T>): Promise<boolean>;
291
- moveRow(id: number, direction: number): Promise<boolean>;
298
+ clickRow(event: UIEvent | undefined, row: TableElement<T>): boolean;
299
+ moveRow(id: number, direction: number): void;
292
300
  ready(opts?: WaitForOptions): Promise<void>;
293
301
  waitIdle(opts?: WaitForOptions): Promise<void>;
294
302
  openSelectColumnsModal(event?: Event): Promise<any>;
295
303
  trackByFn(index: number, row: TableElement<T>): number;
296
304
  doRefresh(event?: CompletableEvent): void;
297
305
  getCurrentColumns(): ColumnItem[];
298
- escapeEditingRow(event?: Event, row?: TableElement<T>): Promise<boolean>;
306
+ escapeEditingRow(event?: Event, row?: TableElement<T>): void;
299
307
  translateControlPath(path: string): string;
300
- protected startEditRow(event: Event | undefined, row: TableElement<T>, opts?: {
308
+ protected editRow(event: Event | undefined, row: TableElement<T>, opts?: {
301
309
  focusColumn?: string;
302
- }): Promise<boolean>;
310
+ }): boolean;
303
311
  /**
304
312
  * Try to select row, by row.id, or by data. WIll use EntityUtils.equals()
305
313
  * @param id
@@ -325,8 +333,8 @@ export declare abstract class AppTable<T extends IEntity<T, ID>, F = any, ID = n
325
333
  * @param row
326
334
  * @protected
327
335
  */
328
- protected openRowDetail(row: TableElement<T>): Promise<boolean>;
329
- protected openNewRowDetail(event?: Event): Promise<boolean>;
336
+ protected openRow(id: ID, row: TableElement<T>): Promise<boolean>;
337
+ protected openNewRowDetail(event?: any): Promise<boolean>;
330
338
  protected getRequiredColumns(): string[];
331
339
  protected getUserColumns(): string[];
332
340
  protected getSortedColumn(): MatSortable;
@@ -343,11 +351,11 @@ export declare abstract class AppTable<T extends IEntity<T, ID>, F = any, ID = n
343
351
  protected registerAutocompleteField<E = any, EF = any>(fieldName: string, options?: MatAutocompleteFieldAddOptions<E, EF>): MatAutocompleteFieldConfig<E, EF>;
344
352
  protected getI18nColumnName(columnName: string): string;
345
353
  protected generateTableId(): string;
346
- protected createNewRow(insertAt?: number, opts?: {
354
+ protected addRowToTable(insertAt?: number, opts?: {
347
355
  focusColumn?: string;
348
356
  editing?: boolean;
349
357
  emitEvent?: boolean;
350
- }): Promise<TableElement<T>>;
358
+ }): Promise<TableElement<T> | undefined>;
351
359
  protected registerCellValueChanges(name: string, formPath?: string, emitInitialValue?: boolean): Observable<any>;
352
360
  protected setShowColumn(columnName: string, show: boolean, opts?: {
353
361
  emitEvent?: boolean;
@@ -355,9 +363,9 @@ export declare abstract class AppTable<T extends IEntity<T, ID>, F = any, ID = n
355
363
  protected getShowColumn(columnName: string): boolean;
356
364
  protected startsWithUpperCase(input: string, search: string): boolean;
357
365
  protected markForCheck(): void;
358
- protected askDeleteConfirmation(event?: Event, rows?: TableElement<T>[]): Promise<boolean>;
359
- protected askCancelConfirmation(event?: Event, rows?: TableElement<T>[]): Promise<boolean>;
360
- protected askRestoreConfirmation(event?: Event): Promise<boolean>;
366
+ protected askDeleteConfirmation(event?: UIEvent, rows?: TableElement<T>[]): Promise<boolean>;
367
+ protected askCancelConfirmation(event?: UIEvent, rows?: TableElement<T>[]): Promise<boolean>;
368
+ protected askRestoreConfirmation(event?: UIEvent): Promise<boolean>;
361
369
  protected showToast(opts: ShowToastOptions): Promise<import("@ionic/core").OverlayEventDetail<any>>;
362
370
  protected resetError(opts?: {
363
371
  emitEvent?: boolean;
@@ -379,30 +387,12 @@ export declare abstract class AppTable<T extends IEntity<T, ID>, F = any, ID = n
379
387
  onlySelf?: boolean;
380
388
  emitEVent?: boolean;
381
389
  }): void;
382
- /**
383
- * @deprecated Use startEditRow instead
384
- */
385
- protected editRow(event: Event | undefined, row: TableElement<T>, opts?: {
386
- focusColumn?: string;
387
- }): Promise<boolean>;
388
- /**
389
- * @deprecated use openRowDetail() instead)
390
- */
391
- protected openRow(id: ID, row: TableElement<T>): Promise<boolean>;
392
- /**
393
- * @deprecated use createNewRow() instead
394
- */
395
- protected addRowToTable(insertAt?: number, opts?: {
396
- focusColumn?: string;
397
- editing?: boolean;
398
- emitEvent?: boolean;
399
- }): Promise<TableElement<T>>;
400
390
  private listenSortAndPaginationEvents;
401
- private startEditRowById;
391
+ private editRowById;
402
392
  private setLoading;
403
- private deleteNew;
404
- private deleteExisting;
405
- private cancelExisting;
393
+ private deleteNewRow;
394
+ private deleteExistingRow;
395
+ private cancelExistingRow;
406
396
  private checkIfRowPristine;
407
397
  private checkIfPristine;
408
398
  private applyFilter;
@@ -410,5 +400,5 @@ export declare abstract class AppTable<T extends IEntity<T, ID>, F = any, ID = n
410
400
  private startCellValueChanges;
411
401
  private stopCellValueChanges;
412
402
  static ɵfac: i0.ɵɵFactoryDeclaration<AppTable<any, any, any>, never>;
413
- static ɵdir: i0.ɵɵDirectiveDeclaration<AppTable<any, any, any>, never, never, { "settingsId": "settingsId"; "debug": "debug"; "i18nColumnPrefix": "i18nColumnPrefix"; "i18nColumnSuffix": "i18nColumnSuffix"; "autoLoad": "autoLoad"; "readOnly": "readOnly"; "inlineEdition": "inlineEdition"; "focusFirstColumn": "focusFirstColumn"; "confirmBeforeDelete": "confirmBeforeDelete"; "confirmBeforeCancel": "confirmBeforeCancel"; "undoableDeletion": "undoableDeletion"; "saveBeforeDelete": "saveBeforeDelete"; "keepEditedRowOnSave": "keepEditedRowOnSave"; "saveBeforeSort": "saveBeforeSort"; "saveBeforeFilter": "saveBeforeFilter"; "propagateRowError": "propagateRowError"; "defaultSortBy": "defaultSortBy"; "defaultSortDirection": "defaultSortDirection"; "defaultPageSize": "defaultPageSize"; "defaultPageSizeOptions": "defaultPageSizeOptions"; "focusColumn": "focusColumn"; "dataSource": "dataSource"; "filter": "filter"; "disabled": "disabled"; "paginator": "paginator"; }, { "onRefresh": "onRefresh"; "onOpenRow": "onOpenRow"; "onNewRow": "onNewRow"; "onStartEditingRow": "onStartEditingRow"; "onConfirmEditCreateRow": "onConfirmEditCreateRow"; "onCancelOrDeleteRow": "onCancelOrDeleteRow"; "onBeforeDeleteRows": "onBeforeDeleteRows"; "onBeforeCancelRows": "onBeforeCancelRows"; "onBeforeSave": "onBeforeSave"; "onAfterDeletedRows": "onAfterDeletedRows"; "onSort": "onSort"; "onDirty": "onDirty"; "onError": "onError"; }, never, never, false>;
403
+ static ɵdir: i0.ɵɵDirectiveDeclaration<AppTable<any, any, any>, never, never, { "settingsId": "settingsId"; "debug": "debug"; "i18nColumnPrefix": "i18nColumnPrefix"; "i18nColumnSuffix": "i18nColumnSuffix"; "autoLoad": "autoLoad"; "readOnly": "readOnly"; "inlineEdition": "inlineEdition"; "focusFirstColumn": "focusFirstColumn"; "confirmBeforeDelete": "confirmBeforeDelete"; "confirmBeforeCancel": "confirmBeforeCancel"; "undoableDeletion": "undoableDeletion"; "saveBeforeDelete": "saveBeforeDelete"; "keepEditedRowOnSave": "keepEditedRowOnSave"; "saveBeforeSort": "saveBeforeSort"; "saveBeforeFilter": "saveBeforeFilter"; "propagateRowError": "propagateRowError"; "defaultSortBy": "defaultSortBy"; "defaultSortDirection": "defaultSortDirection"; "defaultPageSize": "defaultPageSize"; "defaultPageSizeOptions": "defaultPageSizeOptions"; "focusColumn": "focusColumn"; "dataSource": "dataSource"; "filter": "filter"; "disabled": "disabled"; "paginator": "paginator"; }, { "onRefresh": "onRefresh"; "onOpenIdAndRow": "onOpenIdAndRow"; "onOpenRow": "onOpenRow"; "onNewRow": "onNewRow"; "onStartEditingRow": "onStartEditingRow"; "onConfirmEditCreateRow": "onConfirmEditCreateRow"; "onCancelOrDeleteRow": "onCancelOrDeleteRow"; "onBeforeDeleteRows": "onBeforeDeleteRows"; "onBeforeCancelRows": "onBeforeCancelRows"; "onBeforeSave": "onBeforeSave"; "onAfterDeletedRows": "onAfterDeletedRows"; "onSort": "onSort"; "onDirty": "onDirty"; "onError": "onError"; }, never, never, false>;
414
404
  }
@@ -1,6 +1,7 @@
1
1
  import { AppTable } from './table.class';
2
2
  import { TableElement } from '@e-is/ngx-material-table';
3
+ import { AsyncTableElement } from '@e-is/ngx-material-table/src/app/ngx-material-table/async/async-table-element';
3
4
  export declare class AppTableUtils {
4
5
  static waitIdle(table: AppTable<any, any, any>): Promise<any>;
5
- static logRowErrors(row: TableElement<any>, logPrefix?: string): void;
6
+ static logRowErrors(row: TableElement<any> | AsyncTableElement<any>, logPrefix?: string): void;
6
7
  }
@@ -0,0 +1,13 @@
1
+ import { MatExpansionPanel } from '@angular/material/expansion';
2
+ import { Environment } from '../../../environments/environment.class';
3
+ import * as i0 from "@angular/core";
4
+ export declare class DebugComponent {
5
+ title: string;
6
+ enable: boolean;
7
+ expanded: boolean;
8
+ expansionPanel: MatExpansionPanel;
9
+ constructor(environment: Environment);
10
+ toggle(): void;
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<DebugComponent, [{ optional: true; }]>;
12
+ static ɵcmp: i0.ɵɵComponentDeclaration<DebugComponent, "app-debug", never, { "title": "title"; "enable": "enable"; "expanded": "expanded"; }, {}, never, ["*"], false>;
13
+ }
@@ -0,0 +1,12 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./debug.component";
3
+ import * as i2 from "@angular/common";
4
+ import * as i3 from "@ionic/angular";
5
+ import * as i4 from "@angular/material/expansion";
6
+ import * as i5 from "@angular/material/icon";
7
+ import * as i6 from "@ngx-translate/core";
8
+ export declare class SharedDebugModule {
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<SharedDebugModule, never>;
10
+ static ɵmod: i0.ɵɵNgModuleDeclaration<SharedDebugModule, [typeof i1.DebugComponent], [typeof i2.CommonModule, typeof i3.IonicModule, typeof i4.MatExpansionModule, typeof i5.MatIconModule, typeof i6.TranslateModule, typeof i4.MatExpansionModule], [typeof i1.DebugComponent, typeof i6.TranslateModule]>;
11
+ static ɵinj: i0.ɵɵInjectorDeclaration<SharedDebugModule>;
12
+ }
@@ -1,11 +1,11 @@
1
1
  import { EventEmitter } from '@angular/core';
2
2
  import { Observable } from 'rxjs';
3
- export interface PromiseEventPayload<T = any> {
4
- success: (T: any) => void;
3
+ export interface PromiseEventPayload<R = any> {
4
+ success: (R: any) => void;
5
5
  error: (err: any) => void;
6
6
  }
7
- export declare type PromiseEvent<T = any, D = void> = CustomEvent<PromiseEventPayload<T> & D>;
8
- export declare function createPromiseEventEmitter<T = any, D = void>(): EventEmitter<PromiseEvent<T, D>>;
7
+ export declare type PromiseEvent<R = any, D = void> = CustomEvent<PromiseEventPayload<R> & D>;
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
10
  export declare function emitPromiseEvent<T = any, D = void>(emitter: EventEmitter<PromiseEvent<T, D>>, eventType: string, initArg?: CustomEventInit<D>): Promise<T>;
11
11
  export interface CompletableEvent extends Event {
@@ -5,6 +5,8 @@ import { DisplayFn, FormFieldDefinition, FormFieldType } from './field.model';
5
5
  import { TranslateService } from '@ngx-translate/core';
6
6
  import { filterNumberInput, selectInputContent } from '../inputs';
7
7
  import { Property } from '../types';
8
+ import { ThemePalette } from '@angular/material/core';
9
+ import { PredefinedColors } from '@ionic/core';
8
10
  import * as i0 from "@angular/core";
9
11
  export declare class AppFormField implements OnInit, ControlValueAccessor {
10
12
  protected translate: TranslateService;
@@ -29,6 +31,7 @@ export declare class AppFormField implements OnInit, ControlValueAccessor {
29
31
  floatLabel: FloatLabelType;
30
32
  tabindex: number;
31
33
  autofocus: boolean;
34
+ chipColor: ThemePalette | PredefinedColors;
32
35
  classList: string;
33
36
  onKeyupEnter: EventEmitter<any>;
34
37
  get value(): any;
@@ -52,5 +55,5 @@ export declare class AppFormField implements OnInit, ControlValueAccessor {
52
55
  protected checkAndResolveFormControl(): void;
53
56
  protected updateTabIndex(): void;
54
57
  static ɵfac: i0.ɵɵFactoryDeclaration<AppFormField, [null, null, null, { optional: true; }]>;
55
- static ɵcmp: i0.ɵɵComponentDeclaration<AppFormField, "app-form-field", never, { "definition": "definition"; "required": "required"; "readonly": "readonly"; "disabled": "disabled"; "formControl": "formControl"; "formControlName": "formControlName"; "placeholder": "placeholder"; "compact": "compact"; "floatLabel": "floatLabel"; "tabindex": "tabindex"; "autofocus": "autofocus"; "classList": "class"; }, { "onKeyupEnter": "keyup.enter"; }, never, ["[matSuffix]", "[matSuffix]", "[matSuffix]", "[matSuffix]", "[matSuffix]", "[matSuffix]", "[matSuffix]", "[matPrefix]", "[matSuffix]", "[matPrefix]", "[matSuffix]", "[matSuffix]"], false>;
58
+ static ɵcmp: i0.ɵɵComponentDeclaration<AppFormField, "app-form-field", never, { "definition": "definition"; "required": "required"; "readonly": "readonly"; "disabled": "disabled"; "formControl": "formControl"; "formControlName": "formControlName"; "placeholder": "placeholder"; "compact": "compact"; "floatLabel": "floatLabel"; "tabindex": "tabindex"; "autofocus": "autofocus"; "chipColor": "chipColor"; "classList": "class"; }, { "onKeyupEnter": "keyup.enter"; }, never, ["[matSuffix]", "[matSuffix]", "[matSuffix]", "[matSuffix]", "[matSuffix]", "[matSuffix]", "[matSuffix]", "[matPrefix]", "[matSuffix]", "[matPrefix]", "[matSuffix]", "[matSuffix]"], false>;
56
59
  }
@@ -36,9 +36,16 @@ export declare function disableControls(form: UntypedFormGroup, paths: string[],
36
36
  onlySelf?: boolean;
37
37
  emitEvent?: boolean;
38
38
  }): void;
39
- export declare function addValueInArray(arrayControl: UntypedFormArray, createControl: (value?: any) => AbstractControl, equals: (v1: any, v2: any) => boolean, isEmpty: (value: any) => boolean, value: any, options?: {
39
+ export declare function pushValueInArray(arrayControl: UntypedFormArray, createControl: (value?: any) => AbstractControl, equals: (v1: any, v2: any) => boolean, isEmpty: (value: any) => boolean, value: any, options?: {
40
40
  emitEvent: boolean;
41
41
  }): boolean;
42
+ /**
43
+ * Patch an array using given default values. Each default value will be pass to the 'createControl()' function
44
+ * @param arrayControl
45
+ * @param createControl
46
+ * @param values
47
+ */
48
+ export declare function patchValueInArray(arrayControl: UntypedFormArray, createControl: (value?: any) => AbstractControl, defaultValues: any[]): boolean;
42
49
  export declare function resizeArray(arrayControl: UntypedFormArray, createControl: () => AbstractControl, length: number): boolean;
43
50
  export declare function removeValueInArray(arrayControl: UntypedFormArray, isEmpty: (value: any) => boolean, index: number): boolean;
44
51
  export declare function clearValueInArray(arrayControl: UntypedFormArray, isEmpty: (value: any) => boolean, index: number): boolean;
@@ -18,7 +18,12 @@ export declare function arrayGroupBy<T = any, K extends keyof T = any, M extends
18
18
  } = {
19
19
  [key: string]: T[];
20
20
  }>(obj: T[], key: keyof T): M;
21
- export declare function arrayDistinct<T = any>(obj: T[], properties?: string[]): T[];
21
+ /**
22
+ * Remove duplicated value, in array. Will compute a unique key (from given properties, or given function)
23
+ * @param values
24
+ * @param propertiesOrKeyFn
25
+ */
26
+ export declare function arrayDistinct<T = any>(values: T[], propertiesOrKeyFn?: string | string[] | ((obj: T) => string)): T[];
22
27
  export declare function nullIfUndefined<T>(obj: T | null | undefined): T | null;
23
28
  export declare function trimEmptyToNull<T>(str: string | null | undefined): string | null;
24
29
  export declare function toBoolean(obj: boolean | null | undefined | string, defaultValue?: boolean): boolean;
@@ -51,16 +56,16 @@ export declare function suggestFromStringArray(values: string[], value: any, opt
51
56
  }): string[];
52
57
  export declare function joinPropertiesPath<T = any>(obj: T, properties: string[], separator?: string): string | undefined;
53
58
  export declare function joinProperties<T = any, K extends keyof T = any>(obj: T, keys: K[], separator?: string): string | undefined;
54
- export declare function propertyPathComparator<T = any>(path: string): (a: T, b: T) => number;
59
+ export declare function propertyPathComparator<T = any>(path: string | string[]): (a: T, b: T) => number;
55
60
  export declare function propertyComparator<T = any, K extends keyof T = any>(key: K, defaultValue?: any): (a: T, b: T) => number;
56
61
  export declare function propertiesPathComparator<T = any>(keys: string[], defaultValues?: any[]): (a: T, b: T) => number;
57
62
  export declare function sort<T>(array: T[], attribute: string, opts?: Intl.CollatorOptions): T[];
58
63
  export declare function isInt(value: string): boolean;
59
64
  export declare function isNumber(value: string): boolean;
60
65
  export declare function isNumberRange(value: string): boolean;
61
- export declare function getPropertyByPath(obj: any, path: string, defaultValue?: any): any;
66
+ export declare function getPropertyByPath(obj: any, path: string | string[], defaultValue?: any): any;
62
67
  export declare function getProperty<T = any, K extends keyof T = any>(obj: T, key: K): T[K];
63
- export declare function getPropertyByPathAsString(obj: any, path: string): string | undefined;
68
+ export declare function getPropertyByPathAsString(obj: any, path: string | string[]): string | undefined;
64
69
  export declare function sleep(ms: number): Promise<void>;
65
70
  export declare function round(value: number | undefined | null): number;
66
71
  export declare function equalsOrNil(value1: any, value2: any): boolean;
@@ -20,21 +20,20 @@ export declare class Color {
20
20
  rgba(opacity?: number): string;
21
21
  }
22
22
  export declare interface ColorGradientOptions {
23
- opacity?: number;
24
23
  startColor?: number[];
25
24
  mainColor?: number[];
26
25
  mainColorIndex?: number;
27
26
  endColor?: number[];
28
- format?: 'rgb' | 'hex' | 'array';
29
27
  }
30
28
  export declare interface ColorScaleOptions extends ColorGradientOptions {
29
+ opacity?: number;
31
30
  min?: number;
32
31
  max?: number;
33
32
  upperMax?: boolean;
34
33
  }
35
34
  export declare interface ColorScaleLegendItem {
36
- label: string;
37
- color: string;
35
+ label: string | number[];
36
+ color: Color;
38
37
  }
39
38
  export declare interface ColorScaleLegend {
40
39
  items: ColorScaleLegendItem[];
@@ -43,7 +42,6 @@ export declare interface ColorScaleLegend {
43
42
  * Helper class for colors scale
44
43
  */
45
44
  export declare class ColorScale {
46
- private colorArray;
47
45
  static custom: (count: number, options?: ColorScaleOptions) => ColorScale;
48
46
  static default(): ColorScale;
49
47
  /**
@@ -56,8 +54,10 @@ export declare class ColorScale {
56
54
  private _legendItems;
57
55
  get min(): number;
58
56
  get max(): number;
59
- constructor(colorArray: string[], options?: ColorScaleOptions);
57
+ constructor(colorArray: number[][], options?: ColorScaleOptions);
60
58
  get legend(): ColorScaleLegend;
61
- getValueColor(value: number): string;
62
- protected computeLegend(): ColorScaleLegendItem[];
59
+ getValueColor(value: number): Color;
60
+ getLegendForValue(value: number): ColorScaleLegendItem;
61
+ getLegendAtIndex(index: number): ColorScaleLegendItem;
62
+ protected computeLegendItems(colorArray: number[][]): ColorScaleLegendItem[];
63
63
  }
@@ -6,7 +6,7 @@ import * as i0 from "@angular/core";
6
6
  export declare class GalleryTestPage implements OnInit, OnDestroy {
7
7
  protected dataService: ImageAttachmentService;
8
8
  private _subscription;
9
- readonly dataSource: EntitiesTableDataSource<ImageAttachment, ImageAttachmentFilter, number, import("@sumaris-net/ngx-components").EntitiesServiceWatchOptions, any, import("@e-is/ngx-material-table").ValidatorService, import("../../../../core/table/entities-table-datasource.class").EntitiesTableDataSourceConfig<ImageAttachment, number, import("@sumaris-net/ngx-components").EntitiesServiceWatchOptions, any>>;
9
+ readonly dataSource: EntitiesTableDataSource<ImageAttachment, ImageAttachmentFilter, number, import("@sumaris-net/ngx-components").EntitiesServiceWatchOptions, any, import("@e-is/ngx-material-table").ValidatorService, import("../../../../core/table/entities-table-datasource.class").EntitiesTableDataSourceConfig<ImageAttachment, number, import("@sumaris-net/ngx-components").EntitiesServiceWatchOptions, any>, import("@e-is/ngx-material-table").TableElement<ImageAttachment>>;
10
10
  constructor(dataService: ImageAttachmentService);
11
11
  ngOnInit(): void;
12
12
  ngOnDestroy(): void;
@@ -0,0 +1,28 @@
1
+ import { ElementRef, NgZone, OnDestroy, OnInit, Renderer2 } from '@angular/core';
2
+ import { MatBadge } from '@angular/material/badge';
3
+ import { AppColors } from '../../types';
4
+ import { AriaDescriber } from '@angular/cdk/a11y';
5
+ import * as i0 from "@angular/core";
6
+ export declare type MatBadgeFill = 'clear' | 'solid';
7
+ export declare class BadgeDirective extends MatBadge implements OnInit, OnDestroy {
8
+ protected el: ElementRef<HTMLElement>;
9
+ set appColor(value: AppColors);
10
+ get appColor(): AppColors;
11
+ set fill(value: MatBadgeFill);
12
+ get fill(): MatBadgeFill;
13
+ set matIcon(icon: string);
14
+ set ionIcon(icon: string);
15
+ private _appColor;
16
+ private _fill;
17
+ private _matIcon;
18
+ private _ionIcon;
19
+ private _html;
20
+ private _subscription;
21
+ private _$update;
22
+ constructor(_ngZone: NgZone, el: ElementRef<HTMLElement>, _ariaDescriber: AriaDescriber, _renderer: Renderer2, _animationMode?: string | undefined);
23
+ ngOnInit(): void;
24
+ ngOnDestroy(): void;
25
+ private updateView;
26
+ static ɵfac: i0.ɵɵFactoryDeclaration<BadgeDirective, [null, null, null, null, { optional: true; }]>;
27
+ static ɵdir: i0.ɵɵDirectiveDeclaration<BadgeDirective, "[appBadge], [appBadgeIcon], [appBadgeMatIcon]", never, { "disabled": "matBadgeDisabled"; "color": "appBadgeColor"; "size": "appBadgeSize"; "fill": "appBadgeFill"; "overlap": "appBadgeOverlap"; "appColor": "appBadgeColor"; "matIcon": "appBadgeMatIcon"; "ionIcon": "appBadgeIcon"; }, {}, never, never, false>;
28
+ }
@@ -0,0 +1,10 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./badge.directive";
3
+ import * as i2 from "@angular/common";
4
+ import * as i3 from "@ionic/angular";
5
+ import * as i4 from "@angular/material/badge";
6
+ export declare class SharedBadgeModule {
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<SharedBadgeModule, never>;
8
+ static ɵmod: i0.ɵɵNgModuleDeclaration<SharedBadgeModule, [typeof i1.BadgeDirective], [typeof i2.CommonModule, typeof i3.IonicModule, typeof i4.MatBadgeModule], [typeof i1.BadgeDirective]>;
9
+ static ɵinj: i0.ɵɵInjectorDeclaration<SharedBadgeModule>;
10
+ }
@@ -0,0 +1,12 @@
1
+ import { BehaviorSubject } from 'rxjs';
2
+ import { MatBadgeFill } from './badge.directive';
3
+ import { MatBadgeSize } from '@angular/material/badge';
4
+ import * as i0 from "@angular/core";
5
+ export declare class MatBadgeTestPage {
6
+ $icon: BehaviorSubject<string>;
7
+ $size: BehaviorSubject<MatBadgeSize>;
8
+ $fill: BehaviorSubject<MatBadgeFill>;
9
+ $color: BehaviorSubject<string>;
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatBadgeTestPage, never>;
11
+ static ɵcmp: i0.ɵɵComponentDeclaration<MatBadgeTestPage, "mat-badge-test", never, {}, {}, never, never, false>;
12
+ }
@@ -1,4 +1,4 @@
1
- import { ChangeDetectorRef, ElementRef, OnDestroy, OnInit, QueryList } from '@angular/core';
1
+ import { AfterViewInit, ChangeDetectorRef, ElementRef, OnDestroy, OnInit } from '@angular/core';
2
2
  import { ControlValueAccessor, FormGroupDirective, UntypedFormBuilder, UntypedFormControl } from '@angular/forms';
3
3
  import { TranslateService } from '@ngx-translate/core';
4
4
  import { Moment } from 'moment';
@@ -7,7 +7,7 @@ import { FloatLabelType, MatFormFieldAppearance } from '@angular/material/form-f
7
7
  import { DateFilterFn, MatDatepicker, MatDatepickerInputEvent } from '@angular/material/datepicker';
8
8
  import { MomentDateAdapter } from '@angular/material-moment-adapter';
9
9
  import * as i0 from "@angular/core";
10
- export declare class MatDate implements OnInit, OnDestroy, ControlValueAccessor, InputElement {
10
+ export declare class MatDate implements OnInit, AfterViewInit, OnDestroy, ControlValueAccessor, InputElement {
11
11
  private dateAdapter;
12
12
  private translate;
13
13
  private formBuilder;
@@ -19,9 +19,7 @@ export declare class MatDate implements OnInit, OnDestroy, ControlValueAccessor,
19
19
  private _writing;
20
20
  private _disabling;
21
21
  private _tabindex;
22
- private _hasKeyboardPlugin;
23
- private _keyboardHideDelay;
24
- _readonly: boolean;
22
+ private _readonly;
25
23
  textControl: UntypedFormControl;
26
24
  datePattern: string;
27
25
  locale: string;
@@ -45,27 +43,28 @@ export declare class MatDate implements OnInit, OnDestroy, ControlValueAccessor,
45
43
  set tabindex(value: number);
46
44
  get tabindex(): number;
47
45
  get value(): any;
46
+ get disabled(): boolean;
48
47
  datePicker: MatDatepicker<Moment>;
49
- matInputs: QueryList<ElementRef>;
48
+ _matInput: ElementRef;
50
49
  constructor(dateAdapter: MomentDateAdapter, translate: TranslateService, formBuilder: UntypedFormBuilder, cd: ChangeDetectorRef, formGroupDir: FormGroupDirective);
51
50
  ngOnInit(): void;
51
+ ngAfterViewInit(): void;
52
52
  ngOnDestroy(): void;
53
53
  writeValue(value: any): void;
54
54
  registerOnChange(fn: any): void;
55
55
  registerOnTouched(fn: any): void;
56
56
  setDisabledState(isDisabled: boolean): void;
57
- onDatePickerChange(event: MatDatepickerInputEvent<Moment>): void;
58
- openDatePickerIfMobile(event: Event, datePicker?: MatDatepicker<any>): Promise<void>;
59
- openDatePicker(event?: Event, datePicker?: MatDatepicker<any>): void;
60
- preventEvent(event: Event): void;
57
+ openDatePicker(): void;
61
58
  focus(): void;
62
59
  clear(): void;
63
- private updatePattern;
64
- checkIfTouched(opts?: {
60
+ protected _onDatePickerChange(event: MatDatepickerInputEvent<Moment>): void;
61
+ protected _openDatePickerIfMobile(event: UIEvent): Promise<boolean>;
62
+ protected _checkIfTouched(opts?: {
65
63
  emitEvent?: boolean;
66
64
  }): void;
65
+ protected _preventEvent(event: Event): void;
66
+ private updatePattern;
67
67
  private onFormChange;
68
- private waitKeyboardHide;
69
68
  private updateTabIndex;
70
69
  private markAsTouched;
71
70
  private markAsDirty;