@abp/ng.core 4.4.3 → 5.0.0-beta.3
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/abp-ng.core.d.ts +1 -41
- package/bundles/abp-ng.core-locale.umd.js +1 -1
- package/bundles/abp-ng.core-locale.umd.js.map +1 -1
- package/bundles/abp-ng.core-testing.umd.js +37 -34
- package/bundles/abp-ng.core-testing.umd.js.map +1 -1
- package/bundles/abp-ng.core.umd.js +1403 -1897
- package/bundles/abp-ng.core.umd.js.map +1 -1
- package/esm2015/abp-ng.core.js +1 -40
- package/esm2015/abp-ng.core.js.map +1 -0
- package/esm2015/lib/abstracts/index.js +1 -1
- package/esm2015/lib/abstracts/index.js.map +1 -0
- package/esm2015/lib/abstracts/ng-model.component.js +18 -16
- package/esm2015/lib/abstracts/ng-model.component.js.map +1 -0
- package/esm2015/lib/components/dynamic-layout.component.js +28 -16
- package/esm2015/lib/components/dynamic-layout.component.js.map +1 -0
- package/esm2015/lib/components/index.js +1 -1
- package/esm2015/lib/components/index.js.map +1 -0
- package/esm2015/lib/components/replaceable-route-container.component.js +19 -15
- package/esm2015/lib/components/replaceable-route-container.component.js.map +1 -0
- package/esm2015/lib/components/router-outlet.component.js +12 -9
- package/esm2015/lib/components/router-outlet.component.js.map +1 -0
- package/esm2015/lib/constants/different-locales.js +1 -1
- package/esm2015/lib/constants/different-locales.js.map +1 -0
- package/esm2015/lib/constants/index.js +1 -1
- package/esm2015/lib/constants/index.js.map +1 -0
- package/esm2015/lib/core.module.js +151 -83
- package/esm2015/lib/core.module.js.map +1 -0
- package/esm2015/lib/directives/autofocus.directive.js +14 -13
- package/esm2015/lib/directives/autofocus.directive.js.map +1 -0
- package/esm2015/lib/directives/debounce.directive.js +18 -16
- package/esm2015/lib/directives/debounce.directive.js.map +1 -0
- package/esm2015/lib/directives/for.directive.js +39 -25
- package/esm2015/lib/directives/for.directive.js.map +1 -0
- package/esm2015/lib/directives/form-submit.directive.js +22 -19
- package/esm2015/lib/directives/form-submit.directive.js.map +1 -0
- package/esm2015/lib/directives/index.js +1 -2
- package/esm2015/lib/directives/index.js.map +1 -0
- package/esm2015/lib/directives/init.directive.js +11 -10
- package/esm2015/lib/directives/init.directive.js.map +1 -0
- package/esm2015/lib/directives/permission.directive.js +19 -34
- package/esm2015/lib/directives/permission.directive.js.map +1 -0
- package/esm2015/lib/directives/replaceable-template.directive.js +24 -20
- package/esm2015/lib/directives/replaceable-template.directive.js.map +1 -0
- package/esm2015/lib/directives/stop-propagation.directive.js +16 -15
- package/esm2015/lib/directives/stop-propagation.directive.js.map +1 -0
- package/esm2015/lib/enums/common.js +1 -1
- package/esm2015/lib/enums/common.js.map +1 -0
- package/esm2015/lib/enums/index.js +1 -1
- package/esm2015/lib/enums/index.js.map +1 -0
- package/esm2015/lib/guards/auth.guard.js +9 -11
- package/esm2015/lib/guards/auth.guard.js.map +1 -0
- package/esm2015/lib/guards/index.js +1 -1
- package/esm2015/lib/guards/index.js.map +1 -0
- package/esm2015/lib/guards/permission.guard.js +16 -21
- package/esm2015/lib/guards/permission.guard.js.map +1 -0
- package/esm2015/lib/handlers/oauth-configuration.handler.js +12 -13
- package/esm2015/lib/handlers/oauth-configuration.handler.js.map +1 -0
- package/esm2015/lib/handlers/routes.handler.js +11 -11
- package/esm2015/lib/handlers/routes.handler.js.map +1 -0
- package/esm2015/lib/interceptors/api.interceptor.js +12 -14
- package/esm2015/lib/interceptors/api.interceptor.js.map +1 -0
- package/esm2015/lib/interceptors/index.js +1 -1
- package/esm2015/lib/interceptors/index.js.map +1 -0
- package/esm2015/lib/localization.module.js +12 -7
- package/esm2015/lib/localization.module.js.map +1 -0
- package/esm2015/lib/models/auth.js +1 -1
- package/esm2015/lib/models/auth.js.map +1 -0
- package/esm2015/lib/models/common.js +1 -1
- package/esm2015/lib/models/common.js.map +1 -0
- package/esm2015/lib/models/dtos.js +6 -5
- package/esm2015/lib/models/dtos.js.map +1 -0
- package/esm2015/lib/models/environment.js +1 -1
- package/esm2015/lib/models/environment.js.map +1 -0
- package/esm2015/lib/models/index.js +1 -4
- package/esm2015/lib/models/index.js.map +1 -0
- package/esm2015/lib/models/localization.js +1 -1
- package/esm2015/lib/models/localization.js.map +1 -0
- package/esm2015/lib/models/replaceable-components.js +1 -1
- package/esm2015/lib/models/replaceable-components.js.map +1 -0
- package/esm2015/lib/models/rest.js +1 -1
- package/esm2015/lib/models/rest.js.map +1 -0
- package/esm2015/lib/models/session.js +1 -1
- package/esm2015/lib/models/session.js.map +1 -0
- package/esm2015/lib/models/utility.js +1 -1
- package/esm2015/lib/models/utility.js.map +1 -0
- package/esm2015/lib/pipes/index.js +1 -1
- package/esm2015/lib/pipes/index.js.map +1 -0
- package/esm2015/lib/pipes/localization.pipe.js +14 -10
- package/esm2015/lib/pipes/localization.pipe.js.map +1 -0
- package/esm2015/lib/pipes/sort.pipe.js +13 -7
- package/esm2015/lib/pipes/sort.pipe.js.map +1 -0
- package/esm2015/lib/providers/cookie-language.provider.js +22 -0
- package/esm2015/lib/providers/cookie-language.provider.js.map +1 -0
- package/esm2015/lib/providers/locale.provider.js +1 -1
- package/esm2015/lib/providers/locale.provider.js.map +1 -0
- package/esm2015/lib/proxy/pages/abp/multi-tenancy/abp-tenant.service.js +9 -10
- package/esm2015/lib/proxy/pages/abp/multi-tenancy/abp-tenant.service.js.map +1 -0
- package/esm2015/lib/proxy/pages/abp/multi-tenancy/index.js +1 -1
- package/esm2015/lib/proxy/pages/abp/multi-tenancy/index.js.map +1 -0
- package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/abp-api-definition.service.js +9 -10
- package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/abp-api-definition.service.js.map +1 -0
- package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/index.js +1 -1
- package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/index.js.map +1 -0
- package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service.js +9 -10
- package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service.js.map +1 -0
- package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/index.js +1 -1
- package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/index.js.map +1 -0
- package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/models.js +1 -1
- package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/models.js.map +1 -0
- package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending/index.js +1 -1
- package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending/index.js.map +1 -0
- package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending/models.js +2 -1
- package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending/models.js.map +1 -0
- package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy/index.js +1 -1
- package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy/index.js.map +1 -0
- package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy/models.js +1 -1
- package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy/models.js.map +1 -0
- package/esm2015/lib/proxy/volo/abp/http/modeling/index.js +1 -1
- package/esm2015/lib/proxy/volo/abp/http/modeling/index.js.map +1 -0
- package/esm2015/lib/proxy/volo/abp/http/modeling/models.js +2 -1
- package/esm2015/lib/proxy/volo/abp/http/modeling/models.js.map +1 -0
- package/esm2015/lib/proxy/volo/abp/localization/index.js +1 -1
- package/esm2015/lib/proxy/volo/abp/localization/index.js.map +1 -0
- package/esm2015/lib/proxy/volo/abp/localization/models.js +1 -1
- package/esm2015/lib/proxy/volo/abp/localization/models.js.map +1 -0
- package/esm2015/lib/proxy/volo/abp/models.js +1 -1
- package/esm2015/lib/proxy/volo/abp/models.js.map +1 -0
- package/esm2015/lib/services/auth.service.js +9 -16
- package/esm2015/lib/services/auth.service.js.map +1 -0
- package/esm2015/lib/services/config-state.service.js +12 -20
- package/esm2015/lib/services/config-state.service.js.map +1 -0
- package/esm2015/lib/services/content-projection.service.js +7 -8
- package/esm2015/lib/services/content-projection.service.js.map +1 -0
- package/esm2015/lib/services/dom-insertion.service.js +7 -5
- package/esm2015/lib/services/dom-insertion.service.js.map +1 -0
- package/esm2015/lib/services/environment.service.js +7 -7
- package/esm2015/lib/services/environment.service.js.map +1 -0
- package/esm2015/lib/services/http-error-reporter.service.js +29 -0
- package/esm2015/lib/services/http-error-reporter.service.js.map +1 -0
- package/esm2015/lib/services/http-wait.service.js +9 -10
- package/esm2015/lib/services/http-wait.service.js.map +1 -0
- package/esm2015/lib/services/index.js +2 -4
- package/esm2015/lib/services/index.js.map +1 -0
- package/esm2015/lib/services/lazy-load.service.js +9 -10
- package/esm2015/lib/services/lazy-load.service.js.map +1 -0
- package/esm2015/lib/services/list.service.js +7 -7
- package/esm2015/lib/services/list.service.js.map +1 -0
- package/esm2015/lib/services/localization.service.js +11 -11
- package/esm2015/lib/services/localization.service.js.map +1 -0
- package/esm2015/lib/services/multi-tenancy.service.js +15 -34
- package/esm2015/lib/services/multi-tenancy.service.js.map +1 -0
- package/esm2015/lib/services/permission.service.js +10 -11
- package/esm2015/lib/services/permission.service.js.map +1 -0
- package/esm2015/lib/services/replaceable-components.service.js +7 -9
- package/esm2015/lib/services/replaceable-components.service.js.map +1 -0
- package/esm2015/lib/services/resource-wait.service.js +9 -7
- package/esm2015/lib/services/resource-wait.service.js.map +1 -0
- package/esm2015/lib/services/rest.service.js +19 -23
- package/esm2015/lib/services/rest.service.js.map +1 -0
- package/esm2015/lib/services/router-events.service.js +7 -8
- package/esm2015/lib/services/router-events.service.js.map +1 -0
- package/esm2015/lib/services/router-wait.service.js +9 -11
- package/esm2015/lib/services/router-wait.service.js.map +1 -0
- package/esm2015/lib/services/routes.service.js +13 -17
- package/esm2015/lib/services/routes.service.js.map +1 -0
- package/esm2015/lib/services/session-state.service.js +9 -10
- package/esm2015/lib/services/session-state.service.js.map +1 -0
- package/esm2015/lib/services/subscription.service.js +7 -4
- package/esm2015/lib/services/subscription.service.js.map +1 -0
- package/esm2015/lib/services/track-by.service.js +12 -8
- package/esm2015/lib/services/track-by.service.js.map +1 -0
- package/esm2015/lib/strategies/auth-flow.strategy.js +9 -7
- package/esm2015/lib/strategies/auth-flow.strategy.js.map +1 -0
- package/esm2015/lib/strategies/container.strategy.js +1 -1
- package/esm2015/lib/strategies/container.strategy.js.map +1 -0
- package/esm2015/lib/strategies/content-security.strategy.js +1 -1
- package/esm2015/lib/strategies/content-security.strategy.js.map +1 -0
- package/esm2015/lib/strategies/content.strategy.js +14 -10
- package/esm2015/lib/strategies/content.strategy.js.map +1 -0
- package/esm2015/lib/strategies/context.strategy.js +1 -2
- package/esm2015/lib/strategies/context.strategy.js.map +1 -0
- package/esm2015/lib/strategies/cross-origin.strategy.js +1 -1
- package/esm2015/lib/strategies/cross-origin.strategy.js.map +1 -0
- package/esm2015/lib/strategies/dom.strategy.js +1 -1
- package/esm2015/lib/strategies/dom.strategy.js.map +1 -0
- package/esm2015/lib/strategies/index.js +1 -1
- package/esm2015/lib/strategies/index.js.map +1 -0
- package/esm2015/lib/strategies/loading.strategy.js +1 -1
- package/esm2015/lib/strategies/loading.strategy.js.map +1 -0
- package/esm2015/lib/strategies/projection.strategy.js +1 -1
- package/esm2015/lib/strategies/projection.strategy.js.map +1 -0
- package/esm2015/lib/tokens/app-config.token.js +1 -1
- package/esm2015/lib/tokens/app-config.token.js.map +1 -0
- package/esm2015/lib/tokens/cookie-language-key.token.js +5 -0
- package/esm2015/lib/tokens/cookie-language-key.token.js.map +1 -0
- package/esm2015/lib/tokens/index.js +3 -2
- package/esm2015/lib/tokens/index.js.map +1 -0
- package/esm2015/lib/tokens/list.token.js +1 -1
- package/esm2015/lib/tokens/list.token.js.map +1 -0
- package/esm2015/lib/tokens/lodaer-delay.token.js +1 -1
- package/esm2015/lib/tokens/lodaer-delay.token.js.map +1 -0
- package/esm2015/lib/tokens/manage-profile.token.js +1 -1
- package/esm2015/lib/tokens/manage-profile.token.js.map +1 -0
- package/esm2015/lib/tokens/options.token.js +1 -1
- package/esm2015/lib/tokens/options.token.js.map +1 -0
- package/esm2015/lib/tokens/tenant-key.token.js +1 -1
- package/esm2015/lib/tokens/tenant-key.token.js.map +1 -0
- package/esm2015/lib/utils/array-utils.js +1 -1
- package/esm2015/lib/utils/array-utils.js.map +1 -0
- package/esm2015/lib/utils/auth-utils.js +1 -1
- package/esm2015/lib/utils/auth-utils.js.map +1 -0
- package/esm2015/lib/utils/common-utils.js +1 -2
- package/esm2015/lib/utils/common-utils.js.map +1 -0
- package/esm2015/lib/utils/date-extensions.js +1 -1
- package/esm2015/lib/utils/date-extensions.js.map +1 -0
- package/esm2015/lib/utils/date-utils.js +1 -1
- package/esm2015/lib/utils/date-utils.js.map +1 -0
- package/esm2015/lib/utils/environment-utils.js +8 -5
- package/esm2015/lib/utils/environment-utils.js.map +1 -0
- package/esm2015/lib/utils/factory-utils.js +1 -1
- package/esm2015/lib/utils/factory-utils.js.map +1 -0
- package/esm2015/lib/utils/file-utils.js +1 -1
- package/esm2015/lib/utils/file-utils.js.map +1 -0
- package/esm2015/lib/utils/form-utils.js +1 -1
- package/esm2015/lib/utils/form-utils.js.map +1 -0
- package/esm2015/lib/utils/generator-utils.js +1 -2
- package/esm2015/lib/utils/generator-utils.js.map +1 -0
- package/esm2015/lib/utils/http-utils.js +1 -1
- package/esm2015/lib/utils/http-utils.js.map +1 -0
- package/esm2015/lib/utils/index.js +1 -2
- package/esm2015/lib/utils/index.js.map +1 -0
- package/esm2015/lib/utils/initial-utils.js +1 -1
- package/esm2015/lib/utils/initial-utils.js.map +1 -0
- package/esm2015/lib/utils/internal-store-utils.js +1 -1
- package/esm2015/lib/utils/internal-store-utils.js.map +1 -0
- package/esm2015/lib/utils/lazy-load-utils.js +1 -2
- package/esm2015/lib/utils/lazy-load-utils.js.map +1 -0
- package/esm2015/lib/utils/localization-utils.js +3 -3
- package/esm2015/lib/utils/localization-utils.js.map +1 -0
- package/esm2015/lib/utils/multi-tenancy-utils.js +1 -1
- package/esm2015/lib/utils/multi-tenancy-utils.js.map +1 -0
- package/esm2015/lib/utils/number-utils.js +1 -2
- package/esm2015/lib/utils/number-utils.js.map +1 -0
- package/esm2015/lib/utils/object-utils.js +1 -1
- package/esm2015/lib/utils/object-utils.js.map +1 -0
- package/esm2015/lib/utils/route-utils.js +1 -1
- package/esm2015/lib/utils/route-utils.js.map +1 -0
- package/esm2015/lib/utils/string-utils.js +1 -1
- package/esm2015/lib/utils/string-utils.js.map +1 -0
- package/esm2015/lib/utils/tree-utils.js +2 -1
- package/esm2015/lib/utils/tree-utils.js.map +1 -0
- package/esm2015/lib/validators/age.validator.js +1 -1
- package/esm2015/lib/validators/age.validator.js.map +1 -0
- package/esm2015/lib/validators/credit-card.validator.js +1 -2
- package/esm2015/lib/validators/credit-card.validator.js.map +1 -0
- package/esm2015/lib/validators/index.js +2 -4
- package/esm2015/lib/validators/index.js.map +1 -0
- package/esm2015/lib/validators/range.validator.js +1 -1
- package/esm2015/lib/validators/range.validator.js.map +1 -0
- package/esm2015/lib/validators/required.validator.js +1 -1
- package/esm2015/lib/validators/required.validator.js.map +1 -0
- package/esm2015/lib/validators/string-length.validator.js +1 -1
- package/esm2015/lib/validators/string-length.validator.js.map +1 -0
- package/esm2015/lib/validators/url.validator.js +1 -1
- package/esm2015/lib/validators/url.validator.js.map +1 -0
- package/esm2015/locale/abp-ng.core-locale.js +1 -1
- package/esm2015/locale/abp-ng.core-locale.js.map +1 -0
- package/esm2015/locale/public-api.js +1 -1
- package/esm2015/locale/public-api.js.map +1 -0
- package/esm2015/locale/utils/register-locale.js +1 -1
- package/esm2015/locale/utils/register-locale.js.map +1 -0
- package/esm2015/public-api.js +10 -15
- package/esm2015/public-api.js.map +1 -0
- package/esm2015/testing/abp-ng.core-testing.js +1 -3
- package/esm2015/testing/abp-ng.core-testing.js.map +1 -0
- package/esm2015/testing/lib/core-testing.module.js +12 -7
- package/esm2015/testing/lib/core-testing.module.js.map +1 -0
- package/esm2015/testing/lib/services/index.js +1 -1
- package/esm2015/testing/lib/services/index.js.map +1 -0
- package/esm2015/testing/lib/services/mock-permission.service.js +9 -10
- package/esm2015/testing/lib/services/mock-permission.service.js.map +1 -0
- package/esm2015/testing/lib/services/mock-rest.service.js +14 -14
- package/esm2015/testing/lib/services/mock-rest.service.js.map +1 -0
- package/esm2015/testing/lib/utils/clear-page.util.js +1 -1
- package/esm2015/testing/lib/utils/clear-page.util.js.map +1 -0
- package/esm2015/testing/lib/utils/index.js +1 -1
- package/esm2015/testing/lib/utils/index.js.map +1 -0
- package/esm2015/testing/lib/utils/wait.util.js +1 -1
- package/esm2015/testing/lib/utils/wait.util.js.map +1 -0
- package/esm2015/testing/public-api.js +1 -1
- package/esm2015/testing/public-api.js.map +1 -0
- package/fesm2015/abp-ng.core-locale.js.map +1 -1
- package/fesm2015/abp-ng.core-testing.js +32 -30
- package/fesm2015/abp-ng.core-testing.js.map +1 -1
- package/fesm2015/abp-ng.core.js +723 -1138
- package/fesm2015/abp-ng.core.js.map +1 -1
- package/lib/abstracts/ng-model.component.d.ts +6 -3
- package/lib/components/dynamic-layout.component.d.ts +3 -0
- package/lib/components/replaceable-route-container.component.d.ts +3 -0
- package/lib/components/router-outlet.component.d.ts +3 -0
- package/lib/core.module.d.ts +29 -0
- package/lib/directives/autofocus.directive.d.ts +4 -1
- package/lib/directives/debounce.directive.d.ts +3 -0
- package/lib/directives/for.directive.d.ts +3 -0
- package/lib/directives/form-submit.directive.d.ts +3 -0
- package/lib/directives/index.d.ts +0 -1
- package/lib/directives/init.directive.d.ts +3 -0
- package/lib/directives/permission.directive.d.ts +3 -5
- package/lib/directives/replaceable-template.directive.d.ts +3 -0
- package/lib/directives/stop-propagation.directive.d.ts +3 -0
- package/lib/guards/auth.guard.d.ts +3 -0
- package/lib/guards/permission.guard.d.ts +7 -4
- package/lib/handlers/oauth-configuration.handler.d.ts +3 -0
- package/lib/handlers/routes.handler.d.ts +3 -0
- package/lib/interceptors/api.interceptor.d.ts +3 -0
- package/lib/localization.module.d.ts +5 -0
- package/lib/models/index.d.ts +0 -3
- package/lib/models/replaceable-components.d.ts +2 -2
- package/lib/models/session.d.ts +0 -14
- package/lib/pipes/localization.pipe.d.ts +6 -2
- package/lib/pipes/sort.pipe.d.ts +4 -0
- package/lib/providers/cookie-language.provider.d.ts +3 -0
- package/lib/proxy/pages/abp/multi-tenancy/abp-tenant.service.d.ts +3 -0
- package/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/abp-api-definition.service.d.ts +3 -0
- package/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service.d.ts +3 -0
- package/lib/services/auth.service.d.ts +3 -4
- package/lib/services/config-state.service.d.ts +14 -16
- package/lib/services/content-projection.service.d.ts +3 -0
- package/lib/services/dom-insertion.service.d.ts +3 -0
- package/lib/services/environment.service.d.ts +4 -0
- package/lib/services/http-error-reporter.service.d.ts +12 -0
- package/lib/services/http-wait.service.d.ts +3 -0
- package/lib/services/index.d.ts +1 -3
- package/lib/services/lazy-load.service.d.ts +3 -0
- package/lib/services/list.service.d.ts +4 -1
- package/lib/services/localization.service.d.ts +6 -3
- package/lib/services/multi-tenancy.service.d.ts +7 -14
- package/lib/services/permission.service.d.ts +4 -1
- package/lib/services/replaceable-components.service.d.ts +3 -0
- package/lib/services/resource-wait.service.d.ts +3 -0
- package/lib/services/rest.service.d.ts +6 -3
- package/lib/services/router-events.service.d.ts +3 -0
- package/lib/services/router-wait.service.d.ts +3 -0
- package/lib/services/routes.service.d.ts +5 -2
- package/lib/services/session-state.service.d.ts +3 -0
- package/lib/services/subscription.service.d.ts +3 -0
- package/lib/services/track-by.service.d.ts +3 -0
- package/lib/strategies/auth-flow.strategy.d.ts +12 -12
- package/lib/strategies/content.strategy.d.ts +9 -5
- package/lib/tokens/cookie-language-key.token.d.ts +2 -0
- package/lib/tokens/index.d.ts +2 -1
- package/lib/utils/auth-utils.d.ts +5 -5
- package/lib/utils/index.d.ts +0 -1
- package/lib/utils/initial-utils.d.ts +5 -5
- package/lib/utils/tree-utils.d.ts +1 -1
- package/locale/abp-ng.core-locale.d.ts +1 -0
- package/locale/package.json +0 -1
- package/package.json +5 -9
- package/public-api.d.ts +9 -11
- package/testing/abp-ng.core-testing.d.ts +1 -2
- package/testing/lib/core-testing.module.d.ts +7 -0
- package/testing/lib/services/mock-permission.service.d.ts +3 -0
- package/testing/lib/services/mock-rest.service.d.ts +3 -0
- package/testing/package.json +0 -1
- package/abp-ng.core.metadata.json +0 -1
- package/bundles/abp-ng.core-locale.umd.min.js +0 -16
- package/bundles/abp-ng.core-locale.umd.min.js.map +0 -1
- package/bundles/abp-ng.core-testing.umd.min.js +0 -2
- package/bundles/abp-ng.core-testing.umd.min.js.map +0 -1
- package/bundles/abp-ng.core.umd.min.js +0 -17
- package/bundles/abp-ng.core.umd.min.js.map +0 -1
- package/esm2015/lib/actions/config.actions.js +0 -25
- package/esm2015/lib/actions/index.js +0 -5
- package/esm2015/lib/actions/loader.actions.js +0 -13
- package/esm2015/lib/actions/profile.actions.js +0 -16
- package/esm2015/lib/actions/rest.actions.js +0 -7
- package/esm2015/lib/directives/visibility.directive.js +0 -62
- package/esm2015/lib/models/application-configuration.js +0 -2
- package/esm2015/lib/models/config.js +0 -2
- package/esm2015/lib/models/profile.js +0 -2
- package/esm2015/lib/services/application-configuration.service.js +0 -29
- package/esm2015/lib/services/profile-state.service.js +0 -33
- package/esm2015/lib/services/profile.service.js +0 -48
- package/esm2015/lib/states/config.state.js +0 -230
- package/esm2015/lib/states/index.js +0 -3
- package/esm2015/lib/states/profile.state.js +0 -53
- package/esm2015/lib/utils/rxjs-utils.js +0 -26
- package/lib/actions/config.actions.d.ts +0 -23
- package/lib/actions/index.d.ts +0 -4
- package/lib/actions/loader.actions.d.ts +0 -11
- package/lib/actions/profile.actions.d.ts +0 -14
- package/lib/actions/rest.actions.d.ts +0 -6
- package/lib/directives/visibility.directive.d.ts +0 -16
- package/lib/models/application-configuration.d.ts +0 -108
- package/lib/models/config.d.ts +0 -52
- package/lib/models/profile.d.ts +0 -25
- package/lib/services/application-configuration.service.d.ts +0 -11
- package/lib/services/profile-state.service.d.ts +0 -11
- package/lib/services/profile.service.d.ts +0 -11
- package/lib/states/config.state.d.ts +0 -191
- package/lib/states/index.d.ts +0 -2
- package/lib/states/profile.state.d.ts +0 -12
- package/lib/utils/rxjs-utils.d.ts +0 -5
- package/locale/abp-ng.core-locale.metadata.json +0 -1
- package/testing/abp-ng.core-testing.metadata.json +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-error-reporter.service.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/services/http-error-reporter.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;;AAGhD,MAAM,OAAO,wBAAwB;IADrC;QAEU,eAAU,GAAG,IAAI,OAAO,EAAE,CAAC;QAC3B,aAAQ,GAAG,IAAI,eAAe,CAAsB,EAAE,CAAC,CAAC;QAchE,gBAAW,GAAG,CAAC,KAAwB,EAAE,EAAE;YACzC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC5B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAC;KACH;IAhBC,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;IACxC,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;IACtC,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;IAC7B,CAAC;;qHAdU,wBAAwB;yHAAxB,wBAAwB,cADX,MAAM;2FACnB,wBAAwB;kBADpC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE","sourcesContent":["import { HttpErrorResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { BehaviorSubject, Subject } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class HttpErrorReporterService {\n private _reporter$ = new Subject();\n private _errors$ = new BehaviorSubject<HttpErrorResponse[]>([]);\n\n get reporter$() {\n return this._reporter$.asObservable();\n }\n\n get errors$() {\n return this._errors$.asObservable();\n }\n\n get errors() {\n return this._errors$.value;\n }\n\n reportError = (error: HttpErrorResponse) => {\n this._reporter$.next(error);\n this._errors$.next([...this.errors, error]);\n };\n}\n"]}
|
|
@@ -61,13 +61,12 @@ export class HttpWaitService {
|
|
|
61
61
|
return endpoint === request.endpoint && method === request.method;
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
|
-
HttpWaitService.ɵ
|
|
65
|
-
HttpWaitService
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC13YWl0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvc2VydmljZXMvaHR0cC13YWl0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBYTVELE1BQU0sT0FBTyxlQUFlO0lBUzFCLFlBQVksUUFBa0I7UUFScEIsVUFBSyxHQUFHLElBQUksYUFBYSxDQUFnQjtZQUNqRCxRQUFRLEVBQUUsRUFBRTtZQUNaLGdCQUFnQixFQUFFLEVBQUU7U0FDckIsQ0FBQyxDQUFDO1FBR0ssYUFBUSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFHL0IsSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxHQUFHLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQzlELENBQUM7SUFFRCxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUMsS0FBSzthQUNkLFVBQVUsQ0FBQyxD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QyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQ25ELENBQUM7UUFDRixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRU8sV0FBVyxDQUFDLFFBQTRCO1FBQzlDLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQzlDLE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FDcEIsQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLENBQ2xCLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQ3ZDLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxXQUFXLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUM1RSxDQUNKLENBQUM7SUFDSixDQUFDO0lBRU8sYUFBYSxDQUFDLGVBQWdDLEVBQUUsT0FBd0I7UUFDOUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxlQUFlLENBQUM7UUFDN0MsT0FBTyxRQUFRLEtBQUssT0FBTyxDQUFDLFFBQVEsSUFBSSxNQUFNLEtBQUssT0FBTyxDQUFDLE1BQU0sQ0FBQztJQUNwRSxDQUFDOzs7O1lBckZGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBbEJvQixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBSZXF1ZXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW50ZXJuYWxTdG9yZSB9IGZyb20gJy4uL3V0aWxzL2ludGVybmFsLXN0b3JlLXV0aWxzJztcbmltcG9ydCB7IGdldFBhdGhOYW1lIH0gZnJvbSAnLi4vdXRpbHMvaHR0cC11dGlscyc7XG5pbXBvcnQgeyBtYXAsIG1hcFRvLCBzd2l0Y2hNYXAsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgb2YsIFN1YmplY3QsIHRpbWVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBMT0FERVJfREVMQVkgfSBmcm9tICcuLi90b2tlbnMvbG9kYWVyLWRlbGF5LnRva2VuJztcblxuZXhwb3J0IGludGVyZmFjZSBIdHRwV2FpdFN0YXRlIHtcbiAgcmVxdWVzdHM6IEh0dHBSZXF1ZXN0PGFueT5bXTtcbiAgZmlsdGVyZWRSZXF1ZXN0czogQXJyYXk8SHR0cFJlcXVlc3RJbmZvPjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSHR0cFJlcXVlc3RJbmZvIHtcbiAgbWV0aG9kOiBzdHJpbmc7XG4gIGVuZHBvaW50OiBzdHJpbmc7XG59XG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgSHR0cFdhaXRTZXJ2aWNlIHtcbiAgcHJvdGVjdGVkIHN0b3JlID0gbmV3IEludGVybmFsU3RvcmU8SHR0cFdhaXRTdGF0ZT4oe1xuICAgIHJlcXVlc3RzOiBbXSxcbiAgICBmaWx0ZXJlZFJlcXVlc3RzOiBbXSxcbiAgfSk7XG5cbiAgcHJpdmF0ZSBkZWxheTogbnVtYmVyO1xuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcblxuICBjb25zdHJ1Y3RvcihpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICB0aGlzLmRlbGF5ID0gaW5qZWN0b3IuZ2V0KExPQURFUl9ERUxBWSwgNTAwKTtcbiAgfVxuXG4gIGdldExvYWRpbmcoKSB7XG4gICAgcmV0dXJuICEhdGhpcy5hcHBseUZpbHRlcih0aGlzLnN0b3JlLnN0YXRlLnJlcXVlc3RzKS5sZW5ndGg7XG4gIH1cblxuICBnZXRMb2FkaW5nJCgpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNsaWNlU3RhdGUoKHsgcmVxdWVzdHMgfSkgPT4gcmVxdWVzdHMpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKHJlcXVlc3RzID0+ICEhdGhpcy5hcHBseUZpbHRlcihyZXF1ZXN0cykubGVuZ3RoKSxcbiAgICAgICAgc3dpdGNoTWFwKGNvbmRpdGlvbiA9PlxuICAgICAgICAgIGNvbmRpdGlvblxuICAgICAgICAgICAgPyB0aGlzLmRlbGF5ID09PSAwXG4gICAgICAgICAgICAgID8gb2YodHJ1ZSlcbiAgICAgICAgICAgICAgOiB0aW1lcih0aGlzLmRlbGF5KS5waXBlKG1hcFRvKHRydWUpLCB0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAgICAgICA6IG9mKGZhbHNlKSxcbiAgICAgICAgKSxcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuZGVzdHJveSQubmV4dCgpKSxcbiAgICAgICk7XG4gIH1cblxuICB1cGRhdGVMb2FkaW5nJCgpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zbGljZVVwZGF0ZSgoeyByZXF1ZXN0cyB9KSA9PiAhIXRoaXMuYXBwbHlGaWx0ZXIocmVxdWVzdHMpLmxlbmd0aCk7XG4gIH1cblxuICBjbGVhckxvYWRpbmcoKSB7XG4gICAgdGhpcy5zdG9yZS5wYXRjaCh7IHJlcXVlc3RzOiBbXSB9KTtcbiAgfVxuXG4gIGFkZFJlcXVlc3QocmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55Pikge1xuICAgIHRoaXMuc3RvcmUucGF0Y2goeyByZXF1ZXN0czogWy4uLnRoaXMuc3RvcmUuc3RhdGUucmVxdWVzdHMsIHJlcXVlc3RdIH0pO1xuICB9XG5cbiAgZGVsZXRlUmVxdWVzdChyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+KSB7XG4gICAgY29uc3QgcmVxdWVzdHMgPSB0aGlzLnN0b3JlLnN0YXRlLnJlcXVlc3RzLmZpbHRlcihyID0+IHIgIT09IHJlcXVlc3QpO1xuICAgIHRoaXMuc3RvcmUucGF0Y2goeyByZXF1ZXN0cyB9KTtcbiAgfVxuXG4gIGFkZEZpbHRlcihyZXF1ZXN0OiBIdHRwUmVxdWVzdEluZm8gfCBIdHRwUmVxdWVzdEluZm9bXSkge1xuICAgIGNvbnN0IHJlcXVlc3RzID0gQXJyYXkuaXNBcnJheShyZXF1ZXN0KSA/IHJlcXVlc3QgOiBbcmVxdWVzdF07XG4gICAgY29uc3QgZmlsdGVyZWRSZXF1ZXN0cyA9IFtcbiAgICAgIC4uLnRoaXMuc3RvcmUuc3RhdGUuZmlsdGVyZWRSZXF1ZXN0cy5maWx0ZXIoXG4gICAgICAgIGYgPT4gIXJlcXVlc3RzLnNvbWUociA9PiB0aGlzLmlzU2FtZVJlcXVlc3QoZiwgcikpLFxuICAgICAgKSxcbiAgICAgIC4uLnJlcXVlc3RzLFxuICAgIF07XG4gICAgdGhpcy5zdG9yZS5wYXRjaCh7IGZpbHRlcmVkUmVxdWVzdHMgfSk7XG4gIH1cblxuICByZW1vdmVGaWx0ZXIocmVxdWVzdDogSHR0cFJlcXVlc3RJbmZvIHwgSHR0cFJlcXVlc3RJbmZvW10pIHtcbiAgICBjb25zdCByZXF1ZXN0cyA9IEFycmF5LmlzQXJyYXkocmVxdWVzdCkgPyByZXF1ZXN0IDogW3JlcXVlc3RdO1xuICAgIGNvbnN0IGZpbHRlcmVkUmVxdWVzdHMgPSB0aGlzLnN0b3JlLnN0YXRlLmZpbHRlcmVkUmVxdWVzdHMuZmlsdGVyKFxuICAgICAgZiA9PiAhcmVxdWVzdHMuc29tZShyID0+IHRoaXMuaXNTYW1lUmVxdWVzdChmLCByKSksXG4gICAgKTtcbiAgICB0aGlzLnN0b3JlLnBhdGNoKHsgZmlsdGVyZWRSZXF1ZXN0cyB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlGaWx0ZXIocmVxdWVzdHM6IEh0dHBSZXF1ZXN0PGFueT5bXSkge1xuICAgIGNvbnN0IHsgZmlsdGVyZWRSZXF1ZXN0cyB9ID0gdGhpcy5zdG9yZS5zdGF0ZTtcbiAgICByZXR1cm4gcmVxdWVzdHMuZmlsdGVyKFxuICAgICAgKHsgbWV0aG9kLCB1cmwgfSkgPT5cbiAgICAgICAgIWZpbHRlcmVkUmVxdWVzdHMuZmluZChmaWx0ZXJlZFJlcXVlc3QgPT5cbiAgICAgICAgICB0aGlzLmlzU2FtZVJlcXVlc3QoZmlsdGVyZWRSZXF1ZXN0LCB7IG1ldGhvZCwgZW5kcG9pbnQ6IGdldFBhdGhOYW1lKHVybCkgfSksXG4gICAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNTYW1lUmVxdWVzdChmaWx0ZXJlZFJlcXVlc3Q6IEh0dHBSZXF1ZXN0SW5mbywgcmVxdWVzdDogSHR0cFJlcXVlc3RJbmZvKSB7XG4gICAgY29uc3QgeyBtZXRob2QsIGVuZHBvaW50IH0gPSBmaWx0ZXJlZFJlcXVlc3Q7XG4gICAgcmV0dXJuIGVuZHBvaW50ID09PSByZXF1ZXN0LmVuZHBvaW50ICYmIG1ldGhvZCA9PT0gcmVxdWVzdC5tZXRob2Q7XG4gIH1cbn1cbiJdfQ==
|
|
64
|
+
HttpWaitService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: HttpWaitService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
65
|
+
HttpWaitService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: HttpWaitService, providedIn: 'root' });
|
|
66
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: HttpWaitService, decorators: [{
|
|
67
|
+
type: Injectable,
|
|
68
|
+
args: [{
|
|
69
|
+
providedIn: 'root',
|
|
70
|
+
}]
|
|
71
|
+
}], ctorParameters: function () { return [{ type: i0.Injector }]; } });
|
|
72
|
+
//# sourceMappingURL=http-wait.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-wait.service.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/services/http-wait.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { Injectable, Injector } from '@angular/core';\nimport { HttpRequest } from '@angular/common/http';\nimport { InternalStore } from '../utils/internal-store-utils';\nimport { getPathName } from '../utils/http-utils';\nimport { map, mapTo, switchMap, takeUntil, tap } from 'rxjs/operators';\nimport { of, Subject, timer } from 'rxjs';\nimport { LOADER_DELAY } from '../tokens/lodaer-delay.token';\n\nexport interface HttpWaitState {\n requests: HttpRequest<any>[];\n filteredRequests: Array<HttpRequestInfo>;\n}\nexport interface HttpRequestInfo {\n method: string;\n endpoint: string;\n}\n@Injectable({\n providedIn: 'root',\n})\nexport class HttpWaitService {\n protected store = new InternalStore<HttpWaitState>({\n requests: [],\n filteredRequests: [],\n });\n\n private delay: number;\n private destroy$ = new Subject();\n\n constructor(injector: Injector) {\n this.delay = injector.get(LOADER_DELAY, 500);\n }\n\n getLoading() {\n return !!this.applyFilter(this.store.state.requests).length;\n }\n\n getLoading$() {\n return this.store\n .sliceState(({ requests }) => requests)\n .pipe(\n map(requests => !!this.applyFilter(requests).length),\n switchMap(condition =>\n condition\n ? this.delay === 0\n ? of(true)\n : timer(this.delay).pipe(mapTo(true), takeUntil(this.destroy$))\n : of(false),\n ),\n tap(() => this.destroy$.next()),\n );\n }\n\n updateLoading$() {\n return this.store.sliceUpdate(({ requests }) => !!this.applyFilter(requests).length);\n }\n\n clearLoading() {\n this.store.patch({ requests: [] });\n }\n\n addRequest(request: HttpRequest<any>) {\n this.store.patch({ requests: [...this.store.state.requests, request] });\n }\n\n deleteRequest(request: HttpRequest<any>) {\n const requests = this.store.state.requests.filter(r => r !== request);\n this.store.patch({ requests });\n }\n\n addFilter(request: HttpRequestInfo | HttpRequestInfo[]) {\n const requests = Array.isArray(request) ? request : [request];\n const filteredRequests = [\n ...this.store.state.filteredRequests.filter(\n f => !requests.some(r => this.isSameRequest(f, r)),\n ),\n ...requests,\n ];\n this.store.patch({ filteredRequests });\n }\n\n removeFilter(request: HttpRequestInfo | HttpRequestInfo[]) {\n const requests = Array.isArray(request) ? request : [request];\n const filteredRequests = this.store.state.filteredRequests.filter(\n f => !requests.some(r => this.isSameRequest(f, r)),\n );\n this.store.patch({ filteredRequests });\n }\n\n private applyFilter(requests: HttpRequest<any>[]) {\n const { filteredRequests } = this.store.state;\n return requests.filter(\n ({ method, url }) =>\n !filteredRequests.find(filteredRequest =>\n this.isSameRequest(filteredRequest, { method, endpoint: getPathName(url) }),\n ),\n );\n }\n\n private isSameRequest(filteredRequest: HttpRequestInfo, request: HttpRequestInfo) {\n const { method, endpoint } = filteredRequest;\n return endpoint === request.endpoint && method === request.method;\n }\n}\n"]}
|
|
@@ -1,17 +1,15 @@
|
|
|
1
|
-
export * from './application-configuration.service';
|
|
2
1
|
export * from './auth.service';
|
|
3
2
|
export * from './config-state.service';
|
|
4
3
|
export * from './content-projection.service';
|
|
5
4
|
export * from './dom-insertion.service';
|
|
6
5
|
export * from './environment.service';
|
|
6
|
+
export * from './http-error-reporter.service';
|
|
7
7
|
export * from './http-wait.service';
|
|
8
8
|
export * from './lazy-load.service';
|
|
9
9
|
export * from './list.service';
|
|
10
10
|
export * from './localization.service';
|
|
11
11
|
export * from './multi-tenancy.service';
|
|
12
12
|
export * from './permission.service';
|
|
13
|
-
export * from './profile-state.service';
|
|
14
|
-
export * from './profile.service';
|
|
15
13
|
export * from './replaceable-components.service';
|
|
16
14
|
export * from './resource-wait.service';
|
|
17
15
|
export * from './rest.service';
|
|
@@ -21,4 +19,4 @@ export * from './routes.service';
|
|
|
21
19
|
export * from './session-state.service';
|
|
22
20
|
export * from './subscription.service';
|
|
23
21
|
export * from './track-by.service';
|
|
24
|
-
//# sourceMappingURL=
|
|
22
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kCAAkC,CAAC;AACjD,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC","sourcesContent":["export * from './auth.service';\nexport * from './config-state.service';\nexport * from './content-projection.service';\nexport * from './dom-insertion.service';\nexport * from './environment.service';\nexport * from './http-error-reporter.service';\nexport * from './http-wait.service';\nexport * from './lazy-load.service';\nexport * from './list.service';\nexport * from './localization.service';\nexport * from './multi-tenancy.service';\nexport * from './permission.service';\nexport * from './replaceable-components.service';\nexport * from './resource-wait.service';\nexport * from './rest.service';\nexport * from './router-events.service';\nexport * from './router-wait.service';\nexport * from './routes.service';\nexport * from './session-state.service';\nexport * from './subscription.service';\nexport * from './track-by.service';\n"]}
|
|
@@ -27,13 +27,12 @@ export class LazyLoadService {
|
|
|
27
27
|
return true;
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
|
-
LazyLoadService.ɵ
|
|
31
|
-
LazyLoadService
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF6eS1sb2FkLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvc2VydmljZXMvbGF6eS1sb2FkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFjLEVBQUUsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUQsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUxRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7O0FBSzlELE1BQU0sT0FBTyxlQUFlO0lBRzFCLFlBQW9CLG1CQUF3QztRQUF4Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBRm5ELFdBQU0sR0FBRyxJQUFJLEdBQUcsRUFBK0MsQ0FBQztJQUVWLENBQUM7SUFFaEUsSUFBSSxDQUFDLFFBQXlCLEVBQUUsVUFBbUIsRUFBRSxVQUFtQjtRQUN0RSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7WUFBRSxPQUFPLEVBQUUsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BELE9BQU8sUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FDakMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQ2pCLE1BQU0sQ0FDSixNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsRUFDaEQsVUFBVSxDQUFDLElBQUksV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQ3JDLENBQ0YsRUFDRCxHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ1AsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDakQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekQsQ0FBQyxDQUFDLEVBQ0YsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUNWLFdBQVcsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQy9DLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLElBQVk7UUFDakIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFdEMsSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPLEtBQUssQ0FBQztRQUUzQixPQUFPLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Ozs7WUFuQ0YsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUFKUSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjb25jYXQsIE9ic2VydmFibGUsIG9mLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWxheSwgcmV0cnlXaGVuLCBzaGFyZVJlcGxheSwgdGFrZSwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTG9hZGluZ1N0cmF0ZWd5IH0gZnJvbSAnLi4vc3RyYXRlZ2llcyc7XG5pbXBvcnQgeyBSZXNvdXJjZVdhaXRTZXJ2aWNlIH0gZnJvbSAnLi9yZXNvdXJjZS13YWl0LnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTGF6eUxvYWRTZXJ2aWNlIHtcbiAgcmVhZG9ubHkgbG9hZGVkID0gbmV3IE1hcDxzdHJpbmcsIEhUTUxTY3JpcHRFbGVtZW50IHwgSFRNTExpbmtFbGVtZW50PigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVzb3VyY2VXYWl0U2VydmljZTogUmVzb3VyY2VXYWl0U2VydmljZSkge31cblxuICBsb2FkKHN0cmF0ZWd5OiBMb2FkaW5nU3RyYXRlZ3ksIHJldHJ5VGltZXM/OiBudW1iZXIsIHJldHJ5RGVsYXk/OiBudW1iZXIpOiBPYnNlcnZhYmxlPEV2ZW50PiB7XG4gICAgaWYgKHRoaXMubG9hZGVkLmhhcyhzdHJhdGVneS5wYXRoKSkgcmV0dXJuIG9mKG5ldyBDdXN0b21FdmVudCgnbG9hZCcpKTtcbiAgICB0aGlzLnJlc291cmNlV2FpdFNlcnZpY2UuYWRkUmVzb3VyY2Uoc3RyYXRlZ3kucGF0aCk7XG4gICAgcmV0dXJuIHN0cmF0ZWd5LmNyZWF0ZVN0cmVhbSgpLnBpcGUoXG4gICAgICByZXRyeVdoZW4oZXJyb3IkID0+XG4gICAgICAgIGNvbmNhdChcbiAgICAgICAgICBlcnJvciQucGlwZShkZWxheShyZXRyeURlbGF5KSwgdGFrZShyZXRyeVRpbWVzKSksXG4gICAgICAgICAgdGhyb3dFcnJvcihuZXcgQ3VzdG9tRXZlbnQoJ2Vycm9yJykpLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgIHRoaXMubG9hZGVkLnNldChzdHJhdGVneS5wYXRoLCBzdHJhdGVneS5lbGVtZW50KTtcbiAgICAgICAgdGhpcy5yZXNvdXJjZVdhaXRTZXJ2aWNlLmRlbGV0ZVJlc291cmNlKHN0cmF0ZWd5LnBhdGgpO1xuICAgICAgfSksXG4gICAgICBkZWxheSgxMDApLFxuICAgICAgc2hhcmVSZXBsYXkoeyBidWZmZXJTaXplOiAxLCByZWZDb3VudDogdHJ1ZSB9KSxcbiAgICApO1xuICB9XG5cbiAgcmVtb3ZlKHBhdGg6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmxvYWRlZC5nZXQocGF0aCk7XG5cbiAgICBpZiAoIWVsZW1lbnQpIHJldHVybiBmYWxzZTtcblxuICAgIGVsZW1lbnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChlbGVtZW50KTtcbiAgICB0aGlzLmxvYWRlZC5kZWxldGUocGF0aCk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cbiJdfQ==
|
|
30
|
+
LazyLoadService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: LazyLoadService, deps: [{ token: i1.ResourceWaitService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
31
|
+
LazyLoadService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: LazyLoadService, providedIn: 'root' });
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: LazyLoadService, decorators: [{
|
|
33
|
+
type: Injectable,
|
|
34
|
+
args: [{
|
|
35
|
+
providedIn: 'root',
|
|
36
|
+
}]
|
|
37
|
+
}], ctorParameters: function () { return [{ type: i1.ResourceWaitService }]; } });
|
|
38
|
+
//# sourceMappingURL=lazy-load.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lazy-load.service.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/services/lazy-load.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAc,EAAE,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAE1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;;;AAK9D,MAAM,OAAO,eAAe;IAG1B,YAAoB,mBAAwC;QAAxC,wBAAmB,GAAnB,mBAAmB,CAAqB;QAFnD,WAAM,GAAG,IAAI,GAAG,EAA+C,CAAC;IAEV,CAAC;IAEhE,IAAI,CAAC,QAAyB,EAAE,UAAmB,EAAE,UAAmB;QACtE,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO,EAAE,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;QACvE,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACpD,OAAO,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,CACjC,SAAS,CAAC,MAAM,CAAC,EAAE,CACjB,MAAM,CACJ,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,EAChD,UAAU,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC,CACrC,CACF,EACD,GAAG,CAAC,GAAG,EAAE;YACP,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;YACjD,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACzD,CAAC,CAAC,EACF,KAAK,CAAC,GAAG,CAAC,EACV,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAC/C,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,IAAY;QACjB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEtC,IAAI,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QAE3B,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;;4GAhCU,eAAe;gHAAf,eAAe,cAFd,MAAM;2FAEP,eAAe;kBAH3B,UAAU;mBAAC;oBACV,UAAU,EAAE,MAAM;iBACnB","sourcesContent":["import { Injectable } from '@angular/core';\nimport { concat, Observable, of, throwError } from 'rxjs';\nimport { delay, retryWhen, shareReplay, take, tap } from 'rxjs/operators';\nimport { LoadingStrategy } from '../strategies';\nimport { ResourceWaitService } from './resource-wait.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LazyLoadService {\n readonly loaded = new Map<string, HTMLScriptElement | HTMLLinkElement>();\n\n constructor(private resourceWaitService: ResourceWaitService) {}\n\n load(strategy: LoadingStrategy, retryTimes?: number, retryDelay?: number): Observable<Event> {\n if (this.loaded.has(strategy.path)) return of(new CustomEvent('load'));\n this.resourceWaitService.addResource(strategy.path);\n return strategy.createStream().pipe(\n retryWhen(error$ =>\n concat(\n error$.pipe(delay(retryDelay), take(retryTimes)),\n throwError(new CustomEvent('error')),\n ),\n ),\n tap(() => {\n this.loaded.set(strategy.path, strategy.element);\n this.resourceWaitService.deleteResource(strategy.path);\n }),\n delay(100),\n shareReplay({ bufferSize: 1, refCount: true }),\n );\n }\n\n remove(path: string): boolean {\n const element = this.loaded.get(path);\n\n if (!element) return false;\n\n element.parentNode.removeChild(element);\n this.loaded.delete(path);\n return true;\n }\n}\n"]}
|
|
@@ -2,6 +2,7 @@ import { Injectable, Injector } from '@angular/core';
|
|
|
2
2
|
import { BehaviorSubject, of, ReplaySubject, Subject, } from 'rxjs';
|
|
3
3
|
import { catchError, debounceTime, filter, shareReplay, switchMap, takeUntil, tap, } from 'rxjs/operators';
|
|
4
4
|
import { LIST_QUERY_DEBOUNCE_TIME } from '../tokens/list.token';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
5
6
|
export class ListService {
|
|
6
7
|
constructor(injector) {
|
|
7
8
|
this._filter = '';
|
|
@@ -94,10 +95,9 @@ export class ListService {
|
|
|
94
95
|
});
|
|
95
96
|
}
|
|
96
97
|
}
|
|
97
|
-
ListService
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL3NlcnZpY2VzL2xpc3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUNoRSxPQUFPLEVBQ0wsZUFBZSxFQUdmLEVBQUUsRUFDRixhQUFhLEVBQ2IsT0FBTyxHQUNSLE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxFQUNMLFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLFdBQVcsRUFDWCxTQUFTLEVBQ1QsU0FBUyxFQUNULEdBQUcsR0FDSixNQUFNLGdCQUFnQixDQUFDO0FBR3hCLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR2hFLE1BQU0sT0FBTyxXQUFXO0lBNEV0QixZQUFZLFFBQWtCO1FBM0V0QixZQUFPLEdBQUcsRUFBRSxDQUFDO1FBU2Isb0JBQWUsR0FBRyxFQUFFLENBQUM7UUFTckIsZUFBVSxHQUFHLENBQUMsQ0FBQztRQUNmLFVBQUssR0FBRyxDQUFDLENBQUM7UUFXVixhQUFRLEdBQUcsRUFBRSxDQUFDO1FBU2QsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQVNoQixZQUFPLEdBQUcsSUFBSSxhQUFhLENBQWtCLENBQUMsQ0FBQyxDQUFDO1FBUWhELGdCQUFXLEdBQUcsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFekMsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFNakMsUUFBRyxHQUFHLEdBQUcsRUFBRTtZQUNULElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1lBQzlCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNkLENBQUMsQ0FBQztRQUVGLHdCQUFtQixHQUFHLEdBQUcsRUFBRTtZQUN6QixJQUFJLENBQUMsSUFBSSxFQUFF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QVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRU8sc0JBQXNCO1FBQzVCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUVwRCxJQUFJLFNBQVMsS0FBSyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2pDLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1lBQ2YsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUM7U0FDckI7O1lBQU0sSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7SUFDckMsQ0FBQztJQUVPLElBQUk7UUFDVixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBRTtZQUNqQixNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sSUFBSSxTQUFTO1lBQ2pDLGNBQWMsRUFBRSxJQUFJLENBQUMsZUFBZTtZQUNwQyxTQUFTLEVBQUUsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsZUFBZTtZQUM1QyxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUztTQUNsRCxDQUFDLENBQUM7SUFDaEMsQ0FBQzs7O1lBckhGLFVBQVU7OztZQXRCVSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQmVoYXZpb3JTdWJqZWN0LFxuICBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb24sXG4gIE9ic2VydmFibGUsXG4gIG9mLFxuICBSZXBsYXlTdWJqZWN0LFxuICBTdWJqZWN0LFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIGNhdGNoRXJyb3IsXG4gIGRlYm91bmNlVGltZSxcbiAgZmlsdGVyLFxuICBzaGFyZVJlcGxheSxcbiAgc3dpdGNoTWFwLFxuICB0YWtlVW50aWwsXG4gIHRhcCxcbn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQUJQIH0gZnJvbSAnLi4vbW9kZWxzL2NvbW1vbic7XG5pbXBvcnQgeyBQYWdlZFJlc3VsdER0byB9IGZyb20gJy4uL21vZGVscy9kdG9zJztcbmltcG9ydCB7IExJU1RfUVVFUllfREVCT1VOQ0VfVElNRSB9IGZyb20gJy4uL3Rva2Vucy9saXN0LnRva2VuJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIExpc3RTZXJ2aWNlPFF1ZXJ5UGFyYW1zVHlwZSA9IEFCUC5QYWdlUXVlcnlQYXJhbXM+IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBfZmlsdGVyID0gJyc7XG4gIHNldCBmaWx0ZXIodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2ZpbHRlciA9IHZhbHVlO1xuICAgIHRoaXMuZ2V0KCk7XG4gIH1cbiAgZ2V0IGZpbHRlcigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9maWx0ZXI7XG4gIH1cblxuICBwcml2YXRlIF9tYXhSZXN1bHRDb3VudCA9IDEwO1xuICBzZXQgbWF4UmVzdWx0Q291bnQodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuX21heFJlc3VsdENvdW50ID0gdmFsdWU7XG4gICAgdGhpcy5nZXQoKTtcbiAgfVxuICBnZXQgbWF4UmVzdWx0Q291bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fbWF4UmVzdWx0Q291bnQ7XG4gIH1cblxuICBwcml2YXRlIF9za2lwQ291bnQgPSAwO1xuICBwcml2YXRlIF9wYWdlID0gMDtcbiAgc2V0IHBhZ2UodmFsdWU6IG51bWJlcikge1xuICAgIGlmICh2YWx1ZSA9PT0gdGhpcy5fcGFnZSkgcmV0dXJuO1xuXG4gICAgdGhpcy5fcGFnZSA9IHZhbHVlO1xuICAgIHRoaXMuZ2V0KCk7XG4gIH1cbiAgZ2V0IHBhZ2UoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fcGFnZTtcbiAgfVxuXG4gIHByaXZhdGUgX3NvcnRLZXkgPSAnJztcbiAgc2V0IHNvcnRLZXkodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX3NvcnRLZXkgPSB2YWx1ZTtcbiAgICB0aGlzLmdldCgpO1xuICB9XG4gIGdldCBzb3J0S2V5KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3NvcnRLZXk7XG4gIH1cblxuICBwcml2YXRlIF9zb3J0T3JkZXIgPSAnJztcbiAgc2V0IHNvcnRPcmRlcih2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fc29ydE9yZGVyID0gdmFsdWU7XG4gICAgdGhpcy5nZXQoKTtcbiAgfVxuICBnZXQgc29ydE9yZGVyKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3NvcnRPcmRlcjtcbiAgfVxuXG4gIHByaXZhdGUgX3F1ZXJ5JCA9IG5ldyBSZXBsYXlTdWJqZWN0PFF1ZXJ5UGFyYW1zVHlwZT4oMSk7XG5cbiAgZ2V0IHF1ZXJ5JCgpOiBPYnNlcnZhYmxlPFF1ZXJ5UGFyYW1zVHlwZT4ge1xuICAgIHJldHVybiB0aGlzLl9xdWVyeSRcbiAgICAgIC5hc09ic2VydmFibGUoKVxuICAgICAgLnBpcGUodGhpcy5kZWxheSwgc2hhcmVSZXBsYXkoeyBidWZmZXJTaXplOiAxLCByZWZDb3VudDogdHJ1ZSB9KSk7XG4gIH1cblxuICBwcml2YXRlIF9pc0xvYWRpbmckID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cbiAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgZ2V0IGlzTG9hZGluZyQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX2lzTG9hZGluZyQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgPSAoKSA9PiB7XG4gICAgdGhpcy5yZXNldFBhZ2VXaGVuVW5jaGFuZ2VkKCk7XG4gICAgdGhpcy5uZXh0KCk7XG4gIH07XG5cbiAgZ2V0V2l0aG91dFBhZ2VSZXNldCA9ICgpID0+IHtcbiAgICB0aGlzLm5leHQoKTtcbiAgfTtcblxuICBwcml2YXRlIGRlbGF5OiBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb248UXVlcnlQYXJhbXNUeXBlPjtcblxuICBjb25zdHJ1Y3RvcihpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICBjb25zdCBkZWxheSA9IGluamVjdG9yLmdldChMSVNUX1FVRVJZX0RFQk9VTkNFX1RJTUUsIDMwMCk7XG4gICAgdGhpcy5kZWxheSA9IGRlbGF5ID8gZGVib3VuY2VUaW1lKGRlbGF5KSA6IHRhcCgpO1xuICAgIHRoaXMuZ2V0KCk7XG4gIH1cblxuICBob29rVG9RdWVyeTxUIGV4dGVuZHMgYW55PihcbiAgICBzdHJlYW1DcmVhdG9yQ2FsbGJhY2s6IFF1ZXJ5U3RyZWFtQ3JlYXRvckNhbGxiYWNrPFQsIFF1ZXJ5UGFyYW1zVHlwZT4sXG4gICk6IE9ic2VydmFibGU8UGFnZWRSZXN1bHREdG88VD4+IHtcbiAgICB0aGlzLl9pc0xvYWRpbmckLm5leHQodHJ1ZSk7XG5cbiAgICByZXR1cm4gdGhpcy5xdWVyeSQucGlwZShcbiAgICAgIHN3aXRjaE1hcChxdWVyeSA9PiBzdHJlYW1DcmVhdG9yQ2FsbGJhY2socXVlcnkpLnBpcGUoY2F0Y2hFcnJvcigoKSA9PiBvZihudWxsKSkpKSxcbiAgICAgIGZpbHRlcihCb29sZWFuKSxcbiAgICAgIHRhcCgoKSA9PiB0aGlzLl9pc0xvYWRpbmckLm5leHQoZmFsc2UpKSxcbiAgICAgIHNoYXJlUmVwbGF5KHsgYnVmZmVyU2l6ZTogMSwgcmVmQ291bnQ6IHRydWUgfSksXG4gICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNldFBhZ2VXaGVuVW5jaGFuZ2VkKCkge1xuICAgIGNvbnN0IHNraXBDb3VudCA9IHRoaXMuX3BhZ2UgKiB0aGlzLl9tYXhSZXN1bHRDb3VudDtcblxuICAgIGlmIChza2lwQ291bnQgPT09IHRoaXMuX3NraXBDb3VudCkge1xuICAgICAgdGhpcy5fcGFnZSA9IDA7XG4gICAgICB0aGlzLl9za2lwQ291bnQgPSAwO1xuICAgIH0gZWxzZSB0aGlzLl9za2lwQ291bnQgPSBza2lwQ291bnQ7XG4gIH1cblxuICBwcml2YXRlIG5leHQoKSB7XG4gICAgdGhpcy5fcXVlcnkkLm5leHQoKHtcbiAgICAgIGZpbHRlcjogdGhpcy5fZmlsdGVyIHx8IHVuZGVmaW5lZCxcbiAgICAgIG1heFJlc3VsdENvdW50OiB0aGlzLl9tYXhSZXN1bHRDb3VudCxcbiAgICAgIHNraXBDb3VudDogdGhpcy5fcGFnZSAqIHRoaXMuX21heFJlc3VsdENvdW50LFxuICAgICAgc29ydGluZzogdGhpcy5fc29ydE9yZGVyID8gYCR7dGhpcy5fc29ydEtleX0gJHt0aGlzLl9zb3J0T3JkZXJ9YCA6IHVuZGVmaW5lZCxcbiAgICB9IGFzIGFueSkgYXMgUXVlcnlQYXJhbXNUeXBlKTtcbiAgfVxufVxuXG5leHBvcnQgdHlwZSBRdWVyeVN0cmVhbUNyZWF0b3JDYWxsYmFjazxULCBRdWVyeVBhcmFtc1R5cGUgPSBBQlAuUGFnZVF1ZXJ5UGFyYW1zPiA9IChcbiAgcXVlcnk6IFF1ZXJ5UGFyYW1zVHlwZSxcbikgPT4gT2JzZXJ2YWJsZTxQYWdlZFJlc3VsdER0bzxUPj47XG4iXX0=
|
|
98
|
+
ListService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: ListService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
99
|
+
ListService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: ListService });
|
|
100
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: ListService, decorators: [{
|
|
101
|
+
type: Injectable
|
|
102
|
+
}], ctorParameters: function () { return [{ type: i0.Injector }]; } });
|
|
103
|
+
//# sourceMappingURL=list.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.service.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/services/list.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { Injectable, Injector, OnDestroy } from '@angular/core';\nimport {\n BehaviorSubject,\n MonoTypeOperatorFunction,\n Observable,\n of,\n ReplaySubject,\n Subject,\n} from 'rxjs';\nimport {\n catchError,\n debounceTime,\n filter,\n shareReplay,\n switchMap,\n takeUntil,\n tap,\n} from 'rxjs/operators';\nimport { ABP } from '../models/common';\nimport { PagedResultDto } from '../models/dtos';\nimport { LIST_QUERY_DEBOUNCE_TIME } from '../tokens/list.token';\n\n@Injectable()\nexport class ListService<QueryParamsType = ABP.PageQueryParams> implements OnDestroy {\n private _filter = '';\n set filter(value: string) {\n this._filter = value;\n this.get();\n }\n get filter(): string {\n return this._filter;\n }\n\n private _maxResultCount = 10;\n set maxResultCount(value: number) {\n this._maxResultCount = value;\n this.get();\n }\n get maxResultCount(): number {\n return this._maxResultCount;\n }\n\n private _skipCount = 0;\n private _page = 0;\n set page(value: number) {\n if (value === this._page) return;\n\n this._page = value;\n this.get();\n }\n get page(): number {\n return this._page;\n }\n\n private _sortKey = '';\n set sortKey(value: string) {\n this._sortKey = value;\n this.get();\n }\n get sortKey(): string {\n return this._sortKey;\n }\n\n private _sortOrder = '';\n set sortOrder(value: string) {\n this._sortOrder = value;\n this.get();\n }\n get sortOrder(): string {\n return this._sortOrder;\n }\n\n private _query$ = new ReplaySubject<QueryParamsType>(1);\n\n get query$(): Observable<QueryParamsType> {\n return this._query$\n .asObservable()\n .pipe(this.delay, shareReplay({ bufferSize: 1, refCount: true }));\n }\n\n private _isLoading$ = new BehaviorSubject(false);\n\n private destroy$ = new Subject();\n\n private delay: MonoTypeOperatorFunction<QueryParamsType>;\n\n get isLoading$(): Observable<boolean> {\n return this._isLoading$.asObservable();\n }\n\n get = () => {\n this.resetPageWhenUnchanged();\n this.next();\n };\n\n getWithoutPageReset = () => {\n this.next();\n };\n\n constructor(injector: Injector) {\n const delay = injector.get(LIST_QUERY_DEBOUNCE_TIME, 300);\n this.delay = delay ? debounceTime(delay) : tap();\n this.get();\n }\n\n hookToQuery<T extends any>(\n streamCreatorCallback: QueryStreamCreatorCallback<T, QueryParamsType>,\n ): Observable<PagedResultDto<T>> {\n this._isLoading$.next(true);\n\n return this.query$.pipe(\n switchMap(query => streamCreatorCallback(query).pipe(catchError(() => of(null)))),\n filter(Boolean),\n tap(() => this._isLoading$.next(false)),\n shareReplay({ bufferSize: 1, refCount: true }),\n takeUntil(this.destroy$),\n );\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n }\n\n private resetPageWhenUnchanged() {\n const skipCount = this._page * this._maxResultCount;\n\n if (skipCount === this._skipCount) {\n this._page = 0;\n this._skipCount = 0;\n } else this._skipCount = skipCount;\n }\n\n private next() {\n this._query$.next({\n filter: this._filter || undefined,\n maxResultCount: this._maxResultCount,\n skipCount: this._page * this._maxResultCount,\n sorting: this._sortOrder ? `${this._sortKey} ${this._sortOrder}` : undefined,\n } as any as QueryParamsType);\n }\n}\n\nexport type QueryStreamCreatorCallback<T, QueryParamsType = ABP.PageQueryParams> = (\n query: QueryParamsType,\n) => Observable<PagedResultDto<T>>;\n"]}
|
|
@@ -83,16 +83,16 @@ export class LocalizationService {
|
|
|
83
83
|
return createLocalizerWithFallback(localization)(resourceNames, keys, defaultValue);
|
|
84
84
|
}
|
|
85
85
|
}
|
|
86
|
-
LocalizationService.ɵ
|
|
87
|
-
LocalizationService
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
];
|
|
86
|
+
LocalizationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: LocalizationService, deps: [{ token: i1.SessionStateService }, { token: i0.Injector }, { token: LocalizationService, optional: true, skipSelf: true }, { token: i2.ConfigStateService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
87
|
+
LocalizationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: LocalizationService, providedIn: 'root' });
|
|
88
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: LocalizationService, decorators: [{
|
|
89
|
+
type: Injectable,
|
|
90
|
+
args: [{ providedIn: 'root' }]
|
|
91
|
+
}], ctorParameters: function () { return [{ type: i1.SessionStateService }, { type: i0.Injector }, { type: LocalizationService, decorators: [{
|
|
92
|
+
type: Optional
|
|
93
|
+
}, {
|
|
94
|
+
type: SkipSelf
|
|
95
|
+
}] }, { type: i2.ConfigStateService }]; } });
|
|
96
96
|
function getLocalization(state, key, ...interpolateParams) {
|
|
97
97
|
if (!key)
|
|
98
98
|
key = '';
|
|
@@ -137,4 +137,4 @@ function getLocalization(state, key, ...interpolateParams) {
|
|
|
137
137
|
localization = '';
|
|
138
138
|
return localization || defaultValue || key;
|
|
139
139
|
}
|
|
140
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvc2VydmljZXMvbG9jYWxpemF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFFLElBQUksRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSS9ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0YsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7O0FBRzlELE1BQU0sT0FBTyxtQkFBbUI7SUFlOUIsWUFDVSxZQUFpQyxFQUNqQyxRQUFrQixFQUcxQixhQUFrQyxFQUMxQixXQUErQjtRQUwvQixpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFDakMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUlsQixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFwQmpDLGVBQVUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzdDLHFCQUFnQixHQUFHLElBQUksT0FBTyxFQUFVLENBQUM7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Q1gsSUFBSSxDQUFDLHNDQUFzQyxHQUFHLFVBQVUsQ0FBQyxDQUFDO1FBQzFELE9BQU8sWUFBWSxJQUFJLFNBQVMsQ0FBQztLQUNsQztJQUVELElBQUksWUFBWSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNyQyxJQUFJLE9BQU8sWUFBWSxLQUFLLFdBQVcsRUFBRTtRQUN2QyxPQUFPLFlBQVksSUFBSSxTQUFTLENBQUM7S0FDbEM7SUFFRCxpQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLENBQUM7SUFDdkUsSUFBSSxZQUFZO1FBQUUsWUFBWSxHQUFHLFdBQVcsQ0FBQyxZQUFZLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUU5RSxJQUFJLE9BQU8sWUFBWSxLQUFLLFFBQVE7UUFBRSxZQUFZLEdBQUcsRUFBRSxDQUFDO0lBRXhELE9BQU8sWUFBWSxJQUFJLFlBQVksSUFBSyxHQUFjLENBQUM7QUFDekQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlZ2lzdGVyTG9jYWxlRGF0YSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciwgaXNEZXZNb2RlLCBPcHRpb25hbCwgU2tpcFNlbGYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZyb20sIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgbWFwLCBtYXBUbywgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQUJQIH0gZnJvbSAnLi4vbW9kZWxzL2NvbW1vbic7XG5pbXBvcnQgeyBDb25maWcgfSBmcm9tICcuLi9tb2RlbHMvY29uZmlnJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uQ29uZmlndXJhdGlvbkR0byB9IGZyb20gJy4uL3Byb3h5L3ZvbG8vYWJwL2FzcC1uZXQtY29yZS9tdmMvYXBwbGljYXRpb24tY29uZmlndXJhdGlvbnMvbW9kZWxzJztcbmltcG9ydCB7IENPUkVfT1BUSU9OUyB9IGZyb20gJy4uL3Rva2Vucy9vcHRpb25zLnRva2VuJztcbmltcG9ydCB7IGNyZWF0ZUxvY2FsaXplciwgY3JlYXRlTG9jYWxpemVyV2l0aEZhbGxiYWNrIH0gZnJvbSAnLi4vdXRpbHMvbG9jYWxpemF0aW9uLXV0aWxzJztcbmltcG9ydCB7IGludGVycG9sYXRlIH0gZnJvbSAnLi4vdXRpbHMvc3RyaW5nLXV0aWxzJztcbmltcG9ydCB7IENvbmZpZ1N0YXRlU2VydmljZSB9IGZyb20gJy4vY29uZmlnLXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2Vzc2lvblN0YXRlU2VydmljZSB9IGZyb20gJy4vc2Vzc2lvbi1zdGF0ZS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBMb2NhbGl6YXRpb25TZXJ2aWNlIHtcbiAgcHJpdmF0ZSBsYXRlc3RMYW5nID0gdGhpcy5zZXNzaW9uU3RhdGUuZ2V0TGFuZ3VhZ2UoKTtcbiAgcHJpdmF0ZSBfbGFuZ3VhZ2VDaGFuZ2UkID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGN1cnJlbnRseSBzZWxlY3RlZCBsYW5ndWFnZVxuICAgKi9cbiAgZ2V0IGN1cnJlbnRMYW5nKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMubGF0ZXN0TGFuZyB8fCB0aGlzLnNlc3Npb25TdGF0ZS5nZXRMYW5ndWFnZSgpO1xuICB9XG5cbiAgZ2V0IGxhbmd1YWdlQ2hhbmdlJCgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLl9sYW5ndWFnZUNoYW5nZSQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHNlc3Npb25TdGF0ZTogU2Vzc2lvblN0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBAT3B0aW9uYWwoKVxuICAgIEBTa2lwU2VsZigpXG4gICAgb3RoZXJJbnN0YW5jZTogTG9jYWxpemF0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIGNvbmZpZ1N0YXRlOiBDb25maWdTdGF0ZVNlcnZpY2UsXG4gICkge1xuICAgIGlmIChvdGhlckluc3RhbmNlKSB0aHJvdyBuZXcgRXJyb3IoJ0xvY2FsaXphdGlvblNlcnZpY2Ugc2hvdWxkIGhhdmUgb25seSBvbmUgaW5zdGFuY2UuJyk7XG5cbiAgICB0aGlzLmxpc3RlblRvU2V0TGFuZ3VhZ2UoKTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuVG9TZXRMYW5ndWFnZSgpIHtcbiAgICB0aGlzLnNlc3Npb25TdGF0ZVxuICAgICAgLm9uTGFuZ3VhZ2VDaGFuZ2UkKClcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoXG4gICAgICAgICAgbGFuZyA9PiB0aGlzLmNvbmZpZ1N0YXRlLmdldERlZXAoJ2xvY2FsaXphdGlvbi5jdXJyZW50Q3VsdHVyZS5jdWx0dXJlTmFtZScpICE9PSBsYW5nLFxuICAgICAgICApLFxuICAgICAgICBzd2l0Y2hNYXAobGFuZyA9PiB0aGlzLmNvbmZpZ1N0YXRlLnJlZnJlc2hBcHBTdGF0ZSgpLnBpcGUobWFwVG8obGFuZykpKSxcbiAgICAgICAgc3dpdGNoTWFwKGxhbmcgPT4gZnJvbSh0aGlzLnJlZ2lzdGVyTG9jYWxlKGxhbmcpLnRoZW4oKCkgPT4gbGFuZykpKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUobGFuZyA9PiB0aGlzLl9sYW5ndWFnZUNoYW5nZSQubmV4dChsYW5nKSk7XG4gIH1cblxuICByZWdpc3RlckxvY2FsZShsb2NhbGU6IHN0cmluZykge1xuICAgIGNvbnN0IHsgcmVnaXN0ZXJMb2NhbGVGbiB9OiBBQlAuUm9vdCA9IHRoaXMuaW5qZWN0b3IuZ2V0KENPUkVfT1BUSU9OUyk7XG5cbiAgICByZXR1cm4gcmVnaXN0ZXJMb2NhbGVGbihsb2NhbGUpLnRoZW4obW9kdWxlID0+IHtcbiAgICAgIGlmIChtb2R1bGU/LmRlZmF1bHQpIHJlZ2lzdGVyTG9jYWxlRGF0YShtb2R1bGUuZGVmYXVsdCk7XG4gICAgICB0aGlzLmxhdGVzdExhbmcgPSBsb2NhbGU7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhbiBvYnNlcnZhYmxlIGxvY2FsaXplZCB0ZXh0IHdpdGggdGhlIGdpdmVuIGludGVycG9sYXRpb24gcGFyYW1ldGVycyBpbiBjdXJyZW50IGxhbmd1YWdlLlxuICAgKiBAcGFyYW0ga2V5IExvY2FsaXphdG9uIGtleSB0byByZXBsYWNlIHdpdGggbG9jYWxpemVkIHRleHRcbiAgICogQHBhcmFtIGludGVycG9sYXRlUGFyYW1zIFZhbHVlcyB0byBpbnRlcnBvbGF0ZVxuICAgKi9cbiAgZ2V0KFxuICAgIGtleTogc3RyaW5nIHwgQ29uZmlnLkxvY2FsaXphdGlvbldpdGhEZWZhdWx0LFxuICAgIC4uLmludGVycG9sYXRlUGFyYW1zOiBzdHJpbmdbXVxuICApOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZ1N0YXRlXG4gICAgICAuZ2V0QWxsJCgpXG4gICAgICAucGlwZShtYXAoc3RhdGUgPT4gZ2V0TG9jYWxpemF0aW9uKHN0YXRlLCBrZXksIC4uLmludGVycG9sYXRlUGFyYW1zKSkpO1xuICB9XG5cbiAgZ2V0UmVzb3VyY2UocmVzb3VyY2VOYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWdTdGF0ZS5nZXREZWVwKGBsb2NhbGl6YXRpb24udmFsdWVzLiR7cmVzb3VyY2VOYW1lfWApO1xuICB9XG5cbiAgZ2V0UmVzb3VyY2UkKHJlc291cmNlTmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnU3RhdGUuZ2V0RGVlcCQoYGxvY2FsaXphdGlvbi52YWx1ZXMuJHtyZXNvdXJjZU5hbWV9YCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBsb2NhbGl6ZWQgdGV4dCB3aXRoIHRoZSBnaXZlbiBpbnRlcnBvbGF0aW9uIHBhcmFtZXRlcnMgaW4gY3VycmVudCBsYW5ndWFnZS5cbiAgICogQHBhcmFtIGtleSBMb2NhbGl6YXRpb24ga2V5IHRvIHJlcGxhY2Ugd2l0aCBsb2NhbGl6ZWQgdGV4dFxuICAgKiBAcGFyYW0gaW50ZXJwb2xhdGVQYXJhbXMgVmFsdWVzIHRvIGludGVwb2xhdGUuXG4gICAqL1xuICBpbnN0YW50KGtleTogc3RyaW5nIHwgQ29uZmlnLkxvY2FsaXphdGlvbldpdGhEZWZhdWx0LCAuLi5pbnRlcnBvbGF0ZVBhcmFtczogc3RyaW5nW10pOiBzdHJpbmcge1xuICAgIHJldHVybiBnZXRMb2NhbGl6YXRpb24odGhpcy5jb25maWdTdGF0ZS5nZXRBbGwoKSwga2V5LCAuLi5pbnRlcnBvbGF0ZVBhcmFtcyk7XG4gIH1cblxuICBsb2NhbGl6ZShyZXNvdXJjZU5hbWU6IHN0cmluZywga2V5OiBzdHJpbmcsIGRlZmF1bHRWYWx1ZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5jb25maWdTdGF0ZS5nZXRPbmUkKCdsb2NhbGl6YXRpb24nKS5waXBlKFxuICAgICAgbWFwKGNyZWF0ZUxvY2FsaXplciksXG4gICAgICBtYXAobG9jYWxpemUgPT4gbG9jYWxpemUocmVzb3VyY2VOYW1lLCBrZXksIGRlZmF1bHRWYWx1ZSkpLFxuICAgICk7XG4gIH1cblxuICBsb2NhbGl6ZVN5bmMocmVzb3VyY2VOYW1lOiBzdHJpbmcsIGtleTogc3RyaW5nLCBkZWZhdWx0VmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgbG9jYWxpemF0aW9uID0gdGhpcy5jb25maWdTdGF0ZS5nZXRPbmUoJ2xvY2FsaXphdGlvbicpO1xuICAgIHJldHVybiBjcmVhdGVMb2NhbGl6ZXIobG9jYWxpemF0aW9uKShyZXNvdXJjZU5hbWUsIGtleSwgZGVmYXVsdFZhbHVlKTtcbiAgfVxuXG4gIGxvY2FsaXplV2l0aEZhbGxiYWNrKFxuICAgIHJlc291cmNlTmFtZXM6IHN0cmluZ1tdLFxuICAgIGtleXM6IHN0cmluZ1tdLFxuICAgIGRlZmF1bHRWYWx1ZTogc3RyaW5nLFxuICApOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZ1N0YXRlLmdldE9uZSQoJ2xvY2FsaXphdGlvbicpLnBpcGUoXG4gICAgICBtYXAoY3JlYXRlTG9jYWxpemVyV2l0aEZhbGxiYWNrKSxcbiAgICAgIG1hcChsb2NhbGl6ZVdpdGhGYWxsYmFjayA9PiBsb2NhbGl6ZVdpdGhGYWxsYmFjayhyZXNvdXJjZU5hbWVzLCBrZXlzLCBkZWZhdWx0VmFsdWUpKSxcbiAgICApO1xuICB9XG5cbiAgbG9jYWxpemVXaXRoRmFsbGJhY2tTeW5jKHJlc291cmNlTmFtZXM6IHN0cmluZ1tdLCBrZXlzOiBzdHJpbmdbXSwgZGVmYXVsdFZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IGxvY2FsaXphdGlvbiA9IHRoaXMuY29uZmlnU3RhdGUuZ2V0T25lKCdsb2NhbGl6YXRpb24nKTtcbiAgICByZXR1cm4gY3JlYXRlTG9jYWxpemVyV2l0aEZhbGxiYWNrKGxvY2FsaXphdGlvbikocmVzb3VyY2VOYW1lcywga2V5cywgZGVmYXVsdFZhbHVlKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRMb2NhbGl6YXRpb24oXG4gIHN0YXRlOiBBcHBsaWNhdGlvbkNvbmZpZ3VyYXRpb25EdG8sXG4gIGtleTogc3RyaW5nIHwgQ29uZmlnLkxvY2FsaXphdGlvbldpdGhEZWZhdWx0LFxuICAuLi5pbnRlcnBvbGF0ZVBhcmFtczogc3RyaW5nW11cbikge1xuICBpZiAoIWtleSkga2V5ID0gJyc7XG4gIGxldCBkZWZhdWx0VmFsdWU6IHN0cmluZztcblxuICBpZiAodHlwZW9mIGtleSAhPT0gJ3N0cmluZycpIHtcbiAgICBkZWZhdWx0VmFsdWUgPSBrZXkuZGVmYXVsdFZhbHVlO1xuICAgIGtleSA9IGtleS5rZXk7XG4gIH1cblxuICBjb25zdCBrZXlzID0ga2V5LnNwbGl0KCc6OicpIGFzIHN0cmluZ1tdO1xuICBjb25zdCB3YXJuID0gKG1lc3NhZ2U6IHN0cmluZykgPT4ge1xuICAgIGlmIChpc0Rldk1vZGUpIGNvbnNvbGUud2FybihtZXNzYWdlKTtcbiAgfTtcblxuICBpZiAoa2V5cy5sZW5ndGggPCAyKSB7XG4gICAgd2FybignVGhlIGxvY2FsaXphdGlvbiBzb3VyY2Ugc2VwYXJhdG9yICg6Oikgbm90IGZvdW5kLicpO1xuICAgIHJldHVybiBkZWZhdWx0VmFsdWUgfHwgKGtleSBhcyBzdHJpbmcpO1xuICB9XG4gIGlmICghc3RhdGUubG9jYWxpemF0aW9uKSByZXR1cm4gZGVmYXVsdFZhbHVlIHx8IGtleXNbMV07XG5cbiAgY29uc3Qgc291cmNlTmFtZSA9IGtleXNbMF0gfHwgc3RhdGUubG9jYWxpemF0aW9uLmRlZmF1bHRSZXNvdXJjZU5hbWU7XG4gIGNvbnN0IHNvdXJjZUtleSA9IGtleXNbMV07XG5cbiAgaWYgKHNvdXJjZU5hbWUgPT09ICdfJykge1xuICAgIHJldHVybiBkZWZhdWx0VmFsdWUgfHwgc291cmNlS2V5O1xuICB9XG5cbiAgaWYgKCFzb3VyY2VOYW1lKSB7XG4gICAgd2FybignTG9jYWxpemF0aW9uIHNvdXJjZSBuYW1lIGlzIG5vdCBzcGVjaWZpZWQgYW5kIHRoZSBkZWZhdWx0UmVzb3VyY2VOYW1lIHdhcyBub3QgZGVmaW5lZCEnKTtcblxuICAgIHJldHVybiBkZWZhdWx0VmFsdWUgfHwgc291cmNlS2V5O1xuICB9XG5cbiAgY29uc3Qgc291cmNlID0gc3RhdGUubG9jYWxpemF0aW9uLnZhbHVlc1tzb3VyY2VOYW1lXTtcbiAgaWYgKCFzb3VyY2UpIHtcbiAgICB3YXJuKCdDb3VsZCBub3QgZmluZCBsb2NhbGl6YXRpb24gc291cmNlOiAnICsgc291cmNlTmFtZSk7XG4gICAgcmV0dXJuIGRlZmF1bHRWYWx1ZSB8fCBzb3VyY2VLZXk7XG4gIH1cblxuICBsZXQgbG9jYWxpemF0aW9uID0gc291cmNlW3NvdXJjZUtleV07XG4gIGlmICh0eXBlb2YgbG9jYWxpemF0aW9uID09PSAndW5kZWZpbmVkJykge1xuICAgIHJldHVybiBkZWZhdWx0VmFsdWUgfHwgc291cmNlS2V5O1xuICB9XG5cbiAgaW50ZXJwb2xhdGVQYXJhbXMgPSBpbnRlcnBvbGF0ZVBhcmFtcy5maWx0ZXIocGFyYW1zID0+IHBhcmFtcyAhPSBudWxsKTtcbiAgaWYgKGxvY2FsaXphdGlvbikgbG9jYWxpemF0aW9uID0gaW50ZXJwb2xhdGUobG9jYWxpemF0aW9uLCBpbnRlcnBvbGF0ZVBhcmFtcyk7XG5cbiAgaWYgKHR5cGVvZiBsb2NhbGl6YXRpb24gIT09ICdzdHJpbmcnKSBsb2NhbGl6YXRpb24gPSAnJztcblxuICByZXR1cm4gbG9jYWxpemF0aW9uIHx8IGRlZmF1bHRWYWx1ZSB8fCAoa2V5IGFzIHN0cmluZyk7XG59XG4iXX0=
|
|
140
|
+
//# sourceMappingURL=localization.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"localization.service.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/services/localization.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { registerLocaleData } from '@angular/common';\nimport { Injectable, Injector, isDevMode, Optional, SkipSelf } from '@angular/core';\nimport { from, Observable, Subject } from 'rxjs';\nimport { filter, map, mapTo, switchMap } from 'rxjs/operators';\nimport { ABP } from '../models/common';\nimport { LocalizationWithDefault } from '../models/localization';\nimport { ApplicationConfigurationDto } from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/models';\nimport { CORE_OPTIONS } from '../tokens/options.token';\nimport { createLocalizer, createLocalizerWithFallback } from '../utils/localization-utils';\nimport { interpolate } from '../utils/string-utils';\nimport { ConfigStateService } from './config-state.service';\nimport { SessionStateService } from './session-state.service';\n\n@Injectable({ providedIn: 'root' })\nexport class LocalizationService {\n private latestLang = this.sessionState.getLanguage();\n private _languageChange$ = new Subject<string>();\n\n /**\n * Returns currently selected language\n */\n get currentLang(): string {\n return this.latestLang || this.sessionState.getLanguage();\n }\n\n get languageChange$(): Observable<string> {\n return this._languageChange$.asObservable();\n }\n\n constructor(\n private sessionState: SessionStateService,\n private injector: Injector,\n @Optional()\n @SkipSelf()\n otherInstance: LocalizationService,\n private configState: ConfigStateService,\n ) {\n if (otherInstance) throw new Error('LocalizationService should have only one instance.');\n\n this.listenToSetLanguage();\n }\n\n private listenToSetLanguage() {\n this.sessionState\n .onLanguageChange$()\n .pipe(\n filter(\n lang => this.configState.getDeep('localization.currentCulture.cultureName') !== lang,\n ),\n switchMap(lang => this.configState.refreshAppState().pipe(mapTo(lang))),\n switchMap(lang => from(this.registerLocale(lang).then(() => lang))),\n )\n .subscribe(lang => this._languageChange$.next(lang));\n }\n\n registerLocale(locale: string) {\n const { registerLocaleFn }: ABP.Root = this.injector.get(CORE_OPTIONS);\n\n return registerLocaleFn(locale).then(module => {\n if (module?.default) registerLocaleData(module.default);\n this.latestLang = locale;\n });\n }\n\n /**\n * Returns an observable localized text with the given interpolation parameters in current language.\n * @param key Localizaton key to replace with localized text\n * @param interpolateParams Values to interpolate\n */\n get(key: string | LocalizationWithDefault, ...interpolateParams: string[]): Observable<string> {\n return this.configState\n .getAll$()\n .pipe(map(state => getLocalization(state, key, ...interpolateParams)));\n }\n\n getResource(resourceName: string) {\n return this.configState.getDeep(`localization.values.${resourceName}`);\n }\n\n getResource$(resourceName: string) {\n return this.configState.getDeep$(`localization.values.${resourceName}`);\n }\n\n /**\n * Returns localized text with the given interpolation parameters in current language.\n * @param key Localization key to replace with localized text\n * @param interpolateParams Values to intepolate.\n */\n instant(key: string | LocalizationWithDefault, ...interpolateParams: string[]): string {\n return getLocalization(this.configState.getAll(), key, ...interpolateParams);\n }\n\n localize(resourceName: string, key: string, defaultValue: string): Observable<string> {\n return this.configState.getOne$('localization').pipe(\n map(createLocalizer),\n map(localize => localize(resourceName, key, defaultValue)),\n );\n }\n\n localizeSync(resourceName: string, key: string, defaultValue: string): string {\n const localization = this.configState.getOne('localization');\n return createLocalizer(localization)(resourceName, key, defaultValue);\n }\n\n localizeWithFallback(\n resourceNames: string[],\n keys: string[],\n defaultValue: string,\n ): Observable<string> {\n return this.configState.getOne$('localization').pipe(\n map(createLocalizerWithFallback),\n map(localizeWithFallback => localizeWithFallback(resourceNames, keys, defaultValue)),\n );\n }\n\n localizeWithFallbackSync(resourceNames: string[], keys: string[], defaultValue: string): string {\n const localization = this.configState.getOne('localization');\n return createLocalizerWithFallback(localization)(resourceNames, keys, defaultValue);\n }\n}\n\nfunction getLocalization(\n state: ApplicationConfigurationDto,\n key: string | LocalizationWithDefault,\n ...interpolateParams: string[]\n) {\n if (!key) key = '';\n let defaultValue: string;\n\n if (typeof key !== 'string') {\n defaultValue = key.defaultValue;\n key = key.key;\n }\n\n const keys = key.split('::') as string[];\n const warn = (message: string) => {\n if (isDevMode) console.warn(message);\n };\n\n if (keys.length < 2) {\n warn('The localization source separator (::) not found.');\n return defaultValue || (key as string);\n }\n if (!state.localization) return defaultValue || keys[1];\n\n const sourceName = keys[0] || state.localization.defaultResourceName;\n const sourceKey = keys[1];\n\n if (sourceName === '_') {\n return defaultValue || sourceKey;\n }\n\n if (!sourceName) {\n warn('Localization source name is not specified and the defaultResourceName was not defined!');\n\n return defaultValue || sourceKey;\n }\n\n const source = state.localization.values[sourceName];\n if (!source) {\n warn('Could not find localization source: ' + sourceName);\n return defaultValue || sourceKey;\n }\n\n let localization = source[sourceKey];\n if (typeof localization === 'undefined') {\n return defaultValue || sourceKey;\n }\n\n interpolateParams = interpolateParams.filter(params => params != null);\n if (localization) localization = interpolate(localization, interpolateParams);\n\n if (typeof localization !== 'string') localization = '';\n\n return localization || defaultValue || (key as string);\n}\n"]}
|
|
@@ -1,16 +1,15 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { RestService } from './rest.service';
|
|
1
|
+
import { Inject, Injectable } from '@angular/core';
|
|
2
|
+
import { map, switchMap } from 'rxjs/operators';
|
|
4
3
|
import { AbpTenantService } from '../proxy/pages/abp/multi-tenancy';
|
|
4
|
+
import { TENANT_KEY } from '../tokens/tenant-key.token';
|
|
5
5
|
import { ConfigStateService } from './config-state.service';
|
|
6
|
+
import { RestService } from './rest.service';
|
|
6
7
|
import { SessionStateService } from './session-state.service';
|
|
7
|
-
import { TENANT_KEY } from '../tokens/tenant-key.token';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
9
|
import * as i1 from "./rest.service";
|
|
10
10
|
import * as i2 from "./session-state.service";
|
|
11
|
-
import * as i3 from "../proxy/pages/abp/multi-tenancy
|
|
11
|
+
import * as i3 from "../proxy/pages/abp/multi-tenancy";
|
|
12
12
|
import * as i4 from "./config-state.service";
|
|
13
|
-
import * as i5 from "../tokens/tenant-key.token";
|
|
14
13
|
export class MultiTenancyService {
|
|
15
14
|
constructor(restService, sessionState, tenantService, configStateService, tenantKey) {
|
|
16
15
|
this.restService = restService;
|
|
@@ -26,22 +25,6 @@ export class MultiTenancyService {
|
|
|
26
25
|
return this.configStateService.refreshAppState().pipe(map(_ => tenant));
|
|
27
26
|
};
|
|
28
27
|
}
|
|
29
|
-
/**
|
|
30
|
-
* @deprecated Use AbpTenantService.findTenantByName method instead. To be deleted in v5.0.
|
|
31
|
-
*/
|
|
32
|
-
findTenantByName(name, headers) {
|
|
33
|
-
return this.restService.request({
|
|
34
|
-
url: `/api/abp/multi-tenancy/tenants/by-name/${name}`,
|
|
35
|
-
method: 'GET',
|
|
36
|
-
headers,
|
|
37
|
-
}, { apiName: this.apiName });
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* @deprecated Use AbpTenantService.findTenantById method instead. To be deleted in v5.0.
|
|
41
|
-
*/
|
|
42
|
-
findTenantById(id, headers) {
|
|
43
|
-
return this.restService.request({ url: `/api/abp/multi-tenancy/tenants/by-id/${id}`, method: 'GET', headers }, { apiName: this.apiName });
|
|
44
|
-
}
|
|
45
28
|
setTenantByName(tenantName) {
|
|
46
29
|
return this.tenantService
|
|
47
30
|
.findTenantByName(tenantName, { [this.tenantKey]: '' })
|
|
@@ -53,15 +36,13 @@ export class MultiTenancyService {
|
|
|
53
36
|
.pipe(switchMap(this.setTenantToState));
|
|
54
37
|
}
|
|
55
38
|
}
|
|
56
|
-
MultiTenancyService.ɵ
|
|
57
|
-
MultiTenancyService
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
];
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktdGVuYW5jeS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL3NlcnZpY2VzL211bHRpLXRlbmFuY3kuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBT2hELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7QUFHeEQsTUFBTSxPQUFPLG1CQUFtQjtJQVk5QixZQUNVLFdBQXdCLEVBQ3hCLFlBQWlDLEVBQ2pDLGFBQStCLEVBQy9CLGtCQUFzQyxFQUNuQixTQUFpQjtRQUpwQyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFDakMsa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBQy9CLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDbkIsY0FBUyxHQUFULFNBQVMsQ0FBUTtRQWhCOUMsaUJBQVksR0FBcUIsSUFBSSxDQUFDO1FBRXRDLHVCQUFrQixHQUFHLElBQUksQ0FBQztRQUUxQixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBRVIscUJBQWdCLEdBQUcsQ0FBQyxNQUEyQixFQUFFLEVBQUU7WUFDekQsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUMzRixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUMxRSxDQUFDLENBQUM7SUFRQyxDQUFDO0lBRUo7O09BRUc7SUFDSCxnQkFBZ0IsQ0FBQyxJQUFZLEVBQUUsT0FBK0I7UUFDNUQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FDN0I7WUFDRSxHQUFHLEVBQUUsMENBQTBDLElBQUksRUFBRTtZQUNyRCxNQUFNLEVBQUUsS0FBSztZQUNiLE9BQU87U0FDUixFQUNELEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FDMUIsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNILGNBQWMsQ0FBQyxFQUFVLEVBQUUsT0FBK0I7UUFDeEQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FDN0IsRUFBRSxHQUFHLEVBQUUsd0NBQXdDLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQzdFLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FDMUIsQ0FBQztJQUNKLENBQUM7SUFFRCxlQUFlLENBQUMsVUFBa0I7UUFDaEMsT0FBTyxJQUFJLENBQUMsYUFBYTthQUN0QixnQkFBZ0IsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQzthQUN0RCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELGFBQWEsQ0FBQyxRQUFnQjtRQUM1QixPQUFPLElBQUksQ0FBQyxhQUFhO2FBQ3RCLGNBQWMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQzthQUNsRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7SUFDNUMsQ0FBQzs7OztZQXZERixVQUFVLFNBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzs7WUFOekIsV0FBVztZQUdYLG1CQUFtQjtZQUZuQixnQkFBZ0I7WUFDaEIsa0JBQWtCO3lDQXNCdEIsTUFBTSxTQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHN3aXRjaE1hcCwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQUJQIH0gZnJvbSAnLi4vbW9kZWxzL2NvbW1vbic7XG5pbXBvcnQge1xuICBGaW5kVGVuYW50UmVzdWx0RHRvLFxuICBDdXJyZW50VGVuYW50RHRvLFxufSBmcm9tICcuLi9wcm94eS92b2xvL2FicC9hc3AtbmV0LWNvcmUvbXZjL211bHRpLXRlbmFuY3kvbW9kZWxzJztcbmltcG9ydCB7IFJlc3RTZXJ2aWNlIH0gZnJvbSAnLi9yZXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQWJwVGVuYW50U2VydmljZSB9IGZyb20gJy4uL3Byb3h5L3BhZ2VzL2FicC9tdWx0aS10ZW5hbmN5JztcbmltcG9ydCB7IENvbmZpZ1N0YXRlU2VydmljZSB9IGZyb20gJy4vY29uZmlnLXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2Vzc2lvblN0YXRlU2VydmljZSB9IGZyb20gJy4vc2Vzc2lvbi1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IFRFTkFOVF9LRVkgfSBmcm9tICcuLi90b2tlbnMvdGVuYW50LWtleS50b2tlbic7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgTXVsdGlUZW5hbmN5U2VydmljZSB7XG4gIGRvbWFpblRlbmFudDogQ3VycmVudFRlbmFudER0byA9IG51bGw7XG5cbiAgaXNUZW5hbnRCb3hWaXNpYmxlID0gdHJ1ZTtcblxuICBhcGlOYW1lID0gJ2FicCc7XG5cbiAgcHJpdmF0ZSBzZXRUZW5hbnRUb1N0YXRlID0gKHRlbmFudDogRmluZFRlbmFudFJlc3VsdER0bykgPT4ge1xuICAgIHRoaXMuc2Vzc2lvblN0YXRlLnNldFRlbmFudCh7IGlkOiB0ZW5hbnQudGVuYW50SWQsIG5hbWU6IHRlbmFudC5uYW1lLCBpc0F2YWlsYWJsZTogdHJ1ZSB9KTtcbiAgICByZXR1cm4gdGhpcy5jb25maWdTdGF0ZVNlcnZpY2UucmVmcmVzaEFwcFN0YXRlKCkucGlwZShtYXAoXyA9PiB0ZW5hbnQpKTtcbiAgfTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlc3RTZXJ2aWNlOiBSZXN0U2VydmljZSxcbiAgICBwcml2YXRlIHNlc3Npb25TdGF0ZTogU2Vzc2lvblN0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIHRlbmFudFNlcnZpY2U6IEFicFRlbmFudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb25maWdTdGF0ZVNlcnZpY2U6IENvbmZpZ1N0YXRlU2VydmljZSxcbiAgICBASW5qZWN0KFRFTkFOVF9LRVkpIHB1YmxpYyB0ZW5hbnRLZXk6IHN0cmluZyxcbiAgKSB7fVxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgQWJwVGVuYW50U2VydmljZS5maW5kVGVuYW50QnlOYW1lIG1ldGhvZCBpbnN0ZWFkLiBUbyBiZSBkZWxldGVkIGluIHY1LjAuXG4gICAqL1xuICBmaW5kVGVuYW50QnlOYW1lKG5hbWU6IHN0cmluZywgaGVhZGVyczogQUJQLkRpY3Rpb25hcnk8c3RyaW5nPik6IE9ic2VydmFibGU8RmluZFRlbmFudFJlc3VsdER0bz4ge1xuICAgIHJldHVybiB0aGlzLnJlc3RTZXJ2aWNlLnJlcXVlc3QoXG4gICAgICB7XG4gICAgICAgIHVybDogYC9hcGkvYWJwL211bHRpLXRlbmFuY3kvdGVuYW50cy9ieS1uYW1lLyR7bmFtZX1gLFxuICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgICBoZWFkZXJzLFxuICAgICAgfSxcbiAgICAgIHsgYXBpTmFtZTogdGhpcy5hcGlOYW1lIH0sXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgQWJwVGVuYW50U2VydmljZS5maW5kVGVuYW50QnlJZCBtZXRob2QgaW5zdGVhZC4gVG8gYmUgZGVsZXRlZCBpbiB2NS4wLlxuICAgKi9cbiAgZmluZFRlbmFudEJ5SWQoaWQ6IHN0cmluZywgaGVhZGVyczogQUJQLkRpY3Rpb25hcnk8c3RyaW5nPik6IE9ic2VydmFibGU8RmluZFRlbmFudFJlc3VsdER0bz4ge1xuICAgIHJldHVybiB0aGlzLnJlc3RTZXJ2aWNlLnJlcXVlc3QoXG4gICAgICB7IHVybDogYC9hcGkvYWJwL211bHRpLXRlbmFuY3kvdGVuYW50cy9ieS1pZC8ke2lkfWAsIG1ldGhvZDogJ0dFVCcsIGhlYWRlcnMgfSxcbiAgICAgIHsgYXBpTmFtZTogdGhpcy5hcGlOYW1lIH0sXG4gICAgKTtcbiAgfVxuXG4gIHNldFRlbmFudEJ5TmFtZSh0ZW5hbnROYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy50ZW5hbnRTZXJ2aWNlXG4gICAgICAuZmluZFRlbmFudEJ5TmFtZSh0ZW5hbnROYW1lLCB7IFt0aGlzLnRlbmFudEtleV06ICcnIH0pXG4gICAgICAucGlwZShzd2l0Y2hNYXAodGhpcy5zZXRUZW5hbnRUb1N0YXRlKSk7XG4gIH1cblxuICBzZXRUZW5hbnRCeUlkKHRlbmFudElkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy50ZW5hbnRTZXJ2aWNlXG4gICAgICAuZmluZFRlbmFudEJ5SWQodGVuYW50SWQsIHsgW3RoaXMudGVuYW50S2V5XTogJycgfSlcbiAgICAgIC5waXBlKHN3aXRjaE1hcCh0aGlzLnNldFRlbmFudFRvU3RhdGUpKTtcbiAgfVxufVxuIl19
|
|
39
|
+
MultiTenancyService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: MultiTenancyService, deps: [{ token: i1.RestService }, { token: i2.SessionStateService }, { token: i3.AbpTenantService }, { token: i4.ConfigStateService }, { token: TENANT_KEY }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
40
|
+
MultiTenancyService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: MultiTenancyService, providedIn: 'root' });
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: MultiTenancyService, decorators: [{
|
|
42
|
+
type: Injectable,
|
|
43
|
+
args: [{ providedIn: 'root' }]
|
|
44
|
+
}], ctorParameters: function () { return [{ type: i1.RestService }, { type: i2.SessionStateService }, { type: i3.AbpTenantService }, { type: i4.ConfigStateService }, { type: undefined, decorators: [{
|
|
45
|
+
type: Inject,
|
|
46
|
+
args: [TENANT_KEY]
|
|
47
|
+
}] }]; } });
|
|
48
|
+
//# sourceMappingURL=multi-tenancy.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multi-tenancy.service.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/services/multi-tenancy.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAKpE,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;;;;;;AAG9D,MAAM,OAAO,mBAAmB;IAY9B,YACU,WAAwB,EACxB,YAAiC,EACjC,aAA+B,EAC/B,kBAAsC,EACnB,SAAiB;QAJpC,gBAAW,GAAX,WAAW,CAAa;QACxB,iBAAY,GAAZ,YAAY,CAAqB;QACjC,kBAAa,GAAb,aAAa,CAAkB;QAC/B,uBAAkB,GAAlB,kBAAkB,CAAoB;QACnB,cAAS,GAAT,SAAS,CAAQ;QAhB9C,iBAAY,GAAqB,IAAI,CAAC;QAEtC,uBAAkB,GAAG,IAAI,CAAC;QAE1B,YAAO,GAAG,KAAK,CAAC;QAER,qBAAgB,GAAG,CAAC,MAA2B,EAAE,EAAE;YACzD,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3F,OAAO,IAAI,CAAC,kBAAkB,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;QAC1E,CAAC,CAAC;IAQC,CAAC;IAEJ,eAAe,CAAC,UAAkB;QAChC,OAAO,IAAI,CAAC,aAAa;aACtB,gBAAgB,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC;aACtD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,aAAa,CAAC,QAAgB;QAC5B,OAAO,IAAI,CAAC,aAAa;aACtB,cAAc,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC;aAClD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC5C,CAAC;;gHA9BU,mBAAmB,kJAiBpB,UAAU;oHAjBT,mBAAmB,cADN,MAAM;2FACnB,mBAAmB;kBAD/B,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;0BAkB7B,MAAM;2BAAC,UAAU","sourcesContent":["import { Inject, Injectable } from '@angular/core';\nimport { map, switchMap } from 'rxjs/operators';\nimport { AbpTenantService } from '../proxy/pages/abp/multi-tenancy';\nimport {\n CurrentTenantDto,\n FindTenantResultDto,\n} from '../proxy/volo/abp/asp-net-core/mvc/multi-tenancy/models';\nimport { TENANT_KEY } from '../tokens/tenant-key.token';\nimport { ConfigStateService } from './config-state.service';\nimport { RestService } from './rest.service';\nimport { SessionStateService } from './session-state.service';\n\n@Injectable({ providedIn: 'root' })\nexport class MultiTenancyService {\n domainTenant: CurrentTenantDto = null;\n\n isTenantBoxVisible = true;\n\n apiName = 'abp';\n\n private setTenantToState = (tenant: FindTenantResultDto) => {\n this.sessionState.setTenant({ id: tenant.tenantId, name: tenant.name, isAvailable: true });\n return this.configStateService.refreshAppState().pipe(map(_ => tenant));\n };\n\n constructor(\n private restService: RestService,\n private sessionState: SessionStateService,\n private tenantService: AbpTenantService,\n private configStateService: ConfigStateService,\n @Inject(TENANT_KEY) public tenantKey: string,\n ) {}\n\n setTenantByName(tenantName: string) {\n return this.tenantService\n .findTenantByName(tenantName, { [this.tenantKey]: '' })\n .pipe(switchMap(this.setTenantToState));\n }\n\n setTenantById(tenantId: string) {\n return this.tenantService\n .findTenantById(tenantId, { [this.tenantKey]: '' })\n .pipe(switchMap(this.setTenantToState));\n }\n}\n"]}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import { map } from 'rxjs/operators';
|
|
3
|
-
import snq from 'snq';
|
|
4
3
|
import { ConfigStateService } from './config-state.service';
|
|
5
4
|
import * as i0 from "@angular/core";
|
|
6
5
|
import * as i1 from "./config-state.service";
|
|
@@ -49,17 +48,17 @@ export class PermissionService {
|
|
|
49
48
|
return this.mapToPolicies(this.configState.getAll());
|
|
50
49
|
}
|
|
51
50
|
mapToPolicies(applicationConfiguration) {
|
|
52
|
-
|
|
51
|
+
var _a;
|
|
52
|
+
return ((_a = applicationConfiguration === null || applicationConfiguration === void 0 ? void 0 : applicationConfiguration.auth) === null || _a === void 0 ? void 0 : _a.grantedPolicies) || {};
|
|
53
53
|
}
|
|
54
54
|
getPolicy(key, grantedPolicies) {
|
|
55
|
-
return
|
|
55
|
+
return grantedPolicies[key] || false;
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
|
-
PermissionService.ɵ
|
|
59
|
-
PermissionService
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL3NlcnZpY2VzL3Blcm1pc3Npb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEdBQUcsTUFBTSxLQUFLLENBQUM7QUFFdEIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7OztBQUk1RCxNQUFNLE9BQU8saUJBQWlCO0lBQzVCLFlBQXNCLFdBQStCO1FBQS9CLGdCQUFXLEdBQVgsV0FBVyxDQUFvQjtJQUFHLENBQUM7SUFFekQsaUJBQWlCLENBQUMsR0FBVztRQUMzQixPQUFPLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQzFCLEdBQUcsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQ25FLENBQUM7SUFDSixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsR0FBVztRQUMxQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEMsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsbUJBQW1CLENBQTBCLEtBQWU7UUFDMUQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BDLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FDakIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLFFBQVEsQ0FBQyxDQUNwRixDQUFDO0lBQ0osQ0FBQztJQUVELG9CQUFvQixDQUEwQixLQUFlO1FBQzNELE9BQU8sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLElBQUksQ0FDMUIsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQ2IsS0FBSyxDQUFDLE1BQU0sQ0FDVixJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsUUFBUSxDQUFDLENBQ3BGLENBQ0YsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVTLGVBQWUsQ0FBQyxHQUFXLEVBQUUsZUFBd0M7UUFDN0UsSUFBSSxDQUFDLEdBQUc7WUFBRSxPQUFPLElBQUksQ0FBQztRQUV0QixNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUM7UUFDekIsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBRXhCLHdDQUF3QztRQUN4QyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDdEIsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7WUFFN0MsSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUM7Z0JBQUUsT0FBTyxLQUFLLENBQUM7WUFFbEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsZUFBZSxDQUFDLENBQUMsQ0FBQztTQUNsRTthQUFNLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUM5QixNQUFNLElBQUksR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUU3QyxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQztnQkFBRSxPQUFPLEtBQUssQ0FBQztZQUVsQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUFDO1NBQ25FO1FBRUQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxlQUFlLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRVMsU0FBUztRQUNqQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRVMsV0FBVztRQUNuQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFUyxhQUFhLENBQUMsd0JBQXFEO1FBQzNFLE9BQU8sR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVTLFNBQVMsQ0FBQyxHQUFXLEVBQUUsZUFBd0M7UUFDdkUsT0FBTyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2hELENBQUM7Ozs7WUF0RUYsVUFBVSxTQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7O1lBSHpCLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCBzbnEgZnJvbSAnc25xJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uQ29uZmlndXJhdGlvbkR0byB9IGZyb20gJy4uL3Byb3h5L3ZvbG8vYWJwL2FzcC1uZXQtY29yZS9tdmMvYXBwbGljYXRpb24tY29uZmlndXJhdGlvbnMvbW9kZWxzJztcbmltcG9ydCB7IENvbmZpZ1N0YXRlU2VydmljZSB9IGZyb20gJy4vY29uZmlnLXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQUJQIH0gZnJvbSAnLi4vbW9kZWxzL2NvbW1vbic7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgUGVybWlzc2lvblNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgY29uZmlnU3RhdGU6IENvbmZpZ1N0YXRlU2VydmljZSkge31cblxuICBnZXRHcmFudGVkUG9saWN5JChrZXk6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmdldFN0cmVhbSgpLnBpcGUoXG4gICAgICBtYXAoZ3JhbnRlZFBvbGljaWVzID0+IHRoaXMuaXNQb2xpY3lHcmFudGVkKGtleSwgZ3JhbnRlZFBvbGljaWVzKSksXG4gICAgKTtcbiAgfVxuXG4gIGdldEdyYW50ZWRQb2xpY3koa2V5OiBzdHJpbmcpIHtcbiAgICBjb25zdCBwb2xpY2llcyA9IHRoaXMuZ2V0U25hcHNob3QoKTtcbiAgICByZXR1cm4gdGhpcy5pc1BvbGljeUdyYW50ZWQoa2V5LCBwb2xpY2llcyk7XG4gIH1cblxuICBmaWx0ZXJJdGVtc0J5UG9saWN5PFQgZXh0ZW5kcyBBQlAuSGFzUG9saWN5PihpdGVtczogQXJyYXk8VD4pIHtcbiAgICBjb25zdCBwb2xpY2llcyA9IHRoaXMuZ2V0U25hcHNob3QoKTtcbiAgICByZXR1cm4gaXRlbXMuZmlsdGVyKFxuICAgICAgaXRlbSA9PiAhaXRlbS5yZXF1aXJlZFBvbGljeSB8fCB0aGlzLmlzUG9saWN5R3JhbnRlZChpdGVtLnJlcXVpcmVkUG9saWN5LCBwb2xpY2llcyksXG4gICAgKTtcbiAgfVxuXG4gIGZpbHRlckl0ZW1zQnlQb2xpY3kkPFQgZXh0ZW5kcyBBQlAuSGFzUG9saWN5PihpdGVtczogQXJyYXk8VD4pIHtcbiAgICByZXR1cm4gdGhpcy5nZXRTdHJlYW0oKS5waXBlKFxuICAgICAgbWFwKHBvbGljaWVzID0+XG4gICAgICAgIGl0ZW1zLmZpbHRlcihcbiAgICAgICAgICBpdGVtID0+ICFpdGVtLnJlcXVpcmVkUG9saWN5IHx8IHRoaXMuaXNQb2xpY3lHcmFudGVkKGl0ZW0ucmVxdWlyZWRQb2xpY3ksIHBvbGljaWVzKSxcbiAgICAgICAgKSxcbiAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBpc1BvbGljeUdyYW50ZWQoa2V5OiBzdHJpbmcsIGdyYW50ZWRQb2xpY2llczogUmVjb3JkPHN0cmluZywgYm9vbGVhbj4pIHtcbiAgICBpZiAoIWtleSkgcmV0dXJuIHRydWU7XG5cbiAgICBjb25zdCBvclJlZ2V4cCA9IC9cXHxcXHwvZztcbiAgICBjb25zdCBhbmRSZWdleHAgPSAvJiYvZztcblxuICAgIC8vIFRPRE86IEFsbG93IGNvbWJpbmF0aW9uIG9mIEFORHMgJiBPUnNcbiAgICBpZiAob3JSZWdleHAudGVzdChrZXkpKSB7XG4gICAgICBjb25zdCBrZXlzID0ga2V5LnNwbGl0KCd8fCcpLmZpbHRlcihCb29sZWFuKTtcblxuICAgICAgaWYgKGtleXMubGVuZ3RoIDwgMikgcmV0dXJuIGZhbHNlO1xuXG4gICAgICByZXR1cm4ga2V5cy5zb21lKGsgPT4gdGhpcy5nZXRQb2xpY3koay50cmltKCksIGdyYW50ZWRQb2xpY2llcykpO1xuICAgIH0gZWxzZSBpZiAoYW5kUmVnZXhwLnRlc3Qoa2V5KSkge1xuICAgICAgY29uc3Qga2V5cyA9IGtleS5zcGxpdCgnJiYnKS5maWx0ZXIoQm9vbGVhbik7XG5cbiAgICAgIGlmIChrZXlzLmxlbmd0aCA8IDIpIHJldHVybiBmYWxzZTtcblxuICAgICAgcmV0dXJuIGtleXMuZXZlcnkoayA9PiB0aGlzLmdldFBvbGljeShrLnRyaW0oKSwgZ3JhbnRlZFBvbGljaWVzKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZ2V0UG9saWN5KGtleSwgZ3JhbnRlZFBvbGljaWVzKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRTdHJlYW0oKSB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnU3RhdGUuZ2V0QWxsJCgpLnBpcGUobWFwKHRoaXMubWFwVG9Qb2xpY2llcykpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldFNuYXBzaG90KCkge1xuICAgIHJldHVybiB0aGlzLm1hcFRvUG9saWNpZXModGhpcy5jb25maWdTdGF0ZS5nZXRBbGwoKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgbWFwVG9Qb2xpY2llcyhhcHBsaWNhdGlvbkNvbmZpZ3VyYXRpb246IEFwcGxpY2F0aW9uQ29uZmlndXJhdGlvbkR0bykge1xuICAgIHJldHVybiBzbnEoKCkgPT4gYXBwbGljYXRpb25Db25maWd1cmF0aW9uLmF1dGguZ3JhbnRlZFBvbGljaWVzLCB7fSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0UG9saWN5KGtleTogc3RyaW5nLCBncmFudGVkUG9saWNpZXM6IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+KSB7XG4gICAgcmV0dXJuIHNucSgoKSA9PiBncmFudGVkUG9saWNpZXNba2V5XSwgZmFsc2UpO1xuICB9XG59XG4iXX0=
|
|
58
|
+
PermissionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: PermissionService, deps: [{ token: i1.ConfigStateService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
59
|
+
PermissionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: PermissionService, providedIn: 'root' });
|
|
60
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: PermissionService, decorators: [{
|
|
61
|
+
type: Injectable,
|
|
62
|
+
args: [{ providedIn: 'root' }]
|
|
63
|
+
}], ctorParameters: function () { return [{ type: i1.ConfigStateService }]; } });
|
|
64
|
+
//# sourceMappingURL=permission.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permission.service.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/services/permission.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { Injectable } from '@angular/core';\nimport { map } from 'rxjs/operators';\nimport { ABP } from '../models/common';\nimport { ApplicationConfigurationDto } from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/models';\nimport { ConfigStateService } from './config-state.service';\n\n@Injectable({ providedIn: 'root' })\nexport class PermissionService {\n constructor(protected configState: ConfigStateService) {}\n\n getGrantedPolicy$(key: string) {\n return this.getStream().pipe(\n map(grantedPolicies => this.isPolicyGranted(key, grantedPolicies)),\n );\n }\n\n getGrantedPolicy(key: string) {\n const policies = this.getSnapshot();\n return this.isPolicyGranted(key, policies);\n }\n\n filterItemsByPolicy<T extends ABP.HasPolicy>(items: Array<T>) {\n const policies = this.getSnapshot();\n return items.filter(\n item => !item.requiredPolicy || this.isPolicyGranted(item.requiredPolicy, policies),\n );\n }\n\n filterItemsByPolicy$<T extends ABP.HasPolicy>(items: Array<T>) {\n return this.getStream().pipe(\n map(policies =>\n items.filter(\n item => !item.requiredPolicy || this.isPolicyGranted(item.requiredPolicy, policies),\n ),\n ),\n );\n }\n\n protected isPolicyGranted(key: string, grantedPolicies: Record<string, boolean>) {\n if (!key) return true;\n\n const orRegexp = /\\|\\|/g;\n const andRegexp = /&&/g;\n\n // TODO: Allow combination of ANDs & ORs\n if (orRegexp.test(key)) {\n const keys = key.split('||').filter(Boolean);\n\n if (keys.length < 2) return false;\n\n return keys.some(k => this.getPolicy(k.trim(), grantedPolicies));\n } else if (andRegexp.test(key)) {\n const keys = key.split('&&').filter(Boolean);\n\n if (keys.length < 2) return false;\n\n return keys.every(k => this.getPolicy(k.trim(), grantedPolicies));\n }\n\n return this.getPolicy(key, grantedPolicies);\n }\n\n protected getStream() {\n return this.configState.getAll$().pipe(map(this.mapToPolicies));\n }\n\n protected getSnapshot() {\n return this.mapToPolicies(this.configState.getAll());\n }\n\n protected mapToPolicies(applicationConfiguration: ApplicationConfigurationDto) {\n return applicationConfiguration?.auth?.grantedPolicies || {};\n }\n\n protected getPolicy(key: string, grantedPolicies: Record<string, boolean>) {\n return grantedPolicies[key] || false;\n }\n}\n"]}
|
|
@@ -40,12 +40,10 @@ export class ReplaceableComponentsService {
|
|
|
40
40
|
return this.replaceableComponents$.pipe(map(components => components.find(component => component.key === replaceableComponentKey)));
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
|
-
ReplaceableComponentsService.ɵ
|
|
44
|
-
ReplaceableComponentsService
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
];
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwbGFjZWFibGUtY29tcG9uZW50cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL3NlcnZpY2VzL3JlcGxhY2VhYmxlLWNvbXBvbmVudHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFekMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQUduRCxNQUFNLE9BQU8sNEJBQTRCO0lBZXZDLFlBQW9CLE1BQWMsRUFBVSxNQUFjO1FBQXRDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ3hELElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQWRELElBQUksc0JBQXNCO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsSUFBSSxxQkFBcUI7UUFDdkIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFNRCxHQUFHLENBQUMsb0JBQWdFLEVBQUUsTUFBZ0I7UUFDcEYsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVwRCxNQUFNLEtBQUssR0FBRyxxQkFBcUIsQ0FBQyxTQUFTLENBQzNDLFNBQVMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsS0FBSyxvQkFBb0IsQ0FBQyxHQUFHLENBQ3hELENBQUM7UUFFRixJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsRUFBRTtZQUNkLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxHQUFHLG9CQUFvQixDQUFDO1NBQ3JEO2FBQU07WUFDTCxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQztTQUNsRDtRQUVELElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFFdEMsSUFBSSxNQUFNO1lBQUUsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxHQUFHLENBQUMsdUJBQStCO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEtBQUssdUJBQXVCLENBQUMsQ0FBQztJQUNqRyxDQUFDO0lBRUQsSUFBSSxDQUFDLHVCQUErQjtRQUNsQyxPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQ3JDLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxLQUFLLHVCQUF1QixDQUFDLENBQUMsQ0FDM0YsQ0FBQztJQUNKLENBQUM7Ozs7WUE5Q0YsVUFBVSxTQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7O1lBUmIsTUFBTTtZQUNsQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgUmVwbGFjZWFibGVDb21wb25lbnRzIH0gZnJvbSAnLi4vbW9kZWxzL3JlcGxhY2VhYmxlLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgSW50ZXJuYWxTdG9yZSB9IGZyb20gJy4uL3V0aWxzL2ludGVybmFsLXN0b3JlLXV0aWxzJztcbmltcG9ydCB7IHJlbG9hZFJvdXRlIH0gZnJvbSAnLi4vdXRpbHMvcm91dGUtdXRpbHMnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFJlcGxhY2VhYmxlQ29tcG9uZW50c1NlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IHN0b3JlOiBJbnRlcm5hbFN0b3JlPFJlcGxhY2VhYmxlQ29tcG9uZW50cy5SZXBsYWNlYWJsZUNvbXBvbmVudFtdPjtcblxuICBnZXQgcmVwbGFjZWFibGVDb21wb25lbnRzJCgpOiBPYnNlcnZhYmxlPFJlcGxhY2VhYmxlQ29tcG9uZW50cy5SZXBsYWNlYWJsZUNvbXBvbmVudFtdPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2xpY2VTdGF0ZShzdGF0ZSA9PiBzdGF0ZSk7XG4gIH1cblxuICBnZXQgcmVwbGFjZWFibGVDb21wb25lbnRzKCk6IFJlcGxhY2VhYmxlQ29tcG9uZW50cy5SZXBsYWNlYWJsZUNvbXBvbmVudFtdIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zdGF0ZTtcbiAgfVxuXG4gIGdldCBvblVwZGF0ZSQoKTogT2JzZXJ2YWJsZTxSZXBsYWNlYWJsZUNvbXBvbmVudHMuUmVwbGFjZWFibGVDb21wb25lbnRbXT4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnNsaWNlVXBkYXRlKHN0YXRlID0+IHN0YXRlKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbmdab25lOiBOZ1pvbmUsIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIpIHtcbiAgICB0aGlzLnN0b3JlID0gbmV3IEludGVybmFsU3RvcmUoW10pO1xuICB9XG5cbiAgYWRkKHJlcGxhY2VhYmxlQ29tcG9uZW50OiBSZXBsYWNlYWJsZUNvbXBvbmVudHMuUmVwbGFjZWFibGVDb21wb25lbnQsIHJlbG9hZD86IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBjb25zdCByZXBsYWNlYWJsZUNvbXBvbmVudHMgPSBbLi4udGhpcy5zdG9yZS5zdGF0ZV07XG5cbiAgICBjb25zdCBpbmRleCA9IHJlcGxhY2VhYmxlQ29tcG9uZW50cy5maW5kSW5kZXgoXG4gICAgICBjb21wb25lbnQgPT4gY29tcG9uZW50LmtleSA9PT0gcmVwbGFjZWFibGVDb21wb25lbnQua2V5LFxuICAgICk7XG5cbiAgICBpZiAoaW5kZXggPiAtMSkge1xuICAgICAgcmVwbGFjZWFibGVDb21wb25lbnRzW2luZGV4XSA9IHJlcGxhY2VhYmxlQ29tcG9uZW50O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXBsYWNlYWJsZUNvbXBvbmVudHMucHVzaChyZXBsYWNlYWJsZUNvbXBvbmVudCk7XG4gICAgfVxuXG4gICAgdGhpcy5zdG9yZS5zZXQocmVwbGFjZWFibGVDb21wb25lbnRzKTtcblxuICAgIGlmIChyZWxvYWQpIHJlbG9hZFJvdXRlKHRoaXMucm91dGVyLCB0aGlzLm5nWm9uZSk7XG4gIH1cblxuICBnZXQocmVwbGFjZWFibGVDb21wb25lbnRLZXk6IHN0cmluZyk6IFJlcGxhY2VhYmxlQ29tcG9uZW50cy5SZXBsYWNlYWJsZUNvbXBvbmVudCB7XG4gICAgcmV0dXJuIHRoaXMucmVwbGFjZWFibGVDb21wb25lbnRzLmZpbmQoY29tcG9uZW50ID0+IGNvbXBvbmVudC5rZXkgPT09IHJlcGxhY2VhYmxlQ29tcG9uZW50S2V5KTtcbiAgfVxuXG4gIGdldCQocmVwbGFjZWFibGVDb21wb25lbnRLZXk6IHN0cmluZyk6IE9ic2VydmFibGU8UmVwbGFjZWFibGVDb21wb25lbnRzLlJlcGxhY2VhYmxlQ29tcG9uZW50PiB7XG4gICAgcmV0dXJuIHRoaXMucmVwbGFjZWFibGVDb21wb25lbnRzJC5waXBlKFxuICAgICAgbWFwKGNvbXBvbmVudHMgPT4gY29tcG9uZW50cy5maW5kKGNvbXBvbmVudCA9PiBjb21wb25lbnQua2V5ID09PSByZXBsYWNlYWJsZUNvbXBvbmVudEtleSkpLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
43
|
+
ReplaceableComponentsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: ReplaceableComponentsService, deps: [{ token: i0.NgZone }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
44
|
+
ReplaceableComponentsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: ReplaceableComponentsService, providedIn: 'root' });
|
|
45
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: ReplaceableComponentsService, decorators: [{
|
|
46
|
+
type: Injectable,
|
|
47
|
+
args: [{ providedIn: 'root' }]
|
|
48
|
+
}], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i1.Router }]; } });
|
|
49
|
+
//# sourceMappingURL=replaceable-components.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"replaceable-components.service.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/services/replaceable-components.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAErC,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;;;AAGnD,MAAM,OAAO,4BAA4B;IAevC,YAAoB,MAAc,EAAU,MAAc;QAAtC,WAAM,GAAN,MAAM,CAAQ;QAAU,WAAM,GAAN,MAAM,CAAQ;QACxD,IAAI,CAAC,KAAK,GAAG,IAAI,aAAa,CAAC,EAAE,CAAC,CAAC;IACrC,CAAC;IAdD,IAAI,sBAAsB;QACxB,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,qBAAqB;QACvB,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;IAC1B,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;IAMD,GAAG,CAAC,oBAAgE,EAAE,MAAgB;QACpF,MAAM,qBAAqB,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEpD,MAAM,KAAK,GAAG,qBAAqB,CAAC,SAAS,CAC3C,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,KAAK,oBAAoB,CAAC,GAAG,CACxD,CAAC;QAEF,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;YACd,qBAAqB,CAAC,KAAK,CAAC,GAAG,oBAAoB,CAAC;SACrD;aAAM;YACL,qBAAqB,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;SAClD;QAED,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QAEtC,IAAI,MAAM;YAAE,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACpD,CAAC;IAED,GAAG,CAAC,uBAA+B;QACjC,OAAO,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,KAAK,uBAAuB,CAAC,CAAC;IACjG,CAAC;IAED,IAAI,CAAC,uBAA+B;QAClC,OAAO,IAAI,CAAC,sBAAsB,CAAC,IAAI,CACrC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,KAAK,uBAAuB,CAAC,CAAC,CAC3F,CAAC;IACJ,CAAC;;yHA7CU,4BAA4B;6HAA5B,4BAA4B,cADf,MAAM;2FACnB,4BAA4B;kBADxC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE","sourcesContent":["import { Injectable, NgZone } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { ReplaceableComponents } from '../models/replaceable-components';\nimport { InternalStore } from '../utils/internal-store-utils';\nimport { reloadRoute } from '../utils/route-utils';\n\n@Injectable({ providedIn: 'root' })\nexport class ReplaceableComponentsService {\n private readonly store: InternalStore<ReplaceableComponents.ReplaceableComponent[]>;\n\n get replaceableComponents$(): Observable<ReplaceableComponents.ReplaceableComponent[]> {\n return this.store.sliceState(state => state);\n }\n\n get replaceableComponents(): ReplaceableComponents.ReplaceableComponent[] {\n return this.store.state;\n }\n\n get onUpdate$(): Observable<ReplaceableComponents.ReplaceableComponent[]> {\n return this.store.sliceUpdate(state => state);\n }\n\n constructor(private ngZone: NgZone, private router: Router) {\n this.store = new InternalStore([]);\n }\n\n add(replaceableComponent: ReplaceableComponents.ReplaceableComponent, reload?: boolean): void {\n const replaceableComponents = [...this.store.state];\n\n const index = replaceableComponents.findIndex(\n component => component.key === replaceableComponent.key,\n );\n\n if (index > -1) {\n replaceableComponents[index] = replaceableComponent;\n } else {\n replaceableComponents.push(replaceableComponent);\n }\n\n this.store.set(replaceableComponents);\n\n if (reload) reloadRoute(this.router, this.ngZone);\n }\n\n get(replaceableComponentKey: string): ReplaceableComponents.ReplaceableComponent {\n return this.replaceableComponents.find(component => component.key === replaceableComponentKey);\n }\n\n get$(replaceableComponentKey: string): Observable<ReplaceableComponents.ReplaceableComponent> {\n return this.replaceableComponents$.pipe(\n map(components => components.find(component => component.key === replaceableComponentKey)),\n );\n }\n}\n"]}
|
|
@@ -28,10 +28,12 @@ export class ResourceWaitService {
|
|
|
28
28
|
this.store.patch({ resources });
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
|
-
ResourceWaitService.ɵ
|
|
32
|
-
ResourceWaitService
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
31
|
+
ResourceWaitService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: ResourceWaitService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
32
|
+
ResourceWaitService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: ResourceWaitService, providedIn: 'root' });
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: ResourceWaitService, decorators: [{
|
|
34
|
+
type: Injectable,
|
|
35
|
+
args: [{
|
|
36
|
+
providedIn: 'root',
|
|
37
|
+
}]
|
|
38
|
+
}] });
|
|
39
|
+
//# sourceMappingURL=resource-wait.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resource-wait.service.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/services/resource-wait.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;;AAS9D,MAAM,OAAO,mBAAmB;IAHhC;QAIU,UAAK,GAAG,IAAI,aAAa,CAAoB,EAAE,SAAS,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;KA6BhF;IA3BC,UAAU;QACR,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;IAC3C,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACpE,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACrE,CAAC;IAED,YAAY;QACV,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,WAAW,CAAC,QAAgB;QAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC;QAC7C,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACxB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;IAClC,CAAC;IAED,cAAc,CAAC,QAAgB;QAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC;QAC7C,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;IAClC,CAAC;;gHA7BU,mBAAmB;oHAAnB,mBAAmB,cAFlB,MAAM;2FAEP,mBAAmB;kBAH/B,UAAU;mBAAC;oBACV,UAAU,EAAE,MAAM;iBACnB","sourcesContent":["import { Injectable } from '@angular/core';\nimport { InternalStore } from '../utils/internal-store-utils';\n\nexport interface ResourceWaitState {\n resources: Set<string>;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ResourceWaitService {\n private store = new InternalStore<ResourceWaitState>({ resources: new Set() });\n\n getLoading() {\n return !!this.store.state.resources.size;\n }\n\n getLoading$() {\n return this.store.sliceState(({ resources }) => !!resources.size);\n }\n\n updateLoading$() {\n return this.store.sliceUpdate(({ resources }) => !!resources.size);\n }\n\n clearLoading() {\n this.store.patch({ resources: new Set() });\n }\n\n addResource(resource: string) {\n const resources = this.store.state.resources;\n resources.add(resource);\n this.store.patch({ resources });\n }\n\n deleteResource(resource: string) {\n const resources = this.store.state.resources;\n resources.delete(resource);\n this.store.patch({ resources });\n }\n}\n"]}
|