@sapphire-ion/framework 1.2.63 → 1.3.1

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 (498) hide show
  1. package/build.ps1 +39 -0
  2. package/ng-package.json +10 -0
  3. package/package.json +43 -47
  4. package/src/lib/classes/comparison/comparison-operator.ts +17 -0
  5. package/src/lib/classes/comparison/comparison-value-type.ts +34 -0
  6. package/src/lib/classes/comparison/comparison.ts +45 -0
  7. package/src/lib/classes/comparison/properties/bool-property.ts +16 -0
  8. package/src/lib/classes/comparison/properties/date-property.ts +28 -0
  9. package/src/lib/classes/comparison/properties/datetime-property.ts +28 -0
  10. package/src/lib/classes/comparison/properties/decimal-property.ts +28 -0
  11. package/src/lib/classes/comparison/properties/enum-property.ts +28 -0
  12. package/src/lib/classes/comparison/properties/implicit-property.ts +13 -0
  13. package/src/lib/classes/comparison/properties/int-property.ts +28 -0
  14. package/src/lib/classes/comparison/properties/long-property.ts +28 -0
  15. package/src/lib/classes/comparison/properties/string-property.ts +16 -0
  16. package/src/lib/classes/comparison/properties/time-property.ts +28 -0
  17. package/{lib/classes/credentials.d.ts → src/lib/classes/credentials.ts} +5 -5
  18. package/src/lib/classes/environment.ts +37 -0
  19. package/src/lib/classes/filters/view-filtros.ts +18 -0
  20. package/src/lib/classes/infinite-scroll.ts +112 -0
  21. package/src/lib/classes/inputs/table-field-form-builder.ts +12 -0
  22. package/src/lib/classes/inputs/table-field.ts +62 -0
  23. package/src/lib/classes/page-option.ts +8 -0
  24. package/src/lib/classes/routes/default-routing-factory.ts +24 -0
  25. package/src/lib/classes/routes/id-preloader-configuration.ts +21 -0
  26. package/src/lib/classes/routes/route-data.ts +9 -0
  27. package/src/lib/components/carousel/carousel-image/carousel-image.component.html +4 -0
  28. package/src/lib/components/carousel/carousel-image/carousel-image.component.ts +15 -0
  29. package/src/lib/components/carousel/carousel-item/carousel-item.component.html +3 -0
  30. package/src/lib/components/carousel/carousel-item/carousel-item.component.ts +14 -0
  31. package/src/lib/components/carousel/carousel.component.html +22 -0
  32. package/src/lib/components/carousel/carousel.component.ts +83 -0
  33. package/src/lib/components/carousel/carousel.module.ts +20 -0
  34. package/src/lib/components/carousel/i-carousel-item.component.ts +8 -0
  35. package/src/lib/components/content-block/content-block.component.html +6 -0
  36. package/src/lib/components/content-block/content-block.component.ts +25 -0
  37. package/src/lib/components/default/default-list/abstract-list.ts +56 -0
  38. package/src/lib/components/default/default-list/default-list.component.html +60 -0
  39. package/src/lib/components/default/default-list/default-list.component.ts +72 -0
  40. package/src/lib/components/default/default-list/header-list/header-list.component.html +32 -0
  41. package/src/lib/components/default/default-list/header-list/header-list.component.ts +85 -0
  42. package/src/lib/components/default/default-list/list.ts +127 -0
  43. package/src/lib/components/default/default-pagination/default-pagination.component.html +52 -0
  44. package/src/lib/components/default/default-pagination/default-pagination.component.ts +118 -0
  45. package/src/lib/components/default/default-table/default-table.component.html +104 -0
  46. package/src/lib/components/default/default-table/default-table.component.ts +255 -0
  47. package/src/lib/components/default/default-table/th-filter/th-filter.component.html +69 -0
  48. package/src/lib/components/default/default-table/th-filter/th-filter.component.ts +205 -0
  49. package/src/lib/components/default/default-view/abstract-view.ts +25 -0
  50. package/src/lib/components/default/default-view/default-view.component.html +111 -0
  51. package/src/lib/components/default/default-view/default-view.component.ts +56 -0
  52. package/src/lib/components/default/default-view/header-view/header-view.component.html +64 -0
  53. package/src/lib/components/default/default-view/header-view/header-view.component.ts +62 -0
  54. package/src/lib/components/default/default-view/view.ts +195 -0
  55. package/src/lib/components/default/default.module.ts +61 -0
  56. package/src/lib/components/default-page/default.page.html +63 -0
  57. package/src/lib/components/default-page/default.page.ts +84 -0
  58. package/src/lib/components/drag-drop-file/drag-drop-file.directive.ts +44 -0
  59. package/src/lib/components/drag-drop-file/drag-drop-file.module.ts +21 -0
  60. package/src/lib/components/drag-drop-file/drag-drop-overlay/drag-drop-overlay.component.html +5 -0
  61. package/src/lib/components/drag-drop-file/drag-drop-overlay/drag-drop-overlay.component.ts +17 -0
  62. package/src/lib/components/drawer/default-drawer-end/default-drawer-end.component.html +12 -0
  63. package/src/lib/components/drawer/default-drawer-end/default-drawer-end.component.ts +35 -0
  64. package/src/lib/components/drawer/drawer-group/drawer-group.component.html +79 -0
  65. package/src/lib/components/drawer/drawer-group/drawer-group.component.ts +49 -0
  66. package/src/lib/components/drawer/drawer.component.html +120 -0
  67. package/src/lib/components/drawer/drawer.component.ts +157 -0
  68. package/src/lib/components/drawer/menu.ts +20 -0
  69. package/src/lib/components/filter/filter.component.html +43 -0
  70. package/src/lib/components/filter/filter.component.ts +141 -0
  71. package/src/lib/components/http-responses-pages/forbidden-403/forbidden-403.component.html +35 -0
  72. package/src/lib/components/http-responses-pages/forbidden-403/forbidden-403.component.ts +19 -0
  73. package/src/lib/components/image/image.component.html +17 -0
  74. package/src/lib/components/image/image.component.ts +95 -0
  75. package/src/lib/components/info-popover/info-popover.component.html +23 -0
  76. package/src/lib/components/info-popover/info-popover.component.ts +75 -0
  77. package/src/lib/components/inputs/custom-input.ts +94 -0
  78. package/src/lib/components/inputs/input-bool/input-bool.component.html +26 -0
  79. package/src/lib/components/inputs/input-bool/input-bool.component.ts +39 -0
  80. package/src/lib/components/inputs/input-bool/input-bool.configuration.ts +14 -0
  81. package/src/lib/components/inputs/input-cep/input-cep.component.html +27 -0
  82. package/src/lib/components/inputs/input-cep/input-cep.component.ts +41 -0
  83. package/src/lib/components/inputs/input-cep/input-cep.configuration.ts +4 -0
  84. package/src/lib/components/inputs/input-color/input-color.component.html +79 -0
  85. package/src/lib/components/inputs/input-color/input-color.component.ts +544 -0
  86. package/{lib/components/inputs/input-configuration.d.ts → src/lib/components/inputs/input-configuration.ts} +23 -10
  87. package/src/lib/components/inputs/input-cpf-cnpj/input-cpf-cnpj.component.html +28 -0
  88. package/src/lib/components/inputs/input-cpf-cnpj/input-cpf-cnpj.component.ts +99 -0
  89. package/src/lib/components/inputs/input-cpf-cnpj/input-cpf-cnpj.configuration.ts +4 -0
  90. package/src/lib/components/inputs/input-date/input-date.component.html +89 -0
  91. package/src/lib/components/inputs/input-date/input-date.component.ts +269 -0
  92. package/src/lib/components/inputs/input-date/input-date.configuration.ts +8 -0
  93. package/src/lib/components/inputs/input-decimal/input-decimal.component.html +32 -0
  94. package/src/lib/components/inputs/input-decimal/input-decimal.component.ts +283 -0
  95. package/src/lib/components/inputs/input-decimal/input-decimal.configuration.ts +47 -0
  96. package/src/lib/components/inputs/input-default-configurations.ts +15 -0
  97. package/src/lib/components/inputs/input-file/download-button/download-button.component.html +56 -0
  98. package/src/lib/components/inputs/input-file/download-button/download-button.component.ts +91 -0
  99. package/src/lib/components/inputs/input-file/input-file.component.html +56 -0
  100. package/src/lib/components/inputs/input-file/input-file.component.ts +97 -0
  101. package/src/lib/components/inputs/input-file/input-file.configuration.ts +25 -0
  102. package/src/lib/components/inputs/input-icon/fluenticons.ts +3733 -0
  103. package/src/lib/components/inputs/input-icon/input-icon.component.html +8 -0
  104. package/src/lib/components/inputs/input-icon/input-icon.component.ts +52 -0
  105. package/src/lib/components/inputs/input-icon/ionicons.ts +1359 -0
  106. package/src/lib/components/inputs/input-provider-factory.ts +12 -0
  107. package/src/lib/components/inputs/input-select/directives/sion-label-template.directive.ts +19 -0
  108. package/src/lib/components/inputs/input-select/directives/sion-option-template.directive.ts +16 -0
  109. package/src/lib/components/inputs/input-select/directives/sion-placeholder-template.directive.ts +19 -0
  110. package/src/lib/components/inputs/input-select/input-select.component.html +176 -0
  111. package/src/lib/components/inputs/input-select/input-select.component.ts +366 -0
  112. package/src/lib/components/inputs/input-select/input.select.configuration.ts +300 -0
  113. package/src/lib/components/inputs/input-string/input-string.component.html +27 -0
  114. package/src/lib/components/inputs/input-string/input-string.component.ts +31 -0
  115. package/src/lib/components/inputs/input-string/input-string.configuration.ts +20 -0
  116. package/src/lib/components/inputs/input-telefone/input-telefone.component.html +29 -0
  117. package/src/lib/components/inputs/input-telefone/input-telefone.component.ts +63 -0
  118. package/src/lib/components/inputs/input-telefone/input-telefone.configuration.ts +8 -0
  119. package/src/lib/components/inputs/input-textarea/input-textarea.component.html +27 -0
  120. package/src/lib/components/inputs/input-textarea/input-textarea.component.ts +75 -0
  121. package/src/lib/components/inputs/input-textarea/input-textarea.configuration.ts +7 -0
  122. package/src/lib/components/inputs/input-type.ts +22 -0
  123. package/src/lib/components/inputs/input-validators.ts +111 -0
  124. package/src/lib/components/inputs/inputs.module.ts +74 -0
  125. package/src/lib/components/loading/loading.component.html +28 -0
  126. package/src/lib/components/loading/loading.component.ts +29 -0
  127. package/src/lib/components/login/login-admin/login-admin.component.html +28 -0
  128. package/src/lib/components/login/login-admin/login-admin.component.ts +51 -0
  129. package/src/lib/components/login/login.component.html +104 -0
  130. package/src/lib/components/login/login.component.ts +96 -0
  131. package/src/lib/components/main-content/main-content.component.html +145 -0
  132. package/src/lib/components/main-content/main-content.component.ts +93 -0
  133. package/src/lib/components/popover/sion-popover/sion-popover.component.html +21 -0
  134. package/src/lib/components/popover/sion-popover/sion-popover.component.ts +182 -0
  135. package/src/lib/components/popover/sion-popover.module.ts +12 -0
  136. package/src/lib/components/sion-card/sion-card.component.html +12 -0
  137. package/src/lib/components/sion-card/sion-card.component.ts +23 -0
  138. package/src/lib/components/stepper/step/step.component.html +11 -0
  139. package/src/lib/components/stepper/step/step.component.ts +44 -0
  140. package/src/lib/components/stepper/stepper.component.html +3 -0
  141. package/src/lib/components/stepper/stepper.component.ts +37 -0
  142. package/src/lib/components/stepper/stepper.module.ts +15 -0
  143. package/src/lib/components/tabs/tab/tab.component.html +8 -0
  144. package/src/lib/components/tabs/tab/tab.component.ts +28 -0
  145. package/src/lib/components/tabs/tabs/tabs.component.html +14 -0
  146. package/src/lib/components/tabs/tabs/tabs.component.ts +42 -0
  147. package/src/lib/components/tabs/tabs.module.ts +15 -0
  148. package/src/lib/components/text-tooltip/text-tooltip.component.html +8 -0
  149. package/src/lib/components/text-tooltip/text-tooltip.component.scss +0 -0
  150. package/src/lib/components/text-tooltip/text-tooltip.component.ts +45 -0
  151. package/src/lib/components/tooltip/tooltip.component.html +53 -0
  152. package/src/lib/components/tooltip/tooltip.component.ts +16 -0
  153. package/src/lib/core.module.ts +29 -0
  154. package/src/lib/directives/ng-var.directive.ts +26 -0
  155. package/src/lib/guards/auth.guard.ts +19 -0
  156. package/src/lib/guards/error.interceptor.ts +108 -0
  157. package/src/lib/guards/token.interceptor.ts +28 -0
  158. package/src/lib/index.ts +191 -0
  159. package/src/lib/pipes/secure.pipe.ts +39 -0
  160. package/src/lib/services/auth.service.ts +150 -0
  161. package/src/lib/services/crypto.service.ts +164 -0
  162. package/src/lib/services/environment.service.ts +17 -0
  163. package/src/lib/services/generic.service.ts +85 -0
  164. package/src/lib/services/modal-focus-trap.service.ts +65 -0
  165. package/src/lib/services/navigation-context.service.ts +121 -0
  166. package/src/lib/services/popover-focus-trap.service.ts +65 -0
  167. package/src/lib/services/route/route.cache.service.ts +17 -0
  168. package/src/lib/services/route/route.provider.service.ts +49 -0
  169. package/src/lib/services/usuario.service.ts +44 -0
  170. package/src/lib/services/utils.service.ts +216 -0
  171. package/src/lib/services/web/api-url-provider.service.ts +48 -0
  172. package/src/lib/services/web/http.ativo.service.ts +37 -0
  173. package/src/lib/services/web/http.service.ts +206 -0
  174. package/src/lib/services/web/storage.service.ts +210 -0
  175. package/src/public-api.ts +5 -0
  176. package/tailwind.config.js +27 -0
  177. package/tsconfig.lib.json +29 -0
  178. package/tsconfig.lib.prod.json +23 -0
  179. package/tsconfig.spec.json +27 -0
  180. package/esm2022/lib/classes/comparison/comparison-operator.mjs +0 -18
  181. package/esm2022/lib/classes/comparison/comparison-value-type.mjs +0 -25
  182. package/esm2022/lib/classes/comparison/comparison.mjs +0 -41
  183. package/esm2022/lib/classes/comparison/properties/bool-property.mjs +0 -15
  184. package/esm2022/lib/classes/comparison/properties/date-property.mjs +0 -27
  185. package/esm2022/lib/classes/comparison/properties/datetime-property.mjs +0 -27
  186. package/esm2022/lib/classes/comparison/properties/decimal-property.mjs +0 -27
  187. package/esm2022/lib/classes/comparison/properties/enum-property.mjs +0 -27
  188. package/esm2022/lib/classes/comparison/properties/implicit-property.mjs +0 -12
  189. package/esm2022/lib/classes/comparison/properties/int-property.mjs +0 -27
  190. package/esm2022/lib/classes/comparison/properties/long-property.mjs +0 -27
  191. package/esm2022/lib/classes/comparison/properties/string-property.mjs +0 -15
  192. package/esm2022/lib/classes/comparison/properties/time-property.mjs +0 -27
  193. package/esm2022/lib/classes/credentials.mjs +0 -2
  194. package/esm2022/lib/classes/environment.mjs +0 -34
  195. package/esm2022/lib/classes/filters/view-filtros.mjs +0 -18
  196. package/esm2022/lib/classes/infinite-scroll.mjs +0 -90
  197. package/esm2022/lib/classes/inputs/table-field-form-builder.mjs +0 -10
  198. package/esm2022/lib/classes/inputs/table-field.mjs +0 -79
  199. package/esm2022/lib/classes/page-option.mjs +0 -2
  200. package/esm2022/lib/classes/routes/default-routing-factory.mjs +0 -23
  201. package/esm2022/lib/classes/routes/id-preloader-configuration.mjs +0 -22
  202. package/esm2022/lib/classes/routes/route-data.mjs +0 -9
  203. package/esm2022/lib/components/carousel/carousel-image/carousel-image.component.mjs +0 -18
  204. package/esm2022/lib/components/carousel/carousel-item/carousel-item.component.mjs +0 -15
  205. package/esm2022/lib/components/carousel/carousel.component.mjs +0 -79
  206. package/esm2022/lib/components/carousel/carousel.module.mjs +0 -31
  207. package/esm2022/lib/components/carousel/i-carousel-item.component.mjs +0 -16
  208. package/esm2022/lib/components/content-block/content-block.component.mjs +0 -27
  209. package/esm2022/lib/components/default/default-list/abstract-list.mjs +0 -49
  210. package/esm2022/lib/components/default/default-list/default-list.component.mjs +0 -95
  211. package/esm2022/lib/components/default/default-list/header-list/header-list.component.mjs +0 -98
  212. package/esm2022/lib/components/default/default-list/list.mjs +0 -120
  213. package/esm2022/lib/components/default/default-pagination/default-pagination.component.mjs +0 -123
  214. package/esm2022/lib/components/default/default-table/default-table.component.mjs +0 -216
  215. package/esm2022/lib/components/default/default-table/th-filter/th-filter.component.mjs +0 -212
  216. package/esm2022/lib/components/default/default-view/abstract-view.mjs +0 -22
  217. package/esm2022/lib/components/default/default-view/default-view.component.mjs +0 -76
  218. package/esm2022/lib/components/default/default-view/header-view/header-view.component.mjs +0 -81
  219. package/esm2022/lib/components/default/default-view/view.mjs +0 -198
  220. package/esm2022/lib/components/default/default.module.mjs +0 -98
  221. package/esm2022/lib/components/default-page/default.page.mjs +0 -75
  222. package/esm2022/lib/components/drag-drop-file/drag-drop-file.directive.mjs +0 -60
  223. package/esm2022/lib/components/drag-drop-file/drag-drop-file.module.mjs +0 -31
  224. package/esm2022/lib/components/drag-drop-file/drag-drop-overlay/drag-drop-overlay.component.mjs +0 -15
  225. package/esm2022/lib/components/drawer/default-drawer-end/default-drawer-end.component.mjs +0 -34
  226. package/esm2022/lib/components/drawer/drawer-group/drawer-group.component.mjs +0 -52
  227. package/esm2022/lib/components/drawer/drawer.component.mjs +0 -156
  228. package/esm2022/lib/components/drawer/menu.mjs +0 -15
  229. package/esm2022/lib/components/filter/filter.component.mjs +0 -145
  230. package/esm2022/lib/components/http-responses-pages/forbidden-403/forbidden-403.component.mjs +0 -17
  231. package/esm2022/lib/components/image/image.component.mjs +0 -91
  232. package/esm2022/lib/components/info-popover/info-popover.component.mjs +0 -91
  233. package/esm2022/lib/components/inputs/custom-input.mjs +0 -85
  234. package/esm2022/lib/components/inputs/input-bool/input-bool.component.mjs +0 -46
  235. package/esm2022/lib/components/inputs/input-bool/input-bool.configuration.mjs +0 -16
  236. package/esm2022/lib/components/inputs/input-cep/input-cep.component.mjs +0 -50
  237. package/esm2022/lib/components/inputs/input-cep/input-cep.configuration.mjs +0 -4
  238. package/esm2022/lib/components/inputs/input-color/input-color.component.mjs +0 -481
  239. package/esm2022/lib/components/inputs/input-configuration.mjs +0 -2
  240. package/esm2022/lib/components/inputs/input-cpf-cnpj/input-cpf-cnpj.component.mjs +0 -116
  241. package/esm2022/lib/components/inputs/input-cpf-cnpj/input-cpf-cnpj.configuration.mjs +0 -6
  242. package/esm2022/lib/components/inputs/input-date/input-date.component.mjs +0 -263
  243. package/esm2022/lib/components/inputs/input-date/input-date.configuration.mjs +0 -11
  244. package/esm2022/lib/components/inputs/input-decimal/input-decimal.component.mjs +0 -276
  245. package/esm2022/lib/components/inputs/input-decimal/input-decimal.configuration.mjs +0 -50
  246. package/esm2022/lib/components/inputs/input-default-configurations.mjs +0 -14
  247. package/esm2022/lib/components/inputs/input-file/download-button/download-button.component.mjs +0 -102
  248. package/esm2022/lib/components/inputs/input-file/input-file.component.mjs +0 -100
  249. package/esm2022/lib/components/inputs/input-file/input-file.configuration.mjs +0 -24
  250. package/esm2022/lib/components/inputs/input-icon/fluenticons.mjs +0 -3734
  251. package/esm2022/lib/components/inputs/input-icon/input-icon.component.mjs +0 -60
  252. package/esm2022/lib/components/inputs/input-icon/ionicons.mjs +0 -1360
  253. package/esm2022/lib/components/inputs/input-provider-factory.mjs +0 -12
  254. package/esm2022/lib/components/inputs/input-select/directives/sion-label-template.directive.mjs +0 -16
  255. package/esm2022/lib/components/inputs/input-select/directives/sion-option-template.directive.mjs +0 -16
  256. package/esm2022/lib/components/inputs/input-select/directives/sion-placeholder-template.directive.mjs +0 -16
  257. package/esm2022/lib/components/inputs/input-select/input-select.component.mjs +0 -376
  258. package/esm2022/lib/components/inputs/input-select/input.select.configuration.mjs +0 -233
  259. package/esm2022/lib/components/inputs/input-string/input-string.component.mjs +0 -41
  260. package/esm2022/lib/components/inputs/input-string/input-string.configuration.mjs +0 -20
  261. package/esm2022/lib/components/inputs/input-telefone/input-telefone.component.mjs +0 -74
  262. package/esm2022/lib/components/inputs/input-telefone/input-telefone.configuration.mjs +0 -12
  263. package/esm2022/lib/components/inputs/input-textarea/input-textarea.component.mjs +0 -82
  264. package/esm2022/lib/components/inputs/input-textarea/input-textarea.configuration.mjs +0 -7
  265. package/esm2022/lib/components/inputs/input-type.mjs +0 -24
  266. package/esm2022/lib/components/inputs/input-validators.mjs +0 -121
  267. package/esm2022/lib/components/inputs/inputs.module.mjs +0 -133
  268. package/esm2022/lib/components/loading/loading.component.mjs +0 -34
  269. package/esm2022/lib/components/login/login-admin/login-admin.component.mjs +0 -52
  270. package/esm2022/lib/components/login/login.component.mjs +0 -99
  271. package/esm2022/lib/components/main-content/main-content.component.mjs +0 -100
  272. package/esm2022/lib/components/popover/sion-popover/sion-popover.component.mjs +0 -182
  273. package/esm2022/lib/components/popover/sion-popover.module.mjs +0 -21
  274. package/esm2022/lib/components/sion-card/sion-card.component.mjs +0 -26
  275. package/esm2022/lib/components/stepper/step/step.component.mjs +0 -43
  276. package/esm2022/lib/components/stepper/stepper.component.mjs +0 -36
  277. package/esm2022/lib/components/stepper/stepper.module.mjs +0 -25
  278. package/esm2022/lib/components/tabs/tab/tab.component.mjs +0 -41
  279. package/esm2022/lib/components/tabs/tabs/tabs.component.mjs +0 -56
  280. package/esm2022/lib/components/tabs/tabs.module.mjs +0 -22
  281. package/esm2022/lib/components/text-tooltip/text-tooltip.component.mjs +0 -51
  282. package/esm2022/lib/components/tooltip/tooltip.component.mjs +0 -21
  283. package/esm2022/lib/core.module.mjs +0 -38
  284. package/esm2022/lib/directives/ng-var.directive.mjs +0 -29
  285. package/esm2022/lib/guards/auth.guard.mjs +0 -26
  286. package/esm2022/lib/guards/error.interceptor.mjs +0 -107
  287. package/esm2022/lib/guards/token.interceptor.mjs +0 -25
  288. package/esm2022/lib/index.mjs +0 -188
  289. package/esm2022/lib/pipes/secure.pipe.mjs +0 -42
  290. package/esm2022/lib/services/auth.service.mjs +0 -146
  291. package/esm2022/lib/services/environment.service.mjs +0 -26
  292. package/esm2022/lib/services/generic.service.mjs +0 -84
  293. package/esm2022/lib/services/modal-focus-trap.service.mjs +0 -62
  294. package/esm2022/lib/services/navigation-context.service.mjs +0 -111
  295. package/esm2022/lib/services/popover-focus-trap.service.mjs +0 -62
  296. package/esm2022/lib/services/route/route.cache.service.mjs +0 -15
  297. package/esm2022/lib/services/route/route.provider.service.mjs +0 -42
  298. package/esm2022/lib/services/usuario.service.mjs +0 -49
  299. package/esm2022/lib/services/utils.service.mjs +0 -190
  300. package/esm2022/lib/services/web/api-url-provider.service.mjs +0 -29
  301. package/esm2022/lib/services/web/http.ativo.service.mjs +0 -37
  302. package/esm2022/lib/services/web/http.service.mjs +0 -184
  303. package/esm2022/lib/services/web/storage.service.mjs +0 -186
  304. package/esm2022/public-api.mjs +0 -5
  305. package/esm2022/sapphire-ion-framework.mjs +0 -5
  306. package/fesm2022/sapphire-ion-framework.mjs +0 -12491
  307. package/fesm2022/sapphire-ion-framework.mjs.map +0 -1
  308. package/index.d.ts +0 -5
  309. package/lib/classes/comparison/comparison-operator.d.ts +0 -9
  310. package/lib/classes/comparison/comparison-value-type.d.ts +0 -23
  311. package/lib/classes/comparison/comparison.d.ts +0 -25
  312. package/lib/classes/comparison/properties/bool-property.d.ts +0 -7
  313. package/lib/classes/comparison/properties/date-property.d.ts +0 -11
  314. package/lib/classes/comparison/properties/datetime-property.d.ts +0 -11
  315. package/lib/classes/comparison/properties/decimal-property.d.ts +0 -11
  316. package/lib/classes/comparison/properties/enum-property.d.ts +0 -11
  317. package/lib/classes/comparison/properties/implicit-property.d.ts +0 -6
  318. package/lib/classes/comparison/properties/int-property.d.ts +0 -11
  319. package/lib/classes/comparison/properties/long-property.d.ts +0 -11
  320. package/lib/classes/comparison/properties/string-property.d.ts +0 -7
  321. package/lib/classes/comparison/properties/time-property.d.ts +0 -11
  322. package/lib/classes/environment.d.ts +0 -14
  323. package/lib/classes/filters/view-filtros.d.ts +0 -10
  324. package/lib/classes/infinite-scroll.d.ts +0 -26
  325. package/lib/classes/inputs/table-field-form-builder.d.ts +0 -5
  326. package/lib/classes/inputs/table-field.d.ts +0 -20
  327. package/lib/classes/page-option.d.ts +0 -7
  328. package/lib/classes/routes/default-routing-factory.d.ts +0 -8
  329. package/lib/classes/routes/id-preloader-configuration.d.ts +0 -28
  330. package/lib/classes/routes/route-data.d.ts +0 -5
  331. package/lib/components/carousel/carousel-image/carousel-image.component.d.ts +0 -10
  332. package/lib/components/carousel/carousel-item/carousel-item.component.d.ts +0 -9
  333. package/lib/components/carousel/carousel.component.d.ts +0 -32
  334. package/lib/components/carousel/carousel.module.d.ts +0 -12
  335. package/lib/components/carousel/i-carousel-item.component.d.ts +0 -9
  336. package/lib/components/content-block/content-block.component.d.ts +0 -15
  337. package/lib/components/default/default-list/abstract-list.d.ts +0 -21
  338. package/lib/components/default/default-list/default-list.component.d.ts +0 -47
  339. package/lib/components/default/default-list/header-list/header-list.component.d.ts +0 -45
  340. package/lib/components/default/default-list/list.d.ts +0 -40
  341. package/lib/components/default/default-pagination/default-pagination.component.d.ts +0 -36
  342. package/lib/components/default/default-table/default-table.component.d.ts +0 -90
  343. package/lib/components/default/default-table/th-filter/th-filter.component.d.ts +0 -23
  344. package/lib/components/default/default-view/abstract-view.d.ts +0 -18
  345. package/lib/components/default/default-view/default-view.component.d.ts +0 -40
  346. package/lib/components/default/default-view/header-view/header-view.component.d.ts +0 -36
  347. package/lib/components/default/default-view/view.d.ts +0 -67
  348. package/lib/components/default/default.module.d.ts +0 -31
  349. package/lib/components/default-page/default.page.d.ts +0 -35
  350. package/lib/components/drag-drop-file/drag-drop-file.directive.d.ts +0 -14
  351. package/lib/components/drag-drop-file/drag-drop-file.module.d.ts +0 -10
  352. package/lib/components/drag-drop-file/drag-drop-overlay/drag-drop-overlay.component.d.ts +0 -9
  353. package/lib/components/drawer/default-drawer-end/default-drawer-end.component.d.ts +0 -13
  354. package/lib/components/drawer/drawer-group/drawer-group.component.d.ts +0 -22
  355. package/lib/components/drawer/drawer.component.d.ts +0 -31
  356. package/lib/components/drawer/menu.d.ts +0 -9
  357. package/lib/components/filter/filter.component.d.ts +0 -29
  358. package/lib/components/http-responses-pages/forbidden-403/forbidden-403.component.d.ts +0 -8
  359. package/lib/components/image/image.component.d.ts +0 -23
  360. package/lib/components/info-popover/info-popover.component.d.ts +0 -15
  361. package/lib/components/inputs/custom-input.d.ts +0 -40
  362. package/lib/components/inputs/input-bool/input-bool.component.d.ts +0 -16
  363. package/lib/components/inputs/input-bool/input-bool.configuration.d.ts +0 -17
  364. package/lib/components/inputs/input-cep/input-cep.component.d.ts +0 -18
  365. package/lib/components/inputs/input-cep/input-cep.configuration.d.ts +0 -3
  366. package/lib/components/inputs/input-color/input-color.component.d.ts +0 -77
  367. package/lib/components/inputs/input-cpf-cnpj/input-cpf-cnpj.component.d.ts +0 -19
  368. package/lib/components/inputs/input-cpf-cnpj/input-cpf-cnpj.configuration.d.ts +0 -5
  369. package/lib/components/inputs/input-date/input-date.component.d.ts +0 -61
  370. package/lib/components/inputs/input-date/input-date.configuration.d.ts +0 -11
  371. package/lib/components/inputs/input-decimal/input-decimal.component.d.ts +0 -27
  372. package/lib/components/inputs/input-decimal/input-decimal.configuration.d.ts +0 -28
  373. package/lib/components/inputs/input-default-configurations.d.ts +0 -13
  374. package/lib/components/inputs/input-file/download-button/download-button.component.d.ts +0 -40
  375. package/lib/components/inputs/input-file/input-file.component.d.ts +0 -28
  376. package/lib/components/inputs/input-file/input-file.configuration.d.ts +0 -8
  377. package/lib/components/inputs/input-icon/fluenticons.d.ts +0 -1
  378. package/lib/components/inputs/input-icon/input-icon.component.d.ts +0 -20
  379. package/lib/components/inputs/input-icon/ionicons.d.ts +0 -1
  380. package/lib/components/inputs/input-provider-factory.d.ts +0 -4
  381. package/lib/components/inputs/input-select/directives/sion-label-template.directive.d.ts +0 -18
  382. package/lib/components/inputs/input-select/directives/sion-option-template.directive.d.ts +0 -14
  383. package/lib/components/inputs/input-select/directives/sion-placeholder-template.directive.d.ts +0 -18
  384. package/lib/components/inputs/input-select/input-select.component.d.ts +0 -83
  385. package/lib/components/inputs/input-select/input.select.configuration.d.ts +0 -127
  386. package/lib/components/inputs/input-string/input-string.component.d.ts +0 -14
  387. package/lib/components/inputs/input-string/input-string.configuration.d.ts +0 -15
  388. package/lib/components/inputs/input-telefone/input-telefone.component.d.ts +0 -19
  389. package/lib/components/inputs/input-telefone/input-telefone.configuration.d.ts +0 -9
  390. package/lib/components/inputs/input-textarea/input-textarea.component.d.ts +0 -17
  391. package/lib/components/inputs/input-textarea/input-textarea.configuration.d.ts +0 -4
  392. package/lib/components/inputs/input-type.d.ts +0 -22
  393. package/lib/components/inputs/input-validators.d.ts +0 -25
  394. package/lib/components/inputs/inputs.module.d.ts +0 -33
  395. package/lib/components/loading/loading.component.d.ts +0 -18
  396. package/lib/components/login/login-admin/login-admin.component.d.ts +0 -20
  397. package/lib/components/login/login.component.d.ts +0 -29
  398. package/lib/components/main-content/main-content.component.d.ts +0 -27
  399. package/lib/components/popover/sion-popover/sion-popover.component.d.ts +0 -43
  400. package/lib/components/popover/sion-popover.module.d.ts +0 -9
  401. package/lib/components/sion-card/sion-card.component.d.ts +0 -11
  402. package/lib/components/stepper/step/step.component.d.ts +0 -15
  403. package/lib/components/stepper/stepper.component.d.ts +0 -14
  404. package/lib/components/stepper/stepper.module.d.ts +0 -10
  405. package/lib/components/tabs/tab/tab.component.d.ts +0 -19
  406. package/lib/components/tabs/tabs/tabs.component.d.ts +0 -18
  407. package/lib/components/tabs/tabs.module.d.ts +0 -12
  408. package/lib/components/text-tooltip/text-tooltip.component.d.ts +0 -16
  409. package/lib/components/tooltip/tooltip.component.d.ts +0 -7
  410. package/lib/core.module.d.ts +0 -16
  411. package/lib/directives/ng-var.directive.d.ts +0 -12
  412. package/lib/guards/auth.guard.d.ts +0 -11
  413. package/lib/guards/error.interceptor.d.ts +0 -32
  414. package/lib/guards/token.interceptor.d.ts +0 -11
  415. package/lib/index.d.ts +0 -118
  416. package/lib/pipes/secure.pipe.d.ts +0 -15
  417. package/lib/services/auth.service.d.ts +0 -47
  418. package/lib/services/environment.service.d.ts +0 -10
  419. package/lib/services/generic.service.d.ts +0 -22
  420. package/lib/services/modal-focus-trap.service.d.ts +0 -13
  421. package/lib/services/navigation-context.service.d.ts +0 -14
  422. package/lib/services/popover-focus-trap.service.d.ts +0 -13
  423. package/lib/services/route/route.cache.service.d.ts +0 -7
  424. package/lib/services/route/route.provider.service.d.ts +0 -13
  425. package/lib/services/usuario.service.d.ts +0 -21
  426. package/lib/services/utils.service.d.ts +0 -53
  427. package/lib/services/web/api-url-provider.service.d.ts +0 -13
  428. package/lib/services/web/http.ativo.service.d.ts +0 -20
  429. package/lib/services/web/http.service.d.ts +0 -59
  430. package/lib/services/web/storage.service.d.ts +0 -46
  431. package/public-api.d.ts +0 -1
  432. /package/{themes → src/lib}/compiled-styles.scss +0 -0
  433. /package/{themes → src/lib}/components/carousel/carousel-image/carousel-image.component.scss +0 -0
  434. /package/{themes → src/lib}/components/carousel/carousel-item/carousel-item.component.scss +0 -0
  435. /package/{themes → src/lib}/components/carousel/carousel.component.scss +0 -0
  436. /package/{themes → src/lib}/components/content-block/content-block.component.scss +0 -0
  437. /package/{themes → src/lib}/components/default/default-list/default-list.component.scss +0 -0
  438. /package/{themes → src/lib}/components/default/default-list/header-list/header-list.component.scss +0 -0
  439. /package/{themes → src/lib}/components/default/default-pagination/default-pagination.component.scss +0 -0
  440. /package/{themes → src/lib}/components/default/default-table/default-table.component.scss +0 -0
  441. /package/{themes → src/lib}/components/default/default-table/th-filter/th-filter.component.scss +0 -0
  442. /package/{themes → src/lib}/components/default/default-view/default-view.component.scss +0 -0
  443. /package/{themes → src/lib}/components/default/default-view/header-view/header-view.component.scss +0 -0
  444. /package/{themes → src/lib}/components/default-page/default.page.scss +0 -0
  445. /package/{themes → src/lib}/components/drag-drop-file/drag-drop-overlay/drag-drop-overlay.component.scss +0 -0
  446. /package/{themes → src/lib}/components/drawer/default-drawer-end/default-drawer-end.component.scss +0 -0
  447. /package/{themes → src/lib}/components/drawer/drawer-group/drawer-group.component.scss +0 -0
  448. /package/{themes → src/lib}/components/drawer/drawer.component.scss +0 -0
  449. /package/{themes → src/lib}/components/filter/filter.component.scss +0 -0
  450. /package/{themes → src/lib}/components/http-responses-pages/forbidden-403/forbidden-403.component.scss +0 -0
  451. /package/{themes → src/lib}/components/image/image.component.scss +0 -0
  452. /package/{themes → src/lib}/components/info-popover/info-popover.component.scss +0 -0
  453. /package/{themes → src/lib}/components/inputs/input-bool/input-bool.component.scss +0 -0
  454. /package/{themes → src/lib}/components/inputs/input-cep/input-cep.component.scss +0 -0
  455. /package/{themes → src/lib}/components/inputs/input-color/input-color.component.scss +0 -0
  456. /package/{themes/components/inputs/input-cpf-cnpj/input-cpf-cnpj.component.scss → src/lib/components/inputs/input-color/input-color.configuration.ts} +0 -0
  457. /package/{themes/components/inputs/input-icon/input-icon.component.scss → src/lib/components/inputs/input-cpf-cnpj/input-cpf-cnpj.component.scss} +0 -0
  458. /package/{themes → src/lib}/components/inputs/input-date/input-date.component.scss +0 -0
  459. /package/{themes → src/lib}/components/inputs/input-decimal/input-decimal.component.scss +0 -0
  460. /package/{themes → src/lib}/components/inputs/input-file/download-button/download-button.component.scss +0 -0
  461. /package/{themes → src/lib}/components/inputs/input-file/input-file.component.scss +0 -0
  462. /package/{themes/components/inputs/input-string/input-string.component.scss → src/lib/components/inputs/input-icon/input-icon.component.scss} +0 -0
  463. /package/{themes → src/lib}/components/inputs/input-select/input-select.component.scss +0 -0
  464. /package/{themes/components/inputs/input-telefone/input-telefone.component.scss → src/lib/components/inputs/input-string/input-string.component.scss} +0 -0
  465. /package/{themes/components/loading/loading.component.scss → src/lib/components/inputs/input-telefone/input-telefone.component.scss} +0 -0
  466. /package/{themes → src/lib}/components/inputs/input-textarea/input-textarea.component.scss +0 -0
  467. /package/{themes → src/lib}/components/inputs/inputs.scss +0 -0
  468. /package/{themes/components/sion-card/sion-card.component.scss → src/lib/components/loading/loading.component.scss} +0 -0
  469. /package/{themes → src/lib}/components/login/login-admin/login-admin.component.scss +0 -0
  470. /package/{themes → src/lib}/components/login/login.component.scss +0 -0
  471. /package/{themes → src/lib}/components/main-content/main-content.component.scss +0 -0
  472. /package/{themes → src/lib}/components/popover/sion-popover/sion-popover.component.scss +0 -0
  473. /package/{themes/components/stepper/stepper.component.scss → src/lib/components/sion-card/sion-card.component.scss} +0 -0
  474. /package/{themes → src/lib}/components/stepper/step/step.component.scss +0 -0
  475. /package/{themes/components/tabs/tab/tab.component.scss → src/lib/components/stepper/stepper.component.scss} +0 -0
  476. /package/{themes/components/text-tooltip/text-tooltip.component.scss → src/lib/components/tabs/tab/tab.component.scss} +0 -0
  477. /package/{themes → src/lib}/components/tabs/tabs/tabs.component.scss +0 -0
  478. /package/{themes → src/lib}/components/tooltip/tooltip.component.scss +0 -0
  479. /package/{themes → src/lib}/styles/components.scss +0 -0
  480. /package/{themes → src/lib}/styles/core.styles.scss +0 -0
  481. /package/{themes → src/lib}/styles/ionic/ion-action-sheet.scss +0 -0
  482. /package/{themes → src/lib}/styles/ionic/ion-alert.scss +0 -0
  483. /package/{themes → src/lib}/styles/ionic/ion-button.scss +0 -0
  484. /package/{themes → src/lib}/styles/ionic/ion-card.scss +0 -0
  485. /package/{themes → src/lib}/styles/ionic/ion-content.scss +0 -0
  486. /package/{themes → src/lib}/styles/ionic/ion-datetime.scss +0 -0
  487. /package/{themes → src/lib}/styles/ionic/ion-item.scss +0 -0
  488. /package/{themes → src/lib}/styles/ionic/ion-list.scss +0 -0
  489. /package/{themes → src/lib}/styles/ionic/ion-modal.scss +0 -0
  490. /package/{themes → src/lib}/styles/ionic/ion-popover.scss +0 -0
  491. /package/{themes → src/lib}/styles/ionic/ion-progress-bar.scss +0 -0
  492. /package/{themes → src/lib}/styles/ionic/ion-searchbar.scss +0 -0
  493. /package/{themes → src/lib}/styles/ionic/ion-toast.scss +0 -0
  494. /package/{themes → src/lib}/styles/ionic.scss +0 -0
  495. /package/{themes → src/lib}/styles/login-default.scss +0 -0
  496. /package/{themes → src/lib}/styles/mixins.scss +0 -0
  497. /package/{themes → src/lib}/styles/styles.scss +0 -0
  498. /package/{themes → src/lib}/styles/translucid.scss +0 -0
@@ -1,26 +0,0 @@
1
- import { Inject, Injectable } from "@angular/core";
2
- import { EnvironmentInjectionToken } from "../core.module";
3
- import { Environment } from "../classes/environment";
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../classes/environment";
6
- export class EnvironmentService {
7
- constructor(config) {
8
- this.config = config;
9
- this._environment = this.config;
10
- }
11
- get environment() {
12
- return this._environment;
13
- }
14
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EnvironmentService, deps: [{ token: EnvironmentInjectionToken }], target: i0.ɵɵFactoryTarget.Injectable }); }
15
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EnvironmentService, providedIn: 'root' }); }
16
- }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EnvironmentService, decorators: [{
18
- type: Injectable,
19
- args: [{
20
- providedIn: 'root'
21
- }]
22
- }], ctorParameters: () => [{ type: i1.Environment, decorators: [{
23
- type: Inject,
24
- args: [EnvironmentInjectionToken]
25
- }] }] });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvZW52aXJvbm1lbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7OztBQUtyRCxNQUFNLE9BQU8sa0JBQWtCO0lBQzNCLFlBQXVELE1BQW1CO1FBQW5CLFdBQU0sR0FBTixNQUFNLENBQWE7UUFDdEUsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3BDLENBQUM7SUFHRCxJQUFJLFdBQVc7UUFDWCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDN0IsQ0FBQzsrR0FSUSxrQkFBa0Isa0JBQ1AseUJBQXlCO21IQURwQyxrQkFBa0IsY0FGZixNQUFNOzs0RkFFVCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFFZ0IsTUFBTTsyQkFBQyx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBFbnZpcm9ubWVudEluamVjdGlvblRva2VuIH0gZnJvbSBcIi4uL2NvcmUubW9kdWxlXCI7XHJcbmltcG9ydCB7IEVudmlyb25tZW50IH0gZnJvbSBcIi4uL2NsYXNzZXMvZW52aXJvbm1lbnRcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRW52aXJvbm1lbnRTZXJ2aWNlIHtcclxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoRW52aXJvbm1lbnRJbmplY3Rpb25Ub2tlbikgcHJpdmF0ZSBjb25maWc6IEVudmlyb25tZW50KSB7XHJcbiAgICAgICAgdGhpcy5fZW52aXJvbm1lbnQgPSB0aGlzLmNvbmZpZztcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9lbnZpcm9ubWVudDogRW52aXJvbm1lbnRcclxuICAgIGdldCBlbnZpcm9ubWVudCgpOiBFbnZpcm9ubWVudHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZW52aXJvbm1lbnQ7XHJcbiAgICB9XHJcbn0iXX0=
@@ -1,84 +0,0 @@
1
- import { Injectable } from "@angular/core";
2
- import { Title } from '@angular/platform-browser';
3
- import { AlertController, ToastController } from "@ionic/angular";
4
- import { EnvironmentService } from './environment.service';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@ionic/angular";
7
- import * as i2 from "@angular/platform-browser";
8
- import * as i3 from "./environment.service";
9
- export class GenericService {
10
- constructor(toastController, alertController, titleController, coreService) {
11
- this.toastController = toastController;
12
- this.alertController = alertController;
13
- this.titleController = titleController;
14
- this.coreService = coreService;
15
- }
16
- async PresentToast(message, icon = 'alert-circle') {
17
- const toast = await this.toastController.create({
18
- message: message,
19
- duration: 1750,
20
- icon: icon,
21
- position: 'bottom',
22
- translucent: false,
23
- });
24
- await toast.present();
25
- }
26
- async PresentToastSuccess(message = "Salvo com sucesso!") {
27
- const toast = await this.toastController.create({
28
- message: message,
29
- duration: 1750,
30
- icon: 'checkmark-circle',
31
- position: 'bottom',
32
- translucent: false,
33
- });
34
- await toast.present();
35
- return toast.onDidDismiss();
36
- }
37
- static { this.CancelButton = {
38
- text: 'Cancelar',
39
- role: 'cancel',
40
- }; }
41
- static { this.ConfirmButton = {
42
- text: 'OK',
43
- role: 'confirm',
44
- }; }
45
- static { this.defaultAlertButtons = [GenericService.ConfirmButton]; }
46
- async PresentAlert(header, message, buttons = GenericService.defaultAlertButtons) {
47
- const alert = await this.alertController.create({
48
- header: header,
49
- message: message,
50
- buttons: buttons,
51
- });
52
- await alert.present();
53
- return alert.onDidDismiss();
54
- }
55
- SetTitle(title) {
56
- this.titleController.setTitle(this.coreService.environment.applicationName + " | " + title);
57
- }
58
- GetId(activatedRoute, depth = 2) {
59
- try {
60
- var Route = activatedRoute;
61
- for (let i = 0; i < depth; i++) {
62
- Route = Route.parent;
63
- }
64
- if (Route.snapshot.paramMap.has('id')) {
65
- return Number(Route.snapshot.paramMap.get('id'));
66
- }
67
- else {
68
- return 0;
69
- }
70
- }
71
- catch {
72
- return null;
73
- }
74
- }
75
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GenericService, deps: [{ token: i1.ToastController }, { token: i1.AlertController }, { token: i2.Title }, { token: i3.EnvironmentService }], target: i0.ɵɵFactoryTarget.Injectable }); }
76
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GenericService, providedIn: 'root' }); }
77
- }
78
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GenericService, decorators: [{
79
- type: Injectable,
80
- args: [{
81
- providedIn: 'root'
82
- }]
83
- }], ctorParameters: () => [{ type: i1.ToastController }, { type: i1.AlertController }, { type: i2.Title }, { type: i3.EnvironmentService }] });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9nZW5lcmljLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEQsT0FBTyxFQUFlLGVBQWUsRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUvRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7QUFNM0QsTUFBTSxPQUFPLGNBQWM7SUFDekIsWUFDVSxlQUFnQyxFQUNoQyxlQUFnQyxFQUNoQyxlQUFzQixFQUN0QixXQUErQjtRQUgvQixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLG9CQUFlLEdBQWYsZUFBZSxDQUFPO1FBQ3RCLGdCQUFXLEdBQVgsV0FBVyxDQUFvQjtJQUN2QyxDQUFDO0lBRUksS0FBSyxDQUFDLFlBQVksQ0FBQyxPQUFlLEVBQUUsSUFBSSxHQUFHLGNBQWM7UUFDOUQsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQztZQUM5QyxPQUFPLEVBQUUsT0FBTztZQUNoQixRQUFRLEVBQUUsSUFBSTtZQUNkLElBQUksRUFBRSxJQUFJO1lBQ1YsUUFBUSxFQUFFLFFBQVE7WUFDbEIsV0FBVyxFQUFFLEtBQUs7U0FDbkIsQ0FBQyxDQUFDO1FBRUgsTUFBTSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVNLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxVQUFrQixvQkFBb0I7UUFDckUsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQztZQUM5QyxPQUFPLEVBQUUsT0FBTztZQUNoQixRQUFRLEVBQUUsSUFBSTtZQUNkLElBQUksRUFBRSxrQkFBa0I7WUFDeEIsUUFBUSxFQUFFLFFBQVE7WUFDbEIsV0FBVyxFQUFFLEtBQUs7U0FDbkIsQ0FBQyxDQUFDO1FBRUgsTUFBTSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDdEIsT0FBTyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDOUIsQ0FBQzthQUVhLGlCQUFZLEdBQWdCO1FBQ3hDLElBQUksRUFBRSxVQUFVO1FBQ2hCLElBQUksRUFBRSxRQUFRO0tBQ2YsQUFIeUIsQ0FHekI7YUFDYSxrQkFBYSxHQUFpQjtRQUMxQyxJQUFJLEVBQUUsSUFBSTtRQUNWLElBQUksRUFBRSxTQUFTO0tBQ2hCLEFBSDBCLENBRzFCO2FBQ00sd0JBQW1CLEdBQWtCLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxBQUFoRCxDQUFpRDtJQUVwRSxLQUFLLENBQUMsWUFBWSxDQUFDLE1BQWMsRUFBRSxPQUFlLEVBQUUsVUFBeUIsY0FBYyxDQUFDLG1CQUFtQjtRQUNwSCxNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDO1lBQzlDLE1BQU0sRUFBRyxNQUFNO1lBQ2YsT0FBTyxFQUFFLE9BQU87WUFDaEIsT0FBTyxFQUFFLE9BQU87U0FDakIsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDdEIsT0FBTyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVNLFFBQVEsQ0FBQyxLQUFhO1FBQzNCLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLGVBQWUsR0FBRyxLQUFLLEdBQUcsS0FBSyxDQUFDLENBQUE7SUFDN0YsQ0FBQztJQUVNLEtBQUssQ0FBQyxjQUE4QixFQUFFLFFBQWdCLENBQUM7UUFDNUQsSUFBRyxDQUFDO1lBQ0YsSUFBSSxLQUFLLEdBQUcsY0FBYyxDQUFDO1lBQzNCLEtBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUMsQ0FBQztnQkFDN0IsS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7WUFDdkIsQ0FBQztZQUNELElBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFDLENBQUM7Z0JBQ3BDLE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ25ELENBQUM7aUJBQ0csQ0FBQztnQkFDSCxPQUFPLENBQUMsQ0FBQztZQUNYLENBQUM7UUFDSCxDQUFDO1FBQUEsTUFBSyxDQUFDO1lBQ0wsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO0lBQ0gsQ0FBQzsrR0F4RVUsY0FBYzttSEFBZCxjQUFjLGNBSGIsTUFBTTs7NEZBR1AsY0FBYztrQkFKMUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7IFRpdGxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7IEFsZXJ0QnV0dG9uLCBBbGVydENvbnRyb2xsZXIsIFRvYXN0Q29udHJvbGxlciB9IGZyb20gXCJAaW9uaWMvYW5ndWxhclwiO1xyXG5cclxuaW1wb3J0IHsgRW52aXJvbm1lbnRTZXJ2aWNlIH0gZnJvbSAnLi9lbnZpcm9ubWVudC5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBHZW5lcmljU2VydmljZXtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgdG9hc3RDb250cm9sbGVyOiBUb2FzdENvbnRyb2xsZXIsXHJcbiAgICBwcml2YXRlIGFsZXJ0Q29udHJvbGxlcjogQWxlcnRDb250cm9sbGVyLFxyXG4gICAgcHJpdmF0ZSB0aXRsZUNvbnRyb2xsZXI6IFRpdGxlLFxyXG4gICAgcHJpdmF0ZSBjb3JlU2VydmljZTogRW52aXJvbm1lbnRTZXJ2aWNlLFxyXG4gICl7fVxyXG5cclxuICBwdWJsaWMgYXN5bmMgUHJlc2VudFRvYXN0KG1lc3NhZ2U6IHN0cmluZywgaWNvbiA9ICdhbGVydC1jaXJjbGUnKSB7XHJcbiAgICBjb25zdCB0b2FzdCA9IGF3YWl0IHRoaXMudG9hc3RDb250cm9sbGVyLmNyZWF0ZSh7XHJcbiAgICAgIG1lc3NhZ2U6IG1lc3NhZ2UsXHJcbiAgICAgIGR1cmF0aW9uOiAxNzUwLFxyXG4gICAgICBpY29uOiBpY29uLFxyXG4gICAgICBwb3NpdGlvbjogJ2JvdHRvbScsXHJcbiAgICAgIHRyYW5zbHVjZW50OiBmYWxzZSwgXHJcbiAgICB9KTtcclxuXHJcbiAgICBhd2FpdCB0b2FzdC5wcmVzZW50KCk7XHJcbiAgfVxyXG4gIFxyXG4gIHB1YmxpYyBhc3luYyBQcmVzZW50VG9hc3RTdWNjZXNzKG1lc3NhZ2U6IHN0cmluZyA9IFwiU2Fsdm8gY29tIHN1Y2Vzc28hXCIpIHtcclxuICAgIGNvbnN0IHRvYXN0ID0gYXdhaXQgdGhpcy50b2FzdENvbnRyb2xsZXIuY3JlYXRlKHtcclxuICAgICAgbWVzc2FnZTogbWVzc2FnZSxcclxuICAgICAgZHVyYXRpb246IDE3NTAsXHJcbiAgICAgIGljb246ICdjaGVja21hcmstY2lyY2xlJyxcclxuICAgICAgcG9zaXRpb246ICdib3R0b20nLFxyXG4gICAgICB0cmFuc2x1Y2VudDogZmFsc2UsXHJcbiAgICB9KTtcclxuXHJcbiAgICBhd2FpdCB0b2FzdC5wcmVzZW50KCk7XHJcbiAgICByZXR1cm4gdG9hc3Qub25EaWREaXNtaXNzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIENhbmNlbEJ1dHRvbjogQWxlcnRCdXR0b24gPSB7XHJcbiAgICB0ZXh0OiAnQ2FuY2VsYXInLFxyXG4gICAgcm9sZTogJ2NhbmNlbCcsXHJcbiAgfVxyXG4gIHB1YmxpYyBzdGF0aWMgQ29uZmlybUJ1dHRvbiA6IEFsZXJ0QnV0dG9uID0ge1xyXG4gICAgdGV4dDogJ09LJyxcclxuICAgIHJvbGU6ICdjb25maXJtJyxcclxuICB9XHJcbiAgc3RhdGljIGRlZmF1bHRBbGVydEJ1dHRvbnM6IEFsZXJ0QnV0dG9uW10gPSBbR2VuZXJpY1NlcnZpY2UuQ29uZmlybUJ1dHRvbl07XHJcblxyXG4gIHB1YmxpYyBhc3luYyBQcmVzZW50QWxlcnQoaGVhZGVyOiBzdHJpbmcsIG1lc3NhZ2U6IHN0cmluZywgYnV0dG9uczogQWxlcnRCdXR0b25bXSA9IEdlbmVyaWNTZXJ2aWNlLmRlZmF1bHRBbGVydEJ1dHRvbnMpIHtcclxuICAgIGNvbnN0IGFsZXJ0ID0gYXdhaXQgdGhpcy5hbGVydENvbnRyb2xsZXIuY3JlYXRlKHtcclxuICAgICAgaGVhZGVyOiAgaGVhZGVyLFxyXG4gICAgICBtZXNzYWdlOiBtZXNzYWdlLFxyXG4gICAgICBidXR0b25zOiBidXR0b25zLFxyXG4gICAgfSk7XHJcbiAgICBhd2FpdCBhbGVydC5wcmVzZW50KCk7XHJcbiAgICByZXR1cm4gYWxlcnQub25EaWREaXNtaXNzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgU2V0VGl0bGUodGl0bGU6IHN0cmluZyl7XHJcbiAgICB0aGlzLnRpdGxlQ29udHJvbGxlci5zZXRUaXRsZSh0aGlzLmNvcmVTZXJ2aWNlLmVudmlyb25tZW50LmFwcGxpY2F0aW9uTmFtZSArIFwiIHwgXCIgKyB0aXRsZSlcclxuICB9XHJcblxyXG4gIHB1YmxpYyBHZXRJZChhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsIGRlcHRoOiBudW1iZXIgPSAyKTogbnVtYmVyIHwgbnVsbHtcclxuICAgIHRyeXtcclxuICAgICAgdmFyIFJvdXRlID0gYWN0aXZhdGVkUm91dGU7XHJcbiAgICAgIGZvcihsZXQgaSA9IDA7IGkgPCBkZXB0aDsgaSsrKXtcclxuICAgICAgICBSb3V0ZSA9IFJvdXRlLnBhcmVudDtcclxuICAgICAgfVxyXG4gICAgICBpZihSb3V0ZS5zbmFwc2hvdC5wYXJhbU1hcC5oYXMoJ2lkJykpe1xyXG4gICAgICAgIHJldHVybiBOdW1iZXIoUm91dGUuc25hcHNob3QucGFyYW1NYXAuZ2V0KCdpZCcpKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNle1xyXG4gICAgICAgIHJldHVybiAwO1xyXG4gICAgICB9XHJcbiAgICB9Y2F0Y2h7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxufSJdfQ==
@@ -1,62 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- /**
4
- * Corrige o focus trap em modais do Ionic, permite que o foco não fique preso dentro do modal.
5
- * Utilizado para concertar interatividade com popovers e outros elementos que podem ser interativos fora do modal.
6
- */
7
- export class ModalFocusTrapService {
8
- constructor() {
9
- this.initGlobalFocusTrapDisable();
10
- }
11
- initGlobalFocusTrapDisable() {
12
- // Wait for the platform to be ready
13
- document.addEventListener('DOMContentLoaded', () => {
14
- this.setupModalObserver();
15
- });
16
- }
17
- setupModalObserver() {
18
- // Create a mutation observer to watch for new modals
19
- const observer = new MutationObserver((mutations) => {
20
- mutations.forEach((mutation) => {
21
- mutation.addedNodes.forEach((node) => {
22
- if (node.nodeType === Node.ELEMENT_NODE) {
23
- const element = node;
24
- // Check if the added node is an ion-modal
25
- if (element.tagName?.toLowerCase() === 'ion-modal') {
26
- this.disableFocusTrap(element);
27
- }
28
- // Check for ion-modal children
29
- const modals = element.querySelectorAll?.('ion-modal');
30
- modals?.forEach(modal => this.disableFocusTrap(modal));
31
- }
32
- });
33
- });
34
- });
35
- // Start observing
36
- observer.observe(document.body, {
37
- childList: true,
38
- subtree: true
39
- });
40
- // Also handle existing modals
41
- const existingModals = document.querySelectorAll('ion-modal');
42
- existingModals.forEach(modal => this.disableFocusTrap(modal));
43
- }
44
- disableFocusTrap(modal) {
45
- // Add the CSS class
46
- modal.classList.add('ion-disable-focus-trap');
47
- // Set the property if it exists
48
- const modalElement = modal;
49
- if (modalElement.disableFocusTrap !== undefined) {
50
- modalElement.disableFocusTrap = true;
51
- }
52
- }
53
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ModalFocusTrapService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
54
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ModalFocusTrapService, providedIn: 'root' }); }
55
- }
56
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ModalFocusTrapService, decorators: [{
57
- type: Injectable,
58
- args: [{
59
- providedIn: 'root'
60
- }]
61
- }], ctorParameters: () => [] });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtZm9jdXMtdHJhcC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9tb2RhbC1mb2N1cy10cmFwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFM0M7OztHQUdHO0FBSUgsTUFBTSxPQUFPLHFCQUFxQjtJQUVoQztRQUNFLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFTywwQkFBMEI7UUFDaEMsb0NBQW9DO1FBQ3BDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxrQkFBa0IsRUFBRSxHQUFHLEVBQUU7WUFDakQsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sa0JBQWtCO1FBQ3hCLHFEQUFxRDtRQUNyRCxNQUFNLFFBQVEsR0FBRyxJQUFJLGdCQUFnQixDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDbEQsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO2dCQUM3QixRQUFRLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO29CQUNuQyxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO3dCQUN4QyxNQUFNLE9BQU8sR0FBRyxJQUFlLENBQUM7d0JBRWhDLDBDQUEwQzt3QkFDMUMsSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxLQUFLLFdBQVcsRUFBRSxDQUFDOzRCQUNuRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7d0JBQ2pDLENBQUM7d0JBRUQsK0JBQStCO3dCQUMvQixNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQzt3QkFDdkQsTUFBTSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO29CQUN6RCxDQUFDO2dCQUNILENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILGtCQUFrQjtRQUNsQixRQUFRLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUU7WUFDOUIsU0FBUyxFQUFFLElBQUk7WUFDZixPQUFPLEVBQUUsSUFBSTtTQUNkLENBQUMsQ0FBQztRQUVILDhCQUE4QjtRQUM5QixNQUFNLGNBQWMsR0FBRyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDOUQsY0FBYyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxLQUFjO1FBQ3JDLG9CQUFvQjtRQUNwQixLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBRTlDLGdDQUFnQztRQUNoQyxNQUFNLFlBQVksR0FBRyxLQUFZLENBQUM7UUFDbEMsSUFBSSxZQUFZLENBQUMsZ0JBQWdCLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDaEQsWUFBWSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztRQUN2QyxDQUFDO0lBQ0gsQ0FBQzsrR0F0RFUscUJBQXFCO21IQUFyQixxQkFBcUIsY0FGcEIsTUFBTTs7NEZBRVAscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8qKlxyXG4gKiBDb3JyaWdlIG8gZm9jdXMgdHJhcCBlbSBtb2RhaXMgZG8gSW9uaWMsIHBlcm1pdGUgcXVlIG8gZm9jbyBuw6NvIGZpcXVlIHByZXNvIGRlbnRybyBkbyBtb2RhbC5cclxuICogVXRpbGl6YWRvIHBhcmEgY29uY2VydGFyIGludGVyYXRpdmlkYWRlIGNvbSBwb3BvdmVycyBlIG91dHJvcyBlbGVtZW50b3MgcXVlIHBvZGVtIHNlciBpbnRlcmF0aXZvcyBmb3JhIGRvIG1vZGFsLlxyXG4gKi9cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTW9kYWxGb2N1c1RyYXBTZXJ2aWNlIHtcclxuICBcclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHRoaXMuaW5pdEdsb2JhbEZvY3VzVHJhcERpc2FibGUoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW5pdEdsb2JhbEZvY3VzVHJhcERpc2FibGUoKSB7XHJcbiAgICAvLyBXYWl0IGZvciB0aGUgcGxhdGZvcm0gdG8gYmUgcmVhZHlcclxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLCAoKSA9PiB7XHJcbiAgICAgIHRoaXMuc2V0dXBNb2RhbE9ic2VydmVyKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0dXBNb2RhbE9ic2VydmVyKCkge1xyXG4gICAgLy8gQ3JlYXRlIGEgbXV0YXRpb24gb2JzZXJ2ZXIgdG8gd2F0Y2ggZm9yIG5ldyBtb2RhbHNcclxuICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKG11dGF0aW9ucykgPT4ge1xyXG4gICAgICBtdXRhdGlvbnMuZm9yRWFjaCgobXV0YXRpb24pID0+IHtcclxuICAgICAgICBtdXRhdGlvbi5hZGRlZE5vZGVzLmZvckVhY2goKG5vZGUpID0+IHtcclxuICAgICAgICAgIGlmIChub2RlLm5vZGVUeXBlID09PSBOb2RlLkVMRU1FTlRfTk9ERSkge1xyXG4gICAgICAgICAgICBjb25zdCBlbGVtZW50ID0gbm9kZSBhcyBFbGVtZW50O1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIGFkZGVkIG5vZGUgaXMgYW4gaW9uLW1vZGFsXHJcbiAgICAgICAgICAgIGlmIChlbGVtZW50LnRhZ05hbWU/LnRvTG93ZXJDYXNlKCkgPT09ICdpb24tbW9kYWwnKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5kaXNhYmxlRm9jdXNUcmFwKGVsZW1lbnQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAvLyBDaGVjayBmb3IgaW9uLW1vZGFsIGNoaWxkcmVuXHJcbiAgICAgICAgICAgIGNvbnN0IG1vZGFscyA9IGVsZW1lbnQucXVlcnlTZWxlY3RvckFsbD8uKCdpb24tbW9kYWwnKTtcclxuICAgICAgICAgICAgbW9kYWxzPy5mb3JFYWNoKG1vZGFsID0+IHRoaXMuZGlzYWJsZUZvY3VzVHJhcChtb2RhbCkpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG5cclxuICAgIC8vIFN0YXJ0IG9ic2VydmluZ1xyXG4gICAgb2JzZXJ2ZXIub2JzZXJ2ZShkb2N1bWVudC5ib2R5LCB7XHJcbiAgICAgIGNoaWxkTGlzdDogdHJ1ZSxcclxuICAgICAgc3VidHJlZTogdHJ1ZVxyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gQWxzbyBoYW5kbGUgZXhpc3RpbmcgbW9kYWxzXHJcbiAgICBjb25zdCBleGlzdGluZ01vZGFscyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2lvbi1tb2RhbCcpO1xyXG4gICAgZXhpc3RpbmdNb2RhbHMuZm9yRWFjaChtb2RhbCA9PiB0aGlzLmRpc2FibGVGb2N1c1RyYXAobW9kYWwpKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZGlzYWJsZUZvY3VzVHJhcChtb2RhbDogRWxlbWVudCkge1xyXG4gICAgLy8gQWRkIHRoZSBDU1MgY2xhc3NcclxuICAgIG1vZGFsLmNsYXNzTGlzdC5hZGQoJ2lvbi1kaXNhYmxlLWZvY3VzLXRyYXAnKTtcclxuICAgIFxyXG4gICAgLy8gU2V0IHRoZSBwcm9wZXJ0eSBpZiBpdCBleGlzdHNcclxuICAgIGNvbnN0IG1vZGFsRWxlbWVudCA9IG1vZGFsIGFzIGFueTtcclxuICAgIGlmIChtb2RhbEVsZW1lbnQuZGlzYWJsZUZvY3VzVHJhcCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIG1vZGFsRWxlbWVudC5kaXNhYmxlRm9jdXNUcmFwID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcbn0iXX0=
@@ -1,111 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { NavigationEnd, Router } from '@angular/router';
3
- import { filter } from 'rxjs';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/router";
6
- export class NavigationContextService {
7
- constructor(router) {
8
- this.router = router;
9
- this.previousUrl = null;
10
- this.currentUrl = null;
11
- this.currentUrl = this.router.url;
12
- this.router.events.pipe(filter(e => e instanceof NavigationEnd)).subscribe((e) => {
13
- const nextUrl = e.urlAfterRedirects;
14
- const preserve = history.state?.__preserveBack == true;
15
- const currentBase = this.currentUrl ? this.getBaseRoute(this.currentUrl) : null;
16
- const nextBase = this.getBaseRoute(nextUrl);
17
- const nav = this.router.getCurrentNavigation();
18
- const isBack = nav?.trigger == 'popstate';
19
- // Redirect técnico - ignora
20
- if (preserve) {
21
- this.currentUrl = nextUrl;
22
- return;
23
- }
24
- // Navegação interna da mesma view (Ex: Item <-> View Principal)
25
- if (currentBase && currentBase == nextBase) {
26
- // ajustes no histórico baseando-se estritamente na hierarquia.
27
- const cleanNext = nextUrl.split('?')[0].replace(/\/$/, '');
28
- const cleanBase = nextBase.replace(/\/$/, '');
29
- if (cleanNext == cleanBase) {
30
- // voltou para a raiz da entidade
31
- this.previousUrl = this.getListRoute(nextBase);
32
- }
33
- else {
34
- // voltou de um filho → pai REAL
35
- this.previousUrl = this.getParentRoute(nextUrl);
36
- }
37
- this.currentUrl = nextUrl;
38
- return;
39
- }
40
- // Chegou numa view base VIA BACK (de outro módulo)
41
- if (isBack) {
42
- // Se voltou de fora (OS -> Obra), recalcula para garantir
43
- const cleanNext = nextUrl.split('?')[0].replace(/\/$/, '');
44
- const cleanBase = nextBase.replace(/\/$/, '');
45
- if (cleanNext === cleanBase) {
46
- this.previousUrl = this.getListRoute(nextBase);
47
- }
48
- else {
49
- this.previousUrl = nextBase;
50
- }
51
- this.currentUrl = nextUrl;
52
- return;
53
- }
54
- // Navegação real (Entrando em um módulo novo ou avançando)
55
- this.previousUrl = this.currentUrl;
56
- this.currentUrl = nextUrl;
57
- });
58
- }
59
- getBaseRoute(url) {
60
- const parts = url.split('/').filter(Boolean);
61
- const base = [];
62
- for (const part of parts) {
63
- if (!isNaN(Number(part))) {
64
- break;
65
- }
66
- base.push(part);
67
- }
68
- return '/' + base.join('/');
69
- }
70
- getListRoute(baseRoute) {
71
- //verifica se a rota de retorno é a inicial
72
- const parts = baseRoute.split('/').filter(Boolean);
73
- return '/' + parts[0];
74
- }
75
- getParentRoute(url) {
76
- const clean = url.split('?')[0].replace(/\/$/, '');
77
- let parts = clean.split('/').filter(Boolean);
78
- // ---- REGRA FROM ----
79
- const idx = parts.indexOf('from');
80
- if (idx != -1) {
81
- // remove o "from" e o parâmetro após ele
82
- parts = parts.slice(0, idx);
83
- // se o último item for view → remove também
84
- if (parts[parts.length - 1] === 'view') {
85
- parts.pop();
86
- }
87
- return '/' + parts.join('/');
88
- }
89
- // ---- REGRA VIEW ----
90
- if (parts.length <= 1) {
91
- return '/' + parts.join('/');
92
- }
93
- if (!isNaN(Number(parts[parts.length - 1]))) {
94
- parts.pop();
95
- }
96
- if (parts[parts.length - 1] === 'view') {
97
- parts.pop();
98
- }
99
- return '/' + parts.join('/');
100
- }
101
- getBackRoute() {
102
- return this.previousUrl;
103
- }
104
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NavigationContextService, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
105
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NavigationContextService, providedIn: 'root' }); }
106
- }
107
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NavigationContextService, decorators: [{
108
- type: Injectable,
109
- args: [{ providedIn: 'root' }]
110
- }], ctorParameters: () => [{ type: i1.Router }] });
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1jb250ZXh0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL25hdmlnYXRpb24tY29udGV4dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFHOUIsTUFBTSxPQUFPLHdCQUF3QjtJQUluQyxZQUFvQixNQUFjO1FBQWQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUgxQixnQkFBVyxHQUFrQixJQUFJLENBQUM7UUFDbEMsZUFBVSxHQUFrQixJQUFJLENBQUM7UUFHdkMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQztRQUVsQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxZQUFZLGFBQWEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBZ0IsRUFBRSxFQUFFO1lBQzlGLE1BQU0sT0FBTyxHQUFHLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQztZQUNwQyxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsS0FBSyxFQUFFLGNBQWMsSUFBSSxJQUFJLENBQUM7WUFFdkQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUNoRixNQUFNLFFBQVEsR0FBTSxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBRS9DLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUMvQyxNQUFNLE1BQU0sR0FBRyxHQUFHLEVBQUUsT0FBTyxJQUFJLFVBQVUsQ0FBQztZQUUxQyw0QkFBNEI7WUFDNUIsSUFBSSxRQUFRLEVBQUUsQ0FBQztnQkFDYixJQUFJLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQztnQkFDMUIsT0FBTztZQUNULENBQUM7WUFFRCxnRUFBZ0U7WUFDaEUsSUFBSSxXQUFXLElBQUksV0FBVyxJQUFJLFFBQVEsRUFBRSxDQUFDO2dCQUMzQywrREFBK0Q7Z0JBRS9ELE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDM0QsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBRTlDLElBQUksU0FBUyxJQUFJLFNBQVMsRUFBRSxDQUFDO29CQUMzQixpQ0FBaUM7b0JBQ2pDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDakQsQ0FBQztxQkFBTSxDQUFDO29CQUNOLGdDQUFnQztvQkFDaEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNsRCxDQUFDO2dCQUdELElBQUksQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDO2dCQUMxQixPQUFPO1lBQ1QsQ0FBQztZQUVELG1EQUFtRDtZQUNuRCxJQUFJLE1BQU0sRUFBRSxDQUFDO2dCQUNYLDBEQUEwRDtnQkFDMUQsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUMzRCxNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFFOUMsSUFBSSxTQUFTLEtBQUssU0FBUyxFQUFFLENBQUM7b0JBQzNCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDbEQsQ0FBQztxQkFBTSxDQUFDO29CQUNMLElBQUksQ0FBQyxXQUFXLEdBQUcsUUFBUSxDQUFDO2dCQUMvQixDQUFDO2dCQUVELElBQUksQ0FBQyxVQUFVLEdBQUksT0FBTyxDQUFDO2dCQUMzQixPQUFPO1lBQ1QsQ0FBQztZQUVELDJEQUEyRDtZQUMzRCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDbkMsSUFBSSxDQUFDLFVBQVUsR0FBSSxPQUFPLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sWUFBWSxDQUFDLEdBQVc7UUFDOUIsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0MsTUFBTSxJQUFJLEdBQWEsRUFBRSxDQUFDO1FBRTFCLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUN6QixNQUFNO1lBQ1IsQ0FBQztZQUNELElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEIsQ0FBQztRQUNELE9BQU8sR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVPLFlBQVksQ0FBQyxTQUFpQjtRQUNwQywyQ0FBMkM7UUFDM0MsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkQsT0FBTyxHQUFHLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFTyxjQUFjLENBQUMsR0FBVztRQUNoQyxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDbkQsSUFBSSxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0MsdUJBQXVCO1FBQ3ZCLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEMsSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNkLHlDQUF5QztZQUN6QyxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDNUIsNENBQTRDO1lBQzVDLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEtBQUssTUFBTSxFQUFFLENBQUM7Z0JBQ3ZDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNkLENBQUM7WUFFRCxPQUFPLEdBQUcsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQy9CLENBQUM7UUFFRCx1QkFBdUI7UUFDdkIsSUFBSSxLQUFLLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3RCLE9BQU8sR0FBRyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0IsQ0FBQztRQUNELElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzVDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNkLENBQUM7UUFDRCxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQ3ZDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNkLENBQUM7UUFDRCxPQUFPLEdBQUcsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFDRCxZQUFZO1FBQ1YsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7K0dBbEhVLHdCQUF3QjttSEFBeEIsd0JBQXdCLGNBRFgsTUFBTTs7NEZBQ25CLHdCQUF3QjtrQkFEcEMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMnO1xyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIE5hdmlnYXRpb25Db250ZXh0U2VydmljZSB7XHJcbiAgcHJpdmF0ZSBwcmV2aW91c1VybDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgcHJpdmF0ZSBjdXJyZW50VXJsOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZXI6IFJvdXRlcikge1xyXG4gICAgdGhpcy5jdXJyZW50VXJsID0gdGhpcy5yb3V0ZXIudXJsO1xyXG5cclxuICAgIHRoaXMucm91dGVyLmV2ZW50cy5waXBlKGZpbHRlcihlID0+IGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSkuc3Vic2NyaWJlKChlOiBOYXZpZ2F0aW9uRW5kKSA9PiB7XHJcbiAgICAgIGNvbnN0IG5leHRVcmwgPSBlLnVybEFmdGVyUmVkaXJlY3RzO1xyXG4gICAgICBjb25zdCBwcmVzZXJ2ZSA9IGhpc3Rvcnkuc3RhdGU/Ll9fcHJlc2VydmVCYWNrID09IHRydWU7XHJcbiAgICBcclxuICAgICAgY29uc3QgY3VycmVudEJhc2UgPSB0aGlzLmN1cnJlbnRVcmwgPyB0aGlzLmdldEJhc2VSb3V0ZSh0aGlzLmN1cnJlbnRVcmwpIDogbnVsbDtcclxuICAgICAgY29uc3QgbmV4dEJhc2UgICAgPSB0aGlzLmdldEJhc2VSb3V0ZShuZXh0VXJsKTtcclxuICAgIFxyXG4gICAgICBjb25zdCBuYXYgPSB0aGlzLnJvdXRlci5nZXRDdXJyZW50TmF2aWdhdGlvbigpO1xyXG4gICAgICBjb25zdCBpc0JhY2sgPSBuYXY/LnRyaWdnZXIgPT0gJ3BvcHN0YXRlJztcclxuICAgIFxyXG4gICAgICAvLyBSZWRpcmVjdCB0w6ljbmljbyAtIGlnbm9yYVxyXG4gICAgICBpZiAocHJlc2VydmUpIHtcclxuICAgICAgICB0aGlzLmN1cnJlbnRVcmwgPSBuZXh0VXJsO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgXHJcbiAgICAgIC8vIE5hdmVnYcOnw6NvIGludGVybmEgZGEgbWVzbWEgdmlldyAoRXg6IEl0ZW0gPC0+IFZpZXcgUHJpbmNpcGFsKVxyXG4gICAgICBpZiAoY3VycmVudEJhc2UgJiYgY3VycmVudEJhc2UgPT0gbmV4dEJhc2UpIHtcclxuICAgICAgICAvLyBhanVzdGVzIG5vIGhpc3TDs3JpY28gYmFzZWFuZG8tc2UgZXN0cml0YW1lbnRlIG5hIGhpZXJhcnF1aWEuXHJcbiAgICAgICAgXHJcbiAgICAgICAgY29uc3QgY2xlYW5OZXh0ID0gbmV4dFVybC5zcGxpdCgnPycpWzBdLnJlcGxhY2UoL1xcLyQvLCAnJyk7XHJcbiAgICAgICAgY29uc3QgY2xlYW5CYXNlID0gbmV4dEJhc2UucmVwbGFjZSgvXFwvJC8sICcnKTtcclxuXHJcbiAgICAgICAgaWYgKGNsZWFuTmV4dCA9PSBjbGVhbkJhc2UpIHtcclxuICAgICAgICAgIC8vIHZvbHRvdSBwYXJhIGEgcmFpeiBkYSBlbnRpZGFkZVxyXG4gICAgICAgICAgdGhpcy5wcmV2aW91c1VybCA9IHRoaXMuZ2V0TGlzdFJvdXRlKG5leHRCYXNlKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgLy8gdm9sdG91IGRlIHVtIGZpbGhvIOKGkiBwYWkgUkVBTFxyXG4gICAgICAgICAgdGhpcy5wcmV2aW91c1VybCA9IHRoaXMuZ2V0UGFyZW50Um91dGUobmV4dFVybCk7XHJcbiAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgdGhpcy5jdXJyZW50VXJsID0gbmV4dFVybDtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIFxyXG4gICAgICAvLyBDaGVnb3UgbnVtYSB2aWV3IGJhc2UgVklBIEJBQ0sgKGRlIG91dHJvIG3Ds2R1bG8pXHJcbiAgICAgIGlmIChpc0JhY2spIHtcclxuICAgICAgICAvLyBTZSB2b2x0b3UgZGUgZm9yYSAoT1MgLT4gT2JyYSksIHJlY2FsY3VsYSBwYXJhIGdhcmFudGlyXHJcbiAgICAgICAgY29uc3QgY2xlYW5OZXh0ID0gbmV4dFVybC5zcGxpdCgnPycpWzBdLnJlcGxhY2UoL1xcLyQvLCAnJyk7XHJcbiAgICAgICAgY29uc3QgY2xlYW5CYXNlID0gbmV4dEJhc2UucmVwbGFjZSgvXFwvJC8sICcnKTtcclxuXHJcbiAgICAgICAgaWYgKGNsZWFuTmV4dCA9PT0gY2xlYW5CYXNlKSB7XHJcbiAgICAgICAgICAgdGhpcy5wcmV2aW91c1VybCA9IHRoaXMuZ2V0TGlzdFJvdXRlKG5leHRCYXNlKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgIHRoaXMucHJldmlvdXNVcmwgPSBuZXh0QmFzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuY3VycmVudFVybCAgPSBuZXh0VXJsO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgXHJcbiAgICAgIC8vIE5hdmVnYcOnw6NvIHJlYWwgKEVudHJhbmRvIGVtIHVtIG3Ds2R1bG8gbm92byBvdSBhdmFuw6dhbmRvKVxyXG4gICAgICB0aGlzLnByZXZpb3VzVXJsID0gdGhpcy5jdXJyZW50VXJsO1xyXG4gICAgICB0aGlzLmN1cnJlbnRVcmwgID0gbmV4dFVybDtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRCYXNlUm91dGUodXJsOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgcGFydHMgPSB1cmwuc3BsaXQoJy8nKS5maWx0ZXIoQm9vbGVhbik7XHJcbiAgICBjb25zdCBiYXNlOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgXHJcbiAgICBmb3IgKGNvbnN0IHBhcnQgb2YgcGFydHMpIHtcclxuICAgICAgaWYgKCFpc05hTihOdW1iZXIocGFydCkpKSB7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICAgICAgYmFzZS5wdXNoKHBhcnQpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuICcvJyArIGJhc2Uuam9pbignLycpO1xyXG4gIH1cclxuICBcclxuICBwcml2YXRlIGdldExpc3RSb3V0ZShiYXNlUm91dGU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAvL3ZlcmlmaWNhIHNlIGEgcm90YSBkZSByZXRvcm5vIMOpIGEgaW5pY2lhbFxyXG4gICAgY29uc3QgcGFydHMgPSBiYXNlUm91dGUuc3BsaXQoJy8nKS5maWx0ZXIoQm9vbGVhbik7XHJcbiAgICByZXR1cm4gJy8nICsgcGFydHNbMF07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFBhcmVudFJvdXRlKHVybDogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IGNsZWFuID0gdXJsLnNwbGl0KCc/JylbMF0ucmVwbGFjZSgvXFwvJC8sICcnKTtcclxuICAgIGxldCBwYXJ0cyA9IGNsZWFuLnNwbGl0KCcvJykuZmlsdGVyKEJvb2xlYW4pO1xyXG4gICAgLy8gLS0tLSBSRUdSQSBGUk9NIC0tLS1cclxuICAgIGNvbnN0IGlkeCA9IHBhcnRzLmluZGV4T2YoJ2Zyb20nKTtcclxuICAgIGlmIChpZHggIT0gLTEpIHtcclxuICAgICAgLy8gcmVtb3ZlIG8gXCJmcm9tXCIgZSBvIHBhcsOibWV0cm8gYXDDs3MgZWxlXHJcbiAgICAgIHBhcnRzID0gcGFydHMuc2xpY2UoMCwgaWR4KTtcclxuICAgICAgLy8gc2UgbyDDumx0aW1vIGl0ZW0gZm9yIHZpZXcg4oaSIHJlbW92ZSB0YW1iw6ltXHJcbiAgICAgIGlmIChwYXJ0c1twYXJ0cy5sZW5ndGggLSAxXSA9PT0gJ3ZpZXcnKSB7XHJcbiAgICAgICAgcGFydHMucG9wKCk7XHJcbiAgICAgIH1cclxuICAgIFxyXG4gICAgICByZXR1cm4gJy8nICsgcGFydHMuam9pbignLycpO1xyXG4gICAgfVxyXG4gIFxyXG4gICAgLy8gLS0tLSBSRUdSQSBWSUVXIC0tLS1cclxuICAgIGlmIChwYXJ0cy5sZW5ndGggPD0gMSkge1xyXG4gICAgICByZXR1cm4gJy8nICsgcGFydHMuam9pbignLycpO1xyXG4gICAgfVxyXG4gICAgaWYgKCFpc05hTihOdW1iZXIocGFydHNbcGFydHMubGVuZ3RoIC0gMV0pKSkge1xyXG4gICAgICBwYXJ0cy5wb3AoKTtcclxuICAgIH1cclxuICAgIGlmIChwYXJ0c1twYXJ0cy5sZW5ndGggLSAxXSA9PT0gJ3ZpZXcnKSB7XHJcbiAgICAgIHBhcnRzLnBvcCgpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuICcvJyArIHBhcnRzLmpvaW4oJy8nKTtcclxuICB9XHJcbiAgZ2V0QmFja1JvdXRlKCk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgcmV0dXJuIHRoaXMucHJldmlvdXNVcmw7XHJcbiAgfVxyXG59Il19
@@ -1,62 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- /**
4
- * Corrige o focus trap em modais do Ionic, permite que o foco não fique preso dentro do popover.
5
- * Utilizado para concertar interatividade com popovers e outros elementos que podem ser interativos fora do popover.
6
- */
7
- export class PopoverFocusTrapService {
8
- constructor() {
9
- this.initGlobalFocusTrapDisable();
10
- }
11
- initGlobalFocusTrapDisable() {
12
- // Wait for the platform to be ready
13
- document.addEventListener('DOMContentLoaded', () => {
14
- this.setuppopoverObserver();
15
- });
16
- }
17
- setuppopoverObserver() {
18
- // Create a mutation observer to watch for new popovers
19
- const observer = new MutationObserver((mutations) => {
20
- mutations.forEach((mutation) => {
21
- mutation.addedNodes.forEach((node) => {
22
- if (node.nodeType === Node.ELEMENT_NODE) {
23
- const element = node;
24
- // Check if the added node is an ion-popover
25
- if (element.tagName?.toLowerCase() === 'ion-popover') {
26
- this.disableFocusTrap(element);
27
- }
28
- // Check for ion-popover children
29
- const popovers = element.querySelectorAll?.('ion-popover');
30
- popovers?.forEach(popover => this.disableFocusTrap(popover));
31
- }
32
- });
33
- });
34
- });
35
- // Start observing
36
- observer.observe(document.body, {
37
- childList: true,
38
- subtree: true
39
- });
40
- // Also handle existing popovers
41
- const existingpopovers = document.querySelectorAll('ion-popover');
42
- existingpopovers.forEach(popover => this.disableFocusTrap(popover));
43
- }
44
- disableFocusTrap(popover) {
45
- // Add the CSS class
46
- popover.classList.add('ion-disable-focus-trap');
47
- // Set the property if it exists
48
- const popoverElement = popover;
49
- if (popoverElement.disableFocusTrap !== undefined) {
50
- popoverElement.disableFocusTrap = true;
51
- }
52
- }
53
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PopoverFocusTrapService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
54
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PopoverFocusTrapService, providedIn: 'root' }); }
55
- }
56
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PopoverFocusTrapService, decorators: [{
57
- type: Injectable,
58
- args: [{
59
- providedIn: 'root'
60
- }]
61
- }], ctorParameters: () => [] });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1mb2N1cy10cmFwLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL3BvcG92ZXItZm9jdXMtdHJhcC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRTNDOzs7R0FHRztBQUlILE1BQU0sT0FBTyx1QkFBdUI7SUFFbEM7UUFDRSxJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRU8sMEJBQTBCO1FBQ2hDLG9DQUFvQztRQUNwQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLEVBQUUsR0FBRyxFQUFFO1lBQ2pELElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLG9CQUFvQjtRQUMxQix1REFBdUQ7UUFDdkQsTUFBTSxRQUFRLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO1lBQ2xELFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtnQkFDN0IsUUFBUSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtvQkFDbkMsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQzt3QkFDeEMsTUFBTSxPQUFPLEdBQUcsSUFBZSxDQUFDO3dCQUVoQyw0Q0FBNEM7d0JBQzVDLElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsS0FBSyxhQUFhLEVBQUUsQ0FBQzs0QkFDckQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO3dCQUNqQyxDQUFDO3dCQUVELGlDQUFpQzt3QkFDakMsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixFQUFFLENBQUMsYUFBYSxDQUFDLENBQUM7d0JBQzNELFFBQVEsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztvQkFDL0QsQ0FBQztnQkFDSCxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxrQkFBa0I7UUFDbEIsUUFBUSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFO1lBQzlCLFNBQVMsRUFBRSxJQUFJO1lBQ2YsT0FBTyxFQUFFLElBQUk7U0FDZCxDQUFDLENBQUM7UUFFSCxnQ0FBZ0M7UUFDaEMsTUFBTSxnQkFBZ0IsR0FBRyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDbEUsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVPLGdCQUFnQixDQUFDLE9BQWdCO1FBQ3ZDLG9CQUFvQjtRQUNwQixPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBRWhELGdDQUFnQztRQUNoQyxNQUFNLGNBQWMsR0FBRyxPQUFjLENBQUM7UUFDdEMsSUFBSSxjQUFjLENBQUMsZ0JBQWdCLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDbEQsY0FBYyxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztRQUN6QyxDQUFDO0lBQ0gsQ0FBQzsrR0F0RFUsdUJBQXVCO21IQUF2Qix1QkFBdUIsY0FGdEIsTUFBTTs7NEZBRVAsdUJBQXVCO2tCQUhuQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8qKlxyXG4gKiBDb3JyaWdlIG8gZm9jdXMgdHJhcCBlbSBtb2RhaXMgZG8gSW9uaWMsIHBlcm1pdGUgcXVlIG8gZm9jbyBuw6NvIGZpcXVlIHByZXNvIGRlbnRybyBkbyBwb3BvdmVyLlxyXG4gKiBVdGlsaXphZG8gcGFyYSBjb25jZXJ0YXIgaW50ZXJhdGl2aWRhZGUgY29tIHBvcG92ZXJzIGUgb3V0cm9zIGVsZW1lbnRvcyBxdWUgcG9kZW0gc2VyIGludGVyYXRpdm9zIGZvcmEgZG8gcG9wb3Zlci5cclxuICovXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFBvcG92ZXJGb2N1c1RyYXBTZXJ2aWNlIHtcclxuICBcclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHRoaXMuaW5pdEdsb2JhbEZvY3VzVHJhcERpc2FibGUoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW5pdEdsb2JhbEZvY3VzVHJhcERpc2FibGUoKSB7XHJcbiAgICAvLyBXYWl0IGZvciB0aGUgcGxhdGZvcm0gdG8gYmUgcmVhZHlcclxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLCAoKSA9PiB7XHJcbiAgICAgIHRoaXMuc2V0dXBwb3BvdmVyT2JzZXJ2ZXIoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXR1cHBvcG92ZXJPYnNlcnZlcigpIHtcclxuICAgIC8vIENyZWF0ZSBhIG11dGF0aW9uIG9ic2VydmVyIHRvIHdhdGNoIGZvciBuZXcgcG9wb3ZlcnNcclxuICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKG11dGF0aW9ucykgPT4ge1xyXG4gICAgICBtdXRhdGlvbnMuZm9yRWFjaCgobXV0YXRpb24pID0+IHtcclxuICAgICAgICBtdXRhdGlvbi5hZGRlZE5vZGVzLmZvckVhY2goKG5vZGUpID0+IHtcclxuICAgICAgICAgIGlmIChub2RlLm5vZGVUeXBlID09PSBOb2RlLkVMRU1FTlRfTk9ERSkge1xyXG4gICAgICAgICAgICBjb25zdCBlbGVtZW50ID0gbm9kZSBhcyBFbGVtZW50O1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIGFkZGVkIG5vZGUgaXMgYW4gaW9uLXBvcG92ZXJcclxuICAgICAgICAgICAgaWYgKGVsZW1lbnQudGFnTmFtZT8udG9Mb3dlckNhc2UoKSA9PT0gJ2lvbi1wb3BvdmVyJykge1xyXG4gICAgICAgICAgICAgIHRoaXMuZGlzYWJsZUZvY3VzVHJhcChlbGVtZW50KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgLy8gQ2hlY2sgZm9yIGlvbi1wb3BvdmVyIGNoaWxkcmVuXHJcbiAgICAgICAgICAgIGNvbnN0IHBvcG92ZXJzID0gZWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsPy4oJ2lvbi1wb3BvdmVyJyk7XHJcbiAgICAgICAgICAgIHBvcG92ZXJzPy5mb3JFYWNoKHBvcG92ZXIgPT4gdGhpcy5kaXNhYmxlRm9jdXNUcmFwKHBvcG92ZXIpKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyBTdGFydCBvYnNlcnZpbmdcclxuICAgIG9ic2VydmVyLm9ic2VydmUoZG9jdW1lbnQuYm9keSwge1xyXG4gICAgICBjaGlsZExpc3Q6IHRydWUsXHJcbiAgICAgIHN1YnRyZWU6IHRydWVcclxuICAgIH0pO1xyXG5cclxuICAgIC8vIEFsc28gaGFuZGxlIGV4aXN0aW5nIHBvcG92ZXJzXHJcbiAgICBjb25zdCBleGlzdGluZ3BvcG92ZXJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnaW9uLXBvcG92ZXInKTtcclxuICAgIGV4aXN0aW5ncG9wb3ZlcnMuZm9yRWFjaChwb3BvdmVyID0+IHRoaXMuZGlzYWJsZUZvY3VzVHJhcChwb3BvdmVyKSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGRpc2FibGVGb2N1c1RyYXAocG9wb3ZlcjogRWxlbWVudCkge1xyXG4gICAgLy8gQWRkIHRoZSBDU1MgY2xhc3NcclxuICAgIHBvcG92ZXIuY2xhc3NMaXN0LmFkZCgnaW9uLWRpc2FibGUtZm9jdXMtdHJhcCcpO1xyXG4gICAgXHJcbiAgICAvLyBTZXQgdGhlIHByb3BlcnR5IGlmIGl0IGV4aXN0c1xyXG4gICAgY29uc3QgcG9wb3ZlckVsZW1lbnQgPSBwb3BvdmVyIGFzIGFueTtcclxuICAgIGlmIChwb3BvdmVyRWxlbWVudC5kaXNhYmxlRm9jdXNUcmFwICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgcG9wb3ZlckVsZW1lbnQuZGlzYWJsZUZvY3VzVHJhcCA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG59Il19
@@ -1,15 +0,0 @@
1
- export class RouteCacheService {
2
- constructor() {
3
- this.cachedData = null;
4
- }
5
- getCachedData() {
6
- return this.cachedData;
7
- }
8
- setCachedData(data) {
9
- this.cachedData = data;
10
- }
11
- isDataCached() {
12
- return this.cachedData != null;
13
- }
14
- }
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuY2FjaGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvcm91dGUvcm91dGUuY2FjaGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8saUJBQWlCO0lBQTlCO1FBQ1UsZUFBVSxHQUFrQixJQUFJLENBQUM7SUFhM0MsQ0FBQztJQVhDLGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUVELGFBQWEsQ0FBQyxJQUFZO1FBQ3hCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxZQUFZO1FBQ1YsT0FBTyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQztJQUNqQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNZW51IH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvZHJhd2VyL21lbnVcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBSb3V0ZUNhY2hlU2VydmljZSB7XHJcbiAgcHJpdmF0ZSBjYWNoZWREYXRhOiBNZW51W10gfCBudWxsID0gbnVsbDtcclxuXHJcbiAgZ2V0Q2FjaGVkRGF0YSgpOiBNZW51W10ge1xyXG4gICAgcmV0dXJuIHRoaXMuY2FjaGVkRGF0YTtcclxuICB9XHJcblxyXG4gIHNldENhY2hlZERhdGEoZGF0YTogTWVudVtdKTogdm9pZCB7XHJcbiAgICB0aGlzLmNhY2hlZERhdGEgPSBkYXRhO1xyXG4gIH1cclxuXHJcbiAgaXNEYXRhQ2FjaGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY2FjaGVkRGF0YSAhPSBudWxsO1xyXG4gIH1cclxufSJdfQ==
@@ -1,42 +0,0 @@
1
- import { Observable, tap, share, finalize } from 'rxjs';
2
- import { Injectable } from '@angular/core';
3
- import { RouteCacheService } from './route.cache.service';
4
- import * as i0 from "@angular/core";
5
- export class RouteProviderService {
6
- constructor() {
7
- this.loadFrom = [];
8
- this.routeCacheService = new RouteCacheService();
9
- this.loading$ = null;
10
- }
11
- GetData() {
12
- // If a request is already in progress, return that Observable
13
- if (this.loading$) {
14
- return this.loading$;
15
- }
16
- if (Array.isArray(this.loadFrom)) {
17
- this.routeCacheService.setCachedData(this.loadFrom);
18
- }
19
- const cachedData = this.routeCacheService.getCachedData();
20
- if (cachedData) {
21
- return new Observable(observer => {
22
- observer.next(cachedData);
23
- observer.complete();
24
- });
25
- }
26
- else {
27
- // Store the loading Observable and make sure to reset it when it completes
28
- this.loading$ = this.loadFrom.pipe(tap(data => this.routeCacheService.setCachedData(data)), finalize(() => this.loading$ = null), share() // Share the same subscription with multiple subscribers
29
- );
30
- return this.loading$;
31
- }
32
- }
33
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RouteProviderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
34
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RouteProviderService, providedIn: 'root' }); }
35
- }
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RouteProviderService, decorators: [{
37
- type: Injectable,
38
- args: [{
39
- providedIn: 'root'
40
- }]
41
- }], ctorParameters: () => [] });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUucHJvdmlkZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvcm91dGUvcm91dGUucHJvdmlkZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBTTFELE1BQU0sT0FBTyxvQkFBb0I7SUFNL0I7UUFKQSxhQUFRLEdBQWdDLEVBQUUsQ0FBQztRQUNuQyxzQkFBaUIsR0FBc0IsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1FBQy9ELGFBQVEsR0FBOEIsSUFBSSxDQUFDO0lBRy9DLENBQUM7SUFJTCxPQUFPO1FBQ0wsOERBQThEO1FBQzlELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUN2QixDQUFDO1FBRUQsSUFBRyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBQyxDQUFDO1lBQy9CLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3RELENBQUM7UUFFRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7UUFFMUQsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLE9BQU8sSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUU7Z0JBQy9CLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQzFCLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN0QixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7YUFBTSxDQUFDO1lBQ04sMkVBQTJFO1lBQzNFLElBQUksQ0FBQyxRQUFRLEdBQUksSUFBSSxDQUFDLFFBQStCLENBQUMsSUFBSSxDQUN4RCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQ3ZELFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxFQUNwQyxLQUFLLEVBQUUsQ0FBQyx3REFBd0Q7YUFDakUsQ0FBQztZQUVGLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUN2QixDQUFDO0lBQ0gsQ0FBQzsrR0F0Q1Usb0JBQW9CO21IQUFwQixvQkFBb0IsY0FGbkIsTUFBTTs7NEZBRVAsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUsIHRhcCwgc2hhcmUsIGZpbmFsaXplIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IFJvdXRlQ2FjaGVTZXJ2aWNlIH0gZnJvbSAnLi9yb3V0ZS5jYWNoZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTWVudSB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvZHJhd2VyL21lbnUnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUm91dGVQcm92aWRlclNlcnZpY2UgIHtcclxuXHJcbiAgbG9hZEZyb206IE9ic2VydmFibGU8TWVudVtdPiB8IE1lbnVbXSA9IFtdO1xyXG4gIHByaXZhdGUgcm91dGVDYWNoZVNlcnZpY2U6IFJvdXRlQ2FjaGVTZXJ2aWNlID0gbmV3IFJvdXRlQ2FjaGVTZXJ2aWNlKCk7XHJcbiAgcHJpdmF0ZSBsb2FkaW5nJDogT2JzZXJ2YWJsZTxNZW51W10+IHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICkgeyB9XHJcblxyXG4gIHJlc29sdmVyOiBQcm9taXNlPE1lbnVbXT5cclxuXHJcbiAgR2V0RGF0YSgpOiBPYnNlcnZhYmxlPE1lbnVbXT4ge1xyXG4gICAgLy8gSWYgYSByZXF1ZXN0IGlzIGFscmVhZHkgaW4gcHJvZ3Jlc3MsIHJldHVybiB0aGF0IE9ic2VydmFibGVcclxuICAgIGlmICh0aGlzLmxvYWRpbmckKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmxvYWRpbmckO1xyXG4gICAgfVxyXG5cclxuICAgIGlmKEFycmF5LmlzQXJyYXkodGhpcy5sb2FkRnJvbSkpe1xyXG4gICAgICB0aGlzLnJvdXRlQ2FjaGVTZXJ2aWNlLnNldENhY2hlZERhdGEodGhpcy5sb2FkRnJvbSk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgY2FjaGVkRGF0YSA9IHRoaXMucm91dGVDYWNoZVNlcnZpY2UuZ2V0Q2FjaGVkRGF0YSgpO1xyXG5cclxuICAgIGlmIChjYWNoZWREYXRhKSB7XHJcbiAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZShvYnNlcnZlciA9PiB7XHJcbiAgICAgICAgb2JzZXJ2ZXIubmV4dChjYWNoZWREYXRhKTtcclxuICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIC8vIFN0b3JlIHRoZSBsb2FkaW5nIE9ic2VydmFibGUgYW5kIG1ha2Ugc3VyZSB0byByZXNldCBpdCB3aGVuIGl0IGNvbXBsZXRlc1xyXG4gICAgICB0aGlzLmxvYWRpbmckID0gKHRoaXMubG9hZEZyb20gYXMgT2JzZXJ2YWJsZTxNZW51W10+KS5waXBlKFxyXG4gICAgICAgIHRhcChkYXRhID0+IHRoaXMucm91dGVDYWNoZVNlcnZpY2Uuc2V0Q2FjaGVkRGF0YShkYXRhKSksXHJcbiAgICAgICAgZmluYWxpemUoKCkgPT4gdGhpcy5sb2FkaW5nJCA9IG51bGwpLFxyXG4gICAgICAgIHNoYXJlKCkgLy8gU2hhcmUgdGhlIHNhbWUgc3Vic2NyaXB0aW9uIHdpdGggbXVsdGlwbGUgc3Vic2NyaWJlcnNcclxuICAgICAgKTtcclxuICAgICAgXHJcbiAgICAgIHJldHVybiB0aGlzLmxvYWRpbmckO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,49 +0,0 @@
1
- import { HttpClient } from '@angular/common/http';
2
- import { Injectable } from '@angular/core';
3
- import { FormBuilder, Validators } from '@angular/forms';
4
- import { NavController } from '@ionic/angular';
5
- import { InputStringConfiguration, InputStringType } from '../components/inputs/input-string/input-string.configuration';
6
- import { ApiUrlProviderService } from '../services/web/api-url-provider.service';
7
- import { HttpServiceAtivo } from '../services/web/http.ativo.service';
8
- import { GenericService } from './generic.service';
9
- import { TableField } from '../classes/inputs/table-field';
10
- import { InputType } from '../components/inputs/input-type';
11
- import * as i0 from "@angular/core";
12
- import * as i1 from "@angular/common/http";
13
- import * as i2 from "@angular/forms";
14
- import * as i3 from "./generic.service";
15
- import * as i4 from "@ionic/angular";
16
- import * as i5 from "../services/web/api-url-provider.service";
17
- export class UsuarioService extends HttpServiceAtivo {
18
- constructor(http, fb, genericService, navController, apiUrlProviderService) {
19
- super(http, fb, genericService, navController, apiUrlProviderService);
20
- this.http = http;
21
- this.fb = fb;
22
- this.genericService = genericService;
23
- this.navController = navController;
24
- this.apiUrlProviderService = apiUrlProviderService;
25
- this.route = "usuario";
26
- this.title = "Usuario";
27
- }
28
- get lstTableFields() {
29
- var lst = [];
30
- lst[0] = this.defaultId;
31
- lst[1] = new TableField("Nome", "nome", this.fb.control(null, Validators.required), InputType.String);
32
- lst[2] = new TableField("Apelido", "apelido", this.fb.control(null, Validators.required), InputType.String);
33
- lst[3] = new TableField("Senha", "senha", this.fb.control(null, Validators.required), InputType.String);
34
- lst[3].hiddenView = true;
35
- lst[3].configuration = new InputStringConfiguration(InputStringType.Password);
36
- lst[4] = this.defaultAtivo;
37
- return lst;
38
- }
39
- ;
40
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UsuarioService, deps: [{ token: i1.HttpClient }, { token: i2.FormBuilder }, { token: i3.GenericService }, { token: i4.NavController }, { token: i5.ApiUrlProviderService }], target: i0.ɵɵFactoryTarget.Injectable }); }
41
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UsuarioService, providedIn: 'root' }); }
42
- }
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UsuarioService, decorators: [{
44
- type: Injectable,
45
- args: [{
46
- providedIn: 'root'
47
- }]
48
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.FormBuilder }, { type: i3.GenericService }, { type: i4.NavController }, { type: i5.ApiUrlProviderService }] });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXN1YXJpby5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy91c3VhcmlvLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFL0MsT0FBTyxFQUFFLHdCQUF3QixFQUFFLGVBQWUsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ3pILE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7O0FBSzVELE1BQU0sT0FBTyxjQUFlLFNBQVEsZ0JBQWdCO0lBS2xELFlBQ3FCLElBQWdCLEVBQ2hCLEVBQWUsRUFDZixjQUE4QixFQUM5QixhQUE2QixFQUM3QixxQkFBNkM7UUFFaEUsS0FBSyxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO1FBTm5ELFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNmLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixrQkFBYSxHQUFiLGFBQWEsQ0FBZ0I7UUFDN0IsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF3QjtRQVJsRCxVQUFLLEdBQVcsU0FBUyxDQUFDO1FBQzFCLFVBQUssR0FBVyxTQUFTLENBQUM7SUFVMUMsQ0FBQztJQUVELElBQWEsY0FBYztRQUN6QixJQUFJLEdBQUcsR0FBaUIsRUFBRSxDQUFDO1FBRTNCLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ3hCLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLFVBQVUsQ0FBQyxNQUFNLEVBQUssTUFBTSxFQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQzNHLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLFVBQVUsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQzNHLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLFVBQVUsQ0FBQyxPQUFPLEVBQUksT0FBTyxFQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQzNHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLEdBQUcsSUFBSSx3QkFBd0IsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDOUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7UUFFM0IsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBQUEsQ0FBQzsrR0EzQlMsY0FBYzttSEFBZCxjQUFjLGNBRmIsTUFBTTs7NEZBRVAsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBOYXZDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xyXG5cclxuaW1wb3J0IHsgSW5wdXRTdHJpbmdDb25maWd1cmF0aW9uLCBJbnB1dFN0cmluZ1R5cGUgfSBmcm9tICcuLi9jb21wb25lbnRzL2lucHV0cy9pbnB1dC1zdHJpbmcvaW5wdXQtc3RyaW5nLmNvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQgeyBBcGlVcmxQcm92aWRlclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy93ZWIvYXBpLXVybC1wcm92aWRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSHR0cFNlcnZpY2VBdGl2byB9IGZyb20gJy4uL3NlcnZpY2VzL3dlYi9odHRwLmF0aXZvLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBHZW5lcmljU2VydmljZSB9IGZyb20gJy4vZ2VuZXJpYy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVGFibGVGaWVsZCB9IGZyb20gJy4uL2NsYXNzZXMvaW5wdXRzL3RhYmxlLWZpZWxkJztcclxuaW1wb3J0IHsgSW5wdXRUeXBlIH0gZnJvbSAnLi4vY29tcG9uZW50cy9pbnB1dHMvaW5wdXQtdHlwZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVc3VhcmlvU2VydmljZSBleHRlbmRzIEh0dHBTZXJ2aWNlQXRpdm8ge1xyXG5cclxuICBwdWJsaWMgb3ZlcnJpZGUgcm91dGU6IHN0cmluZyA9IFwidXN1YXJpb1wiOyBcclxuICBwdWJsaWMgb3ZlcnJpZGUgdGl0bGU6IHN0cmluZyA9IFwiVXN1YXJpb1wiOyBcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgaHR0cDogSHR0cENsaWVudCxcclxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBmYjogRm9ybUJ1aWxkZXIsXHJcbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZ2VuZXJpY1NlcnZpY2U6IEdlbmVyaWNTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIG5hdkNvbnRyb2xsZXIgOiBOYXZDb250cm9sbGVyLFxyXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIGFwaVVybFByb3ZpZGVyU2VydmljZSA6IEFwaVVybFByb3ZpZGVyU2VydmljZSxcclxuICApIHsgXHJcbiAgICBzdXBlcihodHRwLCBmYiwgZ2VuZXJpY1NlcnZpY2UsIG5hdkNvbnRyb2xsZXIsIGFwaVVybFByb3ZpZGVyU2VydmljZSk7XHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSBnZXQgbHN0VGFibGVGaWVsZHMoKXtcclxuICAgIHZhciBsc3Q6IFRhYmxlRmllbGRbXSA9IFtdO1xyXG5cclxuICAgIGxzdFswXSA9IHRoaXMuZGVmYXVsdElkO1xyXG4gICAgbHN0WzFdID0gbmV3IFRhYmxlRmllbGQoXCJOb21lXCIgICAsIFwibm9tZVwiICAgLCB0aGlzLmZiLmNvbnRyb2wobnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksIElucHV0VHlwZS5TdHJpbmcpXHJcbiAgICBsc3RbMl0gPSBuZXcgVGFibGVGaWVsZChcIkFwZWxpZG9cIiwgXCJhcGVsaWRvXCIsIHRoaXMuZmIuY29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSwgSW5wdXRUeXBlLlN0cmluZylcclxuICAgIGxzdFszXSA9IG5ldyBUYWJsZUZpZWxkKFwiU2VuaGFcIiAgLCBcInNlbmhhXCIgICwgdGhpcy5mYi5jb250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLCBJbnB1dFR5cGUuU3RyaW5nKVxyXG4gICAgbHN0WzNdLmhpZGRlblZpZXcgPSB0cnVlO1xyXG4gICAgbHN0WzNdLmNvbmZpZ3VyYXRpb24gPSBuZXcgSW5wdXRTdHJpbmdDb25maWd1cmF0aW9uKElucHV0U3RyaW5nVHlwZS5QYXNzd29yZCk7XHJcbiAgICBsc3RbNF0gPSB0aGlzLmRlZmF1bHRBdGl2bztcclxuXHJcbiAgICByZXR1cm4gbHN0O1xyXG4gIH07XHJcbn1cclxuIl19