@abp/ng.core 5.0.1 → 5.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/abp-ng.core.d.ts +5 -5
- package/bundles/abp-ng.core-locale.umd.js +361 -361
- package/bundles/abp-ng.core-locale.umd.js.map +1 -1
- package/bundles/abp-ng.core-testing.umd.js +442 -442
- package/bundles/abp-ng.core-testing.umd.js.map +1 -1
- package/bundles/abp-ng.core.umd.js +4873 -4868
- package/bundles/abp-ng.core.umd.js.map +1 -1
- package/esm2015/abp-ng.core.js +4 -4
- package/esm2015/lib/abstracts/index.js +2 -2
- package/esm2015/lib/abstracts/ng-model.component.js +59 -59
- package/esm2015/lib/components/dynamic-layout.component.js +89 -89
- package/esm2015/lib/components/index.js +4 -4
- package/esm2015/lib/components/replaceable-route-container.component.js +42 -42
- package/esm2015/lib/components/router-outlet.component.js +15 -15
- package/esm2015/lib/constants/different-locales.js +337 -337
- package/esm2015/lib/constants/index.js +2 -2
- package/esm2015/lib/core.module.js +281 -281
- package/esm2015/lib/directives/autofocus.directive.js +30 -30
- package/esm2015/lib/directives/debounce.directive.js +36 -36
- package/esm2015/lib/directives/for.directive.js +151 -151
- package/esm2015/lib/directives/form-submit.directive.js +69 -69
- package/esm2015/lib/directives/index.js +9 -9
- package/esm2015/lib/directives/init.directive.js +21 -21
- package/esm2015/lib/directives/permission.directive.js +48 -48
- package/esm2015/lib/directives/replaceable-template.directive.js +121 -121
- package/esm2015/lib/directives/stop-propagation.directive.js +32 -32
- package/esm2015/lib/enums/common.js +2 -2
- package/esm2015/lib/enums/index.js +2 -2
- package/esm2015/lib/guards/auth.guard.js +29 -29
- package/esm2015/lib/guards/index.js +3 -3
- package/esm2015/lib/guards/permission.guard.js +44 -44
- package/esm2015/lib/handlers/oauth-configuration.handler.js +37 -37
- package/esm2015/lib/handlers/routes.handler.js +47 -47
- package/esm2015/lib/interceptors/api.interceptor.js +54 -54
- package/esm2015/lib/interceptors/index.js +2 -2
- package/esm2015/lib/localization.module.js +16 -16
- package/esm2015/lib/models/auth.js +2 -2
- package/esm2015/lib/models/common.js +2 -2
- package/esm2015/lib/models/dtos.js +119 -119
- package/esm2015/lib/models/environment.js +2 -2
- package/esm2015/lib/models/index.js +10 -10
- package/esm2015/lib/models/localization.js +2 -2
- package/esm2015/lib/models/replaceable-components.js +2 -2
- package/esm2015/lib/models/rest.js +2 -2
- package/esm2015/lib/models/session.js +2 -2
- package/esm2015/lib/models/utility.js +2 -2
- package/esm2015/lib/pipes/index.js +3 -3
- package/esm2015/lib/pipes/localization.pipe.js +33 -33
- package/esm2015/lib/pipes/sort.pipe.js +49 -49
- package/esm2015/lib/providers/cookie-language.provider.js +22 -22
- package/esm2015/lib/providers/locale.provider.js +22 -22
- package/esm2015/lib/proxy/pages/abp/multi-tenancy/abp-tenant.service.js +29 -29
- package/esm2015/lib/proxy/pages/abp/multi-tenancy/index.js +2 -2
- package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/abp-api-definition.service.js +24 -24
- package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/index.js +2 -2
- package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service.js +25 -25
- package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/index.js +5 -5
- package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/models.js +2 -2
- package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending/index.js +2 -2
- package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending/models.js +3 -3
- package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy/index.js +2 -2
- package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy/models.js +2 -2
- package/esm2015/lib/proxy/volo/abp/http/modeling/index.js +2 -2
- package/esm2015/lib/proxy/volo/abp/http/modeling/models.js +3 -3
- package/esm2015/lib/proxy/volo/abp/localization/index.js +2 -2
- package/esm2015/lib/proxy/volo/abp/localization/models.js +2 -2
- package/esm2015/lib/proxy/volo/abp/models.js +2 -2
- package/esm2015/lib/services/auth.service.js +47 -47
- package/esm2015/lib/services/config-state.service.js +130 -130
- package/esm2015/lib/services/content-projection.service.js +17 -17
- package/esm2015/lib/services/dom-insertion.service.js +32 -32
- package/esm2015/lib/services/environment.service.js +35 -35
- package/esm2015/lib/services/http-error-reporter.service.js +29 -29
- package/esm2015/lib/services/http-wait.service.js +72 -72
- package/esm2015/lib/services/index.js +22 -22
- package/esm2015/lib/services/lazy-load.service.js +38 -38
- package/esm2015/lib/services/list.service.js +103 -103
- package/esm2015/lib/services/localization.service.js +182 -182
- package/esm2015/lib/services/multi-tenancy.service.js +48 -48
- package/esm2015/lib/services/permission.service.js +64 -64
- package/esm2015/lib/services/replaceable-components.service.js +49 -49
- package/esm2015/lib/services/resource-wait.service.js +39 -39
- package/esm2015/lib/services/rest.service.js +63 -63
- package/esm2015/lib/services/router-events.service.js +38 -38
- package/esm2015/lib/services/router-wait.service.js +51 -51
- package/esm2015/lib/services/routes.service.js +147 -147
- package/esm2015/lib/services/session-state.service.js +76 -76
- package/esm2015/lib/services/subscription.service.js +41 -41
- package/esm2015/lib/services/track-by.service.js +21 -21
- package/esm2015/lib/strategies/auth-flow.strategy.js +202 -202
- package/esm2015/lib/strategies/container.strategy.js +38 -38
- package/esm2015/lib/strategies/content-security.strategy.js +28 -28
- package/esm2015/lib/strategies/content.strategy.js +48 -48
- package/esm2015/lib/strategies/context.strategy.js +37 -37
- package/esm2015/lib/strategies/cross-origin.strategy.js +26 -26
- package/esm2015/lib/strategies/dom.strategy.js +27 -27
- package/esm2015/lib/strategies/index.js +9 -9
- package/esm2015/lib/strategies/loading.strategy.js +58 -58
- package/esm2015/lib/strategies/projection.strategy.js +80 -80
- package/esm2015/lib/tokens/app-config.token.js +3 -3
- package/esm2015/lib/tokens/cookie-language-key.token.js +5 -5
- package/esm2015/lib/tokens/index.js +9 -9
- package/esm2015/lib/tokens/list.token.js +3 -3
- package/esm2015/lib/tokens/localization.token.js +10 -10
- package/esm2015/lib/tokens/lodaer-delay.token.js +3 -3
- package/esm2015/lib/tokens/manage-profile.token.js +12 -12
- package/esm2015/lib/tokens/options.token.js +8 -8
- package/esm2015/lib/tokens/tenant-key.token.js +3 -3
- package/esm2015/lib/utils/array-utils.js +7 -7
- package/esm2015/lib/utils/auth-utils.js +42 -42
- package/esm2015/lib/utils/common-utils.js +29 -29
- package/esm2015/lib/utils/date-extensions.js +6 -6
- package/esm2015/lib/utils/date-utils.js +13 -13
- package/esm2015/lib/utils/environment-utils.js +36 -36
- package/esm2015/lib/utils/factory-utils.js +24 -24
- package/esm2015/lib/utils/file-utils.js +14 -14
- package/esm2015/lib/utils/form-utils.js +12 -12
- package/esm2015/lib/utils/generator-utils.js +34 -34
- package/esm2015/lib/utils/http-utils.js +19 -19
- package/esm2015/lib/utils/index.js +21 -21
- package/esm2015/lib/utils/initial-utils.js +64 -64
- package/esm2015/lib/utils/internal-store-utils.js +36 -36
- package/esm2015/lib/utils/lazy-load-utils.js +40 -40
- package/esm2015/lib/utils/localization-utils.js +50 -50
- package/esm2015/lib/utils/multi-tenancy-utils.js +83 -83
- package/esm2015/lib/utils/number-utils.js +4 -4
- package/esm2015/lib/utils/object-utils.js +37 -37
- package/esm2015/lib/utils/route-utils.js +27 -27
- package/esm2015/lib/utils/string-utils.js +25 -21
- package/esm2015/lib/utils/tree-utils.js +54 -54
- package/esm2015/lib/validators/age.validator.js +14 -14
- package/esm2015/lib/validators/credit-card.validator.js +21 -21
- package/esm2015/lib/validators/index.js +23 -23
- package/esm2015/lib/validators/range.validator.js +15 -15
- package/esm2015/lib/validators/required.validator.js +13 -13
- package/esm2015/lib/validators/string-length.validator.js +15 -15
- package/esm2015/lib/validators/url.validator.js +16 -16
- package/esm2015/locale/abp-ng.core-locale.js +4 -4
- package/esm2015/locale/public-api.js +2 -2
- package/esm2015/locale/utils/register-locale.js +43 -43
- package/esm2015/public-api.js +26 -26
- package/esm2015/testing/abp-ng.core-testing.js +4 -4
- package/esm2015/testing/lib/core-testing.module.js +62 -62
- package/esm2015/testing/lib/services/index.js +3 -3
- package/esm2015/testing/lib/services/mock-permission.service.js +35 -35
- package/esm2015/testing/lib/services/mock-rest.service.js +30 -30
- package/esm2015/testing/lib/utils/clear-page.util.js +10 -10
- package/esm2015/testing/lib/utils/index.js +3 -3
- package/esm2015/testing/lib/utils/wait.util.js +5 -5
- package/esm2015/testing/public-api.js +4 -4
- package/fesm2015/abp-ng.core-locale.js +40 -40
- package/fesm2015/abp-ng.core-locale.js.map +1 -1
- package/fesm2015/abp-ng.core-testing.js +113 -113
- package/fesm2015/abp-ng.core-testing.js.map +1 -1
- package/fesm2015/abp-ng.core.js +3979 -3975
- package/fesm2015/abp-ng.core.js.map +1 -1
- package/lib/abstracts/index.d.ts +1 -1
- package/lib/abstracts/ng-model.component.d.ts +25 -25
- package/lib/components/dynamic-layout.component.d.ts +27 -27
- package/lib/components/index.d.ts +3 -3
- package/lib/components/replaceable-route-container.component.d.ts +17 -17
- package/lib/components/router-outlet.component.d.ts +5 -5
- package/lib/constants/different-locales.d.ts +334 -334
- package/lib/constants/index.d.ts +1 -1
- package/lib/core.module.d.ts +56 -56
- package/lib/directives/autofocus.directive.d.ts +12 -12
- package/lib/directives/debounce.directive.d.ts +13 -13
- package/lib/directives/for.directive.d.ts +36 -36
- package/lib/directives/form-submit.directive.d.ts +19 -19
- package/lib/directives/index.d.ts +8 -8
- package/lib/directives/init.directive.d.ts +10 -10
- package/lib/directives/permission.directive.d.ts +18 -18
- package/lib/directives/replaceable-template.directive.d.ts +30 -30
- package/lib/directives/stop-propagation.directive.d.ts +12 -12
- package/lib/enums/common.d.ts +5 -5
- package/lib/enums/index.d.ts +1 -1
- package/lib/guards/auth.guard.d.ts +13 -13
- package/lib/guards/index.d.ts +2 -2
- package/lib/guards/permission.guard.d.ts +16 -16
- package/lib/handlers/oauth-configuration.handler.d.ts +13 -13
- package/lib/handlers/routes.handler.d.ts +11 -11
- package/lib/interceptors/api.interceptor.d.ts +16 -16
- package/lib/interceptors/index.d.ts +1 -1
- package/lib/localization.module.d.ts +7 -7
- package/lib/models/auth.d.ts +6 -6
- package/lib/models/common.d.ts +77 -77
- package/lib/models/dtos.d.ts +95 -95
- package/lib/models/environment.d.ts +35 -35
- package/lib/models/index.d.ts +9 -9
- package/lib/models/localization.d.ts +5 -5
- package/lib/models/replaceable-components.d.ts +45 -45
- package/lib/models/rest.d.ts +35 -35
- package/lib/models/session.d.ts +7 -7
- package/lib/models/utility.d.ts +14 -14
- package/lib/pipes/index.d.ts +2 -2
- package/lib/pipes/localization.pipe.d.ts +12 -12
- package/lib/pipes/sort.pipe.d.ts +9 -9
- package/lib/providers/cookie-language.provider.d.ts +3 -3
- package/lib/providers/locale.provider.d.ts +9 -9
- package/lib/proxy/pages/abp/multi-tenancy/abp-tenant.service.d.ts +12 -12
- package/lib/proxy/pages/abp/multi-tenancy/index.d.ts +1 -1
- package/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/abp-api-definition.service.d.ts +11 -11
- package/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/index.d.ts +1 -1
- package/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service.d.ts +11 -11
- package/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/index.d.ts +4 -4
- package/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/models.d.ts +85 -85
- package/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending/index.d.ts +1 -1
- package/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending/models.d.ts +71 -71
- package/lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy/index.d.ts +1 -1
- package/lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy/models.d.ts +14 -14
- package/lib/proxy/volo/abp/http/modeling/index.d.ts +1 -1
- package/lib/proxy/volo/abp/http/modeling/models.d.ts +70 -70
- package/lib/proxy/volo/abp/localization/index.d.ts +1 -1
- package/lib/proxy/volo/abp/localization/models.d.ts +6 -6
- package/lib/proxy/volo/abp/models.d.ts +4 -4
- package/lib/services/auth.service.d.ts +17 -17
- package/lib/services/config-state.service.d.ts +339 -339
- package/lib/services/content-projection.service.d.ts +10 -10
- package/lib/services/dom-insertion.service.d.ts +10 -10
- package/lib/services/environment.service.d.ts +96 -96
- package/lib/services/http-error-reporter.service.d.ts +12 -12
- package/lib/services/http-wait.service.d.ts +30 -30
- package/lib/services/index.d.ts +21 -21
- package/lib/services/lazy-load.service.d.ts +13 -13
- package/lib/services/list.service.d.ts +39 -39
- package/lib/services/localization.service.d.ts +47 -47
- package/lib/services/multi-tenancy.service.d.ts +22 -22
- package/lib/services/permission.service.d.ts +19 -19
- package/lib/services/replaceable-components.service.d.ts +19 -19
- package/lib/services/resource-wait.service.d.ts +15 -15
- package/lib/services/rest.service.d.ts +20 -20
- package/lib/services/router-events.service.d.ts +29 -29
- package/lib/services/router-wait.service.d.ts +20 -20
- package/lib/services/routes.service.d.ts +50 -50
- package/lib/services/session-state.service.d.ts +25 -25
- package/lib/services/subscription.service.d.ts +17 -17
- package/lib/services/track-by.service.d.ts +11 -11
- package/lib/strategies/auth-flow.strategy.d.ts +367 -367
- package/lib/strategies/container.strategy.d.ts +22 -22
- package/lib/strategies/content-security.strategy.d.ts +17 -17
- package/lib/strategies/content.strategy.d.ts +26 -26
- package/lib/strategies/context.strategy.d.ts +23 -23
- package/lib/strategies/cross-origin.strategy.d.ts +14 -14
- package/lib/strategies/dom.strategy.d.ts +13 -13
- package/lib/strategies/index.d.ts +8 -8
- package/lib/strategies/loading.strategy.d.ts +28 -28
- package/lib/strategies/projection.strategy.d.ts +39 -39
- package/lib/tokens/app-config.token.d.ts +3 -3
- package/lib/tokens/cookie-language-key.token.d.ts +2 -2
- package/lib/tokens/index.d.ts +8 -8
- package/lib/tokens/list.token.d.ts +2 -2
- package/lib/tokens/localization.token.d.ts +6 -6
- package/lib/tokens/lodaer-delay.token.d.ts +2 -2
- package/lib/tokens/manage-profile.token.d.ts +2 -2
- package/lib/tokens/options.token.d.ts +4 -4
- package/lib/tokens/tenant-key.token.d.ts +2 -2
- package/lib/utils/array-utils.d.ts +1 -1
- package/lib/utils/auth-utils.d.ts +162 -162
- package/lib/utils/common-utils.d.ts +9 -9
- package/lib/utils/date-extensions.d.ts +6 -6
- package/lib/utils/date-utils.d.ts +4 -4
- package/lib/utils/environment-utils.d.ts +3 -3
- package/lib/utils/factory-utils.d.ts +9 -9
- package/lib/utils/file-utils.d.ts +1 -1
- package/lib/utils/form-utils.d.ts +2 -2
- package/lib/utils/generator-utils.d.ts +3 -3
- package/lib/utils/http-utils.d.ts +8 -8
- package/lib/utils/index.d.ts +20 -20
- package/lib/utils/initial-utils.d.ts +159 -159
- package/lib/utils/internal-store-utils.d.ts +14 -14
- package/lib/utils/lazy-load-utils.d.ts +4 -4
- package/lib/utils/localization-utils.d.ts +5 -5
- package/lib/utils/multi-tenancy-utils.d.ts +3 -3
- package/lib/utils/number-utils.d.ts +1 -1
- package/lib/utils/object-utils.d.ts +1 -1
- package/lib/utils/route-utils.d.ts +8 -8
- package/lib/utils/string-utils.d.ts +3 -2
- package/lib/utils/tree-utils.d.ts +19 -19
- package/lib/validators/age.validator.d.ts +10 -10
- package/lib/validators/credit-card.validator.d.ts +5 -5
- package/lib/validators/index.d.ts +22 -22
- package/lib/validators/range.validator.d.ts +12 -12
- package/lib/validators/required.validator.d.ts +8 -8
- package/lib/validators/string-length.validator.d.ts +14 -14
- package/lib/validators/url.validator.d.ts +5 -5
- package/locale/abp-ng.core-locale.d.ts +5 -5
- package/locale/public-api.d.ts +1 -1
- package/locale/utils/register-locale.d.ts +13 -13
- package/package.json +2 -2
- package/public-api.d.ts +24 -24
- package/testing/abp-ng.core-testing.d.ts +5 -5
- package/testing/lib/core-testing.module.d.ts +16 -16
- package/testing/lib/services/index.d.ts +2 -2
- package/testing/lib/services/mock-permission.service.d.ts +10 -10
- package/testing/lib/services/mock-rest.service.d.ts +13 -13
- package/testing/lib/utils/clear-page.util.d.ts +2 -2
- package/testing/lib/utils/index.d.ts +2 -2
- package/testing/lib/utils/wait.util.d.ts +2 -2
- package/testing/public-api.d.ts +3 -3
package/esm2015/abp-ng.core.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public-api';
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
5
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLmNvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9hYnAtbmcuY29yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './ng-model.component';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export * from './ng-model.component';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvYWJzdHJhY3RzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL25nLW1vZGVsLmNvbXBvbmVudCc7XG4iXX0=
|
|
@@ -1,59 +1,59 @@
|
|
|
1
|
-
import { ChangeDetectorRef, Component, Injector, Input } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
// Not an abstract class on purpose. Do not change!
|
|
4
|
-
export class AbstractNgModelComponent {
|
|
5
|
-
constructor(injector) {
|
|
6
|
-
this.injector = injector;
|
|
7
|
-
this.valueFn = value => value;
|
|
8
|
-
this.valueLimitFn = value => false;
|
|
9
|
-
this.cdRef = injector.get(ChangeDetectorRef);
|
|
10
|
-
}
|
|
11
|
-
set value(value) {
|
|
12
|
-
value = this.valueFn(value, this._value);
|
|
13
|
-
if (this.valueLimitFn(value, this._value) !== false || this.readonly)
|
|
14
|
-
return;
|
|
15
|
-
this._value = value;
|
|
16
|
-
this.notifyValueChange();
|
|
17
|
-
}
|
|
18
|
-
get value() {
|
|
19
|
-
return this._value || this.defaultValue;
|
|
20
|
-
}
|
|
21
|
-
get defaultValue() {
|
|
22
|
-
return this._value;
|
|
23
|
-
}
|
|
24
|
-
notifyValueChange() {
|
|
25
|
-
if (this.onChange) {
|
|
26
|
-
this.onChange(this.value);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
writeValue(value) {
|
|
30
|
-
this._value = this.valueLimitFn(value, this._value) || value;
|
|
31
|
-
setTimeout(() => this.cdRef.markForCheck(), 0);
|
|
32
|
-
}
|
|
33
|
-
registerOnChange(fn) {
|
|
34
|
-
this.onChange = fn;
|
|
35
|
-
}
|
|
36
|
-
registerOnTouched(fn) {
|
|
37
|
-
this.onTouched = fn;
|
|
38
|
-
}
|
|
39
|
-
setDisabledState(isDisabled) {
|
|
40
|
-
this.disabled = isDisabled;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
AbstractNgModelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: AbstractNgModelComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
44
|
-
AbstractNgModelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: AbstractNgModelComponent, selector: "ng-component", inputs: { disabled: "disabled", readonly: "readonly", valueFn: "valueFn", valueLimitFn: "valueLimitFn", value: "value" }, ngImport: i0, template: '', isInline: true });
|
|
45
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: AbstractNgModelComponent, decorators: [{
|
|
46
|
-
type: Component,
|
|
47
|
-
args: [{ template: '' }]
|
|
48
|
-
}], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { disabled: [{
|
|
49
|
-
type: Input
|
|
50
|
-
}], readonly: [{
|
|
51
|
-
type: Input
|
|
52
|
-
}], valueFn: [{
|
|
53
|
-
type: Input
|
|
54
|
-
}], valueLimitFn: [{
|
|
55
|
-
type: Input
|
|
56
|
-
}], value: [{
|
|
57
|
-
type: Input
|
|
58
|
-
}] } });
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { ChangeDetectorRef, Component, Injector, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
// Not an abstract class on purpose. Do not change!
|
|
4
|
+
export class AbstractNgModelComponent {
|
|
5
|
+
constructor(injector) {
|
|
6
|
+
this.injector = injector;
|
|
7
|
+
this.valueFn = value => value;
|
|
8
|
+
this.valueLimitFn = value => false;
|
|
9
|
+
this.cdRef = injector.get(ChangeDetectorRef);
|
|
10
|
+
}
|
|
11
|
+
set value(value) {
|
|
12
|
+
value = this.valueFn(value, this._value);
|
|
13
|
+
if (this.valueLimitFn(value, this._value) !== false || this.readonly)
|
|
14
|
+
return;
|
|
15
|
+
this._value = value;
|
|
16
|
+
this.notifyValueChange();
|
|
17
|
+
}
|
|
18
|
+
get value() {
|
|
19
|
+
return this._value || this.defaultValue;
|
|
20
|
+
}
|
|
21
|
+
get defaultValue() {
|
|
22
|
+
return this._value;
|
|
23
|
+
}
|
|
24
|
+
notifyValueChange() {
|
|
25
|
+
if (this.onChange) {
|
|
26
|
+
this.onChange(this.value);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
writeValue(value) {
|
|
30
|
+
this._value = this.valueLimitFn(value, this._value) || value;
|
|
31
|
+
setTimeout(() => this.cdRef.markForCheck(), 0);
|
|
32
|
+
}
|
|
33
|
+
registerOnChange(fn) {
|
|
34
|
+
this.onChange = fn;
|
|
35
|
+
}
|
|
36
|
+
registerOnTouched(fn) {
|
|
37
|
+
this.onTouched = fn;
|
|
38
|
+
}
|
|
39
|
+
setDisabledState(isDisabled) {
|
|
40
|
+
this.disabled = isDisabled;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
AbstractNgModelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: AbstractNgModelComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
44
|
+
AbstractNgModelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: AbstractNgModelComponent, selector: "ng-component", inputs: { disabled: "disabled", readonly: "readonly", valueFn: "valueFn", valueLimitFn: "valueLimitFn", value: "value" }, ngImport: i0, template: '', isInline: true });
|
|
45
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: AbstractNgModelComponent, decorators: [{
|
|
46
|
+
type: Component,
|
|
47
|
+
args: [{ template: '' }]
|
|
48
|
+
}], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { disabled: [{
|
|
49
|
+
type: Input
|
|
50
|
+
}], readonly: [{
|
|
51
|
+
type: Input
|
|
52
|
+
}], valueFn: [{
|
|
53
|
+
type: Input
|
|
54
|
+
}], valueLimitFn: [{
|
|
55
|
+
type: Input
|
|
56
|
+
}], value: [{
|
|
57
|
+
type: Input
|
|
58
|
+
}] } });
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctbW9kZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL2Fic3RyYWN0cy9uZy1tb2RlbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUc5RSxtREFBbUQ7QUFFbkQsTUFBTSxPQUFPLHdCQUF3QjtJQW9DbkMsWUFBbUIsUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQXZCckMsWUFBTyxHQUF1QyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQWlCLENBQUM7UUFHekUsaUJBQVksR0FBeUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7UUFxQmxFLElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFwQkQsSUFDSSxLQUFLLENBQUMsS0FBUTtRQUNoQixLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFpQixFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVyRCxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFPO1FBRTdFLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMxQyxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFNRCxpQkFBaUI7UUFDZixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDM0I7SUFDSCxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQVE7UUFDakIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDO1FBQzdELFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFPO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxVQUFtQjtRQUNsQyxJQUFJLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztJQUM3QixDQUFDOztzSEE3RFUsd0JBQXdCOzBHQUF4Qix3QkFBd0IsOEtBRGQsRUFBRTs0RkFDWix3QkFBd0I7a0JBRHBDLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFOytGQVF6QixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLE9BQU87c0JBRE4sS0FBSztnQkFJTixZQUFZO3NCQURYLEtBQUs7Z0JBSUYsS0FBSztzQkFEUixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5qZWN0b3IsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuLy8gTm90IGFuIGFic3RyYWN0IGNsYXNzIG9uIHB1cnBvc2UuIERvIG5vdCBjaGFuZ2UhXG5AQ29tcG9uZW50KHsgdGVtcGxhdGU6ICcnIH0pXG5leHBvcnQgY2xhc3MgQWJzdHJhY3ROZ01vZGVsQ29tcG9uZW50PFQgPSBhbnksIFUgPSBUPiBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgcHJvdGVjdGVkIF92YWx1ZTogVDtcbiAgcHJvdGVjdGVkIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZjtcbiAgb25DaGFuZ2U6ICh2YWx1ZTogVCkgPT4gdm9pZDtcbiAgb25Ub3VjaGVkOiAoKSA9PiB2b2lkO1xuXG4gIEBJbnB1dCgpXG4gIGRpc2FibGVkOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpXG4gIHJlYWRvbmx5OiBib29sZWFuO1xuXG4gIEBJbnB1dCgpXG4gIHZhbHVlRm46ICh2YWx1ZTogVSwgcHJldmlvdXNWYWx1ZT86IFQpID0+IFQgPSB2YWx1ZSA9PiB2YWx1ZSBhcyBhbnkgYXMgVDtcblxuICBASW5wdXQoKVxuICB2YWx1ZUxpbWl0Rm46ICh2YWx1ZTogVCwgcHJldmlvdXNWYWx1ZT86IFQpID0+IGFueSA9IHZhbHVlID0+IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHNldCB2YWx1ZSh2YWx1ZTogVCkge1xuICAgIHZhbHVlID0gdGhpcy52YWx1ZUZuKHZhbHVlIGFzIGFueSBhcyBVLCB0aGlzLl92YWx1ZSk7XG5cbiAgICBpZiAodGhpcy52YWx1ZUxpbWl0Rm4odmFsdWUsIHRoaXMuX3ZhbHVlKSAhPT0gZmFsc2UgfHwgdGhpcy5yZWFkb25seSkgcmV0dXJuO1xuXG4gICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgICB0aGlzLm5vdGlmeVZhbHVlQ2hhbmdlKCk7XG4gIH1cblxuICBnZXQgdmFsdWUoKTogVCB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlIHx8IHRoaXMuZGVmYXVsdFZhbHVlO1xuICB9XG5cbiAgZ2V0IGRlZmF1bHRWYWx1ZSgpOiBUIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgdGhpcy5jZFJlZiA9IGluamVjdG9yLmdldChDaGFuZ2VEZXRlY3RvclJlZik7XG4gIH1cblxuICBub3RpZnlWYWx1ZUNoYW5nZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5vbkNoYW5nZSkge1xuICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKTtcbiAgICB9XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBUKTogdm9pZCB7XG4gICAgdGhpcy5fdmFsdWUgPSB0aGlzLnZhbHVlTGltaXRGbih2YWx1ZSwgdGhpcy5fdmFsdWUpIHx8IHZhbHVlO1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5jZFJlZi5tYXJrRm9yQ2hlY2soKSwgMCk7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICB9XG59XG4iXX0=
|
|
@@ -1,89 +1,89 @@
|
|
|
1
|
-
import { Component, Injector, isDevMode, Optional, SkipSelf } from '@angular/core';
|
|
2
|
-
import { ActivatedRoute, Router } from '@angular/router';
|
|
3
|
-
import { LocalizationService } from '../services/localization.service';
|
|
4
|
-
import { ReplaceableComponentsService } from '../services/replaceable-components.service';
|
|
5
|
-
import { RouterEvents } from '../services/router-events.service';
|
|
6
|
-
import { RoutesService } from '../services/routes.service';
|
|
7
|
-
import { SubscriptionService } from '../services/subscription.service';
|
|
8
|
-
import { findRoute, getRoutePath } from '../utils/route-utils';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
import * as i1 from "../services/localization.service";
|
|
11
|
-
import * as i2 from "../services/replaceable-components.service";
|
|
12
|
-
import * as i3 from "../services/subscription.service";
|
|
13
|
-
import * as i4 from "../services/router-events.service";
|
|
14
|
-
import * as i5 from "@angular/common";
|
|
15
|
-
export class DynamicLayoutComponent {
|
|
16
|
-
constructor(injector, localizationService, replaceableComponents, subscription, routerEvents, dynamicLayoutComponent) {
|
|
17
|
-
this.localizationService = localizationService;
|
|
18
|
-
this.replaceableComponents = replaceableComponents;
|
|
19
|
-
this.subscription = subscription;
|
|
20
|
-
this.routerEvents = routerEvents;
|
|
21
|
-
// TODO: Consider a shared enum (eThemeSharedComponents) for known layouts
|
|
22
|
-
this.layouts = new Map([
|
|
23
|
-
['application', 'Theme.ApplicationLayoutComponent'],
|
|
24
|
-
['account', 'Theme.AccountLayoutComponent'],
|
|
25
|
-
['empty', 'Theme.EmptyLayoutComponent'],
|
|
26
|
-
]);
|
|
27
|
-
this.isLayoutVisible = true;
|
|
28
|
-
if (dynamicLayoutComponent) {
|
|
29
|
-
if (isDevMode)
|
|
30
|
-
console.warn('DynamicLayoutComponent must be used only in AppComponent.');
|
|
31
|
-
return;
|
|
32
|
-
}
|
|
33
|
-
this.route = injector.get(ActivatedRoute);
|
|
34
|
-
this.router = injector.get(Router);
|
|
35
|
-
this.routes = injector.get(RoutesService);
|
|
36
|
-
this.checkLayoutOnNavigationEnd();
|
|
37
|
-
this.listenToLanguageChange();
|
|
38
|
-
}
|
|
39
|
-
checkLayoutOnNavigationEnd() {
|
|
40
|
-
const navigationEnd$ = this.routerEvents.getNavigationEvents('End');
|
|
41
|
-
this.subscription.addOne(navigationEnd$, () => this.getLayout());
|
|
42
|
-
}
|
|
43
|
-
getLayout() {
|
|
44
|
-
var _a;
|
|
45
|
-
let expectedLayout = (this.route.snapshot.data || {}).layout;
|
|
46
|
-
if (!expectedLayout) {
|
|
47
|
-
let node = findRoute(this.routes, getRoutePath(this.router));
|
|
48
|
-
node = { parent: node };
|
|
49
|
-
while (node.parent) {
|
|
50
|
-
node = node.parent;
|
|
51
|
-
if (node.layout) {
|
|
52
|
-
expectedLayout = node.layout;
|
|
53
|
-
break;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
if (!expectedLayout)
|
|
58
|
-
expectedLayout = "empty" /* empty */;
|
|
59
|
-
if (this.layoutKey === expectedLayout)
|
|
60
|
-
return;
|
|
61
|
-
const key = this.layouts.get(expectedLayout);
|
|
62
|
-
this.layout = (_a = this.getComponent(key)) === null || _a === void 0 ? void 0 : _a.component;
|
|
63
|
-
this.layoutKey = expectedLayout;
|
|
64
|
-
}
|
|
65
|
-
listenToLanguageChange() {
|
|
66
|
-
this.subscription.addOne(this.localizationService.languageChange$, () => {
|
|
67
|
-
this.isLayoutVisible = false;
|
|
68
|
-
setTimeout(() => (this.isLayoutVisible = true), 0);
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
getComponent(key) {
|
|
72
|
-
return this.replaceableComponents.get(key);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
DynamicLayoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: DynamicLayoutComponent, deps: [{ token: i0.Injector }, { token: i1.LocalizationService }, { token: i2.ReplaceableComponentsService }, { token: i3.SubscriptionService }, { token: i4.RouterEvents }, { token: DynamicLayoutComponent, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
76
|
-
DynamicLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: DynamicLayoutComponent, selector: "abp-dynamic-layout", providers: [SubscriptionService], ngImport: i0, template: ` <ng-container *ngIf="isLayoutVisible" [ngComponentOutlet]="layout"></ng-container> `, isInline: true, directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModuleFactory"] }] });
|
|
77
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: DynamicLayoutComponent, decorators: [{
|
|
78
|
-
type: Component,
|
|
79
|
-
args: [{
|
|
80
|
-
selector: 'abp-dynamic-layout',
|
|
81
|
-
template: ` <ng-container *ngIf="isLayoutVisible" [ngComponentOutlet]="layout"></ng-container> `,
|
|
82
|
-
providers: [SubscriptionService],
|
|
83
|
-
}]
|
|
84
|
-
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.LocalizationService }, { type: i2.ReplaceableComponentsService }, { type: i3.SubscriptionService }, { type: i4.RouterEvents }, { type: DynamicLayoutComponent, decorators: [{
|
|
85
|
-
type: Optional
|
|
86
|
-
}, {
|
|
87
|
-
type: SkipSelf
|
|
88
|
-
}] }]; } });
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Component, Injector, isDevMode, Optional, SkipSelf } from '@angular/core';
|
|
2
|
+
import { ActivatedRoute, Router } from '@angular/router';
|
|
3
|
+
import { LocalizationService } from '../services/localization.service';
|
|
4
|
+
import { ReplaceableComponentsService } from '../services/replaceable-components.service';
|
|
5
|
+
import { RouterEvents } from '../services/router-events.service';
|
|
6
|
+
import { RoutesService } from '../services/routes.service';
|
|
7
|
+
import { SubscriptionService } from '../services/subscription.service';
|
|
8
|
+
import { findRoute, getRoutePath } from '../utils/route-utils';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
import * as i1 from "../services/localization.service";
|
|
11
|
+
import * as i2 from "../services/replaceable-components.service";
|
|
12
|
+
import * as i3 from "../services/subscription.service";
|
|
13
|
+
import * as i4 from "../services/router-events.service";
|
|
14
|
+
import * as i5 from "@angular/common";
|
|
15
|
+
export class DynamicLayoutComponent {
|
|
16
|
+
constructor(injector, localizationService, replaceableComponents, subscription, routerEvents, dynamicLayoutComponent) {
|
|
17
|
+
this.localizationService = localizationService;
|
|
18
|
+
this.replaceableComponents = replaceableComponents;
|
|
19
|
+
this.subscription = subscription;
|
|
20
|
+
this.routerEvents = routerEvents;
|
|
21
|
+
// TODO: Consider a shared enum (eThemeSharedComponents) for known layouts
|
|
22
|
+
this.layouts = new Map([
|
|
23
|
+
['application', 'Theme.ApplicationLayoutComponent'],
|
|
24
|
+
['account', 'Theme.AccountLayoutComponent'],
|
|
25
|
+
['empty', 'Theme.EmptyLayoutComponent'],
|
|
26
|
+
]);
|
|
27
|
+
this.isLayoutVisible = true;
|
|
28
|
+
if (dynamicLayoutComponent) {
|
|
29
|
+
if (isDevMode)
|
|
30
|
+
console.warn('DynamicLayoutComponent must be used only in AppComponent.');
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
this.route = injector.get(ActivatedRoute);
|
|
34
|
+
this.router = injector.get(Router);
|
|
35
|
+
this.routes = injector.get(RoutesService);
|
|
36
|
+
this.checkLayoutOnNavigationEnd();
|
|
37
|
+
this.listenToLanguageChange();
|
|
38
|
+
}
|
|
39
|
+
checkLayoutOnNavigationEnd() {
|
|
40
|
+
const navigationEnd$ = this.routerEvents.getNavigationEvents('End');
|
|
41
|
+
this.subscription.addOne(navigationEnd$, () => this.getLayout());
|
|
42
|
+
}
|
|
43
|
+
getLayout() {
|
|
44
|
+
var _a;
|
|
45
|
+
let expectedLayout = (this.route.snapshot.data || {}).layout;
|
|
46
|
+
if (!expectedLayout) {
|
|
47
|
+
let node = findRoute(this.routes, getRoutePath(this.router));
|
|
48
|
+
node = { parent: node };
|
|
49
|
+
while (node.parent) {
|
|
50
|
+
node = node.parent;
|
|
51
|
+
if (node.layout) {
|
|
52
|
+
expectedLayout = node.layout;
|
|
53
|
+
break;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
if (!expectedLayout)
|
|
58
|
+
expectedLayout = "empty" /* empty */;
|
|
59
|
+
if (this.layoutKey === expectedLayout)
|
|
60
|
+
return;
|
|
61
|
+
const key = this.layouts.get(expectedLayout);
|
|
62
|
+
this.layout = (_a = this.getComponent(key)) === null || _a === void 0 ? void 0 : _a.component;
|
|
63
|
+
this.layoutKey = expectedLayout;
|
|
64
|
+
}
|
|
65
|
+
listenToLanguageChange() {
|
|
66
|
+
this.subscription.addOne(this.localizationService.languageChange$, () => {
|
|
67
|
+
this.isLayoutVisible = false;
|
|
68
|
+
setTimeout(() => (this.isLayoutVisible = true), 0);
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
getComponent(key) {
|
|
72
|
+
return this.replaceableComponents.get(key);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
DynamicLayoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: DynamicLayoutComponent, deps: [{ token: i0.Injector }, { token: i1.LocalizationService }, { token: i2.ReplaceableComponentsService }, { token: i3.SubscriptionService }, { token: i4.RouterEvents }, { token: DynamicLayoutComponent, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
76
|
+
DynamicLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: DynamicLayoutComponent, selector: "abp-dynamic-layout", providers: [SubscriptionService], ngImport: i0, template: ` <ng-container *ngIf="isLayoutVisible" [ngComponentOutlet]="layout"></ng-container> `, isInline: true, directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModuleFactory"] }] });
|
|
77
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: DynamicLayoutComponent, decorators: [{
|
|
78
|
+
type: Component,
|
|
79
|
+
args: [{
|
|
80
|
+
selector: 'abp-dynamic-layout',
|
|
81
|
+
template: ` <ng-container *ngIf="isLayoutVisible" [ngComponentOutlet]="layout"></ng-container> `,
|
|
82
|
+
providers: [SubscriptionService],
|
|
83
|
+
}]
|
|
84
|
+
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.LocalizationService }, { type: i2.ReplaceableComponentsService }, { type: i3.SubscriptionService }, { type: i4.RouterEvents }, { type: DynamicLayoutComponent, decorators: [{
|
|
85
|
+
type: Optional
|
|
86
|
+
}, {
|
|
87
|
+
type: SkipSelf
|
|
88
|
+
}] }]; } });
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1sYXlvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy1sYXlvdXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFJekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdkUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDMUYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7O0FBUS9ELE1BQU0sT0FBTyxzQkFBc0I7SUFpQmpDLFlBQ0UsUUFBa0IsRUFDVixtQkFBd0MsRUFDeEMscUJBQW1ELEVBQ25ELFlBQWlDLEVBQ2pDLFlBQTBCLEVBQ1Ysc0JBQThDO1FBSjlELHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUE4QjtRQUNuRCxpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFDakMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFsQnBDLDBFQUEwRTtRQUNqRSxZQUFPLEdBQUcsSUFBSSxHQUFHLENBQUM7WUFDekIsQ0FBQyxhQUFhLEVBQUUsa0NBQWtDLENBQUM7WUFDbkQsQ0FBQyxTQUFTLEVBQUUsOEJBQThCLENBQUM7WUFDM0MsQ0FBQyxPQUFPLEVBQUUsNEJBQTRCLENBQUM7U0FDeEMsQ0FBQyxDQUFDO1FBRUgsb0JBQWUsR0FBRyxJQUFJLENBQUM7UUFjckIsSUFBSSxzQkFBc0IsRUFBRTtZQUMxQixJQUFJLFNBQVM7Z0JBQUUsT0FBTyxDQUFDLElBQUksQ0FBQywyREFBMkQsQ0FBQyxDQUFDO1lBQ3pGLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRTFDLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFTywwQkFBMEI7UUFDaEMsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVPLFNBQVM7O1FBQ2YsSUFBSSxjQUFjLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDO1FBRTdELElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDbkIsSUFBSSxJQUFJLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQzdELElBQUksR0FBRyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQXlCLENBQUM7WUFFL0MsT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFO2dCQUNsQixJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztnQkFFbkIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO29CQUNmLGNBQWMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO29CQUM3QixNQUFNO2lCQUNQO2FBQ0Y7U0FDRjtRQUVELElBQUksQ0FBQyxjQUFjO1lBQUUsY0FBYyxzQkFBb0IsQ0FBQztRQUV4RCxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssY0FBYztZQUFFLE9BQU87UUFFOUMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFBLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLDBDQUFFLFNBQVMsQ0FBQztRQUNoRCxJQUFJLENBQUMsU0FBUyxHQUFHLGNBQWMsQ0FBQztJQUNsQyxDQUFDO0lBRU8sc0JBQXNCO1FBQzVCLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLEVBQUUsR0FBRyxFQUFFO1lBQ3RFLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO1lBQzdCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDckQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sWUFBWSxDQUFDLEdBQVc7UUFDOUIsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzdDLENBQUM7O29IQTdFVSxzQkFBc0Isd0xBdUJpQixzQkFBc0I7d0dBdkI3RCxzQkFBc0IsNkNBRnRCLENBQUMsbUJBQW1CLENBQUMsMEJBRHRCLHNGQUFzRjs0RkFHckYsc0JBQXNCO2tCQUxsQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFFBQVEsRUFBRSxzRkFBc0Y7b0JBQ2hHLFNBQVMsRUFBRSxDQUFDLG1CQUFtQixDQUFDO2lCQUNqQzsyTkF3Qm1ELHNCQUFzQjswQkFBckUsUUFBUTs7MEJBQUksUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0b3IsIGlzRGV2TW9kZSwgT3B0aW9uYWwsIFNraXBTZWxmLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGVMYXlvdXRUeXBlIH0gZnJvbSAnLi4vZW51bXMvY29tbW9uJztcbmltcG9ydCB7IEFCUCB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgeyBSZXBsYWNlYWJsZUNvbXBvbmVudHMgfSBmcm9tICcuLi9tb2RlbHMvcmVwbGFjZWFibGUtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBMb2NhbGl6YXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvbG9jYWxpemF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVwbGFjZWFibGVDb21wb25lbnRzU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3JlcGxhY2VhYmxlLWNvbXBvbmVudHMuc2VydmljZSc7XG5pbXBvcnQgeyBSb3V0ZXJFdmVudHMgfSBmcm9tICcuLi9zZXJ2aWNlcy9yb3V0ZXItZXZlbnRzLnNlcnZpY2UnO1xuaW1wb3J0IHsgUm91dGVzU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3JvdXRlcy5zZXJ2aWNlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvblNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9zdWJzY3JpcHRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBmaW5kUm91dGUsIGdldFJvdXRlUGF0aCB9IGZyb20gJy4uL3V0aWxzL3JvdXRlLXV0aWxzJztcbmltcG9ydCB7IFRyZWVOb2RlIH0gZnJvbSAnLi4vdXRpbHMvdHJlZS11dGlscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1keW5hbWljLWxheW91dCcsXG4gIHRlbXBsYXRlOiBgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0xheW91dFZpc2libGVcIiBbbmdDb21wb25lbnRPdXRsZXRdPVwibGF5b3V0XCI+PC9uZy1jb250YWluZXI+IGAsXG4gIHByb3ZpZGVyczogW1N1YnNjcmlwdGlvblNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBEeW5hbWljTGF5b3V0Q29tcG9uZW50IHtcbiAgbGF5b3V0OiBUeXBlPGFueT47XG4gIGxheW91dEtleTogZUxheW91dFR5cGU7XG5cbiAgLy8gVE9ETzogQ29uc2lkZXIgYSBzaGFyZWQgZW51bSAoZVRoZW1lU2hhcmVkQ29tcG9uZW50cykgZm9yIGtub3duIGxheW91dHNcbiAgcmVhZG9ubHkgbGF5b3V0cyA9IG5ldyBNYXAoW1xuICAgIFsnYXBwbGljYXRpb24nLCAnVGhlbWUuQXBwbGljYXRpb25MYXlvdXRDb21wb25lbnQnXSxcbiAgICBbJ2FjY291bnQnLCAnVGhlbWUuQWNjb3VudExheW91dENvbXBvbmVudCddLFxuICAgIFsnZW1wdHknLCAnVGhlbWUuRW1wdHlMYXlvdXRDb21wb25lbnQnXSxcbiAgXSk7XG5cbiAgaXNMYXlvdXRWaXNpYmxlID0gdHJ1ZTtcblxuICBwcml2YXRlIHJvdXRlcjogUm91dGVyO1xuICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZTtcbiAgcHJpdmF0ZSByb3V0ZXM6IFJvdXRlc1NlcnZpY2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIHByaXZhdGUgbG9jYWxpemF0aW9uU2VydmljZTogTG9jYWxpemF0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHJlcGxhY2VhYmxlQ29tcG9uZW50czogUmVwbGFjZWFibGVDb21wb25lbnRzU2VydmljZSxcbiAgICBwcml2YXRlIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHJvdXRlckV2ZW50czogUm91dGVyRXZlbnRzLFxuICAgIEBPcHRpb25hbCgpIEBTa2lwU2VsZigpIGR5bmFtaWNMYXlvdXRDb21wb25lbnQ6IER5bmFtaWNMYXlvdXRDb21wb25lbnQsXG4gICkge1xuICAgIGlmIChkeW5hbWljTGF5b3V0Q29tcG9uZW50KSB7XG4gICAgICBpZiAoaXNEZXZNb2RlKSBjb25zb2xlLndhcm4oJ0R5bmFtaWNMYXlvdXRDb21wb25lbnQgbXVzdCBiZSB1c2VkIG9ubHkgaW4gQXBwQ29tcG9uZW50LicpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnJvdXRlID0gaW5qZWN0b3IuZ2V0KEFjdGl2YXRlZFJvdXRlKTtcbiAgICB0aGlzLnJvdXRlciA9IGluamVjdG9yLmdldChSb3V0ZXIpO1xuICAgIHRoaXMucm91dGVzID0gaW5qZWN0b3IuZ2V0KFJvdXRlc1NlcnZpY2UpO1xuXG4gICAgdGhpcy5jaGVja0xheW91dE9uTmF2aWdhdGlvbkVuZCgpO1xuICAgIHRoaXMubGlzdGVuVG9MYW5ndWFnZUNoYW5nZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGVja0xheW91dE9uTmF2aWdhdGlvbkVuZCgpIHtcbiAgICBjb25zdCBuYXZpZ2F0aW9uRW5kJCA9IHRoaXMucm91dGVyRXZlbnRzLmdldE5hdmlnYXRpb25FdmVudHMoJ0VuZCcpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZE9uZShuYXZpZ2F0aW9uRW5kJCwgKCkgPT4gdGhpcy5nZXRMYXlvdXQoKSk7XG4gIH1cblxuICBwcml2YXRlIGdldExheW91dCgpIHtcbiAgICBsZXQgZXhwZWN0ZWRMYXlvdXQgPSAodGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhIHx8IHt9KS5sYXlvdXQ7XG5cbiAgICBpZiAoIWV4cGVjdGVkTGF5b3V0KSB7XG4gICAgICBsZXQgbm9kZSA9IGZpbmRSb3V0ZSh0aGlzLnJvdXRlcywgZ2V0Um91dGVQYXRoKHRoaXMucm91dGVyKSk7XG4gICAgICBub2RlID0geyBwYXJlbnQ6IG5vZGUgfSBhcyBUcmVlTm9kZTxBQlAuUm91dGU+O1xuXG4gICAgICB3aGlsZSAobm9kZS5wYXJlbnQpIHtcbiAgICAgICAgbm9kZSA9IG5vZGUucGFyZW50O1xuXG4gICAgICAgIGlmIChub2RlLmxheW91dCkge1xuICAgICAgICAgIGV4cGVjdGVkTGF5b3V0ID0gbm9kZS5sYXlvdXQ7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoIWV4cGVjdGVkTGF5b3V0KSBleHBlY3RlZExheW91dCA9IGVMYXlvdXRUeXBlLmVtcHR5O1xuXG4gICAgaWYgKHRoaXMubGF5b3V0S2V5ID09PSBleHBlY3RlZExheW91dCkgcmV0dXJuO1xuXG4gICAgY29uc3Qga2V5ID0gdGhpcy5sYXlvdXRzLmdldChleHBlY3RlZExheW91dCk7XG4gICAgdGhpcy5sYXlvdXQgPSB0aGlzLmdldENvbXBvbmVudChrZXkpPy5jb21wb25lbnQ7XG4gICAgdGhpcy5sYXlvdXRLZXkgPSBleHBlY3RlZExheW91dDtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuVG9MYW5ndWFnZUNoYW5nZSgpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGRPbmUodGhpcy5sb2NhbGl6YXRpb25TZXJ2aWNlLmxhbmd1YWdlQ2hhbmdlJCwgKCkgPT4ge1xuICAgICAgdGhpcy5pc0xheW91dFZpc2libGUgPSBmYWxzZTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gKHRoaXMuaXNMYXlvdXRWaXNpYmxlID0gdHJ1ZSksIDApO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDb21wb25lbnQoa2V5OiBzdHJpbmcpOiBSZXBsYWNlYWJsZUNvbXBvbmVudHMuUmVwbGFjZWFibGVDb21wb25lbnQge1xuICAgIHJldHVybiB0aGlzLnJlcGxhY2VhYmxlQ29tcG9uZW50cy5nZXQoa2V5KTtcbiAgfVxufVxuIl19
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export * from './dynamic-layout.component';
|
|
2
|
-
export * from './replaceable-route-container.component';
|
|
3
|
-
export * from './router-outlet.component';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export * from './dynamic-layout.component';
|
|
2
|
+
export * from './replaceable-route-container.component';
|
|
3
|
+
export * from './router-outlet.component';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvY29tcG9uZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYywyQkFBMkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZHluYW1pYy1sYXlvdXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcmVwbGFjZWFibGUtcm91dGUtY29udGFpbmVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3JvdXRlci1vdXRsZXQuY29tcG9uZW50JztcbiJdfQ==
|
|
@@ -1,42 +1,42 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import { ActivatedRoute } from '@angular/router';
|
|
3
|
-
import { distinctUntilChanged } from 'rxjs/operators';
|
|
4
|
-
import { ReplaceableComponentsService } from '../services/replaceable-components.service';
|
|
5
|
-
import { SubscriptionService } from '../services/subscription.service';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@angular/router";
|
|
8
|
-
import * as i2 from "../services/replaceable-components.service";
|
|
9
|
-
import * as i3 from "../services/subscription.service";
|
|
10
|
-
import * as i4 from "@angular/common";
|
|
11
|
-
export class ReplaceableRouteContainerComponent {
|
|
12
|
-
constructor(route, replaceableComponents, subscription) {
|
|
13
|
-
this.route = route;
|
|
14
|
-
this.replaceableComponents = replaceableComponents;
|
|
15
|
-
this.subscription = subscription;
|
|
16
|
-
}
|
|
17
|
-
ngOnInit() {
|
|
18
|
-
this.defaultComponent = this.route.snapshot.data.replaceableComponent.defaultComponent;
|
|
19
|
-
this.componentKey = this.route.snapshot.data.replaceableComponent.key;
|
|
20
|
-
const component$ = this.replaceableComponents
|
|
21
|
-
.get$(this.componentKey)
|
|
22
|
-
.pipe(distinctUntilChanged());
|
|
23
|
-
this.subscription.addOne(component$, (res = {}) => {
|
|
24
|
-
this.externalComponent = res.component;
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
ReplaceableRouteContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ReplaceableRouteContainerComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.ReplaceableComponentsService }, { token: i3.SubscriptionService }], target: i0.ɵɵFactoryTarget.Component });
|
|
29
|
-
ReplaceableRouteContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: ReplaceableRouteContainerComponent, selector: "abp-replaceable-route-container", providers: [SubscriptionService], ngImport: i0, template: `
|
|
30
|
-
<ng-container *ngComponentOutlet="externalComponent || defaultComponent"></ng-container>
|
|
31
|
-
`, isInline: true, directives: [{ type: i4.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModuleFactory"] }] });
|
|
32
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ReplaceableRouteContainerComponent, decorators: [{
|
|
33
|
-
type: Component,
|
|
34
|
-
args: [{
|
|
35
|
-
selector: 'abp-replaceable-route-container',
|
|
36
|
-
template: `
|
|
37
|
-
<ng-container *ngComponentOutlet="externalComponent || defaultComponent"></ng-container>
|
|
38
|
-
`,
|
|
39
|
-
providers: [SubscriptionService],
|
|
40
|
-
}]
|
|
41
|
-
}], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i2.ReplaceableComponentsService }, { type: i3.SubscriptionService }]; } });
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import { ActivatedRoute } from '@angular/router';
|
|
3
|
+
import { distinctUntilChanged } from 'rxjs/operators';
|
|
4
|
+
import { ReplaceableComponentsService } from '../services/replaceable-components.service';
|
|
5
|
+
import { SubscriptionService } from '../services/subscription.service';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/router";
|
|
8
|
+
import * as i2 from "../services/replaceable-components.service";
|
|
9
|
+
import * as i3 from "../services/subscription.service";
|
|
10
|
+
import * as i4 from "@angular/common";
|
|
11
|
+
export class ReplaceableRouteContainerComponent {
|
|
12
|
+
constructor(route, replaceableComponents, subscription) {
|
|
13
|
+
this.route = route;
|
|
14
|
+
this.replaceableComponents = replaceableComponents;
|
|
15
|
+
this.subscription = subscription;
|
|
16
|
+
}
|
|
17
|
+
ngOnInit() {
|
|
18
|
+
this.defaultComponent = this.route.snapshot.data.replaceableComponent.defaultComponent;
|
|
19
|
+
this.componentKey = this.route.snapshot.data.replaceableComponent.key;
|
|
20
|
+
const component$ = this.replaceableComponents
|
|
21
|
+
.get$(this.componentKey)
|
|
22
|
+
.pipe(distinctUntilChanged());
|
|
23
|
+
this.subscription.addOne(component$, (res = {}) => {
|
|
24
|
+
this.externalComponent = res.component;
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
ReplaceableRouteContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ReplaceableRouteContainerComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.ReplaceableComponentsService }, { token: i3.SubscriptionService }], target: i0.ɵɵFactoryTarget.Component });
|
|
29
|
+
ReplaceableRouteContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: ReplaceableRouteContainerComponent, selector: "abp-replaceable-route-container", providers: [SubscriptionService], ngImport: i0, template: `
|
|
30
|
+
<ng-container *ngComponentOutlet="externalComponent || defaultComponent"></ng-container>
|
|
31
|
+
`, isInline: true, directives: [{ type: i4.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModuleFactory"] }] });
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ReplaceableRouteContainerComponent, decorators: [{
|
|
33
|
+
type: Component,
|
|
34
|
+
args: [{
|
|
35
|
+
selector: 'abp-replaceable-route-container',
|
|
36
|
+
template: `
|
|
37
|
+
<ng-container *ngComponentOutlet="externalComponent || defaultComponent"></ng-container>
|
|
38
|
+
`,
|
|
39
|
+
providers: [SubscriptionService],
|
|
40
|
+
}]
|
|
41
|
+
}], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i2.ReplaceableComponentsService }, { type: i3.SubscriptionService }]; } });
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwbGFjZWFibGUtcm91dGUtY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi9jb21wb25lbnRzL3JlcGxhY2VhYmxlLXJvdXRlLWNvbnRhaW5lci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDeEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzFGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7QUFTdkUsTUFBTSxPQUFPLGtDQUFrQztJQU83QyxZQUNVLEtBQXFCLEVBQ3JCLHFCQUFtRCxFQUNuRCxZQUFpQztRQUZqQyxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQiwwQkFBcUIsR0FBckIscUJBQXFCLENBQThCO1FBQ25ELGlCQUFZLEdBQVosWUFBWSxDQUFxQjtJQUN4QyxDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsZ0JBQWdCLENBQUM7UUFDdkYsSUFBSSxDQUFDLFlBQVksR0FDZixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsb0JBQzFCLENBQUMsR0FBRyxDQUFDO1FBRU4sTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLHFCQUFxQjthQUMxQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQzthQUN2QixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO1FBRWhDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUN0QixVQUFVLEVBQ1YsQ0FBQyxNQUFNLEVBQWdELEVBQUUsRUFBRTtZQUN6RCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQztRQUN6QyxDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUM7O2dJQTdCVSxrQ0FBa0M7b0hBQWxDLGtDQUFrQywwREFGbEMsQ0FBQyxtQkFBbUIsQ0FBQywwQkFIdEI7O0dBRVQ7NEZBR1Usa0NBQWtDO2tCQVA5QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQ0FBaUM7b0JBQzNDLFFBQVEsRUFBRTs7R0FFVDtvQkFDRCxTQUFTLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztpQkFDakMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBSZXBsYWNlYWJsZUNvbXBvbmVudHMgfSBmcm9tICcuLi9tb2RlbHMvcmVwbGFjZWFibGUtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBSZXBsYWNlYWJsZUNvbXBvbmVudHNTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvcmVwbGFjZWFibGUtY29tcG9uZW50cy5zZXJ2aWNlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvblNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9zdWJzY3JpcHRpb24uc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1yZXBsYWNlYWJsZS1yb3V0ZS1jb250YWluZXInLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuZy1jb250YWluZXIgKm5nQ29tcG9uZW50T3V0bGV0PVwiZXh0ZXJuYWxDb21wb25lbnQgfHwgZGVmYXVsdENvbXBvbmVudFwiPjwvbmctY29udGFpbmVyPlxuICBgLFxuICBwcm92aWRlcnM6IFtTdWJzY3JpcHRpb25TZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgUmVwbGFjZWFibGVSb3V0ZUNvbnRhaW5lckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGRlZmF1bHRDb21wb25lbnQ6IFR5cGU8YW55PjtcblxuICBjb21wb25lbnRLZXk6IHN0cmluZztcblxuICBleHRlcm5hbENvbXBvbmVudDogVHlwZTxhbnk+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgcmVwbGFjZWFibGVDb21wb25lbnRzOiBSZXBsYWNlYWJsZUNvbXBvbmVudHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb25TZXJ2aWNlLFxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5kZWZhdWx0Q29tcG9uZW50ID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhLnJlcGxhY2VhYmxlQ29tcG9uZW50LmRlZmF1bHRDb21wb25lbnQ7XG4gICAgdGhpcy5jb21wb25lbnRLZXkgPSAoXG4gICAgICB0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGEucmVwbGFjZWFibGVDb21wb25lbnQgYXMgUmVwbGFjZWFibGVDb21wb25lbnRzLlJvdXRlRGF0YVxuICAgICkua2V5O1xuXG4gICAgY29uc3QgY29tcG9uZW50JCA9IHRoaXMucmVwbGFjZWFibGVDb21wb25lbnRzXG4gICAgICAuZ2V0JCh0aGlzLmNvbXBvbmVudEtleSlcbiAgICAgIC5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuXG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkT25lKFxuICAgICAgY29tcG9uZW50JCxcbiAgICAgIChyZXMgPSB7fSBhcyBSZXBsYWNlYWJsZUNvbXBvbmVudHMuUmVwbGFjZWFibGVDb21wb25lbnQpID0+IHtcbiAgICAgICAgdGhpcy5leHRlcm5hbENvbXBvbmVudCA9IHJlcy5jb21wb25lbnQ7XG4gICAgICB9LFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/router";
|
|
4
|
-
export class RouterOutletComponent {
|
|
5
|
-
}
|
|
6
|
-
RouterOutletComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: RouterOutletComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
7
|
-
RouterOutletComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: RouterOutletComponent, selector: "abp-router-outlet", ngImport: i0, template: ` <router-outlet></router-outlet> `, isInline: true, directives: [{ type: i1.RouterOutlet, selector: "router-outlet", outputs: ["activate", "deactivate"], exportAs: ["outlet"] }] });
|
|
8
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: RouterOutletComponent, decorators: [{
|
|
9
|
-
type: Component,
|
|
10
|
-
args: [{
|
|
11
|
-
selector: 'abp-router-outlet',
|
|
12
|
-
template: ` <router-outlet></router-outlet> `,
|
|
13
|
-
}]
|
|
14
|
-
}] });
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/router";
|
|
4
|
+
export class RouterOutletComponent {
|
|
5
|
+
}
|
|
6
|
+
RouterOutletComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: RouterOutletComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
7
|
+
RouterOutletComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: RouterOutletComponent, selector: "abp-router-outlet", ngImport: i0, template: ` <router-outlet></router-outlet> `, isInline: true, directives: [{ type: i1.RouterOutlet, selector: "router-outlet", outputs: ["activate", "deactivate"], exportAs: ["outlet"] }] });
|
|
8
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: RouterOutletComponent, decorators: [{
|
|
9
|
+
type: Component,
|
|
10
|
+
args: [{
|
|
11
|
+
selector: 'abp-router-outlet',
|
|
12
|
+
template: ` <router-outlet></router-outlet> `,
|
|
13
|
+
}]
|
|
14
|
+
}] });
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLW91dGxldC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvY29tcG9uZW50cy9yb3V0ZXItb3V0bGV0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFNMUMsTUFBTSxPQUFPLHFCQUFxQjs7bUhBQXJCLHFCQUFxQjt1R0FBckIscUJBQXFCLHlEQUZ0QixtQ0FBbUM7NEZBRWxDLHFCQUFxQjtrQkFKakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixRQUFRLEVBQUUsbUNBQW1DO2lCQUM5QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhYnAtcm91dGVyLW91dGxldCcsXG4gIHRlbXBsYXRlOiBgIDxyb3V0ZXItb3V0bGV0Pjwvcm91dGVyLW91dGxldD4gYCxcbn0pXG5leHBvcnQgY2xhc3MgUm91dGVyT3V0bGV0Q29tcG9uZW50IHt9XG4iXX0=
|