@sapphire-ion/framework 1.2.63 → 1.3.2
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,81 +0,0 @@
|
|
|
1
|
-
import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
-
import { IonBackButton, NavController } from '@ionic/angular';
|
|
3
|
-
import { ActivatedRoute } from '@angular/router';
|
|
4
|
-
import { NavigationContextService } from '../../../../services/navigation-context.service';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@ionic/angular";
|
|
7
|
-
import * as i2 from "@angular/router";
|
|
8
|
-
import * as i3 from "../../../../services/navigation-context.service";
|
|
9
|
-
import * as i4 from "@angular/common";
|
|
10
|
-
export class HeaderViewComponent {
|
|
11
|
-
constructor(navController, activatedRoute, navContext) {
|
|
12
|
-
this.navController = navController;
|
|
13
|
-
this.activatedRoute = activatedRoute;
|
|
14
|
-
this.navContext = navContext;
|
|
15
|
-
this.novo = false;
|
|
16
|
-
this.progress = null;
|
|
17
|
-
this.saveEmitter = new EventEmitter();
|
|
18
|
-
/** Habilita/Desabilita o focus no primeiro campo da view */
|
|
19
|
-
this.focusInFirstField = false;
|
|
20
|
-
/** Remove o botão de volta */
|
|
21
|
-
this.noBack = false;
|
|
22
|
-
/** Remove o botão de Novo */
|
|
23
|
-
this.noNew = false;
|
|
24
|
-
/** Parâmetro usado em telas dentro de telas, para que o retorno sempre seja a tela anterior */
|
|
25
|
-
this.useDefaultRouting = false;
|
|
26
|
-
/**
|
|
27
|
-
* Rota para voltar, caso não seja definida, o componente irá tentar usar rota do ionic
|
|
28
|
-
*/
|
|
29
|
-
this.backRouterLink = undefined;
|
|
30
|
-
}
|
|
31
|
-
ngOnInit() { }
|
|
32
|
-
get DefaultBackRoute() {
|
|
33
|
-
return this.navContext.getBackRoute() ?? '/';
|
|
34
|
-
}
|
|
35
|
-
Back($event = null) {
|
|
36
|
-
this.IonBackButtonElement.onClick($event);
|
|
37
|
-
}
|
|
38
|
-
New() {
|
|
39
|
-
if (!this.novo) {
|
|
40
|
-
this.navController.navigateForward(['../'], {
|
|
41
|
-
relativeTo: this.activatedRoute,
|
|
42
|
-
replaceUrl: true
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
Save() {
|
|
47
|
-
this.saveEmitter.emit();
|
|
48
|
-
}
|
|
49
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: HeaderViewComponent, deps: [{ token: i1.NavController }, { token: i2.ActivatedRoute }, { token: i3.NavigationContextService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
50
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: HeaderViewComponent, selector: "header-view", inputs: { novo: "novo", loading: "loading", progress: "progress", focusInFirstField: "focusInFirstField", noBack: "noBack", noNew: "noNew", useDefaultRouting: "useDefaultRouting", backRouterLink: "backRouterLink" }, outputs: { saveEmitter: "save" }, viewQueries: [{ propertyName: "IonBackButtonElement", first: true, predicate: IonBackButton, descendants: true }, { propertyName: "NewIonButtonElement", first: true, predicate: ["new"], descendants: true }], ngImport: i0, template: "<div class=\"w-full h-7 flex\">\r\n <div class=\"w-1/2 flex items-center justify-start gap-3\">\r\n @if(!noBack){\r\n @if(useDefaultRouting || backRouterLink){\r\n <ion-button class=\"m-0\" fill=\"clear\" size=\"small\" [routerLink]=\"backRouterLink ? backRouterLink : DefaultBackRoute\">\r\n <ion-icon class=\"text-[1.7rem]\" name=\"chevron-back\" slot=\"icon-only\"></ion-icon>\r\n <ion-text class=\"text-base\">Voltar</ion-text>\r\n </ion-button>\r\n }\r\n @else{\r\n <ion-back-button style=\"--min-height: 100%;\" [disabled]=\"loading\" text=\"Voltar\" [defaultHref]=\"DefaultBackRoute\"></ion-back-button>\r\n }\r\n\r\n <!-- <ion-card button [disabled]=\"loading\" class=\"h-full w-12 m-0 default-transition\" style=\"border-color: var(--ion-color-primary)\">\r\n <ion-card-content class=\"p-0 bg-transparent\">\r\n @if(!useDefaultRouting){\r\n <ion-back-button class=\"scale-75 size-full\" style=\"--min-height: 100%;\" text=\"\" [defaultHref]=\"BackRoute\" >\r\n </ion-back-button>\r\n }@else {\r\n <ion-button class=\"size-full\" size=\"small\" fill=\"clear\" [routerLink]=\"BackRoute\">\r\n <ion-icon name=\"chevron-back\" slot=\"icon-only\"></ion-icon>\r\n </ion-button>\r\n }\r\n </ion-card-content>\r\n </ion-card> -->\r\n }\r\n @if(!noBack){\r\n <div class=\"h-full border-r-2 border-r-primary border-solid mask-y/50\"></div>\r\n }\r\n\r\n <div class=\"relative\">\r\n <ion-button class=\"-mx-2\" [disabled]=\"loading\" fill=\"clear\" size=\"small\" (click)=\"Save()\">\r\n <ion-icon class=\"text-base\" slot=\"start\" name=\"save\"></ion-icon>\r\n <ion-text class=\"text-base\">\r\n Salvar\r\n </ion-text>\r\n </ion-button>\r\n\r\n <div class=\"absolute w-[125%] h-[125%] -top-[12.5%] -left-[12.5%] flex flex-col items-center justify-center default-transition backdrop-blur-sm\" [ngClass]=\"{'opacity-0 -translate-y-8': !loading}\">\r\n <ion-text color=\"success\" class=\"text-sm mt-1\"><b>\r\n @if(progress){\r\n {{(progress * 100) | number: '1.1-1'}}%\r\n }@else {\r\n {{0 | number: '1.1-1'}}%\r\n }\r\n </b></ion-text>\r\n <ion-progress-bar [value]=\"progress\" color=\"success\" class=\"w-full default-transition\"></ion-progress-bar>\r\n </div>\r\n </div>\r\n <ng-content select=\"[slot=start]\"></ng-content>\r\n </div>\r\n <div class=\"w-1/2 flex justify-end items-center gap-2\">\r\n <ng-content select=\"[slot=end]\"></ng-content>\r\n\r\n @if(!(noNew || novo)){\r\n <ion-button #new [routerLink]=\"['../']\" class=\"m-0\" fill=\"clear\" size=\"small\">\r\n <ion-icon class=\"text-base\" name=\"add\" slot=\"start\"></ion-icon> \r\n <ion-text class=\"text-base\">\r\n Novo\r\n </ion-text>\r\n </ion-button>\r\n }\r\n </div>\r\n</div>", styles: ["#back{margin:0;margin-right:.5rem;width:2rem;border-radius:1rem;padding:0}#back::part(native){padding-left:.5rem;padding-right:.5rem}\n"], dependencies: [{ kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1.IonProgressBar, selector: "ion-progress-bar", inputs: ["buffer", "color", "mode", "reversed", "type", "value"] }, { kind: "component", type: i1.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "component", type: i1.IonBackButton, selector: "ion-back-button" }, { kind: "directive", type: i1.RouterLinkDelegate, selector: ":not(a):not(area)[routerLink]" }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "pipe", type: i4.DecimalPipe, name: "number" }] }); }
|
|
51
|
-
}
|
|
52
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: HeaderViewComponent, decorators: [{
|
|
53
|
-
type: Component,
|
|
54
|
-
args: [{ selector: 'header-view', template: "<div class=\"w-full h-7 flex\">\r\n <div class=\"w-1/2 flex items-center justify-start gap-3\">\r\n @if(!noBack){\r\n @if(useDefaultRouting || backRouterLink){\r\n <ion-button class=\"m-0\" fill=\"clear\" size=\"small\" [routerLink]=\"backRouterLink ? backRouterLink : DefaultBackRoute\">\r\n <ion-icon class=\"text-[1.7rem]\" name=\"chevron-back\" slot=\"icon-only\"></ion-icon>\r\n <ion-text class=\"text-base\">Voltar</ion-text>\r\n </ion-button>\r\n }\r\n @else{\r\n <ion-back-button style=\"--min-height: 100%;\" [disabled]=\"loading\" text=\"Voltar\" [defaultHref]=\"DefaultBackRoute\"></ion-back-button>\r\n }\r\n\r\n <!-- <ion-card button [disabled]=\"loading\" class=\"h-full w-12 m-0 default-transition\" style=\"border-color: var(--ion-color-primary)\">\r\n <ion-card-content class=\"p-0 bg-transparent\">\r\n @if(!useDefaultRouting){\r\n <ion-back-button class=\"scale-75 size-full\" style=\"--min-height: 100%;\" text=\"\" [defaultHref]=\"BackRoute\" >\r\n </ion-back-button>\r\n }@else {\r\n <ion-button class=\"size-full\" size=\"small\" fill=\"clear\" [routerLink]=\"BackRoute\">\r\n <ion-icon name=\"chevron-back\" slot=\"icon-only\"></ion-icon>\r\n </ion-button>\r\n }\r\n </ion-card-content>\r\n </ion-card> -->\r\n }\r\n @if(!noBack){\r\n <div class=\"h-full border-r-2 border-r-primary border-solid mask-y/50\"></div>\r\n }\r\n\r\n <div class=\"relative\">\r\n <ion-button class=\"-mx-2\" [disabled]=\"loading\" fill=\"clear\" size=\"small\" (click)=\"Save()\">\r\n <ion-icon class=\"text-base\" slot=\"start\" name=\"save\"></ion-icon>\r\n <ion-text class=\"text-base\">\r\n Salvar\r\n </ion-text>\r\n </ion-button>\r\n\r\n <div class=\"absolute w-[125%] h-[125%] -top-[12.5%] -left-[12.5%] flex flex-col items-center justify-center default-transition backdrop-blur-sm\" [ngClass]=\"{'opacity-0 -translate-y-8': !loading}\">\r\n <ion-text color=\"success\" class=\"text-sm mt-1\"><b>\r\n @if(progress){\r\n {{(progress * 100) | number: '1.1-1'}}%\r\n }@else {\r\n {{0 | number: '1.1-1'}}%\r\n }\r\n </b></ion-text>\r\n <ion-progress-bar [value]=\"progress\" color=\"success\" class=\"w-full default-transition\"></ion-progress-bar>\r\n </div>\r\n </div>\r\n <ng-content select=\"[slot=start]\"></ng-content>\r\n </div>\r\n <div class=\"w-1/2 flex justify-end items-center gap-2\">\r\n <ng-content select=\"[slot=end]\"></ng-content>\r\n\r\n @if(!(noNew || novo)){\r\n <ion-button #new [routerLink]=\"['../']\" class=\"m-0\" fill=\"clear\" size=\"small\">\r\n <ion-icon class=\"text-base\" name=\"add\" slot=\"start\"></ion-icon> \r\n <ion-text class=\"text-base\">\r\n Novo\r\n </ion-text>\r\n </ion-button>\r\n }\r\n </div>\r\n</div>", styles: ["#back{margin:0;margin-right:.5rem;width:2rem;border-radius:1rem;padding:0}#back::part(native){padding-left:.5rem;padding-right:.5rem}\n"] }]
|
|
55
|
-
}], ctorParameters: () => [{ type: i1.NavController }, { type: i2.ActivatedRoute }, { type: i3.NavigationContextService }], propDecorators: { novo: [{
|
|
56
|
-
type: Input
|
|
57
|
-
}], loading: [{
|
|
58
|
-
type: Input
|
|
59
|
-
}], progress: [{
|
|
60
|
-
type: Input
|
|
61
|
-
}], saveEmitter: [{
|
|
62
|
-
type: Output,
|
|
63
|
-
args: ['save']
|
|
64
|
-
}], focusInFirstField: [{
|
|
65
|
-
type: Input
|
|
66
|
-
}], noBack: [{
|
|
67
|
-
type: Input
|
|
68
|
-
}], noNew: [{
|
|
69
|
-
type: Input
|
|
70
|
-
}], useDefaultRouting: [{
|
|
71
|
-
type: Input
|
|
72
|
-
}], backRouterLink: [{
|
|
73
|
-
type: Input
|
|
74
|
-
}], IonBackButtonElement: [{
|
|
75
|
-
type: ViewChild,
|
|
76
|
-
args: [IonBackButton]
|
|
77
|
-
}], NewIonButtonElement: [{
|
|
78
|
-
type: ViewChild,
|
|
79
|
-
args: ['new']
|
|
80
|
-
}] } });
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2RlZmF1bHQvZGVmYXVsdC12aWV3L2hlYWRlci12aWV3L2hlYWRlci12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9kZWZhdWx0L2RlZmF1bHQtdmlldy9oZWFkZXItdmlldy9oZWFkZXItdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEcsT0FBTyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsY0FBYyxFQUFXLE1BQU0saUJBQWlCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saURBQWlELENBQUM7Ozs7OztBQU8zRixNQUFNLE9BQU8sbUJBQW1CO0lBcUI5QixZQUNVLGFBQTRCLEVBQzVCLGNBQThCLEVBQzlCLFVBQXFDO1FBRnJDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixlQUFVLEdBQVYsVUFBVSxDQUEyQjtRQXRCdEMsU0FBSSxHQUFZLEtBQUssQ0FBQztRQUV0QixhQUFRLEdBQWtCLElBQUksQ0FBQztRQUV4QixnQkFBVyxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBRTNFLDREQUE0RDtRQUNuRCxzQkFBaUIsR0FBWSxLQUFLLENBQUM7UUFDNUMsOEJBQThCO1FBQ3JCLFdBQU0sR0FBWSxLQUFLLENBQUM7UUFDakMsNkJBQTZCO1FBQ3BCLFVBQUssR0FBYSxLQUFLLENBQUM7UUFDakMsK0ZBQStGO1FBQ3RGLHNCQUFpQixHQUFZLEtBQUssQ0FBQztRQUM1Qzs7VUFFRTtRQUNPLG1CQUFjLEdBQXlDLFNBQVMsQ0FBQztJQU10RSxDQUFDO0lBRUwsUUFBUSxLQUFJLENBQUM7SUFFYixJQUFjLGdCQUFnQjtRQUM1QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLElBQUksR0FBRyxDQUFDO0lBQy9DLENBQUM7SUFHTSxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUk7UUFDdkIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUMzQyxDQUFDO0lBRU0sR0FBRztRQUNSLElBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFDLENBQUM7WUFDYixJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUMxQyxVQUFVLEVBQUUsSUFBSSxDQUFDLGNBQWM7Z0JBQy9CLFVBQVUsRUFBRSxJQUFJO2FBQ2pCLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDMUIsQ0FBQzsrR0FqRFUsbUJBQW1CO21HQUFuQixtQkFBbUIsbVdBaUNuQixhQUFhLDZJQzNDMUIsaTlGQStETTs7NEZEckRPLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxhQUFhO3NKQU1kLElBQUk7c0JBQVosS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFFVSxXQUFXO3NCQUExQixNQUFNO3VCQUFDLE1BQU07Z0JBR0wsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUVHLE1BQU07c0JBQWQsS0FBSztnQkFFRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUlHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBY29CLG9CQUFvQjtzQkFBN0MsU0FBUzt1QkFBQyxhQUFhO2dCQUlOLG1CQUFtQjtzQkFBcEMsU0FBUzt1QkFBQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IElvbkJhY2tCdXR0b24sIE5hdkNvbnRyb2xsZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBVcmxUcmVlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgTmF2aWdhdGlvbkNvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvbmF2aWdhdGlvbi1jb250ZXh0LnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdoZWFkZXItdmlldycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2hlYWRlci12aWV3LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9oZWFkZXItdmlldy5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgSGVhZGVyVmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBJbnB1dCgpIG5vdm86IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBsb2FkaW5nOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIHByb2dyZXNzOiBudW1iZXIgfCBudWxsID0gbnVsbDtcclxuICBcclxuICBAT3V0cHV0KCdzYXZlJykgc2F2ZUVtaXR0ZXI6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTsgIFxyXG5cclxuICAvKiogSGFiaWxpdGEvRGVzYWJpbGl0YSBvIGZvY3VzIG5vIHByaW1laXJvIGNhbXBvIGRhIHZpZXcgKi9cclxuICBASW5wdXQoKSBmb2N1c0luRmlyc3RGaWVsZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIC8qKiBSZW1vdmUgbyBib3TDo28gZGUgdm9sdGEgKi9cclxuICBASW5wdXQoKSBub0JhY2s6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAvKiogUmVtb3ZlIG8gYm90w6NvIGRlIE5vdm8gKi9cclxuICBASW5wdXQoKSBub05ldyA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAvKiogUGFyw6JtZXRybyB1c2FkbyBlbSB0ZWxhcyBkZW50cm8gZGUgdGVsYXMsIHBhcmEgcXVlIG8gcmV0b3JubyBzZW1wcmUgc2VqYSBhIHRlbGEgYW50ZXJpb3IgKi9cclxuICBASW5wdXQoKSB1c2VEZWZhdWx0Um91dGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIC8qKiAgXHJcbiAgICogUm90YSBwYXJhIHZvbHRhciwgY2FzbyBuw6NvIHNlamEgZGVmaW5pZGEsIG8gY29tcG9uZW50ZSBpcsOhIHRlbnRhciB1c2FyIHJvdGEgZG8gaW9uaWNcclxuICAqL1xyXG4gIEBJbnB1dCgpIGJhY2tSb3V0ZXJMaW5rOiBzdHJpbmcgfCBhbnlbXSB8IFVybFRyZWUgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBuYXZDb250cm9sbGVyOiBOYXZDb250cm9sbGVyLFxyXG4gICAgcHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICBwcml2YXRlIG5hdkNvbnRleHQgOiBOYXZpZ2F0aW9uQ29udGV4dFNlcnZpY2VcclxuICApIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpIHt9XHJcblxyXG4gIHByb3RlY3RlZCBnZXQgRGVmYXVsdEJhY2tSb3V0ZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMubmF2Q29udGV4dC5nZXRCYWNrUm91dGUoKSA/PyAnLyc7XHJcbiAgfVxyXG5cclxuICBAVmlld0NoaWxkKElvbkJhY2tCdXR0b24pIElvbkJhY2tCdXR0b25FbGVtZW50OiBJb25CYWNrQnV0dG9uOyBcclxuICBwdWJsaWMgQmFjaygkZXZlbnQgPSBudWxsKXtcclxuICAgIHRoaXMuSW9uQmFja0J1dHRvbkVsZW1lbnQub25DbGljaygkZXZlbnQpXHJcbiAgfVxyXG4gIEBWaWV3Q2hpbGQoJ25ldycpIE5ld0lvbkJ1dHRvbkVsZW1lbnQ6IEVsZW1lbnRSZWY7IFxyXG4gIHB1YmxpYyBOZXcoKXtcclxuICAgIGlmKCF0aGlzLm5vdm8pe1xyXG4gICAgICB0aGlzLm5hdkNvbnRyb2xsZXIubmF2aWdhdGVGb3J3YXJkKFsnLi4vJ10sIHsgXHJcbiAgICAgICAgcmVsYXRpdmVUbzogdGhpcy5hY3RpdmF0ZWRSb3V0ZSxcclxuICAgICAgICByZXBsYWNlVXJsOiB0cnVlIFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIFNhdmUoKTogdm9pZHtcclxuICAgIHRoaXMuc2F2ZUVtaXR0ZXIuZW1pdCgpO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInctZnVsbCBoLTcgZmxleFwiPlxyXG4gIDxkaXYgY2xhc3M9XCJ3LTEvMiBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LXN0YXJ0IGdhcC0zXCI+XHJcbiAgICBAaWYoIW5vQmFjayl7XHJcbiAgICAgIEBpZih1c2VEZWZhdWx0Um91dGluZyB8fCBiYWNrUm91dGVyTGluayl7XHJcbiAgICAgICAgPGlvbi1idXR0b24gY2xhc3M9XCJtLTBcIiBmaWxsPVwiY2xlYXJcIiBzaXplPVwic21hbGxcIiBbcm91dGVyTGlua109XCJiYWNrUm91dGVyTGluayA/IGJhY2tSb3V0ZXJMaW5rIDogRGVmYXVsdEJhY2tSb3V0ZVwiPlxyXG4gICAgICAgICAgPGlvbi1pY29uIGNsYXNzPVwidGV4dC1bMS43cmVtXVwiIG5hbWU9XCJjaGV2cm9uLWJhY2tcIiBzbG90PVwiaWNvbi1vbmx5XCI+PC9pb24taWNvbj5cclxuICAgICAgICAgIDxpb24tdGV4dCBjbGFzcz1cInRleHQtYmFzZVwiPlZvbHRhcjwvaW9uLXRleHQ+XHJcbiAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICB9XHJcbiAgICAgIEBlbHNle1xyXG4gICAgICAgIDxpb24tYmFjay1idXR0b24gc3R5bGU9XCItLW1pbi1oZWlnaHQ6IDEwMCU7XCIgW2Rpc2FibGVkXT1cImxvYWRpbmdcIiB0ZXh0PVwiVm9sdGFyXCIgW2RlZmF1bHRIcmVmXT1cIkRlZmF1bHRCYWNrUm91dGVcIj48L2lvbi1iYWNrLWJ1dHRvbj5cclxuICAgICAgfVxyXG5cclxuICAgICAgPCEtLSA8aW9uLWNhcmQgYnV0dG9uIFtkaXNhYmxlZF09XCJsb2FkaW5nXCIgY2xhc3M9XCJoLWZ1bGwgdy0xMiBtLTAgZGVmYXVsdC10cmFuc2l0aW9uXCIgc3R5bGU9XCJib3JkZXItY29sb3I6IHZhcigtLWlvbi1jb2xvci1wcmltYXJ5KVwiPlxyXG4gICAgICAgIDxpb24tY2FyZC1jb250ZW50IGNsYXNzPVwicC0wIGJnLXRyYW5zcGFyZW50XCI+XHJcbiAgICAgICAgICBAaWYoIXVzZURlZmF1bHRSb3V0aW5nKXtcclxuICAgICAgICAgICAgPGlvbi1iYWNrLWJ1dHRvbiBjbGFzcz1cInNjYWxlLTc1IHNpemUtZnVsbFwiIHN0eWxlPVwiLS1taW4taGVpZ2h0OiAxMDAlO1wiIHRleHQ9XCJcIiAgW2RlZmF1bHRIcmVmXT1cIkJhY2tSb3V0ZVwiID5cclxuICAgICAgICAgICAgPC9pb24tYmFjay1idXR0b24+XHJcbiAgICAgICAgICB9QGVsc2Uge1xyXG4gICAgICAgICAgICA8aW9uLWJ1dHRvbiBjbGFzcz1cInNpemUtZnVsbFwiIHNpemU9XCJzbWFsbFwiIGZpbGw9XCJjbGVhclwiIFtyb3V0ZXJMaW5rXT1cIkJhY2tSb3V0ZVwiPlxyXG4gICAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwiY2hldnJvbi1iYWNrXCIgc2xvdD1cImljb24tb25seVwiPjwvaW9uLWljb24+XHJcbiAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICAgIH1cclxuICAgICAgICA8L2lvbi1jYXJkLWNvbnRlbnQ+XHJcbiAgICAgIDwvaW9uLWNhcmQ+IC0tPlxyXG4gICAgfVxyXG4gICAgQGlmKCFub0JhY2spe1xyXG4gICAgICA8ZGl2IGNsYXNzPVwiaC1mdWxsIGJvcmRlci1yLTIgYm9yZGVyLXItcHJpbWFyeSBib3JkZXItc29saWQgbWFzay15LzUwXCI+PC9kaXY+XHJcbiAgICB9XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cInJlbGF0aXZlXCI+XHJcbiAgICAgIDxpb24tYnV0dG9uIGNsYXNzPVwiLW14LTJcIiBbZGlzYWJsZWRdPVwibG9hZGluZ1wiIGZpbGw9XCJjbGVhclwiIHNpemU9XCJzbWFsbFwiIChjbGljayk9XCJTYXZlKClcIj5cclxuICAgICAgICA8aW9uLWljb24gY2xhc3M9XCJ0ZXh0LWJhc2VcIiBzbG90PVwic3RhcnRcIiBuYW1lPVwic2F2ZVwiPjwvaW9uLWljb24+XHJcbiAgICAgICAgPGlvbi10ZXh0IGNsYXNzPVwidGV4dC1iYXNlXCI+XHJcbiAgICAgICAgICBTYWx2YXJcclxuICAgICAgICA8L2lvbi10ZXh0PlxyXG4gICAgICA8L2lvbi1idXR0b24+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYWJzb2x1dGUgdy1bMTI1JV0gaC1bMTI1JV0gLXRvcC1bMTIuNSVdIC1sZWZ0LVsxMi41JV0gZmxleCBmbGV4LWNvbCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZGVmYXVsdC10cmFuc2l0aW9uIGJhY2tkcm9wLWJsdXItc21cIiBbbmdDbGFzc109XCJ7J29wYWNpdHktMCAtdHJhbnNsYXRlLXktOCc6ICFsb2FkaW5nfVwiPlxyXG4gICAgICAgIDxpb24tdGV4dCBjb2xvcj1cInN1Y2Nlc3NcIiBjbGFzcz1cInRleHQtc20gbXQtMVwiPjxiPlxyXG4gICAgICAgICAgQGlmKHByb2dyZXNzKXtcclxuICAgICAgICAgICAge3socHJvZ3Jlc3MgKiAxMDApIHwgbnVtYmVyOiAnMS4xLTEnfX0lXHJcbiAgICAgICAgICB9QGVsc2Uge1xyXG4gICAgICAgICAgICB7ezAgfCBudW1iZXI6ICcxLjEtMSd9fSVcclxuICAgICAgICAgIH1cclxuICAgICAgICA8L2I+PC9pb24tdGV4dD5cclxuICAgICAgICA8aW9uLXByb2dyZXNzLWJhciBbdmFsdWVdPVwicHJvZ3Jlc3NcIiBjb2xvcj1cInN1Y2Nlc3NcIiBjbGFzcz1cInctZnVsbCBkZWZhdWx0LXRyYW5zaXRpb25cIj48L2lvbi1wcm9ncmVzcy1iYXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbc2xvdD1zdGFydF1cIj48L25nLWNvbnRlbnQ+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cInctMS8yIGZsZXgganVzdGlmeS1lbmQgaXRlbXMtY2VudGVyIGdhcC0yXCI+XHJcbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbc2xvdD1lbmRdXCI+PC9uZy1jb250ZW50PlxyXG5cclxuICAgIEBpZighKG5vTmV3IHx8IG5vdm8pKXtcclxuICAgICAgPGlvbi1idXR0b24gI25ldyBbcm91dGVyTGlua109XCJbJy4uLyddXCIgY2xhc3M9XCJtLTBcIiBmaWxsPVwiY2xlYXJcIiBzaXplPVwic21hbGxcIj5cclxuICAgICAgICA8aW9uLWljb24gY2xhc3M9XCJ0ZXh0LWJhc2VcIiBuYW1lPVwiYWRkXCIgc2xvdD1cInN0YXJ0XCI+PC9pb24taWNvbj4gXHJcbiAgICAgICAgPGlvbi10ZXh0IGNsYXNzPVwidGV4dC1iYXNlXCI+XHJcbiAgICAgICAgICBOb3ZvXHJcbiAgICAgICAgPC9pb24tdGV4dD5cclxuICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG48L2Rpdj4iXX0=
|
|
@@ -1,198 +0,0 @@
|
|
|
1
|
-
import { Component, ElementRef, EventEmitter, HostListener, inject, Input, Output, QueryList, ViewChild, ViewChildren } from "@angular/core";
|
|
2
|
-
import { FormBuilder } from "@angular/forms";
|
|
3
|
-
import { ActivatedRoute } from "@angular/router";
|
|
4
|
-
import { GenericService } from "../../../services/generic.service";
|
|
5
|
-
import { TableFieldFormBuilder } from "../../../classes/inputs/table-field-form-builder";
|
|
6
|
-
import { firstValueFrom, lastValueFrom } from "rxjs";
|
|
7
|
-
import { HeaderViewComponent } from "./header-view/header-view.component";
|
|
8
|
-
import { CustomInput } from "../../inputs/custom-input";
|
|
9
|
-
import { Timeout } from "../../../services/utils.service";
|
|
10
|
-
import { NavigationContextService } from '../../../services/navigation-context.service';
|
|
11
|
-
import * as i0 from "@angular/core";
|
|
12
|
-
export class View {
|
|
13
|
-
constructor() {
|
|
14
|
-
/** Id do dado a ser carregado */
|
|
15
|
-
this.id = null;
|
|
16
|
-
this.loading = false;
|
|
17
|
-
this.submitted = false;
|
|
18
|
-
/** Habilita/Desabilita o focus no primeiro campo da view
|
|
19
|
-
* 1 - para ativar no novo e no editar
|
|
20
|
-
* 2 - para ativar apenas no novo
|
|
21
|
-
* 3 - para desativar para os dois casos
|
|
22
|
-
*/
|
|
23
|
-
this.startInFirstField = 2;
|
|
24
|
-
this.nested = false;
|
|
25
|
-
/** Lista de TableFields a serem invocados de acordo com sua configuração.
|
|
26
|
-
* Automaticamente preenchido com service.lstTableFieldsView ou service.lstTableFields quando não informado
|
|
27
|
-
*/
|
|
28
|
-
this.lstTableFields = [];
|
|
29
|
-
this.redirectPath = "/view/:id";
|
|
30
|
-
this.ViewDidRefreshEmitter = new EventEmitter();
|
|
31
|
-
/** Emite o id da entidade salva apos o salvamento */
|
|
32
|
-
this.SaveEmitter = new EventEmitter();
|
|
33
|
-
this.genericService = inject(GenericService);
|
|
34
|
-
this.activatedRoute = inject(ActivatedRoute);
|
|
35
|
-
this.elementRef = inject(ElementRef);
|
|
36
|
-
this.fb = inject(FormBuilder);
|
|
37
|
-
this.navContext = inject(NavigationContextService);
|
|
38
|
-
}
|
|
39
|
-
async ngOnInit() {
|
|
40
|
-
if (this.lstTableFields.length == 0) {
|
|
41
|
-
if (this.service.lstTableFieldsView.length != 0) {
|
|
42
|
-
this.lstTableFields = this.service.lstTableFieldsView;
|
|
43
|
-
}
|
|
44
|
-
else {
|
|
45
|
-
this.lstTableFields = this.service.lstTableFields;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
if (this.id == null) {
|
|
49
|
-
this.id = this.genericService.GetId(this.activatedRoute, 0);
|
|
50
|
-
}
|
|
51
|
-
if (!this.service) {
|
|
52
|
-
console.warn("[ View service is not valid! ]");
|
|
53
|
-
}
|
|
54
|
-
if (instanceOfViewWillCreateForm(this)) {
|
|
55
|
-
this.OnViewWillCreateForm();
|
|
56
|
-
}
|
|
57
|
-
await this.CreateForm();
|
|
58
|
-
if (instanceOfViewDidCreateForm(this)) {
|
|
59
|
-
this.OnViewDidCreateForm();
|
|
60
|
-
}
|
|
61
|
-
if (this.elementRef && this.elementRef.nativeElement && this.elementRef.nativeElement.parentElement) {
|
|
62
|
-
this.nested = this.elementRef.nativeElement.parentElement.tagName.toUpperCase() != "ION-CONTENT";
|
|
63
|
-
}
|
|
64
|
-
else {
|
|
65
|
-
this.nested = true;
|
|
66
|
-
}
|
|
67
|
-
await this.Refresh();
|
|
68
|
-
if (this.startInFirstField == 1) {
|
|
69
|
-
await this.FocusOnFirstField();
|
|
70
|
-
}
|
|
71
|
-
else if (this.startInFirstField == 2) {
|
|
72
|
-
if (!this.id) {
|
|
73
|
-
await this.FocusOnFirstField();
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
async FocusOnFirstField() {
|
|
78
|
-
try {
|
|
79
|
-
await Timeout(100);
|
|
80
|
-
this.lstCustomInputs.first.setFocus(null);
|
|
81
|
-
}
|
|
82
|
-
catch { }
|
|
83
|
-
}
|
|
84
|
-
async Refresh() {
|
|
85
|
-
this.loading = true;
|
|
86
|
-
try {
|
|
87
|
-
await this.Load();
|
|
88
|
-
}
|
|
89
|
-
finally { }
|
|
90
|
-
this.loading = false;
|
|
91
|
-
this.ViewDidRefreshEmitter.emit();
|
|
92
|
-
}
|
|
93
|
-
async Load() {
|
|
94
|
-
if (!this.id) {
|
|
95
|
-
return;
|
|
96
|
-
}
|
|
97
|
-
const res = await firstValueFrom(this.service.Get(this.id));
|
|
98
|
-
this.frm.patchValue(res);
|
|
99
|
-
}
|
|
100
|
-
async CreateForm() {
|
|
101
|
-
this.frm = TableFieldFormBuilder.create(this.lstTableFields, this.fb);
|
|
102
|
-
await this.LoadIdComparison();
|
|
103
|
-
}
|
|
104
|
-
async LoadIdComparison() {
|
|
105
|
-
try {
|
|
106
|
-
const data = await firstValueFrom(this.activatedRoute.data);
|
|
107
|
-
if (!data) {
|
|
108
|
-
return;
|
|
109
|
-
}
|
|
110
|
-
const id = this.genericService.GetId(this.activatedRoute, data.idPreloaderConfiguration.routeDepth);
|
|
111
|
-
if (!id) {
|
|
112
|
-
return;
|
|
113
|
-
}
|
|
114
|
-
this.frm.controls[data.idPreloaderConfiguration.propertyName].setValue(id);
|
|
115
|
-
this.lstTableFields.find(p => p.index == data.idPreloaderConfiguration.propertyName).disabled = true;
|
|
116
|
-
}
|
|
117
|
-
catch { }
|
|
118
|
-
}
|
|
119
|
-
async Save() {
|
|
120
|
-
await lastValueFrom(this.service.Save(this.frm, this));
|
|
121
|
-
this.SaveEmitter.emit(this.id);
|
|
122
|
-
}
|
|
123
|
-
get BackRoute() {
|
|
124
|
-
return this.navContext.getBackRoute() ?? '/';
|
|
125
|
-
}
|
|
126
|
-
GetCurrentRouting() { return this.activatedRoute; }
|
|
127
|
-
NavigateToList() {
|
|
128
|
-
const back = this.navContext.getBackRoute() ?? '/';
|
|
129
|
-
this.navController.navigateBack(back);
|
|
130
|
-
}
|
|
131
|
-
onKeyPress($event) {
|
|
132
|
-
if (!(this.elementRef.nativeElement.contains(document.activeElement) || document.activeElement == this.elementRef.nativeElement)) {
|
|
133
|
-
return;
|
|
134
|
-
}
|
|
135
|
-
if ($event.key == 'Escape') {
|
|
136
|
-
this.HeaderViewComponentElement.Back($event);
|
|
137
|
-
$event.preventDefault();
|
|
138
|
-
return;
|
|
139
|
-
}
|
|
140
|
-
if (($event.ctrlKey || $event.metaKey) && ($event.key == 'Enter')) {
|
|
141
|
-
this.Save();
|
|
142
|
-
$event.preventDefault();
|
|
143
|
-
return;
|
|
144
|
-
}
|
|
145
|
-
if ($event.altKey && $event.key == 'Insert') {
|
|
146
|
-
this.HeaderViewComponentElement.New();
|
|
147
|
-
$event.preventDefault();
|
|
148
|
-
return;
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: View, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
152
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: View, selector: "ng-component", inputs: { id: "id", loading: "loading", submitted: "submitted", progress: "progress", service: "service", startInFirstField: "startInFirstField", lstTableFields: "lstTableFields", redirectPath: "redirectPath" }, outputs: { ViewDidRefreshEmitter: "ViewDidRefresh", SaveEmitter: "Save" }, host: { listeners: { "window:keydown": "onKeyPress($event)" } }, viewQueries: [{ propertyName: "Wrapper", first: true, predicate: [".wrapper"], descendants: true }, { propertyName: "HeaderViewComponentElement", first: true, predicate: HeaderViewComponent, descendants: true }, { propertyName: "lstCustomInputs", predicate: CustomInput, descendants: true }], ngImport: i0, template: '', isInline: true, styles: [""] }); }
|
|
153
|
-
}
|
|
154
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: View, decorators: [{
|
|
155
|
-
type: Component,
|
|
156
|
-
args: [{ template: '' }]
|
|
157
|
-
}], ctorParameters: () => [], propDecorators: { id: [{
|
|
158
|
-
type: Input
|
|
159
|
-
}], loading: [{
|
|
160
|
-
type: Input
|
|
161
|
-
}], submitted: [{
|
|
162
|
-
type: Input
|
|
163
|
-
}], progress: [{
|
|
164
|
-
type: Input
|
|
165
|
-
}], service: [{
|
|
166
|
-
type: Input
|
|
167
|
-
}], startInFirstField: [{
|
|
168
|
-
type: Input
|
|
169
|
-
}], lstTableFields: [{
|
|
170
|
-
type: Input
|
|
171
|
-
}], redirectPath: [{
|
|
172
|
-
type: Input
|
|
173
|
-
}], Wrapper: [{
|
|
174
|
-
type: ViewChild,
|
|
175
|
-
args: ['.wrapper']
|
|
176
|
-
}], lstCustomInputs: [{
|
|
177
|
-
type: ViewChildren,
|
|
178
|
-
args: [CustomInput]
|
|
179
|
-
}], ViewDidRefreshEmitter: [{
|
|
180
|
-
type: Output,
|
|
181
|
-
args: ['ViewDidRefresh']
|
|
182
|
-
}], SaveEmitter: [{
|
|
183
|
-
type: Output,
|
|
184
|
-
args: ['Save']
|
|
185
|
-
}], HeaderViewComponentElement: [{
|
|
186
|
-
type: ViewChild,
|
|
187
|
-
args: [HeaderViewComponent]
|
|
188
|
-
}], onKeyPress: [{
|
|
189
|
-
type: HostListener,
|
|
190
|
-
args: ['window:keydown', ['$event']]
|
|
191
|
-
}] } });
|
|
192
|
-
function instanceOfViewWillCreateForm(object) {
|
|
193
|
-
return 'OnViewWillCreateForm' in object;
|
|
194
|
-
}
|
|
195
|
-
function instanceOfViewDidCreateForm(object) {
|
|
196
|
-
return 'OnViewDidCreateForm' in object;
|
|
197
|
-
}
|
|
198
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9kZWZhdWx0L2RlZmF1bHQtdmlldy92aWV3LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBYSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEssT0FBTyxFQUFFLFdBQVcsRUFBYSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUlqRCxPQUFPLEVBQUUsY0FBYyxFQUFJLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFFekYsT0FBTyxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFHMUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMxRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQzs7QUFHeEYsTUFBTSxPQUFnQixJQUFJO0lBdUJ4QjtRQXRCQSxpQ0FBaUM7UUFDeEIsT0FBRSxHQUF5QixJQUFJLENBQUM7UUFDaEMsWUFBTyxHQUFjLEtBQUssQ0FBQztRQUMzQixjQUFTLEdBQVksS0FBSyxDQUFDO1FBS3BDOzs7O1dBSUc7UUFDTSxzQkFBaUIsR0FBWSxDQUFDLENBQUM7UUFPOUIsV0FBTSxHQUFZLEtBQUssQ0FBQztRQVVsQzs7WUFFSTtRQUNLLG1CQUFjLEdBQWlCLEVB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b0JHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ1UsWUFBWTtzQkFBM0IsS0FBSztnQkFHaUIsT0FBTztzQkFBN0IsU0FBUzt1QkFBQyxVQUFVO2dCQXFDTSxlQUFlO3NCQUF6QyxZQUFZO3VCQUFDLFdBQVc7Z0JBUUMscUJBQXFCO3NCQUE5QyxNQUFNO3VCQUFDLGdCQUFnQjtnQkFvQ1IsV0FBVztzQkFBMUIsTUFBTTt1QkFBQyxNQUFNO2dCQW9Ca0IsMEJBQTBCO3NCQUF6RCxTQUFTO3VCQUFDLG1CQUFtQjtnQkFHOUIsVUFBVTtzQkFEVCxZQUFZO3VCQUFDLGdCQUFnQixFQUFDLENBQUMsUUFBUSxDQUFDOztBQTBCM0MsU0FBUyw0QkFBNEIsQ0FBQyxNQUFXO0lBQy9DLE9BQU8sc0JBQXNCLElBQUksTUFBTSxDQUFDO0FBQzFDLENBQUM7QUFJRCxTQUFTLDJCQUEyQixDQUFDLE1BQVc7SUFDOUMsT0FBTyxxQkFBcUIsSUFBSSxNQUFNLENBQUM7QUFDekMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIGluamVjdCwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBRdWVyeUxpc3QsIFZpZXdDaGlsZCwgdmlld0NoaWxkLCBWaWV3Q2hpbGRyZW4gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5cclxuaW1wb3J0IHsgSHR0cFNlcnZpY2UgICAgICB9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlcy93ZWIvaHR0cC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEh0dHBTZXJ2aWNlQXRpdm8gfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZXMvd2ViL2h0dHAuYXRpdm8uc2VydmljZVwiO1xyXG5pbXBvcnQgeyBHZW5lcmljU2VydmljZSAgIH0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2VzL2dlbmVyaWMuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBUYWJsZUZpZWxkRm9ybUJ1aWxkZXIgfSBmcm9tIFwiLi4vLi4vLi4vY2xhc3Nlcy9pbnB1dHMvdGFibGUtZmllbGQtZm9ybS1idWlsZGVyXCI7XHJcbmltcG9ydCB7IE5hdkNvbnRyb2xsZXIgfSBmcm9tIFwiQGlvbmljL2FuZ3VsYXJcIjtcclxuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20sIGxhc3RWYWx1ZUZyb20gfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBIZWFkZXJWaWV3Q29tcG9uZW50IH0gZnJvbSBcIi4vaGVhZGVyLXZpZXcvaGVhZGVyLXZpZXcuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFRhYmxlRmllbGQgfSBmcm9tIFwiLi4vLi4vLi4vY2xhc3Nlcy9pbnB1dHMvdGFibGUtZmllbGRcIjtcclxuaW1wb3J0IHsgUm91dGVEYXRhIH0gZnJvbSBcIi4uLy4uLy4uL2NsYXNzZXMvcm91dGVzL3JvdXRlLWRhdGFcIjtcclxuaW1wb3J0IHsgQ3VzdG9tSW5wdXQgfSBmcm9tIFwiLi4vLi4vaW5wdXRzL2N1c3RvbS1pbnB1dFwiO1xyXG5pbXBvcnQgeyBUaW1lb3V0IH0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2VzL3V0aWxzLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgTmF2aWdhdGlvbkNvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbmF2aWdhdGlvbi1jb250ZXh0LnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7IHRlbXBsYXRlOiAnJywgc3R5bGVzOiAnJyB9KVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVmlldzxUIGV4dGVuZHMgSHR0cFNlcnZpY2UgfCBIdHRwU2VydmljZUF0aXZvPiBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgLyoqIElkIGRvIGRhZG8gYSBzZXIgY2FycmVnYWRvICovXHJcbiAgQElucHV0KCkgaWQgICAgICAgOiBudW1iZXIgfCBudWxsID0gbnVsbDtcclxuICBASW5wdXQoKSBsb2FkaW5nICA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBzdWJtaXR0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAvKiogUHJvZ3Jlc3NvIGRlIHNhbHZhbWVudG8gKi9cclxuICBASW5wdXQoKSBwcm9ncmVzcyA6IG51bWJlcjtcclxuICAvKiogU2VydmljZSBhIHNlciB1dGxpemFkbyBuYSB2aWV3ICovXHJcbiAgQElucHV0KCkgc2VydmljZSAgOiBUO1xyXG4gIC8qKiBIYWJpbGl0YS9EZXNhYmlsaXRhIG8gZm9jdXMgbm8gcHJpbWVpcm8gY2FtcG8gZGEgdmlld1xyXG4gICAqIDEgLSBwYXJhIGF0aXZhciBubyBub3ZvIGUgbm8gZWRpdGFyXHJcbiAgICogMiAtIHBhcmEgYXRpdmFyIGFwZW5hcyBubyBub3ZvXHJcbiAgICogMyAtIHBhcmEgZGVzYXRpdmFyIHBhcmEgb3MgZG9pcyBjYXNvc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHN0YXJ0SW5GaXJzdEZpZWxkIDogbnVtYmVyID0gMjtcclxuXHJcbiAgcHJvdGVjdGVkIGdlbmVyaWNTZXJ2aWNlOiBHZW5lcmljU2VydmljZTtcclxuICBwcm90ZWN0ZWQgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlO1xyXG4gIHByb3RlY3RlZCBlbGVtZW50UmVmOiBFbGVtZW50UmVmO1xyXG4gIHByb3RlY3RlZCBmYjogRm9ybUJ1aWxkZXI7XHJcbiAgcHJvdGVjdGVkIG5hdkNvbnRleHQgOiBOYXZpZ2F0aW9uQ29udGV4dFNlcnZpY2VcclxuICBwcm90ZWN0ZWQgbmVzdGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCl7XHJcbiAgICB0aGlzLmdlbmVyaWNTZXJ2aWNlID0gaW5qZWN0KEdlbmVyaWNTZXJ2aWNlKVxyXG4gICAgdGhpcy5hY3RpdmF0ZWRSb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSlcclxuICAgIHRoaXMuZWxlbWVudFJlZiAgICAgPSBpbmplY3QoRWxlbWVudFJlZilcclxuICAgIHRoaXMuZmIgICAgICAgICAgICAgPSBpbmplY3QoRm9ybUJ1aWxkZXIpXHJcbiAgICB0aGlzLm5hdkNvbnRleHQgICAgID0gaW5qZWN0KE5hdmlnYXRpb25Db250ZXh0U2VydmljZSlcclxuICB9XHJcblxyXG4gIC8qKiBMaXN0YSBkZSBUYWJsZUZpZWxkcyBhIHNlcmVtIGludm9jYWRvcyBkZSBhY29yZG8gY29tIHN1YSBjb25maWd1cmHDp8Ojby5cclxuICAgKiBBdXRvbWF0aWNhbWVudGUgcHJlZW5jaGlkbyBjb20gc2VydmljZS5sc3RUYWJsZUZpZWxkc1ZpZXcgb3Ugc2VydmljZS5sc3RUYWJsZUZpZWxkcyBxdWFuZG8gbsOjbyBpbmZvcm1hZG9cclxuICAgICovXHJcbiAgQElucHV0KCkgbHN0VGFibGVGaWVsZHM6IFRhYmxlRmllbGRbXSA9IFtdO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyByZWRpcmVjdFBhdGg6IHN0cmluZyB8IG51bGwgPSBcIi92aWV3LzppZFwiXHJcbiAgXHJcbiAgXHJcbiAgQFZpZXdDaGlsZCgnLndyYXBwZXInKSBXcmFwcGVyOiBIVE1MRWxlbWVudDtcclxuICBhc3luYyBuZ09uSW5pdCgpIHtcclxuICAgIGlmKHRoaXMubHN0VGFibGVGaWVsZHMubGVuZ3RoID09IDApe1xyXG4gICAgICBpZih0aGlzLnNlcnZpY2UubHN0VGFibGVGaWVsZHNWaWV3Lmxlbmd0aCAhPSAwKXtcclxuICAgICAgICB0aGlzLmxzdFRhYmxlRmllbGRzID0gdGhpcy5zZXJ2aWNlLmxzdFRhYmxlRmllbGRzVmlldztcclxuICAgICAgfWVsc2V7XHJcbiAgICAgICAgdGhpcy5sc3RUYWJsZUZpZWxkcyA9IHRoaXMuc2VydmljZS5sc3RUYWJsZUZpZWxkcztcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlmKHRoaXMuaWQgPT0gbnVsbCl7XHJcbiAgICAgIHRoaXMuaWQgPSB0aGlzLmdlbmVyaWNTZXJ2aWNlLkdldElkKHRoaXMuYWN0aXZhdGVkUm91dGUsIDApO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBpZighdGhpcy5zZXJ2aWNlKXsgY29uc29sZS53YXJuKFwiWyBWaWV3IHNlcnZpY2UgaXMgbm90IHZhbGlkISBdXCIpOyB9XHJcbiAgICBpZiAoaW5zdGFuY2VPZlZpZXdXaWxsQ3JlYXRlRm9ybSh0aGlzKSkgeyB0aGlzLk9uVmlld1dpbGxDcmVhdGVGb3JtKCkgfVxyXG4gICAgYXdhaXQgdGhpcy5DcmVhdGVGb3JtKCk7XHJcbiAgICBpZiAoaW5zdGFuY2VPZlZpZXdEaWRDcmVhdGVGb3JtKHRoaXMpKSB7IHRoaXMuT25WaWV3RGlkQ3JlYXRlRm9ybSgpIH1cclxuICBcclxuICAgIGlmKHRoaXMuZWxlbWVudFJlZiAmJiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCAmJiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50KXtcclxuICAgICAgdGhpcy5uZXN0ZWQgPSAodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudC50YWdOYW1lIGFzIHN0cmluZykudG9VcHBlckNhc2UoKSAhPSBcIklPTi1DT05URU5UXCI7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy5uZXN0ZWQgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGF3YWl0IHRoaXMuUmVmcmVzaCgpO1xyXG5cclxuICAgIGlmKHRoaXMuc3RhcnRJbkZpcnN0RmllbGQgPT0gMSl7XHJcbiAgICAgIGF3YWl0IHRoaXMuRm9jdXNPbkZpcnN0RmllbGQoKTtcclxuICAgIH1lbHNlIGlmICh0aGlzLnN0YXJ0SW5GaXJzdEZpZWxkID09IDIpe1xyXG4gICAgICBpZighdGhpcy5pZCl7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5Gb2N1c09uRmlyc3RGaWVsZCgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgQFZpZXdDaGlsZHJlbihDdXN0b21JbnB1dCkgbHN0Q3VzdG9tSW5wdXRzOiBRdWVyeUxpc3Q8Q3VzdG9tSW5wdXQ8YW55Pj47XHJcbiAgYXN5bmMgRm9jdXNPbkZpcnN0RmllbGQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0cnl7XHJcbiAgICAgIGF3YWl0IFRpbWVvdXQoMTAwKTtcclxuICAgICAgdGhpcy5sc3RDdXN0b21JbnB1dHMuZmlyc3Quc2V0Rm9jdXMobnVsbCk7XHJcbiAgICB9Y2F0Y2h7fVxyXG4gIH1cclxuXHJcbiAgQE91dHB1dCgnVmlld0RpZFJlZnJlc2gnKSBWaWV3RGlkUmVmcmVzaEVtaXR0ZXI6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuICBhc3luYyBSZWZyZXNoKCkge1xyXG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgIHRyeXtcclxuICAgICAgYXdhaXQgdGhpcy5Mb2FkKCk7XHJcbiAgICB9ZmluYWxseXsgfVxyXG4gICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICB0aGlzLlZpZXdEaWRSZWZyZXNoRW1pdHRlci5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBMb2FkKCk6IFByb21pc2U8dm9pZD57XHJcbiAgICBpZighdGhpcy5pZCl7IHJldHVybjsgfVxyXG4gICAgY29uc3QgcmVzID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5zZXJ2aWNlLkdldCh0aGlzLmlkKSk7XHJcbiAgICB0aGlzLmZybS5wYXRjaFZhbHVlKHJlcyk7XHJcbiAgfVxyXG5cclxuICBmcm06IEZvcm1Hcm91cDtcclxuICBhc3luYyBDcmVhdGVGb3JtKCkge1xyXG4gICAgdGhpcy5mcm0gPSBUYWJsZUZpZWxkRm9ybUJ1aWxkZXIuY3JlYXRlKHRoaXMubHN0VGFibGVGaWVsZHMsIHRoaXMuZmIpO1xyXG4gICAgYXdhaXQgdGhpcy5Mb2FkSWRDb21wYXJpc29uKCk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBMb2FkSWRDb21wYXJpc29uKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdHJ5e1xyXG4gICAgICBjb25zdCBkYXRhOiBSb3V0ZURhdGEgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLmFjdGl2YXRlZFJvdXRlLmRhdGEpIGFzIFJvdXRlRGF0YTtcclxuICAgICAgaWYoIWRhdGEpeyByZXR1cm47IH1cclxuICAgICAgY29uc3QgaWQgICA9IHRoaXMuZ2VuZXJpY1NlcnZpY2UuR2V0SWQodGhpcy5hY3RpdmF0ZWRSb3V0ZSwgZGF0YS5pZFByZWxvYWRlckNvbmZpZ3VyYXRpb24ucm91dGVEZXB0aCk7XHJcbiAgICAgIFxyXG4gICAgICBpZighaWQpeyByZXR1cm47IH1cclxuXHJcbiAgICAgIHRoaXMuZnJtLmNvbnRyb2xzW2RhdGEuaWRQcmVsb2FkZXJDb25maWd1cmF0aW9uLnByb3BlcnR5TmFtZV0uc2V0VmFsdWUoaWQpO1xyXG4gICAgICB0aGlzLmxzdFRhYmxlRmllbGRzLmZpbmQocCA9PiBwLmluZGV4ID09IGRhdGEuaWRQcmVsb2FkZXJDb25maWd1cmF0aW9uLnByb3BlcnR5TmFtZSkuZGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgfWNhdGNoeyB9XHJcbiAgfVxyXG5cclxuICAvKiogRW1pdGUgbyBpZCBkYSBlbnRpZGFkZSBzYWx2YSBhcG9zIG8gc2FsdmFtZW50byAqL1xyXG4gIEBPdXRwdXQoJ1NhdmUnKSBTYXZlRW1pdHRlcjogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuICBhc3luYyBTYXZlKCkge1xyXG4gICAgYXdhaXQgbGFzdFZhbHVlRnJvbSh0aGlzLnNlcnZpY2UuU2F2ZSh0aGlzLmZybSwgdGhpcykpO1xyXG4gICAgdGhpcy5TYXZlRW1pdHRlci5lbWl0KHRoaXMuaWQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBCYWNrUm91dGUoKXtcclxuICAgIHJldHVybiB0aGlzLm5hdkNvbnRleHQuZ2V0QmFja1JvdXRlKCkgPz8gJy8nO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIEdldEN1cnJlbnRSb3V0aW5nKCk6IEFjdGl2YXRlZFJvdXRlIHsgcmV0dXJuIHRoaXMuYWN0aXZhdGVkUm91dGU7IH1cclxuXHJcbiAgcHJvdGVjdGVkIG5hdkNvbnRyb2xsZXI6IE5hdkNvbnRyb2xsZXI7XHJcblxyXG4gIHByb3RlY3RlZCBOYXZpZ2F0ZVRvTGlzdCgpOiB2b2lkIHtcclxuICBjb25zdCBiYWNrID0gdGhpcy5uYXZDb250ZXh0LmdldEJhY2tSb3V0ZSgpID8/ICcvJztcclxuICB0aGlzLm5hdkNvbnRyb2xsZXIubmF2aWdhdGVCYWNrKGJhY2spO1xyXG59XHJcblxyXG5cclxuICBAVmlld0NoaWxkKEhlYWRlclZpZXdDb21wb25lbnQpIEhlYWRlclZpZXdDb21wb25lbnRFbGVtZW50OiBIZWFkZXJWaWV3Q29tcG9uZW50O1xyXG5cclxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6a2V5ZG93bicsWyckZXZlbnQnXSlcclxuICBvbktleVByZXNzKCRldmVudDogS2V5Ym9hcmRFdmVudCkge1xyXG4gICAgaWYoISh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhkb2N1bWVudC5hY3RpdmVFbGVtZW50KSB8fCBkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KSl7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmKCRldmVudC5rZXkgPT0gJ0VzY2FwZScpe1xyXG4gICAgICB0aGlzLkhlYWRlclZpZXdDb21wb25lbnRFbGVtZW50LkJhY2soJGV2ZW50KTtcclxuICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmKCgkZXZlbnQuY3RybEtleSB8fCAkZXZlbnQubWV0YUtleSkgJiYgKCRldmVudC5rZXkgPT0gJ0VudGVyJykpe1xyXG4gICAgICB0aGlzLlNhdmUoKTtcclxuICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmKCRldmVudC5hbHRLZXkgJiYgJGV2ZW50LmtleSA9PSAnSW5zZXJ0Jyl7XHJcbiAgICAgIHRoaXMuSGVhZGVyVmlld0NvbXBvbmVudEVsZW1lbnQuTmV3KCk7XHJcbiAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFZpZXdXaWxsQ3JlYXRlRm9ybXtcclxuICBPblZpZXdXaWxsQ3JlYXRlRm9ybSgpOiB2b2lkIHwgYW55O1xyXG59IFxyXG5mdW5jdGlvbiBpbnN0YW5jZU9mVmlld1dpbGxDcmVhdGVGb3JtKG9iamVjdDogYW55KTogb2JqZWN0IGlzIFZpZXdXaWxsQ3JlYXRlRm9ybSB7XHJcbiAgcmV0dXJuICdPblZpZXdXaWxsQ3JlYXRlRm9ybScgaW4gb2JqZWN0O1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgVmlld0RpZENyZWF0ZUZvcm0ge1xyXG4gIE9uVmlld0RpZENyZWF0ZUZvcm0oKTogdm9pZCB8IGFueTtcclxufSBcclxuZnVuY3Rpb24gaW5zdGFuY2VPZlZpZXdEaWRDcmVhdGVGb3JtKG9iamVjdDogYW55KTogb2JqZWN0IGlzIFZpZXdEaWRDcmVhdGVGb3JtIHtcclxuICByZXR1cm4gJ09uVmlld0RpZENyZWF0ZUZvcm0nIGluIG9iamVjdDtcclxufVxyXG5cclxuIl19
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
4
|
-
import { IonicModule } from '@ionic/angular';
|
|
5
|
-
import { RouterLink, RouterLinkWithHref, RouterModule, RouterOutlet } from '@angular/router';
|
|
6
|
-
import { NgVarDirective } from '../../directives/ng-var.directive';
|
|
7
|
-
import { InputsModule } from '../inputs/inputs.module';
|
|
8
|
-
import { LoadingComponent } from '../loading/loading.component';
|
|
9
|
-
import { DefaultListComponent } from './default-list/default-list.component';
|
|
10
|
-
import { DefaultViewComponent } from './default-view/default-view.component';
|
|
11
|
-
import { HeaderListComponent } from './default-list/header-list/header-list.component';
|
|
12
|
-
import { HeaderViewComponent } from './default-view/header-view/header-view.component';
|
|
13
|
-
import { DefaultTableComponent } from './default-table/default-table.component';
|
|
14
|
-
import { DefaultPaginationComponent } from './default-pagination/default-pagination.component';
|
|
15
|
-
import { ThFilterComponent } from './default-table/th-filter/th-filter.component';
|
|
16
|
-
import { SIonPopoverModule } from '../popover/sion-popover.module';
|
|
17
|
-
import { ContentBlockComponent } from '../content-block/content-block.component';
|
|
18
|
-
import { CdkDragPlaceholder } from "@angular/cdk/drag-drop";
|
|
19
|
-
import * as i0 from "@angular/core";
|
|
20
|
-
const lstComponents = [
|
|
21
|
-
HeaderListComponent,
|
|
22
|
-
DefaultListComponent,
|
|
23
|
-
DefaultViewComponent,
|
|
24
|
-
HeaderViewComponent,
|
|
25
|
-
DefaultTableComponent,
|
|
26
|
-
DefaultPaginationComponent,
|
|
27
|
-
ThFilterComponent
|
|
28
|
-
];
|
|
29
|
-
/** Modulo parão, inclui os seguiintes componentes:
|
|
30
|
-
* - HeaderListComponent,
|
|
31
|
-
- DefaultListComponent,
|
|
32
|
-
- DefaultViewComponent,
|
|
33
|
-
- HeaderViewComponent,
|
|
34
|
-
- DefaultTableComponent,
|
|
35
|
-
- DefaultPaginationComponent,
|
|
36
|
-
*/
|
|
37
|
-
export class DefaultModule {
|
|
38
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DefaultModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
39
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: DefaultModule, declarations: [HeaderListComponent,
|
|
40
|
-
DefaultListComponent,
|
|
41
|
-
DefaultViewComponent,
|
|
42
|
-
HeaderViewComponent,
|
|
43
|
-
DefaultTableComponent,
|
|
44
|
-
DefaultPaginationComponent,
|
|
45
|
-
ThFilterComponent], imports: [IonicModule,
|
|
46
|
-
CommonModule,
|
|
47
|
-
InputsModule,
|
|
48
|
-
ReactiveFormsModule,
|
|
49
|
-
RouterLinkWithHref,
|
|
50
|
-
FormsModule,
|
|
51
|
-
RouterModule,
|
|
52
|
-
RouterOutlet,
|
|
53
|
-
RouterLink,
|
|
54
|
-
LoadingComponent,
|
|
55
|
-
NgVarDirective,
|
|
56
|
-
SIonPopoverModule,
|
|
57
|
-
ContentBlockComponent,
|
|
58
|
-
CdkDragPlaceholder], exports: [HeaderListComponent,
|
|
59
|
-
DefaultListComponent,
|
|
60
|
-
DefaultViewComponent,
|
|
61
|
-
HeaderViewComponent,
|
|
62
|
-
DefaultTableComponent,
|
|
63
|
-
DefaultPaginationComponent,
|
|
64
|
-
ThFilterComponent] }); }
|
|
65
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DefaultModule, imports: [IonicModule,
|
|
66
|
-
CommonModule,
|
|
67
|
-
InputsModule,
|
|
68
|
-
ReactiveFormsModule,
|
|
69
|
-
FormsModule,
|
|
70
|
-
RouterModule,
|
|
71
|
-
LoadingComponent,
|
|
72
|
-
SIonPopoverModule,
|
|
73
|
-
ContentBlockComponent] }); }
|
|
74
|
-
}
|
|
75
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DefaultModule, decorators: [{
|
|
76
|
-
type: NgModule,
|
|
77
|
-
args: [{
|
|
78
|
-
declarations: [...lstComponents],
|
|
79
|
-
exports: [...lstComponents],
|
|
80
|
-
imports: [
|
|
81
|
-
IonicModule,
|
|
82
|
-
CommonModule,
|
|
83
|
-
InputsModule,
|
|
84
|
-
ReactiveFormsModule,
|
|
85
|
-
RouterLinkWithHref,
|
|
86
|
-
FormsModule,
|
|
87
|
-
RouterModule,
|
|
88
|
-
RouterOutlet,
|
|
89
|
-
RouterLink,
|
|
90
|
-
LoadingComponent,
|
|
91
|
-
NgVarDirective,
|
|
92
|
-
SIonPopoverModule,
|
|
93
|
-
ContentBlockComponent,
|
|
94
|
-
CdkDragPlaceholder
|
|
95
|
-
]
|
|
96
|
-
}]
|
|
97
|
-
}] });
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZGVmYXVsdC9kZWZhdWx0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxVQUFVLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTdGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDdkYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDdkYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDL0YsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDbEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDakYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBRTVELE1BQU0sYUFBYSxHQUFHO0lBQ3BCLG1CQUFtQjtJQUNuQixvQkFBb0I7SUFFcEIsb0JBQW9CO0lBQ3BCLG1CQUFtQjtJQUNuQixxQkFBcUI7SUFDckIsMEJBQTBCO0lBQzFCLGlCQUFpQjtDQUNsQixDQUFBO0FBRUQ7Ozs7Ozs7R0FPRztBQXFCSCxNQUFNLE9BQU8sYUFBYTsrR0FBYixhQUFhO2dIQUFiLGFBQWEsaUJBdEN4QixtQkFBbUI7WUFDbkIsb0JBQW9CO1lBRXBCLG9CQUFvQjtZQUNwQixtQkFBbUI7WUFDbkIscUJBQXFCO1lBQ3JCLDBCQUEwQjtZQUMxQixpQkFBaUIsYUFlZixXQUFXO1lBQ1gsWUFBWTtZQUNaLFlBQVk7WUFDWixtQkFBbUI7WUFDbkIsa0JBQWtCO1lBQ2xCLFdBQVc7WUFDWCxZQUFZO1lBQ1osWUFBWTtZQUNaLFVBQVU7WUFDVixnQkFBZ0I7WUFDaEIsY0FBYztZQUNkLGlCQUFpQjtZQUNqQixxQkFBcUI7WUFDckIsa0JBQWtCLGFBbkNwQixtQkFBbUI7WUFDbkIsb0JBQW9CO1lBRXBCLG9CQUFvQjtZQUNwQixtQkFBbUI7WUFDbkIscUJBQXFCO1lBQ3JCLDBCQUEwQjtZQUMxQixpQkFBaUI7Z0hBK0JOLGFBQWEsWUFoQnRCLFdBQVc7WUFDWCxZQUFZO1lBQ1osWUFBWTtZQUNaLG1CQUFtQjtZQUVuQixXQUFXO1lBQ1gsWUFBWTtZQUdaLGdCQUFnQjtZQUVoQixpQkFBaUI7WUFDakIscUJBQXFCOzs0RkFJWixhQUFhO2tCQXBCekIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxHQUFHLGFBQWEsQ0FBQztvQkFDaEMsT0FBTyxFQUFPLENBQUMsR0FBRyxhQUFhLENBQUM7b0JBQ2hDLE9BQU8sRUFBRTt3QkFDUCxXQUFXO3dCQUNYLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsV0FBVzt3QkFDWCxZQUFZO3dCQUNaLFlBQVk7d0JBQ1osVUFBVTt3QkFDVixnQkFBZ0I7d0JBQ2hCLGNBQWM7d0JBQ2QsaUJBQWlCO3dCQUNqQixxQkFBcUI7d0JBQ3JCLGtCQUFrQjtxQkFDckI7aUJBQ0EiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgSW9uaWNNb2R1bGUgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XHJcbmltcG9ydCB7IFJvdXRlckxpbmssIFJvdXRlckxpbmtXaXRoSHJlZiwgUm91dGVyTW9kdWxlLCBSb3V0ZXJPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5cclxuaW1wb3J0IHsgTmdWYXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL25nLXZhci5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBJbnB1dHNNb2R1bGUgfSBmcm9tICcuLi9pbnB1dHMvaW5wdXRzLm1vZHVsZSc7XHJcblxyXG5pbXBvcnQgeyBMb2FkaW5nQ29tcG9uZW50IH0gZnJvbSAnLi4vbG9hZGluZy9sb2FkaW5nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERlZmF1bHRMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9kZWZhdWx0LWxpc3QvZGVmYXVsdC1saXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERlZmF1bHRWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi9kZWZhdWx0LXZpZXcvZGVmYXVsdC12aWV3LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEhlYWRlckxpc3RDb21wb25lbnQgfSBmcm9tICcuL2RlZmF1bHQtbGlzdC9oZWFkZXItbGlzdC9oZWFkZXItbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBIZWFkZXJWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi9kZWZhdWx0LXZpZXcvaGVhZGVyLXZpZXcvaGVhZGVyLXZpZXcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRGVmYXVsdFRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9kZWZhdWx0LXRhYmxlL2RlZmF1bHQtdGFibGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRGVmYXVsdFBhZ2luYXRpb25Db21wb25lbnQgfSBmcm9tICcuL2RlZmF1bHQtcGFnaW5hdGlvbi9kZWZhdWx0LXBhZ2luYXRpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGhGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuL2RlZmF1bHQtdGFibGUvdGgtZmlsdGVyL3RoLWZpbHRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTSW9uUG9wb3Zlck1vZHVsZSB9IGZyb20gJy4uL3BvcG92ZXIvc2lvbi1wb3BvdmVyLm1vZHVsZSc7XHJcbmltcG9ydCB7IENvbnRlbnRCbG9ja0NvbXBvbmVudCB9IGZyb20gJy4uL2NvbnRlbnQtYmxvY2svY29udGVudC1ibG9jay5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDZGtEcmFnUGxhY2Vob2xkZXIgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL2RyYWctZHJvcFwiO1xyXG5cclxuY29uc3QgbHN0Q29tcG9uZW50cyA9IFtcclxuICBIZWFkZXJMaXN0Q29tcG9uZW50LFxyXG4gIERlZmF1bHRMaXN0Q29tcG9uZW50LFxyXG5cclxuICBEZWZhdWx0Vmlld0NvbXBvbmVudCxcclxuICBIZWFkZXJWaWV3Q29tcG9uZW50LFxyXG4gIERlZmF1bHRUYWJsZUNvbXBvbmVudCxcclxuICBEZWZhdWx0UGFnaW5hdGlvbkNvbXBvbmVudCxcclxuICBUaEZpbHRlckNvbXBvbmVudFxyXG5dXHJcblxyXG4vKiogTW9kdWxvIHBhcsOjbywgaW5jbHVpIG9zIHNlZ3VpaW50ZXMgY29tcG9uZW50ZXM6XHJcbiAqICAtIEhlYWRlckxpc3RDb21wb25lbnQsXHJcbiAgICAtIERlZmF1bHRMaXN0Q29tcG9uZW50LFxyXG4gICAgLSBEZWZhdWx0Vmlld0NvbXBvbmVudCxcclxuICAgIC0gSGVhZGVyVmlld0NvbXBvbmVudCxcclxuICAgIC0gRGVmYXVsdFRhYmxlQ29tcG9uZW50LFxyXG4gICAgLSBEZWZhdWx0UGFnaW5hdGlvbkNvbXBvbmVudCxcclxuICovXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbLi4ubHN0Q29tcG9uZW50c10sXHJcbiAgZXhwb3J0cyAgICAgOiBbLi4ubHN0Q29tcG9uZW50c10sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgSW9uaWNNb2R1bGUsXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBJbnB1dHNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgUm91dGVyTGlua1dpdGhIcmVmLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSb3V0ZXJNb2R1bGUsXHJcbiAgICBSb3V0ZXJPdXRsZXQsXHJcbiAgICBSb3V0ZXJMaW5rLFxyXG4gICAgTG9hZGluZ0NvbXBvbmVudCxcclxuICAgIE5nVmFyRGlyZWN0aXZlLFxyXG4gICAgU0lvblBvcG92ZXJNb2R1bGUsXHJcbiAgICBDb250ZW50QmxvY2tDb21wb25lbnQsXHJcbiAgICBDZGtEcmFnUGxhY2Vob2xkZXJcclxuXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGVmYXVsdE1vZHVsZSB7IH1cclxuIl19
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { ActivatedRoute, RouterLinkWithHref } from '@angular/router';
|
|
2
|
-
import { Component } from '@angular/core';
|
|
3
|
-
import { TranslateModule } from '@ngx-translate/core';
|
|
4
|
-
import { firstValueFrom } from 'rxjs';
|
|
5
|
-
import { CommonModule } from '@angular/common';
|
|
6
|
-
import { IonicModule } from '@ionic/angular';
|
|
7
|
-
import { FormsModule } from '@angular/forms';
|
|
8
|
-
import { RouteProviderService } from '../../services/route/route.provider.service';
|
|
9
|
-
import { EnvironmentService } from '../../services/environment.service';
|
|
10
|
-
import { LoadingComponent } from '../loading/loading.component';
|
|
11
|
-
import { GenericService } from '../../services/generic.service';
|
|
12
|
-
import { InputsModule } from '../inputs/inputs.module';
|
|
13
|
-
import * as i0 from "@angular/core";
|
|
14
|
-
import * as i1 from "@angular/router";
|
|
15
|
-
import * as i2 from "../../services/environment.service";
|
|
16
|
-
import * as i3 from "../../services/generic.service";
|
|
17
|
-
import * as i4 from "../../services/route/route.provider.service";
|
|
18
|
-
import * as i5 from "@angular/common";
|
|
19
|
-
import * as i6 from "@ionic/angular";
|
|
20
|
-
import * as i7 from "@ngx-translate/core";
|
|
21
|
-
/** Pagina Default - mostra os botões de rotas horizontalmente - componente padrão */
|
|
22
|
-
export class DefaultPage {
|
|
23
|
-
constructor(route, coreService, genericService, routeProviderService) {
|
|
24
|
-
this.route = route;
|
|
25
|
-
this.coreService = coreService;
|
|
26
|
-
this.genericService = genericService;
|
|
27
|
-
this.routeProviderService = routeProviderService;
|
|
28
|
-
this.useTranslation = false;
|
|
29
|
-
this.TranslationModule = {
|
|
30
|
-
Permissao: 'Entities.Permissao.',
|
|
31
|
-
PermissaoGrupo: 'Entities.PermissaoGrupo.'
|
|
32
|
-
};
|
|
33
|
-
this.title = this.coreService.environment.applicationName;
|
|
34
|
-
this.lstMenu = [];
|
|
35
|
-
this.lstImage = null;
|
|
36
|
-
}
|
|
37
|
-
async ngOnInit() {
|
|
38
|
-
this.loading = true;
|
|
39
|
-
const conf = await firstValueFrom(this.route.data);
|
|
40
|
-
this.lstImage = Array.isArray(conf.image) ? conf.image :
|
|
41
|
-
conf.image ? [conf.image] : undefined;
|
|
42
|
-
this.lstMenu = await firstValueFrom(this.routeProviderService.GetData());
|
|
43
|
-
this.loading = false;
|
|
44
|
-
}
|
|
45
|
-
SetTitle(item) {
|
|
46
|
-
this.genericService.SetTitle(item.title);
|
|
47
|
-
}
|
|
48
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DefaultPage, deps: [{ token: i1.ActivatedRoute }, { token: i2.EnvironmentService }, { token: i3.GenericService }, { token: i4.RouteProviderService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
49
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: DefaultPage, isStandalone: true, selector: "app-default", ngImport: i0, template: "<ion-content [fullscreen]=\"true\">\r\n <div class=\"wrapper\">\r\n <ion-breadcrumbs>\r\n <ion-breadcrumb [routerLink]=\"[null]\">\r\n <ion-icon slot=\"start\" name=\"home\"></ion-icon> Inicio\r\n </ion-breadcrumb>\r\n </ion-breadcrumbs>\r\n \r\n <ion-card>\r\n <ion-card-content class=\"flex flex-col items-center justify-center !p-6\">\r\n <div class=\"w-full shrink-0 text-center\">\r\n @if(lstImage){\r\n @for (item of lstImage; track $index) {\r\n <ion-img [class]=\"item.classes\" [src]=\"item.src\" (ion-error)=\"lstImage\"></ion-img>\r\n }\r\n }\r\n @else {\r\n <ion-text class=\"text-8xl font-poppins w-full\"> {{title}} </ion-text>\r\n }\r\n </div>\r\n\r\n <div class=\"overflow-hidden p-2 w-full relative\">\r\n <loading [type]=\"3\" [loading]=\"loading\"></loading>\r\n <div class=\"size-full flex flex-wrap portrait:!grid gap-2\">\r\n @for (item of lstMenu; track item; let i = $index) {\r\n @if(item.type == \"Menu\"){\r\n <ion-button fill=\"outline\" class=\"grow min-w-fit\" [routerLink]=\"[item.route]\">\r\n <ion-icon slot=\"start\" [name]=\"item.icon\"></ion-icon> \r\n {{useTranslation ? (TranslationModule.Permissao + item.id | translate) : item.title}}\r\n </ion-button>\r\n }\r\n @if(item.type == \"MenuGroup\"){\r\n <ion-button fill=\"outline\" class=\"grow min-w-fit\" (click)=\"popover.present($event)\">\r\n <ion-icon slot=\"start\" [name]=\"item.icon\"></ion-icon> \r\n {{useTranslation ? (TranslationModule.PermissaoGrupo + item.id | translate) : item.title}}\r\n </ion-button>\r\n\r\n <ion-popover #popover class=\"overflow-y-auto\" [dismissOnSelect]=\"true\" triggerAction=\"click\">\r\n <ng-template>\r\n <ion-list class=\"no-outer-border\">\r\n <ion-item class=\"bg-transparent\" (click)=\"SetTitle(menu)\" *ngFor=\"let menu of item.lstMenu\" [routerLink]=\"['./' + menu.route]\" lines=\"none\" detail=\"false\" routerLinkActive=\"selected\">\r\n <ion-icon [name]=\"menu.icon\" slot=\"start\"></ion-icon> \r\n <ion-label> \r\n {{useTranslation ? (TranslationModule.Permissao + menu.id | translate) : menu.title}} \r\n </ion-label>\r\n </ion-item>\r\n </ion-list>\r\n </ng-template>\r\n </ion-popover>\r\n }\r\n }\r\n </div>\r\n </div>\r\n\r\n <!-- <div class=\"!overflow-y-auto w-full portrait:grow relative\">\r\n <loading [type]=\"3\" [loading]=\"loading\"></loading>\r\n <div class=\"flex flex-wrap items-start justify-start mt-4 portrait:!grid portrait:!grid-cols-1\"> \r\n </div>\r\n </div> -->\r\n </ion-card-content>\r\n </ion-card>\r\n </div>\r\n</ion-content>", styles: ["ion-popover::part(content){overflow-y:auto}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: IonicModule }, { kind: "component", type: i6.IonBreadcrumb, selector: "ion-breadcrumb", inputs: ["active", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "separator", "target"] }, { kind: "component", type: i6.IonBreadcrumbs, selector: "ion-breadcrumbs", inputs: ["color", "itemsAfterCollapse", "itemsBeforeCollapse", "maxItems", "mode"] }, { kind: "component", type: i6.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i6.IonCard, selector: "ion-card", inputs: ["button", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i6.IonCardContent, selector: "ion-card-content", inputs: ["mode"] }, { kind: "component", type: i6.IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i6.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i6.IonImg, selector: "ion-img", inputs: ["alt", "src"] }, { kind: "component", type: i6.IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i6.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i6.IonList, selector: "ion-list", inputs: ["inset", "lines", "mode"] }, { kind: "component", type: i6.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "component", type: i6.IonPopover, selector: "ion-popover" }, { kind: "directive", type: i6.RouterLinkDelegate, selector: ":not(a):not(area)[routerLink]" }, { kind: "ngmodule", type: InputsModule }, { kind: "directive", type: RouterLinkWithHref, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: LoadingComponent, selector: "loading", inputs: ["text", "type", "loading"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] }); }
|
|
50
|
-
}
|
|
51
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DefaultPage, decorators: [{
|
|
52
|
-
type: Component,
|
|
53
|
-
args: [{ standalone: true, selector: 'app-default', imports: [
|
|
54
|
-
CommonModule,
|
|
55
|
-
FormsModule,
|
|
56
|
-
IonicModule,
|
|
57
|
-
InputsModule,
|
|
58
|
-
RouterLinkWithHref,
|
|
59
|
-
LoadingComponent,
|
|
60
|
-
TranslateModule,
|
|
61
|
-
], template: "<ion-content [fullscreen]=\"true\">\r\n <div class=\"wrapper\">\r\n <ion-breadcrumbs>\r\n <ion-breadcrumb [routerLink]=\"[null]\">\r\n <ion-icon slot=\"start\" name=\"home\"></ion-icon> Inicio\r\n </ion-breadcrumb>\r\n </ion-breadcrumbs>\r\n \r\n <ion-card>\r\n <ion-card-content class=\"flex flex-col items-center justify-center !p-6\">\r\n <div class=\"w-full shrink-0 text-center\">\r\n @if(lstImage){\r\n @for (item of lstImage; track $index) {\r\n <ion-img [class]=\"item.classes\" [src]=\"item.src\" (ion-error)=\"lstImage\"></ion-img>\r\n }\r\n }\r\n @else {\r\n <ion-text class=\"text-8xl font-poppins w-full\"> {{title}} </ion-text>\r\n }\r\n </div>\r\n\r\n <div class=\"overflow-hidden p-2 w-full relative\">\r\n <loading [type]=\"3\" [loading]=\"loading\"></loading>\r\n <div class=\"size-full flex flex-wrap portrait:!grid gap-2\">\r\n @for (item of lstMenu; track item; let i = $index) {\r\n @if(item.type == \"Menu\"){\r\n <ion-button fill=\"outline\" class=\"grow min-w-fit\" [routerLink]=\"[item.route]\">\r\n <ion-icon slot=\"start\" [name]=\"item.icon\"></ion-icon> \r\n {{useTranslation ? (TranslationModule.Permissao + item.id | translate) : item.title}}\r\n </ion-button>\r\n }\r\n @if(item.type == \"MenuGroup\"){\r\n <ion-button fill=\"outline\" class=\"grow min-w-fit\" (click)=\"popover.present($event)\">\r\n <ion-icon slot=\"start\" [name]=\"item.icon\"></ion-icon> \r\n {{useTranslation ? (TranslationModule.PermissaoGrupo + item.id | translate) : item.title}}\r\n </ion-button>\r\n\r\n <ion-popover #popover class=\"overflow-y-auto\" [dismissOnSelect]=\"true\" triggerAction=\"click\">\r\n <ng-template>\r\n <ion-list class=\"no-outer-border\">\r\n <ion-item class=\"bg-transparent\" (click)=\"SetTitle(menu)\" *ngFor=\"let menu of item.lstMenu\" [routerLink]=\"['./' + menu.route]\" lines=\"none\" detail=\"false\" routerLinkActive=\"selected\">\r\n <ion-icon [name]=\"menu.icon\" slot=\"start\"></ion-icon> \r\n <ion-label> \r\n {{useTranslation ? (TranslationModule.Permissao + menu.id | translate) : menu.title}} \r\n </ion-label>\r\n </ion-item>\r\n </ion-list>\r\n </ng-template>\r\n </ion-popover>\r\n }\r\n }\r\n </div>\r\n </div>\r\n\r\n <!-- <div class=\"!overflow-y-auto w-full portrait:grow relative\">\r\n <loading [type]=\"3\" [loading]=\"loading\"></loading>\r\n <div class=\"flex flex-wrap items-start justify-start mt-4 portrait:!grid portrait:!grid-cols-1\"> \r\n </div>\r\n </div> -->\r\n </ion-card-content>\r\n </ion-card>\r\n </div>\r\n</ion-content>", styles: ["ion-popover::part(content){overflow-y:auto}\n"] }]
|
|
62
|
-
}], ctorParameters: () => [{ type: i1.ActivatedRoute }, { type: i2.EnvironmentService }, { type: i3.GenericService }, { type: i4.RouteProviderService }] });
|
|
63
|
-
export class DefaultPageConfiguration {
|
|
64
|
-
constructor(image = null, useTranslation = false) {
|
|
65
|
-
this.image = image;
|
|
66
|
-
this.useTranslation = useTranslation;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
export class DefaultPageImage {
|
|
70
|
-
constructor(src = null, classes = '') {
|
|
71
|
-
this.src = src;
|
|
72
|
-
this.classes = classes;
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC5wYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2RlZmF1bHQtcGFnZS9kZWZhdWx0LnBhZ2UudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZGVmYXVsdC1wYWdlL2RlZmF1bHQucGFnZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7Ozs7OztBQUd2RCxxRkFBcUY7QUFnQnJGLE1BQU0sT0FBTyxXQUFXO0lBUXRCLFlBQ1UsS0FBcUIsRUFDckIsV0FBK0IsRUFDL0IsY0FBOEIsRUFDOUIsb0JBQTBDO1FBSDFDLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLGdCQUFXLEdBQVgsV0FBVyxDQUFvQjtRQUMvQixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQVZwRCxtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUNoQyxzQkFBaUIsR0FBUTtZQUN2QixTQUFTLEVBQU8scUJBQXFCO1lBQ3JDLGNBQWMsRUFBRSwwQkFBMEI7U0FDM0MsQ0FBQztRQVVGLFVBQUssR0FBVyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUM7UUFFN0QsWUFBTyxHQUFXLEVBQUUsQ0FBQztRQUVyQixhQUFRLEdBQXVCLElBQUksQ0FBQztJQU5wQyxDQUFDO0lBUUQsS0FBSyxDQUFDLFFBQVE7UUFDWixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUVwQixNQUFNLElBQUksR0FBRyxNQUFNLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBNkIsQ0FBQztRQUUvRSxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDekIsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUVyRSxJQUFJLENBQUMsT0FBTyxHQUFTLE1BQU0sY0FBYyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQy9FLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxRQUFRLENBQUMsSUFBVTtRQUNqQixJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0MsQ0FBQzsrR0FwQ1UsV0FBVzttR0FBWCxXQUFXLHVFQy9CeEIsNGxHQThEYyxzR0QxQ1YsWUFBWSwySkFDWixXQUFXLDhCQUNYLFdBQVcsa2hFQUNYLFlBQVksK0JBQ1osa0JBQWtCLG9PQUNsQixnQkFBZ0Isd0ZBQ2hCLGVBQWU7OzRGQUtOLFdBQVc7a0JBZnZCLFNBQVM7aUNBQ0ksSUFBSSxZQUNOLGFBQWEsV0FDZDt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsV0FBVzt3QkFDWCxZQUFZO3dCQUNaLGtCQUFrQjt3QkFDbEIsZ0JBQWdCO3dCQUNoQixlQUFlO3FCQUNoQjs7QUEyQ0gsTUFBTSxPQUFPLHdCQUF3QjtJQUNuQyxZQUNTLFFBQXNELElBQUksRUFDMUQsaUJBQTBCLEtBQUs7UUFEL0IsVUFBSyxHQUFMLEtBQUssQ0FBcUQ7UUFDMUQsbUJBQWMsR0FBZCxjQUFjLENBQWlCO0lBRXhDLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0IsWUFDUyxNQUFxQixJQUFJLEVBQ3pCLFVBQWtCLEVBQUU7UUFEcEIsUUFBRyxHQUFILEdBQUcsQ0FBc0I7UUFDekIsWUFBTyxHQUFQLE9BQU8sQ0FBYTtJQUMzQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyTGlua1dpdGhIcmVmIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IElvbmljTW9kdWxlIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmltcG9ydCB7IFJvdXRlUHJvdmlkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcm91dGUvcm91dGUucHJvdmlkZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IEVudmlyb25tZW50U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2Vudmlyb25tZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMb2FkaW5nQ29tcG9uZW50IH0gZnJvbSAnLi4vbG9hZGluZy9sb2FkaW5nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEdlbmVyaWNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZ2VuZXJpYy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSW5wdXRzTW9kdWxlIH0gZnJvbSAnLi4vaW5wdXRzL2lucHV0cy5tb2R1bGUnO1xyXG5pbXBvcnQgeyBNZW51IH0gZnJvbSAnLi4vZHJhd2VyL21lbnUnO1xyXG5cclxuLyoqIFBhZ2luYSBEZWZhdWx0IC0gbW9zdHJhIG9zIGJvdMO1ZXMgZGUgcm90YXMgaG9yaXpvbnRhbG1lbnRlIC0gY29tcG9uZW50ZSBwYWRyw6NvICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgc2VsZWN0b3I6ICdhcHAtZGVmYXVsdCcsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBJb25pY01vZHVsZSxcclxuICAgIElucHV0c01vZHVsZSxcclxuICAgIFJvdXRlckxpbmtXaXRoSHJlZixcclxuICAgIExvYWRpbmdDb21wb25lbnQsXHJcbiAgICBUcmFuc2xhdGVNb2R1bGUsXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vZGVmYXVsdC5wYWdlLmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2RlZmF1bHQucGFnZS5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEZWZhdWx0UGFnZSBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIHVzZVRyYW5zbGF0aW9uOiBib29sZWFuID0gZmFsc2U7XHJcbiAgVHJhbnNsYXRpb25Nb2R1bGU6IGFueSA9IHtcclxuICAgIFBlcm1pc3NhbyAgICAgOiAnRW50aXRpZXMuUGVybWlzc2FvLicsXHJcbiAgICBQZXJtaXNzYW9HcnVwbzogJ0VudGl0aWVzLlBlcm1pc3Nhb0dydXBvLidcclxuICB9O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgcHJpdmF0ZSBjb3JlU2VydmljZTogRW52aXJvbm1lbnRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBnZW5lcmljU2VydmljZTogR2VuZXJpY1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJvdXRlUHJvdmlkZXJTZXJ2aWNlOiBSb3V0ZVByb3ZpZGVyU2VydmljZSBcclxuICApIHsgXHJcbiAgfVxyXG4gIFxyXG4gIHRpdGxlOiBzdHJpbmcgPSB0aGlzLmNvcmVTZXJ2aWNlLmVudmlyb25tZW50LmFwcGxpY2F0aW9uTmFtZTtcclxuICBsb2FkaW5nOiBib29sZWFuO1xyXG4gIGxzdE1lbnU6IE1lbnVbXSA9IFtdO1xyXG5cclxuICBsc3RJbWFnZTogRGVmYXVsdFBhZ2VJbWFnZVtdID0gbnVsbDtcclxuXHJcbiAgYXN5bmMgbmdPbkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG4gICAgXHJcbiAgICBjb25zdCBjb25mID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5yb3V0ZS5kYXRhKSBhcyBEZWZhdWx0UGFnZUNvbmZpZ3VyYXRpb247XHJcblxyXG4gICAgdGhpcy5sc3RJbWFnZSA9IEFycmF5LmlzQXJyYXkoY29uZi5pbWFnZSkgPyBjb25mLmltYWdlIDogXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZi5pbWFnZSA/IFtjb25mLmltYWdlXSA6IHVuZGVmaW5lZDtcclxuXHJcbiAgICB0aGlzLmxzdE1lbnUgICAgICAgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLnJvdXRlUHJvdmlkZXJTZXJ2aWNlLkdldERhdGEoKSk7XHJcbiAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIFNldFRpdGxlKGl0ZW06IE1lbnUpe1xyXG4gICAgdGhpcy5nZW5lcmljU2VydmljZS5TZXRUaXRsZShpdGVtLnRpdGxlKTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBEZWZhdWx0UGFnZUNvbmZpZ3VyYXRpb257XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgaW1hZ2U6IERlZmF1bHRQYWdlSW1hZ2UgfCBEZWZhdWx0UGFnZUltYWdlW10gfCBudWxsID0gbnVsbCxcclxuICAgIHB1YmxpYyB1c2VUcmFuc2xhdGlvbjogYm9vbGVhbiA9IGZhbHNlXHJcbiAgKXtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBEZWZhdWx0UGFnZUltYWdlIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBzcmM6IHN0cmluZyB8IG51bGwgPSBudWxsLFxyXG4gICAgcHVibGljIGNsYXNzZXM6IHN0cmluZyA9ICcnXHJcbiAgKXt9XHJcbn1cclxuIiwiPGlvbi1jb250ZW50IFtmdWxsc2NyZWVuXT1cInRydWVcIj5cclxuICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgPGlvbi1icmVhZGNydW1icz5cclxuICAgICAgPGlvbi1icmVhZGNydW1iIFtyb3V0ZXJMaW5rXT1cIltudWxsXVwiPlxyXG4gICAgICAgIDxpb24taWNvbiBzbG90PVwic3RhcnRcIiBuYW1lPVwiaG9tZVwiPjwvaW9uLWljb24+IEluaWNpb1xyXG4gICAgICA8L2lvbi1icmVhZGNydW1iPlxyXG4gICAgPC9pb24tYnJlYWRjcnVtYnM+XHJcbiAgXHJcbiAgICA8aW9uLWNhcmQ+XHJcbiAgICAgIDxpb24tY2FyZC1jb250ZW50IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgIXAtNlwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3LWZ1bGwgc2hyaW5rLTAgdGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgIEBpZihsc3RJbWFnZSl7XHJcbiAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2YgbHN0SW1hZ2U7IHRyYWNrICRpbmRleCkge1xyXG4gICAgICAgICAgICAgIDxpb24taW1nIFtjbGFzc109XCJpdGVtLmNsYXNzZXNcIiBbc3JjXT1cIml0ZW0uc3JjXCIgKGlvbi1lcnJvcik9XCJsc3RJbWFnZVwiPjwvaW9uLWltZz5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgQGVsc2Uge1xyXG4gICAgICAgICAgICA8aW9uLXRleHQgY2xhc3M9XCJ0ZXh0LTh4bCBmb250LXBvcHBpbnMgdy1mdWxsXCI+IHt7dGl0bGV9fSA8L2lvbi10ZXh0PlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwib3ZlcmZsb3ctaGlkZGVuIHAtMiB3LWZ1bGwgcmVsYXRpdmVcIj5cclxuICAgICAgICAgIDxsb2FkaW5nIFt0eXBlXT1cIjNcIiBbbG9hZGluZ109XCJsb2FkaW5nXCI+PC9sb2FkaW5nPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNpemUtZnVsbCBmbGV4IGZsZXgtd3JhcCBwb3J0cmFpdDohZ3JpZCBnYXAtMlwiPlxyXG4gICAgICAgICAgICBAZm9yIChpdGVtIG9mIGxzdE1lbnU7IHRyYWNrIGl0ZW07IGxldCBpID0gJGluZGV4KSB7XHJcbiAgICAgICAgICAgICAgQGlmKGl0ZW0udHlwZSA9PSBcIk1lbnVcIil7XHJcbiAgICAgICAgICAgICAgICA8aW9uLWJ1dHRvbiBmaWxsPVwib3V0bGluZVwiIGNsYXNzPVwiZ3JvdyBtaW4tdy1maXRcIiBbcm91dGVyTGlua109XCJbaXRlbS5yb3V0ZV1cIj5cclxuICAgICAgICAgICAgICAgICAgPGlvbi1pY29uIHNsb3Q9XCJzdGFydFwiIFtuYW1lXT1cIml0ZW0uaWNvblwiPjwvaW9uLWljb24+IFxyXG4gICAgICAgICAgICAgICAgICB7e3VzZVRyYW5zbGF0aW9uID8gKFRyYW5zbGF0aW9uTW9kdWxlLlBlcm1pc3NhbyArIGl0ZW0uaWQgfCB0cmFuc2xhdGUpIDogaXRlbS50aXRsZX19XHJcbiAgICAgICAgICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIEBpZihpdGVtLnR5cGUgPT0gXCJNZW51R3JvdXBcIil7XHJcbiAgICAgICAgICAgICAgICA8aW9uLWJ1dHRvbiBmaWxsPVwib3V0bGluZVwiIGNsYXNzPVwiZ3JvdyBtaW4tdy1maXRcIiAoY2xpY2spPVwicG9wb3Zlci5wcmVzZW50KCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgICAgPGlvbi1pY29uIHNsb3Q9XCJzdGFydFwiIFtuYW1lXT1cIml0ZW0uaWNvblwiPjwvaW9uLWljb24+IFxyXG4gICAgICAgICAgICAgICAgICB7e3VzZVRyYW5zbGF0aW9uID8gKFRyYW5zbGF0aW9uTW9kdWxlLlBlcm1pc3Nhb0dydXBvICsgaXRlbS5pZCB8IHRyYW5zbGF0ZSkgOiBpdGVtLnRpdGxlfX1cclxuICAgICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuXHJcbiAgICAgICAgICAgICAgICA8aW9uLXBvcG92ZXIgI3BvcG92ZXIgY2xhc3M9XCJvdmVyZmxvdy15LWF1dG9cIiBbZGlzbWlzc09uU2VsZWN0XT1cInRydWVcIiB0cmlnZ2VyQWN0aW9uPVwiY2xpY2tcIj5cclxuICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpb24tbGlzdCBjbGFzcz1cIm5vLW91dGVyLWJvcmRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGlvbi1pdGVtIGNsYXNzPVwiYmctdHJhbnNwYXJlbnRcIiAoY2xpY2spPVwiU2V0VGl0bGUobWVudSlcIiAqbmdGb3I9XCJsZXQgbWVudSBvZiBpdGVtLmxzdE1lbnVcIiBbcm91dGVyTGlua109XCJbJy4vJyArIG1lbnUucm91dGVdXCIgbGluZXM9XCJub25lXCIgZGV0YWlsPVwiZmFsc2VcIiByb3V0ZXJMaW5rQWN0aXZlPVwic2VsZWN0ZWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGlvbi1pY29uIFtuYW1lXT1cIm1lbnUuaWNvblwiIHNsb3Q9XCJzdGFydFwiPjwvaW9uLWljb24+IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW9uLWxhYmVsPiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB7e3VzZVRyYW5zbGF0aW9uID8gKFRyYW5zbGF0aW9uTW9kdWxlLlBlcm1pc3NhbyArIG1lbnUuaWQgfCB0cmFuc2xhdGUpIDogbWVudS50aXRsZX19ICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9pb24tbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2lvbi1pdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvaW9uLWxpc3Q+XHJcbiAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICA8L2lvbi1wb3BvdmVyPlxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cIiFvdmVyZmxvdy15LWF1dG8gdy1mdWxsIHBvcnRyYWl0Omdyb3cgcmVsYXRpdmVcIj5cclxuICAgICAgICAgIDxsb2FkaW5nIFt0eXBlXT1cIjNcIiBbbG9hZGluZ109XCJsb2FkaW5nXCI+PC9sb2FkaW5nPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC13cmFwIGl0ZW1zLXN0YXJ0IGp1c3RpZnktc3RhcnQgbXQtNCBwb3J0cmFpdDohZ3JpZCBwb3J0cmFpdDohZ3JpZC1jb2xzLTFcIj4gXHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgIDwvaW9uLWNhcmQtY29udGVudD5cclxuICAgIDwvaW9uLWNhcmQ+XHJcbiAgPC9kaXY+XHJcbjwvaW9uLWNvbnRlbnQ+Il19
|