@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.
- package/build.ps1 +39 -0
- package/ng-package.json +10 -0
- package/package.json +43 -47
- package/src/lib/classes/comparison/comparison-operator.ts +17 -0
- package/src/lib/classes/comparison/comparison-value-type.ts +34 -0
- package/src/lib/classes/comparison/comparison.ts +45 -0
- package/src/lib/classes/comparison/properties/bool-property.ts +16 -0
- package/src/lib/classes/comparison/properties/date-property.ts +28 -0
- package/src/lib/classes/comparison/properties/datetime-property.ts +28 -0
- package/src/lib/classes/comparison/properties/decimal-property.ts +28 -0
- package/src/lib/classes/comparison/properties/enum-property.ts +28 -0
- package/src/lib/classes/comparison/properties/implicit-property.ts +13 -0
- package/src/lib/classes/comparison/properties/int-property.ts +28 -0
- package/src/lib/classes/comparison/properties/long-property.ts +28 -0
- package/src/lib/classes/comparison/properties/string-property.ts +16 -0
- package/src/lib/classes/comparison/properties/time-property.ts +28 -0
- package/{lib/classes/credentials.d.ts → src/lib/classes/credentials.ts} +5 -5
- package/src/lib/classes/environment.ts +37 -0
- package/src/lib/classes/filters/view-filtros.ts +18 -0
- package/src/lib/classes/infinite-scroll.ts +112 -0
- package/src/lib/classes/inputs/table-field-form-builder.ts +12 -0
- package/src/lib/classes/inputs/table-field.ts +62 -0
- package/src/lib/classes/page-option.ts +8 -0
- package/src/lib/classes/routes/default-routing-factory.ts +24 -0
- package/src/lib/classes/routes/id-preloader-configuration.ts +21 -0
- package/src/lib/classes/routes/route-data.ts +9 -0
- package/src/lib/components/carousel/carousel-image/carousel-image.component.html +4 -0
- package/src/lib/components/carousel/carousel-image/carousel-image.component.ts +15 -0
- package/src/lib/components/carousel/carousel-item/carousel-item.component.html +3 -0
- package/src/lib/components/carousel/carousel-item/carousel-item.component.ts +14 -0
- package/src/lib/components/carousel/carousel.component.html +22 -0
- package/src/lib/components/carousel/carousel.component.ts +83 -0
- package/src/lib/components/carousel/carousel.module.ts +20 -0
- package/src/lib/components/carousel/i-carousel-item.component.ts +8 -0
- package/src/lib/components/content-block/content-block.component.html +6 -0
- package/src/lib/components/content-block/content-block.component.ts +25 -0
- package/src/lib/components/default/default-list/abstract-list.ts +56 -0
- package/src/lib/components/default/default-list/default-list.component.html +60 -0
- package/src/lib/components/default/default-list/default-list.component.ts +72 -0
- package/src/lib/components/default/default-list/header-list/header-list.component.html +32 -0
- package/src/lib/components/default/default-list/header-list/header-list.component.ts +85 -0
- package/src/lib/components/default/default-list/list.ts +127 -0
- package/src/lib/components/default/default-pagination/default-pagination.component.html +52 -0
- package/src/lib/components/default/default-pagination/default-pagination.component.ts +118 -0
- package/src/lib/components/default/default-table/default-table.component.html +104 -0
- package/src/lib/components/default/default-table/default-table.component.ts +255 -0
- package/src/lib/components/default/default-table/th-filter/th-filter.component.html +69 -0
- package/src/lib/components/default/default-table/th-filter/th-filter.component.ts +205 -0
- package/src/lib/components/default/default-view/abstract-view.ts +25 -0
- package/src/lib/components/default/default-view/default-view.component.html +111 -0
- package/src/lib/components/default/default-view/default-view.component.ts +56 -0
- package/src/lib/components/default/default-view/header-view/header-view.component.html +64 -0
- package/src/lib/components/default/default-view/header-view/header-view.component.ts +62 -0
- package/src/lib/components/default/default-view/view.ts +195 -0
- package/src/lib/components/default/default.module.ts +61 -0
- package/src/lib/components/default-page/default.page.html +63 -0
- package/src/lib/components/default-page/default.page.ts +84 -0
- package/src/lib/components/drag-drop-file/drag-drop-file.directive.ts +44 -0
- package/src/lib/components/drag-drop-file/drag-drop-file.module.ts +21 -0
- package/src/lib/components/drag-drop-file/drag-drop-overlay/drag-drop-overlay.component.html +5 -0
- package/src/lib/components/drag-drop-file/drag-drop-overlay/drag-drop-overlay.component.ts +17 -0
- package/src/lib/components/drawer/default-drawer-end/default-drawer-end.component.html +12 -0
- package/src/lib/components/drawer/default-drawer-end/default-drawer-end.component.ts +35 -0
- package/src/lib/components/drawer/drawer-group/drawer-group.component.html +79 -0
- package/src/lib/components/drawer/drawer-group/drawer-group.component.ts +49 -0
- package/src/lib/components/drawer/drawer.component.html +120 -0
- package/src/lib/components/drawer/drawer.component.ts +157 -0
- package/src/lib/components/drawer/menu.ts +20 -0
- package/src/lib/components/filter/filter.component.html +43 -0
- package/src/lib/components/filter/filter.component.ts +141 -0
- package/src/lib/components/http-responses-pages/forbidden-403/forbidden-403.component.html +35 -0
- package/src/lib/components/http-responses-pages/forbidden-403/forbidden-403.component.ts +19 -0
- package/src/lib/components/image/image.component.html +17 -0
- package/src/lib/components/image/image.component.ts +95 -0
- package/src/lib/components/info-popover/info-popover.component.html +23 -0
- package/src/lib/components/info-popover/info-popover.component.ts +75 -0
- package/src/lib/components/inputs/custom-input.ts +94 -0
- package/src/lib/components/inputs/input-bool/input-bool.component.html +26 -0
- package/src/lib/components/inputs/input-bool/input-bool.component.ts +39 -0
- package/src/lib/components/inputs/input-bool/input-bool.configuration.ts +14 -0
- package/src/lib/components/inputs/input-cep/input-cep.component.html +27 -0
- package/src/lib/components/inputs/input-cep/input-cep.component.ts +41 -0
- package/src/lib/components/inputs/input-cep/input-cep.configuration.ts +4 -0
- package/src/lib/components/inputs/input-color/input-color.component.html +79 -0
- package/src/lib/components/inputs/input-color/input-color.component.ts +544 -0
- package/{lib/components/inputs/input-configuration.d.ts → src/lib/components/inputs/input-configuration.ts} +23 -10
- package/src/lib/components/inputs/input-cpf-cnpj/input-cpf-cnpj.component.html +28 -0
- package/src/lib/components/inputs/input-cpf-cnpj/input-cpf-cnpj.component.ts +99 -0
- package/src/lib/components/inputs/input-cpf-cnpj/input-cpf-cnpj.configuration.ts +4 -0
- package/src/lib/components/inputs/input-date/input-date.component.html +89 -0
- package/src/lib/components/inputs/input-date/input-date.component.ts +269 -0
- package/src/lib/components/inputs/input-date/input-date.configuration.ts +8 -0
- package/src/lib/components/inputs/input-decimal/input-decimal.component.html +32 -0
- package/src/lib/components/inputs/input-decimal/input-decimal.component.ts +283 -0
- package/src/lib/components/inputs/input-decimal/input-decimal.configuration.ts +47 -0
- package/src/lib/components/inputs/input-default-configurations.ts +15 -0
- package/src/lib/components/inputs/input-file/download-button/download-button.component.html +56 -0
- package/src/lib/components/inputs/input-file/download-button/download-button.component.ts +91 -0
- package/src/lib/components/inputs/input-file/input-file.component.html +56 -0
- package/src/lib/components/inputs/input-file/input-file.component.ts +97 -0
- package/src/lib/components/inputs/input-file/input-file.configuration.ts +25 -0
- package/src/lib/components/inputs/input-icon/fluenticons.ts +3733 -0
- package/src/lib/components/inputs/input-icon/input-icon.component.html +8 -0
- package/src/lib/components/inputs/input-icon/input-icon.component.ts +52 -0
- package/src/lib/components/inputs/input-icon/ionicons.ts +1359 -0
- package/src/lib/components/inputs/input-provider-factory.ts +12 -0
- package/src/lib/components/inputs/input-select/directives/sion-label-template.directive.ts +19 -0
- package/src/lib/components/inputs/input-select/directives/sion-option-template.directive.ts +16 -0
- package/src/lib/components/inputs/input-select/directives/sion-placeholder-template.directive.ts +19 -0
- package/src/lib/components/inputs/input-select/input-select.component.html +176 -0
- package/src/lib/components/inputs/input-select/input-select.component.ts +366 -0
- package/src/lib/components/inputs/input-select/input.select.configuration.ts +300 -0
- package/src/lib/components/inputs/input-string/input-string.component.html +27 -0
- package/src/lib/components/inputs/input-string/input-string.component.ts +31 -0
- package/src/lib/components/inputs/input-string/input-string.configuration.ts +20 -0
- package/src/lib/components/inputs/input-telefone/input-telefone.component.html +29 -0
- package/src/lib/components/inputs/input-telefone/input-telefone.component.ts +63 -0
- package/src/lib/components/inputs/input-telefone/input-telefone.configuration.ts +8 -0
- package/src/lib/components/inputs/input-textarea/input-textarea.component.html +27 -0
- package/src/lib/components/inputs/input-textarea/input-textarea.component.ts +75 -0
- package/src/lib/components/inputs/input-textarea/input-textarea.configuration.ts +7 -0
- package/src/lib/components/inputs/input-type.ts +22 -0
- package/src/lib/components/inputs/input-validators.ts +111 -0
- package/src/lib/components/inputs/inputs.module.ts +74 -0
- package/src/lib/components/loading/loading.component.html +28 -0
- package/src/lib/components/loading/loading.component.ts +29 -0
- package/src/lib/components/login/login-admin/login-admin.component.html +28 -0
- package/src/lib/components/login/login-admin/login-admin.component.ts +51 -0
- package/src/lib/components/login/login.component.html +104 -0
- package/src/lib/components/login/login.component.ts +96 -0
- package/src/lib/components/main-content/main-content.component.html +145 -0
- package/src/lib/components/main-content/main-content.component.ts +93 -0
- package/src/lib/components/popover/sion-popover/sion-popover.component.html +21 -0
- package/src/lib/components/popover/sion-popover/sion-popover.component.ts +182 -0
- package/src/lib/components/popover/sion-popover.module.ts +12 -0
- package/src/lib/components/sion-card/sion-card.component.html +12 -0
- package/src/lib/components/sion-card/sion-card.component.ts +23 -0
- package/src/lib/components/stepper/step/step.component.html +11 -0
- package/src/lib/components/stepper/step/step.component.ts +44 -0
- package/src/lib/components/stepper/stepper.component.html +3 -0
- package/src/lib/components/stepper/stepper.component.ts +37 -0
- package/src/lib/components/stepper/stepper.module.ts +15 -0
- package/src/lib/components/tabs/tab/tab.component.html +8 -0
- package/src/lib/components/tabs/tab/tab.component.ts +28 -0
- package/src/lib/components/tabs/tabs/tabs.component.html +14 -0
- package/src/lib/components/tabs/tabs/tabs.component.ts +42 -0
- package/src/lib/components/tabs/tabs.module.ts +15 -0
- package/src/lib/components/text-tooltip/text-tooltip.component.html +8 -0
- package/src/lib/components/text-tooltip/text-tooltip.component.scss +0 -0
- package/src/lib/components/text-tooltip/text-tooltip.component.ts +45 -0
- package/src/lib/components/tooltip/tooltip.component.html +53 -0
- package/src/lib/components/tooltip/tooltip.component.ts +16 -0
- package/src/lib/core.module.ts +29 -0
- package/src/lib/directives/ng-var.directive.ts +26 -0
- package/src/lib/guards/auth.guard.ts +19 -0
- package/src/lib/guards/error.interceptor.ts +108 -0
- package/src/lib/guards/token.interceptor.ts +28 -0
- package/src/lib/index.ts +191 -0
- package/src/lib/pipes/secure.pipe.ts +39 -0
- package/src/lib/services/auth.service.ts +150 -0
- package/src/lib/services/crypto.service.ts +164 -0
- package/src/lib/services/environment.service.ts +17 -0
- package/src/lib/services/generic.service.ts +85 -0
- package/src/lib/services/modal-focus-trap.service.ts +65 -0
- package/src/lib/services/navigation-context.service.ts +121 -0
- package/src/lib/services/popover-focus-trap.service.ts +65 -0
- package/src/lib/services/route/route.cache.service.ts +17 -0
- package/src/lib/services/route/route.provider.service.ts +49 -0
- package/src/lib/services/usuario.service.ts +44 -0
- package/src/lib/services/utils.service.ts +216 -0
- package/src/lib/services/web/api-url-provider.service.ts +48 -0
- package/src/lib/services/web/http.ativo.service.ts +37 -0
- package/src/lib/services/web/http.service.ts +206 -0
- package/src/lib/services/web/storage.service.ts +210 -0
- package/src/public-api.ts +5 -0
- package/tailwind.config.js +27 -0
- package/tsconfig.lib.json +29 -0
- package/tsconfig.lib.prod.json +23 -0
- package/tsconfig.spec.json +27 -0
- package/esm2022/lib/classes/comparison/comparison-operator.mjs +0 -18
- package/esm2022/lib/classes/comparison/comparison-value-type.mjs +0 -25
- package/esm2022/lib/classes/comparison/comparison.mjs +0 -41
- package/esm2022/lib/classes/comparison/properties/bool-property.mjs +0 -15
- package/esm2022/lib/classes/comparison/properties/date-property.mjs +0 -27
- package/esm2022/lib/classes/comparison/properties/datetime-property.mjs +0 -27
- package/esm2022/lib/classes/comparison/properties/decimal-property.mjs +0 -27
- package/esm2022/lib/classes/comparison/properties/enum-property.mjs +0 -27
- package/esm2022/lib/classes/comparison/properties/implicit-property.mjs +0 -12
- package/esm2022/lib/classes/comparison/properties/int-property.mjs +0 -27
- package/esm2022/lib/classes/comparison/properties/long-property.mjs +0 -27
- package/esm2022/lib/classes/comparison/properties/string-property.mjs +0 -15
- package/esm2022/lib/classes/comparison/properties/time-property.mjs +0 -27
- package/esm2022/lib/classes/credentials.mjs +0 -2
- package/esm2022/lib/classes/environment.mjs +0 -34
- package/esm2022/lib/classes/filters/view-filtros.mjs +0 -18
- package/esm2022/lib/classes/infinite-scroll.mjs +0 -90
- package/esm2022/lib/classes/inputs/table-field-form-builder.mjs +0 -10
- package/esm2022/lib/classes/inputs/table-field.mjs +0 -79
- package/esm2022/lib/classes/page-option.mjs +0 -2
- package/esm2022/lib/classes/routes/default-routing-factory.mjs +0 -23
- package/esm2022/lib/classes/routes/id-preloader-configuration.mjs +0 -22
- package/esm2022/lib/classes/routes/route-data.mjs +0 -9
- package/esm2022/lib/components/carousel/carousel-image/carousel-image.component.mjs +0 -18
- package/esm2022/lib/components/carousel/carousel-item/carousel-item.component.mjs +0 -15
- package/esm2022/lib/components/carousel/carousel.component.mjs +0 -79
- package/esm2022/lib/components/carousel/carousel.module.mjs +0 -31
- package/esm2022/lib/components/carousel/i-carousel-item.component.mjs +0 -16
- package/esm2022/lib/components/content-block/content-block.component.mjs +0 -27
- package/esm2022/lib/components/default/default-list/abstract-list.mjs +0 -49
- package/esm2022/lib/components/default/default-list/default-list.component.mjs +0 -95
- package/esm2022/lib/components/default/default-list/header-list/header-list.component.mjs +0 -98
- package/esm2022/lib/components/default/default-list/list.mjs +0 -120
- package/esm2022/lib/components/default/default-pagination/default-pagination.component.mjs +0 -123
- package/esm2022/lib/components/default/default-table/default-table.component.mjs +0 -216
- package/esm2022/lib/components/default/default-table/th-filter/th-filter.component.mjs +0 -212
- package/esm2022/lib/components/default/default-view/abstract-view.mjs +0 -22
- package/esm2022/lib/components/default/default-view/default-view.component.mjs +0 -76
- package/esm2022/lib/components/default/default-view/header-view/header-view.component.mjs +0 -81
- package/esm2022/lib/components/default/default-view/view.mjs +0 -198
- package/esm2022/lib/components/default/default.module.mjs +0 -98
- package/esm2022/lib/components/default-page/default.page.mjs +0 -75
- package/esm2022/lib/components/drag-drop-file/drag-drop-file.directive.mjs +0 -60
- package/esm2022/lib/components/drag-drop-file/drag-drop-file.module.mjs +0 -31
- package/esm2022/lib/components/drag-drop-file/drag-drop-overlay/drag-drop-overlay.component.mjs +0 -15
- package/esm2022/lib/components/drawer/default-drawer-end/default-drawer-end.component.mjs +0 -34
- package/esm2022/lib/components/drawer/drawer-group/drawer-group.component.mjs +0 -52
- package/esm2022/lib/components/drawer/drawer.component.mjs +0 -156
- package/esm2022/lib/components/drawer/menu.mjs +0 -15
- package/esm2022/lib/components/filter/filter.component.mjs +0 -145
- package/esm2022/lib/components/http-responses-pages/forbidden-403/forbidden-403.component.mjs +0 -17
- package/esm2022/lib/components/image/image.component.mjs +0 -91
- package/esm2022/lib/components/info-popover/info-popover.component.mjs +0 -91
- package/esm2022/lib/components/inputs/custom-input.mjs +0 -85
- package/esm2022/lib/components/inputs/input-bool/input-bool.component.mjs +0 -46
- package/esm2022/lib/components/inputs/input-bool/input-bool.configuration.mjs +0 -16
- package/esm2022/lib/components/inputs/input-cep/input-cep.component.mjs +0 -50
- package/esm2022/lib/components/inputs/input-cep/input-cep.configuration.mjs +0 -4
- package/esm2022/lib/components/inputs/input-color/input-color.component.mjs +0 -481
- package/esm2022/lib/components/inputs/input-configuration.mjs +0 -2
- package/esm2022/lib/components/inputs/input-cpf-cnpj/input-cpf-cnpj.component.mjs +0 -116
- package/esm2022/lib/components/inputs/input-cpf-cnpj/input-cpf-cnpj.configuration.mjs +0 -6
- package/esm2022/lib/components/inputs/input-date/input-date.component.mjs +0 -263
- package/esm2022/lib/components/inputs/input-date/input-date.configuration.mjs +0 -11
- package/esm2022/lib/components/inputs/input-decimal/input-decimal.component.mjs +0 -276
- package/esm2022/lib/components/inputs/input-decimal/input-decimal.configuration.mjs +0 -50
- package/esm2022/lib/components/inputs/input-default-configurations.mjs +0 -14
- package/esm2022/lib/components/inputs/input-file/download-button/download-button.component.mjs +0 -102
- package/esm2022/lib/components/inputs/input-file/input-file.component.mjs +0 -100
- package/esm2022/lib/components/inputs/input-file/input-file.configuration.mjs +0 -24
- package/esm2022/lib/components/inputs/input-icon/fluenticons.mjs +0 -3734
- package/esm2022/lib/components/inputs/input-icon/input-icon.component.mjs +0 -60
- package/esm2022/lib/components/inputs/input-icon/ionicons.mjs +0 -1360
- package/esm2022/lib/components/inputs/input-provider-factory.mjs +0 -12
- package/esm2022/lib/components/inputs/input-select/directives/sion-label-template.directive.mjs +0 -16
- package/esm2022/lib/components/inputs/input-select/directives/sion-option-template.directive.mjs +0 -16
- package/esm2022/lib/components/inputs/input-select/directives/sion-placeholder-template.directive.mjs +0 -16
- package/esm2022/lib/components/inputs/input-select/input-select.component.mjs +0 -376
- package/esm2022/lib/components/inputs/input-select/input.select.configuration.mjs +0 -233
- package/esm2022/lib/components/inputs/input-string/input-string.component.mjs +0 -41
- package/esm2022/lib/components/inputs/input-string/input-string.configuration.mjs +0 -20
- package/esm2022/lib/components/inputs/input-telefone/input-telefone.component.mjs +0 -74
- package/esm2022/lib/components/inputs/input-telefone/input-telefone.configuration.mjs +0 -12
- package/esm2022/lib/components/inputs/input-textarea/input-textarea.component.mjs +0 -82
- package/esm2022/lib/components/inputs/input-textarea/input-textarea.configuration.mjs +0 -7
- package/esm2022/lib/components/inputs/input-type.mjs +0 -24
- package/esm2022/lib/components/inputs/input-validators.mjs +0 -121
- package/esm2022/lib/components/inputs/inputs.module.mjs +0 -133
- package/esm2022/lib/components/loading/loading.component.mjs +0 -34
- package/esm2022/lib/components/login/login-admin/login-admin.component.mjs +0 -52
- package/esm2022/lib/components/login/login.component.mjs +0 -99
- package/esm2022/lib/components/main-content/main-content.component.mjs +0 -100
- package/esm2022/lib/components/popover/sion-popover/sion-popover.component.mjs +0 -182
- package/esm2022/lib/components/popover/sion-popover.module.mjs +0 -21
- package/esm2022/lib/components/sion-card/sion-card.component.mjs +0 -26
- package/esm2022/lib/components/stepper/step/step.component.mjs +0 -43
- package/esm2022/lib/components/stepper/stepper.component.mjs +0 -36
- package/esm2022/lib/components/stepper/stepper.module.mjs +0 -25
- package/esm2022/lib/components/tabs/tab/tab.component.mjs +0 -41
- package/esm2022/lib/components/tabs/tabs/tabs.component.mjs +0 -56
- package/esm2022/lib/components/tabs/tabs.module.mjs +0 -22
- package/esm2022/lib/components/text-tooltip/text-tooltip.component.mjs +0 -51
- package/esm2022/lib/components/tooltip/tooltip.component.mjs +0 -21
- package/esm2022/lib/core.module.mjs +0 -38
- package/esm2022/lib/directives/ng-var.directive.mjs +0 -29
- package/esm2022/lib/guards/auth.guard.mjs +0 -26
- package/esm2022/lib/guards/error.interceptor.mjs +0 -107
- package/esm2022/lib/guards/token.interceptor.mjs +0 -25
- package/esm2022/lib/index.mjs +0 -188
- package/esm2022/lib/pipes/secure.pipe.mjs +0 -42
- package/esm2022/lib/services/auth.service.mjs +0 -146
- package/esm2022/lib/services/environment.service.mjs +0 -26
- package/esm2022/lib/services/generic.service.mjs +0 -84
- package/esm2022/lib/services/modal-focus-trap.service.mjs +0 -62
- package/esm2022/lib/services/navigation-context.service.mjs +0 -111
- package/esm2022/lib/services/popover-focus-trap.service.mjs +0 -62
- package/esm2022/lib/services/route/route.cache.service.mjs +0 -15
- package/esm2022/lib/services/route/route.provider.service.mjs +0 -42
- package/esm2022/lib/services/usuario.service.mjs +0 -49
- package/esm2022/lib/services/utils.service.mjs +0 -190
- package/esm2022/lib/services/web/api-url-provider.service.mjs +0 -29
- package/esm2022/lib/services/web/http.ativo.service.mjs +0 -37
- package/esm2022/lib/services/web/http.service.mjs +0 -184
- package/esm2022/lib/services/web/storage.service.mjs +0 -186
- package/esm2022/public-api.mjs +0 -5
- package/esm2022/sapphire-ion-framework.mjs +0 -5
- package/fesm2022/sapphire-ion-framework.mjs +0 -12491
- package/fesm2022/sapphire-ion-framework.mjs.map +0 -1
- package/index.d.ts +0 -5
- package/lib/classes/comparison/comparison-operator.d.ts +0 -9
- package/lib/classes/comparison/comparison-value-type.d.ts +0 -23
- package/lib/classes/comparison/comparison.d.ts +0 -25
- package/lib/classes/comparison/properties/bool-property.d.ts +0 -7
- package/lib/classes/comparison/properties/date-property.d.ts +0 -11
- package/lib/classes/comparison/properties/datetime-property.d.ts +0 -11
- package/lib/classes/comparison/properties/decimal-property.d.ts +0 -11
- package/lib/classes/comparison/properties/enum-property.d.ts +0 -11
- package/lib/classes/comparison/properties/implicit-property.d.ts +0 -6
- package/lib/classes/comparison/properties/int-property.d.ts +0 -11
- package/lib/classes/comparison/properties/long-property.d.ts +0 -11
- package/lib/classes/comparison/properties/string-property.d.ts +0 -7
- package/lib/classes/comparison/properties/time-property.d.ts +0 -11
- package/lib/classes/environment.d.ts +0 -14
- package/lib/classes/filters/view-filtros.d.ts +0 -10
- package/lib/classes/infinite-scroll.d.ts +0 -26
- package/lib/classes/inputs/table-field-form-builder.d.ts +0 -5
- package/lib/classes/inputs/table-field.d.ts +0 -20
- package/lib/classes/page-option.d.ts +0 -7
- package/lib/classes/routes/default-routing-factory.d.ts +0 -8
- package/lib/classes/routes/id-preloader-configuration.d.ts +0 -28
- package/lib/classes/routes/route-data.d.ts +0 -5
- package/lib/components/carousel/carousel-image/carousel-image.component.d.ts +0 -10
- package/lib/components/carousel/carousel-item/carousel-item.component.d.ts +0 -9
- package/lib/components/carousel/carousel.component.d.ts +0 -32
- package/lib/components/carousel/carousel.module.d.ts +0 -12
- package/lib/components/carousel/i-carousel-item.component.d.ts +0 -9
- package/lib/components/content-block/content-block.component.d.ts +0 -15
- package/lib/components/default/default-list/abstract-list.d.ts +0 -21
- package/lib/components/default/default-list/default-list.component.d.ts +0 -47
- package/lib/components/default/default-list/header-list/header-list.component.d.ts +0 -45
- package/lib/components/default/default-list/list.d.ts +0 -40
- package/lib/components/default/default-pagination/default-pagination.component.d.ts +0 -36
- package/lib/components/default/default-table/default-table.component.d.ts +0 -90
- package/lib/components/default/default-table/th-filter/th-filter.component.d.ts +0 -23
- package/lib/components/default/default-view/abstract-view.d.ts +0 -18
- package/lib/components/default/default-view/default-view.component.d.ts +0 -40
- package/lib/components/default/default-view/header-view/header-view.component.d.ts +0 -36
- package/lib/components/default/default-view/view.d.ts +0 -67
- package/lib/components/default/default.module.d.ts +0 -31
- package/lib/components/default-page/default.page.d.ts +0 -35
- package/lib/components/drag-drop-file/drag-drop-file.directive.d.ts +0 -14
- package/lib/components/drag-drop-file/drag-drop-file.module.d.ts +0 -10
- package/lib/components/drag-drop-file/drag-drop-overlay/drag-drop-overlay.component.d.ts +0 -9
- package/lib/components/drawer/default-drawer-end/default-drawer-end.component.d.ts +0 -13
- package/lib/components/drawer/drawer-group/drawer-group.component.d.ts +0 -22
- package/lib/components/drawer/drawer.component.d.ts +0 -31
- package/lib/components/drawer/menu.d.ts +0 -9
- package/lib/components/filter/filter.component.d.ts +0 -29
- package/lib/components/http-responses-pages/forbidden-403/forbidden-403.component.d.ts +0 -8
- package/lib/components/image/image.component.d.ts +0 -23
- package/lib/components/info-popover/info-popover.component.d.ts +0 -15
- package/lib/components/inputs/custom-input.d.ts +0 -40
- package/lib/components/inputs/input-bool/input-bool.component.d.ts +0 -16
- package/lib/components/inputs/input-bool/input-bool.configuration.d.ts +0 -17
- package/lib/components/inputs/input-cep/input-cep.component.d.ts +0 -18
- package/lib/components/inputs/input-cep/input-cep.configuration.d.ts +0 -3
- package/lib/components/inputs/input-color/input-color.component.d.ts +0 -77
- package/lib/components/inputs/input-cpf-cnpj/input-cpf-cnpj.component.d.ts +0 -19
- package/lib/components/inputs/input-cpf-cnpj/input-cpf-cnpj.configuration.d.ts +0 -5
- package/lib/components/inputs/input-date/input-date.component.d.ts +0 -61
- package/lib/components/inputs/input-date/input-date.configuration.d.ts +0 -11
- package/lib/components/inputs/input-decimal/input-decimal.component.d.ts +0 -27
- package/lib/components/inputs/input-decimal/input-decimal.configuration.d.ts +0 -28
- package/lib/components/inputs/input-default-configurations.d.ts +0 -13
- package/lib/components/inputs/input-file/download-button/download-button.component.d.ts +0 -40
- package/lib/components/inputs/input-file/input-file.component.d.ts +0 -28
- package/lib/components/inputs/input-file/input-file.configuration.d.ts +0 -8
- package/lib/components/inputs/input-icon/fluenticons.d.ts +0 -1
- package/lib/components/inputs/input-icon/input-icon.component.d.ts +0 -20
- package/lib/components/inputs/input-icon/ionicons.d.ts +0 -1
- package/lib/components/inputs/input-provider-factory.d.ts +0 -4
- package/lib/components/inputs/input-select/directives/sion-label-template.directive.d.ts +0 -18
- package/lib/components/inputs/input-select/directives/sion-option-template.directive.d.ts +0 -14
- package/lib/components/inputs/input-select/directives/sion-placeholder-template.directive.d.ts +0 -18
- package/lib/components/inputs/input-select/input-select.component.d.ts +0 -83
- package/lib/components/inputs/input-select/input.select.configuration.d.ts +0 -127
- package/lib/components/inputs/input-string/input-string.component.d.ts +0 -14
- package/lib/components/inputs/input-string/input-string.configuration.d.ts +0 -15
- package/lib/components/inputs/input-telefone/input-telefone.component.d.ts +0 -19
- package/lib/components/inputs/input-telefone/input-telefone.configuration.d.ts +0 -9
- package/lib/components/inputs/input-textarea/input-textarea.component.d.ts +0 -17
- package/lib/components/inputs/input-textarea/input-textarea.configuration.d.ts +0 -4
- package/lib/components/inputs/input-type.d.ts +0 -22
- package/lib/components/inputs/input-validators.d.ts +0 -25
- package/lib/components/inputs/inputs.module.d.ts +0 -33
- package/lib/components/loading/loading.component.d.ts +0 -18
- package/lib/components/login/login-admin/login-admin.component.d.ts +0 -20
- package/lib/components/login/login.component.d.ts +0 -29
- package/lib/components/main-content/main-content.component.d.ts +0 -27
- package/lib/components/popover/sion-popover/sion-popover.component.d.ts +0 -43
- package/lib/components/popover/sion-popover.module.d.ts +0 -9
- package/lib/components/sion-card/sion-card.component.d.ts +0 -11
- package/lib/components/stepper/step/step.component.d.ts +0 -15
- package/lib/components/stepper/stepper.component.d.ts +0 -14
- package/lib/components/stepper/stepper.module.d.ts +0 -10
- package/lib/components/tabs/tab/tab.component.d.ts +0 -19
- package/lib/components/tabs/tabs/tabs.component.d.ts +0 -18
- package/lib/components/tabs/tabs.module.d.ts +0 -12
- package/lib/components/text-tooltip/text-tooltip.component.d.ts +0 -16
- package/lib/components/tooltip/tooltip.component.d.ts +0 -7
- package/lib/core.module.d.ts +0 -16
- package/lib/directives/ng-var.directive.d.ts +0 -12
- package/lib/guards/auth.guard.d.ts +0 -11
- package/lib/guards/error.interceptor.d.ts +0 -32
- package/lib/guards/token.interceptor.d.ts +0 -11
- package/lib/index.d.ts +0 -118
- package/lib/pipes/secure.pipe.d.ts +0 -15
- package/lib/services/auth.service.d.ts +0 -47
- package/lib/services/environment.service.d.ts +0 -10
- package/lib/services/generic.service.d.ts +0 -22
- package/lib/services/modal-focus-trap.service.d.ts +0 -13
- package/lib/services/navigation-context.service.d.ts +0 -14
- package/lib/services/popover-focus-trap.service.d.ts +0 -13
- package/lib/services/route/route.cache.service.d.ts +0 -7
- package/lib/services/route/route.provider.service.d.ts +0 -13
- package/lib/services/usuario.service.d.ts +0 -21
- package/lib/services/utils.service.d.ts +0 -53
- package/lib/services/web/api-url-provider.service.d.ts +0 -13
- package/lib/services/web/http.ativo.service.d.ts +0 -20
- package/lib/services/web/http.service.d.ts +0 -59
- package/lib/services/web/storage.service.d.ts +0 -46
- package/public-api.d.ts +0 -1
- /package/{themes → src/lib}/compiled-styles.scss +0 -0
- /package/{themes → src/lib}/components/carousel/carousel-image/carousel-image.component.scss +0 -0
- /package/{themes → src/lib}/components/carousel/carousel-item/carousel-item.component.scss +0 -0
- /package/{themes → src/lib}/components/carousel/carousel.component.scss +0 -0
- /package/{themes → src/lib}/components/content-block/content-block.component.scss +0 -0
- /package/{themes → src/lib}/components/default/default-list/default-list.component.scss +0 -0
- /package/{themes → src/lib}/components/default/default-list/header-list/header-list.component.scss +0 -0
- /package/{themes → src/lib}/components/default/default-pagination/default-pagination.component.scss +0 -0
- /package/{themes → src/lib}/components/default/default-table/default-table.component.scss +0 -0
- /package/{themes → src/lib}/components/default/default-table/th-filter/th-filter.component.scss +0 -0
- /package/{themes → src/lib}/components/default/default-view/default-view.component.scss +0 -0
- /package/{themes → src/lib}/components/default/default-view/header-view/header-view.component.scss +0 -0
- /package/{themes → src/lib}/components/default-page/default.page.scss +0 -0
- /package/{themes → src/lib}/components/drag-drop-file/drag-drop-overlay/drag-drop-overlay.component.scss +0 -0
- /package/{themes → src/lib}/components/drawer/default-drawer-end/default-drawer-end.component.scss +0 -0
- /package/{themes → src/lib}/components/drawer/drawer-group/drawer-group.component.scss +0 -0
- /package/{themes → src/lib}/components/drawer/drawer.component.scss +0 -0
- /package/{themes → src/lib}/components/filter/filter.component.scss +0 -0
- /package/{themes → src/lib}/components/http-responses-pages/forbidden-403/forbidden-403.component.scss +0 -0
- /package/{themes → src/lib}/components/image/image.component.scss +0 -0
- /package/{themes → src/lib}/components/info-popover/info-popover.component.scss +0 -0
- /package/{themes → src/lib}/components/inputs/input-bool/input-bool.component.scss +0 -0
- /package/{themes → src/lib}/components/inputs/input-cep/input-cep.component.scss +0 -0
- /package/{themes → src/lib}/components/inputs/input-color/input-color.component.scss +0 -0
- /package/{themes/components/inputs/input-cpf-cnpj/input-cpf-cnpj.component.scss → src/lib/components/inputs/input-color/input-color.configuration.ts} +0 -0
- /package/{themes/components/inputs/input-icon/input-icon.component.scss → src/lib/components/inputs/input-cpf-cnpj/input-cpf-cnpj.component.scss} +0 -0
- /package/{themes → src/lib}/components/inputs/input-date/input-date.component.scss +0 -0
- /package/{themes → src/lib}/components/inputs/input-decimal/input-decimal.component.scss +0 -0
- /package/{themes → src/lib}/components/inputs/input-file/download-button/download-button.component.scss +0 -0
- /package/{themes → src/lib}/components/inputs/input-file/input-file.component.scss +0 -0
- /package/{themes/components/inputs/input-string/input-string.component.scss → src/lib/components/inputs/input-icon/input-icon.component.scss} +0 -0
- /package/{themes → src/lib}/components/inputs/input-select/input-select.component.scss +0 -0
- /package/{themes/components/inputs/input-telefone/input-telefone.component.scss → src/lib/components/inputs/input-string/input-string.component.scss} +0 -0
- /package/{themes/components/loading/loading.component.scss → src/lib/components/inputs/input-telefone/input-telefone.component.scss} +0 -0
- /package/{themes → src/lib}/components/inputs/input-textarea/input-textarea.component.scss +0 -0
- /package/{themes → src/lib}/components/inputs/inputs.scss +0 -0
- /package/{themes/components/sion-card/sion-card.component.scss → src/lib/components/loading/loading.component.scss} +0 -0
- /package/{themes → src/lib}/components/login/login-admin/login-admin.component.scss +0 -0
- /package/{themes → src/lib}/components/login/login.component.scss +0 -0
- /package/{themes → src/lib}/components/main-content/main-content.component.scss +0 -0
- /package/{themes → src/lib}/components/popover/sion-popover/sion-popover.component.scss +0 -0
- /package/{themes/components/stepper/stepper.component.scss → src/lib/components/sion-card/sion-card.component.scss} +0 -0
- /package/{themes → src/lib}/components/stepper/step/step.component.scss +0 -0
- /package/{themes/components/tabs/tab/tab.component.scss → src/lib/components/stepper/stepper.component.scss} +0 -0
- /package/{themes/components/text-tooltip/text-tooltip.component.scss → src/lib/components/tabs/tab/tab.component.scss} +0 -0
- /package/{themes → src/lib}/components/tabs/tabs/tabs.component.scss +0 -0
- /package/{themes → src/lib}/components/tooltip/tooltip.component.scss +0 -0
- /package/{themes → src/lib}/styles/components.scss +0 -0
- /package/{themes → src/lib}/styles/core.styles.scss +0 -0
- /package/{themes → src/lib}/styles/ionic/ion-action-sheet.scss +0 -0
- /package/{themes → src/lib}/styles/ionic/ion-alert.scss +0 -0
- /package/{themes → src/lib}/styles/ionic/ion-button.scss +0 -0
- /package/{themes → src/lib}/styles/ionic/ion-card.scss +0 -0
- /package/{themes → src/lib}/styles/ionic/ion-content.scss +0 -0
- /package/{themes → src/lib}/styles/ionic/ion-datetime.scss +0 -0
- /package/{themes → src/lib}/styles/ionic/ion-item.scss +0 -0
- /package/{themes → src/lib}/styles/ionic/ion-list.scss +0 -0
- /package/{themes → src/lib}/styles/ionic/ion-modal.scss +0 -0
- /package/{themes → src/lib}/styles/ionic/ion-popover.scss +0 -0
- /package/{themes → src/lib}/styles/ionic/ion-progress-bar.scss +0 -0
- /package/{themes → src/lib}/styles/ionic/ion-searchbar.scss +0 -0
- /package/{themes → src/lib}/styles/ionic/ion-toast.scss +0 -0
- /package/{themes → src/lib}/styles/ionic.scss +0 -0
- /package/{themes → src/lib}/styles/login-default.scss +0 -0
- /package/{themes → src/lib}/styles/mixins.scss +0 -0
- /package/{themes → src/lib}/styles/styles.scss +0 -0
- /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
|