@sumaris-net/ngx-components 2.0.0-rc16 → 2.0.0-rc19

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 (293) hide show
  1. package/esm2020/public_api.mjs +34 -21
  2. package/esm2020/src/app/admin/admin-routing.module.mjs +6 -6
  3. package/esm2020/src/app/admin/admin.module.mjs +6 -6
  4. package/esm2020/src/app/admin/services/person.service.mjs +3 -3
  5. package/esm2020/src/app/admin/services/validator/person.validator.mjs +3 -3
  6. package/esm2020/src/app/admin/users/{list/users.mjs → users.mjs} +31 -31
  7. package/esm2020/src/app/admin/users/users.module.mjs +54 -0
  8. package/esm2020/src/app/core/about/about.modal.mjs +71 -0
  9. package/esm2020/src/app/core/about/about.module.mjs +34 -0
  10. package/esm2020/src/app/core/account/account.module.mjs +43 -0
  11. package/esm2020/src/app/core/account/account.page.mjs +239 -0
  12. package/esm2020/src/app/core/auth/auth.form.mjs +131 -0
  13. package/esm2020/src/app/core/auth/auth.modal.mjs +72 -0
  14. package/esm2020/src/app/core/auth/auth.module.mjs +47 -0
  15. package/esm2020/src/app/core/core.module.mjs +86 -125
  16. package/esm2020/src/app/core/core.testing.module.mjs +7 -7
  17. package/esm2020/src/app/core/form/{form-buttons-bar.component.mjs → buttons/form-buttons-bar.component.mjs} +7 -7
  18. package/esm2020/src/app/core/form/buttons/form-buttons-bar.module.mjs +35 -0
  19. package/esm2020/src/app/core/form/entity/editor.class.mjs +675 -0
  20. package/esm2020/src/app/core/form/entity/entity-editor-modal.class.mjs +421 -0
  21. package/esm2020/src/app/core/form/entity/entity-editor.class.mjs +646 -0
  22. package/esm2020/src/app/core/form/{entity-metadata.component.mjs → entity/entity-metadata.component.mjs} +6 -6
  23. package/esm2020/src/app/core/form/entity/entity.module.mjs +38 -0
  24. package/esm2020/src/app/core/form/form.class.mjs +3 -3
  25. package/esm2020/src/app/core/form/form.module.mjs +66 -0
  26. package/esm2020/src/app/core/form/list/list.form.mjs +222 -0
  27. package/esm2020/src/app/core/form/list/list.module.mjs +35 -0
  28. package/esm2020/src/app/core/form/properties/properties.form.mjs +3 -3
  29. package/esm2020/src/app/core/form/properties/properties.module.mjs +35 -0
  30. package/esm2020/src/app/core/form/properties/property.validator.mjs +3 -3
  31. package/esm2020/src/app/core/form/properties/testing/properties-form.test.mjs +3 -3
  32. package/esm2020/src/app/core/form/properties/testing/properties-form.testing.module.mjs +4 -4
  33. package/esm2020/src/app/core/{text-popover → form/text-popover}/testing/text-popover.testing.mjs +4 -4
  34. package/esm2020/src/app/core/form/text-popover/testing/text-popover.testing.module.mjs +45 -0
  35. package/esm2020/src/app/core/{text-popover → form/text-popover}/text-form.component.mjs +8 -8
  36. package/esm2020/src/app/core/{text-popover → form/text-popover}/text-popover.component.mjs +6 -6
  37. package/esm2020/src/app/core/form/text-popover/text-popover.module.mjs +40 -0
  38. package/esm2020/src/app/core/graphql/graphql.module.mjs +4 -4
  39. package/esm2020/src/app/core/graphql/graphql.service.mjs +3 -3
  40. package/esm2020/src/app/core/home/home.mjs +8 -8
  41. package/esm2020/src/app/core/home/home.module.mjs +48 -0
  42. package/esm2020/src/app/core/icon/icon.component.mjs +3 -3
  43. package/esm2020/src/app/core/icon/icon.module.mjs +4 -4
  44. package/esm2020/src/app/core/install/install-upgrade-card.component.mjs +3 -3
  45. package/esm2020/src/app/core/install/install-upgrade-card.module.mjs +17 -15
  46. package/esm2020/src/app/core/menu/menu.component.mjs +5 -5
  47. package/esm2020/src/app/core/menu/menu.module.mjs +9 -10
  48. package/esm2020/src/app/core/menu/menu.service.mjs +3 -3
  49. package/esm2020/src/app/core/offline/update-offline-mode-card.component.mjs +3 -3
  50. package/esm2020/src/app/core/offline/update-offline-mode-card.module.mjs +35 -0
  51. package/esm2020/src/app/core/peer/select-peer.modal.mjs +3 -3
  52. package/esm2020/src/app/core/peer/select-peer.module.mjs +14 -10
  53. package/esm2020/src/app/core/register/register-confirm.page.mjs +81 -0
  54. package/esm2020/src/app/core/register/register.form.mjs +181 -0
  55. package/esm2020/src/app/core/register/register.modal.mjs +52 -0
  56. package/esm2020/src/app/core/register/register.module.mjs +17 -15
  57. package/esm2020/src/app/core/services/account.service.mjs +3 -3
  58. package/esm2020/src/app/core/services/auth-guard.service.mjs +6 -6
  59. package/esm2020/src/app/core/services/base-entity-service.class.mjs +3 -3
  60. package/esm2020/src/app/core/services/base-graphql-service.class.mjs +3 -3
  61. package/esm2020/src/app/core/services/config.service.mjs +3 -3
  62. package/esm2020/src/app/core/services/crypto.service.mjs +3 -3
  63. package/esm2020/src/app/core/services/local-settings.service.mjs +3 -3
  64. package/esm2020/src/app/core/services/network.service.mjs +3 -3
  65. package/esm2020/src/app/core/services/pipes/account.pipes.mjs +8 -8
  66. package/esm2020/src/app/core/services/pipes/department-to-string.pipe.mjs +4 -4
  67. package/esm2020/src/app/core/services/pipes/person-to-string.pipe.mjs +4 -4
  68. package/esm2020/src/app/core/services/pipes/usage-mode.pipes.mjs +8 -8
  69. package/esm2020/src/app/core/services/platform.service.mjs +3 -3
  70. package/esm2020/src/app/core/services/storage/entities-storage.service.mjs +3 -3
  71. package/esm2020/src/app/core/services/testing/referential.validator.mjs +3 -3
  72. package/esm2020/src/app/core/services/validator/account.validator.mjs +3 -3
  73. package/esm2020/src/app/core/services/validator/base.validator.class.mjs +3 -3
  74. package/esm2020/src/app/core/services/validator/local-settings.validator.mjs +3 -3
  75. package/esm2020/src/app/core/services/validator/user-settings.validator.mjs +3 -3
  76. package/esm2020/src/app/core/settings/settings.module.mjs +34 -0
  77. package/esm2020/src/app/core/settings/settings.page.mjs +4 -4
  78. package/esm2020/src/app/core/table/actions-column.component.mjs +3 -3
  79. package/esm2020/src/app/core/table/entities-table-datasource.class.mjs +3 -3
  80. package/esm2020/src/app/core/table/memory-table.class.mjs +3 -3
  81. package/esm2020/src/app/core/table/table-select-columns.component.mjs +3 -3
  82. package/esm2020/src/app/core/table/table.class.mjs +3 -3
  83. package/esm2020/src/app/core/table/table.module.mjs +40 -0
  84. package/esm2020/src/app/core/table/testing/table.testing.mjs +6 -6
  85. package/esm2020/src/app/core/table/testing/table.testing.module.mjs +4 -4
  86. package/esm2020/src/app/shared/audio/audio.mjs +3 -3
  87. package/esm2020/src/app/shared/audio/audio.testing.mjs +3 -3
  88. package/esm2020/src/app/shared/audio/audio.testing.module.mjs +4 -4
  89. package/esm2020/src/app/shared/capacitor/keyboard.mjs +3 -3
  90. package/esm2020/src/app/shared/debug/debug.component.mjs +3 -3
  91. package/esm2020/src/app/shared/debug/debug.module.mjs +4 -4
  92. package/esm2020/src/app/shared/directives/autofocus.directive.mjs +3 -3
  93. package/esm2020/src/app/shared/directives/autotitle.directive.mjs +3 -3
  94. package/esm2020/src/app/shared/directives/directives.module.mjs +4 -4
  95. package/esm2020/src/app/shared/directives/drag-and-drop.directive.mjs +3 -3
  96. package/esm2020/src/app/shared/directives/ng-var.directive.mjs +3 -3
  97. package/esm2020/src/app/shared/directives/resizable/resizable.component.mjs +3 -3
  98. package/esm2020/src/app/shared/directives/resizable/resizable.directive.mjs +3 -3
  99. package/esm2020/src/app/shared/directives/resizable/resizable.module.mjs +4 -4
  100. package/esm2020/src/app/shared/file/file.service.mjs +3 -3
  101. package/esm2020/src/app/shared/form/field.component.mjs +3 -3
  102. package/esm2020/src/app/shared/form/loading-spinner.mjs +3 -3
  103. package/esm2020/src/app/shared/gesture/gesture-config.mjs +3 -3
  104. package/esm2020/src/app/shared/guard/component-dirty.guard.mjs +3 -3
  105. package/esm2020/src/app/shared/help/help.modal.mjs +3 -3
  106. package/esm2020/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.mjs +3 -3
  107. package/esm2020/src/app/shared/hotkeys/hotkeys.service.mjs +3 -3
  108. package/esm2020/src/app/shared/hotkeys/shared-hotkeys.module.mjs +4 -4
  109. package/esm2020/src/app/shared/image/gallery/image-gallery.component.mjs +3 -3
  110. package/esm2020/src/app/shared/image/gallery/image-gallery.module.mjs +4 -4
  111. package/esm2020/src/app/shared/image/gallery/testing/gallery.service.testing.mjs +3 -3
  112. package/esm2020/src/app/shared/image/gallery/testing/gallery.testing.mjs +3 -3
  113. package/esm2020/src/app/shared/image/gallery/testing/gallery.testing.module.mjs +4 -4
  114. package/esm2020/src/app/shared/image/image.module.mjs +4 -4
  115. package/esm2020/src/app/shared/image/image.service.mjs +3 -3
  116. package/esm2020/src/app/shared/material/autocomplete/material.autocomplete.mjs +3 -3
  117. package/esm2020/src/app/shared/material/autocomplete/material.autocomplete.module.mjs +4 -4
  118. package/esm2020/src/app/shared/material/autocomplete/testing/autocomplete.test.mjs +3 -3
  119. package/esm2020/src/app/shared/material/badge/badge.directive.mjs +3 -3
  120. package/esm2020/src/app/shared/material/badge/badge.module.mjs +4 -4
  121. package/esm2020/src/app/shared/material/badge/badge.test.mjs +3 -3
  122. package/esm2020/src/app/shared/material/boolean/boolean.module.mjs +4 -4
  123. package/esm2020/src/app/shared/material/boolean/material.boolean.mjs +3 -3
  124. package/esm2020/src/app/shared/material/chips/chips.module.mjs +4 -4
  125. package/esm2020/src/app/shared/material/chips/material.chips.mjs +3 -3
  126. package/esm2020/src/app/shared/material/chips/testing/chips.test.mjs +3 -3
  127. package/esm2020/src/app/shared/material/datetime/datetime.module.mjs +4 -4
  128. package/esm2020/src/app/shared/material/datetime/material.date.mjs +3 -3
  129. package/esm2020/src/app/shared/material/datetime/material.dateshort.mjs +3 -3
  130. package/esm2020/src/app/shared/material/datetime/material.datetime.mjs +3 -3
  131. package/esm2020/src/app/shared/material/datetime/testing/mat-date-time.test.mjs +3 -3
  132. package/esm2020/src/app/shared/material/datetime/testing/mat-date.test.mjs +3 -3
  133. package/esm2020/src/app/shared/material/duration/duration.module.mjs +4 -4
  134. package/esm2020/src/app/shared/material/duration/material.duration.mjs +3 -3
  135. package/esm2020/src/app/shared/material/latlong/material.latlong.mjs +3 -3
  136. package/esm2020/src/app/shared/material/latlong/material.latlong.module.mjs +4 -4
  137. package/esm2020/src/app/shared/material/latlong/testing/latlong.test.mjs +3 -3
  138. package/esm2020/src/app/shared/material/material.module.mjs +4 -4
  139. package/esm2020/src/app/shared/material/material.testing.module.mjs +4 -4
  140. package/esm2020/src/app/shared/material/numpad/numpad.append-to-input.directive.mjs +3 -3
  141. package/esm2020/src/app/shared/material/numpad/numpad.component.mjs +3 -3
  142. package/esm2020/src/app/shared/material/numpad/numpad.container.mjs +3 -3
  143. package/esm2020/src/app/shared/material/numpad/numpad.content.mjs +3 -3
  144. package/esm2020/src/app/shared/material/numpad/numpad.directive.mjs +3 -3
  145. package/esm2020/src/app/shared/material/numpad/numpad.dom-service.mjs +3 -3
  146. package/esm2020/src/app/shared/material/numpad/numpad.module.mjs +4 -4
  147. package/esm2020/src/app/shared/material/numpad/testing/numpad.test.mjs +3 -3
  148. package/esm2020/src/app/shared/material/paginator/material.paginator-i18n.mjs +3 -3
  149. package/esm2020/src/app/shared/material/stepper/material.stepper-i18n.mjs +3 -3
  150. package/esm2020/src/app/shared/material/swipe/material.swipe.mjs +3 -3
  151. package/esm2020/src/app/shared/material/swipe/swipe.module.mjs +4 -4
  152. package/esm2020/src/app/shared/material/swipe/testing/swipe.test.mjs +3 -3
  153. package/esm2020/src/app/shared/pipes/arrays.pipe.mjs +24 -24
  154. package/esm2020/src/app/shared/pipes/colors.pipe.mjs +3 -3
  155. package/esm2020/src/app/shared/pipes/date-diff-duration.pipe.mjs +4 -4
  156. package/esm2020/src/app/shared/pipes/date-format.pipe.mjs +4 -4
  157. package/esm2020/src/app/shared/pipes/date-from-now.pipe.mjs +4 -4
  158. package/esm2020/src/app/shared/pipes/duration.pipe.mjs +4 -4
  159. package/esm2020/src/app/shared/pipes/file-size.pipe.mjs +3 -3
  160. package/esm2020/src/app/shared/pipes/form.pipes.mjs +18 -18
  161. package/esm2020/src/app/shared/pipes/highlight.pipe.mjs +4 -4
  162. package/esm2020/src/app/shared/pipes/latlong-format.pipe.mjs +9 -9
  163. package/esm2020/src/app/shared/pipes/maps.pipe.mjs +12 -12
  164. package/esm2020/src/app/shared/pipes/math.pipes.mjs +12 -12
  165. package/esm2020/src/app/shared/pipes/ng-init.pipe.mjs +3 -3
  166. package/esm2020/src/app/shared/pipes/number-format.pipe.mjs +4 -4
  167. package/esm2020/src/app/shared/pipes/pipes.module.mjs +4 -4
  168. package/esm2020/src/app/shared/pipes/property.pipes.mjs +7 -7
  169. package/esm2020/src/app/shared/pipes/string.pipes.mjs +15 -15
  170. package/esm2020/src/app/shared/pipes/translate-context.pipe.mjs +8 -8
  171. package/esm2020/src/app/shared/services/memory-entity-service.class.mjs +3 -3
  172. package/esm2020/src/app/shared/services/progress-bar.service.mjs +3 -3
  173. package/esm2020/src/app/shared/services/storage/storage.service.mjs +3 -3
  174. package/esm2020/src/app/shared/services/translate-context.service.mjs +3 -3
  175. package/esm2020/src/app/shared/shared-routing.module.mjs +7 -7
  176. package/esm2020/src/app/shared/shared.module.mjs +9 -5
  177. package/esm2020/src/app/shared/shared.testing.module.mjs +4 -4
  178. package/esm2020/src/app/shared/testing/observable.test.mjs +3 -3
  179. package/esm2020/src/app/shared/testing/tests.page.mjs +3 -3
  180. package/esm2020/src/app/shared/toast/toast.testing.mjs +3 -3
  181. package/esm2020/src/app/shared/toast/toast.testing.module.mjs +4 -4
  182. package/esm2020/src/app/shared/toolbar/modal-toolbar.mjs +3 -3
  183. package/esm2020/src/app/shared/toolbar/toolbar.mjs +3 -3
  184. package/esm2020/src/app/shared/toolbar/toolbar.module.mjs +4 -4
  185. package/esm2020/src/app/shared/upload-file/testing/upload-file.testing.mjs +3 -3
  186. package/esm2020/src/app/shared/upload-file/testing/upload-file.testing.module.mjs +4 -4
  187. package/esm2020/src/app/shared/upload-file/upload-file-popover.component.mjs +3 -3
  188. package/esm2020/src/app/shared/upload-file/upload-file.component.mjs +3 -3
  189. package/esm2020/src/app/shared/validator/form-error-adapter.class.mjs +3 -3
  190. package/esm2020/src/app/social/job/job.module.mjs +4 -4
  191. package/esm2020/src/app/social/job/job.service.mjs +3 -3
  192. package/esm2020/src/app/social/job/progression/job-progression.icon.mjs +3 -3
  193. package/esm2020/src/app/social/job/progression/job-progression.list.mjs +3 -3
  194. package/esm2020/src/app/social/job/testing/job-progression.testing.mjs +3 -3
  195. package/esm2020/src/app/social/job/testing/job-progression.testing.service.mjs +3 -3
  196. package/esm2020/src/app/social/job/testing/job.testing.module.mjs +4 -4
  197. package/esm2020/src/app/social/message/message.form.mjs +3 -3
  198. package/esm2020/src/app/social/message/message.modal.mjs +3 -3
  199. package/esm2020/src/app/social/message/message.module.mjs +4 -4
  200. package/esm2020/src/app/social/message/message.service.mjs +3 -3
  201. package/esm2020/src/app/social/social.module.mjs +4 -4
  202. package/esm2020/src/app/social/social.testing.module.mjs +4 -4
  203. package/esm2020/src/app/social/user-event/notification/user-event-notification.icon.mjs +3 -3
  204. package/esm2020/src/app/social/user-event/notification/user-event-notification.list.mjs +6 -6
  205. package/esm2020/src/app/social/user-event/testing/user-event.testing.mjs +3 -3
  206. package/esm2020/src/app/social/user-event/testing/user-event.testing.module.mjs +4 -4
  207. package/esm2020/src/app/social/user-event/testing/user-event.testing.service.mjs +3 -3
  208. package/esm2020/src/app/social/user-event/user-event.module.mjs +4 -4
  209. package/esm2020/src/app/social/user-event/user-event.service.mjs +3 -3
  210. package/esm2020/src/app/vendor.mjs +2 -1
  211. package/fesm2015/sumaris-net.ngx-components.mjs +3514 -3083
  212. package/fesm2015/sumaris-net.ngx-components.mjs.map +1 -1
  213. package/fesm2020/sumaris-net.ngx-components.mjs +3426 -3003
  214. package/fesm2020/sumaris-net.ngx-components.mjs.map +1 -1
  215. package/package.json +1 -1
  216. package/plugins/clovelced-plugin-audiomanagement/README.md +66 -0
  217. package/plugins/cordova-plugin-camera/README.md +703 -0
  218. package/plugins/cordova-plugin-device/README.md +309 -0
  219. package/plugins/cordova-plugin-file/README.md +848 -0
  220. package/plugins/cordova-plugin-file-transfer/README.md +598 -0
  221. package/plugins/cordova-plugin-file-transfer/doc/de/README.md +311 -0
  222. package/plugins/cordova-plugin-file-transfer/doc/es/README.md +311 -0
  223. package/plugins/cordova-plugin-file-transfer/doc/fr/README.md +270 -0
  224. package/plugins/cordova-plugin-file-transfer/doc/it/README.md +311 -0
  225. package/plugins/cordova-plugin-file-transfer/doc/ja/README.md +311 -0
  226. package/plugins/cordova-plugin-file-transfer/doc/ko/README.md +311 -0
  227. package/plugins/cordova-plugin-file-transfer/doc/pl/README.md +311 -0
  228. package/plugins/cordova-plugin-file-transfer/doc/zh/README.md +311 -0
  229. package/plugins/cordova-plugin-ionic-keyboard/README.md +220 -0
  230. package/plugins/cordova-plugin-ionic-webview/README.md +181 -0
  231. package/plugins/cordova-plugin-media-capture/README.md +626 -0
  232. package/plugins/cordova-plugin-splashscreen/README.md +387 -0
  233. package/plugins/cordova-plugin-statusbar/README.md +341 -0
  234. package/plugins/cordova-plugin-telerik-imagepicker/README.md +155 -0
  235. package/plugins/cordova-plugin-whitelist/README.md +185 -0
  236. package/plugins/cordova-sqlite-storage/README.md +1848 -0
  237. package/plugins/integrator-cordova-plugin-downloader/README.md +49 -0
  238. package/public_api.d.ts +33 -20
  239. package/src/app/admin/admin.module.d.ts +1 -1
  240. package/src/app/admin/users/{list/users.d.ts → users.d.ts} +11 -11
  241. package/src/app/admin/users/users.module.d.ts +13 -0
  242. package/src/app/core/about/{modal-about.d.ts → about.modal.d.ts} +1 -1
  243. package/src/app/core/about/about.module.d.ts +10 -0
  244. package/src/app/core/account/account.module.d.ts +11 -0
  245. package/src/app/core/account/{account.d.ts → account.page.d.ts} +5 -1
  246. package/src/app/core/auth/{form/form-auth.d.ts → auth.form.d.ts} +9 -9
  247. package/src/app/core/auth/{modal/modal-auth.d.ts → auth.modal.d.ts} +4 -4
  248. package/src/app/core/auth/auth.module.d.ts +11 -0
  249. package/src/app/core/core.module.d.ts +20 -29
  250. package/src/app/core/core.testing.module.d.ts +1 -1
  251. package/src/app/core/form/{form-buttons-bar.component.d.ts → buttons/form-buttons-bar.component.d.ts} +2 -2
  252. package/src/app/core/form/buttons/form-buttons-bar.module.d.ts +9 -0
  253. package/src/app/core/form/{editor.class.d.ts → entity/editor.class.d.ts} +9 -9
  254. package/src/app/core/form/{entity-editor-modal.class.d.ts → entity/entity-editor-modal.class.d.ts} +7 -7
  255. package/src/app/core/form/{entity-editor.class.d.ts → entity/entity-editor.class.d.ts} +10 -10
  256. package/src/app/core/form/{entity-metadata.component.d.ts → entity/entity-metadata.component.d.ts} +1 -1
  257. package/src/app/core/form/entity/entity.module.d.ts +10 -0
  258. package/src/app/core/form/form.module.d.ts +13 -0
  259. package/src/app/core/form/{list.form.d.ts → list/list.form.d.ts} +3 -3
  260. package/src/app/core/form/list/list.module.d.ts +9 -0
  261. package/src/app/core/form/properties/properties.module.d.ts +9 -0
  262. package/src/app/core/{text-popover → form/text-popover}/testing/text-popover.testing.d.ts +0 -0
  263. package/src/app/core/{text-popover → form/text-popover}/testing/text-popover.testing.module.d.ts +0 -0
  264. package/src/app/core/{text-popover → form/text-popover}/text-form.component.d.ts +1 -1
  265. package/src/app/core/{text-popover → form/text-popover}/text-popover.component.d.ts +0 -0
  266. package/src/app/core/form/text-popover/text-popover.module.d.ts +10 -0
  267. package/src/app/core/home/home.module.d.ts +12 -0
  268. package/src/app/core/install/install-upgrade-card.module.d.ts +6 -7
  269. package/src/app/core/menu/menu.component.d.ts +1 -1
  270. package/src/app/core/offline/update-offline-mode-card.module.d.ts +9 -0
  271. package/src/app/core/peer/select-peer.module.d.ts +5 -4
  272. package/src/app/core/register/{confirm/confirm.d.ts → register-confirm.page.d.ts} +4 -4
  273. package/src/app/core/register/{form/form-register.d.ts → register.form.d.ts} +7 -7
  274. package/src/app/core/register/{modal/modal-register.d.ts → register.modal.d.ts} +2 -2
  275. package/src/app/core/register/register.module.d.ts +6 -6
  276. package/src/app/core/settings/settings.module.d.ts +10 -0
  277. package/src/app/core/table/table.module.d.ts +10 -0
  278. package/src/app/shared/shared.module.d.ts +2 -1
  279. package/src/app/vendor.d.ts +1 -0
  280. package/esm2020/src/app/admin/users/list/users.module.mjs +0 -58
  281. package/esm2020/src/app/core/about/modal-about.mjs +0 -71
  282. package/esm2020/src/app/core/account/account.mjs +0 -230
  283. package/esm2020/src/app/core/auth/form/form-auth.mjs +0 -131
  284. package/esm2020/src/app/core/auth/modal/modal-auth.mjs +0 -72
  285. package/esm2020/src/app/core/form/editor.class.mjs +0 -675
  286. package/esm2020/src/app/core/form/entity-editor-modal.class.mjs +0 -421
  287. package/esm2020/src/app/core/form/entity-editor.class.mjs +0 -646
  288. package/esm2020/src/app/core/form/list.form.mjs +0 -222
  289. package/esm2020/src/app/core/register/confirm/confirm.mjs +0 -81
  290. package/esm2020/src/app/core/register/form/form-register.mjs +0 -181
  291. package/esm2020/src/app/core/register/modal/modal-register.mjs +0 -52
  292. package/esm2020/src/app/core/text-popover/testing/text-popover.testing.module.mjs +0 -45
  293. package/src/app/admin/users/list/users.module.d.ts +0 -14
@@ -36,8 +36,8 @@ import * as i19 from "@angular/material/tooltip";
36
36
  import * as i20 from "../../../shared/material/autocomplete/material.autocomplete";
37
37
  import * as i21 from "../../../shared/directives/autofocus.directive";
38
38
  import * as i22 from "../../../shared/toolbar/toolbar";
39
- import * as i23 from "../actions-column.component";
40
- import * as i24 from "../../form/form-buttons-bar.component";
39
+ import * as i23 from "../../form/buttons/form-buttons-bar.component";
40
+ import * as i24 from "../actions-column.component";
41
41
  import * as i25 from "../../../shared/pipes/date-format.pipe";
42
42
  import * as i26 from "../../../shared/pipes/number-format.pipe";
43
43
  import * as i27 from "../../../shared/pipes/arrays.pipe";
@@ -229,8 +229,8 @@ export class TableTestPage extends AppTable {
229
229
  }
230
230
  }
231
231
  TableTestPage.maxRowCount = 100;
232
- TableTestPage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: TableTestPage, deps: [{ token: i0.Injector }, { token: i1.AppValidatorService }, { token: i2.UntypedFormBuilder }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
233
- TableTestPage.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: TableTestPage, selector: "app-table-testing", inputs: { enableInfiniteScroll: "enableInfiniteScroll", useSticky: "useSticky" }, providers: [
232
+ TableTestPage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: TableTestPage, deps: [{ token: i0.Injector }, { token: i1.AppValidatorService }, { token: i2.UntypedFormBuilder }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
233
+ TableTestPage.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: TableTestPage, selector: "app-table-testing", inputs: { enableInfiniteScroll: "enableInfiniteScroll", useSticky: "useSticky" }, providers: [
234
234
  {
235
235
  provide: AppValidatorService,
236
236
  useClass: ReferentialValidatorService
@@ -238,8 +238,8 @@ TableTestPage.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version:
238
238
  {
239
239
  provide: AppTable, useExisting: forwardRef(() => TableTestPage),
240
240
  }
241
- ], viewQueries: [{ propertyName: "filterExpansionPanel", first: true, predicate: MatExpansionPanel, descendants: true, static: true }, { propertyName: "infiniteScroll", first: true, predicate: IonInfiniteScroll, descendants: true }], usesInheritance: true, ngImport: i0, template: "<app-toolbar color=\"primary\" [canGoBack]=\"true\"\n [hasValidate]=\"!(loadingSubject|async) && dirty\"\n (onValidate)=\"save()\"\n [backHref]=\"'/testing'\">\n <ion-buttons slot=\"end\">\n\n\n <ng-container *ngIf=\"!selection.hasValue(); else hasSelection\">\n <!-- Add -->\n <button mat-icon-button\n *ngIf=\"canEdit && !mobile\"\n [title]=\"'COMMON.BTN_ADD'|translate\"\n (click)=\"addRow()\">\n <mat-icon>add</mat-icon>\n </button>\n\n <!-- reset filter -->\n <button mat-icon-button (click)=\"resetFilter()\"\n *ngIf=\"filterCriteriaCount\">\n <mat-icon color=\"accent\">filter_list_alt</mat-icon>\n <mat-icon class=\"icon-secondary\" style=\"left: 16px; top: 5px; font-weight: bold;\">close</mat-icon>\n </button>\n\n <!-- show filter -->\n <button mat-icon-button (click)=\"filterExpansionPanel.toggle()\">\n <mat-icon *ngIf=\"filterCriteriaCount; else emptyFilter\"\n [matBadge]=\"filterCriteriaCount\"\n matBadgeColor=\"accent\"\n matBadgeSize=\"small\"\n matBadgePosition=\"above after\">filter_list_alt\n </mat-icon>\n <ng-template #emptyFilter>\n <mat-icon>filter_list_alt</mat-icon>\n </ng-template>\n </button>\n\n <!-- show filter -->\n <button mat-icon-button *ngIf=\"mobile\"\n [disabled]=\"!(dirtySubject|async)\"\n (click)=\"save()\">\n <mat-icon>save</mat-icon>\n </button>\n\n <!-- start/stop timer to auto-load data -->\n <ion-button *ngIf=\"!timer\" (click)=\"startTimer()\">Start reload</ion-button>\n <ion-button *ngIf=\"timer\" (click)=\"stopTimer()\" color=\"accent\">Stop reload</ion-button>\n </ng-container>\n\n <!-- if row selection -->\n <ng-template #hasSelection>\n\n <!-- delete -->\n <button mat-icon-button\n *ngIf=\"canEdit\" [title]=\"'COMMON.BTN_DELETE'|translate\"\n (click)=\"deleteSelection($event)\">\n <mat-icon>delete</mat-icon>\n </button>\n\n <!-- duplicate -->\n <button mat-icon-button\n *ngIf=\"canEdit && selection.selected | isArrayLength: {equals: 1}\"\n [title]=\"'COMMON.BTN_DUPLICATE'|translate\"\n (click)=\"duplicateRow($event, selection.selected[0])\">\n <mat-icon>file_copy</mat-icon>\n </button>\n </ng-template>\n </ion-buttons>\n</app-toolbar>\n<ion-content class=\"ion-no-padding\">\n\n <ion-refresher slot=\"fixed\" *ngIf=\"mobile\" (ionRefresh)=\"doRefresh($event)\">\n <ion-refresher-content></ion-refresher-content>\n </ion-refresher>\n\n <!-- error -->\n <ion-item *ngIf=\"mobile && error\" lines=\"none\" @slideUpDownAnimation>\n <ion-icon color=\"danger\" slot=\"start\" name=\"alert-circle\"></ion-icon>\n <ion-label color=\"danger\" class=\"error\" [innerHTML]=\"error|translate\"></ion-label>\n </ion-item>\n\n <!-- search -->\n <mat-expansion-panel #filterExpansionPanel class=\"filter-panel filter-panel-floating\">\n <form class=\"form-container ion-padding-top\" [formGroup]=\"filterForm\" (ngSubmit)=\"applyFilterAndClosePanel($event)\">\n\n <ion-grid>\n <ion-row>\n <ion-col>\n <!-- search text -->\n <mat-form-field>\n <ion-icon matPrefix name=\"search\"></ion-icon>\n <input matInput\n formControlName=\"searchText\"\n autocomplete=\"off\"\n [placeholder]=\"'TABLE.TESTING.SEARCH_TEXT'|translate\">\n <button mat-icon-button matSuffix tabindex=\"-1\"\n type=\"button\"\n (click)=\"clearControlValue($event, filterForm.controls.searchText)\"\n [hidden]=\"filterForm.controls.searchText.disabled || !filterForm.controls.searchText.value\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n </ion-col>\n </ion-row>\n </ion-grid>\n </form>\n\n <mat-action-row>\n <!-- Counter -->\n <ion-label [hidden]=\"(loadingSubject|async) || filterForm.dirty\"\n [color]=\"empty && 'danger'\"\n class=\"ion-padding\">\n {{ (totalRowCount ? 'COMMON.RESULT_COUNT' : 'COMMON.NO_RESULT') | translate: {\n count: (totalRowCount |\n numberFormat)\n } }}\n </ion-label>\n\n <div class=\"toolbar-spacer\"></div>\n\n <!-- Close panel -->\n <ion-button mat-button fill=\"clear\" color=\"dark\"\n (click)=\"filterExpansionPanel.close()\"\n [disabled]=\"loadingSubject|async\">\n <ion-text translate>COMMON.BTN_CLOSE</ion-text>\n </ion-button>\n\n <!-- Search button -->\n <ion-button mat-button\n [color]=\"filterForm.dirty ? 'tertiary' : 'dark'\"\n [fill]=\"filterForm.dirty ? 'solid' : 'clear'\"\n (click)=\"applyFilterAndClosePanel($event)\">\n <ion-text translate>COMMON.BTN_APPLY</ion-text>\n </ion-button>\n </mat-action-row>\n </mat-expansion-panel>\n\n <!-- table -->\n <div [class.table-container]=\"!enableInfiniteScroll\">\n <table #table mat-table matSort matSortDisableClear\n [dataSource]=\"dataSource\"\n [matSortActive]=\"defaultSortBy\"\n [matSortDirection]=\"defaultSortDirection\"\n [trackBy]=\"trackByFn\">\n\n <!-- group header cells -->\n\n <ng-container matColumnDef=\"top-start\" [sticky]=\"useSticky\">\n <th mat-header-cell *matHeaderCellDef [class.cdk-visually-hidden]=\"!canEdit\" [attr.colspan]=\"2\">\n <!-- start spacer -->\n </th>\n </ng-container>\n\n <ng-container matColumnDef=\"group-1\">\n <th mat-header-cell *matHeaderCellDef [attr.colspan]=\"3\" style=\"background-color: whitesmoke; margin-bottom: -1px;\">\n <ion-label translate>{{i18nColumnPrefix + 'GROUP_1'}}</ion-label>\n </th>\n </ng-container>\n\n <ng-container matColumnDef=\"group-2\">\n <th mat-header-cell *matHeaderCellDef [attr.colspan]=\"3\">\n <ion-label translate>{{i18nColumnPrefix + 'GROUP_2'}}</ion-label>\n </th>\n </ng-container>\n\n <ng-container matColumnDef=\"top-end\" >\n <th mat-header-cell *matHeaderCellDef>\n <!-- end spacer -->\n </th>\n </ng-container>\n\n <ng-container matColumnDef=\"select\" [sticky]=\"useSticky\" [class.mat-column-sticky]=\"useSticky\">\n <th mat-header-cell *matHeaderCellDef [class.cdk-visually-hidden]=\"!canEdit\">\n <mat-checkbox (change)=\"$event ? masterToggle() : null\" [checked]=\"selection.hasValue() && isAllSelected()\"\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\">\n </mat-checkbox>\n </th>\n <td mat-cell *matCellDef=\"let row\" [class.cdk-visually-hidden]=\"!canEdit\">\n <mat-checkbox (click)=\"$event.stopPropagation()\" (change)=\"$event ? selection.toggle(row) : null\" [checked]=\"selection.isSelected(row)\">\n </mat-checkbox>\n </td>\n </ng-container>\n\n <!-- Id column -->\n <ng-container matColumnDef=\"id\" [sticky]=\"useSticky\" [class.mat-column-sticky]=\"useSticky\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>\n <ion-label>#</ion-label>\n </th>\n <td mat-cell *matCellDef=\"let row\">{{ row.currentData?.id }}</td>\n </ng-container>\n\n <!-- Label column -->\n <ng-container matColumnDef=\"label\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>\n <ion-label translate>TABLE.TESTING.LABEL</ion-label>\n </th>\n <td mat-cell *matCellDef=\"let row\" (click)=\"focusColumn='label'\">\n <mat-form-field floatLabel=\"never\">\n <input matInput\n [formControl]=\"row.validator.controls['label']\"\n [placeholder]=\"'TABLE.TESTING.LABEL'|translate\"\n [appAutofocus]=\"row.editing && focusColumn === 'label'\"\n [readonly]=\"!row.editing\">\n <mat-error *ngIf=\"row.validator.controls['label'].hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n </mat-form-field>\n </td>\n </ng-container>\n\n <!-- Name column -->\n <ng-container matColumnDef=\"name\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>\n <ion-label translate>TABLE.TESTING.NAME</ion-label>\n </th>\n <td mat-cell *matCellDef=\"let row\" [class.mat-form-field-disabled]=\"!row.editing\"\n (click)=\"focusColumn='name'\">\n <mat-form-field floatLabel=\"never\">\n <input matInput\n [formControl]=\"row.validator?.controls.name\" [placeholder]=\"'TABLE.TESTING.NAME'|translate\"\n [appAutofocus]=\"row.editing && focusColumn === 'name'\"\n [readonly]=\"!row.editing\">\n <mat-error *ngIf=\"row.validator?.controls.name.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n </mat-form-field>\n </td>\n </ng-container>\n\n <!-- Level column -->\n <ng-container matColumnDef=\"levelId\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>\n <ion-label translate>TABLE.TESTING.LEVEL_ID</ion-label>\n </th>\n <td mat-cell *matCellDef=\"let row\" [class.mat-form-field-disabled]=\"!row.editing\">\n <mat-autocomplete-field floatLabel=\"never\"\n [formControl]=\"row.validator.controls.levelId\"\n [config]=\"autocompleteFields.level\"\n [readonly]=\"!row.editing\"\n [required]=\"true\">\n </mat-autocomplete-field>\n </td>\n </ng-container>\n\n <!-- Status column -->\n <ng-container matColumnDef=\"statusId\">\n <th mat-header-cell *matHeaderCellDef>\n <span translate>USER.STATUS</span>\n </th>\n <td mat-cell *matCellDef=\"let row\" [class.mat-form-field-disabled]=\"!row.editing\">\n <mat-form-field floatLabel=\"never\">\n <ion-icon matPrefix *ngIf=\"row.validator.controls['statusId'].value &gt;=0\" [name]=\"statusById[row.validator.controls['statusId'].value]?.icon\"></ion-icon>\n\n <mat-select [formControl]=\"row.validator.controls['statusId']\" [placeholder]=\"i18nColumnPrefix + 'STATUS_ID'|translate\">\n <mat-select-trigger>\n <span *ngIf=\"row.validator.controls['statusId'].value &gt;=0\">\n {{ statusById[row.validator.controls['statusId'].value]?.label | translate}}</span>\n </mat-select-trigger>\n <mat-option *ngFor=\"let item of statusList\" [value]=\"item.id\">\n <ion-icon [name]=\"item.icon\"></ion-icon>\n {{ item.label |translate }}\n </mat-option>\n </mat-select>\n <mat-error *ngIf=\"row.validator.controls['statusId'].hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n </mat-form-field>\n </td>\n </ng-container>\n\n\n <!-- Creation date column -->\n <ng-container matColumnDef=\"updateDate\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>\n <ion-label translate>TABLE.TESTING.UPDATE_DATE</ion-label>\n </th>\n <td mat-cell *matCellDef=\"let row\" class=\"mat-form-field-disabled\">\n <ion-text class=\"ion-text-end\" color=\"medium\" *ngIf=\"row.id!==-1\">\n <small [matTooltip]=\"'TABLE.TESTING.CREATION_DATE'|translate\" *ngIf=\"row.currentData.creationDate; let creationDate\">\n <ion-icon name=\"calendar\"></ion-icon>\n {{ creationDate | dateFormat: {time: true} }}\n </small><br/>\n <small [matTooltip]=\"'TABLE.TESTING.UPDATE_DATE'|translate\" *ngIf=\"row.currentData.updateDate; let updateDate\">\n <ion-icon name=\"time-outline\"></ion-icon>\n {{ updateDate | dateFormat: {time: true} }}\n </small>\n </ion-text>\n </td>\n </ng-container>\n\n <!-- Comment column -->\n <ng-container matColumnDef=\"comments\">\n <th mat-header-cell *matHeaderCellDef>\n <ion-label translate>TABLE.TESTING.COMMENTS</ion-label>\n </th>\n <td mat-cell *matCellDef=\"let row\">\n <mat-form-field floatLabel=\"never\" *ngIf=\"row.editing; else iconComment\">\n <!--<textarea matInput [formControl]=\"row.validator?.controls.comments\"\n [placeholder]=\"'TABLE.TESTING.COMMENTS'|translate\"\n [readonly]=\"!row.editing\"></textarea>-->\n\n <input type=\"text\" matInput [formControl]=\"row.validator?.controls.comments\"\n [placeholder]=\"'TABLE.TESTING.COMMENTS'|translate\"\n [readonly]=\"!row.editing\">\n </mat-form-field>\n\n <ng-template #iconComment>\n <mat-icon class=\"comment\"\n *ngIf=\"row.validator?.controls.comments.value\"\n [title]=\"row.validator?.controls.comments.value\"></mat-icon>\n </ng-template>\n </td>\n </ng-container>\n\n <!-- Actions buttons column -->\n <app-actions-column [stickyEnd]=\"true\" [canCancel]=\"false\"\n (optionsClick)=\"openSelectColumnsModal($event)\"\n (cancelOrDeleteClick)=\"cancelOrDelete($event.event, $event.row)\"\n (confirmAndAddClick)=\"confirmAndAdd($event.event, $event.row)\"\n (backward)=\"confirmAndBackward($event.event, $event.row)\"\n (forward)=\"confirmAndForward($event.event, $event.row)\"\n [cellTemplate]=\"cellInjection\">\n\n <!-- cell injection-->\n <ng-template #cellInjection let-row>\n <span *ngIf=\"row.editing && !row.validator.dirty\">-</span>\n </ng-template>\n\n </app-actions-column>\n\n <tr mat-header-row *matHeaderRowDef=\"groupColumns;\" class=\"mat-toolbar\"></tr>\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns; sticky: true\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"\n [class.mat-row-selected]=\"row.editing\"\n [class.mat-row-error]=\"row.validator?.invalid\"\n [class.mat-row-disabled]=\"!row.editing\"\n [class.mat-row-dirty]=\"row.validator?.dirty\"\n (click)=\"clickRow($event, row)\"\n (keydown.escape)=\"escapeEditingRow($event)\"\n [cdkTrapFocus]=\"row.validator?.invalid\"></tr>\n </table>\n\n <ng-container *ngIf=\"loadingSubject|async; else noResult\">\n <ion-item>\n <ion-skeleton-text animated></ion-skeleton-text>\n </ion-item>\n </ng-container>\n\n <ng-template #noResult>\n <ion-item *ngIf=\"totalRowCount === 0\">\n <ion-text color=\"danger\" class=\"text-italic\" translate>COMMON.NO_RESULT</ion-text>\n </ion-item>\n </ng-template>\n\n <ion-infinite-scroll *ngIf=\"enableInfiniteScroll\"\n [threshold]=\"mobile ? '10%' : '2%'\" position=\"bottom\"\n (ionInfinite)=\"fetchMore($event)\">\n <ion-infinite-scroll-content\n loadingSpinner=\"circles\"\n [loadingText]=\"'COMMON.LOADING_DOTS'|translate\">\n </ion-infinite-scroll-content>\n </ion-infinite-scroll>\n </div>\n</ion-content>\n\n<ion-footer>\n <!-- Paginator -->\n <mat-paginator *ngIf=\"!enableInfiniteScroll\"\n [length]=\"totalRowCount\" [pageSize]=\"defaultPageSize\" [pageSizeOptions]=\"defaultPageSizeOptions\"\n class=\"mat-paginator-footer\"\n showFirstLastButtons>\n </mat-paginator>\n\n <app-form-buttons-bar *ngIf=\"canEdit && !mobile\"\n (onCancel)=\"load()\"\n (onSave)=\"save()\"\n [disabled]=\"(loadingSubject|async) || !dirty\">\n <!-- error -->\n <ion-item *ngIf=\"error$|async\" lines=\"none\">\n <ion-icon color=\"danger\" slot=\"start\" name=\"alert-circle\"></ion-icon>\n <ion-label color=\"danger\" [innerHTML]=\"error|translate\"></ion-label>\n </ion-item>\n </app-form-buttons-bar>\n</ion-footer>\n\n<ion-fab slot=\"fixed\" vertical=\"bottom\" horizontal=\"end\"\n *ngIf=\"canEdit && mobile\">\n <ion-fab-button color=\"tertiary\" (click)=\"addRow($event)\">\n <ion-icon name=\"add\"></ion-icon>\n </ion-fab-button>\n</ion-fab>\n", styles: [".table-container .mat-table .mat-column-select{min-width:30px}.table-container .mat-table .mat-column-id{min-width:30px;max-width:30px}.table-container .mat-table .mat-column-label,.table-container .mat-table .mat-column-name,.table-container .mat-table .mat-column-levelId,.table-container .mat-table .mat-column-statusId{min-width:150px}.table-container .mat-table .mat-column-comments{min-width:100px;max-width:100px}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i4.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: i4.IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { kind: "component", type: i4.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i4.IonFab, selector: "ion-fab", inputs: ["activated", "edge", "horizontal", "vertical"] }, { kind: "component", type: i4.IonFabButton, selector: "ion-fab-button", inputs: ["activated", "closeIcon", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "show", "size", "target", "translucent", "type"] }, { kind: "component", type: i4.IonFooter, selector: "ion-footer", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i4.IonGrid, selector: "ion-grid", inputs: ["fixed"] }, { kind: "component", type: i4.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i4.IonInfiniteScroll, selector: "ion-infinite-scroll", inputs: ["disabled", "position", "threshold"] }, { kind: "component", type: i4.IonInfiniteScrollContent, selector: "ion-infinite-scroll-content", inputs: ["loadingSpinner", "loadingText"] }, { kind: "component", type: i4.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { kind: "component", type: i4.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i4.IonRefresher, selector: "ion-refresher", inputs: ["closeDuration", "disabled", "pullFactor", "pullMax", "pullMin", "snapbackDuration"] }, { kind: "component", type: i4.IonRefresherContent, selector: "ion-refresher-content", inputs: ["pullingIcon", "pullingText", "refreshingSpinner", "refreshingText"] }, { kind: "component", type: i4.IonRow, selector: "ion-row" }, { kind: "component", type: i4.IonSkeletonText, selector: "ion-skeleton-text", inputs: ["animated"] }, { kind: "component", type: i4.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "directive", type: i5.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i6.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i6.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i6.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i6.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i6.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i6.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i6.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i6.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i6.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i6.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i7.MatSort, selector: "[matSort]", inputs: ["matSortDisabled", "matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i7.MatSortHeader, selector: "[mat-sort-header]", inputs: ["disabled", "mat-sort-header", "arrowPosition", "start", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i8.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }, { kind: "directive", type: i9.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i9.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i9.MatPrefix, selector: "[matPrefix]" }, { kind: "directive", type: i9.MatSuffix, selector: "[matSuffix]" }, { kind: "directive", type: i10.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i11.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i12.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["disabled", "expanded", "hideToggle", "togglePosition"], outputs: ["opened", "closed", "expandedChange", "afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "directive", type: i12.MatExpansionPanelActionRow, selector: "mat-action-row" }, { kind: "component", type: i13.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i14.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i15.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "directive", type: i15.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i16.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i17.MatBadge, selector: "[matBadge]", inputs: ["matBadgeDisabled", "matBadgeColor", "matBadgeOverlap", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "directive", type: i18.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "directive", type: i19.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i20.MatAutocompleteField, selector: "mat-autocomplete-field", inputs: ["equals", "logPrefix", "formControl", "formControlName", "floatLabel", "appearance", "placeholder", "suggestFn", "required", "mobile", "clearable", "debounceTime", "displayWith", "displayAttributes", "displayColumnSizes", "displayColumnNames", "highlightAccent", "showAllOnFocus", "showPanelOnFocus", "autofocus", "config", "i18nPrefix", "noResultMessage", "class", "panelWidth", "matAutocompletePosition", "multiple", "itemSize", "fetchMoreThreshold", "suggestLengthThreshold", "showLoadingSpinner", "debug", "showSearchBar", "stickySearchBar", "filter", "readonly", "tabindex", "items"], outputs: ["click", "blur", "focus", "dropButtonClick", "keydown.escape", "keyup.enter"] }, { kind: "directive", type: i21.AutofocusDirective, selector: "[autofocus], input[appAutofocus]", inputs: ["appAutofocus", "autofocusDelay"] }, { kind: "component", type: i22.ToolbarComponent, selector: "app-toolbar", inputs: ["title", "color", "class", "backHref", "defaultBackHref", "hasValidate", "hasClose", "hasSearch", "canGoBack", "canShowMenu"], outputs: ["onValidate", "onClose", "onValidateAndClose", "onBackClick", "onSearch"] }, { kind: "component", type: i23.ActionsColumnComponent, selector: "app-actions-column", inputs: ["stickyEnd", "canCancel", "canDelete", "canBackward", "canForward", "canConfirmAndAdd", "dirtyIcon", "optionsTitle", "class", "cellTemplate"], outputs: ["optionsClick", "cancelOrDeleteClick", "confirmAndAddClick", "backward", "forward"] }, { kind: "component", type: i24.FormButtonsBarComponent, selector: "app-form-buttons-bar", inputs: ["disabled", "disabledCancel", "classList"], outputs: ["onCancel", "onSave", "onNext", "onBack"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "pipe", type: i25.DateFormatPipe, name: "dateFormat" }, { kind: "pipe", type: i26.NumberFormatPipe, name: "numberFormat" }, { kind: "pipe", type: i27.ArrayLengthPipe, name: "isArrayLength" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
242
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: TableTestPage, decorators: [{
241
+ ], viewQueries: [{ propertyName: "filterExpansionPanel", first: true, predicate: MatExpansionPanel, descendants: true, static: true }, { propertyName: "infiniteScroll", first: true, predicate: IonInfiniteScroll, descendants: true }], usesInheritance: true, ngImport: i0, template: "<app-toolbar color=\"primary\" [canGoBack]=\"true\"\n [hasValidate]=\"!(loadingSubject|async) && dirty\"\n (onValidate)=\"save()\"\n [backHref]=\"'/testing'\">\n <ion-buttons slot=\"end\">\n\n\n <ng-container *ngIf=\"!selection.hasValue(); else hasSelection\">\n <!-- Add -->\n <button mat-icon-button\n *ngIf=\"canEdit && !mobile\"\n [title]=\"'COMMON.BTN_ADD'|translate\"\n (click)=\"addRow()\">\n <mat-icon>add</mat-icon>\n </button>\n\n <!-- reset filter -->\n <button mat-icon-button (click)=\"resetFilter()\"\n *ngIf=\"filterCriteriaCount\">\n <mat-icon color=\"accent\">filter_list_alt</mat-icon>\n <mat-icon class=\"icon-secondary\" style=\"left: 16px; top: 5px; font-weight: bold;\">close</mat-icon>\n </button>\n\n <!-- show filter -->\n <button mat-icon-button (click)=\"filterExpansionPanel.toggle()\">\n <mat-icon *ngIf=\"filterCriteriaCount; else emptyFilter\"\n [matBadge]=\"filterCriteriaCount\"\n matBadgeColor=\"accent\"\n matBadgeSize=\"small\"\n matBadgePosition=\"above after\">filter_list_alt\n </mat-icon>\n <ng-template #emptyFilter>\n <mat-icon>filter_list_alt</mat-icon>\n </ng-template>\n </button>\n\n <!-- show filter -->\n <button mat-icon-button *ngIf=\"mobile\"\n [disabled]=\"!(dirtySubject|async)\"\n (click)=\"save()\">\n <mat-icon>save</mat-icon>\n </button>\n\n <!-- start/stop timer to auto-load data -->\n <ion-button *ngIf=\"!timer\" (click)=\"startTimer()\">Start reload</ion-button>\n <ion-button *ngIf=\"timer\" (click)=\"stopTimer()\" color=\"accent\">Stop reload</ion-button>\n </ng-container>\n\n <!-- if row selection -->\n <ng-template #hasSelection>\n\n <!-- delete -->\n <button mat-icon-button\n *ngIf=\"canEdit\" [title]=\"'COMMON.BTN_DELETE'|translate\"\n (click)=\"deleteSelection($event)\">\n <mat-icon>delete</mat-icon>\n </button>\n\n <!-- duplicate -->\n <button mat-icon-button\n *ngIf=\"canEdit && selection.selected | isArrayLength: {equals: 1}\"\n [title]=\"'COMMON.BTN_DUPLICATE'|translate\"\n (click)=\"duplicateRow($event, selection.selected[0])\">\n <mat-icon>file_copy</mat-icon>\n </button>\n </ng-template>\n </ion-buttons>\n</app-toolbar>\n<ion-content class=\"ion-no-padding\">\n\n <ion-refresher slot=\"fixed\" *ngIf=\"mobile\" (ionRefresh)=\"doRefresh($event)\">\n <ion-refresher-content></ion-refresher-content>\n </ion-refresher>\n\n <!-- error -->\n <ion-item *ngIf=\"mobile && error\" lines=\"none\" @slideUpDownAnimation>\n <ion-icon color=\"danger\" slot=\"start\" name=\"alert-circle\"></ion-icon>\n <ion-label color=\"danger\" class=\"error\" [innerHTML]=\"error|translate\"></ion-label>\n </ion-item>\n\n <!-- search -->\n <mat-expansion-panel #filterExpansionPanel class=\"filter-panel filter-panel-floating\">\n <form class=\"form-container ion-padding-top\" [formGroup]=\"filterForm\" (ngSubmit)=\"applyFilterAndClosePanel($event)\">\n\n <ion-grid>\n <ion-row>\n <ion-col>\n <!-- search text -->\n <mat-form-field>\n <ion-icon matPrefix name=\"search\"></ion-icon>\n <input matInput\n formControlName=\"searchText\"\n autocomplete=\"off\"\n [placeholder]=\"'TABLE.TESTING.SEARCH_TEXT'|translate\">\n <button mat-icon-button matSuffix tabindex=\"-1\"\n type=\"button\"\n (click)=\"clearControlValue($event, filterForm.controls.searchText)\"\n [hidden]=\"filterForm.controls.searchText.disabled || !filterForm.controls.searchText.value\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n </ion-col>\n </ion-row>\n </ion-grid>\n </form>\n\n <mat-action-row>\n <!-- Counter -->\n <ion-label [hidden]=\"(loadingSubject|async) || filterForm.dirty\"\n [color]=\"empty && 'danger'\"\n class=\"ion-padding\">\n {{ (totalRowCount ? 'COMMON.RESULT_COUNT' : 'COMMON.NO_RESULT') | translate: {\n count: (totalRowCount |\n numberFormat)\n } }}\n </ion-label>\n\n <div class=\"toolbar-spacer\"></div>\n\n <!-- Close panel -->\n <ion-button mat-button fill=\"clear\" color=\"dark\"\n (click)=\"filterExpansionPanel.close()\"\n [disabled]=\"loadingSubject|async\">\n <ion-text translate>COMMON.BTN_CLOSE</ion-text>\n </ion-button>\n\n <!-- Search button -->\n <ion-button mat-button\n [color]=\"filterForm.dirty ? 'tertiary' : 'dark'\"\n [fill]=\"filterForm.dirty ? 'solid' : 'clear'\"\n (click)=\"applyFilterAndClosePanel($event)\">\n <ion-text translate>COMMON.BTN_APPLY</ion-text>\n </ion-button>\n </mat-action-row>\n </mat-expansion-panel>\n\n <!-- table -->\n <div [class.table-container]=\"!enableInfiniteScroll\">\n <table #table mat-table matSort matSortDisableClear\n [dataSource]=\"dataSource\"\n [matSortActive]=\"defaultSortBy\"\n [matSortDirection]=\"defaultSortDirection\"\n [trackBy]=\"trackByFn\">\n\n <!-- group header cells -->\n\n <ng-container matColumnDef=\"top-start\" [sticky]=\"useSticky\">\n <th mat-header-cell *matHeaderCellDef [class.cdk-visually-hidden]=\"!canEdit\" [attr.colspan]=\"2\">\n <!-- start spacer -->\n </th>\n </ng-container>\n\n <ng-container matColumnDef=\"group-1\">\n <th mat-header-cell *matHeaderCellDef [attr.colspan]=\"3\" style=\"background-color: whitesmoke; margin-bottom: -1px;\">\n <ion-label translate>{{i18nColumnPrefix + 'GROUP_1'}}</ion-label>\n </th>\n </ng-container>\n\n <ng-container matColumnDef=\"group-2\">\n <th mat-header-cell *matHeaderCellDef [attr.colspan]=\"3\">\n <ion-label translate>{{i18nColumnPrefix + 'GROUP_2'}}</ion-label>\n </th>\n </ng-container>\n\n <ng-container matColumnDef=\"top-end\" >\n <th mat-header-cell *matHeaderCellDef>\n <!-- end spacer -->\n </th>\n </ng-container>\n\n <ng-container matColumnDef=\"select\" [sticky]=\"useSticky\" [class.mat-column-sticky]=\"useSticky\">\n <th mat-header-cell *matHeaderCellDef [class.cdk-visually-hidden]=\"!canEdit\">\n <mat-checkbox (change)=\"$event ? masterToggle() : null\" [checked]=\"selection.hasValue() && isAllSelected()\"\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\">\n </mat-checkbox>\n </th>\n <td mat-cell *matCellDef=\"let row\" [class.cdk-visually-hidden]=\"!canEdit\">\n <mat-checkbox (click)=\"$event.stopPropagation()\" (change)=\"$event ? selection.toggle(row) : null\" [checked]=\"selection.isSelected(row)\">\n </mat-checkbox>\n </td>\n </ng-container>\n\n <!-- Id column -->\n <ng-container matColumnDef=\"id\" [sticky]=\"useSticky\" [class.mat-column-sticky]=\"useSticky\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>\n <ion-label>#</ion-label>\n </th>\n <td mat-cell *matCellDef=\"let row\">{{ row.currentData?.id }}</td>\n </ng-container>\n\n <!-- Label column -->\n <ng-container matColumnDef=\"label\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>\n <ion-label translate>TABLE.TESTING.LABEL</ion-label>\n </th>\n <td mat-cell *matCellDef=\"let row\" (click)=\"focusColumn='label'\">\n <mat-form-field floatLabel=\"never\">\n <input matInput\n [formControl]=\"row.validator.controls['label']\"\n [placeholder]=\"'TABLE.TESTING.LABEL'|translate\"\n [appAutofocus]=\"row.editing && focusColumn === 'label'\"\n [readonly]=\"!row.editing\">\n <mat-error *ngIf=\"row.validator.controls['label'].hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n </mat-form-field>\n </td>\n </ng-container>\n\n <!-- Name column -->\n <ng-container matColumnDef=\"name\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>\n <ion-label translate>TABLE.TESTING.NAME</ion-label>\n </th>\n <td mat-cell *matCellDef=\"let row\" [class.mat-form-field-disabled]=\"!row.editing\"\n (click)=\"focusColumn='name'\">\n <mat-form-field floatLabel=\"never\">\n <input matInput\n [formControl]=\"row.validator?.controls.name\" [placeholder]=\"'TABLE.TESTING.NAME'|translate\"\n [appAutofocus]=\"row.editing && focusColumn === 'name'\"\n [readonly]=\"!row.editing\">\n <mat-error *ngIf=\"row.validator?.controls.name.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n </mat-form-field>\n </td>\n </ng-container>\n\n <!-- Level column -->\n <ng-container matColumnDef=\"levelId\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>\n <ion-label translate>TABLE.TESTING.LEVEL_ID</ion-label>\n </th>\n <td mat-cell *matCellDef=\"let row\" [class.mat-form-field-disabled]=\"!row.editing\">\n <mat-autocomplete-field floatLabel=\"never\"\n [formControl]=\"row.validator.controls.levelId\"\n [config]=\"autocompleteFields.level\"\n [readonly]=\"!row.editing\"\n [required]=\"true\">\n </mat-autocomplete-field>\n </td>\n </ng-container>\n\n <!-- Status column -->\n <ng-container matColumnDef=\"statusId\">\n <th mat-header-cell *matHeaderCellDef>\n <span translate>USER.STATUS</span>\n </th>\n <td mat-cell *matCellDef=\"let row\" [class.mat-form-field-disabled]=\"!row.editing\">\n <mat-form-field floatLabel=\"never\">\n <ion-icon matPrefix *ngIf=\"row.validator.controls['statusId'].value &gt;=0\" [name]=\"statusById[row.validator.controls['statusId'].value]?.icon\"></ion-icon>\n\n <mat-select [formControl]=\"row.validator.controls['statusId']\" [placeholder]=\"i18nColumnPrefix + 'STATUS_ID'|translate\">\n <mat-select-trigger>\n <span *ngIf=\"row.validator.controls['statusId'].value &gt;=0\">\n {{ statusById[row.validator.controls['statusId'].value]?.label | translate}}</span>\n </mat-select-trigger>\n <mat-option *ngFor=\"let item of statusList\" [value]=\"item.id\">\n <ion-icon [name]=\"item.icon\"></ion-icon>\n {{ item.label |translate }}\n </mat-option>\n </mat-select>\n <mat-error *ngIf=\"row.validator.controls['statusId'].hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n </mat-form-field>\n </td>\n </ng-container>\n\n\n <!-- Creation date column -->\n <ng-container matColumnDef=\"updateDate\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>\n <ion-label translate>TABLE.TESTING.UPDATE_DATE</ion-label>\n </th>\n <td mat-cell *matCellDef=\"let row\" class=\"mat-form-field-disabled\">\n <ion-text class=\"ion-text-end\" color=\"medium\" *ngIf=\"row.id!==-1\">\n <small [matTooltip]=\"'TABLE.TESTING.CREATION_DATE'|translate\" *ngIf=\"row.currentData.creationDate; let creationDate\">\n <ion-icon name=\"calendar\"></ion-icon>\n {{ creationDate | dateFormat: {time: true} }}\n </small><br/>\n <small [matTooltip]=\"'TABLE.TESTING.UPDATE_DATE'|translate\" *ngIf=\"row.currentData.updateDate; let updateDate\">\n <ion-icon name=\"time-outline\"></ion-icon>\n {{ updateDate | dateFormat: {time: true} }}\n </small>\n </ion-text>\n </td>\n </ng-container>\n\n <!-- Comment column -->\n <ng-container matColumnDef=\"comments\">\n <th mat-header-cell *matHeaderCellDef>\n <ion-label translate>TABLE.TESTING.COMMENTS</ion-label>\n </th>\n <td mat-cell *matCellDef=\"let row\">\n <mat-form-field floatLabel=\"never\" *ngIf=\"row.editing; else iconComment\">\n <!--<textarea matInput [formControl]=\"row.validator?.controls.comments\"\n [placeholder]=\"'TABLE.TESTING.COMMENTS'|translate\"\n [readonly]=\"!row.editing\"></textarea>-->\n\n <input type=\"text\" matInput [formControl]=\"row.validator?.controls.comments\"\n [placeholder]=\"'TABLE.TESTING.COMMENTS'|translate\"\n [readonly]=\"!row.editing\">\n </mat-form-field>\n\n <ng-template #iconComment>\n <mat-icon class=\"comment\"\n *ngIf=\"row.validator?.controls.comments.value\"\n [title]=\"row.validator?.controls.comments.value\"></mat-icon>\n </ng-template>\n </td>\n </ng-container>\n\n <!-- Actions buttons column -->\n <app-actions-column [stickyEnd]=\"true\" [canCancel]=\"false\"\n (optionsClick)=\"openSelectColumnsModal($event)\"\n (cancelOrDeleteClick)=\"cancelOrDelete($event.event, $event.row)\"\n (confirmAndAddClick)=\"confirmAndAdd($event.event, $event.row)\"\n (backward)=\"confirmAndBackward($event.event, $event.row)\"\n (forward)=\"confirmAndForward($event.event, $event.row)\"\n [cellTemplate]=\"cellInjection\">\n\n <!-- cell injection-->\n <ng-template #cellInjection let-row>\n <span *ngIf=\"row.editing && !row.validator.dirty\">-</span>\n </ng-template>\n\n </app-actions-column>\n\n <tr mat-header-row *matHeaderRowDef=\"groupColumns;\" class=\"mat-toolbar\"></tr>\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns; sticky: true\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"\n [class.mat-row-selected]=\"row.editing\"\n [class.mat-row-error]=\"row.validator?.invalid\"\n [class.mat-row-disabled]=\"!row.editing\"\n [class.mat-row-dirty]=\"row.validator?.dirty\"\n (click)=\"clickRow($event, row)\"\n (keydown.escape)=\"escapeEditingRow($event)\"\n [cdkTrapFocus]=\"row.validator?.invalid\"></tr>\n </table>\n\n <ng-container *ngIf=\"loadingSubject|async; else noResult\">\n <ion-item>\n <ion-skeleton-text animated></ion-skeleton-text>\n </ion-item>\n </ng-container>\n\n <ng-template #noResult>\n <ion-item *ngIf=\"totalRowCount === 0\">\n <ion-text color=\"danger\" class=\"text-italic\" translate>COMMON.NO_RESULT</ion-text>\n </ion-item>\n </ng-template>\n\n <ion-infinite-scroll *ngIf=\"enableInfiniteScroll\"\n [threshold]=\"mobile ? '10%' : '2%'\" position=\"bottom\"\n (ionInfinite)=\"fetchMore($event)\">\n <ion-infinite-scroll-content\n loadingSpinner=\"circles\"\n [loadingText]=\"'COMMON.LOADING_DOTS'|translate\">\n </ion-infinite-scroll-content>\n </ion-infinite-scroll>\n </div>\n</ion-content>\n\n<ion-footer>\n <!-- Paginator -->\n <mat-paginator *ngIf=\"!enableInfiniteScroll\"\n [length]=\"totalRowCount\" [pageSize]=\"defaultPageSize\" [pageSizeOptions]=\"defaultPageSizeOptions\"\n class=\"mat-paginator-footer\"\n showFirstLastButtons>\n </mat-paginator>\n\n <app-form-buttons-bar *ngIf=\"canEdit && !mobile\"\n (onCancel)=\"load()\"\n (onSave)=\"save()\"\n [disabled]=\"(loadingSubject|async) || !dirty\">\n <!-- error -->\n <ion-item *ngIf=\"error$|async\" lines=\"none\">\n <ion-icon color=\"danger\" slot=\"start\" name=\"alert-circle\"></ion-icon>\n <ion-label color=\"danger\" [innerHTML]=\"error|translate\"></ion-label>\n </ion-item>\n </app-form-buttons-bar>\n</ion-footer>\n\n<ion-fab slot=\"fixed\" vertical=\"bottom\" horizontal=\"end\"\n *ngIf=\"canEdit && mobile\">\n <ion-fab-button color=\"tertiary\" (click)=\"addRow($event)\">\n <ion-icon name=\"add\"></ion-icon>\n </ion-fab-button>\n</ion-fab>\n", styles: [".table-container .mat-table .mat-column-select{min-width:30px}.table-container .mat-table .mat-column-id{min-width:30px;max-width:30px}.table-container .mat-table .mat-column-label,.table-container .mat-table .mat-column-name,.table-container .mat-table .mat-column-levelId,.table-container .mat-table .mat-column-statusId{min-width:150px}.table-container .mat-table .mat-column-comments{min-width:100px;max-width:100px}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i4.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: i4.IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { kind: "component", type: i4.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i4.IonFab, selector: "ion-fab", inputs: ["activated", "edge", "horizontal", "vertical"] }, { kind: "component", type: i4.IonFabButton, selector: "ion-fab-button", inputs: ["activated", "closeIcon", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "show", "size", "target", "translucent", "type"] }, { kind: "component", type: i4.IonFooter, selector: "ion-footer", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i4.IonGrid, selector: "ion-grid", inputs: ["fixed"] }, { kind: "component", type: i4.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i4.IonInfiniteScroll, selector: "ion-infinite-scroll", inputs: ["disabled", "position", "threshold"] }, { kind: "component", type: i4.IonInfiniteScrollContent, selector: "ion-infinite-scroll-content", inputs: ["loadingSpinner", "loadingText"] }, { kind: "component", type: i4.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { kind: "component", type: i4.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i4.IonRefresher, selector: "ion-refresher", inputs: ["closeDuration", "disabled", "pullFactor", "pullMax", "pullMin", "snapbackDuration"] }, { kind: "component", type: i4.IonRefresherContent, selector: "ion-refresher-content", inputs: ["pullingIcon", "pullingText", "refreshingSpinner", "refreshingText"] }, { kind: "component", type: i4.IonRow, selector: "ion-row" }, { kind: "component", type: i4.IonSkeletonText, selector: "ion-skeleton-text", inputs: ["animated"] }, { kind: "component", type: i4.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "directive", type: i5.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i6.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i6.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i6.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i6.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i6.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i6.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i6.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i6.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i6.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i6.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i7.MatSort, selector: "[matSort]", inputs: ["matSortDisabled", "matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i7.MatSortHeader, selector: "[mat-sort-header]", inputs: ["disabled", "mat-sort-header", "arrowPosition", "start", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i8.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }, { kind: "directive", type: i9.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i9.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i9.MatPrefix, selector: "[matPrefix]" }, { kind: "directive", type: i9.MatSuffix, selector: "[matSuffix]" }, { kind: "directive", type: i10.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i11.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i12.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["disabled", "expanded", "hideToggle", "togglePosition"], outputs: ["opened", "closed", "expandedChange", "afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "directive", type: i12.MatExpansionPanelActionRow, selector: "mat-action-row" }, { kind: "component", type: i13.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i14.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i15.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "directive", type: i15.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i16.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i17.MatBadge, selector: "[matBadge]", inputs: ["matBadgeDisabled", "matBadgeColor", "matBadgeOverlap", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "directive", type: i18.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "directive", type: i19.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i20.MatAutocompleteField, selector: "mat-autocomplete-field", inputs: ["equals", "logPrefix", "formControl", "formControlName", "floatLabel", "appearance", "placeholder", "suggestFn", "required", "mobile", "clearable", "debounceTime", "displayWith", "displayAttributes", "displayColumnSizes", "displayColumnNames", "highlightAccent", "showAllOnFocus", "showPanelOnFocus", "autofocus", "config", "i18nPrefix", "noResultMessage", "class", "panelWidth", "matAutocompletePosition", "multiple", "itemSize", "fetchMoreThreshold", "suggestLengthThreshold", "showLoadingSpinner", "debug", "showSearchBar", "stickySearchBar", "filter", "readonly", "tabindex", "items"], outputs: ["click", "blur", "focus", "dropButtonClick", "keydown.escape", "keyup.enter"] }, { kind: "directive", type: i21.AutofocusDirective, selector: "[autofocus], input[appAutofocus]", inputs: ["appAutofocus", "autofocusDelay"] }, { kind: "component", type: i22.ToolbarComponent, selector: "app-toolbar", inputs: ["title", "color", "class", "backHref", "defaultBackHref", "hasValidate", "hasClose", "hasSearch", "canGoBack", "canShowMenu"], outputs: ["onValidate", "onClose", "onValidateAndClose", "onBackClick", "onSearch"] }, { kind: "component", type: i23.FormButtonsBarComponent, selector: "app-form-buttons-bar", inputs: ["disabled", "disabledCancel", "classList"], outputs: ["onCancel", "onSave", "onNext", "onBack"] }, { kind: "component", type: i24.ActionsColumnComponent, selector: "app-actions-column", inputs: ["stickyEnd", "canCancel", "canDelete", "canBackward", "canForward", "canConfirmAndAdd", "dirtyIcon", "optionsTitle", "class", "cellTemplate"], outputs: ["optionsClick", "cancelOrDeleteClick", "confirmAndAddClick", "backward", "forward"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "pipe", type: i25.DateFormatPipe, name: "dateFormat" }, { kind: "pipe", type: i26.NumberFormatPipe, name: "numberFormat" }, { kind: "pipe", type: i27.ArrayLengthPipe, name: "isArrayLength" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
242
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: TableTestPage, decorators: [{
243
243
  type: Component,
244
244
  args: [{ selector: 'app-table-testing', providers: [
245
245
  {
@@ -8,16 +8,16 @@ import * as i0 from "@angular/core";
8
8
  import * as i1 from "@ngx-translate/core";
9
9
  export class TableTestingModule {
10
10
  }
11
- TableTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: TableTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
- TableTestingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.5", ngImport: i0, type: TableTestingModule, declarations: [TableTestPage], imports: [CommonModule,
11
+ TableTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: TableTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
+ TableTestingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.8", ngImport: i0, type: TableTestingModule, declarations: [TableTestPage], imports: [CommonModule,
13
13
  SharedModule,
14
14
  CoreModule, i1.TranslateModule], exports: [TableTestPage,
15
15
  TranslateModule] });
16
- TableTestingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: TableTestingModule, imports: [CommonModule,
16
+ TableTestingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: TableTestingModule, imports: [CommonModule,
17
17
  SharedModule,
18
18
  CoreModule,
19
19
  TranslateModule.forChild(), TranslateModule] });
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: TableTestingModule, decorators: [{
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: TableTestingModule, decorators: [{
21
21
  type: NgModule,
22
22
  args: [{
23
23
  imports: [
@@ -190,9 +190,9 @@ export class AudioProvider extends StartableService {
190
190
  console.debug(`[audio] Detected device audio mode {${value.label}} (${this._audioMode})`);
191
191
  }
192
192
  }
193
- AudioProvider.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: AudioProvider, deps: [{ token: i1.Platform }, { token: i2.AudioManagement, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
194
- AudioProvider.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: AudioProvider, providedIn: 'root' });
195
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: AudioProvider, decorators: [{
193
+ AudioProvider.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: AudioProvider, deps: [{ token: i1.Platform }, { token: i2.AudioManagement, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
194
+ AudioProvider.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: AudioProvider, providedIn: 'root' });
195
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: AudioProvider, decorators: [{
196
196
  type: Injectable,
197
197
  args: [{ providedIn: 'root' }]
198
198
  }], ctorParameters: function () { return [{ type: i1.Platform }, { type: i2.AudioManagement, decorators: [{
@@ -22,9 +22,9 @@ export class AudioTestingPage {
22
22
  return this.audio.vibrate(duration || [1000, 500, 1000, 500, 1000]);
23
23
  }
24
24
  }
25
- AudioTestingPage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: AudioTestingPage, deps: [{ token: i1.AudioProvider }], target: i0.ɵɵFactoryTarget.Component });
26
- AudioTestingPage.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: AudioTestingPage, selector: "audio-testing", ngImport: i0, template: "<ion-toolbar color=\"primary\">\n <ion-title>Toasts</ion-title>\n</ion-toolbar>\n\n<ion-content class=\"ion-padding\">\n\n <p>Toast examples:</p>\n\n <ion-button (click)=\"playStartupSound()\" color=\"dark\">\n <ion-icon name=\"play\" slot=\"start\"></ion-icon>\n Startup\n </ion-button>\n\n <ion-button (click)=\"playBeepConfirm()\" color=\"success\">\n <ion-icon name=\"play\" slot=\"start\"></ion-icon>\n Confirmation\n </ion-button>\n\n <ion-button (click)=\"playBeepNotification()\" color=\"tertiary\">\n <ion-icon name=\"play\" slot=\"start\"></ion-icon>\n Notification\n </ion-button>\n\n <ion-button (click)=\"playBeepError()\" color=\"accent\">\n <ion-icon name=\"play\" slot=\"start\"></ion-icon>\n Error\n </ion-button>\n\n <ion-button (click)=\"vibrate()\" color=\"accent\">\n Vibrate (many time)\n </ion-button>\n\n</ion-content>\n", dependencies: [{ kind: "component", type: i2.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i2.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i2.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i2.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: i2.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }] });
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: AudioTestingPage, decorators: [{
25
+ AudioTestingPage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: AudioTestingPage, deps: [{ token: i1.AudioProvider }], target: i0.ɵɵFactoryTarget.Component });
26
+ AudioTestingPage.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: AudioTestingPage, selector: "audio-testing", ngImport: i0, template: "<ion-toolbar color=\"primary\">\n <ion-title>Toasts</ion-title>\n</ion-toolbar>\n\n<ion-content class=\"ion-padding\">\n\n <p>Toast examples:</p>\n\n <ion-button (click)=\"playStartupSound()\" color=\"dark\">\n <ion-icon name=\"play\" slot=\"start\"></ion-icon>\n Startup\n </ion-button>\n\n <ion-button (click)=\"playBeepConfirm()\" color=\"success\">\n <ion-icon name=\"play\" slot=\"start\"></ion-icon>\n Confirmation\n </ion-button>\n\n <ion-button (click)=\"playBeepNotification()\" color=\"tertiary\">\n <ion-icon name=\"play\" slot=\"start\"></ion-icon>\n Notification\n </ion-button>\n\n <ion-button (click)=\"playBeepError()\" color=\"accent\">\n <ion-icon name=\"play\" slot=\"start\"></ion-icon>\n Error\n </ion-button>\n\n <ion-button (click)=\"vibrate()\" color=\"accent\">\n Vibrate (many time)\n </ion-button>\n\n</ion-content>\n", dependencies: [{ kind: "component", type: i2.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i2.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i2.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i2.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: i2.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }] });
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: AudioTestingPage, decorators: [{
28
28
  type: Component,
29
29
  args: [{ selector: 'audio-testing', template: "<ion-toolbar color=\"primary\">\n <ion-title>Toasts</ion-title>\n</ion-toolbar>\n\n<ion-content class=\"ion-padding\">\n\n <p>Toast examples:</p>\n\n <ion-button (click)=\"playStartupSound()\" color=\"dark\">\n <ion-icon name=\"play\" slot=\"start\"></ion-icon>\n Startup\n </ion-button>\n\n <ion-button (click)=\"playBeepConfirm()\" color=\"success\">\n <ion-icon name=\"play\" slot=\"start\"></ion-icon>\n Confirmation\n </ion-button>\n\n <ion-button (click)=\"playBeepNotification()\" color=\"tertiary\">\n <ion-icon name=\"play\" slot=\"start\"></ion-icon>\n Notification\n </ion-button>\n\n <ion-button (click)=\"playBeepError()\" color=\"accent\">\n <ion-icon name=\"play\" slot=\"start\"></ion-icon>\n Error\n </ion-button>\n\n <ion-button (click)=\"vibrate()\" color=\"accent\">\n Vibrate (many time)\n </ion-button>\n\n</ion-content>\n" }]
30
30
  }], ctorParameters: function () { return [{ type: i1.AudioProvider }]; } });
@@ -16,15 +16,15 @@ const routes = [
16
16
  ];
17
17
  export class AudioTestingModule {
18
18
  }
19
- AudioTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: AudioTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
20
- AudioTestingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.5", ngImport: i0, type: AudioTestingModule, declarations: [AudioTestingPage], imports: [CommonModule,
19
+ AudioTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: AudioTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
20
+ AudioTestingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.8", ngImport: i0, type: AudioTestingModule, declarations: [AudioTestingPage], imports: [CommonModule,
21
21
  IonicModule, i1.TranslateModule, i2.RouterModule], exports: [RouterModule,
22
22
  AudioTestingPage] });
23
- AudioTestingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: AudioTestingModule, imports: [CommonModule,
23
+ AudioTestingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: AudioTestingModule, imports: [CommonModule,
24
24
  IonicModule,
25
25
  TranslateModule.forChild(),
26
26
  RouterModule.forChild(routes), RouterModule] });
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: AudioTestingModule, decorators: [{
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: AudioTestingModule, decorators: [{
28
28
  type: NgModule,
29
29
  args: [{
30
30
  imports: [
@@ -31,9 +31,9 @@ export class KeyboardService {
31
31
  }
32
32
  }
33
33
  }
34
- KeyboardService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: KeyboardService, deps: [{ token: i1.Platform }], target: i0.ɵɵFactoryTarget.Injectable });
35
- KeyboardService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: KeyboardService, providedIn: 'root' });
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: KeyboardService, decorators: [{
34
+ KeyboardService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: KeyboardService, deps: [{ token: i1.Platform }], target: i0.ɵɵFactoryTarget.Injectable });
35
+ KeyboardService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: KeyboardService, providedIn: 'root' });
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: KeyboardService, decorators: [{
37
37
  type: Injectable,
38
38
  args: [{ providedIn: 'root' }]
39
39
  }], ctorParameters: function () { return [{ type: i1.Platform }]; } });
@@ -16,9 +16,9 @@ export class DebugComponent {
16
16
  this.expansionPanel.toggle();
17
17
  }
18
18
  }
19
- DebugComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: DebugComponent, deps: [{ token: ENVIRONMENT, optional: true }], target: i0.ɵɵFactoryTarget.Component });
20
- DebugComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: DebugComponent, selector: "app-debug", inputs: { title: "title", enable: "enable", expanded: "expanded" }, viewQueries: [{ propertyName: "expansionPanel", first: true, predicate: ["expansionPanel"], descendants: true }], ngImport: i0, template: "<!-- debug -->\n<ion-item tappable (click)=\"toggle()\" lines=\"none\" color=\"secondary50\">\n <ion-icon slot=\"start\" name=\"bug\" ></ion-icon>\n <ion-label color=\"primary\">Debug {{title}}</ion-label>\n <mat-icon slot=\"end\">{{expansionPanel.expanded ? 'expand_less' : 'expand_more' }}</mat-icon>\n</ion-item>\n<mat-expansion-panel #expansionPanel [(expanded)]=\"expanded\">\n <ion-text color=\"primary100\" >\n <div class=\"ion-margin-start\">\n <ng-content></ng-content>\n </div>\n </ion-text>\n</mat-expansion-panel>\n", styles: ["ion-item{cursor:pointer!important}ion-item mat-icon,ion-item ion-icon{color:var(--ion-color-primary)}.mat-expansion-panel{--expansion-panel-padding: 4px;margin-bottom:4px!important;background:var(--ion-color-secondary50)!important}.mat-expansion-panel .mat-expansion-panel-body *{color:var(--ion-color-primary100)}\n"], dependencies: [{ kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { kind: "component", type: i1.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i1.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "component", type: i2.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["disabled", "expanded", "hideToggle", "togglePosition"], outputs: ["opened", "closed", "expandedChange", "afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: DebugComponent, decorators: [{
19
+ DebugComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: DebugComponent, deps: [{ token: ENVIRONMENT, optional: true }], target: i0.ɵɵFactoryTarget.Component });
20
+ DebugComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: DebugComponent, selector: "app-debug", inputs: { title: "title", enable: "enable", expanded: "expanded" }, viewQueries: [{ propertyName: "expansionPanel", first: true, predicate: ["expansionPanel"], descendants: true }], ngImport: i0, template: "<!-- debug -->\n<ion-item tappable (click)=\"toggle()\" lines=\"none\" color=\"secondary50\">\n <ion-icon slot=\"start\" name=\"bug\" ></ion-icon>\n <ion-label color=\"primary\">Debug {{title}}</ion-label>\n <mat-icon slot=\"end\">{{expansionPanel.expanded ? 'expand_less' : 'expand_more' }}</mat-icon>\n</ion-item>\n<mat-expansion-panel #expansionPanel [(expanded)]=\"expanded\">\n <ion-text color=\"primary100\" >\n <div class=\"ion-margin-start\">\n <ng-content></ng-content>\n </div>\n </ion-text>\n</mat-expansion-panel>\n", styles: ["ion-item{cursor:pointer!important}ion-item mat-icon,ion-item ion-icon{color:var(--ion-color-primary)}.mat-expansion-panel{--expansion-panel-padding: 4px;margin-bottom:4px!important;background:var(--ion-color-secondary50)!important}.mat-expansion-panel .mat-expansion-panel-body *{color:var(--ion-color-primary100)}\n"], dependencies: [{ kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { kind: "component", type: i1.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i1.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "component", type: i2.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["disabled", "expanded", "hideToggle", "togglePosition"], outputs: ["opened", "closed", "expandedChange", "afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: DebugComponent, decorators: [{
22
22
  type: Component,
23
23
  args: [{ selector: 'app-debug', template: "<!-- debug -->\n<ion-item tappable (click)=\"toggle()\" lines=\"none\" color=\"secondary50\">\n <ion-icon slot=\"start\" name=\"bug\" ></ion-icon>\n <ion-label color=\"primary\">Debug {{title}}</ion-label>\n <mat-icon slot=\"end\">{{expansionPanel.expanded ? 'expand_less' : 'expand_more' }}</mat-icon>\n</ion-item>\n<mat-expansion-panel #expansionPanel [(expanded)]=\"expanded\">\n <ion-text color=\"primary100\" >\n <div class=\"ion-margin-start\">\n <ng-content></ng-content>\n </div>\n </ion-text>\n</mat-expansion-panel>\n", styles: ["ion-item{cursor:pointer!important}ion-item mat-icon,ion-item ion-icon{color:var(--ion-color-primary)}.mat-expansion-panel{--expansion-panel-padding: 4px;margin-bottom:4px!important;background:var(--ion-color-secondary50)!important}.mat-expansion-panel .mat-expansion-panel-body *{color:var(--ion-color-primary100)}\n"] }]
24
24
  }], ctorParameters: function () { return [{ type: i4.Environment, decorators: [{
@@ -9,19 +9,19 @@ import * as i0 from "@angular/core";
9
9
  import * as i1 from "@ngx-translate/core";
10
10
  export class SharedDebugModule {
11
11
  }
12
- SharedDebugModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: SharedDebugModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
- SharedDebugModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.5", ngImport: i0, type: SharedDebugModule, declarations: [DebugComponent], imports: [CommonModule,
12
+ SharedDebugModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: SharedDebugModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
+ SharedDebugModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.8", ngImport: i0, type: SharedDebugModule, declarations: [DebugComponent], imports: [CommonModule,
14
14
  IonicModule,
15
15
  MatExpansionModule,
16
16
  MatIconModule, i1.TranslateModule, MatExpansionModule], exports: [DebugComponent,
17
17
  TranslateModule] });
18
- SharedDebugModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: SharedDebugModule, imports: [CommonModule,
18
+ SharedDebugModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: SharedDebugModule, imports: [CommonModule,
19
19
  IonicModule,
20
20
  MatExpansionModule,
21
21
  MatIconModule,
22
22
  TranslateModule.forChild(),
23
23
  MatExpansionModule, TranslateModule] });
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: SharedDebugModule, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: SharedDebugModule, decorators: [{
25
25
  type: NgModule,
26
26
  args: [{
27
27
  imports: [
@@ -77,9 +77,9 @@ export class AutofocusDirective {
77
77
  this._timer = null;
78
78
  }
79
79
  }
80
- AutofocusDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: AutofocusDirective, deps: [{ token: i0.ElementRef }, { token: i1.KeyboardService }], target: i0.ɵɵFactoryTarget.Directive });
81
- AutofocusDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.5", type: AutofocusDirective, selector: "[autofocus], input[appAutofocus]", inputs: { shouldFocusElement: ["appAutofocus", "shouldFocusElement"], timerDelay: ["autofocusDelay", "timerDelay"] }, usesOnChanges: true, ngImport: i0 });
82
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: AutofocusDirective, decorators: [{
80
+ AutofocusDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: AutofocusDirective, deps: [{ token: i0.ElementRef }, { token: i1.KeyboardService }], target: i0.ɵɵFactoryTarget.Directive });
81
+ AutofocusDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.8", type: AutofocusDirective, selector: "[autofocus], input[appAutofocus]", inputs: { shouldFocusElement: ["appAutofocus", "shouldFocusElement"], timerDelay: ["autofocusDelay", "timerDelay"] }, usesOnChanges: true, ngImport: i0 });
82
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: AutofocusDirective, decorators: [{
83
83
  type: Directive,
84
84
  args: [{
85
85
  selector: '[autofocus], input[appAutofocus]',
@@ -16,9 +16,9 @@ export class AutoTitleDirective {
16
16
  }
17
17
  }
18
18
  }
19
- AutoTitleDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: AutoTitleDirective, deps: [{ token: ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
20
- AutoTitleDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.5", type: AutoTitleDirective, selector: "[appAutoTitle]", ngImport: i0 });
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: AutoTitleDirective, decorators: [{
19
+ AutoTitleDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: AutoTitleDirective, deps: [{ token: ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
20
+ AutoTitleDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.8", type: AutoTitleDirective, selector: "[appAutoTitle]", ngImport: i0 });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: AutoTitleDirective, decorators: [{
22
22
  type: Directive,
23
23
  args: [{
24
24
  selector: '[appAutoTitle]',
@@ -8,8 +8,8 @@ import { AutoTitleDirective } from './autotitle.directive';
8
8
  import * as i0 from "@angular/core";
9
9
  export class SharedDirectivesModule {
10
10
  }
11
- SharedDirectivesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: SharedDirectivesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
- SharedDirectivesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.5", ngImport: i0, type: SharedDirectivesModule, declarations: [AutofocusDirective,
11
+ SharedDirectivesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: SharedDirectivesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
+ SharedDirectivesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.8", ngImport: i0, type: SharedDirectivesModule, declarations: [AutofocusDirective,
13
13
  NgVarDirective,
14
14
  DragAndDropDirective,
15
15
  AutoTitleDirective], imports: [CommonModule,
@@ -17,9 +17,9 @@ SharedDirectivesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0",
17
17
  NgVarDirective,
18
18
  DragAndDropDirective,
19
19
  AutoTitleDirective] });
20
- SharedDirectivesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: SharedDirectivesModule, imports: [CommonModule,
20
+ SharedDirectivesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: SharedDirectivesModule, imports: [CommonModule,
21
21
  IonicModule] });
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: SharedDirectivesModule, decorators: [{
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: SharedDirectivesModule, decorators: [{
23
23
  type: NgModule,
24
24
  args: [{
25
25
  imports: [
@@ -28,9 +28,9 @@ export class DragAndDropDirective {
28
28
  }
29
29
  }
30
30
  }
31
- DragAndDropDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: DragAndDropDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
32
- DragAndDropDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.5", type: DragAndDropDirective, selector: "[appDragAndDrop]", outputs: { fileDropped: "fileDropped" }, host: { listeners: { "dragover": "onDragOver($event)", "dragleave": "onDragLeave($event)", "drop": "ondrop($event)" }, properties: { "class.fileover": "this.fileOver" } }, ngImport: i0 });
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: DragAndDropDirective, decorators: [{
31
+ DragAndDropDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: DragAndDropDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
32
+ DragAndDropDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.8", type: DragAndDropDirective, selector: "[appDragAndDrop]", outputs: { fileDropped: "fileDropped" }, host: { listeners: { "dragover": "onDragOver($event)", "dragleave": "onDragLeave($event)", "drop": "ondrop($event)" }, properties: { "class.fileover": "this.fileOver" } }, ngImport: i0 });
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: DragAndDropDirective, decorators: [{
34
34
  type: Directive,
35
35
  args: [{
36
36
  selector: '[appDragAndDrop]',
@@ -18,9 +18,9 @@ export class NgVarDirective {
18
18
  }
19
19
  }
20
20
  }
21
- NgVarDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: NgVarDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
22
- NgVarDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.5", type: NgVarDirective, selector: "[ngVar]", inputs: { ngVar: "ngVar" }, ngImport: i0 });
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: NgVarDirective, decorators: [{
21
+ NgVarDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: NgVarDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
22
+ NgVarDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.8", type: NgVarDirective, selector: "[ngVar]", inputs: { ngVar: "ngVar" }, ngImport: i0 });
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: NgVarDirective, decorators: [{
24
24
  type: Directive,
25
25
  args: [{
26
26
  selector: '[ngVar]',
@@ -35,9 +35,9 @@ export class ResizableComponent {
35
35
  }
36
36
  }
37
37
  }
38
- ResizableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: ResizableComponent, deps: [{ token: i1.MatColumnDef, optional: true }], target: i0.ɵɵFactoryTarget.Component });
39
- ResizableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: ResizableComponent, selector: "th[resizable]", inputs: { resizable: "resizable" }, outputs: { sizeChanged: "sizeChanged" }, host: { properties: { "style.width": "this.width", "style.min-width": "this.minWidth", "style.max-width": "this.maxWidth" } }, ngImport: i0, template: "<div class=\"wrapper\">\n <div class=\"content\">\n <ng-content></ng-content>\n </div>\n <div class=\"bar\" [class.cdk-visually-hidden]=\"!resizable\" (resizable)=\"onResize($event)\" (fit)=\"onFit()\"></div>\n</div>\n", styles: [":host:last-child .bar{display:none}.wrapper{display:flex;justify-content:flex-end;align-items:center}.content{flex:1}.bar{height:var(--app-table-header-height, 55px);width:10px;justify-self:flex-end;border-left:4px solid transparent;border-right:4px solid transparent;background:var(--ion-color-secondary);background-clip:content-box;cursor:ew-resize;opacity:0;transition:opacity .3s}.bar:hover,.bar:active{opacity:1}:host-context(.mat-table-sticky) .bar{width:12px!important}\n"], dependencies: [{ kind: "directive", type: i2.ResizableDirective, selector: "[resizable]", outputs: ["resizable", "fit"] }] });
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: ResizableComponent, decorators: [{
38
+ ResizableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ResizableComponent, deps: [{ token: i1.MatColumnDef, optional: true }], target: i0.ɵɵFactoryTarget.Component });
39
+ ResizableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: ResizableComponent, selector: "th[resizable]", inputs: { resizable: "resizable" }, outputs: { sizeChanged: "sizeChanged" }, host: { properties: { "style.width": "this.width", "style.min-width": "this.minWidth", "style.max-width": "this.maxWidth" } }, ngImport: i0, template: "<div class=\"wrapper\">\n <div class=\"content\">\n <ng-content></ng-content>\n </div>\n <div class=\"bar\" [class.cdk-visually-hidden]=\"!resizable\" (resizable)=\"onResize($event)\" (fit)=\"onFit()\"></div>\n</div>\n", styles: [":host:last-child .bar{display:none}.wrapper{display:flex;justify-content:flex-end;align-items:center}.content{flex:1}.bar{height:var(--app-table-header-height, 55px);width:10px;justify-self:flex-end;border-left:4px solid transparent;border-right:4px solid transparent;background:var(--ion-color-secondary);background-clip:content-box;cursor:ew-resize;opacity:0;transition:opacity .3s}.bar:hover,.bar:active{opacity:1}:host-context(.mat-table-sticky) .bar{width:12px!important}\n"], dependencies: [{ kind: "directive", type: i2.ResizableDirective, selector: "[resizable]", outputs: ["resizable", "fit"] }] });
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ResizableComponent, decorators: [{
41
41
  type: Component,
42
42
  args: [{ selector: 'th[resizable]', template: "<div class=\"wrapper\">\n <div class=\"content\">\n <ng-content></ng-content>\n </div>\n <div class=\"bar\" [class.cdk-visually-hidden]=\"!resizable\" (resizable)=\"onResize($event)\" (fit)=\"onFit()\"></div>\n</div>\n", styles: [":host:last-child .bar{display:none}.wrapper{display:flex;justify-content:flex-end;align-items:center}.content{flex:1}.bar{height:var(--app-table-header-height, 55px);width:10px;justify-self:flex-end;border-left:4px solid transparent;border-right:4px solid transparent;background:var(--ion-color-secondary);background-clip:content-box;cursor:ew-resize;opacity:0;transition:opacity .3s}.bar:hover,.bar:active{opacity:1}:host-context(.mat-table-sticky) .bar{width:12px!important}\n"] }]
43
43
  }], ctorParameters: function () { return [{ type: i1.MatColumnDef, decorators: [{
@@ -19,9 +19,9 @@ export class ResizableDirective {
19
19
  this.fit = fromEvent(this.elementRef.nativeElement, 'click').pipe(bufferWhen(() => interval(500)), filter((ar) => ar.length === 2));
20
20
  }
21
21
  }
22
- ResizableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: ResizableDirective, deps: [{ token: DOCUMENT }, { token: ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
23
- ResizableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.5", type: ResizableDirective, selector: "[resizable]", outputs: { resizable: "resizable", fit: "fit" }, ngImport: i0 });
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: ResizableDirective, decorators: [{
22
+ ResizableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ResizableDirective, deps: [{ token: DOCUMENT }, { token: ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
23
+ ResizableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.8", type: ResizableDirective, selector: "[resizable]", outputs: { resizable: "resizable", fit: "fit" }, ngImport: i0 });
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ResizableDirective, decorators: [{
25
25
  type: Directive,
26
26
  args: [{
27
27
  selector: '[resizable]',
@@ -4,10 +4,10 @@ import { ResizableDirective } from './resizable.directive';
4
4
  import * as i0 from "@angular/core";
5
5
  export class ResizableModule {
6
6
  }
7
- ResizableModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: ResizableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
- ResizableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.5", ngImport: i0, type: ResizableModule, declarations: [ResizableComponent, ResizableDirective], exports: [ResizableComponent, ResizableDirective] });
9
- ResizableModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: ResizableModule });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: ResizableModule, decorators: [{
7
+ ResizableModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ResizableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
+ ResizableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.8", ngImport: i0, type: ResizableModule, declarations: [ResizableComponent, ResizableDirective], exports: [ResizableComponent, ResizableDirective] });
9
+ ResizableModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ResizableModule });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ResizableModule, decorators: [{
11
11
  type: NgModule,
12
12
  args: [{
13
13
  declarations: [ResizableComponent, ResizableDirective],
@@ -98,9 +98,9 @@ export class FileService {
98
98
  this._started = true;
99
99
  }
100
100
  }
101
- FileService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: FileService, deps: [{ token: i1.Platform }, { token: i2.HttpClient }, { token: ENVIRONMENT }], target: i0.ɵɵFactoryTarget.Injectable });
102
- FileService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: FileService, providedIn: 'root' });
103
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: FileService, decorators: [{
101
+ FileService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: FileService, deps: [{ token: i1.Platform }, { token: i2.HttpClient }, { token: ENVIRONMENT }], target: i0.ɵɵFactoryTarget.Injectable });
102
+ FileService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: FileService, providedIn: 'root' });
103
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: FileService, decorators: [{
104
104
  type: Injectable,
105
105
  args: [{
106
106
  providedIn: 'root',