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

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 (297) hide show
  1. package/doc/changelog.md +50 -0
  2. package/esm2020/public_api.mjs +49 -46
  3. package/esm2020/src/app/admin/admin-routing.module.mjs +5 -5
  4. package/esm2020/src/app/admin/admin.module.mjs +13 -28
  5. package/esm2020/src/app/admin/services/person.service.mjs +3 -3
  6. package/esm2020/src/app/admin/services/validator/person.validator.mjs +3 -3
  7. package/esm2020/src/app/admin/users/list/users.mjs +33 -27
  8. package/esm2020/src/app/admin/users/list/users.module.mjs +58 -0
  9. package/esm2020/src/app/core/about/modal-about.mjs +3 -3
  10. package/esm2020/src/app/core/account/account.mjs +3 -3
  11. package/esm2020/src/app/core/auth/form/form-auth.mjs +3 -3
  12. package/esm2020/src/app/core/auth/modal/modal-auth.mjs +3 -3
  13. package/esm2020/src/app/core/core.module.mjs +6 -6
  14. package/esm2020/src/app/core/core.testing.module.mjs +26 -12
  15. package/esm2020/src/app/core/form/editor.class.mjs +129 -62
  16. package/esm2020/src/app/core/form/entity-editor-modal.class.mjs +25 -10
  17. package/esm2020/src/app/core/form/entity-editor.class.mjs +10 -33
  18. package/esm2020/src/app/core/form/entity-metadata.component.mjs +3 -3
  19. package/esm2020/src/app/core/form/form-buttons-bar.component.mjs +3 -3
  20. package/esm2020/src/app/core/form/form.class.mjs +10 -4
  21. package/esm2020/src/app/core/form/form.utils.mjs +39 -4
  22. package/esm2020/src/app/core/form/list.form.mjs +7 -6
  23. package/esm2020/src/app/core/form/properties/properties.form.mjs +129 -0
  24. package/esm2020/src/app/core/form/properties/property.validator.mjs +23 -0
  25. package/esm2020/src/app/core/form/properties/testing/properties-form.test.mjs +90 -0
  26. package/esm2020/src/app/core/form/properties/testing/properties-form.testing.module.mjs +39 -0
  27. package/esm2020/src/app/core/graphql/graphql.module.mjs +4 -4
  28. package/esm2020/src/app/core/graphql/graphql.service.mjs +3 -3
  29. package/esm2020/src/app/core/graphql/graphql.utils.mjs +2 -2
  30. package/esm2020/src/app/core/home/home.mjs +3 -3
  31. package/esm2020/src/app/core/icon/icon.component.mjs +5 -5
  32. package/esm2020/src/app/core/icon/icon.module.mjs +4 -4
  33. package/esm2020/src/app/core/install/install-upgrade-card.component.mjs +3 -3
  34. package/esm2020/src/app/core/install/install-upgrade-card.module.mjs +4 -4
  35. package/esm2020/src/app/core/menu/menu.component.mjs +3 -3
  36. package/esm2020/src/app/core/menu/menu.module.mjs +4 -4
  37. package/esm2020/src/app/core/menu/menu.service.mjs +3 -3
  38. package/esm2020/src/app/core/offline/update-offline-mode-card.component.mjs +4 -4
  39. package/esm2020/src/app/core/peer/select-peer.modal.mjs +4 -4
  40. package/esm2020/src/app/core/peer/select-peer.module.mjs +4 -4
  41. package/esm2020/src/app/core/register/confirm/confirm.mjs +3 -3
  42. package/esm2020/src/app/core/register/form/form-register.mjs +3 -3
  43. package/esm2020/src/app/core/register/modal/modal-register.mjs +3 -3
  44. package/esm2020/src/app/core/register/register.module.mjs +4 -4
  45. package/esm2020/src/app/core/services/account.service.mjs +5 -5
  46. package/esm2020/src/app/core/services/auth-guard.service.mjs +3 -3
  47. package/esm2020/src/app/core/services/base-entity-service.class.mjs +8 -9
  48. package/esm2020/src/app/core/services/base-graphql-service.class.mjs +3 -3
  49. package/esm2020/src/app/core/services/config.service.mjs +5 -5
  50. package/esm2020/src/app/core/services/crypto.service.mjs +3 -3
  51. package/esm2020/src/app/core/services/local-settings.service.mjs +3 -3
  52. package/esm2020/src/app/core/services/model/peer.model.mjs +3 -3
  53. package/esm2020/src/app/core/services/model/referential.model.mjs +11 -3
  54. package/esm2020/src/app/core/services/network.service.mjs +21 -28
  55. package/esm2020/src/app/core/services/pipes/account.pipes.mjs +8 -8
  56. package/esm2020/src/app/core/services/pipes/department-to-string.pipe.mjs +4 -4
  57. package/esm2020/src/app/core/services/pipes/person-to-string.pipe.mjs +4 -4
  58. package/esm2020/src/app/core/services/pipes/usage-mode.pipes.mjs +8 -8
  59. package/esm2020/src/app/core/services/platform.service.mjs +3 -3
  60. package/esm2020/src/app/core/services/storage/entities-storage.service.mjs +3 -3
  61. package/esm2020/src/app/core/services/testing/referential.validator.mjs +3 -3
  62. package/esm2020/src/app/core/services/validator/account.validator.mjs +3 -3
  63. package/esm2020/src/app/core/services/validator/base.validator.class.mjs +3 -3
  64. package/esm2020/src/app/core/services/validator/local-settings.validator.mjs +3 -3
  65. package/esm2020/src/app/core/services/validator/user-settings.validator.mjs +3 -3
  66. package/esm2020/src/app/core/settings/settings.page.mjs +4 -4
  67. package/esm2020/src/app/core/table/actions-column.component.mjs +9 -9
  68. package/esm2020/src/app/core/table/entities-table-datasource.class.mjs +74 -65
  69. package/esm2020/src/app/core/table/memory-table.class.mjs +3 -3
  70. package/esm2020/src/app/core/table/table-select-columns.component.mjs +3 -3
  71. package/esm2020/src/app/core/table/table.class.mjs +223 -208
  72. package/esm2020/src/app/core/table/table.utils.mjs +1 -1
  73. package/esm2020/src/app/core/table/testing/table.testing.mjs +5 -5
  74. package/esm2020/src/app/core/table/testing/table.testing.module.mjs +4 -4
  75. package/esm2020/src/app/core/text-popover/testing/text-popover.testing.mjs +3 -3
  76. package/esm2020/src/app/core/text-popover/testing/text-popover.testing.module.mjs +4 -4
  77. package/esm2020/src/app/core/text-popover/text-form.component.mjs +3 -3
  78. package/esm2020/src/app/core/text-popover/text-popover.component.mjs +3 -3
  79. package/esm2020/src/app/shared/audio/audio.mjs +4 -4
  80. package/esm2020/src/app/shared/audio/audio.testing.mjs +3 -3
  81. package/esm2020/src/app/shared/audio/audio.testing.module.mjs +4 -4
  82. package/esm2020/src/app/shared/capacitor/keyboard.mjs +3 -3
  83. package/esm2020/src/app/shared/debug/debug.component.mjs +39 -0
  84. package/esm2020/src/app/shared/debug/debug.module.mjs +44 -0
  85. package/esm2020/src/app/shared/directives/autofocus.directive.mjs +6 -6
  86. package/esm2020/src/app/shared/directives/autotitle.directive.mjs +3 -3
  87. package/esm2020/src/app/shared/directives/directives.module.mjs +4 -4
  88. package/esm2020/src/app/shared/directives/drag-and-drop.directive.mjs +3 -3
  89. package/esm2020/src/app/shared/directives/ng-var.directive.mjs +3 -3
  90. package/esm2020/src/app/shared/directives/resizable/resizable.component.mjs +3 -3
  91. package/esm2020/src/app/shared/directives/resizable/resizable.directive.mjs +3 -3
  92. package/esm2020/src/app/shared/directives/resizable/resizable.module.mjs +4 -4
  93. package/esm2020/src/app/shared/events.mjs +2 -2
  94. package/esm2020/src/app/shared/file/file.service.mjs +5 -5
  95. package/esm2020/src/app/shared/form/field.component.mjs +10 -7
  96. package/esm2020/src/app/shared/form/loading-spinner.mjs +3 -3
  97. package/esm2020/src/app/shared/forms.mjs +21 -2
  98. package/esm2020/src/app/shared/functions.mjs +23 -10
  99. package/esm2020/src/app/shared/gesture/gesture-config.mjs +3 -3
  100. package/esm2020/src/app/shared/graph/graph-colors.mjs +17 -63
  101. package/esm2020/src/app/shared/guard/component-dirty.guard.mjs +3 -3
  102. package/esm2020/src/app/shared/help/help.modal.mjs +3 -3
  103. package/esm2020/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.mjs +3 -3
  104. package/esm2020/src/app/shared/hotkeys/hotkeys.service.mjs +3 -3
  105. package/esm2020/src/app/shared/hotkeys/shared-hotkeys.module.mjs +4 -4
  106. package/esm2020/src/app/shared/image/gallery/image-gallery.component.mjs +4 -4
  107. package/esm2020/src/app/shared/image/gallery/image-gallery.module.mjs +4 -4
  108. package/esm2020/src/app/shared/image/gallery/testing/gallery.service.testing.mjs +3 -3
  109. package/esm2020/src/app/shared/image/gallery/testing/gallery.testing.mjs +3 -3
  110. package/esm2020/src/app/shared/image/gallery/testing/gallery.testing.module.mjs +4 -4
  111. package/esm2020/src/app/shared/image/image.module.mjs +4 -4
  112. package/esm2020/src/app/shared/image/image.service.mjs +3 -3
  113. package/esm2020/src/app/shared/material/autocomplete/material.autocomplete.config.mjs +1 -1
  114. package/esm2020/src/app/shared/material/autocomplete/material.autocomplete.mjs +8 -10
  115. package/esm2020/src/app/shared/material/autocomplete/material.autocomplete.module.mjs +4 -4
  116. package/esm2020/src/app/shared/material/autocomplete/testing/autocomplete.test.mjs +3 -3
  117. package/esm2020/src/app/shared/material/badge/badge.directive.mjs +176 -0
  118. package/esm2020/src/app/shared/material/badge/badge.module.mjs +32 -0
  119. package/esm2020/src/app/shared/material/badge/badge.test.mjs +28 -0
  120. package/esm2020/src/app/shared/material/boolean/boolean.module.mjs +4 -4
  121. package/esm2020/src/app/shared/material/boolean/material.boolean.mjs +3 -3
  122. package/esm2020/src/app/shared/material/chips/chips.module.mjs +4 -4
  123. package/esm2020/src/app/shared/material/chips/material.chips.mjs +11 -13
  124. package/esm2020/src/app/shared/material/chips/testing/chips.test.mjs +3 -3
  125. package/esm2020/src/app/shared/material/datetime/datetime.module.mjs +4 -4
  126. package/esm2020/src/app/shared/material/datetime/material.date.mjs +79 -83
  127. package/esm2020/src/app/shared/material/datetime/material.dateshort.mjs +5 -5
  128. package/esm2020/src/app/shared/material/datetime/material.datetime.mjs +95 -77
  129. package/esm2020/src/app/shared/material/datetime/testing/mat-date-time.test.mjs +5 -5
  130. package/esm2020/src/app/shared/material/datetime/testing/mat-date.test.mjs +5 -5
  131. package/esm2020/src/app/shared/material/duration/duration.module.mjs +4 -4
  132. package/esm2020/src/app/shared/material/duration/material.duration.mjs +3 -3
  133. package/esm2020/src/app/shared/material/latlong/material.latlong.mjs +3 -3
  134. package/esm2020/src/app/shared/material/latlong/material.latlong.module.mjs +4 -4
  135. package/esm2020/src/app/shared/material/latlong/testing/latlong.test.mjs +3 -3
  136. package/esm2020/src/app/shared/material/material.animations.mjs +1 -1
  137. package/esm2020/src/app/shared/material/material.module.mjs +10 -10
  138. package/esm2020/src/app/shared/material/material.testing.module.mjs +25 -13
  139. package/esm2020/src/app/shared/material/numpad/numpad.append-to-input.directive.mjs +3 -3
  140. package/esm2020/src/app/shared/material/numpad/numpad.component.mjs +3 -3
  141. package/esm2020/src/app/shared/material/numpad/numpad.container.mjs +5 -5
  142. package/esm2020/src/app/shared/material/numpad/numpad.content.mjs +3 -3
  143. package/esm2020/src/app/shared/material/numpad/numpad.directive.mjs +3 -3
  144. package/esm2020/src/app/shared/material/numpad/numpad.dom-service.mjs +3 -3
  145. package/esm2020/src/app/shared/material/numpad/numpad.module.mjs +4 -4
  146. package/esm2020/src/app/shared/material/numpad/testing/numpad.test.mjs +3 -3
  147. package/esm2020/src/app/shared/material/paginator/material.paginator-i18n.mjs +3 -3
  148. package/esm2020/src/app/shared/material/stepper/material.stepper-i18n.mjs +3 -3
  149. package/esm2020/src/app/shared/material/swipe/material.swipe.mjs +3 -3
  150. package/esm2020/src/app/shared/material/swipe/swipe.module.mjs +4 -4
  151. package/esm2020/src/app/shared/material/swipe/testing/swipe.test.mjs +3 -3
  152. package/esm2020/src/app/shared/observables.mjs +29 -22
  153. package/esm2020/src/app/shared/pipes/arrays.pipe.mjs +48 -27
  154. package/esm2020/src/app/shared/pipes/colors.pipe.mjs +3 -3
  155. package/esm2020/src/app/shared/pipes/date-diff-duration.pipe.mjs +4 -4
  156. package/esm2020/src/app/shared/pipes/date-format.pipe.mjs +4 -4
  157. package/esm2020/src/app/shared/pipes/date-from-now.pipe.mjs +4 -4
  158. package/esm2020/src/app/shared/pipes/duration.pipe.mjs +4 -4
  159. package/esm2020/src/app/shared/pipes/file-size.pipe.mjs +3 -3
  160. package/esm2020/src/app/shared/pipes/form.pipes.mjs +18 -18
  161. package/esm2020/src/app/shared/pipes/highlight.pipe.mjs +4 -4
  162. package/esm2020/src/app/shared/pipes/latlong-format.pipe.mjs +9 -9
  163. package/esm2020/src/app/shared/pipes/maps.pipe.mjs +12 -12
  164. package/esm2020/src/app/shared/pipes/math.pipes.mjs +12 -12
  165. package/esm2020/src/app/shared/pipes/ng-init.pipe.mjs +3 -3
  166. package/esm2020/src/app/shared/pipes/number-format.pipe.mjs +4 -4
  167. package/esm2020/src/app/shared/pipes/pipes.module.mjs +10 -6
  168. package/esm2020/src/app/shared/pipes/property.pipes.mjs +7 -7
  169. package/esm2020/src/app/shared/pipes/string.pipes.mjs +15 -15
  170. package/esm2020/src/app/shared/pipes/translate-context.pipe.mjs +8 -8
  171. package/esm2020/src/app/shared/services/entity-service.class.mjs +1 -13
  172. package/esm2020/src/app/shared/services/memory-entity-service.class.mjs +127 -43
  173. package/esm2020/src/app/shared/services/progress-bar.service.mjs +3 -3
  174. package/esm2020/src/app/shared/services/startable-observable-service.class.mjs +119 -0
  175. package/esm2020/src/app/shared/services/startable-service.class.mjs +42 -31
  176. package/esm2020/src/app/shared/services/storage/storage.service.mjs +3 -3
  177. package/esm2020/src/app/shared/services/translate-context.service.mjs +3 -3
  178. package/esm2020/src/app/shared/shared-routing.module.mjs +7 -7
  179. package/esm2020/src/app/shared/shared.module.mjs +4 -4
  180. package/esm2020/src/app/shared/shared.testing.module.mjs +4 -4
  181. package/esm2020/src/app/shared/testing/observable.test.mjs +96 -0
  182. package/esm2020/src/app/shared/testing/tests.page.mjs +3 -3
  183. package/esm2020/src/app/shared/toast/toast.testing.mjs +10 -11
  184. package/esm2020/src/app/shared/toast/toast.testing.module.mjs +4 -4
  185. package/esm2020/src/app/shared/toast/toasts.mjs +38 -15
  186. package/esm2020/src/app/shared/toolbar/modal-toolbar.mjs +5 -5
  187. package/esm2020/src/app/shared/toolbar/toolbar.mjs +9 -9
  188. package/esm2020/src/app/shared/toolbar/toolbar.module.mjs +4 -4
  189. package/esm2020/src/app/shared/upload-file/testing/upload-file.testing.mjs +3 -3
  190. package/esm2020/src/app/shared/upload-file/testing/upload-file.testing.module.mjs +4 -4
  191. package/esm2020/src/app/shared/upload-file/upload-file-popover.component.mjs +3 -3
  192. package/esm2020/src/app/shared/upload-file/upload-file.component.mjs +3 -3
  193. package/esm2020/src/app/shared/validator/form-error-adapter.class.mjs +3 -3
  194. package/esm2020/src/app/social/job/job.module.mjs +9 -9
  195. package/esm2020/src/app/social/job/job.service.mjs +27 -15
  196. package/esm2020/src/app/social/job/progression/job-progression.icon.mjs +210 -0
  197. package/esm2020/src/app/social/job/progression/job-progression.list.mjs +3 -3
  198. package/esm2020/src/app/social/job/testing/job-progression.testing.mjs +33 -31
  199. package/esm2020/src/app/social/job/testing/job-progression.testing.service.mjs +27 -5
  200. package/esm2020/src/app/social/job/testing/job.testing.module.mjs +4 -4
  201. package/esm2020/src/app/social/message/message.form.mjs +3 -3
  202. package/esm2020/src/app/social/message/message.modal.mjs +3 -3
  203. package/esm2020/src/app/social/message/message.module.mjs +4 -4
  204. package/esm2020/src/app/social/message/message.service.mjs +3 -3
  205. package/esm2020/src/app/social/social.module.mjs +5 -5
  206. package/esm2020/src/app/social/social.testing.module.mjs +4 -4
  207. package/esm2020/src/app/social/user-event/notification/user-event-notification.icon.mjs +28 -17
  208. package/esm2020/src/app/social/user-event/notification/user-event-notification.list.mjs +6 -6
  209. package/esm2020/src/app/social/user-event/testing/user-event.testing.mjs +6 -6
  210. package/esm2020/src/app/social/user-event/testing/user-event.testing.module.mjs +4 -4
  211. package/esm2020/src/app/social/user-event/testing/user-event.testing.service.mjs +3 -3
  212. package/esm2020/src/app/social/user-event/user-event.module.mjs +9 -9
  213. package/esm2020/src/app/social/user-event/user-event.service.mjs +5 -5
  214. package/esm2020/src/app/vendor.mjs +6 -1
  215. package/fesm2015/sumaris-net.ngx-components.mjs +2713 -2041
  216. package/fesm2015/sumaris-net.ngx-components.mjs.map +1 -1
  217. package/fesm2020/sumaris-net.ngx-components.mjs +2528 -1809
  218. package/fesm2020/sumaris-net.ngx-components.mjs.map +1 -1
  219. package/package.json +16 -9
  220. package/public_api.d.ts +48 -8
  221. package/src/app/admin/admin.module.d.ts +4 -8
  222. package/src/app/admin/users/list/users.d.ts +1 -0
  223. package/src/app/admin/users/list/users.module.d.ts +14 -0
  224. package/src/app/core/core.module.d.ts +1 -1
  225. package/src/app/core/core.testing.module.d.ts +2 -1
  226. package/src/app/core/form/editor.class.d.ts +19 -5
  227. package/src/app/core/form/entity-editor-modal.class.d.ts +17 -8
  228. package/src/app/core/form/entity-editor.class.d.ts +4 -11
  229. package/src/app/core/form/form.class.d.ts +2 -0
  230. package/src/app/core/form/form.utils.d.ts +28 -2
  231. package/src/app/core/form/list.form.d.ts +1 -1
  232. package/src/app/core/form/{properties.form.d.ts → properties/properties.form.d.ts} +13 -13
  233. package/src/app/core/form/properties/property.validator.d.ts +13 -0
  234. package/src/app/core/form/properties/testing/properties-form.test.d.ts +19 -0
  235. package/src/app/core/form/properties/testing/properties-form.testing.module.d.ts +12 -0
  236. package/src/app/core/offline/update-offline-mode-card.component.d.ts +1 -1
  237. package/src/app/core/peer/select-peer.modal.d.ts +1 -1
  238. package/src/app/core/services/model/referential.model.d.ts +6 -1
  239. package/src/app/core/services/network.service.d.ts +6 -8
  240. package/src/app/core/table/actions-column.component.d.ts +1 -1
  241. package/src/app/core/table/entities-table-datasource.class.d.ts +22 -15
  242. package/src/app/core/table/table.class.d.ts +30 -40
  243. package/src/app/core/table/table.utils.d.ts +2 -1
  244. package/src/app/core/table/testing/table.testing.d.ts +1 -1
  245. package/src/app/shared/debug/debug.component.d.ts +13 -0
  246. package/src/app/shared/debug/debug.module.d.ts +12 -0
  247. package/src/app/shared/events.d.ts +4 -4
  248. package/src/app/shared/form/field.component.d.ts +4 -1
  249. package/src/app/shared/forms.d.ts +8 -1
  250. package/src/app/shared/functions.d.ts +9 -4
  251. package/src/app/shared/graph/graph-colors.d.ts +8 -8
  252. package/src/app/shared/image/gallery/image-gallery.component.d.ts +1 -1
  253. package/src/app/shared/image/gallery/testing/gallery.testing.d.ts +1 -1
  254. package/src/app/shared/material/autocomplete/material.autocomplete.config.d.ts +1 -1
  255. package/src/app/shared/material/badge/badge.directive.d.ts +30 -0
  256. package/src/app/shared/material/badge/badge.module.d.ts +10 -0
  257. package/src/app/shared/material/badge/badge.test.d.ts +13 -0
  258. package/src/app/shared/material/datetime/material.date.d.ts +12 -13
  259. package/src/app/shared/material/datetime/material.datetime.d.ts +14 -14
  260. package/src/app/shared/material/material.module.d.ts +2 -2
  261. package/src/app/shared/material/material.testing.module.d.ts +10 -9
  262. package/src/app/shared/observables.d.ts +1 -1
  263. package/src/app/shared/pipes/arrays.pipe.d.ts +12 -2
  264. package/src/app/shared/pipes/pipes.module.d.ts +1 -1
  265. package/src/app/shared/services/entity-service.class.d.ts +0 -11
  266. package/src/app/shared/services/memory-entity-service.class.d.ts +20 -6
  267. package/src/app/shared/services/startable-observable-service.class.d.ts +33 -0
  268. package/src/app/shared/services/startable-service.class.d.ts +12 -9
  269. package/src/app/shared/testing/observable.test.d.ts +25 -0
  270. package/src/app/shared/toast/toast.testing.d.ts +3 -5
  271. package/src/app/shared/toast/toasts.d.ts +5 -2
  272. package/src/app/social/job/job.module.d.ts +2 -2
  273. package/src/app/social/job/job.service.d.ts +10 -2
  274. package/src/app/social/job/progression/{job-progression.component.d.ts → job-progression.icon.d.ts} +5 -5
  275. package/src/app/social/job/testing/job-progression.testing.d.ts +7 -4
  276. package/src/app/social/job/testing/job-progression.testing.service.d.ts +4 -0
  277. package/src/app/social/social.module.d.ts +1 -1
  278. package/src/app/social/user-event/notification/user-event-notification.icon.d.ts +8 -5
  279. package/src/app/social/user-event/testing/user-event.testing.d.ts +2 -2
  280. package/src/app/social/user-event/user-event.module.d.ts +1 -1
  281. package/src/app/social/user-event/user-event.service.d.ts +1 -1
  282. package/src/app/vendor.d.ts +2 -0
  283. package/src/theme/_ionic.globals.scss +4 -0
  284. package/src/theme/_material.globals.scss +3 -1
  285. package/src/theme/_material.scss +29 -4
  286. package/src/theme/_mixins.scss +3 -3
  287. package/src/theme/_ngx-components.scss +26 -0
  288. package/esm2020/public_test_api.mjs +0 -46
  289. package/esm2020/src/app/core/form/properties.form.mjs +0 -126
  290. package/esm2020/src/app/shared/material/badge/badge-icon.directive.mjs +0 -143
  291. package/esm2020/src/app/shared/material/badge/badge-icon.module.mjs +0 -32
  292. package/esm2020/src/app/shared/material/badge/badge-icon.test.mjs +0 -27
  293. package/esm2020/src/app/social/job/progression/job-progression.component.mjs +0 -201
  294. package/public_test_api.d.ts +0 -37
  295. package/src/app/shared/material/badge/badge-icon.directive.d.ts +0 -30
  296. package/src/app/shared/material/badge/badge-icon.module.d.ts +0 -10
  297. package/src/app/shared/material/badge/badge-icon.test.d.ts +0 -12
@@ -1,10 +1,11 @@
1
1
  import { __decorate, __param } from "tslib";
2
2
  import { Optional } from '@angular/core';
3
3
  import { Subject, Subscription } from 'rxjs';
4
- import { waitFor } from '../observables';
4
+ import { takeUntil } from 'rxjs/operators';
5
5
  let StartableService = class StartableService {
6
6
  constructor(prerequisiteService) {
7
- this.onStart = new Subject();
7
+ this.startSubject = new Subject();
8
+ this.stopSubject = new Subject();
8
9
  this._debug = false;
9
10
  this._startByReadyFunction = true; // should start when calling ready() ?
10
11
  this._data = null;
@@ -16,48 +17,62 @@ let StartableService = class StartableService {
16
17
  ? () => prerequisiteService.ready()
17
18
  : () => Promise.resolve();
18
19
  }
19
- start() {
20
+ start(opts) {
20
21
  if (this._startPromise)
21
22
  return this._startPromise;
22
23
  if (this._started)
23
24
  return Promise.resolve(this._data);
24
25
  this._startPromise = this._startPrerequisite()
25
- .then(() => this.ngOnStart())
26
+ .then(() => this.ngOnStart(opts))
26
27
  .then(data => {
27
28
  this._data = data;
28
29
  this._started = true;
29
30
  this._startPromise = undefined;
30
- this.onStart.next(this._data);
31
- return this._data;
31
+ this.startSubject.next(data);
32
+ return data;
32
33
  })
33
34
  .catch(err => {
34
- console.error('Failed to start a service: ' + (err && err.message || err), err);
35
- this._started = false;
36
- this._startPromise = null;
35
+ if (!this.stopped) {
36
+ console.error('Failed to start a service: ' + (err && err.message || err), err);
37
+ this._startPromise = null;
38
+ this._started = false;
39
+ }
37
40
  return null;
38
41
  });
39
42
  return this._startPromise;
40
43
  }
44
+ ready() {
45
+ if (this._started)
46
+ return Promise.resolve(this._data);
47
+ if (this._startPromise)
48
+ return this._startPromise;
49
+ if (this._startByReadyFunction)
50
+ return this.start();
51
+ return this.startSubject
52
+ .pipe(takeUntil(this.stopSubject))
53
+ .toPromise();
54
+ }
41
55
  async stop() {
42
56
  try {
43
- if (this._subscription) {
44
- this._subscription.unsubscribe();
45
- this._subscription = null;
46
- }
57
+ this.unsubscribe();
47
58
  await this.ngOnStop();
48
- this._started = false;
49
- this._startPromise = undefined;
50
59
  }
51
60
  catch (err) {
52
61
  console.error('Failed to stop a service: ' + (err && err.message || err), err);
53
62
  }
63
+ finally {
64
+ this._data = null;
65
+ this._started = false;
66
+ this._startPromise = undefined;
67
+ this.stopSubject.next();
68
+ }
54
69
  }
55
- async restart() {
70
+ async restart(opts) {
56
71
  if (this._startPromise)
57
72
  await this._startPromise; // Wait end of previous loading
58
73
  if (this._started)
59
74
  await this.stop(); // Then stop if started
60
- return this.start(); // Then start again
75
+ return this.start(opts); // Then start again
61
76
  }
62
77
  get started() {
63
78
  return this._started;
@@ -65,30 +80,26 @@ let StartableService = class StartableService {
65
80
  get starting() {
66
81
  return !!this._startPromise;
67
82
  }
68
- ready() {
69
- if (this._started)
70
- return Promise.resolve(this._data);
71
- if (this._startPromise)
72
- return this._startPromise;
73
- if (this._startByReadyFunction)
74
- return this.start();
75
- return waitFor(() => this._started)
76
- .then(() => this._data);
83
+ get stopped() {
84
+ return !this._started && !this._startPromise;
77
85
  }
78
86
  registerSubscription(sub) {
79
87
  this._subscription = this._subscription || new Subscription();
80
88
  this._subscription.add(sub);
81
- return sub;
82
89
  }
83
90
  unregisterSubscription(sub) {
84
- this._subscription.remove(sub);
91
+ this._subscription?.remove(sub);
92
+ }
93
+ unsubscribe() {
94
+ this._subscription?.unsubscribe();
95
+ this._subscription = null;
85
96
  }
86
- async ngOnStop() {
87
- // Can be override by subclasses
97
+ ngOnStop() {
98
+ // Can be overwritten by subclasses
88
99
  }
89
100
  };
90
101
  StartableService = __decorate([
91
102
  __param(0, Optional())
92
103
  ], StartableService);
93
104
  export { StartableService };
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnRhYmxlLXNlcnZpY2UuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC9zZXJ2aWNlcy9zdGFydGFibGUtc2VydmljZS5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsT0FBTyxFQUFFLFlBQVksRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFTdkMsSUFBc0IsZ0JBQWdCLEdBQXRDLE1BQXNCLGdCQUFnQjtJQWFwQyxZQUNjLG1CQUFrRDtRQVpoRSxZQUFPLEdBQUcsSUFBSSxPQUFPLEVBQUssQ0FBQztRQUVqQixXQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ2YsMEJBQXFCLEdBQUcsSUFBSSxDQUFDLENBQUMsc0NBQXNDO1FBQ3BFLFVBQUssR0FBTSxJQUFJLENBQUM7UUFFbEIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixrQkFBYSxHQUFlLElBQUksQ0FBQztRQUNqQyx1QkFBa0IsR0FBdUIsSUFBSSxDQUFDO1FBQzlDLGtCQUFhLEdBQWlCLElBQUksQ0FBQztRQUt6QyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsbUJBQW1CO1lBQzNDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLEVBQUU7WUFDbkMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQsS0FBSztRQUNILElBQUksSUFBSSxDQUFDLGFBQWE7WUFBRSxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDbEQsSUFBSSxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7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SUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDNUIsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRVMsc0JBQXNCLENBQUMsR0FBaUI7UUFDaEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVTLEtBQUssQ0FBQyxRQUFRO1FBQ3RCLGdDQUFnQztJQUNsQyxDQUFDO0NBR0YsQ0FBQTtBQW5HcUIsZ0JBQWdCO0lBY2pDLFdBQUEsUUFBUSxFQUFFLENBQUE7R0FkTyxnQkFBZ0IsQ0FtR3JDO1NBbkdxQixnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge09wdGlvbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7U3ViamVjdCwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7d2FpdEZvcn0gZnJvbSAnLi4vb2JzZXJ2YWJsZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElTdGFydGFibGVTZXJ2aWNlPFQgPSBhbnk+IHtcbiAgc3RhcnRlZDogYm9vbGVhbjtcbiAgc3RhcnQoKTogUHJvbWlzZTxUPjtcbiAgc3RvcCgpOiBQcm9taXNlPHZvaWQ+O1xuICByZWFkeSgpOiBQcm9taXNlPFQ+O1xufVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU3RhcnRhYmxlU2VydmljZTxUID0gYW55PiBpbXBsZW1lbnRzIElTdGFydGFibGVTZXJ2aWNlPFQ+IHtcblxuICBvblN0YXJ0ID0gbmV3IFN1YmplY3Q8VD4oKTtcblxuICBwcm90ZWN0ZWQgX2RlYnVnID0gZmFsc2U7XG4gIHByb3RlY3RlZCBfc3RhcnRCeVJlYWR5RnVuY3Rpb24gPSB0cnVlOyAvLyBzaG91bGQgc3RhcnQgd2hlbiBjYWxsaW5nIHJlYWR5KCkgP1xuICBwcm90ZWN0ZWQgX2RhdGE6IFQgPSBudWxsO1xuXG4gIHByaXZhdGUgX3N0YXJ0ZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfc3RhcnRQcm9taXNlOiBQcm9taXNlPFQ+ID0gbnVsbDtcbiAgcHJpdmF0ZSBfc3RhcnRQcmVyZXF1aXNpdGU6ICgpID0+IFByb21pc2U8YW55PiA9IG51bGw7XG4gIHByaXZhdGUgX3N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uID0gbnVsbDtcblxuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgcHJlcmVxdWlzaXRlU2VydmljZTogeyByZWFkeTogKCkgPT4gUHJvbWlzZTxhbnk+IH1cbiAgKSB7XG4gICAgdGhpcy5fc3RhcnRQcmVyZXF1aXNpdGUgPSBwcmVyZXF1aXNpdGVTZXJ2aWNlXG4gICAgICA/ICgpID0+IHByZXJlcXVpc2l0ZVNlcnZpY2UucmVhZHkoKVxuICAgICAgOiAoKSA9PiBQcm9taXNlLnJlc29sdmUoKTtcbiAgfVxuXG4gIHN0YXJ0KCk6IFByb21pc2U8VD4ge1xuICAgIGlmICh0aGlzLl9zdGFydFByb21pc2UpIHJldHVybiB0aGlzLl9zdGFydFByb21pc2U7XG4gICAgaWYgKHRoaXMuX3N0YXJ0ZWQpIHJldHVybiBQcm9taXNlLnJlc29sdmUodGhpcy5fZGF0YSk7XG5cbiAgICB0aGlzLl9zdGFydFByb21pc2UgPSB0aGlzLl9zdGFydFByZXJlcXVpc2l0ZSgpXG4gICAgICAudGhlbigoKSA9PiB0aGlzLm5nT25TdGFydCgpKVxuICAgICAgLnRoZW4oZGF0YSA9PiB7XG4gICAgICAgIHRoaXMuX2RhdGEgPSBkYXRhO1xuXG4gICAgICAgIHRoaXMuX3N0YXJ0ZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLl9zdGFydFByb21pc2UgPSB1bmRlZmluZWQ7XG5cbiAgICAgICAgdGhpcy5vblN0YXJ0Lm5leHQodGhpcy5fZGF0YSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGE7XG4gICAgICB9KVxuICAgICAgLmNhdGNoKGVyciA9PiB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBzdGFydCBhIHNlcnZpY2U6ICcgKyAoZXJyICYmIGVyci5tZXNzYWdlIHx8IGVyciksIGVycik7XG4gICAgICAgIHRoaXMuX3N0YXJ0ZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5fc3RhcnRQcm9taXNlID0gbnVsbDtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9KTtcbiAgICByZXR1cm4gdGhpcy5fc3RhcnRQcm9taXNlO1xuICB9XG5cblxuICBhc3luYyBzdG9wKCkge1xuICAgIHRyeSB7XG4gICAgICBpZiAodGhpcy5fc3Vic2NyaXB0aW9uKSB7XG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb24gPSBudWxsO1xuICAgICAgfVxuICAgICAgYXdhaXQgdGhpcy5uZ09uU3RvcCgpO1xuICAgICAgdGhpcy5fc3RhcnRlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5fc3RhcnRQcm9taXNlID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBjYXRjaCAoZXJyKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gc3RvcCBhIHNlcnZpY2U6ICcgKyAoZXJyICYmIGVyci5tZXNzYWdlIHx8IGVyciksIGVycik7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgcmVzdGFydCgpOiBQcm9taXNlPFQ+IHtcbiAgICBpZiAodGhpcy5fc3RhcnRQcm9taXNlKSBhd2FpdCB0aGlzLl9zdGFydFByb21pc2U7IC8vIFdhaXQgZW5kIG9mIHByZXZpb3VzIGxvYWRpbmdcbiAgICBpZiAodGhpcy5fc3RhcnRlZCkgYXdhaXQgdGhpcy5zdG9wKCk7IC8vIFRoZW4gc3RvcCBpZiBzdGFydGVkXG4gICAgcmV0dXJuIHRoaXMuc3RhcnQoKTsgLy8gVGhlbiBzdGFydCBhZ2FpblxuICB9XG5cbiAgZ2V0IHN0YXJ0ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXJ0ZWQ7XG4gIH1cblxuICBnZXQgc3RhcnRpbmcoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5fc3RhcnRQcm9taXNlO1xuICB9XG5cbiAgcmVhZHkoKTogUHJvbWlzZTxUPiB7XG4gICAgaWYgKHRoaXMuX3N0YXJ0ZWQpIHJldHVybiBQcm9taXNlLnJlc29sdmUodGhpcy5fZGF0YSk7XG4gICAgaWYgKHRoaXMuX3N0YXJ0UHJvbWlzZSkgcmV0dXJuIHRoaXMuX3N0YXJ0UHJvbWlzZTtcbiAgICBpZiAodGhpcy5fc3RhcnRCeVJlYWR5RnVuY3Rpb24pIHJldHVybiB0aGlzLnN0YXJ0KCk7XG4gICAgcmV0dXJuIHdhaXRGb3IoKCkgPT4gdGhpcy5fc3RhcnRlZClcbiAgICAgIC50aGVuKCgpID0+IHRoaXMuX2RhdGEpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlZ2lzdGVyU3Vic2NyaXB0aW9uKHN1YjogU3Vic2NyaXB0aW9uKTogU3Vic2NyaXB0aW9uIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb24gPSB0aGlzLl9zdWJzY3JpcHRpb24gfHwgbmV3IFN1YnNjcmlwdGlvbigpO1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbi5hZGQoc3ViKTtcbiAgICByZXR1cm4gc3ViO1xuICB9XG5cbiAgcHJvdGVjdGVkIHVucmVnaXN0ZXJTdWJzY3JpcHRpb24oc3ViOiBTdWJzY3JpcHRpb24pOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb24ucmVtb3ZlKHN1Yik7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgbmdPblN0b3AoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgLy8gQ2FuIGJlIG92ZXJyaWRlIGJ5IHN1YmNsYXNzZXNcbiAgfVxuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBuZ09uU3RhcnQoKTogUHJvbWlzZTxUPjtcbn1cbiJdfQ==
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnRhYmxlLXNlcnZpY2UuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC9zZXJ2aWNlcy9zdGFydGFibGUtc2VydmljZS5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsT0FBTyxFQUFFLFlBQVksRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFTekMsSUFBc0IsZ0JBQWdCLEdBQXRDLE1BQXNCLGdCQUFnQjtJQWNwQyxZQUNjLG1CQUFtRDtRQWJ4RCxpQkFBWSxHQUFHLElBQUksT0FBTyxFQUFLLENBQUM7UUFDaEMsZ0JBQVcsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRWpDLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFDZiwwQkFBcUIsR0FBRyxJQUFJLENBQUMsQ0FBQyxzQ0FBc0M7UUFDcEUsVUFBSyxHQUFNLElBQUksQ0FBQztRQUVsQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGtCQUFhLEdBQWUsSUFBSSxDQUFDO1FBQ2pDLHVCQUFrQixHQUF1QixJQUFJLENBQUM7UUFDOUMsa0JBQWEsR0FBaUIsSUFBSSxDQUFDO1FBS3pDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxtQkFBbUI7WUFDM0MsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixDQUFDLEtBQUssRUFBRTtZQUNuQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxLQUFLLENBQUMsSUFBUTtRQUNaLElBQUksSUFBSSxDQUFDLGFBQWE7WUFBRSxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDbEQsSUFBSSxJQUFJLENBQUMsUUFBUTtZQUFFLE9B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RCxJQUFJLE9BQU87UUFDVCxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDL0MsQ0FBQztJQUVTLG9CQUFvQixDQUFDLEdBQWlCO1FBQzlDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzlELElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFUyxzQkFBc0IsQ0FBQyxHQUFpQjtRQUNoRCxJQUFJLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRVMsV0FBVztRQUNuQixJQUFJLENBQUMsYUFBYSxFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO0lBQzVCLENBQUM7SUFFUyxRQUFRO1FBQ2hCLG1DQUFtQztJQUNyQyxDQUFDO0NBR0YsQ0FBQTtBQWhIcUIsZ0JBQWdCO0lBZWpDLFdBQUEsUUFBUSxFQUFFLENBQUE7R0FmTyxnQkFBZ0IsQ0FnSHJDO1NBaEhxQixnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge09wdGlvbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7U3ViamVjdCwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7dGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVN0YXJ0YWJsZVNlcnZpY2U8VCA9IGFueT4ge1xuICBzdGFydGVkOiBib29sZWFuO1xuICBzdGFydCgpOiBQcm9taXNlPFQ+O1xuICBzdG9wKCk6IFByb21pc2U8dm9pZD47XG4gIHJlYWR5KCk6IFByb21pc2U8VD47XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTdGFydGFibGVTZXJ2aWNlPFQgPSBhbnksIE8gPSBhbnk+IGltcGxlbWVudHMgSVN0YXJ0YWJsZVNlcnZpY2U8VD4ge1xuXG4gIHJlYWRvbmx5IHN0YXJ0U3ViamVjdCA9IG5ldyBTdWJqZWN0PFQ+KCk7XG4gIHJlYWRvbmx5IHN0b3BTdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwcm90ZWN0ZWQgX2RlYnVnID0gZmFsc2U7XG4gIHByb3RlY3RlZCBfc3RhcnRCeVJlYWR5RnVuY3Rpb24gPSB0cnVlOyAvLyBzaG91bGQgc3RhcnQgd2hlbiBjYWxsaW5nIHJlYWR5KCkgP1xuICBwcm90ZWN0ZWQgX2RhdGE6IFQgPSBudWxsO1xuXG4gIHByaXZhdGUgX3N0YXJ0ZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfc3RhcnRQcm9taXNlOiBQcm9taXNlPFQ+ID0gbnVsbDtcbiAgcHJpdmF0ZSBfc3RhcnRQcmVyZXF1aXNpdGU6ICgpID0+IFByb21pc2U8YW55PiA9IG51bGw7XG4gIHByaXZhdGUgX3N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uID0gbnVsbDtcblxuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgcHJlcmVxdWlzaXRlU2VydmljZT86IHsgcmVhZHk6ICgpID0+IFByb21pc2U8YW55PiB9XG4gICkge1xuICAgIHRoaXMuX3N0YXJ0UHJlcmVxdWlzaXRlID0gcHJlcmVxdWlzaXRlU2VydmljZVxuICAgICAgPyAoKSA9PiBwcmVyZXF1aXNpdGVTZXJ2aWNlLnJlYWR5KClcbiAgICAgIDogKCkgPT4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gIH1cblxuICBzdGFydChvcHRzPzogTyk6IFByb21pc2U8VD4ge1xuICAgIGlmICh0aGlzLl9zdGFydFByb21pc2UpIHJldHVybiB0aGlzLl9zdGFydFByb21pc2U7XG4gICAgaWYgKHRoaXMuX3N0YXJ0ZWQpIHJldHVybiBQcm9taXNlLnJlc29sdmUodGhpcy5fZGF0YSk7XG5cbiAgICB0aGlzLl9zdGFydFByb21pc2UgPSB0aGlzLl9zdGFydFByZXJlcXVpc2l0ZSgpXG4gICAgICAudGhlbigoKSA9PiB0aGlzLm5nT25TdGFydChvcHRzKSlcbiAgICAgIC50aGVuKGRhdGEgPT4ge1xuICAgICAgICB0aGlzLl9kYXRhID0gZGF0YTtcblxuICAgICAgICB0aGlzLl9zdGFydGVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5fc3RhcnRQcm9taXNlID0gdW5kZWZpbmVkO1xuXG4gICAgICAgIHRoaXMuc3RhcnRTdWJqZWN0Lm5leHQoZGF0YSk7XG5cbiAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgICB9KVxuICAgICAgLmNhdGNoKGVyciA9PiB7XG4gICAgICAgIGlmICghdGhpcy5zdG9wcGVkKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIHN0YXJ0IGEgc2VydmljZTogJyArIChlcnIgJiYgZXJyLm1lc3NhZ2UgfHwgZXJyKSwgZXJyKTtcbiAgICAgICAgICB0aGlzLl9zdGFydFByb21pc2UgPSBudWxsO1xuICAgICAgICAgIHRoaXMuX3N0YXJ0ZWQgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH0pO1xuICAgIHJldHVybiB0aGlzLl9zdGFydFByb21pc2U7XG4gIH1cblxuICByZWFkeSgpOiBQcm9taXNlPFQ+IHtcbiAgICBpZiAodGhpcy5fc3RhcnRlZCkgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh0aGlzLl9kYXRhKTtcbiAgICBpZiAodGhpcy5fc3RhcnRQcm9taXNlKSByZXR1cm4gdGhpcy5fc3RhcnRQcm9taXNlO1xuICAgIGlmICh0aGlzLl9zdGFydEJ5UmVhZHlGdW5jdGlvbikgcmV0dXJuIHRoaXMuc3RhcnQoKTtcblxuICAgIHJldHVybiB0aGlzLnN0YXJ0U3ViamVjdFxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuc3RvcFN1YmplY3QpKVxuICAgICAgLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgc3RvcCgpIHtcbiAgICB0cnkge1xuICAgICAgdGhpcy51bnN1YnNjcmliZSgpO1xuICAgICAgYXdhaXQgdGhpcy5uZ09uU3RvcCgpO1xuICAgIH1cbiAgICBjYXRjaCAoZXJyKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gc3RvcCBhIHNlcnZpY2U6ICcgKyAoZXJyICYmIGVyci5tZXNzYWdlIHx8IGVyciksIGVycik7XG4gICAgfVxuICAgIGZpbmFsbHkge1xuICAgICAgdGhpcy5fZGF0YSA9IG51bGw7XG4gICAgICB0aGlzLl9zdGFydGVkID0gZmFsc2U7XG4gICAgICB0aGlzLl9zdGFydFByb21pc2UgPSB1bmRlZmluZWQ7XG4gICAgICB0aGlzLnN0b3BTdWJqZWN0Lm5leHQoKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyByZXN0YXJ0KG9wdHM/OiBPKTogUHJvbWlzZTxUPiB7XG4gICAgaWYgKHRoaXMuX3N0YXJ0UHJvbWlzZSkgYXdhaXQgdGhpcy5fc3RhcnRQcm9taXNlOyAvLyBXYWl0IGVuZCBvZiBwcmV2aW91cyBsb2FkaW5nXG4gICAgaWYgKHRoaXMuX3N0YXJ0ZWQpIGF3YWl0IHRoaXMuc3RvcCgpOyAvLyBUaGVuIHN0b3AgaWYgc3RhcnRlZFxuICAgIHJldHVybiB0aGlzLnN0YXJ0KG9wdHMpOyAvLyBUaGVuIHN0YXJ0IGFnYWluXG4gIH1cblxuICBnZXQgc3RhcnRlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fc3RhcnRlZDtcbiAgfVxuXG4gIGdldCBzdGFydGluZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLl9zdGFydFByb21pc2U7XG4gIH1cblxuICBnZXQgc3RvcHBlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuX3N0YXJ0ZWQgJiYgIXRoaXMuX3N0YXJ0UHJvbWlzZTtcbiAgfVxuXG4gIHByb3RlY3RlZCByZWdpc3RlclN1YnNjcmlwdGlvbihzdWI6IFN1YnNjcmlwdGlvbikge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbiA9IHRoaXMuX3N1YnNjcmlwdGlvbiB8fCBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9uLmFkZChzdWIpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHVucmVnaXN0ZXJTdWJzY3JpcHRpb24oc3ViOiBTdWJzY3JpcHRpb24pOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb24/LnJlbW92ZShzdWIpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHVuc3Vic2NyaWJlKCkge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb24gPSBudWxsO1xuICB9XG5cbiAgcHJvdGVjdGVkIG5nT25TdG9wKCk6IFByb21pc2U8dm9pZD4gfCB2b2lkIHtcbiAgICAvLyBDYW4gYmUgb3ZlcndyaXR0ZW4gYnkgc3ViY2xhc3Nlc1xuICB9XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IG5nT25TdGFydChvcHRzPzogTyk6IFByb21pc2U8VD47XG59XG4iXX0=
@@ -118,9 +118,9 @@ export class StorageService extends StartableService {
118
118
  return this._data.forEach(iteratorCallback);
119
119
  }
120
120
  }
121
- StorageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: StorageService, deps: [{ token: i1.Platform }, { token: i2.Storage }, { token: ENVIRONMENT }], target: i0.ɵɵFactoryTarget.Injectable });
122
- StorageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: StorageService, providedIn: 'root' });
123
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: StorageService, decorators: [{
121
+ StorageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: StorageService, deps: [{ token: i1.Platform }, { token: i2.Storage }, { token: ENVIRONMENT }], target: i0.ɵɵFactoryTarget.Injectable });
122
+ StorageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: StorageService, providedIn: 'root' });
123
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: StorageService, decorators: [{
124
124
  type: Injectable,
125
125
  args: [{
126
126
  providedIn: 'root', deps: [ENVIRONMENT]
@@ -72,9 +72,9 @@ export class TranslateContextService {
72
72
  return translations[keys[keys.length - 1]]; // Return the last keys translation
73
73
  }
74
74
  }
75
- TranslateContextService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: TranslateContextService, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable });
76
- TranslateContextService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: TranslateContextService, providedIn: 'root' });
77
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: TranslateContextService, decorators: [{
75
+ TranslateContextService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: TranslateContextService, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable });
76
+ TranslateContextService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: TranslateContextService, providedIn: 'root' });
77
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: TranslateContextService, decorators: [{
78
78
  type: Injectable,
79
79
  args: [{ providedIn: 'root' }]
80
80
  }], ctorParameters: function () { return [{ type: i1.TranslateService }]; } });
@@ -32,9 +32,9 @@ export class CustomReuseStrategy extends IonicRouteStrategy {
32
32
  return result;
33
33
  }
34
34
  }
35
- CustomReuseStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: CustomReuseStrategy, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
36
- CustomReuseStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: CustomReuseStrategy });
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: CustomReuseStrategy, decorators: [{
35
+ CustomReuseStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: CustomReuseStrategy, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
36
+ CustomReuseStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: CustomReuseStrategy });
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: CustomReuseStrategy, decorators: [{
38
38
  type: Injectable
39
39
  }] });
40
40
  export class SharedRoutingModule {
@@ -42,13 +42,13 @@ export class SharedRoutingModule {
42
42
  console.debug('[shared-routing] Creating module...');
43
43
  }
44
44
  }
45
- SharedRoutingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: SharedRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
46
- SharedRoutingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.1", ngImport: i0, type: SharedRoutingModule, imports: [RouterModule] });
47
- SharedRoutingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: SharedRoutingModule, providers: [
45
+ SharedRoutingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: SharedRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
46
+ SharedRoutingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.5", ngImport: i0, type: SharedRoutingModule, imports: [RouterModule] });
47
+ SharedRoutingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: SharedRoutingModule, providers: [
48
48
  { provide: RouteReuseStrategy, useClass: CustomReuseStrategy },
49
49
  { provide: ComponentDirtyGuard, useClass: ComponentDirtyGuard }
50
50
  ], imports: [RouterModule] });
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: SharedRoutingModule, decorators: [{
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: SharedRoutingModule, decorators: [{
52
52
  type: NgModule,
53
53
  args: [{
54
54
  imports: [
@@ -83,8 +83,8 @@ export class SharedModule {
83
83
  };
84
84
  }
85
85
  }
86
- SharedModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: SharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
87
- SharedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.1", ngImport: i0, type: SharedModule, declarations: [
86
+ SharedModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: SharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
87
+ SharedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.5", ngImport: i0, type: SharedModule, declarations: [
88
88
  // Components
89
89
  AppFormField,
90
90
  AppLoadingSpinner,
@@ -125,7 +125,7 @@ SharedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
125
125
  UploadFileComponent,
126
126
  UploadFilePopover,
127
127
  SharedTestsPage] });
128
- SharedModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: SharedModule, imports: [CommonModule,
128
+ SharedModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: SharedModule, imports: [CommonModule,
129
129
  IonicModule,
130
130
  ReactiveFormsModule,
131
131
  TranslateModule,
@@ -152,7 +152,7 @@ SharedModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
152
152
  SharedPipesModule,
153
153
  SharedHotkeysModule,
154
154
  SharedToolbarModule] });
155
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: SharedModule, decorators: [{
155
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: SharedModule, decorators: [{
156
156
  type: NgModule,
157
157
  args: [{
158
158
  imports: [
@@ -19,8 +19,8 @@ export const SHARED_TESTING_PAGES = [
19
19
  ];
20
20
  export class SharedTestingModule {
21
21
  }
22
- SharedTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: SharedTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
23
- SharedTestingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.1", ngImport: i0, type: SharedTestingModule, imports: [CommonModule,
22
+ SharedTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: SharedTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
23
+ SharedTestingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.5", ngImport: i0, type: SharedTestingModule, imports: [CommonModule,
24
24
  IonicModule, i1.TranslateModule,
25
25
  // Testing sub-modules
26
26
  MaterialTestingModule,
@@ -34,7 +34,7 @@ SharedTestingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", ver
34
34
  UploadFileTestingModule,
35
35
  ImageGalleryTestingModule,
36
36
  AudioTestingModule] });
37
- SharedTestingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: SharedTestingModule, imports: [CommonModule,
37
+ SharedTestingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: SharedTestingModule, imports: [CommonModule,
38
38
  IonicModule,
39
39
  TranslateModule.forChild(),
40
40
  // Testing sub-modules
@@ -49,7 +49,7 @@ SharedTestingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", ver
49
49
  UploadFileTestingModule,
50
50
  ImageGalleryTestingModule,
51
51
  AudioTestingModule] });
52
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: SharedTestingModule, decorators: [{
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: SharedTestingModule, decorators: [{
53
53
  type: NgModule,
54
54
  args: [{
55
55
  imports: [
@@ -0,0 +1,96 @@
1
+ import { Component, ViewChild } from '@angular/core';
2
+ import { firstNotNilPromise, waitForTrue } from '../observables';
3
+ import { Subject } from 'rxjs';
4
+ import { isNotNil } from '../functions';
5
+ import { tap } from 'rxjs/operators';
6
+ import { toDateISOString } from '../dates';
7
+ import { moment } from '../../vendor';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@ionic/angular";
10
+ export class ObservableTestPage {
11
+ constructor() {
12
+ this._stopSubject = new Subject();
13
+ this.$value = new Subject();
14
+ this.runningTaskCount = 0;
15
+ this.taskId = 0;
16
+ this.options = {
17
+ stop: this._stopSubject
18
+ };
19
+ }
20
+ ngOnDestroy() {
21
+ this._stopSubject.next();
22
+ }
23
+ setOptions(opts) {
24
+ this.options = {
25
+ ...this.options,
26
+ ...opts
27
+ };
28
+ this.log('Options changes to: ', { ...this.options, stop: this.options?.stop ? '$stop' : 'null' });
29
+ }
30
+ setOptionsError(errorMessage) {
31
+ this.setOptions({ stopError: new Error(errorMessage) });
32
+ }
33
+ async firstNotNilPromise(opts) {
34
+ const logPrefix = `[firstNotNilPromise() #${++this.taskId}] `;
35
+ await this.execute(firstNotNilPromise, opts, logPrefix);
36
+ }
37
+ async waitForTrue(opts) {
38
+ const logPrefix = `[waitForTrue() #${++this.taskId}] `;
39
+ await this.execute(waitForTrue, opts, logPrefix);
40
+ }
41
+ async execute(fn, opts, logPrefix) {
42
+ opts = {
43
+ ...this.options,
44
+ stop: this._stopSubject,
45
+ ...opts
46
+ };
47
+ logPrefix = logPrefix || `[#${++this.taskId}] `;
48
+ const value$ = this.$value.pipe(tap(value => this.log(logPrefix + `Received value: ${value}`)));
49
+ try {
50
+ this.runningTaskCount++;
51
+ this.log(logPrefix + 'Waiting...');
52
+ // Execute the async function
53
+ const result = await fn(value$, opts);
54
+ // Dump result
55
+ if (isNotNil(result))
56
+ this.log(logPrefix + '[OK] with result:', result);
57
+ else
58
+ this.log(logPrefix + '[OK]');
59
+ }
60
+ catch (err) {
61
+ const errorMsg = logPrefix + 'Error: ' + (err?.message || '');
62
+ console.error(errorMsg, err);
63
+ this.log(errorMsg
64
+ + (err?.originalStack ? `<pre>${err.originalStack}</pre>` : ''));
65
+ }
66
+ finally {
67
+ this.runningTaskCount--;
68
+ }
69
+ }
70
+ emit(value) {
71
+ this.$value.next(value);
72
+ }
73
+ stop() {
74
+ this._stopSubject.next();
75
+ }
76
+ log(message, ...args) {
77
+ let fullMessage = `${toDateISOString(moment())} - ${message}`;
78
+ if (args?.length) {
79
+ fullMessage += ' - <small>' + args.map(JSON.stringify).join(', ') + '</small>';
80
+ }
81
+ this.appendLog(fullMessage);
82
+ }
83
+ appendLog(message) {
84
+ this.resultDiv.nativeElement.innerHTML += message + '<br/>';
85
+ }
86
+ }
87
+ ObservableTestPage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: ObservableTestPage, deps: [], target: i0.ɵɵFactoryTarget.Component });
88
+ ObservableTestPage.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: ObservableTestPage, selector: "app-observable-test", viewQueries: [{ propertyName: "resultDiv", first: true, predicate: ["result"], descendants: true }], ngImport: i0, template: "\n<ion-header>\n <ion-toolbar color=\"primary\">\n\n <ion-buttons slot=\"start\">\n <ion-back-button></ion-back-button>\n </ion-buttons>\n\n <ion-title>Observables test page</ion-title>\n </ion-toolbar>\n</ion-header>\n\n<ion-content class=\"ion-padding\">\n\n <ion-card>\n <ion-card-header>\n <ion-card-title>waitFor, waitForTrue, waitForFalse</ion-card-title>\n </ion-card-header>\n <ion-card-content>\n <div style=\"display: inline-block\">\n <p>Set options: </p>\n <ion-button color=\"medium\" fill=\"outline\" (click)=\"setOptions({stopError: false})\">stopError: false</ion-button>\n <ion-button color=\"medium\" fill=\"outline\" (click)=\"setOptions({stopError: true})\">stopError: true</ion-button>\n <ion-button color=\"medium\" fill=\"outline\" (click)=\"setOptions({stopError: 'my error'})\">stopError: 'my error'</ion-button>\n\n <ion-button color=\"medium\" fill=\"outline\" (click)=\"setOptions({timeout: 2000})\">timeout: 2000</ion-button>\n <ion-button color=\"medium\" fill=\"outline\" (click)=\"setOptions({timeout: null})\">timeout: null</ion-button>\n <br/>\n <p>Call await function: </p>\n <ion-button (click)=\"waitForTrue()\">waitForTrue</ion-button>\n <ion-button (click)=\"firstNotNilPromise()\">firstNotNilPromise</ion-button>\n <br/>\n <p>Send event to source: </p>\n <ion-button (click)=\"emit(true)\">Emit 'true'</ion-button>\n <ion-button (click)=\"emit(false)\">Emit 'false'</ion-button>\n <br/>\n <p>Stop: </p>\n <ion-button color=\"danger\" (click)=\"stop()\">Stop</ion-button>\n </div>\n </ion-card-content>\n </ion-card>\n\n <ion-card>\n <ion-toolbar>\n <ion-title>Running job count: {{runningTaskCount}}</ion-title>\n <ion-button fill=\"outline\" slot=\"end\" (click)=\"result.innerHTML=''\">Clear log</ion-button>\n </ion-toolbar>\n <ion-card-content>\n <div #result style=\"color: var(--ion-color-medium)\">\n </div>\n </ion-card-content>\n </ion-card>\n</ion-content>\n", styles: ["ion-button{text-transform:none!important}\n"], dependencies: [{ kind: "component", type: i1.IonBackButton, selector: "ion-back-button", inputs: ["color", "defaultHref", "disabled", "icon", "mode", "routerAnimation", "text", "type"] }, { kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: i1.IonCard, selector: "ion-card", inputs: ["button", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i1.IonCardContent, selector: "ion-card-content", inputs: ["mode"] }, { kind: "component", type: i1.IonCardHeader, selector: "ion-card-header", inputs: ["color", "mode", "translucent"] }, { kind: "component", type: i1.IonCardTitle, selector: "ion-card-title", inputs: ["color", "mode"] }, { kind: "component", type: i1.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i1.IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { 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: i1.IonBackButtonDelegate, selector: "ion-back-button", inputs: ["defaultHref", "routerAnimation"] }] });
89
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: ObservableTestPage, decorators: [{
90
+ type: Component,
91
+ args: [{ selector: 'app-observable-test', template: "\n<ion-header>\n <ion-toolbar color=\"primary\">\n\n <ion-buttons slot=\"start\">\n <ion-back-button></ion-back-button>\n </ion-buttons>\n\n <ion-title>Observables test page</ion-title>\n </ion-toolbar>\n</ion-header>\n\n<ion-content class=\"ion-padding\">\n\n <ion-card>\n <ion-card-header>\n <ion-card-title>waitFor, waitForTrue, waitForFalse</ion-card-title>\n </ion-card-header>\n <ion-card-content>\n <div style=\"display: inline-block\">\n <p>Set options: </p>\n <ion-button color=\"medium\" fill=\"outline\" (click)=\"setOptions({stopError: false})\">stopError: false</ion-button>\n <ion-button color=\"medium\" fill=\"outline\" (click)=\"setOptions({stopError: true})\">stopError: true</ion-button>\n <ion-button color=\"medium\" fill=\"outline\" (click)=\"setOptions({stopError: 'my error'})\">stopError: 'my error'</ion-button>\n\n <ion-button color=\"medium\" fill=\"outline\" (click)=\"setOptions({timeout: 2000})\">timeout: 2000</ion-button>\n <ion-button color=\"medium\" fill=\"outline\" (click)=\"setOptions({timeout: null})\">timeout: null</ion-button>\n <br/>\n <p>Call await function: </p>\n <ion-button (click)=\"waitForTrue()\">waitForTrue</ion-button>\n <ion-button (click)=\"firstNotNilPromise()\">firstNotNilPromise</ion-button>\n <br/>\n <p>Send event to source: </p>\n <ion-button (click)=\"emit(true)\">Emit 'true'</ion-button>\n <ion-button (click)=\"emit(false)\">Emit 'false'</ion-button>\n <br/>\n <p>Stop: </p>\n <ion-button color=\"danger\" (click)=\"stop()\">Stop</ion-button>\n </div>\n </ion-card-content>\n </ion-card>\n\n <ion-card>\n <ion-toolbar>\n <ion-title>Running job count: {{runningTaskCount}}</ion-title>\n <ion-button fill=\"outline\" slot=\"end\" (click)=\"result.innerHTML=''\">Clear log</ion-button>\n </ion-toolbar>\n <ion-card-content>\n <div #result style=\"color: var(--ion-color-medium)\">\n </div>\n </ion-card-content>\n </ion-card>\n</ion-content>\n", styles: ["ion-button{text-transform:none!important}\n"] }]
92
+ }], ctorParameters: function () { return []; }, propDecorators: { resultDiv: [{
93
+ type: ViewChild,
94
+ args: ['result']
95
+ }] } });
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JzZXJ2YWJsZS50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvdGVzdGluZy9vYnNlcnZhYmxlLnRlc3QudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC90ZXN0aW5nL29ic2VydmFibGUudGVzdC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQTJELFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUc1RyxPQUFPLEVBQUMsa0JBQWtCLEVBQXlDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3RHLE9BQU8sRUFBYSxPQUFPLEVBQWUsTUFBTSxNQUFNLENBQUM7QUFDdkQsT0FBTyxFQUFDLFFBQVEsRUFBa0IsTUFBTSxjQUFjLENBQUM7QUFDdkQsT0FBTyxFQUEyQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3RSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxjQUFjLENBQUM7OztBQVFwQyxNQUFNLE9BQU8sa0JBQWtCO0lBYTdCO1FBWEEsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRW5DLFdBQU0sR0FBRyxJQUFJLE9BQU8sRUFBTyxDQUFDO1FBQzVCLHFCQUFnQixHQUFHLENBQUMsQ0FBQztRQUNyQixXQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ1gsWUFBTyxHQUEwQjtZQUMvQixJQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVk7U0FDeEIsQ0FBQztJQU1GLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsVUFBVSxDQUFDLElBQVM7UUFDbEIsSUFBSSxDQUFDLE9BQU8sR0FBRztZQUNiLEdBQUcsSUFBSSxDQUFDLE9BQU87WUFDZixHQUFH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QixDQUFDO0lBRUQsR0FBRyxDQUFDLE9BQWUsRUFBRSxHQUFHLElBQVM7UUFDL0IsSUFBSSxXQUFXLEdBQUcsR0FBRyxlQUFlLENBQUMsTUFBTSxFQUFFLENBQUMsTUFBTSxPQUFPLEVBQUUsQ0FBQztRQUM5RCxJQUFJLElBQUksRUFBRSxNQUFNLEVBQUU7WUFDaEIsV0FBVyxJQUFJLFlBQVksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsVUFBVSxDQUFDO1NBQ2hGO1FBQ0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsU0FBUyxDQUFDLE9BQWU7UUFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsU0FBUyxJQUFJLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDOUQsQ0FBQzs7K0dBckdVLGtCQUFrQjttR0FBbEIsa0JBQWtCLGdLQ2hCL0IsNGpFQXFEQTsyRkRyQ2Esa0JBQWtCO2tCQUw5QixTQUFTOytCQUNFLHFCQUFxQjswRUFlVixTQUFTO3NCQUE3QixTQUFTO3VCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5qZWN0LCBJbmplY3Rpb25Ub2tlbiwgT25EZXN0cm95LCBPcHRpb25hbCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge2ZpcnN0Tm90TmlsUHJvbWlzZSwgRmlyc3RPcHRpb25zLCB3YWl0Rm9yLCBXYWl0Rm9yT3B0aW9ucywgd2FpdEZvclRydWV9IGZyb20gJy4uL29ic2VydmFibGVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgU3ViamVjdCwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7aXNOb3ROaWwsIGlzTm90TmlsT3JCbGFua30gZnJvbSAnLi4vZnVuY3Rpb25zJztcbmltcG9ydCB7ZmlsdGVyLCBmaXJzdCwgbWFwLCBzd2l0Y2hNYXAsIHRha2VVbnRpbCwgdGFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge3RvRGF0ZUlTT1N0cmluZ30gZnJvbSAnLi4vZGF0ZXMnO1xuaW1wb3J0IHttb21lbnR9IGZyb20gJy4uLy4uL3ZlbmRvcic7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLW9ic2VydmFibGUtdGVzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9vYnNlcnZhYmxlLnRlc3QuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL29ic2VydmFibGUudGVzdC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgT2JzZXJ2YWJsZVRlc3RQYWdlIGltcGxlbWVudHMgT25EZXN0cm95e1xuXG4gIF9zdG9wU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgJHZhbHVlID0gbmV3IFN1YmplY3Q8YW55PigpO1xuICBydW5uaW5nVGFza0NvdW50ID0gMDtcbiAgdGFza0lkID0gMDtcbiAgb3B0aW9uczogUGFydGlhbDxGaXJzdE9wdGlvbnM+ID0ge1xuICAgIHN0b3A6IHRoaXMuX3N0b3BTdWJqZWN0XG4gIH07XG5cbiAgQFZpZXdDaGlsZCgncmVzdWx0JykgcmVzdWx0RGl2ITogRWxlbWVudFJlZjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICApIHtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX3N0b3BTdWJqZWN0Lm5leHQoKTtcbiAgfVxuXG4gIHNldE9wdGlvbnMob3B0czogYW55KSB7XG4gICAgdGhpcy5vcHRpb25zID0ge1xuICAgICAgLi4udGhpcy5vcHRpb25zLFxuICAgICAgLi4ub3B0c1xuICAgIH07XG4gICAgdGhpcy5sb2coJ09wdGlvbnMgY2hhbmdlcyB0bzogJywgey4uLnRoaXMub3B0aW9ucywgc3RvcDogdGhpcy5vcHRpb25zPy5zdG9wID8gJyRzdG9wJyA6ICdudWxsJ30pO1xuICB9XG5cbiAgc2V0T3B0aW9uc0Vycm9yKGVycm9yTWVzc2FnZSkge1xuICAgIHRoaXMuc2V0T3B0aW9ucyh7c3RvcEVycm9yOiBuZXcgRXJyb3IoZXJyb3JNZXNzYWdlKX0pO1xuICB9XG5cbiAgYXN5bmMgZmlyc3ROb3ROaWxQcm9taXNlKG9wdHM/OiBGaXJzdE9wdGlvbnMpIHtcbiAgICBjb25zdCBsb2dQcmVmaXggPSBgW2ZpcnN0Tm90TmlsUHJvbWlzZSgpICMkeysrdGhpcy50YXNrSWR9XSBgO1xuICAgIGF3YWl0IHRoaXMuZXhlY3V0ZShmaXJzdE5vdE5pbFByb21pc2UsIG9wdHMsIGxvZ1ByZWZpeCk7XG4gIH1cblxuICBhc3luYyB3YWl0Rm9yVHJ1ZShvcHRzPzogV2FpdEZvck9wdGlvbnMpIHtcbiAgICBjb25zdCBsb2dQcmVmaXggPSBgW3dhaXRGb3JUcnVlKCkgIyR7Kyt0aGlzLnRhc2tJZH1dIGA7XG4gICAgYXdhaXQgdGhpcy5leGVjdXRlKHdhaXRGb3JUcnVlLCBvcHRzLCBsb2dQcmVmaXgpO1xuICB9XG5cblxuICBhc3luYyBleGVjdXRlPFQsIE8gZXh0ZW5kcyBXYWl0Rm9yT3B0aW9ucyA9IFdhaXRGb3JPcHRpb25zPihcbiAgICBmbjogKG86IE9ic2VydmFibGU8YW55Piwgb3B0czogTykgPT4gUHJvbWlzZTxUPixcbiAgICBvcHRzPzogTyxcbiAgICBsb2dQcmVmaXg/OiBzdHJpbmcpIHtcblxuICAgIG9wdHMgPSB7XG4gICAgICAuLi50aGlzLm9wdGlvbnMsXG4gICAgICBzdG9wOiB0aGlzLl9zdG9wU3ViamVjdCxcbiAgICAgIC4uLm9wdHNcbiAgICB9O1xuICAgIGxvZ1ByZWZpeCA9IGxvZ1ByZWZpeCB8fCBgWyMkeysrdGhpcy50YXNrSWR9XSBgO1xuXG4gICAgY29uc3QgdmFsdWUkID0gdGhpcy4kdmFsdWUucGlwZShcbiAgICAgIHRhcCh2YWx1ZSA9PiB0aGlzLmxvZyhsb2dQcmVmaXggKyBgUmVjZWl2ZWQgdmFsdWU6ICR7dmFsdWV9YCkpXG4gICAgKVxuXG4gICAgdHJ5IHtcbiAgICAgIHRoaXMucnVubmluZ1Rhc2tDb3VudCsrO1xuICAgICAgdGhpcy5sb2cobG9nUHJlZml4ICsgJ1dhaXRpbmcuLi4nKTtcblxuICAgICAgLy8gRXhlY3V0ZSB0aGUgYXN5bmMgZnVuY3Rpb25cbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGZuKHZhbHVlJCwgb3B0cyk7XG5cbiAgICAgIC8vIER1bXAgcmVzdWx0XG4gICAgICBpZiAoaXNOb3ROaWwocmVzdWx0KSkgdGhpcy5sb2cobG9nUHJlZml4ICsgJ1tPS10gd2l0aCByZXN1bHQ6JywgcmVzdWx0KTtcbiAgICAgIGVsc2UgIHRoaXMubG9nKGxvZ1ByZWZpeCArICdbT0tdJyk7XG4gICAgfVxuICAgIGNhdGNoKGVycikge1xuICAgICAgY29uc3QgZXJyb3JNc2cgPSBsb2dQcmVmaXggKyAnRXJyb3I6ICcgKyAoZXJyPy5tZXNzYWdlIHx8ICcnKTtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3JNc2csIGVycik7XG4gICAgICB0aGlzLmxvZyhlcnJvck1zZ1xuICAgICAgICArIChlcnI/Lm9yaWdpbmFsU3RhY2sgPyBgPHByZT4ke2Vyci5vcmlnaW5hbFN0YWNrfTwvcHJlPmAgOiAnJylcbiAgICAgICk7XG4gICAgfVxuICAgIGZpbmFsbHkge1xuICAgICAgdGhpcy5ydW5uaW5nVGFza0NvdW50LS07XG4gICAgfVxuICB9XG5cbiAgZW1pdCh2YWx1ZTogYW55KSB7XG4gICAgdGhpcy4kdmFsdWUubmV4dCh2YWx1ZSk7XG4gIH1cblxuICBzdG9wKCkge1xuICAgIHRoaXMuX3N0b3BTdWJqZWN0Lm5leHQoKTtcbiAgfVxuXG4gIGxvZyhtZXNzYWdlOiBzdHJpbmcsIC4uLmFyZ3M6IGFueSkge1xuICAgIGxldCBmdWxsTWVzc2FnZSA9IGAke3RvRGF0ZUlTT1N0cmluZyhtb21lbnQoKSl9IC0gJHttZXNzYWdlfWA7XG4gICAgaWYgKGFyZ3M/Lmxlbmd0aCkge1xuICAgICAgZnVsbE1lc3NhZ2UgKz0gJyAtIDxzbWFsbD4nICsgYXJncy5tYXAoSlNPTi5zdHJpbmdpZnkpLmpvaW4oJywgJykgKyAnPC9zbWFsbD4nO1xuICAgIH1cbiAgICB0aGlzLmFwcGVuZExvZyhmdWxsTWVzc2FnZSk7XG4gIH1cblxuICBhcHBlbmRMb2cobWVzc2FnZTogc3RyaW5nKSB7XG4gICAgdGhpcy5yZXN1bHREaXYubmF0aXZlRWxlbWVudC5pbm5lckhUTUwgKz0gbWVzc2FnZSArICc8YnIvPic7XG4gIH1cbn1cblxuIiwiXG48aW9uLWhlYWRlcj5cbiAgPGlvbi10b29sYmFyIGNvbG9yPVwicHJpbWFyeVwiPlxuXG4gICAgPGlvbi1idXR0b25zIHNsb3Q9XCJzdGFydFwiPlxuICAgICAgPGlvbi1iYWNrLWJ1dHRvbj48L2lvbi1iYWNrLWJ1dHRvbj5cbiAgICA8L2lvbi1idXR0b25zPlxuXG4gICAgPGlvbi10aXRsZT5PYnNlcnZhYmxlcyB0ZXN0IHBhZ2U8L2lvbi10aXRsZT5cbiAgPC9pb24tdG9vbGJhcj5cbjwvaW9uLWhlYWRlcj5cblxuPGlvbi1jb250ZW50IGNsYXNzPVwiaW9uLXBhZGRpbmdcIj5cblxuICA8aW9uLWNhcmQ+XG4gICAgPGlvbi1jYXJkLWhlYWRlcj5cbiAgICAgIDxpb24tY2FyZC10aXRsZT53YWl0Rm9yLCB3YWl0Rm9yVHJ1ZSwgd2FpdEZvckZhbHNlPC9pb24tY2FyZC10aXRsZT5cbiAgICA8L2lvbi1jYXJkLWhlYWRlcj5cbiAgICA8aW9uLWNhcmQtY29udGVudD5cbiAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBpbmxpbmUtYmxvY2tcIj5cbiAgICAgICAgPHA+U2V0IG9wdGlvbnM6IDwvcD5cbiAgICAgICAgPGlvbi1idXR0b24gY29sb3I9XCJtZWRpdW1cIiBmaWxsPVwib3V0bGluZVwiIChjbGljayk9XCJzZXRPcHRpb25zKHtzdG9wRXJyb3I6IGZhbHNlfSlcIj5zdG9wRXJyb3I6IGZhbHNlPC9pb24tYnV0dG9uPlxuICAgICAgICA8aW9uLWJ1dHRvbiBjb2xvcj1cIm1lZGl1bVwiIGZpbGw9XCJvdXRsaW5lXCIgKGNsaWNrKT1cInNldE9wdGlvbnMoe3N0b3BFcnJvcjogdHJ1ZX0pXCI+c3RvcEVycm9yOiB0cnVlPC9pb24tYnV0dG9uPlxuICAgICAgICA8aW9uLWJ1dHRvbiBjb2xvcj1cIm1lZGl1bVwiIGZpbGw9XCJvdXRsaW5lXCIgKGNsaWNrKT1cInNldE9wdGlvbnMoe3N0b3BFcnJvcjogJ215IGVycm9yJ30pXCI+c3RvcEVycm9yOiAnbXkgZXJyb3InPC9pb24tYnV0dG9uPlxuXG4gICAgICAgIDxpb24tYnV0dG9uIGNvbG9yPVwibWVkaXVtXCIgZmlsbD1cIm91dGxpbmVcIiAoY2xpY2spPVwic2V0T3B0aW9ucyh7dGltZW91dDogMjAwMH0pXCI+dGltZW91dDogMjAwMDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgPGlvbi1idXR0b24gY29sb3I9XCJtZWRpdW1cIiBmaWxsPVwib3V0bGluZVwiIChjbGljayk9XCJzZXRPcHRpb25zKHt0aW1lb3V0OiBudWxsfSlcIj50aW1lb3V0OiBudWxsPC9pb24tYnV0dG9uPlxuICAgICAgICA8YnIvPlxuICAgICAgICA8cD5DYWxsIGF3YWl0IGZ1bmN0aW9uOiA8L3A+XG4gICAgICAgIDxpb24tYnV0dG9uIChjbGljayk9XCJ3YWl0Rm9yVHJ1ZSgpXCI+d2FpdEZvclRydWU8L2lvbi1idXR0b24+XG4gICAgICAgIDxpb24tYnV0dG9uIChjbGljayk9XCJmaXJzdE5vdE5pbFByb21pc2UoKVwiPmZpcnN0Tm90TmlsUHJvbWlzZTwvaW9uLWJ1dHRvbj5cbiAgICAgICAgPGJyLz5cbiAgICAgICAgPHA+U2VuZCBldmVudCB0byBzb3VyY2U6IDwvcD5cbiAgICAgICAgPGlvbi1idXR0b24gKGNsaWNrKT1cImVtaXQodHJ1ZSlcIj5FbWl0ICd0cnVlJzwvaW9uLWJ1dHRvbj5cbiAgICAgICAgPGlvbi1idXR0b24gKGNsaWNrKT1cImVtaXQoZmFsc2UpXCI+RW1pdCAnZmFsc2UnPC9pb24tYnV0dG9uPlxuICAgICAgICA8YnIvPlxuICAgICAgICA8cD5TdG9wOiA8L3A+XG4gICAgICAgIDxpb24tYnV0dG9uIGNvbG9yPVwiZGFuZ2VyXCIgKGNsaWNrKT1cInN0b3AoKVwiPlN0b3A8L2lvbi1idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2lvbi1jYXJkLWNvbnRlbnQ+XG4gIDwvaW9uLWNhcmQ+XG5cbiAgPGlvbi1jYXJkPlxuICAgIDxpb24tdG9vbGJhcj5cbiAgICAgIDxpb24tdGl0bGU+UnVubmluZyBqb2IgY291bnQ6IHt7cnVubmluZ1Rhc2tDb3VudH19PC9pb24tdGl0bGU+XG4gICAgICA8aW9uLWJ1dHRvbiBmaWxsPVwib3V0bGluZVwiIHNsb3Q9XCJlbmRcIiAoY2xpY2spPVwicmVzdWx0LmlubmVySFRNTD0nJ1wiPkNsZWFyIGxvZzwvaW9uLWJ1dHRvbj5cbiAgICA8L2lvbi10b29sYmFyPlxuICAgIDxpb24tY2FyZC1jb250ZW50PlxuICAgICAgPGRpdiAjcmVzdWx0IHN0eWxlPVwiY29sb3I6IHZhcigtLWlvbi1jb2xvci1tZWRpdW0pXCI+XG4gICAgICA8L2Rpdj5cbiAgICA8L2lvbi1jYXJkLWNvbnRlbnQ+XG4gIDwvaW9uLWNhcmQ+XG48L2lvbi1jb250ZW50PlxuIl19
@@ -19,9 +19,9 @@ export class SharedTestsPage {
19
19
  });
20
20
  }
21
21
  }
22
- SharedTestsPage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: SharedTestsPage, deps: [{ token: i1.ActivatedRoute }, { token: i1.Router }, { token: i2.TranslateService }, { token: APP_TESTING_PAGES, optional: true }], target: i0.ɵɵFactoryTarget.Component });
23
- SharedTestsPage.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.1", type: SharedTestsPage, selector: "app-tests-page", ngImport: i0, template: "\n<ion-header>\n <ion-toolbar color=\"primary\">\n\n <ion-buttons slot=\"start\">\n <ion-menu-button></ion-menu-button>\n <ion-back-button></ion-back-button>\n </ion-buttons>\n\n <ion-title>Tests</ion-title>\n\n </ion-toolbar>\n</ion-header>\n\n<ion-content>\n\n <ion-list *ngIf=\"pages?.length\">\n\n <ng-container *ngFor=\"let item of pages\">\n\n <ion-item-divider *ngIf=\"item.divider; else link\">{{item.label}}</ion-item-divider>\n\n <ng-template #link>\n <ion-item tappable class=\"text-1x\"\n (click)=\"openPage(item.page)\">{{item.label}}</ion-item>\n </ng-template>\n </ng-container>\n </ion-list>\n\n</ion-content>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.IonBackButton, selector: "ion-back-button", inputs: ["color", "defaultHref", "disabled", "icon", "mode", "routerAnimation", "text", "type"] }, { kind: "component", type: i4.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: i4.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i4.IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i4.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { kind: "component", type: i4.IonItemDivider, selector: "ion-item-divider", inputs: ["color", "mode", "sticky"] }, { kind: "component", type: i4.IonList, selector: "ion-list", inputs: ["inset", "lines", "mode"] }, { kind: "component", type: i4.IonMenuButton, selector: "ion-menu-button", inputs: ["autoHide", "color", "disabled", "menu", "mode", "type"] }, { kind: "component", type: i4.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: i4.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "directive", type: i4.IonBackButtonDelegate, selector: "ion-back-button", inputs: ["defaultHref", "routerAnimation"] }] });
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: SharedTestsPage, decorators: [{
22
+ SharedTestsPage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: SharedTestsPage, deps: [{ token: i1.ActivatedRoute }, { token: i1.Router }, { token: i2.TranslateService }, { token: APP_TESTING_PAGES, optional: true }], target: i0.ɵɵFactoryTarget.Component });
23
+ SharedTestsPage.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: SharedTestsPage, selector: "app-tests-page", ngImport: i0, template: "\n<ion-header>\n <ion-toolbar color=\"primary\">\n\n <ion-buttons slot=\"start\">\n <ion-menu-button></ion-menu-button>\n <ion-back-button></ion-back-button>\n </ion-buttons>\n\n <ion-title>Tests</ion-title>\n\n </ion-toolbar>\n</ion-header>\n\n<ion-content>\n\n <ion-list *ngIf=\"pages?.length\">\n\n <ng-container *ngFor=\"let item of pages\">\n\n <ion-item-divider *ngIf=\"item.divider; else link\">{{item.label}}</ion-item-divider>\n\n <ng-template #link>\n <ion-item tappable class=\"text-1x\"\n (click)=\"openPage(item.page)\">{{item.label}}</ion-item>\n </ng-template>\n </ng-container>\n </ion-list>\n\n</ion-content>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.IonBackButton, selector: "ion-back-button", inputs: ["color", "defaultHref", "disabled", "icon", "mode", "routerAnimation", "text", "type"] }, { kind: "component", type: i4.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: i4.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i4.IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i4.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { kind: "component", type: i4.IonItemDivider, selector: "ion-item-divider", inputs: ["color", "mode", "sticky"] }, { kind: "component", type: i4.IonList, selector: "ion-list", inputs: ["inset", "lines", "mode"] }, { kind: "component", type: i4.IonMenuButton, selector: "ion-menu-button", inputs: ["autoHide", "color", "disabled", "menu", "mode", "type"] }, { kind: "component", type: i4.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: i4.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "directive", type: i4.IonBackButtonDelegate, selector: "ion-back-button", inputs: ["defaultHref", "routerAnimation"] }] });
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: SharedTestsPage, decorators: [{
25
25
  type: Component,
26
26
  args: [{ selector: 'app-tests-page', template: "\n<ion-header>\n <ion-toolbar color=\"primary\">\n\n <ion-buttons slot=\"start\">\n <ion-menu-button></ion-menu-button>\n <ion-back-button></ion-back-button>\n </ion-buttons>\n\n <ion-title>Tests</ion-title>\n\n </ion-toolbar>\n</ion-header>\n\n<ion-content>\n\n <ion-list *ngIf=\"pages?.length\">\n\n <ng-container *ngFor=\"let item of pages\">\n\n <ion-item-divider *ngIf=\"item.divider; else link\">{{item.label}}</ion-item-divider>\n\n <ng-template #link>\n <ion-item tappable class=\"text-1x\"\n (click)=\"openPage(item.page)\">{{item.label}}</ion-item>\n </ng-template>\n </ng-container>\n </ion-list>\n\n</ion-content>\n" }]
27
27
  }], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i1.Router }, { type: i2.TranslateService }, { type: undefined, decorators: [{
@@ -2,18 +2,17 @@ import { Component } from '@angular/core';
2
2
  import { Toasts } from './toasts';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@ionic/angular";
5
- import * as i2 from "@ngx-translate/core";
6
5
  export class ToastTestingPage {
7
- constructor(toastController, translate) {
8
- this.toastController = toastController;
9
- this.translate = translate;
6
+ constructor(injector) {
7
+ this.injector = injector;
10
8
  this.defaultOptions = {
11
9
  showCloseButton: false
12
10
  };
13
11
  }
14
12
  showToast(opts) {
15
- return Toasts.show(this.toastController, this.translate, {
13
+ return Toasts.showSimple(this.injector, {
16
14
  ...this.defaultOptions,
15
+ duration: 100000,
17
16
  message: 'This is a message',
18
17
  ...opts
19
18
  });
@@ -43,10 +42,10 @@ export class ToastTestingPage {
43
42
  this.defaultOptions.showCloseButton = !this.defaultOptions.showCloseButton;
44
43
  }
45
44
  }
46
- ToastTestingPage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: ToastTestingPage, deps: [{ token: i1.ToastController }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
47
- ToastTestingPage.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.1", type: ToastTestingPage, selector: "toast-testing", ngImport: i0, template: "<ion-toolbar color=\"primary\">\n <ion-title>Toasts</ion-title>\n</ion-toolbar>\n\n<ion-content class=\"ion-padding\">\n\n <p>Toast examples:</p>\n\n <ion-button (click)=\"showToast()\" color=\"dark\">\n default\n </ion-button>\n\n <ion-button (click)=\"showInfo({duration: 100000})\" color=\"secondary\">\n info\n </ion-button>\n\n <ion-button (click)=\"showWarning()\" color=\"accent\">\n warning\n </ion-button>\n\n <ion-button (click)=\"showError()\" color=\"danger\">\n error\n </ion-button>\n\n <br/>\n\n\n <ion-list>\n\n\n <ion-item>\n <ion-checkbox slot=\"start\" [value]=\"defaultOptions.showCloseButton\" (ionChange)=\"toggleCloseButton()\"></ion-checkbox>\n <ion-label>Close button ?</ion-label>\n </ion-item>\n </ion-list>\n\n\n</ion-content>\n", dependencies: [{ kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonCheckbox, selector: "ion-checkbox", inputs: ["checked", "color", "disabled", "indeterminate", "mode", "name", "value"] }, { kind: "component", type: i1.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i1.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { kind: "component", type: i1.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i1.IonList, selector: "ion-list", inputs: ["inset", "lines", "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: i1.BooleanValueAccessor, selector: "ion-checkbox,ion-toggle" }] });
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: ToastTestingPage, decorators: [{
45
+ ToastTestingPage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: ToastTestingPage, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
46
+ ToastTestingPage.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: ToastTestingPage, selector: "toast-testing", ngImport: i0, template: "<ion-toolbar color=\"primary\">\n <ion-title>Toasts</ion-title>\n</ion-toolbar>\n\n<ion-content class=\"ion-padding\">\n\n <p>Toast examples:</p>\n\n <ion-button (click)=\"showToast()\" color=\"dark\">\n default\n </ion-button>\n\n <ion-button (click)=\"showInfo()\" color=\"secondary\">\n info\n </ion-button>\n\n <ion-button (click)=\"showWarning()\" color=\"accent\">\n warning\n </ion-button>\n\n <ion-button (click)=\"showError()\" color=\"danger\">\n error\n </ion-button>\n\n <br/>\n\n\n <ion-list>\n\n\n <ion-item>\n <ion-checkbox slot=\"start\" [value]=\"defaultOptions.showCloseButton\" (ionChange)=\"toggleCloseButton()\"></ion-checkbox>\n <ion-label>Close button ?</ion-label>\n </ion-item>\n </ion-list>\n\n\n</ion-content>\n", dependencies: [{ kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonCheckbox, selector: "ion-checkbox", inputs: ["checked", "color", "disabled", "indeterminate", "mode", "name", "value"] }, { kind: "component", type: i1.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i1.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { kind: "component", type: i1.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i1.IonList, selector: "ion-list", inputs: ["inset", "lines", "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: i1.BooleanValueAccessor, selector: "ion-checkbox,ion-toggle" }] });
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: ToastTestingPage, decorators: [{
49
48
  type: Component,
50
- args: [{ selector: 'toast-testing', template: "<ion-toolbar color=\"primary\">\n <ion-title>Toasts</ion-title>\n</ion-toolbar>\n\n<ion-content class=\"ion-padding\">\n\n <p>Toast examples:</p>\n\n <ion-button (click)=\"showToast()\" color=\"dark\">\n default\n </ion-button>\n\n <ion-button (click)=\"showInfo({duration: 100000})\" color=\"secondary\">\n info\n </ion-button>\n\n <ion-button (click)=\"showWarning()\" color=\"accent\">\n warning\n </ion-button>\n\n <ion-button (click)=\"showError()\" color=\"danger\">\n error\n </ion-button>\n\n <br/>\n\n\n <ion-list>\n\n\n <ion-item>\n <ion-checkbox slot=\"start\" [value]=\"defaultOptions.showCloseButton\" (ionChange)=\"toggleCloseButton()\"></ion-checkbox>\n <ion-label>Close button ?</ion-label>\n </ion-item>\n </ion-list>\n\n\n</ion-content>\n" }]
51
- }], ctorParameters: function () { return [{ type: i1.ToastController }, { type: i2.TranslateService }]; } });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QudGVzdGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL3RvYXN0L3RvYXN0LnRlc3RpbmcudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC90b2FzdC90b2FzdC50ZXN0aW5nLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV4QyxPQUFPLEVBQW1CLE1BQU0sRUFBQyxNQUFNLFVBQVUsQ0FBQzs7OztBQU9sRCxNQUFNLE9BQU8sZ0JBQWdCO0lBTTNCLFlBQ1UsZUFBZ0MsRUFDaEMsU0FBMkI7UUFEM0Isb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBTjVCLG1CQUFjLEdBQXFCO1lBQzFDLGVBQWUsRUFBRSxLQUFLO1NBQ3ZCLENBQUM7SUFNRixDQUFDO0lBRUQsU0FBUyxDQUFDLElBQXVCO1FBQy9CLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDdkQsR0FBRyxJQUFJLENBQUMsY0FBYztZQUN0QixPQUFPLEVBQUUsbUJBQW1CO1lBQzVCLEdBQUcsSUFBSTtTQUNSLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRLENBQUMsSUFBdUI7UUFDL0IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ3BCLElBQUksRUFBRSxNQUFNO1lBQ1osT0FBTyxFQUFFLHVCQUF1QjtZQUNoQyxHQUFHLElBQUk7U0FDUixDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVyxDQUFDLElBQXVCO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNwQixJQUFJLEVBQUUsU0FBUztZQUNmLE9BQU8sRUFBRSwwQkFBMEI7WUFDbkMsR0FBRyxJQUFJO1NBQ1IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUF1QjtRQUMvQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDcEIsSUFBSSxFQUFFLE9BQU87WUFDYixPQUFPLEVBQUUsd0JBQXdCO1lBQ2pDLEdBQUcsSUFBSTtTQUNSLENBQUMsQ0FBQztJQUNMLENBQUM7SUFHRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDO0lBQzdFLENBQUM7OzZHQS9DVSxnQkFBZ0I7aUdBQWhCLGdCQUFnQixxRENUN0IsZ3lCQXNDQTsyRkQ3QmEsZ0JBQWdCO2tCQUo1QixTQUFTOytCQUNFLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1RvYXN0Q29udHJvbGxlcn0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHtTaG93VG9hc3RPcHRpb25zLCBUb2FzdHN9IGZyb20gJy4vdG9hc3RzJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RvYXN0LXRlc3RpbmcnLFxuICB0ZW1wbGF0ZVVybDogJ3RvYXN0LnRlc3RpbmcuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgVG9hc3RUZXN0aW5nUGFnZSAge1xuXG4gIHJlYWRvbmx5IGRlZmF1bHRPcHRpb25zOiBTaG93VG9hc3RPcHRpb25zID0ge1xuICAgIHNob3dDbG9zZUJ1dHRvbjogZmFsc2VcbiAgfTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHRvYXN0Q29udHJvbGxlcjogVG9hc3RDb250cm9sbGVyLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlXG4gICkge1xuICB9XG5cbiAgc2hvd1RvYXN0KG9wdHM/OiBTaG93VG9hc3RPcHRpb25zKSB7XG4gICAgcmV0dXJuIFRvYXN0cy5zaG93KHRoaXMudG9hc3RDb250cm9sbGVyLCB0aGlzLnRyYW5zbGF0ZSwge1xuICAgICAgLi4udGhpcy5kZWZhdWx0T3B0aW9ucyxcbiAgICAgIG1lc3NhZ2U6ICdUaGlzIGlzIGEgbWVzc2FnZScsXG4gICAgICAuLi5vcHRzXG4gICAgfSk7XG4gIH1cblxuICBzaG93SW5mbyhvcHRzPzogU2hvd1RvYXN0T3B0aW9ucykge1xuICAgcmV0dXJuIHRoaXMuc2hvd1RvYXN0KHtcbiAgICAgdHlwZTogJ2luZm8nLFxuICAgICBtZXNzYWdlOiAnVGhpcyBpcyBhIGluZm8gdGV4dCAhJyxcbiAgICAgLi4ub3B0c1xuICAgfSk7XG4gIH1cblxuICBzaG93V2FybmluZyhvcHRzPzogU2hvd1RvYXN0T3B0aW9ucykge1xuICAgIHJldHVybiB0aGlzLnNob3dUb2FzdCh7XG4gICAgICB0eXBlOiAnd2FybmluZycsXG4gICAgICBtZXNzYWdlOiAnVGhpcyBpcyBhIHdhcm5pbmcgdGV4dCAhJyxcbiAgICAgIC4uLm9wdHNcbiAgICB9KTtcbiAgfVxuXG4gIHNob3dFcnJvcihvcHRzPzogU2hvd1RvYXN0T3B0aW9ucykge1xuICAgIHJldHVybiB0aGlzLnNob3dUb2FzdCh7XG4gICAgICB0eXBlOiAnZXJyb3InLFxuICAgICAgbWVzc2FnZTogJ1RoaXMgaXMgYSBlcnJvciB0ZXh0ICEnLFxuICAgICAgLi4ub3B0c1xuICAgIH0pO1xuICB9XG5cblxuICB0b2dnbGVDbG9zZUJ1dHRvbigpIHtcbiAgICB0aGlzLmRlZmF1bHRPcHRpb25zLnNob3dDbG9zZUJ1dHRvbiA9ICF0aGlzLmRlZmF1bHRPcHRpb25zLnNob3dDbG9zZUJ1dHRvbjtcbiAgfVxufVxuIiwiPGlvbi10b29sYmFyIGNvbG9yPVwicHJpbWFyeVwiPlxuICA8aW9uLXRpdGxlPlRvYXN0czwvaW9uLXRpdGxlPlxuPC9pb24tdG9vbGJhcj5cblxuPGlvbi1jb250ZW50IGNsYXNzPVwiaW9uLXBhZGRpbmdcIj5cblxuICA8cD5Ub2FzdCBleGFtcGxlczo8L3A+XG5cbiAgPGlvbi1idXR0b24gKGNsaWNrKT1cInNob3dUb2FzdCgpXCIgY29sb3I9XCJkYXJrXCI+XG4gICAgZGVmYXVsdFxuICA8L2lvbi1idXR0b24+XG5cbiAgPGlvbi1idXR0b24gKGNsaWNrKT1cInNob3dJbmZvKHtkdXJhdGlvbjogMTAwMDAwfSlcIiBjb2xvcj1cInNlY29uZGFyeVwiPlxuICAgIGluZm9cbiAgPC9pb24tYnV0dG9uPlxuXG4gIDxpb24tYnV0dG9uIChjbGljayk9XCJzaG93V2FybmluZygpXCIgY29sb3I9XCJhY2NlbnRcIj5cbiAgICB3YXJuaW5nXG4gIDwvaW9uLWJ1dHRvbj5cblxuICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwic2hvd0Vycm9yKClcIiBjb2xvcj1cImRhbmdlclwiPlxuICAgIGVycm9yXG4gIDwvaW9uLWJ1dHRvbj5cblxuICA8YnIvPlxuXG5cbiAgPGlvbi1saXN0PlxuXG5cbiAgICA8aW9uLWl0ZW0+XG4gICAgICA8aW9uLWNoZWNrYm94IHNsb3Q9XCJzdGFydFwiIFt2YWx1ZV09XCJkZWZhdWx0T3B0aW9ucy5zaG93Q2xvc2VCdXR0b25cIiAgKGlvbkNoYW5nZSk9XCJ0b2dnbGVDbG9zZUJ1dHRvbigpXCI+PC9pb24tY2hlY2tib3g+XG4gICAgICA8aW9uLWxhYmVsPkNsb3NlIGJ1dHRvbiA/PC9pb24tbGFiZWw+XG4gICAgPC9pb24taXRlbT5cbiAgPC9pb24tbGlzdD5cblxuXG48L2lvbi1jb250ZW50PlxuIl19
49
+ args: [{ selector: 'toast-testing', template: "<ion-toolbar color=\"primary\">\n <ion-title>Toasts</ion-title>\n</ion-toolbar>\n\n<ion-content class=\"ion-padding\">\n\n <p>Toast examples:</p>\n\n <ion-button (click)=\"showToast()\" color=\"dark\">\n default\n </ion-button>\n\n <ion-button (click)=\"showInfo()\" color=\"secondary\">\n info\n </ion-button>\n\n <ion-button (click)=\"showWarning()\" color=\"accent\">\n warning\n </ion-button>\n\n <ion-button (click)=\"showError()\" color=\"danger\">\n error\n </ion-button>\n\n <br/>\n\n\n <ion-list>\n\n\n <ion-item>\n <ion-checkbox slot=\"start\" [value]=\"defaultOptions.showCloseButton\" (ionChange)=\"toggleCloseButton()\"></ion-checkbox>\n <ion-label>Close button ?</ion-label>\n </ion-item>\n </ion-list>\n\n\n</ion-content>\n" }]
50
+ }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QudGVzdGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL3RvYXN0L3RvYXN0LnRlc3RpbmcudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC90b2FzdC90b2FzdC50ZXN0aW5nLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBVyxNQUFNLGVBQWUsQ0FBQztBQUVsRCxPQUFPLEVBQW1CLE1BQU0sRUFBQyxNQUFNLFVBQVUsQ0FBQzs7O0FBT2xELE1BQU0sT0FBTyxnQkFBZ0I7SUFNM0IsWUFDVSxRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBTG5CLG1CQUFjLEdBQXFCO1lBQzFDLGVBQWUsRUFBRSxLQUFLO1NBQ3ZCLENBQUM7SUFLRixDQUFDO0lBRUQsU0FBUyxDQUFDLElBQXVCO1FBQy9CLE9BQU8sTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ3RDLEdBQUcsSUFBSSxDQUFDLGNBQWM7WUFDdEIsUUFBUSxFQUFFLE1BQU07WUFDaEIsT0FBTyxFQUFFLG1CQUFtQjtZQUM1QixHQUFHLElBQUk7U0FDUixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUSxDQUFDLElBQXVCO1FBQy9CLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNwQixJQUFJLEVBQUUsTUFBTTtZQUNaLE9BQU8sRUFBRSx1QkFBdUI7WUFDaEMsR0FBRyxJQUFJO1NBQ1IsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUF1QjtRQUNqQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDcEIsSUFBSSxFQUFFLFNBQVM7WUFDZixPQUFPLEVBQUUsMEJBQTBCO1lBQ25DLEdBQUcsSUFBSTtTQUNSLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxTQUFTLENBQUMsSUFBdUI7UUFDL0IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ3BCLElBQUksRUFBRSxPQUFPO1lBQ2IsT0FBTyxFQUFFLHdCQUF3QjtZQUNqQyxHQUFHLElBQUk7U0FDUixDQUFDLENBQUM7SUFDTCxDQUFDO0lBR0QsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQztJQUM3RSxDQUFDOzs2R0EvQ1UsZ0JBQWdCO2lHQUFoQixnQkFBZ0IscURDVDdCLDh3QkFzQ0E7MkZEN0JhLGdCQUFnQjtrQkFKNUIsU0FBUzsrQkFDRSxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEluamVjdG9yfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VG9hc3RDb250cm9sbGVyfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5pbXBvcnQge1Nob3dUb2FzdE9wdGlvbnMsIFRvYXN0c30gZnJvbSAnLi90b2FzdHMnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndG9hc3QtdGVzdGluZycsXG4gIHRlbXBsYXRlVXJsOiAndG9hc3QudGVzdGluZy5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBUb2FzdFRlc3RpbmdQYWdlICB7XG5cbiAgcmVhZG9ubHkgZGVmYXVsdE9wdGlvbnM6IFNob3dUb2FzdE9wdGlvbnMgPSB7XG4gICAgc2hvd0Nsb3NlQnV0dG9uOiBmYWxzZVxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yXG4gICkge1xuICB9XG5cbiAgc2hvd1RvYXN0KG9wdHM/OiBTaG93VG9hc3RPcHRpb25zKSB7XG4gICAgcmV0dXJuIFRvYXN0cy5zaG93U2ltcGxlKHRoaXMuaW5qZWN0b3IsIHtcbiAgICAgIC4uLnRoaXMuZGVmYXVsdE9wdGlvbnMsXG4gICAgICBkdXJhdGlvbjogMTAwMDAwLFxuICAgICAgbWVzc2FnZTogJ1RoaXMgaXMgYSBtZXNzYWdlJyxcbiAgICAgIC4uLm9wdHNcbiAgICB9KTtcbiAgfVxuXG4gIHNob3dJbmZvKG9wdHM/OiBTaG93VG9hc3RPcHRpb25zKSB7XG4gICByZXR1cm4gdGhpcy5zaG93VG9hc3Qoe1xuICAgICB0eXBlOiAnaW5mbycsXG4gICAgIG1lc3NhZ2U6ICdUaGlzIGlzIGEgaW5mbyB0ZXh0ICEnLFxuICAgICAuLi5vcHRzXG4gICB9KTtcbiAgfVxuXG4gIHNob3dXYXJuaW5nKG9wdHM/OiBTaG93VG9hc3RPcHRpb25zKSB7XG4gICAgcmV0dXJuIHRoaXMuc2hvd1RvYXN0KHtcbiAgICAgIHR5cGU6ICd3YXJuaW5nJyxcbiAgICAgIG1lc3NhZ2U6ICdUaGlzIGlzIGEgd2FybmluZyB0ZXh0ICEnLFxuICAgICAgLi4ub3B0c1xuICAgIH0pO1xuICB9XG5cbiAgc2hvd0Vycm9yKG9wdHM/OiBTaG93VG9hc3RPcHRpb25zKSB7XG4gICAgcmV0dXJuIHRoaXMuc2hvd1RvYXN0KHtcbiAgICAgIHR5cGU6ICdlcnJvcicsXG4gICAgICBtZXNzYWdlOiAnVGhpcyBpcyBhIGVycm9yIHRleHQgIScsXG4gICAgICAuLi5vcHRzXG4gICAgfSk7XG4gIH1cblxuXG4gIHRvZ2dsZUNsb3NlQnV0dG9uKCkge1xuICAgIHRoaXMuZGVmYXVsdE9wdGlvbnMuc2hvd0Nsb3NlQnV0dG9uID0gIXRoaXMuZGVmYXVsdE9wdGlvbnMuc2hvd0Nsb3NlQnV0dG9uO1xuICB9XG59XG4iLCI8aW9uLXRvb2xiYXIgY29sb3I9XCJwcmltYXJ5XCI+XG4gIDxpb24tdGl0bGU+VG9hc3RzPC9pb24tdGl0bGU+XG48L2lvbi10b29sYmFyPlxuXG48aW9uLWNvbnRlbnQgY2xhc3M9XCJpb24tcGFkZGluZ1wiPlxuXG4gIDxwPlRvYXN0IGV4YW1wbGVzOjwvcD5cblxuICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwic2hvd1RvYXN0KClcIiBjb2xvcj1cImRhcmtcIj5cbiAgICBkZWZhdWx0XG4gIDwvaW9uLWJ1dHRvbj5cblxuICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwic2hvd0luZm8oKVwiIGNvbG9yPVwic2Vjb25kYXJ5XCI+XG4gICAgaW5mb1xuICA8L2lvbi1idXR0b24+XG5cbiAgPGlvbi1idXR0b24gKGNsaWNrKT1cInNob3dXYXJuaW5nKClcIiBjb2xvcj1cImFjY2VudFwiPlxuICAgIHdhcm5pbmdcbiAgPC9pb24tYnV0dG9uPlxuXG4gIDxpb24tYnV0dG9uIChjbGljayk9XCJzaG93RXJyb3IoKVwiIGNvbG9yPVwiZGFuZ2VyXCI+XG4gICAgZXJyb3JcbiAgPC9pb24tYnV0dG9uPlxuXG4gIDxici8+XG5cblxuICA8aW9uLWxpc3Q+XG5cblxuICAgIDxpb24taXRlbT5cbiAgICAgIDxpb24tY2hlY2tib3ggc2xvdD1cInN0YXJ0XCIgW3ZhbHVlXT1cImRlZmF1bHRPcHRpb25zLnNob3dDbG9zZUJ1dHRvblwiICAoaW9uQ2hhbmdlKT1cInRvZ2dsZUNsb3NlQnV0dG9uKClcIj48L2lvbi1jaGVja2JveD5cbiAgICAgIDxpb24tbGFiZWw+Q2xvc2UgYnV0dG9uID88L2lvbi1sYWJlbD5cbiAgICA8L2lvbi1pdGVtPlxuICA8L2lvbi1saXN0PlxuXG5cbjwvaW9uLWNvbnRlbnQ+XG4iXX0=
@@ -16,15 +16,15 @@ const routes = [
16
16
  ];
17
17
  export class ToastTestingModule {
18
18
  }
19
- ToastTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: ToastTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
20
- ToastTestingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.1", ngImport: i0, type: ToastTestingModule, declarations: [ToastTestingPage], imports: [CommonModule,
19
+ ToastTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: ToastTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
20
+ ToastTestingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.5", ngImport: i0, type: ToastTestingModule, declarations: [ToastTestingPage], imports: [CommonModule,
21
21
  IonicModule, i1.TranslateModule, i2.RouterModule], exports: [RouterModule,
22
22
  ToastTestingPage] });
23
- ToastTestingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: ToastTestingModule, imports: [CommonModule,
23
+ ToastTestingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: ToastTestingModule, imports: [CommonModule,
24
24
  IonicModule,
25
25
  TranslateModule.forChild(),
26
26
  RouterModule.forChild(routes), RouterModule] });
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: ToastTestingModule, decorators: [{
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: ToastTestingModule, decorators: [{
28
28
  type: NgModule,
29
29
  args: [{
30
30
  imports: [