@abp/ng.core 7.2.1 → 7.3.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{esm2020 → esm2022}/abp-ng.core.mjs +4 -4
- package/esm2022/lib/abstracts/abstract-guard.mjs +2 -0
- package/{esm2020 → esm2022}/lib/abstracts/auth-response.model.mjs +1 -1
- package/esm2022/lib/abstracts/auth.guard.mjs +18 -0
- package/esm2022/lib/abstracts/auth.service.mjs +46 -0
- package/esm2022/lib/abstracts/index.mjs +6 -0
- package/esm2022/lib/abstracts/ng-model.component.mjs +60 -0
- package/esm2022/lib/clients/http.client.mjs +29 -0
- package/{esm2020 → esm2022}/lib/clients/index.mjs +1 -1
- package/esm2022/lib/components/dynamic-layout.component.mjs +101 -0
- package/{esm2020 → esm2022}/lib/components/index.mjs +3 -3
- package/esm2022/lib/components/replaceable-route-container.component.mjs +43 -0
- package/esm2022/lib/components/router-outlet.component.mjs +16 -0
- package/{esm2020 → esm2022}/lib/constants/different-locales.mjs +336 -336
- package/{esm2020 → esm2022}/lib/constants/index.mjs +1 -1
- package/esm2022/lib/core.module.mjs +285 -0
- package/esm2022/lib/directives/autofocus.directive.mjs +31 -0
- package/esm2022/lib/directives/debounce.directive.mjs +37 -0
- package/esm2022/lib/directives/for.directive.mjs +160 -0
- package/esm2022/lib/directives/form-submit.directive.mjs +78 -0
- package/{esm2020 → esm2022}/lib/directives/index.mjs +8 -8
- package/esm2022/lib/directives/init.directive.mjs +22 -0
- package/esm2022/lib/directives/permission.directive.mjs +75 -0
- package/esm2022/lib/directives/replaceable-template.directive.mjs +133 -0
- package/esm2022/lib/directives/stop-propagation.directive.mjs +33 -0
- package/{esm2020 → esm2022}/lib/enums/common.mjs +1 -1
- package/{esm2020 → esm2022}/lib/enums/index.mjs +1 -1
- package/{esm2020 → esm2022}/lib/guards/index.mjs +1 -1
- package/esm2022/lib/guards/permission.guard.mjs +41 -0
- package/esm2022/lib/handlers/routes.handler.mjs +52 -0
- package/esm2022/lib/interceptors/api.interceptor.mjs +28 -0
- package/{esm2020 → esm2022}/lib/interceptors/index.mjs +1 -1
- package/esm2022/lib/localization.module.mjs +17 -0
- package/{esm2020 → esm2022}/lib/models/auth.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/common.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/dtos.mjs +134 -134
- package/{esm2020 → esm2022}/lib/models/environment.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/index.mjs +9 -9
- package/{esm2020 → esm2022}/lib/models/localization.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/replaceable-components.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/rest.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/session.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/utility.mjs +1 -1
- package/{esm2020 → esm2022}/lib/pipes/index.mjs +7 -7
- package/esm2022/lib/pipes/localization.pipe.mjs +34 -0
- package/esm2022/lib/pipes/safe-html.pipe.mjs +24 -0
- package/esm2022/lib/pipes/short-date-time.pipe.mjs +35 -0
- package/esm2022/lib/pipes/short-date.pipe.mjs +35 -0
- package/esm2022/lib/pipes/short-time.pipe.mjs +35 -0
- package/esm2022/lib/pipes/sort.pipe.mjs +50 -0
- package/esm2022/lib/pipes/to-injector.pipe.mjs +30 -0
- package/{esm2020 → esm2022}/lib/providers/cookie-language.provider.mjs +21 -21
- package/{esm2020 → esm2022}/lib/providers/include-localization-resources.provider.mjs +5 -5
- package/{esm2020 → esm2022}/lib/providers/locale.provider.mjs +25 -25
- package/esm2022/lib/proxy/pages/abp/multi-tenancy/abp-tenant.service.mjs +28 -0
- package/{esm2020 → esm2022}/lib/proxy/pages/abp/multi-tenancy/index.mjs +1 -1
- package/esm2022/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/abp-api-definition.service.mjs +25 -0
- package/{esm2020 → esm2022}/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/index.mjs +1 -1
- package/esm2022/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service.mjs +25 -0
- package/esm2022/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-localization.service.mjs +25 -0
- package/{esm2020 → esm2022}/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/index.mjs +5 -5
- package/{esm2020 → esm2022}/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/models.mjs +1 -1
- package/{esm2020 → esm2022}/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending/index.mjs +1 -1
- package/{esm2020 → esm2022}/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending/models.mjs +1 -1
- package/{esm2020 → esm2022}/lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy/index.mjs +1 -1
- package/{esm2020 → esm2022}/lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy/models.mjs +1 -1
- package/{esm2020 → esm2022}/lib/proxy/volo/abp/http/modeling/index.mjs +1 -1
- package/{esm2020 → esm2022}/lib/proxy/volo/abp/http/modeling/models.mjs +1 -1
- package/{esm2020 → esm2022}/lib/proxy/volo/abp/localization/index.mjs +1 -1
- package/{esm2020 → esm2022}/lib/proxy/volo/abp/localization/models.mjs +1 -1
- package/{esm2020 → esm2022}/lib/proxy/volo/abp/models.mjs +1 -1
- package/esm2022/lib/services/config-state.service.mjs +182 -0
- package/esm2022/lib/services/content-projection.service.mjs +18 -0
- package/esm2022/lib/services/dom-insertion.service.mjs +35 -0
- package/esm2022/lib/services/environment.service.mjs +49 -0
- package/esm2022/lib/services/http-error-reporter.service.mjs +30 -0
- package/esm2022/lib/services/http-wait.service.mjs +76 -0
- package/{esm2020 → esm2022}/lib/services/index.mjs +21 -21
- package/esm2022/lib/services/lazy-load.service.mjs +41 -0
- package/esm2022/lib/services/list.service.mjs +103 -0
- package/esm2022/lib/services/local-storage.service.mjs +33 -0
- package/esm2022/lib/services/localization.service.mjs +218 -0
- package/esm2022/lib/services/multi-tenancy.service.mjs +49 -0
- package/esm2022/lib/services/permission.service.mjs +64 -0
- package/esm2022/lib/services/replaceable-components.service.mjs +50 -0
- package/esm2022/lib/services/resource-wait.service.mjs +40 -0
- package/esm2022/lib/services/rest.service.mjs +79 -0
- package/esm2022/lib/services/router-events.service.mjs +39 -0
- package/esm2022/lib/services/router-wait.service.mjs +52 -0
- package/esm2022/lib/services/routes.service.mjs +165 -0
- package/esm2022/lib/services/session-state.service.mjs +81 -0
- package/esm2022/lib/services/subscription.service.mjs +44 -0
- package/esm2022/lib/services/track-by.service.mjs +22 -0
- package/{esm2020 → esm2022}/lib/strategies/container.strategy.mjs +37 -37
- package/{esm2020 → esm2022}/lib/strategies/content-security.strategy.mjs +29 -29
- package/{esm2020 → esm2022}/lib/strategies/content.strategy.mjs +51 -51
- package/{esm2020 → esm2022}/lib/strategies/context.strategy.mjs +36 -36
- package/{esm2020 → esm2022}/lib/strategies/cross-origin.strategy.mjs +27 -27
- package/{esm2020 → esm2022}/lib/strategies/dom.strategy.mjs +26 -26
- package/{esm2020 → esm2022}/lib/strategies/index.mjs +8 -8
- package/{esm2020 → esm2022}/lib/strategies/loading.strategy.mjs +57 -57
- package/{esm2020 → esm2022}/lib/strategies/projection.strategy.mjs +79 -79
- package/{esm2020 → esm2022}/lib/tokens/app-config.token.mjs +2 -2
- package/{esm2020 → esm2022}/lib/tokens/check-authentication-state.mjs +2 -2
- package/{esm2020 → esm2022}/lib/tokens/cookie-language-key.token.mjs +4 -4
- package/{esm2020 → esm2022}/lib/tokens/http-context.token.mjs +2 -2
- package/{esm2020 → esm2022}/lib/tokens/include-localization-resources.token.mjs +2 -2
- package/{esm2020 → esm2022}/lib/tokens/index.mjs +15 -15
- package/{esm2020 → esm2022}/lib/tokens/list.token.mjs +2 -2
- package/{esm2020 → esm2022}/lib/tokens/localization.token.mjs +9 -9
- package/{esm2020 → esm2022}/lib/tokens/lodaer-delay.token.mjs +2 -2
- package/{esm2020 → esm2022}/lib/tokens/manage-profile.token.mjs +2 -2
- package/{esm2020 → esm2022}/lib/tokens/options.token.mjs +7 -7
- package/{esm2020 → esm2022}/lib/tokens/others-group.token.mjs +2 -2
- package/{esm2020 → esm2022}/lib/tokens/pipe-to-login.token.mjs +2 -2
- package/{esm2020 → esm2022}/lib/tokens/queue.token.mjs +2 -2
- package/{esm2020 → esm2022}/lib/tokens/set-token-response-to-storage.token.mjs +5 -5
- package/{esm2020 → esm2022}/lib/tokens/tenant-key.token.mjs +2 -2
- package/{esm2020 → esm2022}/lib/utils/array-utils.mjs +6 -6
- package/{esm2020 → esm2022}/lib/utils/common-utils.mjs +34 -34
- package/{esm2020 → esm2022}/lib/utils/date-extensions.mjs +5 -5
- package/{esm2020 → esm2022}/lib/utils/date-utils.mjs +12 -12
- package/{esm2020 → esm2022}/lib/utils/environment-utils.mjs +35 -35
- package/{esm2020 → esm2022}/lib/utils/factory-utils.mjs +24 -24
- package/{esm2020 → esm2022}/lib/utils/file-utils.mjs +13 -13
- package/{esm2020 → esm2022}/lib/utils/form-utils.mjs +11 -11
- package/{esm2020 → esm2022}/lib/utils/generator-utils.mjs +33 -33
- package/{esm2020 → esm2022}/lib/utils/http-utils.mjs +18 -18
- package/{esm2020 → esm2022}/lib/utils/index.mjs +20 -20
- package/{esm2020 → esm2022}/lib/utils/initial-utils.mjs +59 -59
- package/esm2022/lib/utils/internal-store-utils.mjs +37 -0
- package/{esm2020 → esm2022}/lib/utils/lazy-load-utils.mjs +39 -39
- package/{esm2020 → esm2022}/lib/utils/localization-utils.mjs +48 -48
- package/{esm2020 → esm2022}/lib/utils/multi-tenancy-utils.mjs +80 -80
- package/{esm2020 → esm2022}/lib/utils/number-utils.mjs +3 -3
- package/{esm2020 → esm2022}/lib/utils/object-utils.mjs +36 -36
- package/{esm2020 → esm2022}/lib/utils/queue.mjs +40 -40
- package/{esm2020 → esm2022}/lib/utils/route-utils.mjs +25 -25
- package/{esm2020 → esm2022}/lib/utils/string-utils.mjs +29 -29
- package/{esm2020 → esm2022}/lib/utils/tree-utils.mjs +69 -69
- package/{esm2020 → esm2022}/lib/validators/age.validator.mjs +13 -13
- package/{esm2020 → esm2022}/lib/validators/credit-card.validator.mjs +20 -20
- package/esm2022/lib/validators/index.mjs +29 -0
- package/{esm2020 → esm2022}/lib/validators/range.validator.mjs +14 -14
- package/{esm2020 → esm2022}/lib/validators/required.validator.mjs +14 -14
- package/{esm2020 → esm2022}/lib/validators/string-length.validator.mjs +14 -14
- package/esm2022/lib/validators/unique-character.validator.mjs +13 -0
- package/{esm2020 → esm2022}/lib/validators/url.validator.mjs +16 -16
- package/{esm2020 → esm2022}/lib/validators/username.validator.mjs +13 -13
- package/{esm2020 → esm2022}/locale/abp-ng.core-locale.mjs +4 -4
- package/{esm2020 → esm2022}/locale/public-api.mjs +1 -1
- package/{esm2020 → esm2022}/locale/utils/register-locale.mjs +46 -46
- package/{esm2020 → esm2022}/public-api.mjs +26 -26
- package/{esm2020 → esm2022}/testing/abp-ng.core-testing.mjs +4 -4
- package/esm2022/testing/lib/core-testing.module.mjs +68 -0
- package/{esm2020 → esm2022}/testing/lib/services/index.mjs +2 -2
- package/esm2022/testing/lib/services/mock-permission.service.mjs +36 -0
- package/esm2022/testing/lib/services/mock-rest.service.mjs +32 -0
- package/{esm2020 → esm2022}/testing/lib/utils/clear-page.util.mjs +9 -9
- package/{esm2020 → esm2022}/testing/lib/utils/index.mjs +2 -2
- package/{esm2020 → esm2022}/testing/lib/utils/wait.util.mjs +4 -4
- package/{esm2020 → esm2022}/testing/public-api.mjs +3 -3
- package/{fesm2020 → fesm2022}/abp-ng.core-locale.mjs +45 -45
- package/{fesm2020 → fesm2022}/abp-ng.core-testing.mjs +120 -120
- package/{fesm2020 → fesm2022}/abp-ng.core-testing.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/abp-ng.core.mjs +4199 -4187
- package/fesm2022/abp-ng.core.mjs.map +1 -0
- package/index.d.ts +5 -5
- package/lib/abstracts/abstract-guard.d.ts +5 -0
- package/lib/abstracts/auth-response.model.d.ts +10 -10
- package/lib/abstracts/auth.guard.d.ts +9 -10
- package/lib/abstracts/auth.service.d.ts +30 -30
- package/lib/abstracts/index.d.ts +5 -4
- package/lib/abstracts/ng-model.component.d.ts +25 -25
- package/lib/clients/http.client.d.ts +11 -11
- package/lib/clients/index.d.ts +1 -1
- package/lib/components/dynamic-layout.component.d.ts +28 -28
- package/lib/components/index.d.ts +3 -3
- package/lib/components/replaceable-route-container.component.d.ts +17 -17
- package/lib/components/router-outlet.component.d.ts +5 -5
- package/lib/constants/different-locales.d.ts +334 -334
- package/lib/constants/index.d.ts +1 -1
- package/lib/core.module.d.ts +57 -57
- package/lib/directives/autofocus.directive.d.ts +12 -12
- package/lib/directives/debounce.directive.d.ts +13 -13
- package/lib/directives/for.directive.d.ts +36 -36
- package/lib/directives/form-submit.directive.d.ts +23 -23
- package/lib/directives/index.d.ts +8 -8
- package/lib/directives/init.directive.d.ts +10 -10
- package/lib/directives/permission.directive.d.ts +24 -24
- package/lib/directives/replaceable-template.directive.d.ts +29 -29
- package/lib/directives/stop-propagation.directive.d.ts +12 -12
- package/lib/enums/common.d.ts +5 -5
- package/lib/enums/index.d.ts +1 -1
- package/lib/guards/index.d.ts +1 -1
- package/lib/guards/permission.guard.d.ts +16 -16
- package/lib/handlers/routes.handler.d.ts +11 -11
- package/lib/interceptors/api.interceptor.d.ts +14 -14
- package/lib/interceptors/index.d.ts +1 -1
- package/lib/localization.module.d.ts +7 -7
- package/lib/models/auth.d.ts +14 -14
- package/lib/models/common.d.ts +79 -79
- package/lib/models/dtos.d.ts +107 -107
- package/lib/models/environment.d.ts +38 -38
- package/lib/models/index.d.ts +9 -9
- package/lib/models/localization.d.ts +5 -5
- package/lib/models/replaceable-components.d.ts +45 -45
- package/lib/models/rest.d.ts +36 -36
- package/lib/models/session.d.ts +7 -7
- package/lib/models/utility.d.ts +14 -14
- package/lib/pipes/index.d.ts +7 -7
- package/lib/pipes/localization.pipe.d.ts +12 -12
- package/lib/pipes/safe-html.pipe.d.ts +9 -9
- package/lib/pipes/short-date-time.pipe.d.ts +12 -12
- package/lib/pipes/short-date.pipe.d.ts +12 -12
- package/lib/pipes/short-time.pipe.d.ts +12 -12
- package/lib/pipes/sort.pipe.d.ts +9 -9
- package/lib/pipes/to-injector.pipe.d.ts +10 -10
- package/lib/providers/cookie-language.provider.d.ts +3 -3
- package/lib/providers/include-localization-resources.provider.d.ts +2 -2
- package/lib/providers/locale.provider.d.ts +9 -9
- package/lib/proxy/pages/abp/multi-tenancy/abp-tenant.service.d.ts +12 -12
- package/lib/proxy/pages/abp/multi-tenancy/index.d.ts +1 -1
- package/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/abp-api-definition.service.d.ts +11 -11
- package/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/index.d.ts +1 -1
- package/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service.d.ts +11 -11
- package/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-localization.service.d.ts +11 -11
- package/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/index.d.ts +5 -5
- package/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/models.d.ts +106 -106
- package/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending/index.d.ts +1 -1
- package/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending/models.d.ts +71 -71
- package/lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy/index.d.ts +1 -1
- package/lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy/models.d.ts +14 -14
- package/lib/proxy/volo/abp/http/modeling/index.d.ts +1 -1
- package/lib/proxy/volo/abp/http/modeling/models.d.ts +88 -88
- package/lib/proxy/volo/abp/localization/index.d.ts +1 -1
- package/lib/proxy/volo/abp/localization/models.d.ts +7 -7
- package/lib/proxy/volo/abp/models.d.ts +4 -4
- package/lib/services/config-state.service.d.ts +379 -378
- package/lib/services/content-projection.service.d.ts +10 -10
- package/lib/services/dom-insertion.service.d.ts +10 -10
- package/lib/services/environment.service.d.ts +103 -103
- package/lib/services/http-error-reporter.service.d.ts +12 -12
- package/lib/services/http-wait.service.d.ts +30 -30
- package/lib/services/index.d.ts +21 -21
- package/lib/services/lazy-load.service.d.ts +13 -13
- package/lib/services/list.service.d.ts +39 -39
- package/lib/services/local-storage.service.d.ts +13 -13
- package/lib/services/localization.service.d.ts +54 -54
- package/lib/services/multi-tenancy.service.d.ts +22 -22
- package/lib/services/permission.service.d.ts +19 -19
- package/lib/services/replaceable-components.service.d.ts +19 -19
- package/lib/services/resource-wait.service.d.ts +15 -15
- package/lib/services/rest.service.d.ts +24 -24
- package/lib/services/router-events.service.d.ts +29 -29
- package/lib/services/router-wait.service.d.ts +20 -20
- package/lib/services/routes.service.d.ts +57 -57
- package/lib/services/session-state.service.d.ts +27 -27
- package/lib/services/subscription.service.d.ts +17 -17
- package/lib/services/track-by.service.d.ts +11 -11
- package/lib/strategies/container.strategy.d.ts +22 -22
- package/lib/strategies/content-security.strategy.d.ts +17 -17
- package/lib/strategies/content.strategy.d.ts +26 -26
- package/lib/strategies/context.strategy.d.ts +23 -23
- package/lib/strategies/cross-origin.strategy.d.ts +14 -14
- package/lib/strategies/dom.strategy.d.ts +13 -13
- package/lib/strategies/index.d.ts +8 -8
- package/lib/strategies/loading.strategy.d.ts +28 -28
- package/lib/strategies/projection.strategy.d.ts +39 -39
- package/lib/tokens/app-config.token.d.ts +3 -3
- package/lib/tokens/check-authentication-state.d.ts +3 -3
- package/lib/tokens/cookie-language-key.token.d.ts +2 -2
- package/lib/tokens/http-context.token.d.ts +2 -2
- package/lib/tokens/include-localization-resources.token.d.ts +2 -2
- package/lib/tokens/index.d.ts +15 -15
- package/lib/tokens/list.token.d.ts +2 -2
- package/lib/tokens/localization.token.d.ts +6 -6
- package/lib/tokens/lodaer-delay.token.d.ts +2 -2
- package/lib/tokens/manage-profile.token.d.ts +2 -2
- package/lib/tokens/options.token.d.ts +4 -4
- package/lib/tokens/others-group.token.d.ts +2 -2
- package/lib/tokens/pipe-to-login.token.d.ts +3 -3
- package/lib/tokens/queue.token.d.ts +3 -3
- package/lib/tokens/set-token-response-to-storage.token.d.ts +6 -6
- package/lib/tokens/tenant-key.token.d.ts +2 -2
- package/lib/utils/array-utils.d.ts +1 -1
- package/lib/utils/common-utils.d.ts +11 -11
- package/lib/utils/date-extensions.d.ts +6 -6
- package/lib/utils/date-utils.d.ts +4 -4
- package/lib/utils/environment-utils.d.ts +3 -3
- package/lib/utils/factory-utils.d.ts +11 -11
- package/lib/utils/file-utils.d.ts +1 -1
- package/lib/utils/form-utils.d.ts +2 -2
- package/lib/utils/generator-utils.d.ts +3 -3
- package/lib/utils/http-utils.d.ts +8 -8
- package/lib/utils/index.d.ts +20 -20
- package/lib/utils/initial-utils.d.ts +3 -3
- package/lib/utils/internal-store-utils.d.ts +14 -14
- package/lib/utils/lazy-load-utils.d.ts +4 -4
- package/lib/utils/localization-utils.d.ts +5 -5
- package/lib/utils/multi-tenancy-utils.d.ts +3 -3
- package/lib/utils/number-utils.d.ts +1 -1
- package/lib/utils/object-utils.d.ts +2 -2
- package/lib/utils/queue.d.ts +14 -14
- package/lib/utils/route-utils.d.ts +8 -8
- package/lib/utils/string-utils.d.ts +3 -3
- package/lib/utils/tree-utils.d.ts +26 -26
- package/lib/validators/age.validator.d.ts +10 -10
- package/lib/validators/credit-card.validator.d.ts +5 -5
- package/lib/validators/index.d.ts +28 -24
- package/lib/validators/range.validator.d.ts +12 -12
- package/lib/validators/required.validator.d.ts +8 -8
- package/lib/validators/string-length.validator.d.ts +14 -14
- package/lib/validators/unique-character.validator.d.ts +5 -0
- package/lib/validators/url.validator.d.ts +5 -5
- package/lib/validators/username.validator.d.ts +10 -10
- package/locale/index.d.ts +5 -5
- package/locale/public-api.d.ts +1 -1
- package/locale/utils/register-locale.d.ts +13 -13
- package/package.json +12 -22
- package/public-api.d.ts +25 -25
- package/testing/index.d.ts +5 -5
- package/testing/lib/core-testing.module.d.ts +16 -16
- package/testing/lib/services/index.d.ts +2 -2
- package/testing/lib/services/mock-permission.service.d.ts +10 -10
- package/testing/lib/services/mock-rest.service.d.ts +14 -14
- package/testing/lib/utils/clear-page.util.d.ts +2 -2
- package/testing/lib/utils/index.d.ts +2 -2
- package/testing/lib/utils/wait.util.d.ts +2 -2
- package/testing/public-api.d.ts +3 -3
- package/esm2020/lib/abstracts/auth.guard.mjs +0 -17
- package/esm2020/lib/abstracts/auth.service.mjs +0 -45
- package/esm2020/lib/abstracts/index.mjs +0 -5
- package/esm2020/lib/abstracts/ng-model.component.mjs +0 -59
- package/esm2020/lib/clients/http.client.mjs +0 -34
- package/esm2020/lib/components/dynamic-layout.component.mjs +0 -100
- package/esm2020/lib/components/replaceable-route-container.component.mjs +0 -42
- package/esm2020/lib/components/router-outlet.component.mjs +0 -15
- package/esm2020/lib/core.module.mjs +0 -282
- package/esm2020/lib/directives/autofocus.directive.mjs +0 -30
- package/esm2020/lib/directives/debounce.directive.mjs +0 -36
- package/esm2020/lib/directives/for.directive.mjs +0 -159
- package/esm2020/lib/directives/form-submit.directive.mjs +0 -77
- package/esm2020/lib/directives/init.directive.mjs +0 -21
- package/esm2020/lib/directives/permission.directive.mjs +0 -74
- package/esm2020/lib/directives/replaceable-template.directive.mjs +0 -132
- package/esm2020/lib/directives/stop-propagation.directive.mjs +0 -32
- package/esm2020/lib/guards/permission.guard.mjs +0 -44
- package/esm2020/lib/handlers/routes.handler.mjs +0 -51
- package/esm2020/lib/interceptors/api.interceptor.mjs +0 -27
- package/esm2020/lib/localization.module.mjs +0 -16
- package/esm2020/lib/pipes/localization.pipe.mjs +0 -33
- package/esm2020/lib/pipes/safe-html.pipe.mjs +0 -23
- package/esm2020/lib/pipes/short-date-time.pipe.mjs +0 -34
- package/esm2020/lib/pipes/short-date.pipe.mjs +0 -34
- package/esm2020/lib/pipes/short-time.pipe.mjs +0 -34
- package/esm2020/lib/pipes/sort.pipe.mjs +0 -49
- package/esm2020/lib/pipes/to-injector.pipe.mjs +0 -29
- package/esm2020/lib/proxy/pages/abp/multi-tenancy/abp-tenant.service.mjs +0 -27
- package/esm2020/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/abp-api-definition.service.mjs +0 -24
- package/esm2020/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service.mjs +0 -24
- package/esm2020/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-localization.service.mjs +0 -24
- package/esm2020/lib/services/config-state.service.mjs +0 -178
- package/esm2020/lib/services/content-projection.service.mjs +0 -17
- package/esm2020/lib/services/dom-insertion.service.mjs +0 -34
- package/esm2020/lib/services/environment.service.mjs +0 -48
- package/esm2020/lib/services/http-error-reporter.service.mjs +0 -29
- package/esm2020/lib/services/http-wait.service.mjs +0 -75
- package/esm2020/lib/services/lazy-load.service.mjs +0 -40
- package/esm2020/lib/services/list.service.mjs +0 -102
- package/esm2020/lib/services/local-storage.service.mjs +0 -32
- package/esm2020/lib/services/localization.service.mjs +0 -217
- package/esm2020/lib/services/multi-tenancy.service.mjs +0 -48
- package/esm2020/lib/services/permission.service.mjs +0 -63
- package/esm2020/lib/services/replaceable-components.service.mjs +0 -49
- package/esm2020/lib/services/resource-wait.service.mjs +0 -39
- package/esm2020/lib/services/rest.service.mjs +0 -78
- package/esm2020/lib/services/router-events.service.mjs +0 -38
- package/esm2020/lib/services/router-wait.service.mjs +0 -51
- package/esm2020/lib/services/routes.service.mjs +0 -163
- package/esm2020/lib/services/session-state.service.mjs +0 -80
- package/esm2020/lib/services/subscription.service.mjs +0 -43
- package/esm2020/lib/services/track-by.service.mjs +0 -21
- package/esm2020/lib/utils/internal-store-utils.mjs +0 -37
- package/esm2020/lib/validators/index.mjs +0 -25
- package/esm2020/testing/lib/core-testing.module.mjs +0 -67
- package/esm2020/testing/lib/services/mock-permission.service.mjs +0 -35
- package/esm2020/testing/lib/services/mock-rest.service.mjs +0 -31
- package/fesm2015/abp-ng.core-locale.mjs +0 -57
- package/fesm2015/abp-ng.core-locale.mjs.map +0 -1
- package/fesm2015/abp-ng.core-testing.mjs +0 -146
- package/fesm2015/abp-ng.core-testing.mjs.map +0 -1
- package/fesm2015/abp-ng.core.mjs +0 -4460
- package/fesm2015/abp-ng.core.mjs.map +0 -1
- package/fesm2020/abp-ng.core.mjs.map +0 -1
- package/src/lib/proxy/README.md +0 -17
- /package/{fesm2020 → fesm2022}/abp-ng.core-locale.mjs.map +0 -0
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { NavigationCancel, NavigationEnd, NavigationError, NavigationStart, Router } from '@angular/router';
|
|
3
|
-
import { filter } from 'rxjs/operators';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/router";
|
|
6
|
-
export const NavigationEvent = {
|
|
7
|
-
Cancel: NavigationCancel,
|
|
8
|
-
End: NavigationEnd,
|
|
9
|
-
Error: NavigationError,
|
|
10
|
-
Start: NavigationStart,
|
|
11
|
-
};
|
|
12
|
-
export class RouterEvents {
|
|
13
|
-
constructor(router) {
|
|
14
|
-
this.router = router;
|
|
15
|
-
}
|
|
16
|
-
getEvents(...eventTypes) {
|
|
17
|
-
const filterRouterEvents = (event) => eventTypes.some(type => event instanceof type);
|
|
18
|
-
return this.router.events.pipe(filter(filterRouterEvents));
|
|
19
|
-
}
|
|
20
|
-
getNavigationEvents(...navigationEventKeys) {
|
|
21
|
-
const filterNavigationEvents = (event) => navigationEventKeys.some(key => event instanceof NavigationEvent[key]);
|
|
22
|
-
return this.router.events.pipe(filter(filterNavigationEvents));
|
|
23
|
-
}
|
|
24
|
-
getAllEvents() {
|
|
25
|
-
return this.router.events;
|
|
26
|
-
}
|
|
27
|
-
getAllNavigationEvents() {
|
|
28
|
-
const keys = Object.keys(NavigationEvent);
|
|
29
|
-
return this.getNavigationEvents(...keys);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
RouterEvents.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: RouterEvents, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
33
|
-
RouterEvents.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: RouterEvents, providedIn: 'root' });
|
|
34
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: RouterEvents, decorators: [{
|
|
35
|
-
type: Injectable,
|
|
36
|
-
args: [{ providedIn: 'root' }]
|
|
37
|
-
}], ctorParameters: function () { return [{ type: i1.Router }]; } });
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLWV2ZW50cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL3NlcnZpY2VzL3JvdXRlci1ldmVudHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsYUFBYSxFQUNiLGVBQWUsRUFDZixlQUFlLEVBQ2YsTUFBTSxFQUdQLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFFeEMsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHO0lBQzdCLE1BQU0sRUFBRSxnQkFBZ0I7SUFDeEIsR0FBRyxFQUFFLGFBQWE7SUFDbEIsS0FBSyxFQUFFLGVBQWU7SUFDdEIsS0FBSyxFQUFFLGVBQWU7Q0FDdkIsQ0FBQztBQUdGLE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLFlBQW9CLE1BQWM7UUFBZCxXQUFNLEdBQU4sTUFBTSxDQUFRO0lBQUcsQ0FBQztJQUV0QyxTQUFTLENBQW9DLEdBQUcsVUFBYTtRQUczRCxNQUFNLGtCQUFrQixHQUFHLENBQUMsS0FBWSxFQUFnQyxFQUFFLENBQ3hFLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLFlBQVksSUFBSSxDQUFDLENBQUM7UUFFakQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsbUJBQW1CLENBQWdDLEdBQUcsbUJBQXNCO1FBTzFFLE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxLQUFZLEVBQW9DLEVBQUUsQ0FDaEYsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsS0FBSyxZQUFZLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRXpFLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQzVCLENBQUM7SUFFRCxzQkFBc0I7UUFDcEIsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQXdCLENBQUM7UUFDakUsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUMzQyxDQUFDOzt5R0FoQ1UsWUFBWTs2R0FBWixZQUFZLGNBREMsTUFBTTsyRkFDbkIsWUFBWTtrQkFEeEIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgTmF2aWdhdGlvbkNhbmNlbCxcclxuICBOYXZpZ2F0aW9uRW5kLFxyXG4gIE5hdmlnYXRpb25FcnJvcixcclxuICBOYXZpZ2F0aW9uU3RhcnQsXHJcbiAgUm91dGVyLFxyXG4gIFJvdXRlckV2ZW50LFxyXG4gIEV2ZW50XHJcbn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuZXhwb3J0IGNvbnN0IE5hdmlnYXRpb25FdmVudCA9IHtcclxuICBDYW5jZWw6IE5hdmlnYXRpb25DYW5jZWwsXHJcbiAgRW5kOiBOYXZpZ2F0aW9uRW5kLFxyXG4gIEVycm9yOiBOYXZpZ2F0aW9uRXJyb3IsXHJcbiAgU3RhcnQ6IE5hdmlnYXRpb25TdGFydCxcclxufTtcclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBSb3V0ZXJFdmVudHMge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIpIHt9XHJcblxyXG4gIGdldEV2ZW50czxUIGV4dGVuZHMgUm91dGVyRXZlbnRDb25zdHJ1Y3RvcnM+KC4uLmV2ZW50VHlwZXM6IFQpIHtcclxuICAgIHR5cGUgRmlsdGVyZWRSb3V0ZXJFdmVudCA9IFQgZXh0ZW5kcyBUeXBlPGluZmVyIEN0b3I+W10gPyBDdG9yIDogbmV2ZXI7XHJcblxyXG4gICAgY29uc3QgZmlsdGVyUm91dGVyRXZlbnRzID0gKGV2ZW50OiBFdmVudCk6IGV2ZW50IGlzIEZpbHRlcmVkUm91dGVyRXZlbnQgPT5cclxuICAgICAgZXZlbnRUeXBlcy5zb21lKHR5cGUgPT4gZXZlbnQgaW5zdGFuY2VvZiB0eXBlKTtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5yb3V0ZXIuZXZlbnRzLnBpcGUoZmlsdGVyKGZpbHRlclJvdXRlckV2ZW50cykpO1xyXG4gIH1cclxuXHJcbiAgZ2V0TmF2aWdhdGlvbkV2ZW50czxUIGV4dGVuZHMgTmF2aWdhdGlvbkV2ZW50S2V5cz4oLi4ubmF2aWdhdGlvbkV2ZW50S2V5czogVCkge1xyXG4gICAgdHlwZSBGaWx0ZXJlZE5hdmlnYXRpb25FdmVudCA9IFQgZXh0ZW5kcyAoaW5mZXIgS2V5KVtdXHJcbiAgICAgID8gS2V5IGV4dGVuZHMgTmF2aWdhdGlvbkV2ZW50S2V5XHJcbiAgICAgICAgPyBJbnN0YW5jZVR5cGU8TmF2aWdhdGlvbkV2ZW50VHlwZVtLZXldPlxyXG4gICAgICAgIDogbmV2ZXJcclxuICAgICAgOiBuZXZlcjtcclxuXHJcbiAgICBjb25zdCBmaWx0ZXJOYXZpZ2F0aW9uRXZlbnRzID0gKGV2ZW50OiBFdmVudCk6IGV2ZW50IGlzIEZpbHRlcmVkTmF2aWdhdGlvbkV2ZW50ID0+XHJcbiAgICAgIG5hdmlnYXRpb25FdmVudEtleXMuc29tZShrZXkgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRXZlbnRba2V5XSk7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMucm91dGVyLmV2ZW50cy5waXBlKGZpbHRlcihmaWx0ZXJOYXZpZ2F0aW9uRXZlbnRzKSk7XHJcbiAgfVxyXG5cclxuICBnZXRBbGxFdmVudHMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5yb3V0ZXIuZXZlbnRzO1xyXG4gIH1cclxuXHJcbiAgZ2V0QWxsTmF2aWdhdGlvbkV2ZW50cygpIHtcclxuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhOYXZpZ2F0aW9uRXZlbnQpIGFzIE5hdmlnYXRpb25FdmVudEtleXM7XHJcbiAgICByZXR1cm4gdGhpcy5nZXROYXZpZ2F0aW9uRXZlbnRzKC4uLmtleXMpO1xyXG4gIH1cclxufVxyXG5cclxudHlwZSBSb3V0ZXJFdmVudENvbnN0cnVjdG9ycyA9IFtUeXBlPFJvdXRlckV2ZW50PiwgLi4uVHlwZTxSb3V0ZXJFdmVudD5bXV07XHJcblxyXG50eXBlIE5hdmlnYXRpb25FdmVudEtleXMgPSBbTmF2aWdhdGlvbkV2ZW50S2V5LCAuLi5OYXZpZ2F0aW9uRXZlbnRLZXlbXV07XHJcblxyXG50eXBlIE5hdmlnYXRpb25FdmVudFR5cGUgPSB0eXBlb2YgTmF2aWdhdGlvbkV2ZW50O1xyXG5cclxuZXhwb3J0IHR5cGUgTmF2aWdhdGlvbkV2ZW50S2V5ID0ga2V5b2YgTmF2aWdhdGlvbkV2ZW50VHlwZTtcclxuIl19
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { Injectable, Injector } from '@angular/core';
|
|
2
|
-
import { NavigationStart } from '@angular/router';
|
|
3
|
-
import { of, Subject, timer } from 'rxjs';
|
|
4
|
-
import { map, mapTo, switchMap, takeUntil, tap } from 'rxjs/operators';
|
|
5
|
-
import { LOADER_DELAY } from '../tokens/lodaer-delay.token';
|
|
6
|
-
import { InternalStore } from '../utils/internal-store-utils';
|
|
7
|
-
import { RouterEvents } from './router-events.service';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "./router-events.service";
|
|
10
|
-
export class RouterWaitService {
|
|
11
|
-
constructor(routerEvents, injector) {
|
|
12
|
-
this.routerEvents = routerEvents;
|
|
13
|
-
this.store = new InternalStore({ loading: false });
|
|
14
|
-
this.destroy$ = new Subject();
|
|
15
|
-
this.delay = injector.get(LOADER_DELAY, 500);
|
|
16
|
-
this.updateLoadingStatusOnNavigationEvents();
|
|
17
|
-
}
|
|
18
|
-
updateLoadingStatusOnNavigationEvents() {
|
|
19
|
-
this.routerEvents
|
|
20
|
-
.getAllNavigationEvents()
|
|
21
|
-
.pipe(map(event => event instanceof NavigationStart), switchMap(condition => condition
|
|
22
|
-
? this.delay === 0
|
|
23
|
-
? of(true)
|
|
24
|
-
: timer(this.delay || 0).pipe(mapTo(true), takeUntil(this.destroy$))
|
|
25
|
-
: of(false)), tap(() => this.destroy$.next()))
|
|
26
|
-
.subscribe(status => {
|
|
27
|
-
this.setLoading(status);
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
getLoading() {
|
|
31
|
-
return this.store.state.loading;
|
|
32
|
-
}
|
|
33
|
-
getLoading$() {
|
|
34
|
-
return this.store.sliceState(({ loading }) => loading);
|
|
35
|
-
}
|
|
36
|
-
updateLoading$() {
|
|
37
|
-
return this.store.sliceUpdate(({ loading }) => loading);
|
|
38
|
-
}
|
|
39
|
-
setLoading(loading) {
|
|
40
|
-
this.store.patch({ loading });
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
RouterWaitService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: RouterWaitService, deps: [{ token: i1.RouterEvents }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
44
|
-
RouterWaitService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: RouterWaitService, providedIn: 'root' });
|
|
45
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: RouterWaitService, decorators: [{
|
|
46
|
-
type: Injectable,
|
|
47
|
-
args: [{
|
|
48
|
-
providedIn: 'root',
|
|
49
|
-
}]
|
|
50
|
-
}], ctorParameters: function () { return [{ type: i1.RouterEvents }, { type: i0.Injector }]; } });
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLXdhaXQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi9zZXJ2aWNlcy9yb3V0ZXItd2FpdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7O0FBU3ZELE1BQU0sT0FBTyxpQkFBaUI7SUFJNUIsWUFBb0IsWUFBMEIsRUFBRSxRQUFrQjtRQUE5QyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUh0QyxVQUFLLEdBQUcsSUFBSSxhQUFhLENBQWtCLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDL0QsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFHckMsSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxHQUFHLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMscUNBQXFDLEVBQUUsQ0FBQztJQUMvQyxDQUFDO0lBRU8scUNBQXFDO1FBQzNDLElBQUksQ0FBQyxZQUFZO2FBQ2Qsc0JBQXNCLEVBQUU7YUFDeEIsSUFBSSxDQUNILEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssWUFBWSxlQUFlLENBQUMsRUFDOUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQ3BCLFNBQVM7WUFDUCxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssS0FBSyxDQUFDO2dCQUNoQixDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQztnQkFDVixDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3RFLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQ2QsRUFDRCxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUNoQzthQUNBLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNsQixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztJQUNsQyxDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQWdCO1FBQ3pCLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUNoQyxDQUFDOzs4R0ExQ1UsaUJBQWlCO2tIQUFqQixpQkFBaUIsY0FGaEIsTUFBTTsyRkFFUCxpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmF2aWdhdGlvblN0YXJ0IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgb2YsIFN1YmplY3QsIHRpbWVyIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCwgbWFwVG8sIHN3aXRjaE1hcCwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IExPQURFUl9ERUxBWSB9IGZyb20gJy4uL3Rva2Vucy9sb2RhZXItZGVsYXkudG9rZW4nO1xyXG5pbXBvcnQgeyBJbnRlcm5hbFN0b3JlIH0gZnJvbSAnLi4vdXRpbHMvaW50ZXJuYWwtc3RvcmUtdXRpbHMnO1xyXG5pbXBvcnQgeyBSb3V0ZXJFdmVudHMgfSBmcm9tICcuL3JvdXRlci1ldmVudHMuc2VydmljZSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFJvdXRlcldhaXRTdGF0ZSB7XHJcbiAgbG9hZGluZzogYm9vbGVhbjtcclxufVxyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFJvdXRlcldhaXRTZXJ2aWNlIHtcclxuICBwcml2YXRlIHN0b3JlID0gbmV3IEludGVybmFsU3RvcmU8Um91dGVyV2FpdFN0YXRlPih7IGxvYWRpbmc6IGZhbHNlIH0pO1xyXG4gIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIHByaXZhdGUgZGVsYXk6IG51bWJlcjtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlckV2ZW50czogUm91dGVyRXZlbnRzLCBpbmplY3RvcjogSW5qZWN0b3IpIHtcclxuICAgIHRoaXMuZGVsYXkgPSBpbmplY3Rvci5nZXQoTE9BREVSX0RFTEFZLCA1MDApO1xyXG4gICAgdGhpcy51cGRhdGVMb2FkaW5nU3RhdHVzT25OYXZpZ2F0aW9uRXZlbnRzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZUxvYWRpbmdTdGF0dXNPbk5hdmlnYXRpb25FdmVudHMoKSB7XHJcbiAgICB0aGlzLnJvdXRlckV2ZW50c1xyXG4gICAgICAuZ2V0QWxsTmF2aWdhdGlvbkV2ZW50cygpXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcChldmVudCA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCksXHJcbiAgICAgICAgc3dpdGNoTWFwKGNvbmRpdGlvbiA9PlxyXG4gICAgICAgICAgY29uZGl0aW9uXHJcbiAgICAgICAgICAgID8gdGhpcy5kZWxheSA9PT0gMFxyXG4gICAgICAgICAgICAgID8gb2YodHJ1ZSlcclxuICAgICAgICAgICAgICA6IHRpbWVyKHRoaXMuZGVsYXkgfHwgMCkucGlwZShtYXBUbyh0cnVlKSwgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgICA6IG9mKGZhbHNlKSxcclxuICAgICAgICApLFxyXG4gICAgICAgIHRhcCgoKSA9PiB0aGlzLmRlc3Ryb3kkLm5leHQoKSksXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZShzdGF0dXMgPT4ge1xyXG4gICAgICAgIHRoaXMuc2V0TG9hZGluZyhzdGF0dXMpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldExvYWRpbmcoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zdGF0ZS5sb2FkaW5nO1xyXG4gIH1cclxuXHJcbiAgZ2V0TG9hZGluZyQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zbGljZVN0YXRlKCh7IGxvYWRpbmcgfSkgPT4gbG9hZGluZyk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVMb2FkaW5nJCgpIHtcclxuICAgIHJldHVybiB0aGlzLnN0b3JlLnNsaWNlVXBkYXRlKCh7IGxvYWRpbmcgfSkgPT4gbG9hZGluZyk7XHJcbiAgfVxyXG5cclxuICBzZXRMb2FkaW5nKGxvYWRpbmc6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuc3RvcmUucGF0Y2goeyBsb2FkaW5nIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
import { Injectable, Injector } from '@angular/core';
|
|
2
|
-
import { BehaviorSubject, map } from 'rxjs';
|
|
3
|
-
import { OTHERS_GROUP } from '../tokens';
|
|
4
|
-
import { pushValueTo } from '../utils/array-utils';
|
|
5
|
-
import { BaseTreeNode, createTreeFromList, createGroupMap, } from '../utils/tree-utils';
|
|
6
|
-
import { ConfigStateService } from './config-state.service';
|
|
7
|
-
import { PermissionService } from './permission.service';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
10
|
-
export class AbstractTreeService {
|
|
11
|
-
constructor() {
|
|
12
|
-
this._flat$ = new BehaviorSubject([]);
|
|
13
|
-
this._tree$ = new BehaviorSubject([]);
|
|
14
|
-
this._visible$ = new BehaviorSubject([]);
|
|
15
|
-
}
|
|
16
|
-
get flat() {
|
|
17
|
-
return this._flat$.value;
|
|
18
|
-
}
|
|
19
|
-
get flat$() {
|
|
20
|
-
return this._flat$.asObservable();
|
|
21
|
-
}
|
|
22
|
-
get tree() {
|
|
23
|
-
return this._tree$.value;
|
|
24
|
-
}
|
|
25
|
-
get tree$() {
|
|
26
|
-
return this._tree$.asObservable();
|
|
27
|
-
}
|
|
28
|
-
get visible() {
|
|
29
|
-
return this._visible$.value;
|
|
30
|
-
}
|
|
31
|
-
get visible$() {
|
|
32
|
-
return this._visible$.asObservable();
|
|
33
|
-
}
|
|
34
|
-
createTree(items) {
|
|
35
|
-
return createTreeFromList(items, item => item[this.id], item => item[this.parentId], item => BaseTreeNode.create(item));
|
|
36
|
-
}
|
|
37
|
-
createGroupedTree(list) {
|
|
38
|
-
const map = createGroupMap(list, this.othersGroup);
|
|
39
|
-
if (!map) {
|
|
40
|
-
return undefined;
|
|
41
|
-
}
|
|
42
|
-
return Array.from(map, ([key, items]) => ({ group: key, items }));
|
|
43
|
-
}
|
|
44
|
-
filterWith(setOrMap) {
|
|
45
|
-
return this._flat$.value.filter(item => !setOrMap.has(item[this.id]));
|
|
46
|
-
}
|
|
47
|
-
findItemsToRemove(set) {
|
|
48
|
-
return this._flat$.value.reduce((acc, item) => {
|
|
49
|
-
if (!acc.has(item[this.parentId]))
|
|
50
|
-
return acc;
|
|
51
|
-
const childSet = new Set([item[this.id]]);
|
|
52
|
-
const children = this.findItemsToRemove(childSet);
|
|
53
|
-
return new Set([...acc, ...children]);
|
|
54
|
-
}, set);
|
|
55
|
-
}
|
|
56
|
-
publish(flatItems, visibleItems) {
|
|
57
|
-
this._flat$.next(flatItems);
|
|
58
|
-
this._tree$.next(this.createTree(flatItems));
|
|
59
|
-
this._visible$.next(this.createTree(visibleItems));
|
|
60
|
-
return flatItems;
|
|
61
|
-
}
|
|
62
|
-
add(items) {
|
|
63
|
-
const map = new Map();
|
|
64
|
-
items.forEach(item => map.set(item[this.id], item));
|
|
65
|
-
const flatItems = this.filterWith(map);
|
|
66
|
-
map.forEach(pushValueTo(flatItems));
|
|
67
|
-
flatItems.sort(this.sort);
|
|
68
|
-
const visibleItems = flatItems.filter(item => !this.hide(item));
|
|
69
|
-
return this.publish(flatItems, visibleItems);
|
|
70
|
-
}
|
|
71
|
-
find(predicate, tree = this.tree) {
|
|
72
|
-
return tree.reduce((acc, node) => (acc ? acc : predicate(node) ? node : this.find(predicate, node.children)), null);
|
|
73
|
-
}
|
|
74
|
-
patch(identifier, props) {
|
|
75
|
-
const flatItems = this._flat$.value;
|
|
76
|
-
const index = flatItems.findIndex(item => item[this.id] === identifier);
|
|
77
|
-
if (index < 0)
|
|
78
|
-
return false;
|
|
79
|
-
flatItems[index] = { ...flatItems[index], ...props };
|
|
80
|
-
flatItems.sort(this.sort);
|
|
81
|
-
const visibleItems = flatItems.filter(item => !this.hide(item));
|
|
82
|
-
return this.publish(flatItems, visibleItems);
|
|
83
|
-
}
|
|
84
|
-
refresh() {
|
|
85
|
-
return this.add([]);
|
|
86
|
-
}
|
|
87
|
-
remove(identifiers) {
|
|
88
|
-
const set = new Set();
|
|
89
|
-
identifiers.forEach(id => set.add(id));
|
|
90
|
-
const setToRemove = this.findItemsToRemove(set);
|
|
91
|
-
const flatItems = this.filterWith(setToRemove);
|
|
92
|
-
const visibleItems = flatItems.filter(item => !this.hide(item));
|
|
93
|
-
return this.publish(flatItems, visibleItems);
|
|
94
|
-
}
|
|
95
|
-
search(params, tree = this.tree) {
|
|
96
|
-
const searchKeys = Object.keys(params);
|
|
97
|
-
return tree.reduce((acc, node) => acc
|
|
98
|
-
? acc
|
|
99
|
-
: searchKeys.every(key => node[key] === params[key])
|
|
100
|
-
? node
|
|
101
|
-
: this.search(params, node.children), null);
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
export class AbstractNavTreeService extends AbstractTreeService {
|
|
105
|
-
constructor(injector) {
|
|
106
|
-
super();
|
|
107
|
-
this.injector = injector;
|
|
108
|
-
this.id = 'name';
|
|
109
|
-
this.parentId = 'parentName';
|
|
110
|
-
this.hide = (item) => item.invisible || !this.isGranted(item);
|
|
111
|
-
this.sort = (a, b) => {
|
|
112
|
-
if (!Number.isInteger(a.order))
|
|
113
|
-
return 1;
|
|
114
|
-
if (!Number.isInteger(b.order))
|
|
115
|
-
return -1;
|
|
116
|
-
return a.order - b.order;
|
|
117
|
-
};
|
|
118
|
-
const configState = this.injector.get(ConfigStateService);
|
|
119
|
-
this.subscription = configState
|
|
120
|
-
.createOnUpdateStream(state => state)
|
|
121
|
-
.subscribe(() => this.refresh());
|
|
122
|
-
this.permissionService = injector.get(PermissionService);
|
|
123
|
-
this.othersGroup = injector.get(OTHERS_GROUP);
|
|
124
|
-
}
|
|
125
|
-
isGranted({ requiredPolicy }) {
|
|
126
|
-
return this.permissionService.getGrantedPolicy(requiredPolicy);
|
|
127
|
-
}
|
|
128
|
-
hasChildren(identifier) {
|
|
129
|
-
const node = this.find(item => item[this.id] === identifier);
|
|
130
|
-
return Boolean(node?.children?.length);
|
|
131
|
-
}
|
|
132
|
-
hasInvisibleChild(identifier) {
|
|
133
|
-
const node = this.find(item => item[this.id] === identifier);
|
|
134
|
-
return node?.children?.some(child => child.invisible) || false;
|
|
135
|
-
}
|
|
136
|
-
/* istanbul ignore next */
|
|
137
|
-
ngOnDestroy() {
|
|
138
|
-
this.subscription.unsubscribe();
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
AbstractNavTreeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AbstractNavTreeService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
142
|
-
AbstractNavTreeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AbstractNavTreeService });
|
|
143
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AbstractNavTreeService, decorators: [{
|
|
144
|
-
type: Injectable
|
|
145
|
-
}], ctorParameters: function () { return [{ type: i0.Injector }]; } });
|
|
146
|
-
export class RoutesService extends AbstractNavTreeService {
|
|
147
|
-
hasPathOrChild(item) {
|
|
148
|
-
return Boolean(item.path) || this.hasChildren(item.name);
|
|
149
|
-
}
|
|
150
|
-
get groupedVisible() {
|
|
151
|
-
return this.createGroupedTree(this.visible.filter(item => this.hasPathOrChild(item)));
|
|
152
|
-
}
|
|
153
|
-
get groupedVisible$() {
|
|
154
|
-
return this.visible$.pipe(map(items => items.filter(item => this.hasPathOrChild(item))), map(visible => this.createGroupedTree(visible)));
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
RoutesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: RoutesService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
158
|
-
RoutesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: RoutesService, providedIn: 'root' });
|
|
159
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: RoutesService, decorators: [{
|
|
160
|
-
type: Injectable,
|
|
161
|
-
args: [{ providedIn: 'root' }]
|
|
162
|
-
}] });
|
|
163
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvc2VydmljZXMvcm91dGVzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDaEUsT0FBTyxFQUFFLGVBQWUsRUFBNEIsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXRFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFDTCxZQUFZLEVBQ1osa0JBQWtCLEVBR2xCLGNBQWMsR0FDZixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUV6RCx3REFBd0Q7QUFDeEQsTUFBTSxPQUFnQixtQkFBbUI7SUFBekM7UUFNVSxXQUFNLEdBQUcsSUFBSSxlQUFlLENBQU0sRUFBRSxDQUFDLENBQUM7UUFDdEMsV0FBTSxHQUFHLElBQUksZUFBZSxDQUFnQixFQUFFLENBQUMsQ0FBQztRQUNoRCxjQUFTLEdBQUcsSUFBSSxlQUFlLENBQWdCLEVBQUUsQ0FBQyxDQUFDO0lBK0g3RCxDQUFDO0lBM0hDLElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUMzQixDQUFD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QUM7SUFDbEMsQ0FBQzs7bUhBM0NtQixzQkFBc0I7dUhBQXRCLHNCQUFzQjsyRkFBdEIsc0JBQXNCO2tCQUQzQyxVQUFVOztBQWdEWCxNQUFNLE9BQU8sYUFBYyxTQUFRLHNCQUFpQztJQUMxRCxjQUFjLENBQUMsSUFBeUI7UUFDOUMsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4RixDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ3ZCLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFDN0QsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQ2hELENBQUM7SUFDSixDQUFDOzswR0FkVSxhQUFhOzhHQUFiLGFBQWEsY0FEQSxNQUFNOzJGQUNuQixhQUFhO2tCQUR6QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24sIG1hcCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBBQlAgfSBmcm9tICcuLi9tb2RlbHMvY29tbW9uJztcclxuaW1wb3J0IHsgT1RIRVJTX0dST1VQIH0gZnJvbSAnLi4vdG9rZW5zJztcclxuaW1wb3J0IHsgcHVzaFZhbHVlVG8gfSBmcm9tICcuLi91dGlscy9hcnJheS11dGlscyc7XHJcbmltcG9ydCB7XHJcbiAgQmFzZVRyZWVOb2RlLFxyXG4gIGNyZWF0ZVRyZWVGcm9tTGlzdCxcclxuICBUcmVlTm9kZSxcclxuICBSb3V0ZUdyb3VwLFxyXG4gIGNyZWF0ZUdyb3VwTWFwLFxyXG59IGZyb20gJy4uL3V0aWxzL3RyZWUtdXRpbHMnO1xyXG5pbXBvcnQgeyBDb25maWdTdGF0ZVNlcnZpY2UgfSBmcm9tICcuL2NvbmZpZy1zdGF0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUGVybWlzc2lvblNlcnZpY2UgfSBmcm9tICcuL3Blcm1pc3Npb24uc2VydmljZSc7XHJcblxyXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10eXBlc1xyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RUcmVlU2VydmljZTxUIGV4dGVuZHMgeyBba2V5OiBzdHJpbmcgfCBudW1iZXIgfCBzeW1ib2xdOiBhbnkgfT4ge1xyXG4gIGFic3RyYWN0IGlkOiBzdHJpbmc7XHJcbiAgYWJzdHJhY3QgcGFyZW50SWQ6IHN0cmluZztcclxuICBhYnN0cmFjdCBoaWRlOiAoaXRlbTogVCkgPT4gYm9vbGVhbjtcclxuICBhYnN0cmFjdCBzb3J0OiAoYTogVCwgYjogVCkgPT4gbnVtYmVyO1xyXG5cclxuICBwcml2YXRlIF9mbGF0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VFtdPihbXSk7XHJcbiAgcHJpdmF0ZSBfdHJlZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRyZWVOb2RlPFQ+W10+KFtdKTtcclxuICBwcml2YXRlIF92aXNpYmxlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VHJlZU5vZGU8VD5bXT4oW10pO1xyXG5cclxuICBwcm90ZWN0ZWQgb3RoZXJzR3JvdXA6IHN0cmluZztcclxuXHJcbiAgZ2V0IGZsYXQoKTogVFtdIHtcclxuICAgIHJldHVybiB0aGlzLl9mbGF0JC52YWx1ZTtcclxuICB9XHJcblxyXG4gIGdldCBmbGF0JCgpOiBPYnNlcnZhYmxlPFRbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2ZsYXQkLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHRyZWUoKTogVHJlZU5vZGU8VD5bXSB7XHJcbiAgICByZXR1cm4gdGhpcy5fdHJlZSQudmFsdWU7XHJcbiAgfVxyXG5cclxuICBnZXQgdHJlZSQoKTogT2JzZXJ2YWJsZTxUcmVlTm9kZTxUPltdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5fdHJlZSQuYXNPYnNlcnZhYmxlKCk7XHJcbiAgfVxyXG5cclxuICBnZXQgdmlzaWJsZSgpOiBUcmVlTm9kZTxUPltdIHtcclxuICAgIHJldHVybiB0aGlzLl92aXNpYmxlJC52YWx1ZTtcclxuICB9XHJcblxyXG4gIGdldCB2aXNpYmxlJCgpOiBPYnNlcnZhYmxlPFRyZWVOb2RlPFQ+W10+IHtcclxuICAgIHJldHVybiB0aGlzLl92aXNpYmxlJC5hc09ic2VydmFibGUoKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBjcmVhdGVUcmVlKGl0ZW1zOiBUW10pOiBUcmVlTm9kZTxUPltdIHtcclxuICAgIHJldHVybiBjcmVhdGVUcmVlRnJvbUxpc3Q8VCwgVHJlZU5vZGU8VD4+KFxyXG4gICAgICBpdGVtcyxcclxuICAgICAgaXRlbSA9PiBpdGVtW3RoaXMuaWRdLFxyXG4gICAgICBpdGVtID0+IGl0ZW1bdGhpcy5wYXJlbnRJZF0sXHJcbiAgICAgIGl0ZW0gPT4gQmFzZVRyZWVOb2RlLmNyZWF0ZShpdGVtKSxcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgY3JlYXRlR3JvdXBlZFRyZWUobGlzdDogVHJlZU5vZGU8VD5bXSk6IFJvdXRlR3JvdXA8VD5bXSB8IHVuZGVmaW5lZCB7XHJcbiAgICBjb25zdCBtYXAgPSBjcmVhdGVHcm91cE1hcDxUPihsaXN0LCB0aGlzLm90aGVyc0dyb3VwKTtcclxuICAgIGlmICghbWFwKSB7XHJcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIEFycmF5LmZyb20obWFwLCAoW2tleSwgaXRlbXNdKSA9PiAoeyBncm91cDoga2V5LCBpdGVtcyB9KSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZpbHRlcldpdGgoc2V0T3JNYXA6IFNldDxzdHJpbmc+IHwgTWFwPHN0cmluZywgVD4pOiBUW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2ZsYXQkLnZhbHVlLmZpbHRlcihpdGVtID0+ICFzZXRPck1hcC5oYXMoaXRlbVt0aGlzLmlkXSkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmaW5kSXRlbXNUb1JlbW92ZShzZXQ6IFNldDxzdHJpbmc+KTogU2V0PHN0cmluZz4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2ZsYXQkLnZhbHVlLnJlZHVjZSgoYWNjLCBpdGVtKSA9PiB7XHJcbiAgICAgIGlmICghYWNjLmhhcyhpdGVtW3RoaXMucGFyZW50SWRdKSkgcmV0dXJuIGFjYztcclxuICAgICAgY29uc3QgY2hpbGRTZXQgPSBuZXcgU2V0KFtpdGVtW3RoaXMuaWRdXSk7XHJcbiAgICAgIGNvbnN0IGNoaWxkcmVuID0gdGhpcy5maW5kSXRlbXNUb1JlbW92ZShjaGlsZFNldCk7XHJcbiAgICAgIHJldHVybiBuZXcgU2V0KFsuLi5hY2MsIC4uLmNoaWxkcmVuXSk7XHJcbiAgICB9LCBzZXQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBwdWJsaXNoKGZsYXRJdGVtczogVFtdLCB2aXNpYmxlSXRlbXM6IFRbXSk6IFRbXSB7XHJcbiAgICB0aGlzLl9mbGF0JC5uZXh0KGZsYXRJdGVtcyk7XHJcbiAgICB0aGlzLl90cmVlJC5uZXh0KHRoaXMuY3JlYXRlVHJlZShmbGF0SXRlbXMpKTtcclxuICAgIHRoaXMuX3Zpc2libGUkLm5leHQodGhpcy5jcmVhdGVUcmVlKHZpc2libGVJdGVtcykpO1xyXG4gICAgcmV0dXJuIGZsYXRJdGVtcztcclxuICB9XHJcblxyXG4gIGFkZChpdGVtczogVFtdKTogVFtdIHtcclxuICAgIGNvbnN0IG1hcCA9IG5ldyBNYXA8c3RyaW5nLCBUPigpO1xyXG4gICAgaXRlbXMuZm9yRWFjaChpdGVtID0+IG1hcC5zZXQoaXRlbVt0aGlzLmlkXSwgaXRlbSkpO1xyXG5cclxuICAgIGNvbnN0IGZsYXRJdGVtcyA9IHRoaXMuZmlsdGVyV2l0aChtYXApO1xyXG4gICAgbWFwLmZvckVhY2gocHVzaFZhbHVlVG8oZmxhdEl0ZW1zKSk7XHJcblxyXG4gICAgZmxhdEl0ZW1zLnNvcnQodGhpcy5zb3J0KTtcclxuICAgIGNvbnN0IHZpc2libGVJdGVtcyA9IGZsYXRJdGVtcy5maWx0ZXIoaXRlbSA9PiAhdGhpcy5oaWRlKGl0ZW0pKTtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5wdWJsaXNoKGZsYXRJdGVtcywgdmlzaWJsZUl0ZW1zKTtcclxuICB9XHJcblxyXG4gIGZpbmQocHJlZGljYXRlOiAoaXRlbTogVHJlZU5vZGU8VD4pID0+IGJvb2xlYW4sIHRyZWUgPSB0aGlzLnRyZWUpOiBUcmVlTm9kZTxUPiB8IG51bGwge1xyXG4gICAgcmV0dXJuIHRyZWUucmVkdWNlPFRyZWVOb2RlPFQ+IHwgbnVsbD4oXHJcbiAgICAgIChhY2MsIG5vZGUpID0+IChhY2MgPyBhY2MgOiBwcmVkaWNhdGUobm9kZSkgPyBub2RlIDogdGhpcy5maW5kKHByZWRpY2F0ZSwgbm9kZS5jaGlsZHJlbikpLFxyXG4gICAgICBudWxsLFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHBhdGNoKGlkZW50aWZpZXI6IHN0cmluZywgcHJvcHM6IFBhcnRpYWw8VD4pOiBUW10gfCBmYWxzZSB7XHJcbiAgICBjb25zdCBmbGF0SXRlbXMgPSB0aGlzLl9mbGF0JC52YWx1ZTtcclxuICAgIGNvbnN0IGluZGV4ID0gZmxhdEl0ZW1zLmZpbmRJbmRleChpdGVtID0+IGl0ZW1bdGhpcy5pZF0gPT09IGlkZW50aWZpZXIpO1xyXG4gICAgaWYgKGluZGV4IDwgMCkgcmV0dXJuIGZhbHNlO1xyXG5cclxuICAgIGZsYXRJdGVtc1tpbmRleF0gPSB7IC4uLmZsYXRJdGVtc1tpbmRleF0sIC4uLnByb3BzIH07XHJcblxyXG4gICAgZmxhdEl0ZW1zLnNvcnQodGhpcy5zb3J0KTtcclxuICAgIGNvbnN0IHZpc2libGVJdGVtcyA9IGZsYXRJdGVtcy5maWx0ZXIoaXRlbSA9PiAhdGhpcy5oaWRlKGl0ZW0pKTtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5wdWJsaXNoKGZsYXRJdGVtcywgdmlzaWJsZUl0ZW1zKTtcclxuICB9XHJcblxyXG4gIHJlZnJlc2goKTogVFtdIHtcclxuICAgIHJldHVybiB0aGlzLmFkZChbXSk7XHJcbiAgfVxyXG5cclxuICByZW1vdmUoaWRlbnRpZmllcnM6IHN0cmluZ1tdKTogVFtdIHtcclxuICAgIGNvbnN0IHNldCA9IG5ldyBTZXQ8c3RyaW5nPigpO1xyXG4gICAgaWRlbnRpZmllcnMuZm9yRWFjaChpZCA9PiBzZXQuYWRkKGlkKSk7XHJcblxyXG4gICAgY29uc3Qgc2V0VG9SZW1vdmUgPSB0aGlzLmZpbmRJdGVtc1RvUmVtb3ZlKHNldCk7XHJcbiAgICBjb25zdCBmbGF0SXRlbXMgPSB0aGlzLmZpbHRlcldpdGgoc2V0VG9SZW1vdmUpO1xyXG4gICAgY29uc3QgdmlzaWJsZUl0ZW1zID0gZmxhdEl0ZW1zLmZpbHRlcihpdGVtID0+ICF0aGlzLmhpZGUoaXRlbSkpO1xyXG5cclxuICAgIHJldHVybiB0aGlzLnB1Ymxpc2goZmxhdEl0ZW1zLCB2aXNpYmxlSXRlbXMpO1xyXG4gIH1cclxuXHJcbiAgc2VhcmNoKHBhcmFtczogUGFydGlhbDxUPiwgdHJlZSA9IHRoaXMudHJlZSk6IFRyZWVOb2RlPFQ+IHwgbnVsbCB7XHJcbiAgICBjb25zdCBzZWFyY2hLZXlzID0gT2JqZWN0LmtleXMocGFyYW1zKSBhcyBBcnJheTxrZXlvZiBQYXJ0aWFsPFQ+PjtcclxuXHJcbiAgICByZXR1cm4gdHJlZS5yZWR1Y2U8VHJlZU5vZGU8VD4gfCBudWxsPihcclxuICAgICAgKGFjYywgbm9kZSkgPT5cclxuICAgICAgICBhY2NcclxuICAgICAgICAgID8gYWNjXHJcbiAgICAgICAgICA6IHNlYXJjaEtleXMuZXZlcnkoa2V5ID0+IG5vZGVba2V5XSA9PT0gcGFyYW1zW2tleV0pXHJcbiAgICAgICAgICA/IG5vZGVcclxuICAgICAgICAgIDogdGhpcy5zZWFyY2gocGFyYW1zLCBub2RlLmNoaWxkcmVuKSxcclxuICAgICAgbnVsbCxcclxuICAgICk7XHJcbiAgfVxyXG59XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdE5hdlRyZWVTZXJ2aWNlPFQgZXh0ZW5kcyBBQlAuTmF2PlxyXG4gIGV4dGVuZHMgQWJzdHJhY3RUcmVlU2VydmljZTxUPlxyXG4gIGltcGxlbWVudHMgT25EZXN0cm95XHJcbntcclxuICBwcml2YXRlIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xyXG4gIHByaXZhdGUgcGVybWlzc2lvblNlcnZpY2U6IFBlcm1pc3Npb25TZXJ2aWNlO1xyXG4gIHJlYWRvbmx5IGlkID0gJ25hbWUnO1xyXG4gIHJlYWRvbmx5IHBhcmVudElkID0gJ3BhcmVudE5hbWUnO1xyXG4gIHJlYWRvbmx5IGhpZGUgPSAoaXRlbTogVCkgPT4gaXRlbS5pbnZpc2libGUgfHwgIXRoaXMuaXNHcmFudGVkKGl0ZW0pO1xyXG4gIHJlYWRvbmx5IHNvcnQgPSAoYTogVCwgYjogVCkgPT4ge1xyXG4gICAgaWYgKCFOdW1iZXIuaXNJbnRlZ2VyKGEub3JkZXIpKSByZXR1cm4gMTtcclxuICAgIGlmICghTnVtYmVyLmlzSW50ZWdlcihiLm9yZGVyKSkgcmV0dXJuIC0xO1xyXG5cclxuICAgIHJldHVybiAoYS5vcmRlciBhcyBudW1iZXIpIC0gKGIub3JkZXIgYXMgbnVtYmVyKTtcclxuICB9O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgY29uc3QgY29uZmlnU3RhdGUgPSB0aGlzLmluamVjdG9yLmdldChDb25maWdTdGF0ZVNlcnZpY2UpO1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24gPSBjb25maWdTdGF0ZVxyXG4gICAgICAuY3JlYXRlT25VcGRhdGVTdHJlYW0oc3RhdGUgPT4gc3RhdGUpXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5yZWZyZXNoKCkpO1xyXG4gICAgdGhpcy5wZXJtaXNzaW9uU2VydmljZSA9IGluamVjdG9yLmdldChQZXJtaXNzaW9uU2VydmljZSk7XHJcbiAgICB0aGlzLm90aGVyc0dyb3VwID0gaW5qZWN0b3IuZ2V0KE9USEVSU19HUk9VUCk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgaXNHcmFudGVkKHsgcmVxdWlyZWRQb2xpY3kgfTogVCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMucGVybWlzc2lvblNlcnZpY2UuZ2V0R3JhbnRlZFBvbGljeShyZXF1aXJlZFBvbGljeSk7XHJcbiAgfVxyXG5cclxuICBoYXNDaGlsZHJlbihpZGVudGlmaWVyOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IG5vZGUgPSB0aGlzLmZpbmQoaXRlbSA9PiBpdGVtW3RoaXMuaWRdID09PSBpZGVudGlmaWVyKTtcclxuICAgIHJldHVybiBCb29sZWFuKG5vZGU/LmNoaWxkcmVuPy5sZW5ndGgpO1xyXG4gIH1cclxuXHJcbiAgaGFzSW52aXNpYmxlQ2hpbGQoaWRlbnRpZmllcjogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBub2RlID0gdGhpcy5maW5kKGl0ZW0gPT4gaXRlbVt0aGlzLmlkXSA9PT0gaWRlbnRpZmllcik7XHJcbiAgICByZXR1cm4gbm9kZT8uY2hpbGRyZW4/LnNvbWUoY2hpbGQgPT4gY2hpbGQuaW52aXNpYmxlKSB8fCBmYWxzZTtcclxuICB9XHJcblxyXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxufVxyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIFJvdXRlc1NlcnZpY2UgZXh0ZW5kcyBBYnN0cmFjdE5hdlRyZWVTZXJ2aWNlPEFCUC5Sb3V0ZT4ge1xyXG4gIHByaXZhdGUgaGFzUGF0aE9yQ2hpbGQoaXRlbTogVHJlZU5vZGU8QUJQLlJvdXRlPik6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIEJvb2xlYW4oaXRlbS5wYXRoKSB8fCB0aGlzLmhhc0NoaWxkcmVuKGl0ZW0ubmFtZSk7XHJcbiAgfVxyXG5cclxuICBnZXQgZ3JvdXBlZFZpc2libGUoKTogUm91dGVHcm91cDxBQlAuUm91dGU+W10gfCB1bmRlZmluZWQge1xyXG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlR3JvdXBlZFRyZWUodGhpcy52aXNpYmxlLmZpbHRlcihpdGVtID0+IHRoaXMuaGFzUGF0aE9yQ2hpbGQoaXRlbSkpKTtcclxuICB9XHJcblxyXG4gIGdldCBncm91cGVkVmlzaWJsZSQoKTogT2JzZXJ2YWJsZTxSb3V0ZUdyb3VwPEFCUC5Sb3V0ZT5bXSB8IHVuZGVmaW5lZD4ge1xyXG4gICAgcmV0dXJuIHRoaXMudmlzaWJsZSQucGlwZShcclxuICAgICAgbWFwKGl0ZW1zID0+IGl0ZW1zLmZpbHRlcihpdGVtID0+IHRoaXMuaGFzUGF0aE9yQ2hpbGQoaXRlbSkpKSxcclxuICAgICAgbWFwKHZpc2libGUgPT4gdGhpcy5jcmVhdGVHcm91cGVkVHJlZSh2aXNpYmxlKSksXHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import compare from 'just-compare';
|
|
3
|
-
import { filter, take } from 'rxjs/operators';
|
|
4
|
-
import { InternalStore } from '../utils/internal-store-utils';
|
|
5
|
-
import { ConfigStateService } from './config-state.service';
|
|
6
|
-
import { AbpLocalStorageService } from './local-storage.service';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "./config-state.service";
|
|
9
|
-
import * as i2 from "./local-storage.service";
|
|
10
|
-
export class SessionStateService {
|
|
11
|
-
constructor(configState, localStorageService) {
|
|
12
|
-
this.configState = configState;
|
|
13
|
-
this.localStorageService = localStorageService;
|
|
14
|
-
this.store = new InternalStore({});
|
|
15
|
-
this.updateLocalStorage = () => {
|
|
16
|
-
this.localStorageService.setItem('abpSession', JSON.stringify(this.store.state));
|
|
17
|
-
};
|
|
18
|
-
this.init();
|
|
19
|
-
this.setInitialLanguage();
|
|
20
|
-
}
|
|
21
|
-
init() {
|
|
22
|
-
const session = this.localStorageService.getItem('abpSession');
|
|
23
|
-
if (session) {
|
|
24
|
-
this.store.set(JSON.parse(session));
|
|
25
|
-
}
|
|
26
|
-
this.store.sliceUpdate(state => state).subscribe(this.updateLocalStorage);
|
|
27
|
-
}
|
|
28
|
-
setInitialLanguage() {
|
|
29
|
-
const appLanguage = this.getLanguage();
|
|
30
|
-
this.configState
|
|
31
|
-
.getDeep$('localization.currentCulture.cultureName')
|
|
32
|
-
.pipe(filter(cultureName => !!cultureName), take(1))
|
|
33
|
-
.subscribe(lang => {
|
|
34
|
-
if (lang.includes(';')) {
|
|
35
|
-
lang = lang.split(';')[0];
|
|
36
|
-
}
|
|
37
|
-
if (appLanguage !== lang) {
|
|
38
|
-
this.setLanguage(lang);
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
onLanguageChange$() {
|
|
43
|
-
return this.store.sliceUpdate(state => state.language);
|
|
44
|
-
}
|
|
45
|
-
onTenantChange$() {
|
|
46
|
-
return this.store.sliceUpdate(state => state.tenant);
|
|
47
|
-
}
|
|
48
|
-
getLanguage() {
|
|
49
|
-
return this.store.state.language;
|
|
50
|
-
}
|
|
51
|
-
getLanguage$() {
|
|
52
|
-
return this.store.sliceState(state => state.language);
|
|
53
|
-
}
|
|
54
|
-
getTenant() {
|
|
55
|
-
return this.store.state.tenant;
|
|
56
|
-
}
|
|
57
|
-
getTenant$() {
|
|
58
|
-
return this.store.sliceState(state => state.tenant);
|
|
59
|
-
}
|
|
60
|
-
setTenant(tenant) {
|
|
61
|
-
if (compare(tenant, this.store.state.tenant))
|
|
62
|
-
return;
|
|
63
|
-
this.store.set({ ...this.store.state, tenant });
|
|
64
|
-
}
|
|
65
|
-
setLanguage(language) {
|
|
66
|
-
if (language === this.store.state.language)
|
|
67
|
-
return;
|
|
68
|
-
this.store.patch({ language });
|
|
69
|
-
document.documentElement.setAttribute('lang', language);
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
SessionStateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SessionStateService, deps: [{ token: i1.ConfigStateService }, { token: i2.AbpLocalStorageService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
73
|
-
SessionStateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SessionStateService, providedIn: 'root' });
|
|
74
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SessionStateService, decorators: [{
|
|
75
|
-
type: Injectable,
|
|
76
|
-
args: [{
|
|
77
|
-
providedIn: 'root',
|
|
78
|
-
}]
|
|
79
|
-
}], ctorParameters: function () { return [{ type: i1.ConfigStateService }, { type: i2.AbpLocalStorageService }]; } });
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi1zdGF0ZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL3NlcnZpY2VzL3Nlc3Npb24tc3RhdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sT0FBTyxNQUFNLGNBQWMsQ0FBQztBQUNuQyxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRzlDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7OztBQUtqRSxNQUFNLE9BQU8sbUJBQW1CO0lBTzlCLFlBQ1UsV0FBK0IsRUFDL0IsbUJBQTJDO1FBRDNDLGdCQUFXLEdBQVgsV0FBVyxDQUFvQjtRQUMvQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXdCO1FBUnBDLFVBQUssR0FBRyxJQUFJLGFBQWEsQ0FBQyxFQUFtQixDQUFDLENBQUM7UUFFeEQsdUJBQWtCLEdBQUcsR0FBRyxFQUFFO1lBQ2hDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ25GLENBQUMsQ0FBQztRQU1BLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNaLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFTyxJQUFJO1FBQ1YsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUMv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IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IGNvbXBhcmUgZnJvbSAnanVzdC1jb21wYXJlJztcclxuaW1wb3J0IHsgZmlsdGVyLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBTZXNzaW9uIH0gZnJvbSAnLi4vbW9kZWxzL3Nlc3Npb24nO1xyXG5pbXBvcnQgeyBDdXJyZW50VGVuYW50RHRvIH0gZnJvbSAnLi4vcHJveHkvdm9sby9hYnAvYXNwLW5ldC1jb3JlL212Yy9tdWx0aS10ZW5hbmN5L21vZGVscyc7XHJcbmltcG9ydCB7IEludGVybmFsU3RvcmUgfSBmcm9tICcuLi91dGlscy9pbnRlcm5hbC1zdG9yZS11dGlscyc7XHJcbmltcG9ydCB7IENvbmZpZ1N0YXRlU2VydmljZSB9IGZyb20gJy4vY29uZmlnLXN0YXRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBYnBMb2NhbFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9sb2NhbC1zdG9yYWdlLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNlc3Npb25TdGF0ZVNlcnZpY2Uge1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgc3RvcmUgPSBuZXcgSW50ZXJuYWxTdG9yZSh7fSBhcyBTZXNzaW9uLlN0YXRlKTtcclxuXHJcbiAgcHJpdmF0ZSB1cGRhdGVMb2NhbFN0b3JhZ2UgPSAoKSA9PiB7XHJcbiAgICB0aGlzLmxvY2FsU3RvcmFnZVNlcnZpY2Uuc2V0SXRlbSgnYWJwU2Vzc2lvbicsIEpTT04uc3RyaW5naWZ5KHRoaXMuc3RvcmUuc3RhdGUpKTtcclxuICB9O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgY29uZmlnU3RhdGU6IENvbmZpZ1N0YXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgbG9jYWxTdG9yYWdlU2VydmljZTogQWJwTG9jYWxTdG9yYWdlU2VydmljZSxcclxuICApIHtcclxuICAgIHRoaXMuaW5pdCgpO1xyXG4gICAgdGhpcy5zZXRJbml0aWFsTGFuZ3VhZ2UoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW5pdCgpIHtcclxuICAgIGNvbnN0IHNlc3Npb24gPSB0aGlzLmxvY2FsU3RvcmFnZVNlcnZpY2UuZ2V0SXRlbSgnYWJwU2Vzc2lvbicpO1xyXG4gICAgaWYgKHNlc3Npb24pIHtcclxuICAgICAgdGhpcy5zdG9yZS5zZXQoSlNPTi5wYXJzZShzZXNzaW9uKSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zdG9yZS5zbGljZVVwZGF0ZShzdGF0ZSA9PiBzdGF0ZSkuc3Vic2NyaWJlKHRoaXMudXBkYXRlTG9jYWxTdG9yYWdlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0SW5pdGlhbExhbmd1YWdlKCkge1xyXG4gICAgY29uc3QgYXBwTGFuZ3VhZ2UgPSB0aGlzLmdldExhbmd1YWdlKCk7XHJcblxyXG4gICAgdGhpcy5jb25maWdTdGF0ZVxyXG4gICAgICAuZ2V0RGVlcCQoJ2xvY2FsaXphdGlvbi5jdXJyZW50Q3VsdHVyZS5jdWx0dXJlTmFtZScpXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIGZpbHRlcihjdWx0dXJlTmFtZSA9PiAhIWN1bHR1cmVOYW1lKSxcclxuICAgICAgICB0YWtlKDEpLFxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUobGFuZyA9PiB7XHJcbiAgICAgICAgaWYgKGxhbmcuaW5jbHVkZXMoJzsnKSkge1xyXG4gICAgICAgICAgbGFuZyA9IGxhbmcuc3BsaXQoJzsnKVswXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGFwcExhbmd1YWdlICE9PSBsYW5nKSB7XHJcbiAgICAgICAgICB0aGlzLnNldExhbmd1YWdlKGxhbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBvbkxhbmd1YWdlQ2hhbmdlJCgpIHtcclxuICAgIHJldHVybiB0aGlzLnN0b3JlLnNsaWNlVXBkYXRlKHN0YXRlID0+IHN0YXRlLmxhbmd1YWdlKTtcclxuICB9XHJcblxyXG4gIG9uVGVuYW50Q2hhbmdlJCgpIHtcclxuICAgIHJldHVybiB0aGlzLnN0b3JlLnNsaWNlVXBkYXRlKHN0YXRlID0+IHN0YXRlLnRlbmFudCk7XHJcbiAgfVxyXG5cclxuICBnZXRMYW5ndWFnZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnN0b3JlLnN0YXRlLmxhbmd1YWdlO1xyXG4gIH1cclxuXHJcbiAgZ2V0TGFuZ3VhZ2UkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2xpY2VTdGF0ZShzdGF0ZSA9PiBzdGF0ZS5sYW5ndWFnZSk7XHJcbiAgfVxyXG5cclxuICBnZXRUZW5hbnQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zdGF0ZS50ZW5hbnQ7XHJcbiAgfVxyXG5cclxuICBnZXRUZW5hbnQkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2xpY2VTdGF0ZShzdGF0ZSA9PiBzdGF0ZS50ZW5hbnQpO1xyXG4gIH1cclxuXHJcbiAgc2V0VGVuYW50KHRlbmFudDogQ3VycmVudFRlbmFudER0byB8IG51bGwpIHtcclxuICAgIGlmIChjb21wYXJlKHRlbmFudCwgdGhpcy5zdG9yZS5zdGF0ZS50ZW5hbnQpKSByZXR1cm47XHJcblxyXG4gICAgdGhpcy5zdG9yZS5zZXQoeyAuLi50aGlzLnN0b3JlLnN0YXRlLCB0ZW5hbnQgfSk7XHJcbiAgfVxyXG5cclxuICBzZXRMYW5ndWFnZShsYW5ndWFnZTogc3RyaW5nKSB7XHJcbiAgICBpZiAobGFuZ3VhZ2UgPT09IHRoaXMuc3RvcmUuc3RhdGUubGFuZ3VhZ2UpIHJldHVybjtcclxuXHJcbiAgICB0aGlzLnN0b3JlLnBhdGNoKHsgbGFuZ3VhZ2UgfSk7XHJcbiAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2V0QXR0cmlidXRlKCdsYW5nJywgbGFuZ3VhZ2UpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { Subscription } from 'rxjs';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class SubscriptionService {
|
|
5
|
-
constructor() {
|
|
6
|
-
this.subscription = new Subscription();
|
|
7
|
-
}
|
|
8
|
-
get isClosed() {
|
|
9
|
-
return this.subscription.closed;
|
|
10
|
-
}
|
|
11
|
-
addOne(source$, nextOrObserver, error) {
|
|
12
|
-
const subscription = source$.subscribe(nextOrObserver, error);
|
|
13
|
-
this.subscription.add(subscription);
|
|
14
|
-
return subscription;
|
|
15
|
-
}
|
|
16
|
-
closeAll() {
|
|
17
|
-
this.subscription.unsubscribe();
|
|
18
|
-
}
|
|
19
|
-
closeOne(subscription) {
|
|
20
|
-
this.removeOne(subscription);
|
|
21
|
-
if (subscription) {
|
|
22
|
-
subscription.unsubscribe();
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
ngOnDestroy() {
|
|
26
|
-
this.subscription.unsubscribe();
|
|
27
|
-
}
|
|
28
|
-
removeOne(subscription) {
|
|
29
|
-
if (!subscription)
|
|
30
|
-
return;
|
|
31
|
-
this.subscription.remove(subscription);
|
|
32
|
-
}
|
|
33
|
-
reset() {
|
|
34
|
-
this.subscription.unsubscribe();
|
|
35
|
-
this.subscription = new Subscription();
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
SubscriptionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SubscriptionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
39
|
-
SubscriptionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SubscriptionService });
|
|
40
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SubscriptionService, decorators: [{
|
|
41
|
-
type: Injectable
|
|
42
|
-
}] });
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2NyaXB0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvc2VydmljZXMvc3Vic2NyaXB0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUdwQyxNQUFNLE9BQU8sbUJBQW1CO0lBRGhDO1FBRVUsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0tBOEMzQztJQTVDQyxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDO0lBQ2xDLENBQUM7SUFRRCxNQUFNLENBQ0osT0FBc0IsRUFDdEIsY0FBNkMsRUFDN0MsS0FBNEI7UUFFNUIsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxjQUF5QixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3pFLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3BDLE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQsUUFBUSxDQUFDLFlBQTZDO1FBQ3BELElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDN0IsSUFBSSxZQUFZLEVBQUU7WUFDaEIsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQzVCO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxTQUFTLENBQUMsWUFBNkM7UUFDckQsSUFBSSxDQUFDLFlBQVk7WUFBRSxPQUFPO1FBQzFCLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNoQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFDekMsQ0FBQzs7Z0hBOUNVLG1CQUFtQjtvSEFBbkIsbUJBQW1COzJGQUFuQixtQkFBbUI7a0JBRC9CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB0eXBlIHsgT2JzZXJ2YWJsZSwgUGFydGlhbE9ic2VydmVyIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgU3Vic2NyaXB0aW9uU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XHJcblxyXG4gIGdldCBpc0Nsb3NlZCgpIHtcclxuICAgIHJldHVybiB0aGlzLnN1YnNjcmlwdGlvbi5jbG9zZWQ7XHJcbiAgfVxyXG5cclxuICBhZGRPbmU8VD4oXHJcbiAgICBzb3VyY2UkOiBPYnNlcnZhYmxlPFQ+LFxyXG4gICAgbmV4dD86ICh2YWx1ZTogVCkgPT4gdm9pZCxcclxuICAgIGVycm9yPzogKGVycm9yOiBhbnkpID0+IHZvaWQsXHJcbiAgKTogU3Vic2NyaXB0aW9uO1xyXG4gIGFkZE9uZTxUPihzb3VyY2UkOiBPYnNlcnZhYmxlPFQ+LCBvYnNlcnZlcj86IFBhcnRpYWxPYnNlcnZlcjxUPik6IFN1YnNjcmlwdGlvbjtcclxuICBhZGRPbmU8VD4oXHJcbiAgICBzb3VyY2UkOiBPYnNlcnZhYmxlPFQ+LFxyXG4gICAgbmV4dE9yT2JzZXJ2ZXI/OiBQYXJ0aWFsT2JzZXJ2ZXI8VD4gfCBOZXh0PFQ+LFxyXG4gICAgZXJyb3I/OiAoZXJyb3I6IGFueSkgPT4gdm9pZCxcclxuICApOiBTdWJzY3JpcHRpb24ge1xyXG4gICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gc291cmNlJC5zdWJzY3JpYmUobmV4dE9yT2JzZXJ2ZXIgYXMgTmV4dDxUPiwgZXJyb3IpO1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKHN1YnNjcmlwdGlvbik7XHJcbiAgICByZXR1cm4gc3Vic2NyaXB0aW9uO1xyXG4gIH1cclxuXHJcbiAgY2xvc2VBbGwoKSB7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgY2xvc2VPbmUoc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCB1bmRlZmluZWQgfCBudWxsKSB7XHJcbiAgICB0aGlzLnJlbW92ZU9uZShzdWJzY3JpcHRpb24pO1xyXG4gICAgaWYgKHN1YnNjcmlwdGlvbikge1xyXG4gICAgICBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIHJlbW92ZU9uZShzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZCB8IG51bGwpIHtcclxuICAgIGlmICghc3Vic2NyaXB0aW9uKSByZXR1cm47XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi5yZW1vdmUoc3Vic2NyaXB0aW9uKTtcclxuICB9XHJcblxyXG4gIHJlc2V0KCkge1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xyXG4gIH1cclxufVxyXG5cclxudHlwZSBOZXh0PFQ+ID0gKHZhbHVlOiBUKSA9PiB2b2lkO1xyXG4iXX0=
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export const trackBy = (key) => (_, item) => item[key];
|
|
4
|
-
export const trackByDeep = (
|
|
5
|
-
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
6
|
-
...keys) => (_, item) => keys.reduce((acc, key) => acc[key], item);
|
|
7
|
-
export class TrackByService {
|
|
8
|
-
constructor() {
|
|
9
|
-
this.by = trackBy;
|
|
10
|
-
this.byDeep = trackByDeep;
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
TrackByService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TrackByService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
14
|
-
TrackByService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TrackByService, providedIn: 'root' });
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TrackByService, decorators: [{
|
|
16
|
-
type: Injectable,
|
|
17
|
-
args: [{
|
|
18
|
-
providedIn: 'root',
|
|
19
|
-
}]
|
|
20
|
-
}] });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhY2stYnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi9zZXJ2aWNlcy90cmFjay1ieS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQW1CLE1BQU0sZUFBZSxDQUFDOztBQUc1RCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQ2xCLENBQVUsR0FBWSxFQUFzQixFQUFFLENBQzlDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLENBQ1YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBRWQsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUN0QjtBQUNFLHdEQUF3RDtBQUN4RCxHQUFHLElBQTJDLEVBQzFCLEVBQUUsQ0FDeEIsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FDVixJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBSzlDLE1BQU0sT0FBTyxjQUFjO0lBSDNCO1FBSUUsT0FBRSxHQUFHLE9BQU8sQ0FBQztRQUViLFdBQU0sR0FBRyxXQUFXLENBQUM7S0FDdEI7OzJHQUpZLGNBQWM7K0dBQWQsY0FBYyxjQUZiLE1BQU07MkZBRVAsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBUcmFja0J5RnVuY3Rpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTyB9IGZyb20gJ3RzLXRvb2xiZWx0JztcclxuXHJcbmV4cG9ydCBjb25zdCB0cmFja0J5ID1cclxuICA8VCA9IGFueT4oa2V5OiBrZXlvZiBUKTogVHJhY2tCeUZ1bmN0aW9uPFQ+ID0+XHJcbiAgKF8sIGl0ZW0pID0+XHJcbiAgICBpdGVtW2tleV07XHJcblxyXG5leHBvcnQgY29uc3QgdHJhY2tCeURlZXAgPVxyXG4gIDxUID0gYW55PihcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXR5cGVzXHJcbiAgICAuLi5rZXlzOiBUIGV4dGVuZHMgb2JqZWN0ID8gTy5QYXRoczxUPiA6IG5ldmVyXHJcbiAgKTogVHJhY2tCeUZ1bmN0aW9uPFQ+ID0+XHJcbiAgKF8sIGl0ZW0pID0+XHJcbiAgICBrZXlzLnJlZHVjZSgoYWNjLCBrZXkpID0+IGFjY1trZXldLCBpdGVtKTtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFja0J5U2VydmljZTxJdGVtVHlwZSA9IGFueT4ge1xyXG4gIGJ5ID0gdHJhY2tCeTtcclxuXHJcbiAgYnlEZWVwID0gdHJhY2tCeURlZXA7XHJcbn1cclxuIl19
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import compare from 'just-compare';
|
|
2
|
-
import { BehaviorSubject, Subject } from 'rxjs';
|
|
3
|
-
import { distinctUntilChanged, filter, map } from 'rxjs/operators';
|
|
4
|
-
import { deepMerge } from './object-utils';
|
|
5
|
-
export class InternalStore {
|
|
6
|
-
constructor(initialState) {
|
|
7
|
-
this.initialState = initialState;
|
|
8
|
-
this.state$ = new BehaviorSubject(this.initialState);
|
|
9
|
-
this.update$ = new Subject();
|
|
10
|
-
this.sliceState = (selector, compareFn = compare) => this.state$.pipe(map(selector), distinctUntilChanged(compareFn));
|
|
11
|
-
this.sliceUpdate = (selector, filterFn = (x) => x !== undefined) => this.update$.pipe(map(selector), filter(filterFn));
|
|
12
|
-
}
|
|
13
|
-
get state() {
|
|
14
|
-
return this.state$.value;
|
|
15
|
-
}
|
|
16
|
-
patch(state) {
|
|
17
|
-
let patchedState = state;
|
|
18
|
-
if (typeof state === 'object' && !Array.isArray(state)) {
|
|
19
|
-
patchedState = { ...this.state, ...state };
|
|
20
|
-
}
|
|
21
|
-
this.state$.next(patchedState);
|
|
22
|
-
this.update$.next(patchedState);
|
|
23
|
-
}
|
|
24
|
-
deepPatch(state) {
|
|
25
|
-
// TODO: Strict improve deepMerge
|
|
26
|
-
this.state$.next(deepMerge(this.state, state));
|
|
27
|
-
this.update$.next(state);
|
|
28
|
-
}
|
|
29
|
-
set(state) {
|
|
30
|
-
this.state$.next(state);
|
|
31
|
-
this.update$.next(state);
|
|
32
|
-
}
|
|
33
|
-
reset() {
|
|
34
|
-
this.set(this.initialState);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWwtc3RvcmUtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvdXRpbHMvaW50ZXJuYWwtc3RvcmUtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBQ25DLE9BQU8sRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE1BQU0sT0FBTyxhQUFhO0lBbUJ4QixZQUFvQixZQUFtQjtRQUFuQixpQkFBWSxHQUFaLFlBQVksQ0FBTztRQWxCL0IsV0FBTSxHQUFHLElBQUksZUFBZSxDQUFRLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUV2RCxZQUFPLEdBQUcsSUFBSSxPQUFPLEVBQXNCLENBQUM7UUFNcEQsZUFBVSxHQUFHLENBQ1gsUUFBaUMsRUFDakMsWUFBK0MsT0FBTyxFQUN0RCxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFFdEUsZ0JBQVcsR0FBRyxDQUNaLFFBQThDLEVBQzlDLFdBQVcsQ0FBQyxDQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxTQUFTLEVBQ3hDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFFZCxDQUFDO0lBZDNDLElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQWNELEtBQUssQ0FBQyxLQUFxQjtRQUN6QixJQUFJLFlBQVksR0FBRyxLQUFjLENBQUM7UUFFbEMsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3RELFlBQVksR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxHQUFHLEtBQUssRUFBRSxDQUFDO1NBQzVDO1FBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBa0MsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxTQUFTLENBQUMsS0FBeUI7UUFDakMsaUNBQWlDO1FBQ2pDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBVSxDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELEdBQUcsQ0FBQyxLQUFZO1FBQ2QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBMkIsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDOUIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNvbXBhcmUgZnJvbSAnanVzdC1jb21wYXJlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgRGVlcFBhcnRpYWwgfSBmcm9tICcuLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBkZWVwTWVyZ2UgfSBmcm9tICcuL29iamVjdC11dGlscyc7XHJcblxyXG5leHBvcnQgY2xhc3MgSW50ZXJuYWxTdG9yZTxTdGF0ZT4ge1xyXG4gIHByaXZhdGUgc3RhdGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTdGF0ZT4odGhpcy5pbml0aWFsU3RhdGUpO1xyXG5cclxuICBwcml2YXRlIHVwZGF0ZSQgPSBuZXcgU3ViamVjdDxEZWVwUGFydGlhbDxTdGF0ZT4+KCk7XHJcblxyXG4gIGdldCBzdGF0ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnN0YXRlJC52YWx1ZTtcclxuICB9XHJcblxyXG4gIHNsaWNlU3RhdGUgPSA8U2xpY2U+KFxyXG4gICAgc2VsZWN0b3I6IChzdGF0ZTogU3RhdGUpID0+IFNsaWNlLFxyXG4gICAgY29tcGFyZUZuOiAoczE6IFNsaWNlLCBzMjogU2xpY2UpID0+IGJvb2xlYW4gPSBjb21wYXJlLFxyXG4gICkgPT4gdGhpcy5zdGF0ZSQucGlwZShtYXAoc2VsZWN0b3IpLCBkaXN0aW5jdFVudGlsQ2hhbmdlZChjb21wYXJlRm4pKTtcclxuXHJcbiAgc2xpY2VVcGRhdGUgPSA8U2xpY2U+KFxyXG4gICAgc2VsZWN0b3I6IChzdGF0ZTogRGVlcFBhcnRpYWw8U3RhdGU+KSA9PiBTbGljZSxcclxuICAgIGZpbHRlckZuID0gKHg6IFNsaWNlKSA9PiB4ICE9PSB1bmRlZmluZWQsXHJcbiAgKSA9PiB0aGlzLnVwZGF0ZSQucGlwZShtYXAoc2VsZWN0b3IpLCBmaWx0ZXIoZmlsdGVyRm4pKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBpbml0aWFsU3RhdGU6IFN0YXRlKSB7fVxyXG5cclxuICBwYXRjaChzdGF0ZTogUGFydGlhbDxTdGF0ZT4pIHtcclxuICAgIGxldCBwYXRjaGVkU3RhdGUgPSBzdGF0ZSBhcyBTdGF0ZTtcclxuXHJcbiAgICBpZiAodHlwZW9mIHN0YXRlID09PSAnb2JqZWN0JyAmJiAhQXJyYXkuaXNBcnJheShzdGF0ZSkpIHtcclxuICAgICAgcGF0Y2hlZFN0YXRlID0geyAuLi50aGlzLnN0YXRlLCAuLi5zdGF0ZSB9O1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc3RhdGUkLm5leHQocGF0Y2hlZFN0YXRlKTtcclxuICAgIHRoaXMudXBkYXRlJC5uZXh0KHBhdGNoZWRTdGF0ZSBhcyBEZWVwUGFydGlhbDxTdGF0ZT4pO1xyXG4gIH1cclxuXHJcbiAgZGVlcFBhdGNoKHN0YXRlOiBEZWVwUGFydGlhbDxTdGF0ZT4pIHtcclxuICAgIC8vIFRPRE86IFN0cmljdCBpbXByb3ZlIGRlZXBNZXJnZVxyXG4gICAgdGhpcy5zdGF0ZSQubmV4dChkZWVwTWVyZ2UodGhpcy5zdGF0ZSwgc3RhdGUpIGFzIFN0YXRlKTtcclxuICAgIHRoaXMudXBkYXRlJC5uZXh0KHN0YXRlKTtcclxuICB9XHJcblxyXG4gIHNldChzdGF0ZTogU3RhdGUpIHtcclxuICAgIHRoaXMuc3RhdGUkLm5leHQoc3RhdGUpO1xyXG4gICAgdGhpcy51cGRhdGUkLm5leHQoc3RhdGUgYXMgRGVlcFBhcnRpYWw8U3RhdGU+KTtcclxuICB9XHJcblxyXG4gIHJlc2V0KCkge1xyXG4gICAgdGhpcy5zZXQodGhpcy5pbml0aWFsU3RhdGUpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { Validators } from '@angular/forms';
|
|
2
|
-
import { validateMinAge } from './age.validator';
|
|
3
|
-
import { validateCreditCard } from './credit-card.validator';
|
|
4
|
-
import { validateRange } from './range.validator';
|
|
5
|
-
import { validateRequired } from './required.validator';
|
|
6
|
-
import { validateStringLength } from './string-length.validator';
|
|
7
|
-
import { validateUrl } from './url.validator';
|
|
8
|
-
import { validateUsername } from './username.validator';
|
|
9
|
-
export * from './age.validator';
|
|
10
|
-
export * from './credit-card.validator';
|
|
11
|
-
export * from './range.validator';
|
|
12
|
-
export * from './required.validator';
|
|
13
|
-
export * from './string-length.validator';
|
|
14
|
-
export * from './url.validator';
|
|
15
|
-
export const AbpValidators = {
|
|
16
|
-
creditCard: validateCreditCard,
|
|
17
|
-
emailAddress: () => Validators.email,
|
|
18
|
-
minAge: validateMinAge,
|
|
19
|
-
range: validateRange,
|
|
20
|
-
required: validateRequired,
|
|
21
|
-
stringLength: validateStringLength,
|
|
22
|
-
url: validateUrl,
|
|
23
|
-
username: validateUsername,
|
|
24
|
-
};
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvdmFsaWRhdG9ycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsaUJBQWlCLENBQUM7QUFFaEMsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHO0lBQzNCLFVBQVUsRUFBRSxrQkFBa0I7SUFDOUIsWUFBWSxFQUFFLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxLQUFLO0lBQ3BDLE1BQU0sRUFBRSxjQUFjO0lBQ3RCLEtBQUssRUFBRSxhQUFhO0lBQ3BCLFFBQVEsRUFBRSxnQkFBZ0I7SUFDMUIsWUFBWSxFQUFFLG9CQUFvQjtJQUNsQyxHQUFHLEVBQUUsV0FBVztJQUNoQixRQUFRLEVBQUUsZ0JBQWdCO0NBQzNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyB2YWxpZGF0ZU1pbkFnZSB9IGZyb20gJy4vYWdlLnZhbGlkYXRvcic7XHJcbmltcG9ydCB7IHZhbGlkYXRlQ3JlZGl0Q2FyZCB9IGZyb20gJy4vY3JlZGl0LWNhcmQudmFsaWRhdG9yJztcclxuaW1wb3J0IHsgdmFsaWRhdGVSYW5nZSB9IGZyb20gJy4vcmFuZ2UudmFsaWRhdG9yJztcclxuaW1wb3J0IHsgdmFsaWRhdGVSZXF1aXJlZCB9IGZyb20gJy4vcmVxdWlyZWQudmFsaWRhdG9yJztcclxuaW1wb3J0IHsgdmFsaWRhdGVTdHJpbmdMZW5ndGggfSBmcm9tICcuL3N0cmluZy1sZW5ndGgudmFsaWRhdG9yJztcclxuaW1wb3J0IHsgdmFsaWRhdGVVcmwgfSBmcm9tICcuL3VybC52YWxpZGF0b3InO1xyXG5pbXBvcnQgeyB2YWxpZGF0ZVVzZXJuYW1lIH0gZnJvbSAnLi91c2VybmFtZS52YWxpZGF0b3InO1xyXG5leHBvcnQgKiBmcm9tICcuL2FnZS52YWxpZGF0b3InO1xyXG5leHBvcnQgKiBmcm9tICcuL2NyZWRpdC1jYXJkLnZhbGlkYXRvcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vcmFuZ2UudmFsaWRhdG9yJztcclxuZXhwb3J0ICogZnJvbSAnLi9yZXF1aXJlZC52YWxpZGF0b3InO1xyXG5leHBvcnQgKiBmcm9tICcuL3N0cmluZy1sZW5ndGgudmFsaWRhdG9yJztcclxuZXhwb3J0ICogZnJvbSAnLi91cmwudmFsaWRhdG9yJztcclxuXHJcbmV4cG9ydCBjb25zdCBBYnBWYWxpZGF0b3JzID0ge1xyXG4gIGNyZWRpdENhcmQ6IHZhbGlkYXRlQ3JlZGl0Q2FyZCxcclxuICBlbWFpbEFkZHJlc3M6ICgpID0+IFZhbGlkYXRvcnMuZW1haWwsXHJcbiAgbWluQWdlOiB2YWxpZGF0ZU1pbkFnZSxcclxuICByYW5nZTogdmFsaWRhdGVSYW5nZSxcclxuICByZXF1aXJlZDogdmFsaWRhdGVSZXF1aXJlZCxcclxuICBzdHJpbmdMZW5ndGg6IHZhbGlkYXRlU3RyaW5nTGVuZ3RoLFxyXG4gIHVybDogdmFsaWRhdGVVcmwsXHJcbiAgdXNlcm5hbWU6IHZhbGlkYXRlVXNlcm5hbWUsXHJcbn07XHJcbiJdfQ==
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import { BaseCoreModule, coreOptionsFactory, CORE_OPTIONS, LIST_QUERY_DEBOUNCE_TIME, LOADER_DELAY, PermissionService, RestService, INCUDE_LOCALIZATION_RESOURCES_TOKEN, } from '@abp/ng.core';
|
|
2
|
-
import { APP_BASE_HREF } from '@angular/common';
|
|
3
|
-
import { NgModule } from '@angular/core';
|
|
4
|
-
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
|
|
5
|
-
import { provideRoutes } from '@angular/router';
|
|
6
|
-
import { RouterTestingModule } from '@angular/router/testing';
|
|
7
|
-
import { MockPermissionService } from './services/mock-permission.service';
|
|
8
|
-
import { MockRestService } from './services/mock-rest.service';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
/**
|
|
11
|
-
* CoreTestingModule is the module that will be used in tests
|
|
12
|
-
* and it provides mock alternatives
|
|
13
|
-
*/
|
|
14
|
-
export class CoreTestingModule {
|
|
15
|
-
static withConfig({ baseHref = '/', listQueryDebounceTime = 0, routes = [], ...options } = {}) {
|
|
16
|
-
return {
|
|
17
|
-
ngModule: CoreTestingModule,
|
|
18
|
-
providers: [
|
|
19
|
-
{ provide: APP_BASE_HREF, useValue: baseHref },
|
|
20
|
-
{
|
|
21
|
-
provide: 'CORE_OPTIONS',
|
|
22
|
-
useValue: {
|
|
23
|
-
skipGetAppConfiguration: true,
|
|
24
|
-
...options,
|
|
25
|
-
},
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
provide: CORE_OPTIONS,
|
|
29
|
-
useFactory: coreOptionsFactory,
|
|
30
|
-
deps: ['CORE_OPTIONS'],
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
provide: LIST_QUERY_DEBOUNCE_TIME,
|
|
34
|
-
useValue: listQueryDebounceTime,
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
provide: PermissionService,
|
|
38
|
-
useClass: MockPermissionService,
|
|
39
|
-
},
|
|
40
|
-
{
|
|
41
|
-
provide: RestService,
|
|
42
|
-
useClass: MockRestService,
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
provide: LOADER_DELAY,
|
|
46
|
-
useValue: 0,
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
provide: INCUDE_LOCALIZATION_RESOURCES_TOKEN,
|
|
50
|
-
useValue: false,
|
|
51
|
-
},
|
|
52
|
-
provideRoutes(routes),
|
|
53
|
-
],
|
|
54
|
-
};
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
CoreTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CoreTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
58
|
-
CoreTestingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: CoreTestingModule, imports: [NoopAnimationsModule, RouterTestingModule, BaseCoreModule], exports: [RouterTestingModule, BaseCoreModule] });
|
|
59
|
-
CoreTestingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CoreTestingModule, imports: [NoopAnimationsModule, RouterTestingModule, BaseCoreModule, RouterTestingModule, BaseCoreModule] });
|
|
60
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CoreTestingModule, decorators: [{
|
|
61
|
-
type: NgModule,
|
|
62
|
-
args: [{
|
|
63
|
-
exports: [RouterTestingModule, BaseCoreModule],
|
|
64
|
-
imports: [NoopAnimationsModule, RouterTestingModule, BaseCoreModule],
|
|
65
|
-
}]
|
|
66
|
-
}] });
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS10ZXN0aW5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvdGVzdGluZy9zcmMvbGliL2NvcmUtdGVzdGluZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLGNBQWMsRUFDZCxrQkFBa0IsRUFDbEIsWUFBWSxFQUNaLHdCQUF3QixFQUN4QixZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLFdBQVcsRUFDWCxtQ0FBbUMsR0FDcEMsTUFBTSxjQUFjLENBQUM7QUFDdEIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBRS9EOzs7R0FHRztBQUtILE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsTUFBTSxDQUFDLFVBQVUsQ0FDZixFQUFFLFFBQVEsR0FBRyxHQUFHLEVBQUUscUJBQXFCLEdBQUcsQ0FBQyxFQUFFLE1BQU0sR0FBRyxFQUFFLEVBQUUsR0FBRyxPQUFPLEtBQUssRUFBYztRQUV2RixPQUFPO1lBQ0wsUUFBUSxFQUFFLGlCQUFpQjtZQUMzQixTQUFTLEVBQUU7Z0JBQ1QsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUU7Z0JBQzlDO29CQUNFLE9BQU8sRUFBRSxjQUFjO29CQUN2QixRQUFRLEVBQUU7d0JBQ1IsdUJBQXVCLEVBQUUsSUFBSTt3QkFDN0IsR0FBRyxPQUFPO3FCQUNYO2lCQUNGO2dCQUNEO29CQUNFLE9BQU8sRUFBRSxZQUFZO29CQUNyQixVQUFVLEVBQUUsa0JBQWtCO29CQUM5QixJQUFJLEVBQUUsQ0FBQyxjQUFjLENBQUM7aUJBQ3ZCO2dCQUNEO29CQUNFLE9BQU8sRUFBRSx3QkFBd0I7b0JBQ2pDLFFBQVEsRUFBRSxxQkFBcUI7aUJBQ2hDO2dCQUNEO29CQUNFLE9BQU8sRUFBRSxpQkFBaUI7b0JBQzFCLFFBQVEsRUFBRSxxQkFBcUI7aUJBQ2hDO2dCQUNEO29CQUNFLE9BQU8sRUFBRSxXQUFXO29CQUNwQixRQUFRLEVBQUUsZUFBZTtpQkFDMUI7Z0JBQ0Q7b0JBQ0UsT0FBTyxFQUFFLFlBQVk7b0JBQ3JCLFFBQVEsRUFBRSxDQUFDO2lCQUNaO2dCQUNEO29CQUNFLE9BQU8sRUFBRSxtQ0FBbUM7b0JBQzVDLFFBQVEsRUFBRSxLQUFLO2lCQUNoQjtnQkFDRCxhQUFhLENBQUMsTUFBTSxDQUFDO2FBQ3RCO1NBQ0YsQ0FBQztJQUNKLENBQUM7OzhHQTNDVSxpQkFBaUI7K0dBQWpCLGlCQUFpQixZQUZsQixvQkFBb0IsRUFBRSxtQkFBbUIsRUFBRSxjQUFjLGFBRHpELG1CQUFtQixFQUFFLGNBQWM7K0dBR2xDLGlCQUFpQixZQUZsQixvQkFBb0IsRUFBRSxtQkFBbUIsRUFBRSxjQUFjLEVBRHpELG1CQUFtQixFQUFFLGNBQWM7MkZBR2xDLGlCQUFpQjtrQkFKN0IsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSxjQUFjLENBQUM7b0JBQzlDLE9BQU8sRUFBRSxDQUFDLG9CQUFvQixFQUFFLG1CQUFtQixFQUFFLGNBQWMsQ0FBQztpQkFDckUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFCUCxcclxuICBCYXNlQ29yZU1vZHVsZSxcclxuICBjb3JlT3B0aW9uc0ZhY3RvcnksXHJcbiAgQ09SRV9PUFRJT05TLFxyXG4gIExJU1RfUVVFUllfREVCT1VOQ0VfVElNRSxcclxuICBMT0FERVJfREVMQVksXHJcbiAgUGVybWlzc2lvblNlcnZpY2UsXHJcbiAgUmVzdFNlcnZpY2UsXHJcbiAgSU5DVURFX0xPQ0FMSVpBVElPTl9SRVNPVVJDRVNfVE9LRU4sXHJcbn0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuaW1wb3J0IHsgQVBQX0JBU0VfSFJFRiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5vb3BBbmltYXRpb25zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci9hbmltYXRpb25zJztcclxuaW1wb3J0IHsgcHJvdmlkZVJvdXRlcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFJvdXRlclRlc3RpbmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXIvdGVzdGluZyc7XHJcbmltcG9ydCB7IE1vY2tQZXJtaXNzaW9uU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvbW9jay1wZXJtaXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNb2NrUmVzdFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL21vY2stcmVzdC5zZXJ2aWNlJztcclxuXHJcbi8qKlxyXG4gKiBDb3JlVGVzdGluZ01vZHVsZSBpcyB0aGUgbW9kdWxlIHRoYXQgd2lsbCBiZSB1c2VkIGluIHRlc3RzXHJcbiAqIGFuZCBpdCBwcm92aWRlcyBtb2NrIGFsdGVybmF0aXZlc1xyXG4gKi9cclxuQE5nTW9kdWxlKHtcclxuICBleHBvcnRzOiBbUm91dGVyVGVzdGluZ01vZHVsZSwgQmFzZUNvcmVNb2R1bGVdLFxyXG4gIGltcG9ydHM6IFtOb29wQW5pbWF0aW9uc01vZHVsZSwgUm91dGVyVGVzdGluZ01vZHVsZSwgQmFzZUNvcmVNb2R1bGVdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29yZVRlc3RpbmdNb2R1bGUge1xyXG4gIHN0YXRpYyB3aXRoQ29uZmlnKFxyXG4gICAgeyBiYXNlSHJlZiA9ICcvJywgbGlzdFF1ZXJ5RGVib3VuY2VUaW1lID0gMCwgcm91dGVzID0gW10sIC4uLm9wdGlvbnMgfSA9IHt9IGFzIEFCUC5UZXN0LFxyXG4gICk6IE1vZHVsZVdpdGhQcm92aWRlcnM8Q29yZVRlc3RpbmdNb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBDb3JlVGVzdGluZ01vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgeyBwcm92aWRlOiBBUFBfQkFTRV9IUkVGLCB1c2VWYWx1ZTogYmFzZUhyZWYgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwcm92aWRlOiAnQ09SRV9PUFRJT05TJyxcclxuICAgICAgICAgIHVzZVZhbHVlOiB7XHJcbiAgICAgICAgICAgIHNraXBHZXRBcHBDb25maWd1cmF0aW9uOiB0cnVlLFxyXG4gICAgICAgICAgICAuLi5vcHRpb25zLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHByb3ZpZGU6IENPUkVfT1BUSU9OUyxcclxuICAgICAgICAgIHVzZUZhY3Rvcnk6IGNvcmVPcHRpb25zRmFjdG9yeSxcclxuICAgICAgICAgIGRlcHM6IFsnQ09SRV9PUFRJT05TJ10sXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwcm92aWRlOiBMSVNUX1FVRVJZX0RFQk9VTkNFX1RJTUUsXHJcbiAgICAgICAgICB1c2VWYWx1ZTogbGlzdFF1ZXJ5RGVib3VuY2VUaW1lLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHJvdmlkZTogUGVybWlzc2lvblNlcnZpY2UsXHJcbiAgICAgICAgICB1c2VDbGFzczogTW9ja1Blcm1pc3Npb25TZXJ2aWNlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHJvdmlkZTogUmVzdFNlcnZpY2UsXHJcbiAgICAgICAgICB1c2VDbGFzczogTW9ja1Jlc3RTZXJ2aWNlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHJvdmlkZTogTE9BREVSX0RFTEFZLFxyXG4gICAgICAgICAgdXNlVmFsdWU6IDAsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwcm92aWRlOiBJTkNVREVfTE9DQUxJWkFUSU9OX1JFU09VUkNFU19UT0tFTixcclxuICAgICAgICAgIHVzZVZhbHVlOiBmYWxzZSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHByb3ZpZGVSb3V0ZXMocm91dGVzKSxcclxuICAgICAgXSxcclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==
|