@sumaris-net/ngx-components 2.18.0-beta9 → 2.21.0-rc1

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 (715) hide show
  1. package/README.md +3 -0
  2. package/doc/build.md +14 -14
  3. package/doc/changelog.md +1386 -88
  4. package/doc/feed/feed-en.json +26 -0
  5. package/doc/feed/feed-fr.json +28 -0
  6. package/fesm2022/sumaris-net.ngx-components.mjs +32423 -22727
  7. package/fesm2022/sumaris-net.ngx-components.mjs.map +1 -1
  8. package/package.json +42 -39
  9. package/src/assets/environments/environment-test.json +2 -2
  10. package/src/assets/i18n/en-US.json +143 -45
  11. package/src/assets/i18n/en.json +142 -43
  12. package/src/assets/i18n/fr.json +147 -47
  13. package/src/assets/manifest.json +1 -1
  14. package/src/theme/_icons.scss +8 -12
  15. package/src/theme/_ionic.globals.scss +8 -1
  16. package/src/theme/_markdown.scss +1 -1
  17. package/src/theme/_material.globals.scss +4 -1
  18. package/src/theme/_material.scss +60 -17
  19. package/src/theme/_mixins.scss +39 -4
  20. package/src/theme/_ngx-components.forms.scss +115 -89
  21. package/src/theme/_ngx-components.globals.scss +4 -1
  22. package/src/theme/_ngx-components.scss +162 -110
  23. package/src/theme/_ngx-components.table.scss +105 -44
  24. package/src/theme/_ngx-components.tabs.scss +46 -14
  25. package/src/theme/_responsive.scss +15 -0
  26. package/src/theme/_roboto.scss +3 -0
  27. package/src/theme/_theme.scss +11 -14
  28. package/src/theme/_theme.variables.scss +7 -3
  29. package/src/theme/ionic/ionic.functions.color.scss +13 -5
  30. package/src/theme/ionic/ionic.globals.scss +4 -4
  31. package/src/theme/ionic/ionic.theme.default.scss +2 -0
  32. package/types/sumaris-net.ngx-components.d.ts +14132 -0
  33. package/esm2022/public_api.mjs +0 -358
  34. package/esm2022/src/app/admin/admin-routing.module.mjs +0 -34
  35. package/esm2022/src/app/admin/admin.module.mjs +0 -32
  36. package/esm2022/src/app/admin/services/filter/person.filter.mjs +0 -69
  37. package/esm2022/src/app/admin/services/person.service.mjs +0 -174
  38. package/esm2022/src/app/admin/services/validator/person.validator.mjs +0 -72
  39. package/esm2022/src/app/admin/users/users.mjs +0 -267
  40. package/esm2022/src/app/admin/users/users.module.mjs +0 -56
  41. package/esm2022/src/app/core/about/about.modal.mjs +0 -84
  42. package/esm2022/src/app/core/about/about.module.mjs +0 -21
  43. package/esm2022/src/app/core/account/account.module.mjs +0 -68
  44. package/esm2022/src/app/core/account/account.page.mjs +0 -351
  45. package/esm2022/src/app/core/account/new-token.modal.mjs +0 -132
  46. package/esm2022/src/app/core/account/password/change-password.form.mjs +0 -60
  47. package/esm2022/src/app/core/account/password/change-password.module.mjs +0 -22
  48. package/esm2022/src/app/core/account/password/change-password.page.mjs +0 -144
  49. package/esm2022/src/app/core/account/token.table.mjs +0 -152
  50. package/esm2022/src/app/core/auth/auth.form.mjs +0 -159
  51. package/esm2022/src/app/core/auth/auth.modal.mjs +0 -76
  52. package/esm2022/src/app/core/auth/auth.module.mjs +0 -56
  53. package/esm2022/src/app/core/auth/reset-password.modal.mjs +0 -77
  54. package/esm2022/src/app/core/core.module.mjs +0 -151
  55. package/esm2022/src/app/core/core.testing.module.mjs +0 -107
  56. package/esm2022/src/app/core/form/array/form-array.mjs +0 -325
  57. package/esm2022/src/app/core/form/array/testing/form-array-test.module.mjs +0 -23
  58. package/esm2022/src/app/core/form/array/testing/form-array.test.mjs +0 -94
  59. package/esm2022/src/app/core/form/buttons/form-buttons-bar.component.mjs +0 -108
  60. package/esm2022/src/app/core/form/buttons/form-buttons-bar.module.mjs +0 -31
  61. package/esm2022/src/app/core/form/entity/editor.class.mjs +0 -265
  62. package/esm2022/src/app/core/form/entity/entity-editor-modal.class.mjs +0 -420
  63. package/esm2022/src/app/core/form/entity/entity-editor.class.mjs +0 -731
  64. package/esm2022/src/app/core/form/entity/entity-metadata.component.mjs +0 -24
  65. package/esm2022/src/app/core/form/entity/entity.module.mjs +0 -32
  66. package/esm2022/src/app/core/form/entity/tab-editor.class.mjs +0 -194
  67. package/esm2022/src/app/core/form/form-container.class.mjs +0 -327
  68. package/esm2022/src/app/core/form/form.class.mjs +0 -336
  69. package/esm2022/src/app/core/form/form.module.mjs +0 -70
  70. package/esm2022/src/app/core/form/form.utils.mjs +0 -197
  71. package/esm2022/src/app/core/form/list/list.form.mjs +0 -235
  72. package/esm2022/src/app/core/form/list/list.module.mjs +0 -31
  73. package/esm2022/src/app/core/form/properties/properties.form.mjs +0 -225
  74. package/esm2022/src/app/core/form/properties/properties.module.mjs +0 -37
  75. package/esm2022/src/app/core/form/properties/properties.table.mjs +0 -268
  76. package/esm2022/src/app/core/form/properties/properties.utils.mjs +0 -60
  77. package/esm2022/src/app/core/form/properties/property.validator.mjs +0 -38
  78. package/esm2022/src/app/core/form/properties/testing/properties-form.test.mjs +0 -95
  79. package/esm2022/src/app/core/form/properties/testing/properties-form.testing.module.mjs +0 -23
  80. package/esm2022/src/app/core/form/text-popover/testing/text-popover.testing.mjs +0 -73
  81. package/esm2022/src/app/core/form/text-popover/testing/text-popover.testing.module.mjs +0 -30
  82. package/esm2022/src/app/core/form/text-popover/text-popover.component.mjs +0 -152
  83. package/esm2022/src/app/core/form/text-popover/text-popover.module.mjs +0 -31
  84. package/esm2022/src/app/core/form/username/username.form.mjs +0 -52
  85. package/esm2022/src/app/core/form/username/username.module.mjs +0 -20
  86. package/esm2022/src/app/core/graphql/graphql.module.mjs +0 -14
  87. package/esm2022/src/app/core/graphql/graphql.service.mjs +0 -783
  88. package/esm2022/src/app/core/graphql/graphql.utils.mjs +0 -119
  89. package/esm2022/src/app/core/home/home.mjs +0 -311
  90. package/esm2022/src/app/core/home/home.module.mjs +0 -42
  91. package/esm2022/src/app/core/icon/icon.component.mjs +0 -40
  92. package/esm2022/src/app/core/icon/icon.module.mjs +0 -20
  93. package/esm2022/src/app/core/install/install-upgrade-card.component.mjs +0 -354
  94. package/esm2022/src/app/core/install/install-upgrade-card.module.mjs +0 -31
  95. package/esm2022/src/app/core/menu/menu.component.mjs +0 -263
  96. package/esm2022/src/app/core/menu/menu.model.mjs +0 -272
  97. package/esm2022/src/app/core/menu/menu.module.mjs +0 -47
  98. package/esm2022/src/app/core/menu/menu.service.mjs +0 -655
  99. package/esm2022/src/app/core/menu/sub-menu-tab.directive.mjs +0 -109
  100. package/esm2022/src/app/core/menu/testing/menu-other.testing.mjs +0 -49
  101. package/esm2022/src/app/core/menu/testing/menu.testing.mjs +0 -157
  102. package/esm2022/src/app/core/menu/testing/menu.testing.module.mjs +0 -60
  103. package/esm2022/src/app/core/offline/update-offline-mode-card.component.mjs +0 -28
  104. package/esm2022/src/app/core/offline/update-offline-mode-card.module.mjs +0 -31
  105. package/esm2022/src/app/core/peer/select-peer.modal.mjs +0 -203
  106. package/esm2022/src/app/core/peer/select-peer.module.mjs +0 -30
  107. package/esm2022/src/app/core/register/register-confirm.page.mjs +0 -90
  108. package/esm2022/src/app/core/register/register.form.mjs +0 -194
  109. package/esm2022/src/app/core/register/register.modal.mjs +0 -55
  110. package/esm2022/src/app/core/register/register.module.mjs +0 -23
  111. package/esm2022/src/app/core/services/account.service.mjs +0 -1346
  112. package/esm2022/src/app/core/services/auth-guard.service.mjs +0 -74
  113. package/esm2022/src/app/core/services/base-entity-service.class.mjs +0 -473
  114. package/esm2022/src/app/core/services/base-graphql-service.class.mjs +0 -230
  115. package/esm2022/src/app/core/services/base58.mjs +0 -83
  116. package/esm2022/src/app/core/services/config/core.config.mjs +0 -233
  117. package/esm2022/src/app/core/services/config.service.mjs +0 -384
  118. package/esm2022/src/app/core/services/crypto.service.mjs +0 -107
  119. package/esm2022/src/app/core/services/errors.mjs +0 -52
  120. package/esm2022/src/app/core/services/local-settings.service.mjs +0 -482
  121. package/esm2022/src/app/core/services/model/account.model.mjs +0 -150
  122. package/esm2022/src/app/core/services/model/config.model.mjs +0 -107
  123. package/esm2022/src/app/core/services/model/department.model.mjs +0 -35
  124. package/esm2022/src/app/core/services/model/entity.decorators.mjs +0 -97
  125. package/esm2022/src/app/core/services/model/entity.model.mjs +0 -224
  126. package/esm2022/src/app/core/services/model/filter.model.mjs +0 -93
  127. package/esm2022/src/app/core/services/model/history.model.mjs +0 -2
  128. package/esm2022/src/app/core/services/model/model.enum.mjs +0 -11
  129. package/esm2022/src/app/core/services/model/peer.model.mjs +0 -93
  130. package/esm2022/src/app/core/services/model/person.model.mjs +0 -114
  131. package/esm2022/src/app/core/services/model/referential.model.mjs +0 -202
  132. package/esm2022/src/app/core/services/model/settings.model.mjs +0 -4
  133. package/esm2022/src/app/core/services/model/token.model.mjs +0 -56
  134. package/esm2022/src/app/core/services/model/tree-item-entity.model.mjs +0 -195
  135. package/esm2022/src/app/core/services/network.service.mjs +0 -631
  136. package/esm2022/src/app/core/services/network.types.mjs +0 -20
  137. package/esm2022/src/app/core/services/network.utils.mjs +0 -15
  138. package/esm2022/src/app/core/services/pipes/account.pipes.mjs +0 -38
  139. package/esm2022/src/app/core/services/pipes/department-to-string.pipe.mjs +0 -23
  140. package/esm2022/src/app/core/services/pipes/person-to-string.pipe.mjs +0 -23
  141. package/esm2022/src/app/core/services/pipes/pipes.module.mjs +0 -54
  142. package/esm2022/src/app/core/services/pipes/referential-to-string.pipe.mjs +0 -21
  143. package/esm2022/src/app/core/services/pipes/usage-mode.pipes.mjs +0 -37
  144. package/esm2022/src/app/core/services/platform.service.mjs +0 -583
  145. package/esm2022/src/app/core/services/storage/entities-storage.service.mjs +0 -427
  146. package/esm2022/src/app/core/services/storage/entity-store.class.mjs +0 -449
  147. package/esm2022/src/app/core/services/testing/referential-filter.model.mjs +0 -25
  148. package/esm2022/src/app/core/services/testing/referential.validator.mjs +0 -46
  149. package/esm2022/src/app/core/services/validator/account.validator.mjs +0 -45
  150. package/esm2022/src/app/core/services/validator/base.validator.class.mjs +0 -49
  151. package/esm2022/src/app/core/services/validator/local-settings.validator.mjs +0 -81
  152. package/esm2022/src/app/core/services/validator/user-settings.validator.mjs +0 -27
  153. package/esm2022/src/app/core/services/validator/user-token.validator.mjs +0 -55
  154. package/esm2022/src/app/core/settings/settings.module.mjs +0 -22
  155. package/esm2022/src/app/core/settings/settings.page.mjs +0 -341
  156. package/esm2022/src/app/core/table/async-table.class.mjs +0 -1753
  157. package/esm2022/src/app/core/table/column/actions-column.component.mjs +0 -127
  158. package/esm2022/src/app/core/table/column/nav-actions-column.component.mjs +0 -117
  159. package/esm2022/src/app/core/table/column/row-field.component.mjs +0 -116
  160. package/esm2022/src/app/core/table/entities-async-table-datasource.class.mjs +0 -384
  161. package/esm2022/src/app/core/table/entities-table-datasource.class.mjs +0 -401
  162. package/esm2022/src/app/core/table/memory-table.class.mjs +0 -57
  163. package/esm2022/src/app/core/table/table-select-columns.component.mjs +0 -46
  164. package/esm2022/src/app/core/table/table.class.mjs +0 -1816
  165. package/esm2022/src/app/core/table/table.model.mjs +0 -16
  166. package/esm2022/src/app/core/table/table.module.mjs +0 -51
  167. package/esm2022/src/app/core/table/table.pipes.mjs +0 -77
  168. package/esm2022/src/app/core/table/table.utils.mjs +0 -31
  169. package/esm2022/src/app/core/table/testing/table-validator.service.mjs +0 -32
  170. package/esm2022/src/app/core/table/testing/table.testing.mjs +0 -329
  171. package/esm2022/src/app/core/table/testing/table.testing.module.mjs +0 -25
  172. package/esm2022/src/app/core/table/testing/table2-validator.service.mjs +0 -25
  173. package/esm2022/src/app/core/table/testing/table2.testing.mjs +0 -273
  174. package/esm2022/src/app/shared/alerts.mjs +0 -243
  175. package/esm2022/src/app/shared/audio/audio.mjs +0 -249
  176. package/esm2022/src/app/shared/audio/audio.testing.mjs +0 -32
  177. package/esm2022/src/app/shared/audio/audio.testing.module.mjs +0 -30
  178. package/esm2022/src/app/shared/capacitor/keyboard.mjs +0 -42
  179. package/esm2022/src/app/shared/capacitor/plugins.mjs +0 -9
  180. package/esm2022/src/app/shared/constants.mjs +0 -16
  181. package/esm2022/src/app/shared/dates.mjs +0 -151
  182. package/esm2022/src/app/shared/debug/debug-service.class.mjs +0 -3
  183. package/esm2022/src/app/shared/debug/debug.component.mjs +0 -40
  184. package/esm2022/src/app/shared/debug/debug.module.mjs +0 -23
  185. package/esm2022/src/app/shared/directives/autofocus.directive.mjs +0 -91
  186. package/esm2022/src/app/shared/directives/autotitle.directive.mjs +0 -32
  187. package/esm2022/src/app/shared/directives/directives.module.mjs +0 -22
  188. package/esm2022/src/app/shared/directives/drag-and-drop.directive.mjs +0 -52
  189. package/esm2022/src/app/shared/directives/ng-var.directive.mjs +0 -33
  190. package/esm2022/src/app/shared/directives/resizable/resizable.component.mjs +0 -62
  191. package/esm2022/src/app/shared/directives/resizable/resizable.directive.mjs +0 -45
  192. package/esm2022/src/app/shared/directives/resizable/resizable.module.mjs +0 -17
  193. package/esm2022/src/app/shared/events.mjs +0 -63
  194. package/esm2022/src/app/shared/file/csv.utils.mjs +0 -92
  195. package/esm2022/src/app/shared/file/file.service.mjs +0 -118
  196. package/esm2022/src/app/shared/file/file.utils.mjs +0 -115
  197. package/esm2022/src/app/shared/file/images.utils.mjs +0 -186
  198. package/esm2022/src/app/shared/file/json.utils.mjs +0 -58
  199. package/esm2022/src/app/shared/file/uri.utils.mjs +0 -24
  200. package/esm2022/src/app/shared/focusable.mjs +0 -6
  201. package/esm2022/src/app/shared/form/field.component.mjs +0 -379
  202. package/esm2022/src/app/shared/form/field.model.mjs +0 -25
  203. package/esm2022/src/app/shared/form/loading-spinner.mjs +0 -35
  204. package/esm2022/src/app/shared/forms.mjs +0 -480
  205. package/esm2022/src/app/shared/functions.mjs +0 -551
  206. package/esm2022/src/app/shared/geolocation/geolocation.utils.mjs +0 -82
  207. package/esm2022/src/app/shared/gesture/gesture-config.mjs +0 -46
  208. package/esm2022/src/app/shared/gesture/hammer.utils.mjs +0 -2
  209. package/esm2022/src/app/shared/graph/colors.utils.mjs +0 -60
  210. package/esm2022/src/app/shared/graph/graph-colors.mjs +0 -213
  211. package/esm2022/src/app/shared/guard/component-dirty.guard.mjs +0 -59
  212. package/esm2022/src/app/shared/help/help.modal.mjs +0 -63
  213. package/esm2022/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.mjs +0 -23
  214. package/esm2022/src/app/shared/hotkeys/hotkeys.service.mjs +0 -112
  215. package/esm2022/src/app/shared/hotkeys/shared-hotkeys.module.mjs +0 -24
  216. package/esm2022/src/app/shared/http/http.utils.mjs +0 -56
  217. package/esm2022/src/app/shared/image/gallery/image-gallery.component.mjs +0 -388
  218. package/esm2022/src/app/shared/image/gallery/image-gallery.module.mjs +0 -62
  219. package/esm2022/src/app/shared/image/gallery/testing/gallegry.model.testing.mjs +0 -26
  220. package/esm2022/src/app/shared/image/gallery/testing/gallery.service.testing.mjs +0 -87
  221. package/esm2022/src/app/shared/image/gallery/testing/gallery.testing.mjs +0 -37
  222. package/esm2022/src/app/shared/image/gallery/testing/gallery.testing.module.mjs +0 -59
  223. package/esm2022/src/app/shared/image/image.model.mjs +0 -2
  224. package/esm2022/src/app/shared/image/image.module.mjs +0 -24
  225. package/esm2022/src/app/shared/image/image.service.mjs +0 -106
  226. package/esm2022/src/app/shared/inputs.mjs +0 -263
  227. package/esm2022/src/app/shared/interceptors/progess.interceptor.mjs +0 -27
  228. package/esm2022/src/app/shared/logging/log-level.model.mjs +0 -48
  229. package/esm2022/src/app/shared/logging/logger.model.mjs +0 -47
  230. package/esm2022/src/app/shared/logging/logging-service.class.mjs +0 -125
  231. package/esm2022/src/app/shared/logging/logging-service.config.mjs +0 -2
  232. package/esm2022/src/app/shared/logging/logging-service.module.mjs +0 -30
  233. package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.config.mjs +0 -46
  234. package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.mjs +0 -1071
  235. package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.module.mjs +0 -79
  236. package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.utils.mjs +0 -18
  237. package/esm2022/src/app/shared/material/autocomplete/testing/autocomplete.test.mjs +0 -231
  238. package/esm2022/src/app/shared/material/badge/badge.directive.mjs +0 -251
  239. package/esm2022/src/app/shared/material/badge/badge.module.mjs +0 -20
  240. package/esm2022/src/app/shared/material/badge/badge.test.mjs +0 -42
  241. package/esm2022/src/app/shared/material/boolean/boolean.module.mjs +0 -71
  242. package/esm2022/src/app/shared/material/boolean/material.boolean.mjs +0 -376
  243. package/esm2022/src/app/shared/material/boolean/testing/boolean.test.page.mjs +0 -61
  244. package/esm2022/src/app/shared/material/chips/chips.module.mjs +0 -75
  245. package/esm2022/src/app/shared/material/chips/material.chips.mjs +0 -779
  246. package/esm2022/src/app/shared/material/chips/testing/chips.test.mjs +0 -147
  247. package/esm2022/src/app/shared/material/datetime/datetime.module.mjs +0 -76
  248. package/esm2022/src/app/shared/material/datetime/material.date.mjs +0 -471
  249. package/esm2022/src/app/shared/material/datetime/material.dateshort.mjs +0 -457
  250. package/esm2022/src/app/shared/material/datetime/material.datetime.mjs +0 -681
  251. package/esm2022/src/app/shared/material/datetime/testing/mat-date-time.test.mjs +0 -136
  252. package/esm2022/src/app/shared/material/datetime/testing/mat-date.test.mjs +0 -127
  253. package/esm2022/src/app/shared/material/datetime/testing/mat-dateshort.test.mjs +0 -118
  254. package/esm2022/src/app/shared/material/duration/duration.module.mjs +0 -65
  255. package/esm2022/src/app/shared/material/duration/duration.utils.mjs +0 -33
  256. package/esm2022/src/app/shared/material/duration/material.duration.mjs +0 -274
  257. package/esm2022/src/app/shared/material/duration/testing/mat-duration.test.mjs +0 -80
  258. package/esm2022/src/app/shared/material/latlong/latlong.utils.mjs +0 -313
  259. package/esm2022/src/app/shared/material/latlong/material.latlong.mjs +0 -381
  260. package/esm2022/src/app/shared/material/latlong/material.latlong.module.mjs +0 -67
  261. package/esm2022/src/app/shared/material/latlong/testing/latlong.test.mjs +0 -118
  262. package/esm2022/src/app/shared/material/material.animations.mjs +0 -143
  263. package/esm2022/src/app/shared/material/material.config.mjs +0 -3
  264. package/esm2022/src/app/shared/material/material.module.mjs +0 -229
  265. package/esm2022/src/app/shared/material/material.testing.module.mjs +0 -234
  266. package/esm2022/src/app/shared/material/paginator/material.paginator-i18n.mjs +0 -51
  267. package/esm2022/src/app/shared/material/stepper/material.stepper-i18n.mjs +0 -23
  268. package/esm2022/src/app/shared/material/swipe/material.swipe.mjs +0 -375
  269. package/esm2022/src/app/shared/material/swipe/swipe.module.mjs +0 -52
  270. package/esm2022/src/app/shared/material/swipe/testing/swipe.test.mjs +0 -67
  271. package/esm2022/src/app/shared/material/testing/common.test.mjs +0 -111
  272. package/esm2022/src/app/shared/material/text/testing/text-form.testing.mjs +0 -42
  273. package/esm2022/src/app/shared/material/text/text-form.component.mjs +0 -204
  274. package/esm2022/src/app/shared/material/text/text-form.module.mjs +0 -63
  275. package/esm2022/src/app/shared/modules.mjs +0 -12
  276. package/esm2022/src/app/shared/named-filter/named-filter-selector.component.mjs +0 -303
  277. package/esm2022/src/app/shared/named-filter/named-filter.model.mjs +0 -49
  278. package/esm2022/src/app/shared/named-filter/named-filter.module.mjs +0 -24
  279. package/esm2022/src/app/shared/named-filter/named-filter.service.mjs +0 -69
  280. package/esm2022/src/app/shared/named-filter/testing/named-filter-selector.testing.mjs +0 -74
  281. package/esm2022/src/app/shared/named-filter/testing/named-filter.testing.module.mjs +0 -28
  282. package/esm2022/src/app/shared/observables.mjs +0 -100
  283. package/esm2022/src/app/shared/pipes/arrays.pipe.mjs +0 -156
  284. package/esm2022/src/app/shared/pipes/badge.pipes.mjs +0 -24
  285. package/esm2022/src/app/shared/pipes/colors.pipe.mjs +0 -29
  286. package/esm2022/src/app/shared/pipes/date-diff-duration.pipe.mjs +0 -49
  287. package/esm2022/src/app/shared/pipes/date-format.pipe.mjs +0 -72
  288. package/esm2022/src/app/shared/pipes/date-from-now.pipe.mjs +0 -28
  289. package/esm2022/src/app/shared/pipes/duration.pipe.mjs +0 -36
  290. package/esm2022/src/app/shared/pipes/file-size.pipe.mjs +0 -53
  291. package/esm2022/src/app/shared/pipes/form.pipes.mjs +0 -219
  292. package/esm2022/src/app/shared/pipes/highlight.pipe.mjs +0 -48
  293. package/esm2022/src/app/shared/pipes/html.pipes.mjs +0 -52
  294. package/esm2022/src/app/shared/pipes/latlong-format.pipe.mjs +0 -42
  295. package/esm2022/src/app/shared/pipes/maps.pipe.mjs +0 -63
  296. package/esm2022/src/app/shared/pipes/maskito.pipe.mjs +0 -67
  297. package/esm2022/src/app/shared/pipes/math.pipes.mjs +0 -59
  298. package/esm2022/src/app/shared/pipes/ng-init.pipe.mjs +0 -19
  299. package/esm2022/src/app/shared/pipes/number-format.pipe.mjs +0 -30
  300. package/esm2022/src/app/shared/pipes/pipes.module.mjs +0 -236
  301. package/esm2022/src/app/shared/pipes/property.pipes.mjs +0 -136
  302. package/esm2022/src/app/shared/pipes/selection.pipes.mjs +0 -180
  303. package/esm2022/src/app/shared/pipes/string.pipes.mjs +0 -136
  304. package/esm2022/src/app/shared/pipes/translate-context.pipe.mjs +0 -44
  305. package/esm2022/src/app/shared/pipes/types.pipes.mjs +0 -74
  306. package/esm2022/src/app/shared/platforms.mjs +0 -45
  307. package/esm2022/src/app/shared/rx-state.module.mjs +0 -19
  308. package/esm2022/src/app/shared/services/entity-service.class.mjs +0 -7
  309. package/esm2022/src/app/shared/services/job.utils.mjs +0 -92
  310. package/esm2022/src/app/shared/services/memory-entity-service.class.mjs +0 -349
  311. package/esm2022/src/app/shared/services/progress-bar.service.mjs +0 -31
  312. package/esm2022/src/app/shared/services/startable-observable-service.class.mjs +0 -118
  313. package/esm2022/src/app/shared/services/startable-service.class.mjs +0 -107
  314. package/esm2022/src/app/shared/services/translate-context.service.mjs +0 -107
  315. package/esm2022/src/app/shared/services/validator-service.class.mjs +0 -2
  316. package/esm2022/src/app/shared/services.mjs +0 -62
  317. package/esm2022/src/app/shared/shared-routing.module.mjs +0 -72
  318. package/esm2022/src/app/shared/shared.module.mjs +0 -234
  319. package/esm2022/src/app/shared/shared.testing.module.mjs +0 -100
  320. package/esm2022/src/app/shared/storage/storage-explorer.component.mjs +0 -279
  321. package/esm2022/src/app/shared/storage/storage-explorer.module.mjs +0 -42
  322. package/esm2022/src/app/shared/storage/storage-explorer.testing-routing.module.mjs +0 -27
  323. package/esm2022/src/app/shared/storage/storage-explorer.testing.module.mjs +0 -25
  324. package/esm2022/src/app/shared/storage/storage.service.mjs +0 -134
  325. package/esm2022/src/app/shared/storage/storage.utils.mjs +0 -13
  326. package/esm2022/src/app/shared/testing/maskito.test.mjs +0 -41
  327. package/esm2022/src/app/shared/testing/observable.test.mjs +0 -94
  328. package/esm2022/src/app/shared/testing/tests.page.mjs +0 -37
  329. package/esm2022/src/app/shared/toast/toast.testing.mjs +0 -52
  330. package/esm2022/src/app/shared/toast/toast.testing.module.mjs +0 -30
  331. package/esm2022/src/app/shared/toast/toasts.mjs +0 -144
  332. package/esm2022/src/app/shared/toolbar/modal-toolbar.mjs +0 -62
  333. package/esm2022/src/app/shared/toolbar/toolbar.mjs +0 -263
  334. package/esm2022/src/app/shared/toolbar/toolbar.module.mjs +0 -26
  335. package/esm2022/src/app/shared/types.mjs +0 -2
  336. package/esm2022/src/app/shared/upload-file/testing/upload-file.testing.mjs +0 -59
  337. package/esm2022/src/app/shared/upload-file/testing/upload-file.testing.module.mjs +0 -30
  338. package/esm2022/src/app/shared/upload-file/upload-file-popover.component.mjs +0 -106
  339. package/esm2022/src/app/shared/upload-file/upload-file.component.mjs +0 -213
  340. package/esm2022/src/app/shared/upload-file/upload-file.model.mjs +0 -26
  341. package/esm2022/src/app/shared/validator/form-error-adapter.class.mjs +0 -114
  342. package/esm2022/src/app/shared/validator/validators.mjs +0 -601
  343. package/esm2022/src/app/shared/version/versions.mjs +0 -81
  344. package/esm2022/src/app/social/job/job.module.mjs +0 -23
  345. package/esm2022/src/app/social/job/progression/job-progression.component.mjs +0 -35
  346. package/esm2022/src/app/social/job/progression/job-progression.icon.mjs +0 -235
  347. package/esm2022/src/app/social/job/progression/job-progression.list.mjs +0 -47
  348. package/esm2022/src/app/social/job/progression/job-progression.model.mjs +0 -29
  349. package/esm2022/src/app/social/job/progression/job-progression.service.mjs +0 -91
  350. package/esm2022/src/app/social/job/testing/job-progression.testing.mjs +0 -38
  351. package/esm2022/src/app/social/job/testing/job-progression.testing.service.mjs +0 -34
  352. package/esm2022/src/app/social/job/testing/job.testing.module.mjs +0 -22
  353. package/esm2022/src/app/social/message/message.form.mjs +0 -140
  354. package/esm2022/src/app/social/message/message.modal.mjs +0 -110
  355. package/esm2022/src/app/social/message/message.model.mjs +0 -75
  356. package/esm2022/src/app/social/message/message.module.mjs +0 -22
  357. package/esm2022/src/app/social/message/message.service.mjs +0 -110
  358. package/esm2022/src/app/social/social.errors.mjs +0 -10
  359. package/esm2022/src/app/social/social.module.mjs +0 -22
  360. package/esm2022/src/app/social/social.testing.module.mjs +0 -40
  361. package/esm2022/src/app/social/user-event/notification/user-event-notification.icon.mjs +0 -127
  362. package/esm2022/src/app/social/user-event/notification/user-event-notification.list.mjs +0 -260
  363. package/esm2022/src/app/social/user-event/testing/user-event.testing.mjs +0 -257
  364. package/esm2022/src/app/social/user-event/testing/user-event.testing.model.mjs +0 -129
  365. package/esm2022/src/app/social/user-event/testing/user-event.testing.module.mjs +0 -22
  366. package/esm2022/src/app/social/user-event/testing/user-event.testing.service.mjs +0 -128
  367. package/esm2022/src/app/social/user-event/user-event.model.mjs +0 -2
  368. package/esm2022/src/app/social/user-event/user-event.module.mjs +0 -23
  369. package/esm2022/src/app/social/user-event/user-event.service.mjs +0 -509
  370. package/esm2022/src/environments/environment.class.mjs +0 -57
  371. package/esm2022/src/environments/environment.loader.mjs +0 -77
  372. package/esm2022/src/environments/environment.mjs +0 -105
  373. package/esm2022/sumaris-net.ngx-components.mjs +0 -5
  374. package/index.d.ts +0 -5
  375. package/public_api.d.ts +0 -322
  376. package/src/app/admin/admin-routing.module.d.ts +0 -9
  377. package/src/app/admin/admin.module.d.ts +0 -10
  378. package/src/app/admin/services/filter/person.filter.d.ts +0 -21
  379. package/src/app/admin/services/person.service.d.ts +0 -49
  380. package/src/app/admin/services/validator/person.validator.d.ts +0 -23
  381. package/src/app/admin/users/users.d.ts +0 -45
  382. package/src/app/admin/users/users.module.d.ts +0 -14
  383. package/src/app/core/about/about.modal.d.ts +0 -32
  384. package/src/app/core/about/about.module.d.ts +0 -10
  385. package/src/app/core/account/account.module.d.ts +0 -16
  386. package/src/app/core/account/account.page.d.ts +0 -80
  387. package/src/app/core/account/new-token.modal.d.ts +0 -41
  388. package/src/app/core/account/password/change-password.form.d.ts +0 -19
  389. package/src/app/core/account/password/change-password.module.d.ts +0 -11
  390. package/src/app/core/account/password/change-password.page.d.ts +0 -36
  391. package/src/app/core/account/token.table.d.ts +0 -27
  392. package/src/app/core/auth/auth.form.d.ts +0 -38
  393. package/src/app/core/auth/auth.modal.d.ts +0 -24
  394. package/src/app/core/auth/auth.module.d.ts +0 -13
  395. package/src/app/core/auth/reset-password.modal.d.ts +0 -26
  396. package/src/app/core/core.module.d.ts +0 -28
  397. package/src/app/core/core.testing.module.d.ts +0 -15
  398. package/src/app/core/form/array/form-array.d.ts +0 -136
  399. package/src/app/core/form/array/testing/form-array-test.module.d.ts +0 -12
  400. package/src/app/core/form/array/testing/form-array.test.d.ts +0 -26
  401. package/src/app/core/form/buttons/form-buttons-bar.component.d.ts +0 -37
  402. package/src/app/core/form/buttons/form-buttons-bar.module.d.ts +0 -9
  403. package/src/app/core/form/entity/editor.class.d.ts +0 -83
  404. package/src/app/core/form/entity/entity-editor-modal.class.d.ts +0 -126
  405. package/src/app/core/form/entity/entity-editor.class.d.ts +0 -204
  406. package/src/app/core/form/entity/entity-metadata.component.d.ts +0 -13
  407. package/src/app/core/form/entity/entity.module.d.ts +0 -10
  408. package/src/app/core/form/entity/tab-editor.class.d.ts +0 -70
  409. package/src/app/core/form/form-container.class.d.ts +0 -126
  410. package/src/app/core/form/form.class.d.ts +0 -144
  411. package/src/app/core/form/form.module.d.ts +0 -14
  412. package/src/app/core/form/form.utils.d.ts +0 -251
  413. package/src/app/core/form/list/list.form.d.ts +0 -81
  414. package/src/app/core/form/list/list.module.d.ts +0 -9
  415. package/src/app/core/form/properties/properties.form.d.ts +0 -66
  416. package/src/app/core/form/properties/properties.module.d.ts +0 -11
  417. package/src/app/core/form/properties/properties.table.d.ts +0 -78
  418. package/src/app/core/form/properties/properties.utils.d.ts +0 -27
  419. package/src/app/core/form/properties/property.validator.d.ts +0 -19
  420. package/src/app/core/form/properties/testing/properties-form.test.d.ts +0 -19
  421. package/src/app/core/form/properties/testing/properties-form.testing.module.d.ts +0 -12
  422. package/src/app/core/form/text-popover/testing/text-popover.testing.d.ts +0 -16
  423. package/src/app/core/form/text-popover/testing/text-popover.testing.module.d.ts +0 -11
  424. package/src/app/core/form/text-popover/text-popover.component.d.ts +0 -71
  425. package/src/app/core/form/text-popover/text-popover.module.d.ts +0 -9
  426. package/src/app/core/form/username/username.form.d.ts +0 -19
  427. package/src/app/core/form/username/username.module.d.ts +0 -9
  428. package/src/app/core/graphql/graphql.module.d.ts +0 -7
  429. package/src/app/core/graphql/graphql.service.d.ts +0 -147
  430. package/src/app/core/graphql/graphql.utils.d.ts +0 -42
  431. package/src/app/core/home/home.d.ts +0 -94
  432. package/src/app/core/home/home.module.d.ts +0 -13
  433. package/src/app/core/icon/icon.component.d.ts +0 -13
  434. package/src/app/core/icon/icon.module.d.ts +0 -9
  435. package/src/app/core/install/install-upgrade-card.component.d.ts +0 -64
  436. package/src/app/core/install/install-upgrade-card.module.d.ts +0 -9
  437. package/src/app/core/menu/menu.component.d.ts +0 -69
  438. package/src/app/core/menu/menu.model.d.ts +0 -144
  439. package/src/app/core/menu/menu.module.d.ts +0 -12
  440. package/src/app/core/menu/menu.service.d.ts +0 -94
  441. package/src/app/core/menu/sub-menu-tab.directive.d.ts +0 -29
  442. package/src/app/core/menu/testing/menu-other.testing.d.ts +0 -15
  443. package/src/app/core/menu/testing/menu.testing.d.ts +0 -51
  444. package/src/app/core/menu/testing/menu.testing.module.d.ts +0 -12
  445. package/src/app/core/offline/update-offline-mode-card.component.d.ts +0 -11
  446. package/src/app/core/offline/update-offline-mode-card.module.d.ts +0 -9
  447. package/src/app/core/peer/select-peer.modal.d.ts +0 -60
  448. package/src/app/core/peer/select-peer.module.d.ts +0 -10
  449. package/src/app/core/register/register-confirm.page.d.ts +0 -24
  450. package/src/app/core/register/register.form.d.ts +0 -49
  451. package/src/app/core/register/register.modal.d.ts +0 -14
  452. package/src/app/core/register/register.module.d.ts +0 -12
  453. package/src/app/core/services/account.service.d.ts +0 -205
  454. package/src/app/core/services/auth-guard.service.d.ts +0 -17
  455. package/src/app/core/services/base-entity-service.class.d.ts +0 -123
  456. package/src/app/core/services/base-graphql-service.class.d.ts +0 -77
  457. package/src/app/core/services/base58.d.ts +0 -7
  458. package/src/app/core/services/config/core.config.d.ts +0 -41
  459. package/src/app/core/services/config.service.d.ts +0 -63
  460. package/src/app/core/services/crypto.service.d.ts +0 -44
  461. package/src/app/core/services/errors.d.ts +0 -63
  462. package/src/app/core/services/local-settings.service.d.ts +0 -95
  463. package/src/app/core/services/model/account.model.d.ts +0 -41
  464. package/src/app/core/services/model/config.model.d.ts +0 -36
  465. package/src/app/core/services/model/department.model.d.ts +0 -11
  466. package/src/app/core/services/model/entity.decorators.d.ts +0 -17
  467. package/src/app/core/services/model/entity.model.d.ts +0 -87
  468. package/src/app/core/services/model/filter.model.d.ts +0 -37
  469. package/src/app/core/services/model/history.model.d.ts +0 -20
  470. package/src/app/core/services/model/model.enum.d.ts +0 -7
  471. package/src/app/core/services/model/peer.model.d.ts +0 -30
  472. package/src/app/core/services/model/person.model.d.ts +0 -37
  473. package/src/app/core/services/model/referential.model.d.ts +0 -83
  474. package/src/app/core/services/model/settings.model.d.ts +0 -28
  475. package/src/app/core/services/model/token.model.d.ts +0 -22
  476. package/src/app/core/services/model/tree-item-entity.model.d.ts +0 -53
  477. package/src/app/core/services/network.service.d.ts +0 -151
  478. package/src/app/core/services/network.types.d.ts +0 -5
  479. package/src/app/core/services/network.utils.d.ts +0 -31
  480. package/src/app/core/services/pipes/account.pipes.d.ts +0 -15
  481. package/src/app/core/services/pipes/department-to-string.pipe.d.ts +0 -9
  482. package/src/app/core/services/pipes/person-to-string.pipe.d.ts +0 -11
  483. package/src/app/core/services/pipes/pipes.module.d.ts +0 -11
  484. package/src/app/core/services/pipes/referential-to-string.pipe.d.ts +0 -13
  485. package/src/app/core/services/pipes/usage-mode.pipes.d.ts +0 -15
  486. package/src/app/core/services/platform.service.d.ts +0 -100
  487. package/src/app/core/services/storage/entities-storage.service.d.ts +0 -108
  488. package/src/app/core/services/storage/entity-store.class.d.ts +0 -113
  489. package/src/app/core/services/testing/referential-filter.model.d.ts +0 -9
  490. package/src/app/core/services/testing/referential.validator.d.ts +0 -22
  491. package/src/app/core/services/validator/account.validator.d.ts +0 -24
  492. package/src/app/core/services/validator/base.validator.class.d.ts +0 -21
  493. package/src/app/core/services/validator/local-settings.validator.d.ts +0 -22
  494. package/src/app/core/services/validator/user-settings.validator.d.ts +0 -10
  495. package/src/app/core/services/validator/user-token.validator.d.ts +0 -13
  496. package/src/app/core/settings/settings.module.d.ts +0 -11
  497. package/src/app/core/settings/settings.page.d.ts +0 -81
  498. package/src/app/core/table/async-table.class.d.ts +0 -389
  499. package/src/app/core/table/column/actions-column.component.d.ts +0 -59
  500. package/src/app/core/table/column/nav-actions-column.component.d.ts +0 -46
  501. package/src/app/core/table/column/row-field.component.d.ts +0 -40
  502. package/src/app/core/table/entities-async-table-datasource.class.d.ts +0 -81
  503. package/src/app/core/table/entities-table-datasource.class.d.ts +0 -95
  504. package/src/app/core/table/memory-table.class.d.ts +0 -25
  505. package/src/app/core/table/table-select-columns.component.d.ts +0 -22
  506. package/src/app/core/table/table.class.d.ts +0 -394
  507. package/src/app/core/table/table.model.d.ts +0 -26
  508. package/src/app/core/table/table.module.d.ts +0 -14
  509. package/src/app/core/table/table.pipes.d.ts +0 -28
  510. package/src/app/core/table/table.utils.d.ts +0 -11
  511. package/src/app/core/table/testing/table-validator.service.d.ts +0 -17
  512. package/src/app/core/table/testing/table.testing.d.ts +0 -54
  513. package/src/app/core/table/testing/table.testing.module.d.ts +0 -14
  514. package/src/app/core/table/testing/table2-validator.service.d.ts +0 -15
  515. package/src/app/core/table/testing/table2.testing.d.ts +0 -48
  516. package/src/app/shared/alerts.d.ts +0 -55
  517. package/src/app/shared/audio/audio.d.ts +0 -44
  518. package/src/app/shared/audio/audio.testing.d.ts +0 -13
  519. package/src/app/shared/audio/audio.testing.module.d.ts +0 -11
  520. package/src/app/shared/capacitor/keyboard.d.ts +0 -16
  521. package/src/app/shared/capacitor/plugins.d.ts +0 -7
  522. package/src/app/shared/constants.d.ts +0 -13
  523. package/src/app/shared/dates.d.ts +0 -48
  524. package/src/app/shared/debug/debug-service.class.d.ts +0 -5
  525. package/src/app/shared/debug/debug.component.d.ts +0 -13
  526. package/src/app/shared/debug/debug.module.d.ts +0 -12
  527. package/src/app/shared/directives/autofocus.directive.d.ts +0 -18
  528. package/src/app/shared/directives/autotitle.directive.d.ts +0 -10
  529. package/src/app/shared/directives/directives.module.d.ts +0 -12
  530. package/src/app/shared/directives/drag-and-drop.directive.d.ts +0 -17
  531. package/src/app/shared/directives/ng-var.directive.d.ts +0 -12
  532. package/src/app/shared/directives/resizable/resizable.component.d.ts +0 -21
  533. package/src/app/shared/directives/resizable/resizable.directive.d.ts +0 -12
  534. package/src/app/shared/directives/resizable/resizable.module.d.ts +0 -8
  535. package/src/app/shared/events.d.ts +0 -28
  536. package/src/app/shared/file/csv.utils.d.ts +0 -24
  537. package/src/app/shared/file/file.service.d.ts +0 -23
  538. package/src/app/shared/file/file.utils.d.ts +0 -20
  539. package/src/app/shared/file/images.utils.d.ts +0 -36
  540. package/src/app/shared/file/json.utils.d.ts +0 -19
  541. package/src/app/shared/file/uri.utils.d.ts +0 -8
  542. package/src/app/shared/focusable.d.ts +0 -4
  543. package/src/app/shared/form/field.component.d.ts +0 -74
  544. package/src/app/shared/form/field.model.d.ts +0 -39
  545. package/src/app/shared/form/loading-spinner.d.ts +0 -8
  546. package/src/app/shared/forms.d.ts +0 -118
  547. package/src/app/shared/functions.d.ts +0 -152
  548. package/src/app/shared/geolocation/geolocation.utils.d.ts +0 -19
  549. package/src/app/shared/gesture/gesture-config.d.ts +0 -15
  550. package/src/app/shared/gesture/hammer.utils.d.ts +0 -16
  551. package/src/app/shared/graph/colors.utils.d.ts +0 -17
  552. package/src/app/shared/graph/graph-colors.d.ts +0 -63
  553. package/src/app/shared/guard/component-dirty.guard.d.ts +0 -14
  554. package/src/app/shared/help/help.modal.d.ts +0 -33
  555. package/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.d.ts +0 -8
  556. package/src/app/shared/hotkeys/hotkeys.service.d.ts +0 -42
  557. package/src/app/shared/hotkeys/shared-hotkeys.module.d.ts +0 -11
  558. package/src/app/shared/http/http.utils.d.ts +0 -28
  559. package/src/app/shared/image/gallery/image-gallery.component.d.ts +0 -98
  560. package/src/app/shared/image/gallery/image-gallery.module.d.ts +0 -15
  561. package/src/app/shared/image/gallery/testing/gallegry.model.testing.d.ts +0 -12
  562. package/src/app/shared/image/gallery/testing/gallery.service.testing.d.ts +0 -33
  563. package/src/app/shared/image/gallery/testing/gallery.testing.d.ts +0 -16
  564. package/src/app/shared/image/gallery/testing/gallery.testing.module.d.ts +0 -13
  565. package/src/app/shared/image/image.model.d.ts +0 -5
  566. package/src/app/shared/image/image.module.d.ts +0 -8
  567. package/src/app/shared/image/image.service.d.ts +0 -32
  568. package/src/app/shared/inputs.d.ts +0 -34
  569. package/src/app/shared/interceptors/progess.interceptor.d.ts +0 -8
  570. package/src/app/shared/logging/log-level.model.d.ts +0 -38
  571. package/src/app/shared/logging/logger.model.d.ts +0 -68
  572. package/src/app/shared/logging/logging-service.class.d.ts +0 -39
  573. package/src/app/shared/logging/logging-service.config.d.ts +0 -25
  574. package/src/app/shared/logging/logging-service.module.d.ts +0 -9
  575. package/src/app/shared/material/autocomplete/material.autocomplete.config.d.ts +0 -55
  576. package/src/app/shared/material/autocomplete/material.autocomplete.d.ts +0 -180
  577. package/src/app/shared/material/autocomplete/material.autocomplete.module.d.ts +0 -22
  578. package/src/app/shared/material/autocomplete/material.autocomplete.utils.d.ts +0 -5
  579. package/src/app/shared/material/autocomplete/testing/autocomplete.test.d.ts +0 -46
  580. package/src/app/shared/material/badge/badge.directive.d.ts +0 -43
  581. package/src/app/shared/material/badge/badge.module.d.ts +0 -10
  582. package/src/app/shared/material/badge/badge.test.d.ts +0 -21
  583. package/src/app/shared/material/boolean/boolean.module.d.ts +0 -21
  584. package/src/app/shared/material/boolean/material.boolean.d.ts +0 -93
  585. package/src/app/shared/material/boolean/testing/boolean.test.page.d.ts +0 -22
  586. package/src/app/shared/material/chips/chips.module.d.ts +0 -22
  587. package/src/app/shared/material/chips/material.chips.d.ts +0 -150
  588. package/src/app/shared/material/chips/testing/chips.test.d.ts +0 -32
  589. package/src/app/shared/material/datetime/datetime.module.d.ts +0 -24
  590. package/src/app/shared/material/datetime/material.date.d.ts +0 -90
  591. package/src/app/shared/material/datetime/material.dateshort.d.ts +0 -89
  592. package/src/app/shared/material/datetime/material.datetime.d.ts +0 -121
  593. package/src/app/shared/material/datetime/testing/mat-date-time.test.d.ts +0 -37
  594. package/src/app/shared/material/datetime/testing/mat-date.test.d.ts +0 -32
  595. package/src/app/shared/material/datetime/testing/mat-dateshort.test.d.ts +0 -31
  596. package/src/app/shared/material/duration/duration.module.d.ts +0 -19
  597. package/src/app/shared/material/duration/duration.utils.d.ts +0 -3
  598. package/src/app/shared/material/duration/material.duration.d.ts +0 -58
  599. package/src/app/shared/material/duration/testing/mat-duration.test.d.ts +0 -22
  600. package/src/app/shared/material/latlong/latlong.utils.d.ts +0 -21
  601. package/src/app/shared/material/latlong/material.latlong.d.ts +0 -70
  602. package/src/app/shared/material/latlong/material.latlong.module.d.ts +0 -20
  603. package/src/app/shared/material/latlong/testing/latlong.test.d.ts +0 -27
  604. package/src/app/shared/material/material.animations.d.ts +0 -6
  605. package/src/app/shared/material/material.config.d.ts +0 -3
  606. package/src/app/shared/material/material.module.d.ts +0 -45
  607. package/src/app/shared/material/material.testing.module.d.ts +0 -31
  608. package/src/app/shared/material/paginator/material.paginator-i18n.d.ts +0 -12
  609. package/src/app/shared/material/stepper/material.stepper-i18n.d.ts +0 -10
  610. package/src/app/shared/material/swipe/material.swipe.d.ts +0 -90
  611. package/src/app/shared/material/swipe/swipe.module.d.ts +0 -16
  612. package/src/app/shared/material/swipe/testing/swipe.test.d.ts +0 -22
  613. package/src/app/shared/material/testing/common.test.d.ts +0 -25
  614. package/src/app/shared/material/text/testing/text-form.testing.d.ts +0 -19
  615. package/src/app/shared/material/text/text-form.component.d.ts +0 -66
  616. package/src/app/shared/material/text/text-form.module.d.ts +0 -16
  617. package/src/app/shared/modules.d.ts +0 -9
  618. package/src/app/shared/named-filter/named-filter-selector.component.d.ts +0 -60
  619. package/src/app/shared/named-filter/named-filter.model.d.ts +0 -32
  620. package/src/app/shared/named-filter/named-filter.module.d.ts +0 -13
  621. package/src/app/shared/named-filter/named-filter.service.d.ts +0 -32
  622. package/src/app/shared/named-filter/testing/named-filter-selector.testing.d.ts +0 -34
  623. package/src/app/shared/named-filter/testing/named-filter.testing.module.d.ts +0 -10
  624. package/src/app/shared/observables.d.ts +0 -30
  625. package/src/app/shared/pipes/arrays.pipe.d.ts +0 -59
  626. package/src/app/shared/pipes/badge.pipes.d.ts +0 -7
  627. package/src/app/shared/pipes/colors.pipe.d.ts +0 -9
  628. package/src/app/shared/pipes/date-diff-duration.pipe.d.ts +0 -23
  629. package/src/app/shared/pipes/date-format.pipe.d.ts +0 -35
  630. package/src/app/shared/pipes/date-from-now.pipe.d.ts +0 -12
  631. package/src/app/shared/pipes/duration.pipe.d.ts +0 -13
  632. package/src/app/shared/pipes/file-size.pipe.d.ts +0 -30
  633. package/src/app/shared/pipes/form.pipes.d.ts +0 -69
  634. package/src/app/shared/pipes/highlight.pipe.d.ts +0 -11
  635. package/src/app/shared/pipes/html.pipes.d.ts +0 -15
  636. package/src/app/shared/pipes/latlong-format.pipe.d.ts +0 -20
  637. package/src/app/shared/pipes/maps.pipe.d.ts +0 -22
  638. package/src/app/shared/pipes/maskito.pipe.d.ts +0 -14
  639. package/src/app/shared/pipes/math.pipes.d.ts +0 -20
  640. package/src/app/shared/pipes/ng-init.pipe.d.ts +0 -8
  641. package/src/app/shared/pipes/number-format.pipe.d.ts +0 -10
  642. package/src/app/shared/pipes/pipes.module.d.ts +0 -31
  643. package/src/app/shared/pipes/property.pipes.d.ts +0 -47
  644. package/src/app/shared/pipes/selection.pipes.d.ts +0 -62
  645. package/src/app/shared/pipes/string.pipes.d.ts +0 -53
  646. package/src/app/shared/pipes/translate-context.pipe.d.ts +0 -17
  647. package/src/app/shared/pipes/types.pipes.d.ts +0 -30
  648. package/src/app/shared/platforms.d.ts +0 -8
  649. package/src/app/shared/rx-state.module.d.ts +0 -10
  650. package/src/app/shared/services/entity-service.class.d.ts +0 -71
  651. package/src/app/shared/services/job.utils.d.ts +0 -20
  652. package/src/app/shared/services/memory-entity-service.class.d.ts +0 -78
  653. package/src/app/shared/services/progress-bar.service.d.ts +0 -20
  654. package/src/app/shared/services/startable-observable-service.class.d.ts +0 -36
  655. package/src/app/shared/services/startable-service.class.d.ts +0 -37
  656. package/src/app/shared/services/translate-context.service.d.ts +0 -29
  657. package/src/app/shared/services/validator-service.class.d.ts +0 -11
  658. package/src/app/shared/services.d.ts +0 -10
  659. package/src/app/shared/shared-routing.module.d.ts +0 -23
  660. package/src/app/shared/shared.module.d.ts +0 -34
  661. package/src/app/shared/shared.testing.module.d.ts +0 -19
  662. package/src/app/shared/storage/storage-explorer.component.d.ts +0 -59
  663. package/src/app/shared/storage/storage-explorer.module.d.ts +0 -13
  664. package/src/app/shared/storage/storage-explorer.testing-routing.module.d.ts +0 -9
  665. package/src/app/shared/storage/storage-explorer.testing.module.d.ts +0 -10
  666. package/src/app/shared/storage/storage.service.d.ts +0 -22
  667. package/src/app/shared/storage/storage.utils.d.ts +0 -19
  668. package/src/app/shared/testing/maskito.test.d.ts +0 -10
  669. package/src/app/shared/testing/observable.test.d.ts +0 -25
  670. package/src/app/shared/testing/tests.page.d.ts +0 -20
  671. package/src/app/shared/toast/toast.testing.d.ts +0 -15
  672. package/src/app/shared/toast/toast.testing.module.d.ts +0 -11
  673. package/src/app/shared/toast/toasts.d.ts +0 -17
  674. package/src/app/shared/toolbar/modal-toolbar.d.ts +0 -21
  675. package/src/app/shared/toolbar/toolbar.d.ts +0 -68
  676. package/src/app/shared/toolbar/toolbar.module.d.ts +0 -16
  677. package/src/app/shared/types.d.ts +0 -31
  678. package/src/app/shared/upload-file/testing/upload-file.testing.d.ts +0 -21
  679. package/src/app/shared/upload-file/testing/upload-file.testing.module.d.ts +0 -11
  680. package/src/app/shared/upload-file/upload-file-popover.component.d.ts +0 -39
  681. package/src/app/shared/upload-file/upload-file.component.d.ts +0 -49
  682. package/src/app/shared/upload-file/upload-file.model.d.ts +0 -30
  683. package/src/app/shared/validator/form-error-adapter.class.d.ts +0 -33
  684. package/src/app/shared/validator/validators.d.ts +0 -130
  685. package/src/app/shared/version/versions.d.ts +0 -26
  686. package/src/app/social/job/job.module.d.ts +0 -12
  687. package/src/app/social/job/progression/job-progression.component.d.ts +0 -23
  688. package/src/app/social/job/progression/job-progression.icon.d.ts +0 -62
  689. package/src/app/social/job/progression/job-progression.list.d.ts +0 -19
  690. package/src/app/social/job/progression/job-progression.model.d.ts +0 -10
  691. package/src/app/social/job/progression/job-progression.service.d.ts +0 -33
  692. package/src/app/social/job/testing/job-progression.testing.d.ts +0 -13
  693. package/src/app/social/job/testing/job-progression.testing.service.d.ts +0 -9
  694. package/src/app/social/job/testing/job.testing.module.d.ts +0 -11
  695. package/src/app/social/message/message.form.d.ts +0 -36
  696. package/src/app/social/message/message.modal.d.ts +0 -43
  697. package/src/app/social/message/message.model.d.ts +0 -33
  698. package/src/app/social/message/message.module.d.ts +0 -12
  699. package/src/app/social/message/message.service.d.ts +0 -32
  700. package/src/app/social/social.errors.d.ts +0 -9
  701. package/src/app/social/social.module.d.ts +0 -20
  702. package/src/app/social/social.testing.module.d.ts +0 -13
  703. package/src/app/social/user-event/notification/user-event-notification.icon.d.ts +0 -32
  704. package/src/app/social/user-event/notification/user-event-notification.list.d.ts +0 -71
  705. package/src/app/social/user-event/testing/user-event.testing.d.ts +0 -35
  706. package/src/app/social/user-event/testing/user-event.testing.model.d.ts +0 -42
  707. package/src/app/social/user-event/testing/user-event.testing.module.d.ts +0 -11
  708. package/src/app/social/user-event/testing/user-event.testing.service.d.ts +0 -42
  709. package/src/app/social/user-event/user-event.model.d.ts +0 -44
  710. package/src/app/social/user-event/user-event.module.d.ts +0 -13
  711. package/src/app/social/user-event/user-event.service.d.ts +0 -129
  712. package/src/environments/environment.class.d.ts +0 -68
  713. package/src/environments/environment.d.ts +0 -2
  714. package/src/environments/environment.loader.d.ts +0 -24
  715. package/src/theme/_globals.scss +0 -5
@@ -1,95 +0,0 @@
1
- import { Component, ViewChild } from '@angular/core';
2
- import { AppPropertiesForm } from '../properties.form';
3
- import { StatusIds } from '../../../services/model/model.enum';
4
- import { suggestFromArray } from '../../../../shared/services';
5
- import { Validators } from '@angular/forms';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/forms";
8
- import * as i2 from "@ionic/angular";
9
- import * as i3 from "../properties.form";
10
- const TEST_PROPERTIES = Object.freeze({
11
- // Entity
12
- ENTITY: {
13
- key: 'sumaris.properties.entity',
14
- label: 'Select one entity',
15
- type: 'entity',
16
- autocomplete: {
17
- filter: {
18
- entityName: 'LocationLevel',
19
- statusIds: [StatusIds.DISABLE, StatusIds.ENABLE],
20
- },
21
- attributes: ['label', 'name'],
22
- },
23
- defaultValue: null,
24
- },
25
- // Entities
26
- ENTITIES: {
27
- key: 'sumaris.properties.entities',
28
- label: 'Select many entities',
29
- type: 'entities',
30
- autocomplete: {
31
- filter: {
32
- entityName: 'LocationLevel',
33
- statusIds: [StatusIds.DISABLE, StatusIds.ENABLE],
34
- },
35
- attributes: ['label', 'name'],
36
- },
37
- defaultValue: null,
38
- },
39
- });
40
- const FAKE_ENTITIES = [
41
- { id: 1, label: 'AAA', name: 'Item A', description: 'Very long description A', comments: 'Very very long comments... again for A' },
42
- { id: 2, label: 'BBB', name: 'Item B', description: 'Very long description B', comments: 'Very very long comments... again for B' },
43
- { id: 3, label: 'CCC', name: 'Item C', description: 'Very long description C', comments: 'Very very long comments... again for C' },
44
- ];
45
- export class PropertiesFormTestPage {
46
- formBuilder;
47
- propertyDefinitions;
48
- i18nFieldPrefix;
49
- form;
50
- propertiesForm;
51
- constructor(formBuilder) {
52
- this.formBuilder = formBuilder;
53
- this.i18nFieldPrefix = '';
54
- this.form = formBuilder.group({
55
- properties: formBuilder.array([
56
- this.formBuilder.group({
57
- key: [null, Validators.compose([Validators.required, Validators.max(50)])],
58
- value: [null, Validators.required],
59
- }),
60
- ]),
61
- });
62
- this.propertyDefinitions = Object.values(TEST_PROPERTIES).map((def) => {
63
- if (def.type === 'entity' || def.type === 'entities') {
64
- def = Object.assign({}, def); // Copy
65
- def.autocomplete = {
66
- suggestFn: (value, filter) => this.suggestEntity(value, filter),
67
- ...def.autocomplete,
68
- };
69
- }
70
- return def;
71
- });
72
- }
73
- ngOnInit() {
74
- this.propertiesForm.markAsReady();
75
- this.propertiesForm.enable();
76
- }
77
- ngAfterViewInit() {
78
- const properties = {};
79
- properties[TEST_PROPERTIES.ENTITIES.key] = FAKE_ENTITIES[0];
80
- this.propertiesForm.setValue(properties);
81
- }
82
- async suggestEntity(value, filter) {
83
- return suggestFromArray(FAKE_ENTITIES, value, filter);
84
- }
85
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: PropertiesFormTestPage, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
86
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: PropertiesFormTestPage, selector: "app-properties-form-test", viewQueries: [{ propertyName: "propertiesForm", first: true, predicate: ["propertiesForm"], descendants: true, read: AppPropertiesForm, static: true }], ngImport: i0, template: "<ion-header>\n <ion-toolbar color=\"primary\">\n <ion-buttons slot=\"start\">\n <ion-back-button></ion-back-button>\n </ion-buttons>\n\n <ion-title>Properties form test page</ion-title>\n </ion-toolbar>\n</ion-header>\n\n<ion-content class=\"ion-padding\">\n <form [formGroup]=\"form\">\n <app-properties-form\n #propertiesForm\n formArrayName=\"properties\"\n [definitions]=\"propertyDefinitions\"\n [options]=\"{ allowEmptyArray: true }\"\n showHintKey=\"true\"\n ></app-properties-form>\n </form>\n</ion-content>\n", dependencies: [{ kind: "component", type: i2.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: i2.IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i2.IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i2.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: i2.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: i2.IonBackButton, selector: "ion-back-button" }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "component", type: i3.AppPropertiesForm, selector: "app-properties-form", inputs: ["formArrayName", "formArray", "options", "chipColor", "mobile", "appearance", "subscriptSizing", "showHintKey", "hintKeyPrefix", "showMoreButton", "showMoreButtonTitle", "showAddButton", "definitions"] }] });
87
- }
88
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: PropertiesFormTestPage, decorators: [{
89
- type: Component,
90
- args: [{ selector: 'app-properties-form-test', template: "<ion-header>\n <ion-toolbar color=\"primary\">\n <ion-buttons slot=\"start\">\n <ion-back-button></ion-back-button>\n </ion-buttons>\n\n <ion-title>Properties form test page</ion-title>\n </ion-toolbar>\n</ion-header>\n\n<ion-content class=\"ion-padding\">\n <form [formGroup]=\"form\">\n <app-properties-form\n #propertiesForm\n formArrayName=\"properties\"\n [definitions]=\"propertyDefinitions\"\n [options]=\"{ allowEmptyArray: true }\"\n showHintKey=\"true\"\n ></app-properties-form>\n </form>\n</ion-content>\n" }]
91
- }], ctorParameters: () => [{ type: i1.FormBuilder }], propDecorators: { propertiesForm: [{
92
- type: ViewChild,
93
- args: ['propertiesForm', { read: AppPropertiesForm, static: true }]
94
- }] } });
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydGllcy1mb3JtLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvcmUvZm9ybS9wcm9wZXJ0aWVzL3Rlc3RpbmcvcHJvcGVydGllcy1mb3JtLnRlc3QudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvcmUvZm9ybS9wcm9wZXJ0aWVzL3Rlc3RpbmcvcHJvcGVydGllcy1mb3JtLnRlc3QuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFNUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRy9ELE9BQU8sRUFBMEIsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBRXBFLE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDcEMsU0FBUztJQUNULE1BQU0sRUFBdUI7UUFDM0IsR0FBRyxFQUFFLDJCQUEyQjtRQUNoQyxLQUFLLEVBQUUsbUJBQW1CO1FBQzFCLElBQUksRUFBRSxRQUFRO1FBQ2QsWUFBWSxFQUFFO1lBQ1osTUFBTSxFQUFFO2dCQUNOLFVBQVUsRUFBRSxlQUFlO2dCQUMzQixTQUFTLEVBQUUsQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUM7YUFDakQ7WUFDRCxVQUFVLEVBQUUsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDO1NBQzlCO1FBQ0QsWUFBWSxFQUFFLElBQUk7S0FDbkI7SUFFRCxXQUFXO0lBQ1gsUUFBUSxFQUF1QjtRQUM3QixHQUFHLEVBQUUsNkJBQTZCO1FBQ2xDLEtBQUssRUFBRSxzQkFB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Q0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFUyxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQVUsRUFBRSxNQUFXO1FBQ25ELE9BQU8sZ0JBQWdCLENBQUMsYUFBYSxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN4RCxDQUFDO3VHQTNDVSxzQkFBc0I7MkZBQXRCLHNCQUFzQiw2SkFLSSxpQkFBaUIsMkNDeER4RCx3akJBcUJBOzsyRkQ4QmEsc0JBQXNCO2tCQUpsQyxTQUFTOytCQUNFLDBCQUEwQjtnRkFRb0MsY0FBYztzQkFBckYsU0FBUzt1QkFBQyxnQkFBZ0IsRUFBRSxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUZpZWxkRGVmaW5pdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC9mb3JtL2ZpZWxkLm1vZGVsJztcbmltcG9ydCB7IEFwcFByb3BlcnRpZXNGb3JtIH0gZnJvbSAnLi4vcHJvcGVydGllcy5mb3JtJztcbmltcG9ydCB7IFN0YXR1c0lkcyB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21vZGVsL21vZGVsLmVudW0nO1xuaW1wb3J0IHsgc3VnZ2VzdEZyb21BcnJheSB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBMb2FkUmVzdWx0IH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL3NlcnZpY2VzL2VudGl0eS1zZXJ2aWNlLmNsYXNzJztcbmltcG9ydCB7IE9iamVjdE1hcCB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC90eXBlcyc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5jb25zdCBURVNUX1BST1BFUlRJRVMgPSBPYmplY3QuZnJlZXplKHtcbiAgLy8gRW50aXR5XG4gIEVOVElUWTogPEZvcm1GaWVsZERlZmluaXRpb24+e1xuICAgIGtleTogJ3N1bWFyaXMucHJvcGVydGllcy5lbnRpdHknLFxuICAgIGxhYmVsOiAnU2VsZWN0IG9uZSBlbnRpdHknLFxuICAgIHR5cGU6ICdlbnRpdHknLFxuICAgIGF1dG9jb21wbGV0ZToge1xuICAgICAgZmlsdGVyOiB7XG4gICAgICAgIGVudGl0eU5hbWU6ICdMb2NhdGlvbkxldmVsJyxcbiAgICAgICAgc3RhdHVzSWRzOiBbU3RhdHVzSWRzLkRJU0FCTEUsIFN0YXR1c0lkcy5FTkFCTEVdLFxuICAgICAgfSxcbiAgICAgIGF0dHJpYnV0ZXM6IFsnbGFiZWwnLCAnbmFtZSddLFxuICAgIH0sXG4gICAgZGVmYXVsdFZhbHVlOiBudWxsLFxuICB9LFxuXG4gIC8vIEVudGl0aWVzXG4gIEVOVElUSUVTOiA8Rm9ybUZpZWxkRGVmaW5pdGlvbj57XG4gICAga2V5OiAnc3VtYXJpcy5wcm9wZXJ0aWVzLmVudGl0aWVzJyxcbiAgICBsYWJlbDogJ1NlbGVjdCBtYW55IGVudGl0aWVzJyxcbiAgICB0eXBlOiAnZW50aXRpZXMnLFxuICAgIGF1dG9jb21wbGV0ZToge1xuICAgICAgZmlsdGVyOiB7XG4gICAgICAgIGVudGl0eU5hbWU6ICdMb2NhdGlvbkxldmVsJyxcbiAgICAgICAgc3RhdHVzSWRzOiBbU3RhdHVzSWRzLkRJU0FCTEUsIFN0YXR1c0lkcy5FTkFCTEVdLFxuICAgICAgfSxcbiAgICAgIGF0dHJpYnV0ZXM6IFsnbGFiZWwnLCAnbmFtZSddLFxuICAgIH0sXG4gICAgZGVmYXVsdFZhbHVlOiBudWxsLFxuICB9LFxufSk7XG5cbmNvbnN0IEZBS0VfRU5USVRJRVMgPSBbXG4gIHsgaWQ6IDEsIGxhYmVsOiAnQUFBJywgbmFtZTogJ0l0ZW0gQScsIGRlc2NyaXB0aW9uOiAnVmVyeSBsb25nIGRlc2NyaXB0aW9uIEEnLCBjb21tZW50czogJ1ZlcnkgdmVyeSBsb25nIGNvbW1lbnRzLi4uIGFnYWluIGZvciBBJyB9LFxuICB7IGlkOiAyLCBsYWJlbDogJ0JCQicsIG5hbWU6ICdJdGVtIEInLCBkZXNjcmlwdGlvbjogJ1ZlcnkgbG9uZyBkZXNjcmlwdGlvbiBCJywgY29tbWVudHM6ICdWZXJ5IHZlcnkgbG9uZyBjb21tZW50cy4uLiBhZ2FpbiBmb3IgQicgfSxcbiAgeyBpZDogMywgbGFiZWw6ICdDQ0MnLCBuYW1lOiAnSXRlbSBDJywgZGVzY3JpcHRpb246ICdWZXJ5IGxvbmcgZGVzY3JpcHRpb24gQycsIGNvbW1lbnRzOiAnVmVyeSB2ZXJ5IGxvbmcgY29tbWVudHMuLi4gYWdhaW4gZm9yIEMnIH0sXG5dO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtcHJvcGVydGllcy1mb3JtLXRlc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvcGVydGllcy1mb3JtLnRlc3QuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFByb3BlcnRpZXNGb3JtVGVzdFBhZ2UgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICBwcm9wZXJ0eURlZmluaXRpb25zOiBGb3JtRmllbGREZWZpbml0aW9uW107XG4gIGkxOG5GaWVsZFByZWZpeDogc3RyaW5nO1xuICBmb3JtOiBGb3JtR3JvdXA7XG5cbiAgQFZpZXdDaGlsZCgncHJvcGVydGllc0Zvcm0nLCB7IHJlYWQ6IEFwcFByb3BlcnRpZXNGb3JtLCBzdGF0aWM6IHRydWUgfSkgcHJvcGVydGllc0Zvcm06IEFwcFByb3BlcnRpZXNGb3JtO1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIpIHtcbiAgICB0aGlzLmkxOG5GaWVsZFByZWZpeCA9ICcnO1xuICAgIHRoaXMuZm9ybSA9IGZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgIHByb3BlcnRpZXM6IGZvcm1CdWlsZGVyLmFycmF5KFtcbiAgICAgICAgdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICAgICAga2V5OiBbbnVsbCwgVmFsaWRhdG9ycy5jb21wb3NlKFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1heCg1MCldKV0sXG4gICAgICAgICAgdmFsdWU6IFtudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgICAgfSksXG4gICAgICBdKSxcbiAgICB9KTtcblxuICAgIHRoaXMucHJvcGVydHlEZWZpbml0aW9ucyA9IE9iamVjdC52YWx1ZXMoVEVTVF9QUk9QRVJUSUVTKS5tYXAoKGRlZikgPT4ge1xuICAgICAgaWYgKGRlZi50eXBlID09PSAnZW50aXR5JyB8fCBkZWYudHlwZSA9PT0gJ2VudGl0aWVzJykge1xuICAgICAgICBkZWYgPSBPYmplY3QuYXNzaWduKHt9LCBkZWYpOyAvLyBDb3B5XG4gICAgICAgIGRlZi5hdXRvY29tcGxldGUgPSB7XG4gICAgICAgICAgc3VnZ2VzdEZuOiAodmFsdWUsIGZpbHRlcikgPT4gdGhpcy5zdWdnZXN0RW50aXR5KHZhbHVlLCBmaWx0ZXIpLFxuICAgICAgICAgIC4uLmRlZi5hdXRvY29tcGxldGUsXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICByZXR1cm4gZGVmO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5wcm9wZXJ0aWVzRm9ybS5tYXJrQXNSZWFkeSgpO1xuICAgIHRoaXMucHJvcGVydGllc0Zvcm0uZW5hYmxlKCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgY29uc3QgcHJvcGVydGllczogT2JqZWN0TWFwID0ge307XG4gICAgcHJvcGVydGllc1tURVNUX1BST1BFUlRJRVMuRU5USVRJRVMua2V5XSA9IEZBS0VfRU5USVRJRVNbMF07XG4gICAgdGhpcy5wcm9wZXJ0aWVzRm9ybS5zZXRWYWx1ZShwcm9wZXJ0aWVzKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBzdWdnZXN0RW50aXR5KHZhbHVlOiBhbnksIGZpbHRlcjogYW55KTogUHJvbWlzZTxMb2FkUmVzdWx0PGFueT4+IHtcbiAgICByZXR1cm4gc3VnZ2VzdEZyb21BcnJheShGQUtFX0VOVElUSUVTLCB2YWx1ZSwgZmlsdGVyKTtcbiAgfVxufVxuIiwiPGlvbi1oZWFkZXI+XG4gIDxpb24tdG9vbGJhciBjb2xvcj1cInByaW1hcnlcIj5cbiAgICA8aW9uLWJ1dHRvbnMgc2xvdD1cInN0YXJ0XCI+XG4gICAgICA8aW9uLWJhY2stYnV0dG9uPjwvaW9uLWJhY2stYnV0dG9uPlxuICAgIDwvaW9uLWJ1dHRvbnM+XG5cbiAgICA8aW9uLXRpdGxlPlByb3BlcnRpZXMgZm9ybSB0ZXN0IHBhZ2U8L2lvbi10aXRsZT5cbiAgPC9pb24tdG9vbGJhcj5cbjwvaW9uLWhlYWRlcj5cblxuPGlvbi1jb250ZW50IGNsYXNzPVwiaW9uLXBhZGRpbmdcIj5cbiAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCI+XG4gICAgPGFwcC1wcm9wZXJ0aWVzLWZvcm1cbiAgICAgICNwcm9wZXJ0aWVzRm9ybVxuICAgICAgZm9ybUFycmF5TmFtZT1cInByb3BlcnRpZXNcIlxuICAgICAgW2RlZmluaXRpb25zXT1cInByb3BlcnR5RGVmaW5pdGlvbnNcIlxuICAgICAgW29wdGlvbnNdPVwieyBhbGxvd0VtcHR5QXJyYXk6IHRydWUgfVwiXG4gICAgICBzaG93SGludEtleT1cInRydWVcIlxuICAgID48L2FwcC1wcm9wZXJ0aWVzLWZvcm0+XG4gIDwvZm9ybT5cbjwvaW9uLWNvbnRlbnQ+XG4iXX0=
@@ -1,23 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { RouterModule } from '@angular/router';
3
- import { CommonModule } from '@angular/common';
4
- import { TranslateModule } from '@ngx-translate/core';
5
- import { PropertiesFormTestPage } from './properties-form.test';
6
- import { SharedModule } from '../../../../shared/shared.module';
7
- import { CoreModule } from '../../../core.module';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "@ngx-translate/core";
10
- export class PropertiesFormTestingModule {
11
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: PropertiesFormTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.8", ngImport: i0, type: PropertiesFormTestingModule, declarations: [PropertiesFormTestPage], imports: [CommonModule, SharedModule, CoreModule, i1.TranslateModule], exports: [RouterModule, PropertiesFormTestPage] });
13
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: PropertiesFormTestingModule, imports: [CommonModule, SharedModule, CoreModule, TranslateModule.forChild(), RouterModule] });
14
- }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: PropertiesFormTestingModule, decorators: [{
16
- type: NgModule,
17
- args: [{
18
- imports: [CommonModule, SharedModule, CoreModule, TranslateModule.forChild()],
19
- declarations: [PropertiesFormTestPage],
20
- exports: [RouterModule, PropertiesFormTestPage],
21
- }]
22
- }] });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydGllcy1mb3JtLnRlc3RpbmcubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL2Zvcm0vcHJvcGVydGllcy90ZXN0aW5nL3Byb3BlcnRpZXMtZm9ybS50ZXN0aW5nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQU9sRCxNQUFNLE9BQU8sMkJBQTJCO3VHQUEzQiwyQkFBMkI7d0dBQTNCLDJCQUEyQixpQkFIdkIsc0JBQXNCLGFBRDNCLFlBQVksRUFBRSxZQUFZLEVBQUUsVUFBVSxpQ0FFdEMsWUFBWSxFQUFFLHNCQUFzQjt3R0FFbkMsMkJBQTJCLFlBSjVCLFlBQVksRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLGVBQWUsQ0FBQyxRQUFRLEVBQUUsRUFFbEUsWUFBWTs7MkZBRVgsMkJBQTJCO2tCQUx2QyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLGVBQWUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztvQkFDN0UsWUFBWSxFQUFFLENBQUMsc0JBQXNCLENBQUM7b0JBQ3RDLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxzQkFBc0IsQ0FBQztpQkFDaEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IFByb3BlcnRpZXNGb3JtVGVzdFBhZ2UgfSBmcm9tICcuL3Byb3BlcnRpZXMtZm9ybS50ZXN0JztcbmltcG9ydCB7IFNoYXJlZE1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC9zaGFyZWQubW9kdWxlJztcbmltcG9ydCB7IENvcmVNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9jb3JlLm1vZHVsZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFNoYXJlZE1vZHVsZSwgQ29yZU1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLmZvckNoaWxkKCldLFxuICBkZWNsYXJhdGlvbnM6IFtQcm9wZXJ0aWVzRm9ybVRlc3RQYWdlXSxcbiAgZXhwb3J0czogW1JvdXRlck1vZHVsZSwgUHJvcGVydGllc0Zvcm1UZXN0UGFnZV0sXG59KVxuZXhwb3J0IGNsYXNzIFByb3BlcnRpZXNGb3JtVGVzdGluZ01vZHVsZSB7fVxuIl19
@@ -1,73 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import { TextPopover } from '../text-popover.component';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@ionic/angular";
5
- import * as i2 from "@ngx-translate/core";
6
- import * as i3 from "../../../services/platform.service";
7
- export class TextPopoverTestingPage {
8
- popoverController;
9
- toastController;
10
- translate;
11
- platform;
12
- constructor(popoverController, toastController, translate, platform) {
13
- this.popoverController = popoverController;
14
- this.toastController = toastController;
15
- this.translate = translate;
16
- this.platform = platform;
17
- }
18
- async showPopover(event, opts) {
19
- const modal = await this.popoverController.create({
20
- component: TextPopover,
21
- componentProps: {
22
- title: 'modalTitle',
23
- headerColor: 'primary',
24
- placeholder: 'your text',
25
- ...opts,
26
- },
27
- backdropDismiss: false,
28
- keyboardClose: false,
29
- event,
30
- translucent: true,
31
- cssClass: 'popover-large',
32
- });
33
- await modal.present();
34
- const { data } = await modal.onDidDismiss();
35
- if (data) {
36
- console.info('Popover result: ', data);
37
- }
38
- }
39
- async showSharePopoverWithButtons(event, opts) {
40
- opts = {
41
- ...opts,
42
- text: opts?.multiline !== false
43
- ? 'Lorem ipsum dolor sit amet,\nconsectetur adipiscing elit'
44
- : 'Lorem ipsum dolor sit amet, consectetur adipiscing elit',
45
- editing: false,
46
- headerButtons: [
47
- {
48
- icon: 'copy',
49
- text: 'Copy',
50
- fill: 'outline',
51
- side: 'end',
52
- handler: async (value) => {
53
- await this.platform.copyToClipboard({
54
- label: opts?.title,
55
- string: value,
56
- }, {
57
- message: 'INFO.COPY_SUCCEED',
58
- });
59
- return false; // Avoid dismiss
60
- },
61
- },
62
- ],
63
- };
64
- return this.showPopover(event, opts);
65
- }
66
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TextPopoverTestingPage, deps: [{ token: i1.PopoverController }, { token: i1.ToastController }, { token: i2.TranslateService }, { token: i3.PlatformService }], target: i0.ɵɵFactoryTarget.Component });
67
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: TextPopoverTestingPage, selector: "text-popover-testing", ngImport: i0, template: "<ion-toolbar color=\"primary\">\n <ion-title>Text popover</ion-title>\n</ion-toolbar>\n\n<ion-content class=\"ion-padding\">\n <p>\n Multi lines examples:\n <br />\n <small>Press Ctrl+Enter to validate</small>\n <small>\n <pre>multiline: true</pre>\n </small>\n </p>\n\n <ion-button (click)=\"showPopover($event, {})\" color=\"tertiary\">\n <span translate>COMMON.BTN_SHOW</span>\n </ion-button>\n\n <ion-button (click)=\"showPopover($event, { autofocus: true })\" color=\"tertiary\">\n <span translate>COMMON.BTN_SHOW</span>\n &nbsp;(autofocus)\n </ion-button>\n\n <ion-button (click)=\"showSharePopoverWithButtons($event, { autofocus: true })\" color=\"tertiary\">\n <span translate>COMMON.BTN_SHOW</span>\n &nbsp;(headerButtons)\n </ion-button>\n\n <p>\n One line examples:\n <small>\n <pre>multiline: false</pre>\n </small>\n </p>\n\n <ion-button (click)=\"showPopover($event, { multiline: false })\" color=\"tertiary\">\n <span translate>COMMON.BTN_SHOW</span>\n &nbsp;\n </ion-button>\n\n <ion-button (click)=\"showPopover($event, { multiline: false, autofocus: true })\" color=\"tertiary\">\n <span translate>COMMON.BTN_SHOW</span>\n &nbsp;(autofocus)\n </ion-button>\n\n <ion-button (click)=\"showSharePopoverWithButtons($event, { multiline: false })\" color=\"tertiary\">\n <span translate>COMMON.BTN_SHOW</span>\n &nbsp;(headerButtons)\n </ion-button>\n</ion-content>\n", dependencies: [{ kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i1.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: i1.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "directive", type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }] });
68
- }
69
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TextPopoverTestingPage, decorators: [{
70
- type: Component,
71
- args: [{ selector: 'text-popover-testing', template: "<ion-toolbar color=\"primary\">\n <ion-title>Text popover</ion-title>\n</ion-toolbar>\n\n<ion-content class=\"ion-padding\">\n <p>\n Multi lines examples:\n <br />\n <small>Press Ctrl+Enter to validate</small>\n <small>\n <pre>multiline: true</pre>\n </small>\n </p>\n\n <ion-button (click)=\"showPopover($event, {})\" color=\"tertiary\">\n <span translate>COMMON.BTN_SHOW</span>\n </ion-button>\n\n <ion-button (click)=\"showPopover($event, { autofocus: true })\" color=\"tertiary\">\n <span translate>COMMON.BTN_SHOW</span>\n &nbsp;(autofocus)\n </ion-button>\n\n <ion-button (click)=\"showSharePopoverWithButtons($event, { autofocus: true })\" color=\"tertiary\">\n <span translate>COMMON.BTN_SHOW</span>\n &nbsp;(headerButtons)\n </ion-button>\n\n <p>\n One line examples:\n <small>\n <pre>multiline: false</pre>\n </small>\n </p>\n\n <ion-button (click)=\"showPopover($event, { multiline: false })\" color=\"tertiary\">\n <span translate>COMMON.BTN_SHOW</span>\n &nbsp;\n </ion-button>\n\n <ion-button (click)=\"showPopover($event, { multiline: false, autofocus: true })\" color=\"tertiary\">\n <span translate>COMMON.BTN_SHOW</span>\n &nbsp;(autofocus)\n </ion-button>\n\n <ion-button (click)=\"showSharePopoverWithButtons($event, { multiline: false })\" color=\"tertiary\">\n <span translate>COMMON.BTN_SHOW</span>\n &nbsp;(headerButtons)\n </ion-button>\n</ion-content>\n" }]
72
- }], ctorParameters: () => [{ type: i1.PopoverController }, { type: i1.ToastController }, { type: i2.TranslateService }, { type: i3.PlatformService }] });
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1wb3BvdmVyLnRlc3RpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvcmUvZm9ybS90ZXh0LXBvcG92ZXIvdGVzdGluZy90ZXh0LXBvcG92ZXIudGVzdGluZy50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9mb3JtL3RleHQtcG9wb3Zlci90ZXN0aW5nL3RleHQtcG9wb3Zlci50ZXN0aW5nLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxPQUFPLEVBQUUsV0FBVyxFQUFzQixNQUFNLDJCQUEyQixDQUFDOzs7OztBQVE1RSxNQUFNLE9BQU8sc0JBQXNCO0lBRXZCO0lBQ0E7SUFDQTtJQUNBO0lBSlYsWUFDVSxpQkFBb0MsRUFDcEMsZUFBZ0MsRUFDaEMsU0FBMkIsRUFDM0IsUUFBeUI7UUFIekIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7SUFDaEMsQ0FBQztJQUVKLEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBWSxFQUFFLElBQWtDO1FBQ2hFLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQztZQUNoRCxTQUFTLEVBQUUsV0FBVztZQUN0QixjQUFjLEVBQXNCO2dCQUNsQyxLQUFLLEVBQUUsWUFBWTtnQkFDbkIsV0FBVyxFQUFFLFNBQVM7Z0JBQ3RCLFdBQVcsRUFBRSxXQUFXO2dCQUN4QixHQUFHLElBQUk7YUFDUjtZQUNELGVBQWUsRUFBRSxLQUFLO1lBQ3RCLGFBQWEsRUFBRSxLQUFLO1lBQ3BCLEtBQUs7WUFDTCxXQUFXLEVBQUUsSUFBSTtZQUNqQixRQUFRLEVBQUUsZUFBZTtTQUMxQixDQUFDLENBQUM7UUFFSCxNQUFNLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN0QixNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFNUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNULE9BQU8sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDekMsQ0FBQztJQUNILENBQUM7SUFFUyxLQUFLLENBQUMsMkJBQTJCLENBQUMsS0FBYyxFQUFFLElBQWtDO1FBQzVGLElBQUksR0FBRztZQUNMLEdBQUcsSUFBSTtZQUNQLElBQUksRUFDRixJQUFJLEVBQUUsU0FBUyxLQUFLLEtBQUs7Z0JBQ3ZCLENBQUMsQ0FBQywwREFBMEQ7Z0JBQzVELENBQUMsQ0FBQyx5REFBeUQ7WUFDL0QsT0FBTyxFQUFFLEtBQUs7WUFDZCxhQUFhLEVBQUU7Z0JBQ2I7b0JBQ0UsSUFBSSxFQUFFLE1BQU07b0JBQ1osSUFBSSxFQUFFLE1BQU07b0JBQ1osSUFBSSxFQUFFLFNBQVM7b0JBQ2YsSUFBSSxFQUFFLEtBQUs7b0JBQ1gsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFhLEVBQUUsRUFBRTt3QkFDL0IsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FDakM7NEJBQ0UsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLOzRCQUNsQixNQUFNLEVBQUUsS0FBSzt5QkFDZCxFQUNEOzRCQUNFLE9BQU8sRUFBRSxtQkFBbUI7eUJBQzdCLENBQ0YsQ0FBQzt3QkFFRixPQUFPLEtBQUssQ0FBQyxDQUFDLGdCQUFnQjtvQkFDaEMsQ0FBQztpQkFDRjthQUNGO1NBQ0YsQ0FBQztRQUVGLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDdkMsQ0FBQzt1R0FoRVUsc0JBQXNCOzJGQUF0QixzQkFBc0IsNERDVm5DLHk3Q0FrREE7OzJGRHhDYSxzQkFBc0I7a0JBSmxDLFNBQVM7K0JBQ0Usc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQb3BvdmVyQ29udHJvbGxlciwgVG9hc3RDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHsgVGV4dFBvcG92ZXIsIFRleHRQb3BvdmVyT3B0aW9ucyB9IGZyb20gJy4uL3RleHQtcG9wb3Zlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgUGxhdGZvcm1TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcGxhdGZvcm0uc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RleHQtcG9wb3Zlci10ZXN0aW5nJyxcbiAgdGVtcGxhdGVVcmw6ICd0ZXh0LXBvcG92ZXIudGVzdGluZy5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgVGV4dFBvcG92ZXJUZXN0aW5nUGFnZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcG9wb3ZlckNvbnRyb2xsZXI6IFBvcG92ZXJDb250cm9sbGVyLFxuICAgIHByaXZhdGUgdG9hc3RDb250cm9sbGVyOiBUb2FzdENvbnRyb2xsZXIsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwbGF0Zm9ybTogUGxhdGZvcm1TZXJ2aWNlXG4gICkge31cblxuICBhc3luYyBzaG93UG9wb3ZlcihldmVudDogRXZlbnQsIG9wdHM/OiBQYXJ0aWFsPFRleHRQb3BvdmVyT3B0aW9ucz4pIHtcbiAgICBjb25zdCBtb2RhbCA9IGF3YWl0IHRoaXMucG9wb3ZlckNvbnRyb2xsZXIuY3JlYXRlKHtcbiAgICAgIGNvbXBvbmVudDogVGV4dFBvcG92ZXIsXG4gICAgICBjb21wb25lbnRQcm9wczogPFRleHRQb3BvdmVyT3B0aW9ucz57XG4gICAgICAgIHRpdGxlOiAnbW9kYWxUaXRsZScsXG4gICAgICAgIGhlYWRlckNvbG9yOiAncHJpbWFyeScsXG4gICAgICAgIHBsYWNlaG9sZGVyOiAneW91ciB0ZXh0JyxcbiAgICAgICAgLi4ub3B0cyxcbiAgICAgIH0sXG4gICAgICBiYWNrZHJvcERpc21pc3M6IGZhbHNlLFxuICAgICAga2V5Ym9hcmRDbG9zZTogZmFsc2UsXG4gICAgICBldmVudCxcbiAgICAgIHRyYW5zbHVjZW50OiB0cnVlLFxuICAgICAgY3NzQ2xhc3M6ICdwb3BvdmVyLWxhcmdlJyxcbiAgICB9KTtcblxuICAgIGF3YWl0IG1vZGFsLnByZXNlbnQoKTtcbiAgICBjb25zdCB7IGRhdGEgfSA9IGF3YWl0IG1vZGFsLm9uRGlkRGlzbWlzcygpO1xuXG4gICAgaWYgKGRhdGEpIHtcbiAgICAgIGNvbnNvbGUuaW5mbygnUG9wb3ZlciByZXN1bHQ6ICcsIGRhdGEpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBzaG93U2hhcmVQb3BvdmVyV2l0aEJ1dHRvbnMoZXZlbnQ6IFVJRXZlbnQsIG9wdHM/OiBQYXJ0aWFsPFRleHRQb3BvdmVyT3B0aW9ucz4pIHtcbiAgICBvcHRzID0ge1xuICAgICAgLi4ub3B0cyxcbiAgICAgIHRleHQ6XG4gICAgICAgIG9wdHM/Lm11bHRpbGluZSAhPT0gZmFsc2VcbiAgICAgICAgICA/ICdMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCxcXG5jb25zZWN0ZXR1ciBhZGlwaXNjaW5nIGVsaXQnXG4gICAgICAgICAgOiAnTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdCcsXG4gICAgICBlZGl0aW5nOiBmYWxzZSxcbiAgICAgIGhlYWRlckJ1dHRvbnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGljb246ICdjb3B5JyxcbiAgICAgICAgICB0ZXh0OiAnQ29weScsXG4gICAgICAgICAgZmlsbDogJ291dGxpbmUnLFxuICAgICAgICAgIHNpZGU6ICdlbmQnLFxuICAgICAgICAgIGhhbmRsZXI6IGFzeW5jICh2YWx1ZTogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLnBsYXRmb3JtLmNvcHlUb0NsaXBib2FyZChcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGxhYmVsOiBvcHRzPy50aXRsZSxcbiAgICAgICAgICAgICAgICBzdHJpbmc6IHZhbHVlLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbWVzc2FnZTogJ0lORk8uQ09QWV9TVUNDRUVEJyxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlOyAvLyBBdm9pZCBkaXNtaXNzXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLnNob3dQb3BvdmVyKGV2ZW50LCBvcHRzKTtcbiAgfVxufVxuIiwiPGlvbi10b29sYmFyIGNvbG9yPVwicHJpbWFyeVwiPlxuICA8aW9uLXRpdGxlPlRleHQgcG9wb3ZlcjwvaW9uLXRpdGxlPlxuPC9pb24tdG9vbGJhcj5cblxuPGlvbi1jb250ZW50IGNsYXNzPVwiaW9uLXBhZGRpbmdcIj5cbiAgPHA+XG4gICAgTXVsdGkgbGluZXMgZXhhbXBsZXM6XG4gICAgPGJyIC8+XG4gICAgPHNtYWxsPlByZXNzIEN0cmwrRW50ZXIgdG8gdmFsaWRhdGU8L3NtYWxsPlxuICAgIDxzbWFsbD5cbiAgICAgIDxwcmU+bXVsdGlsaW5lOiB0cnVlPC9wcmU+XG4gICAgPC9zbWFsbD5cbiAgPC9wPlxuXG4gIDxpb24tYnV0dG9uIChjbGljayk9XCJzaG93UG9wb3ZlcigkZXZlbnQsIHt9KVwiIGNvbG9yPVwidGVydGlhcnlcIj5cbiAgICA8c3BhbiB0cmFuc2xhdGU+Q09NTU9OLkJUTl9TSE9XPC9zcGFuPlxuICA8L2lvbi1idXR0b24+XG5cbiAgPGlvbi1idXR0b24gKGNsaWNrKT1cInNob3dQb3BvdmVyKCRldmVudCwgeyBhdXRvZm9jdXM6IHRydWUgfSlcIiBjb2xvcj1cInRlcnRpYXJ5XCI+XG4gICAgPHNwYW4gdHJhbnNsYXRlPkNPTU1PTi5CVE5fU0hPVzwvc3Bhbj5cbiAgICAmbmJzcDsoYXV0b2ZvY3VzKVxuICA8L2lvbi1idXR0b24+XG5cbiAgPGlvbi1idXR0b24gKGNsaWNrKT1cInNob3dTaGFyZVBvcG92ZXJXaXRoQnV0dG9ucygkZXZlbnQsIHsgYXV0b2ZvY3VzOiB0cnVlIH0pXCIgY29sb3I9XCJ0ZXJ0aWFyeVwiPlxuICAgIDxzcGFuIHRyYW5zbGF0ZT5DT01NT04uQlROX1NIT1c8L3NwYW4+XG4gICAgJm5ic3A7KGhlYWRlckJ1dHRvbnMpXG4gIDwvaW9uLWJ1dHRvbj5cblxuICA8cD5cbiAgICBPbmUgbGluZSBleGFtcGxlczpcbiAgICA8c21hbGw+XG4gICAgICA8cHJlPm11bHRpbGluZTogZmFsc2U8L3ByZT5cbiAgICA8L3NtYWxsPlxuICA8L3A+XG5cbiAgPGlvbi1idXR0b24gKGNsaWNrKT1cInNob3dQb3BvdmVyKCRldmVudCwgeyBtdWx0aWxpbmU6IGZhbHNlIH0pXCIgY29sb3I9XCJ0ZXJ0aWFyeVwiPlxuICAgIDxzcGFuIHRyYW5zbGF0ZT5DT01NT04uQlROX1NIT1c8L3NwYW4+XG4gICAgJm5ic3A7XG4gIDwvaW9uLWJ1dHRvbj5cblxuICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwic2hvd1BvcG92ZXIoJGV2ZW50LCB7IG11bHRpbGluZTogZmFsc2UsIGF1dG9mb2N1czogdHJ1ZSB9KVwiIGNvbG9yPVwidGVydGlhcnlcIj5cbiAgICA8c3BhbiB0cmFuc2xhdGU+Q09NTU9OLkJUTl9TSE9XPC9zcGFuPlxuICAgICZuYnNwOyhhdXRvZm9jdXMpXG4gIDwvaW9uLWJ1dHRvbj5cblxuICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwic2hvd1NoYXJlUG9wb3ZlcldpdGhCdXR0b25zKCRldmVudCwgeyBtdWx0aWxpbmU6IGZhbHNlIH0pXCIgY29sb3I9XCJ0ZXJ0aWFyeVwiPlxuICAgIDxzcGFuIHRyYW5zbGF0ZT5DT01NT04uQlROX1NIT1c8L3NwYW4+XG4gICAgJm5ic3A7KGhlYWRlckJ1dHRvbnMpXG4gIDwvaW9uLWJ1dHRvbj5cbjwvaW9uLWNvbnRlbnQ+XG4iXX0=
@@ -1,30 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { RouterModule } from '@angular/router';
3
- import { IonicModule } from '@ionic/angular';
4
- import { CommonModule } from '@angular/common';
5
- import { TranslateModule } from '@ngx-translate/core';
6
- import { TextPopoverTestingPage } from './text-popover.testing';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@ngx-translate/core";
9
- import * as i2 from "@angular/router";
10
- const routes = [
11
- {
12
- path: 'text-popover',
13
- pathMatch: 'full',
14
- component: TextPopoverTestingPage,
15
- },
16
- ];
17
- export class TextPopoverTestingModule {
18
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TextPopoverTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
19
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.8", ngImport: i0, type: TextPopoverTestingModule, declarations: [TextPopoverTestingPage], imports: [CommonModule, IonicModule, i1.TranslateModule, i2.RouterModule], exports: [RouterModule, TextPopoverTestingPage] });
20
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TextPopoverTestingModule, imports: [CommonModule, IonicModule, TranslateModule.forChild(), RouterModule.forChild(routes), RouterModule] });
21
- }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TextPopoverTestingModule, decorators: [{
23
- type: NgModule,
24
- args: [{
25
- imports: [CommonModule, IonicModule, TranslateModule.forChild(), RouterModule.forChild(routes)],
26
- declarations: [TextPopoverTestingPage],
27
- exports: [RouterModule, TextPopoverTestingPage],
28
- }]
29
- }] });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1wb3BvdmVyLnRlc3RpbmcubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL2Zvcm0vdGV4dC1wb3BvdmVyL3Rlc3RpbmcvdGV4dC1wb3BvdmVyLnRlc3RpbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7O0FBRWhFLE1BQU0sTUFBTSxHQUFXO0lBQ3JCO1FBQ0UsSUFBSSxFQUFFLGNBQWM7UUFDcEIsU0FBUyxFQUFFLE1BQU07UUFDakIsU0FBUyxFQUFFLHNCQUFzQjtLQUNsQztDQUNGLENBQUM7QUFPRixNQUFNLE9BQU8sd0JBQXdCO3VHQUF4Qix3QkFBd0I7d0dBQXhCLHdCQUF3QixpQkFIcEIsc0JBQXNCLGFBRDNCLFlBQVksRUFBRSxXQUFXLGtEQUV6QixZQUFZLEVBQUUsc0JBQXNCO3dHQUVuQyx3QkFBd0IsWUFKekIsWUFBWSxFQUFFLFdBQVcsRUFBRSxlQUFlLENBQUMsUUFBUSxFQUFFLEVBQUUsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFFcEYsWUFBWTs7MkZBRVgsd0JBQXdCO2tCQUxwQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsZUFBZSxDQUFDLFFBQVEsRUFBRSxFQUFFLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQy9GLFlBQVksRUFBRSxDQUFDLHNCQUFzQixDQUFDO29CQUN0QyxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsc0JBQXNCLENBQUM7aUJBQ2hEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSwgUm91dGVzIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IElvbmljTW9kdWxlIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgVGV4dFBvcG92ZXJUZXN0aW5nUGFnZSB9IGZyb20gJy4vdGV4dC1wb3BvdmVyLnRlc3RpbmcnO1xuXG5jb25zdCByb3V0ZXM6IFJvdXRlcyA9IFtcbiAge1xuICAgIHBhdGg6ICd0ZXh0LXBvcG92ZXInLFxuICAgIHBhdGhNYXRjaDogJ2Z1bGwnLFxuICAgIGNvbXBvbmVudDogVGV4dFBvcG92ZXJUZXN0aW5nUGFnZSxcbiAgfSxcbl07XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIElvbmljTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGUuZm9yQ2hpbGQoKSwgUm91dGVyTW9kdWxlLmZvckNoaWxkKHJvdXRlcyldLFxuICBkZWNsYXJhdGlvbnM6IFtUZXh0UG9wb3ZlclRlc3RpbmdQYWdlXSxcbiAgZXhwb3J0czogW1JvdXRlck1vZHVsZSwgVGV4dFBvcG92ZXJUZXN0aW5nUGFnZV0sXG59KVxuZXhwb3J0IGNsYXNzIFRleHRQb3BvdmVyVGVzdGluZ01vZHVsZSB7fVxuIl19
@@ -1,152 +0,0 @@
1
- import { Component, Input, ViewChild } from '@angular/core';
2
- import { Subscription } from 'rxjs';
3
- import { logFormErrors, waitWhilePending } from '../../../shared/forms';
4
- import { isNotEmptyArray, isNotNilOrBlank, toBoolean } from '../../../shared/functions';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@ionic/angular";
7
- import * as i2 from "@ngx-translate/core";
8
- import * as i3 from "@angular/common";
9
- import * as i4 from "@angular/cdk/a11y";
10
- import * as i5 from "../../../shared/material/text/text-form.component";
11
- import * as i6 from "../../../shared/directives/autofocus.directive";
12
- import * as i7 from "../../../shared/pipes/arrays.pipe";
13
- export class TextPopover {
14
- popoverController;
15
- translate;
16
- static async show(ctrl, event, opts, popoverOpts) {
17
- const modal = await ctrl.create({
18
- event,
19
- component: TextPopover,
20
- componentProps: opts,
21
- ...popoverOpts,
22
- });
23
- await modal.present();
24
- return await modal.onDidDismiss();
25
- }
26
- form;
27
- showHeader;
28
- headerColor = null;
29
- showFooter;
30
- title = null;
31
- text;
32
- placeholder = '';
33
- editing = true;
34
- multiline = true;
35
- autoHeight = false;
36
- maxLength = 2000;
37
- autofocus = false;
38
- validator = null;
39
- headerButtons = null;
40
- mobile = false;
41
- subscription = new Subscription();
42
- get disabled() {
43
- return this.form.disabled;
44
- }
45
- get enabled() {
46
- return this.form.enabled;
47
- }
48
- get valid() {
49
- return this.form?.valid || false;
50
- }
51
- get value() {
52
- return this.form?.value.text;
53
- }
54
- constructor(popoverController, translate) {
55
- this.popoverController = popoverController;
56
- this.translate = translate;
57
- }
58
- ngOnInit() {
59
- this.showHeader = toBoolean(this.showHeader, isNotNilOrBlank(this.title) || isNotEmptyArray(this.headerButtons));
60
- this.showFooter = toBoolean(this.showFooter, !this.mobile);
61
- this.enable();
62
- }
63
- ngAfterViewInit() {
64
- setTimeout(() => this.form.setValue({ text: this.text }), 0);
65
- }
66
- async onValidate(event) {
67
- await waitWhilePending(this.form);
68
- if (!this.valid) {
69
- logFormErrors(this.form.textControl);
70
- return;
71
- }
72
- try {
73
- const value = this.value;
74
- this.disable();
75
- this.form.error = null;
76
- await this.popoverController.dismiss(value);
77
- }
78
- catch (err) {
79
- this.form.error = (err && err.message) || err;
80
- this.enable();
81
- }
82
- }
83
- disable() {
84
- this.form.disable();
85
- }
86
- enable() {
87
- if (this.editing)
88
- this.form.enable();
89
- }
90
- cancel() {
91
- this.popoverController.dismiss();
92
- }
93
- ngOnDestroy() {
94
- this.subscription.unsubscribe();
95
- }
96
- async clickButton(button) {
97
- if (typeof button.handler === 'function') {
98
- const result = await button.handler(this.value);
99
- // TODO comment interpreter le true ?? => fermer ou annuler l'action ?
100
- if (result === true) {
101
- return this.popoverController.dismiss(this.value, button.role);
102
- }
103
- }
104
- else {
105
- return this.popoverController.dismiss(this.value, button.role);
106
- }
107
- }
108
- isStartSide(button) {
109
- return button?.side === 'start';
110
- }
111
- isEndSide(button) {
112
- return button?.side !== 'start';
113
- }
114
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TextPopover, deps: [{ token: i1.PopoverController }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
115
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: TextPopover, selector: "app-text-popover", inputs: { showHeader: "showHeader", headerColor: "headerColor", showFooter: "showFooter", title: "title", text: "text", placeholder: "placeholder", editing: "editing", multiline: "multiline", autoHeight: "autoHeight", maxLength: "maxLength", autofocus: "autofocus", validator: "validator", headerButtons: "headerButtons", mobile: "mobile" }, viewQueries: [{ propertyName: "form", first: true, predicate: ["form"], descendants: true, static: true }], ngImport: i0, template: "<ion-header *ngIf=\"showHeader\">\n <ion-toolbar [color]=\"headerColor\">\n <ion-buttons slot=\"start\">\n <ion-button *ngIf=\"mobile && editing\" (click)=\"cancel()\" [title]=\"'COMMON.BTN_CANCEL' | translate\">\n <ion-icon slot=\"icon-only\" name=\"arrow-back\"></ion-icon>\n </ion-button>\n <ion-button\n *ngFor=\"let button of headerButtons | arrayFilter: isStartSide\"\n [fill]=\"button.fill\"\n [color]=\"button.color\"\n (click)=\"clickButton(button)\"\n >\n <ion-icon *ngIf=\"button.icon\" [slot]=\"button.text ? 'start' : 'icon-only'\" [name]=\"button.icon\"></ion-icon>\n <ion-text *ngIf=\"button.text\">{{ button.text | translate }}</ion-text>\n </ion-button>\n </ion-buttons>\n\n <ion-title *ngIf=\"title\">{{ title | translate }}</ion-title>\n\n <ion-buttons slot=\"end\">\n <ion-button\n *ngFor=\"let button of headerButtons | arrayFilter: isEndSide\"\n [fill]=\"button.fill\"\n [color]=\"button.color\"\n (click)=\"clickButton(button)\"\n >\n <ion-icon *ngIf=\"button.icon\" [slot]=\"button.text ? 'start' : 'icon-only'\" [name]=\"button.icon\"></ion-icon>\n <ion-text *ngIf=\"button.text\">{{ button.text | translate }}</ion-text>\n </ion-button>\n\n <ng-container *ngIf=\"mobile\">\n <ion-button\n *ngIf=\"editing\"\n (click)=\"onValidate($event)\"\n [disabled]=\"disabled\"\n [title]=\"'COMMON.BTN_VALIDATE_WITH_SHORTCUT_HELP' | translate\"\n >\n <ion-icon slot=\"icon-only\" name=\"checkmark\"></ion-icon>\n </ion-button>\n <ion-button *ngIf=\"!editing\" (click)=\"cancel()\" [title]=\"'COMMON.BTN_CLOSE' | translate\">\n <ion-icon slot=\"icon-only\" name=\"close\"></ion-icon>\n </ion-button>\n </ng-container>\n </ion-buttons>\n </ion-toolbar>\n</ion-header>\n\n<ion-content class=\"ion-padding\" [class.has-header]=\"showHeader\" cdkTrapFocus [cdkTrapFocusAutoCapture]=\"true\">\n <ion-item *ngIf=\"form.error\" visible-xs visible-sm visible-mobile lines=\"none\">\n <ion-icon color=\"danger\" slot=\"start\" name=\"alert-circle\"></ion-icon>\n <ion-label color=\"danger\" class=\"error\" [innerHTML]=\"form.error | translate\"></ion-label>\n </ion-item>\n\n <app-text-form\n #form\n [standalone]=\"true\"\n [placeholder]=\"placeholder\"\n [multiline]=\"multiline\"\n [maxLength]=\"maxLength\"\n [autoHeight]=\"autoHeight\"\n [autofocus]=\"editing && autofocus\"\n [validator]=\"validator\"\n (onSubmit)=\"onValidate($event)\"\n ></app-text-form>\n</ion-content>\n\n<ion-footer *ngIf=\"showFooter\">\n <ion-toolbar>\n <ion-row class=\"ion-no-padding\" nowrap>\n <ion-col></ion-col>\n\n <ion-col size=\"auto\">\n <ion-button fill=\"clear\" color=\"dark\" (click)=\"cancel()\">\n <ion-label translate>COMMON.BTN_CANCEL</ion-label>\n </ion-button>\n <ion-button\n [fill]=\"disabled ? 'clear' : 'solid'\"\n (click)=\"onValidate($event)\"\n (keyup.enter)=\"onValidate($event)\"\n color=\"tertiary\"\n [disabled]=\"disabled\"\n [title]=\"'COMMON.BTN_VALIDATE_WITH_SHORTCUT_HELP' | translate\"\n >\n <ion-label translate>COMMON.BTN_VALIDATE</ion-label>\n </ion-button>\n </ion-col>\n </ion-row>\n </ion-toolbar>\n</ion-footer>\n", styles: ["ion-content{--textarea-height: 11.5em}ion-content.has-header{--textarea-height: calc(11.5em - var(--ion-toolbar-height, 0em))}\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: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: i1.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: i1.IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i1.IonFooter, selector: "ion-footer", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i1.IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { 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", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i1.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i1.IonRow, selector: "ion-row" }, { kind: "component", type: i1.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "component", type: i1.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: i1.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "directive", type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "directive", type: i4.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "component", type: i5.TextForm, selector: "app-text-form", inputs: ["showError", "placeholder", "multiline", "autoSize", "autoSizeMinRows", "autoSizeMaxRows", "maxLength", "autofocus", "validator", "standalone", "formControl", "formControlName", "floatLabel", "appearance", "subscriptSizing", "autoHeight"], outputs: ["textAreaChanges"] }, { kind: "directive", type: i6.AutofocusDirective, selector: "[autofocus], input[appAutofocus]", inputs: ["appAutofocus", "autofocusDelay"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "pipe", type: i7.ArrayFilterPipe, name: "arrayFilter" }] });
116
- }
117
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TextPopover, decorators: [{
118
- type: Component,
119
- args: [{ selector: 'app-text-popover', template: "<ion-header *ngIf=\"showHeader\">\n <ion-toolbar [color]=\"headerColor\">\n <ion-buttons slot=\"start\">\n <ion-button *ngIf=\"mobile && editing\" (click)=\"cancel()\" [title]=\"'COMMON.BTN_CANCEL' | translate\">\n <ion-icon slot=\"icon-only\" name=\"arrow-back\"></ion-icon>\n </ion-button>\n <ion-button\n *ngFor=\"let button of headerButtons | arrayFilter: isStartSide\"\n [fill]=\"button.fill\"\n [color]=\"button.color\"\n (click)=\"clickButton(button)\"\n >\n <ion-icon *ngIf=\"button.icon\" [slot]=\"button.text ? 'start' : 'icon-only'\" [name]=\"button.icon\"></ion-icon>\n <ion-text *ngIf=\"button.text\">{{ button.text | translate }}</ion-text>\n </ion-button>\n </ion-buttons>\n\n <ion-title *ngIf=\"title\">{{ title | translate }}</ion-title>\n\n <ion-buttons slot=\"end\">\n <ion-button\n *ngFor=\"let button of headerButtons | arrayFilter: isEndSide\"\n [fill]=\"button.fill\"\n [color]=\"button.color\"\n (click)=\"clickButton(button)\"\n >\n <ion-icon *ngIf=\"button.icon\" [slot]=\"button.text ? 'start' : 'icon-only'\" [name]=\"button.icon\"></ion-icon>\n <ion-text *ngIf=\"button.text\">{{ button.text | translate }}</ion-text>\n </ion-button>\n\n <ng-container *ngIf=\"mobile\">\n <ion-button\n *ngIf=\"editing\"\n (click)=\"onValidate($event)\"\n [disabled]=\"disabled\"\n [title]=\"'COMMON.BTN_VALIDATE_WITH_SHORTCUT_HELP' | translate\"\n >\n <ion-icon slot=\"icon-only\" name=\"checkmark\"></ion-icon>\n </ion-button>\n <ion-button *ngIf=\"!editing\" (click)=\"cancel()\" [title]=\"'COMMON.BTN_CLOSE' | translate\">\n <ion-icon slot=\"icon-only\" name=\"close\"></ion-icon>\n </ion-button>\n </ng-container>\n </ion-buttons>\n </ion-toolbar>\n</ion-header>\n\n<ion-content class=\"ion-padding\" [class.has-header]=\"showHeader\" cdkTrapFocus [cdkTrapFocusAutoCapture]=\"true\">\n <ion-item *ngIf=\"form.error\" visible-xs visible-sm visible-mobile lines=\"none\">\n <ion-icon color=\"danger\" slot=\"start\" name=\"alert-circle\"></ion-icon>\n <ion-label color=\"danger\" class=\"error\" [innerHTML]=\"form.error | translate\"></ion-label>\n </ion-item>\n\n <app-text-form\n #form\n [standalone]=\"true\"\n [placeholder]=\"placeholder\"\n [multiline]=\"multiline\"\n [maxLength]=\"maxLength\"\n [autoHeight]=\"autoHeight\"\n [autofocus]=\"editing && autofocus\"\n [validator]=\"validator\"\n (onSubmit)=\"onValidate($event)\"\n ></app-text-form>\n</ion-content>\n\n<ion-footer *ngIf=\"showFooter\">\n <ion-toolbar>\n <ion-row class=\"ion-no-padding\" nowrap>\n <ion-col></ion-col>\n\n <ion-col size=\"auto\">\n <ion-button fill=\"clear\" color=\"dark\" (click)=\"cancel()\">\n <ion-label translate>COMMON.BTN_CANCEL</ion-label>\n </ion-button>\n <ion-button\n [fill]=\"disabled ? 'clear' : 'solid'\"\n (click)=\"onValidate($event)\"\n (keyup.enter)=\"onValidate($event)\"\n color=\"tertiary\"\n [disabled]=\"disabled\"\n [title]=\"'COMMON.BTN_VALIDATE_WITH_SHORTCUT_HELP' | translate\"\n >\n <ion-label translate>COMMON.BTN_VALIDATE</ion-label>\n </ion-button>\n </ion-col>\n </ion-row>\n </ion-toolbar>\n</ion-footer>\n", styles: ["ion-content{--textarea-height: 11.5em}ion-content.has-header{--textarea-height: calc(11.5em - var(--ion-toolbar-height, 0em))}\n"] }]
120
- }], ctorParameters: () => [{ type: i1.PopoverController }, { type: i2.TranslateService }], propDecorators: { form: [{
121
- type: ViewChild,
122
- args: ['form', { static: true }]
123
- }], showHeader: [{
124
- type: Input
125
- }], headerColor: [{
126
- type: Input
127
- }], showFooter: [{
128
- type: Input
129
- }], title: [{
130
- type: Input
131
- }], text: [{
132
- type: Input
133
- }], placeholder: [{
134
- type: Input
135
- }], editing: [{
136
- type: Input
137
- }], multiline: [{
138
- type: Input
139
- }], autoHeight: [{
140
- type: Input
141
- }], maxLength: [{
142
- type: Input
143
- }], autofocus: [{
144
- type: Input
145
- }], validator: [{
146
- type: Input
147
- }], headerButtons: [{
148
- type: Input
149
- }], mobile: [{
150
- type: Input
151
- }] } });
152
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1wb3BvdmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9mb3JtL3RleHQtcG9wb3Zlci90ZXh0LXBvcG92ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL2Zvcm0vdGV4dC1wb3BvdmVyL3RleHQtcG9wb3Zlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxLQUFLLEVBQXFCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR3BDLE9BQU8sRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUd4RSxPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7O0FBb0N4RixNQUFNLE9BQU8sV0FBVztJQXNEVjtJQUNBO0lBdERaLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUNmLElBQXVCLEVBQ3ZCLEtBQVksRUFDWixJQUF3QixFQUN4QixXQUFxQztRQUVyQyxNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDOUIsS0FBSztZQUNMLFNBQVMsRUFBRSxXQUFXO1lBQ3RCLGNBQWMsRUFBRSxJQUFJO1lBQ3BCLEdBQUcsV0FBVztTQUNmLENBQUMsQ0FBQztRQUVILE1BQU0sS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3RCLE9BQU8sTUFBTSxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVvQyxJQUFJLENBQVc7SUFFM0MsVUFBVSxDQUFVO0lBQ3BCLFdBQVcsR0FBVSxJQUFJLENBQUM7SUFDMUIsVUFBVSxDQUFVO0lBQ3BCLEtBQUss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LEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQb3BvdmVyQ29udHJvbGxlciwgUG9wb3Zlck9wdGlvbnMgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IFRleHRGb3JtIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL21hdGVyaWFsL3RleHQvdGV4dC1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBsb2dGb3JtRXJyb3JzLCB3YWl0V2hpbGVQZW5kaW5nIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2Zvcm1zJztcbmltcG9ydCB7IFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29sb3IsIE92ZXJsYXlFdmVudERldGFpbCB9IGZyb20gJ0Bpb25pYy9jb3JlJztcbmltcG9ydCB7IGlzTm90RW1wdHlBcnJheSwgaXNOb3ROaWxPckJsYW5rLCB0b0Jvb2xlYW4gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZnVuY3Rpb25zJztcblxuZXhwb3J0IGludGVyZmFjZSBUZXh0UG9wb3Zlck9wdGlvbnMge1xuICB0aXRsZT86IHN0cmluZztcbiAgdGV4dD86IHN0cmluZztcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIGVkaXRpbmc/OiBib29sZWFuO1xuICBtdWx0aWxpbmU/OiBib29sZWFuO1xuICBhdXRvSGVpZ2h0PzogYm9vbGVhbjtcbiAgbWF4TGVuZ3RoPzogbnVtYmVyO1xuICBhdXRvZm9jdXM/OiBib29sZWFuO1xuICB2YWxpZGF0b3I/OiBWYWxpZGF0b3JGbjtcbiAgLy8gSGVhZGVyIHN0dWZmXG4gIHNob3dIZWFkZXI/OiBib29sZWFuO1xuICBoZWFkZXJDb2xvcj86IENvbG9yO1xuICBoZWFkZXJCdXR0b25zPzogVGV4dFBvcG92ZXJCdXR0b25bXTtcbiAgLy8gRm9vdGVyIHN0dWZmXG4gIHNob3dGb290ZXI/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRleHRQb3BvdmVyQnV0dG9uIHtcbiAgdGV4dD86IHN0cmluZztcbiAgaWNvbj86IHN0cmluZztcbiAgY29sb3I/OiBDb2xvcjtcbiAgZmlsbD86ICdvdXRsaW5lJyB8ICdjbGVhcicgfCAnc29saWQnO1xuICBzaWRlPzogJ3N0YXJ0JyB8ICdlbmQnO1xuICByb2xlPzogJ2NhbmNlbCcgfCBzdHJpbmc7XG4gIGNzc0NsYXNzPzogc3RyaW5nIHwgc3RyaW5nW107XG4gIGhhbmRsZXI/OiAodmFsdWU6IHN0cmluZykgPT4gYm9vbGVhbiB8IHZvaWQgfCBQcm9taXNlPGJvb2xlYW4gfCB2b2lkPjtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXRleHQtcG9wb3ZlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi90ZXh0LXBvcG92ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90ZXh0LXBvcG92ZXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV4dFBvcG92ZXIgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSwgVGV4dFBvcG92ZXJPcHRpb25zIHtcbiAgc3RhdGljIGFzeW5jIHNob3coXG4gICAgY3RybDogUG9wb3ZlckNvbnRyb2xsZXIsXG4gICAgZXZlbnQ6IEV2ZW50LFxuICAgIG9wdHM6IFRleHRQb3BvdmVyT3B0aW9ucyxcbiAgICBwb3BvdmVyT3B0cz86IFBhcnRpYWw8UG9wb3Zlck9wdGlvbnM+XG4gICk6IFByb21pc2U8T3ZlcmxheUV2ZW50RGV0YWlsPiB7XG4gICAgY29uc3QgbW9kYWwgPSBhd2FpdCBjdHJsLmNyZWF0ZSh7XG4gICAgICBldmVudCxcbiAgICAgIGNvbXBvbmVudDogVGV4dFBvcG92ZXIsXG4gICAgICBjb21wb25lbnRQcm9wczogb3B0cyxcbiAgICAgIC4uLnBvcG92ZXJPcHRzLFxuICAgIH0pO1xuXG4gICAgYXdhaXQgbW9kYWwucHJlc2VudCgpO1xuICAgIHJldHVybiBhd2FpdCBtb2RhbC5vbkRpZERpc21pc3MoKTtcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoJ2Zvcm0nLCB7IHN0YXRpYzogdHJ1ZSB9KSBmb3JtOiBUZXh0Rm9ybTtcblxuICBASW5wdXQoKSBzaG93SGVhZGVyOiBib29sZWFuO1xuICBASW5wdXQoKSBoZWFkZXJDb2xvcjogQ29sb3IgPSBudWxsO1xuICBASW5wdXQoKSBzaG93Rm9vdGVyOiBib29sZWFuO1xuICBASW5wdXQoKSB0aXRsZTogc3RyaW5nID0gbnVsbDtcbiAgQElucHV0KCkgdGV4dDogc3RyaW5nO1xuICBASW5wdXQoKSBwbGFjZWhvbGRlciA9ICcnO1xuICBASW5wdXQoKSBlZGl0aW5nID0gdHJ1ZTtcbiAgQElucHV0KCkgbXVsdGlsaW5lID0gdHJ1ZTtcbiAgQElucHV0KCkgYXV0b0hlaWdodCA9IGZhbHNlO1xuICBASW5wdXQoKSBtYXhMZW5ndGggPSAyMDAwO1xuICBASW5wdXQoKSBhdXRvZm9jdXMgPSBmYWxzZTtcbiAgQElucHV0KCkgdmFsaWRhdG9yOiBWYWxpZGF0b3JGbiA9IG51bGw7XG4gIEBJbnB1dCgpIGhlYWRlckJ1dHRvbnM6IFRleHRQb3BvdmVyQnV0dG9uW10gPSBudWxsO1xuICBASW5wdXQoKSBtb2JpbGUgPSBmYWxzZTtcblxuICBzdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgZ2V0IGRpc2FibGVkKCkge1xuICAgIHJldHVybiB0aGlzLmZvcm0uZGlzYWJsZWQ7XG4gIH1cblxuICBnZXQgZW5hYmxlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtLmVuYWJsZWQ7XG4gIH1cblxuICBnZXQgdmFsaWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybT8udmFsaWQgfHwgZmFsc2U7XG4gIH1cblxuICBnZXQgdmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybT8udmFsdWUudGV4dDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBwb3BvdmVyQ29udHJvbGxlcjogUG9wb3ZlckNvbnRyb2xsZXIsXG4gICAgcHJvdGVjdGVkIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zaG93SGVhZGVyID0gdG9Cb29sZWFuKHRoaXMuc2hvd0hlYWRlciwgaXNOb3ROaWxPckJsYW5rKHRoaXMudGl0bGUpIHx8IGlzTm90RW1wdHlBcnJheSh0aGlzLmhlYWRlckJ1dHRvbnMpKTtcbiAgICB0aGlzLnNob3dGb290ZXIgPSB0b0Jvb2xlYW4odGhpcy5zaG93Rm9vdGVyLCAhdGhpcy5tb2JpbGUpO1xuICAgIHRoaXMuZW5hYmxlKCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmZvcm0uc2V0VmFsdWUoeyB0ZXh0OiB0aGlzLnRleHQgfSksIDApO1xuICB9XG5cbiAgYXN5bmMgb25WYWxpZGF0ZShldmVudDogYW55KTogUHJvbWlzZTxhbnk+IHtcbiAgICBhd2FpdCB3YWl0V2hpbGVQZW5kaW5nKHRoaXMuZm9ybSk7XG5cbiAgICBpZiAoIXRoaXMudmFsaWQpIHtcbiAgICAgIGxvZ0Zvcm1FcnJvcnModGhpcy5mb3JtLnRleHRDb250cm9sKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLnZhbHVlO1xuICAgICAgdGhpcy5kaXNhYmxlKCk7XG4gICAgICB0aGlzLmZvcm0uZXJyb3IgPSBudWxsO1xuICAgICAgYXdhaXQgdGhpcy5wb3BvdmVyQ29udHJvbGxlci5kaXNtaXNzKHZhbHVlKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHRoaXMuZm9ybS5lcnJvciA9IChlcnIgJiYgZXJyLm1lc3NhZ2UpIHx8IGVycjtcbiAgICAgIHRoaXMuZW5hYmxlKCk7XG4gICAgfVxuICB9XG5cbiAgZGlzYWJsZSgpIHtcbiAgICB0aGlzLmZvcm0uZGlzYWJsZSgpO1xuICB9XG5cbiAgZW5hYmxlKCkge1xuICAgIGlmICh0aGlzLmVkaXRpbmcpIHRoaXMuZm9ybS5lbmFibGUoKTtcbiAgfVxuXG4gIGNhbmNlbCgpIHtcbiAgICB0aGlzLnBvcG92ZXJDb250cm9sbGVyLmRpc21pc3MoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgY2xpY2tCdXR0b24oYnV0dG9uOiBUZXh0UG9wb3ZlckJ1dHRvbikge1xuICAgIGlmICh0eXBlb2YgYnV0dG9uLmhhbmRsZXIgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGJ1dHRvbi5oYW5kbGVyKHRoaXMudmFsdWUpO1xuICAgICAgLy8gVE9ETyBjb21tZW50IGludGVycHJldGVyIGxlIHRydWUgPz8gPT4gZmVybWVyIG91IGFubnVsZXIgbCdhY3Rpb24gP1xuICAgICAgaWYgKHJlc3VsdCA9PT0gdHJ1ZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5wb3BvdmVyQ29udHJvbGxlci5kaXNtaXNzKHRoaXMudmFsdWUsIGJ1dHRvbi5yb2xlKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMucG9wb3ZlckNvbnRyb2xsZXIuZGlzbWlzcyh0aGlzLnZhbHVlLCBidXR0b24ucm9sZSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGlzU3RhcnRTaWRlKGJ1dHRvbjogVGV4dFBvcG92ZXJCdXR0b24pIHtcbiAgICByZXR1cm4gYnV0dG9uPy5zaWRlID09PSAnc3RhcnQnO1xuICB9XG5cbiAgcHJvdGVjdGVkIGlzRW5kU2lkZShidXR0b246IFRleHRQb3BvdmVyQnV0dG9uKSB7XG4gICAgcmV0dXJuIGJ1dHRvbj8uc2lkZSAhPT0gJ3N0YXJ0JztcbiAgfVxufVxuIiwiPGlvbi1oZWFkZXIgKm5nSWY9XCJzaG93SGVhZGVyXCI+XG4gIDxpb24tdG9vbGJhciBbY29sb3JdPVwiaGVhZGVyQ29sb3JcIj5cbiAgICA8aW9uLWJ1dHRvbnMgc2xvdD1cInN0YXJ0XCI+XG4gICAgICA8aW9uLWJ1dHRvbiAqbmdJZj1cIm1vYmlsZSAmJiBlZGl0aW5nXCIgKGNsaWNrKT1cImNhbmNlbCgpXCIgW3RpdGxlXT1cIidDT01NT04uQlROX0NBTkNFTCcgfCB0cmFuc2xhdGVcIj5cbiAgICAgICAgPGlvbi1pY29uIHNsb3Q9XCJpY29uLW9ubHlcIiBuYW1lPVwiYXJyb3ctYmFja1wiPjwvaW9uLWljb24+XG4gICAgICA8L2lvbi1idXR0b24+XG4gICAgICA8aW9uLWJ1dHRvblxuICAgICAgICAqbmdGb3I9XCJsZXQgYnV0dG9uIG9mIGhlYWRlckJ1dHRvbnMgfCBhcnJheUZpbHRlcjogaXNTdGFydFNpZGVcIlxuICAgICAgICBbZmlsbF09XCJidXR0b24uZmlsbFwiXG4gICAgICAgIFtjb2xvcl09XCJidXR0b24uY29sb3JcIlxuICAgICAgICAoY2xpY2spPVwiY2xpY2tCdXR0b24oYnV0dG9uKVwiXG4gICAgICA+XG4gICAgICAgIDxpb24taWNvbiAqbmdJZj1cImJ1dHRvbi5pY29uXCIgW3Nsb3RdPVwiYnV0dG9uLnRleHQgPyAnc3RhcnQnIDogJ2ljb24tb25seSdcIiBbbmFtZV09XCJidXR0b24uaWNvblwiPjwvaW9uLWljb24+XG4gICAgICAgIDxpb24tdGV4dCAqbmdJZj1cImJ1dHRvbi50ZXh0XCI+e3sgYnV0dG9uLnRleHQgfCB0cmFuc2xhdGUgfX08L2lvbi10ZXh0PlxuICAgICAgPC9pb24tYnV0dG9uPlxuICAgIDwvaW9uLWJ1dHRvbnM+XG5cbiAgICA8aW9uLXRpdGxlICpuZ0lmPVwidGl0bGVcIj57eyB0aXRsZSB8IHRyYW5zbGF0ZSB9fTwvaW9uLXRpdGxlPlxuXG4gICAgPGlvbi1idXR0b25zIHNsb3Q9XCJlbmRcIj5cbiAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgICpuZ0Zvcj1cImxldCBidXR0b24gb2YgaGVhZGVyQnV0dG9ucyB8IGFycmF5RmlsdGVyOiBpc0VuZFNpZGVcIlxuICAgICAgICBbZmlsbF09XCJidXR0b24uZmlsbFwiXG4gICAgICAgIFtjb2xvcl09XCJidXR0b24uY29sb3JcIlxuICAgICAgICAoY2xpY2spPVwiY2xpY2tCdXR0b24oYnV0dG9uKVwiXG4gICAgICA+XG4gICAgICAgIDxpb24taWNvbiAqbmdJZj1cImJ1dHRvbi5pY29uXCIgW3Nsb3RdPVwiYnV0dG9uLnRleHQgPyAnc3RhcnQnIDogJ2ljb24tb25seSdcIiBbbmFtZV09XCJidXR0b24uaWNvblwiPjwvaW9uLWljb24+XG4gICAgICAgIDxpb24tdGV4dCAqbmdJZj1cImJ1dHRvbi50ZXh0XCI+e3sgYnV0dG9uLnRleHQgfCB0cmFuc2xhdGUgfX08L2lvbi10ZXh0PlxuICAgICAgPC9pb24tYnV0dG9uPlxuXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibW9iaWxlXCI+XG4gICAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgICAgKm5nSWY9XCJlZGl0aW5nXCJcbiAgICAgICAgICAoY2xpY2spPVwib25WYWxpZGF0ZSgkZXZlbnQpXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgIFt0aXRsZV09XCInQ09NTU9OLkJUTl9WQUxJREFURV9XSVRIX1NIT1JUQ1VUX0hFTFAnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxpb24taWNvbiBzbG90PVwiaWNvbi1vbmx5XCIgbmFtZT1cImNoZWNrbWFya1wiPjwvaW9uLWljb24+XG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgPGlvbi1idXR0b24gKm5nSWY9XCIhZWRpdGluZ1wiIChjbGljayk9XCJjYW5jZWwoKVwiIFt0aXRsZV09XCInQ09NTU9OLkJUTl9DTE9TRScgfCB0cmFuc2xhdGVcIj5cbiAgICAgICAgICA8aW9uLWljb24gc2xvdD1cImljb24tb25seVwiIG5hbWU9XCJjbG9zZVwiPjwvaW9uLWljb24+XG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvaW9uLWJ1dHRvbnM+XG4gIDwvaW9uLXRvb2xiYXI+XG48L2lvbi1oZWFkZXI+XG5cbjxpb24tY29udGVudCBjbGFzcz1cImlvbi1wYWRkaW5nXCIgW2NsYXNzLmhhcy1oZWFkZXJdPVwic2hvd0hlYWRlclwiIGNka1RyYXBGb2N1cyBbY2RrVHJhcEZvY3VzQXV0b0NhcHR1cmVdPVwidHJ1ZVwiPlxuICA8aW9uLWl0ZW0gKm5nSWY9XCJmb3JtLmVycm9yXCIgdmlzaWJsZS14cyB2aXNpYmxlLXNtIHZpc2libGUtbW9iaWxlIGxpbmVzPVwibm9uZVwiPlxuICAgIDxpb24taWNvbiBjb2xvcj1cImRhbmdlclwiIHNsb3Q9XCJzdGFydFwiIG5hbWU9XCJhbGVydC1jaXJjbGVcIj48L2lvbi1pY29uPlxuICAgIDxpb24tbGFiZWwgY29sb3I9XCJkYW5nZXJcIiBjbGFzcz1cImVycm9yXCIgW2lubmVySFRNTF09XCJmb3JtLmVycm9yIHwgdHJhbnNsYXRlXCI+PC9pb24tbGFiZWw+XG4gIDwvaW9uLWl0ZW0+XG5cbiAgPGFwcC10ZXh0LWZvcm1cbiAgICAjZm9ybVxuICAgIFtzdGFuZGFsb25lXT1cInRydWVcIlxuICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgW211bHRpbGluZV09XCJtdWx0aWxpbmVcIlxuICAgIFttYXhMZW5ndGhdPVwibWF4TGVuZ3RoXCJcbiAgICBbYXV0b0hlaWdodF09XCJhdXRvSGVpZ2h0XCJcbiAgICBbYXV0b2ZvY3VzXT1cImVkaXRpbmcgJiYgYXV0b2ZvY3VzXCJcbiAgICBbdmFsaWRhdG9yXT1cInZhbGlkYXRvclwiXG4gICAgKG9uU3VibWl0KT1cIm9uVmFsaWRhdGUoJGV2ZW50KVwiXG4gID48L2FwcC10ZXh0LWZvcm0+XG48L2lvbi1jb250ZW50PlxuXG48aW9uLWZvb3RlciAqbmdJZj1cInNob3dGb290ZXJcIj5cbiAgPGlvbi10b29sYmFyPlxuICAgIDxpb24tcm93IGNsYXNzPVwiaW9uLW5vLXBhZGRpbmdcIiBub3dyYXA+XG4gICAgICA8aW9uLWNvbD48L2lvbi1jb2w+XG5cbiAgICAgIDxpb24tY29sIHNpemU9XCJhdXRvXCI+XG4gICAgICAgIDxpb24tYnV0dG9uIGZpbGw9XCJjbGVhclwiIGNvbG9yPVwiZGFya1wiIChjbGljayk9XCJjYW5jZWwoKVwiPlxuICAgICAgICAgIDxpb24tbGFiZWwgdHJhbnNsYXRlPkNPTU1PTi5CVE5fQ0FOQ0VMPC9pb24tbGFiZWw+XG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgPGlvbi1idXR0b25cbiAgICAgICAgICBbZmlsbF09XCJkaXNhYmxlZCA/ICdjbGVhcicgOiAnc29saWQnXCJcbiAgICAgICAgICAoY2xpY2spPVwib25WYWxpZGF0ZSgkZXZlbnQpXCJcbiAgICAgICAgICAoa2V5dXAuZW50ZXIpPVwib25WYWxpZGF0ZSgkZXZlbnQpXCJcbiAgICAgICAgICBjb2xvcj1cInRlcnRpYXJ5XCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgIFt0aXRsZV09XCInQ09NTU9OLkJUTl9WQUxJREFURV9XSVRIX1NIT1JUQ1VUX0hFTFAnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxpb24tbGFiZWwgdHJhbnNsYXRlPkNPTU1PTi5CVE5fVkFMSURBVEU8L2lvbi1sYWJlbD5cbiAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgPC9pb24tY29sPlxuICAgIDwvaW9uLXJvdz5cbiAgPC9pb24tdG9vbGJhcj5cbjwvaW9uLWZvb3Rlcj5cbiJdfQ==
@@ -1,31 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { SharedModule } from '../../../shared/shared.module';
3
- import { TextPopover } from './text-popover.component';
4
- import { TranslateModule } from '@ngx-translate/core';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@ngx-translate/core";
7
- export class AppTextPopoverModule {
8
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AppTextPopoverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.8", ngImport: i0, type: AppTextPopoverModule, declarations: [
10
- // Components
11
- TextPopover], imports: [SharedModule, i1.TranslateModule], exports: [TranslateModule,
12
- // Components
13
- TextPopover] });
14
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AppTextPopoverModule, imports: [SharedModule, TranslateModule.forChild(), TranslateModule] });
15
- }
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AppTextPopoverModule, decorators: [{
17
- type: NgModule,
18
- args: [{
19
- imports: [SharedModule, TranslateModule.forChild()],
20
- declarations: [
21
- // Components
22
- TextPopover,
23
- ],
24
- exports: [
25
- TranslateModule,
26
- // Components
27
- TextPopover,
28
- ],
29
- }]
30
- }] });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1wb3BvdmVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9mb3JtL3RleHQtcG9wb3Zlci90ZXh0LXBvcG92ZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzdELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7OztBQWV0RCxNQUFNLE9BQU8sb0JBQW9CO3VHQUFwQixvQkFBb0I7d0dBQXBCLG9CQUFvQjtZQVQ3QixhQUFhO1lBQ2IsV0FBVyxhQUpILFlBQVksaUNBT3BCLGVBQWU7WUFDZixhQUFhO1lBQ2IsV0FBVzt3R0FHRixvQkFBb0IsWUFackIsWUFBWSxFQUFFLGVBQWUsQ0FBQyxRQUFRLEVBQUUsRUFPaEQsZUFBZTs7MkZBS04sb0JBQW9CO2tCQWJoQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxlQUFlLENBQUMsUUFBUSxFQUFFLENBQUM7b0JBRW5ELFlBQVksRUFBRTt3QkFDWixhQUFhO3dCQUNiLFdBQVc7cUJBQ1o7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixXQUFXO3FCQUNaO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNoYXJlZE1vZHVsZSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9zaGFyZWQubW9kdWxlJztcbmltcG9ydCB7IFRleHRQb3BvdmVyIH0gZnJvbSAnLi90ZXh0LXBvcG92ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbU2hhcmVkTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGUuZm9yQ2hpbGQoKV0sXG5cbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgLy8gQ29tcG9uZW50c1xuICAgIFRleHRQb3BvdmVyLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIC8vIENvbXBvbmVudHNcbiAgICBUZXh0UG9wb3ZlcixcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQXBwVGV4dFBvcG92ZXJNb2R1bGUge31cbiJdfQ==
@@ -1,52 +0,0 @@
1
- import { booleanAttribute, ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
- import { UntypedFormControl, Validators } from '@angular/forms';
3
- import { AppForm } from '../form.class';
4
- import { isMobile } from '../../../shared/platforms';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/forms";
7
- import * as i2 from "@angular/common";
8
- import * as i3 from "@angular/material/form-field";
9
- import * as i4 from "@angular/material/input";
10
- import * as i5 from "../../../shared/directives/autofocus.directive";
11
- import * as i6 from "@ngx-translate/core";
12
- export class AppUsernameForm extends AppForm {
13
- cd;
14
- mobile;
15
- usernamePlaceHolder = 'USER.EMAIL';
16
- emailValidator = true;
17
- constructor(injector, formBuilder, cd) {
18
- super(injector, formBuilder.group({
19
- username: new UntypedFormControl(null, Validators.required),
20
- }));
21
- this.cd = cd;
22
- }
23
- ngOnInit() {
24
- super.ngOnInit();
25
- this.mobile = this.mobile ?? isMobile(window);
26
- const userNameControl = this.form.get('username');
27
- if (!this.emailValidator && userNameControl.hasValidator(Validators.email)) {
28
- userNameControl.removeValidators(Validators.email);
29
- }
30
- else if (this.emailValidator && !userNameControl.hasValidator(Validators.email)) {
31
- userNameControl.addValidators(Validators.email);
32
- }
33
- }
34
- markForCheck() {
35
- this.cd.markForCheck();
36
- }
37
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AppUsernameForm, deps: [{ token: i0.Injector }, { token: i1.UntypedFormBuilder }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
38
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.8", type: AppUsernameForm, selector: "app-username-form", inputs: { mobile: ["mobile", "mobile", booleanAttribute], usernamePlaceHolder: "usernamePlaceHolder", emailValidator: ["emailValidator", "emailValidator", booleanAttribute] }, usesInheritance: true, ngImport: i0, template: "<form *ngIf=\"form.controls; let controls\" [formGroup]=\"form\" class=\"form-container\">\n <!-- Username -->\n <mat-form-field>\n <mat-label>{{ usernamePlaceHolder | translate }}</mat-label>\n <input\n matInput\n [appAutofocus]=\"!mobile\"\n [autofocusDelay]=\"500\"\n formControlName=\"username\"\n autocomplete=\"off\"\n required\n />\n\n <!-- error -->\n <mat-error *ngIf=\"form.controls.username.hasError('required') && form.controls.username.touched\">\n {{ 'ERROR.FIELD_REQUIRED' | translate }}\n </mat-error>\n <mat-error\n *ngIf=\"\n form.controls.username.hasError('email') &&\n !form.controls.username.hasError('required') &&\n controls.email.touched\n \"\n >\n <span>{{ 'ERROR.FIELD_NOT_VALID_EMAIL' | translate }}</span>\n </mat-error>\n </mat-form-field>\n</form>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i4.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: "directive", type: i5.AutofocusDirective, selector: "[autofocus], input[appAutofocus]", inputs: ["appAutofocus", "autofocusDelay"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
39
- }
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AppUsernameForm, decorators: [{
41
- type: Component,
42
- args: [{ selector: 'app-username-form', changeDetection: ChangeDetectionStrategy.OnPush, template: "<form *ngIf=\"form.controls; let controls\" [formGroup]=\"form\" class=\"form-container\">\n <!-- Username -->\n <mat-form-field>\n <mat-label>{{ usernamePlaceHolder | translate }}</mat-label>\n <input\n matInput\n [appAutofocus]=\"!mobile\"\n [autofocusDelay]=\"500\"\n formControlName=\"username\"\n autocomplete=\"off\"\n required\n />\n\n <!-- error -->\n <mat-error *ngIf=\"form.controls.username.hasError('required') && form.controls.username.touched\">\n {{ 'ERROR.FIELD_REQUIRED' | translate }}\n </mat-error>\n <mat-error\n *ngIf=\"\n form.controls.username.hasError('email') &&\n !form.controls.username.hasError('required') &&\n controls.email.touched\n \"\n >\n <span>{{ 'ERROR.FIELD_NOT_VALID_EMAIL' | translate }}</span>\n </mat-error>\n </mat-form-field>\n</form>\n" }]
43
- }], ctorParameters: () => [{ type: i0.Injector }, { type: i1.UntypedFormBuilder }, { type: i0.ChangeDetectorRef }], propDecorators: { mobile: [{
44
- type: Input,
45
- args: [{ transform: booleanAttribute }]
46
- }], usernamePlaceHolder: [{
47
- type: Input
48
- }], emailValidator: [{
49
- type: Input,
50
- args: [{ transform: booleanAttribute }]
51
- }] } });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcm5hbWUuZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9mb3JtL3VzZXJuYW1lL3VzZXJuYW1lLmZvcm0udHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvcmUvZm9ybS91c2VybmFtZS91c2VybmFtZS5mb3JtLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQVksS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pILE9BQU8sRUFBc0Isa0JBQWtCLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7Ozs7O0FBT3JELE1BQU0sT0FBTyxlQUFnQixTQUFRLE9BQTZCO0lBUXBEO0lBUDRCLE1BQU0sQ0FBVTtJQUMvQyxtQkFBbUIsR0FBVyxZQUFZLENBQUM7SUFDWixjQUFjLEdBQUcsSUFBSSxDQUFDO0lBRTlELFlBQ0UsUUFBa0IsRUFDbEIsV0FBK0IsRUFDckIsRUFBcUI7UUFFL0IsS0FBSyxDQUNILFFBQVEsRUFDUixXQUFXLENBQUMsS0FBSyxDQUFDO1lBQ2hCLFFBQVEsRUFBRSxJQUFJLGtCQUFrQixDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1NBQzVELENBQUMsQ0FDSCxDQUFDO1FBUFEsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7SUFRakMsQ0FBQztJQUVELFFBQVE7UUFDTixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUU5QyxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBSSxlQUFlLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzNFLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckQsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLGNBQWMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDbEYsZUFBZSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEQsQ0FBQztJQUNILENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN6QixDQUFDO3VHQWhDVSxlQUFlOzJGQUFmLGVBQWUsd0VBQ04sZ0JBQWdCLG9HQUVoQixnQkFBZ0Isb0RDYnRDLG0zQkE0QkE7OzJGRGxCYSxlQUFlO2tCQUwzQixTQUFTOytCQUNFLG1CQUFtQixtQkFFWix1QkFBdUIsQ0FBQyxNQUFNOzhJQUdQLE1BQU07c0JBQTdDLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQzdCLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDa0MsY0FBYztzQkFBckQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGJvb2xlYW5BdHRyaWJ1dGUsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbmplY3RvciwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVudHlwZWRGb3JtQnVpbGRlciwgVW50eXBlZEZvcm1Db250cm9sLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQXBwRm9ybSB9IGZyb20gJy4uL2Zvcm0uY2xhc3MnO1xuaW1wb3J0IHsgaXNNb2JpbGUgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvcGxhdGZvcm1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXVzZXJuYW1lLWZvcm0nLFxuICB0ZW1wbGF0ZVVybDogJ3VzZXJuYW1lLmZvcm0uaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBBcHBVc2VybmFtZUZvcm0gZXh0ZW5kcyBBcHBGb3JtPHsgdXNlcm5hbWU6IHN0cmluZyB9PiB7XG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBtb2JpbGU6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHVzZXJuYW1lUGxhY2VIb2xkZXI6IHN0cmluZyA9ICdVU0VSLkVNQUlMJztcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGVtYWlsVmFsaWRhdG9yID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgZm9ybUJ1aWxkZXI6IFVudHlwZWRGb3JtQnVpbGRlcixcbiAgICBwcm90ZWN0ZWQgY2Q6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICAgIHN1cGVyKFxuICAgICAgaW5qZWN0b3IsXG4gICAgICBmb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICAgIHVzZXJuYW1lOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICB0aGlzLm1vYmlsZSA9IHRoaXMubW9iaWxlID8/IGlzTW9iaWxlKHdpbmRvdyk7XG5cbiAgICBjb25zdCB1c2VyTmFtZUNvbnRyb2wgPSB0aGlzLmZvcm0uZ2V0KCd1c2VybmFtZScpO1xuICAgIGlmICghdGhpcy5lbWFpbFZhbGlkYXRvciAmJiB1c2VyTmFtZUNvbnRyb2wuaGFzVmFsaWRhdG9yKFZhbGlkYXRvcnMuZW1haWwpKSB7XG4gICAgICB1c2VyTmFtZUNvbnRyb2wucmVtb3ZlVmFsaWRhdG9ycyhWYWxpZGF0b3JzLmVtYWlsKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuZW1haWxWYWxpZGF0b3IgJiYgIXVzZXJOYW1lQ29udHJvbC5oYXNWYWxpZGF0b3IoVmFsaWRhdG9ycy5lbWFpbCkpIHtcbiAgICAgIHVzZXJOYW1lQ29udHJvbC5hZGRWYWxpZGF0b3JzKFZhbGlkYXRvcnMuZW1haWwpO1xuICAgIH1cbiAgfVxuXG4gIG1hcmtGb3JDaGVjaygpIHtcbiAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICB9XG59XG4iLCI8Zm9ybSAqbmdJZj1cImZvcm0uY29udHJvbHM7IGxldCBjb250cm9sc1wiIFtmb3JtR3JvdXBdPVwiZm9ybVwiIGNsYXNzPVwiZm9ybS1jb250YWluZXJcIj5cbiAgPCEtLSBVc2VybmFtZSAtLT5cbiAgPG1hdC1mb3JtLWZpZWxkPlxuICAgIDxtYXQtbGFiZWw+e3sgdXNlcm5hbWVQbGFjZUhvbGRlciB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgIDxpbnB1dFxuICAgICAgbWF0SW5wdXRcbiAgICAgIFthcHBBdXRvZm9jdXNdPVwiIW1vYmlsZVwiXG4gICAgICBbYXV0b2ZvY3VzRGVsYXldPVwiNTAwXCJcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cInVzZXJuYW1lXCJcbiAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICByZXF1aXJlZFxuICAgIC8+XG5cbiAgICA8IS0tIGVycm9yIC0tPlxuICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtLmNvbnRyb2xzLnVzZXJuYW1lLmhhc0Vycm9yKCdyZXF1aXJlZCcpICYmIGZvcm0uY29udHJvbHMudXNlcm5hbWUudG91Y2hlZFwiPlxuICAgICAge3sgJ0VSUk9SLkZJRUxEX1JFUVVJUkVEJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvbWF0LWVycm9yPlxuICAgIDxtYXQtZXJyb3JcbiAgICAgICpuZ0lmPVwiXG4gICAgICAgIGZvcm0uY29udHJvbHMudXNlcm5hbWUuaGFzRXJyb3IoJ2VtYWlsJykgJiZcbiAgICAgICAgIWZvcm0uY29udHJvbHMudXNlcm5hbWUuaGFzRXJyb3IoJ3JlcXVpcmVkJykgJiZcbiAgICAgICAgY29udHJvbHMuZW1haWwudG91Y2hlZFxuICAgICAgXCJcbiAgICA+XG4gICAgICA8c3Bhbj57eyAnRVJST1IuRklFTERfTk9UX1ZBTElEX0VNQUlMJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICA8L21hdC1lcnJvcj5cbiAgPC9tYXQtZm9ybS1maWVsZD5cbjwvZm9ybT5cbiJdfQ==