@luigi-project/client-support-angular 2.13.1-dev.202406200026 → 2.13.1-dev.202406201239

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.
Files changed (32) hide show
  1. package/esm2022/lib/component/luigi.preload.component.mjs +11 -0
  2. package/esm2022/lib/luigi-mock/luigi-mock.module.mjs +40 -0
  3. package/esm2022/lib/luigi.angular.support.module.mjs +70 -0
  4. package/esm2022/lib/route/luigi-activated-route-snapshot-helper.mjs +11 -0
  5. package/esm2022/lib/service/luigi-auto-routing.service.mjs +139 -0
  6. package/esm2022/lib/service/luigi-context.model.mjs +6 -0
  7. package/esm2022/lib/service/luigi-context.service.impl.mjs +76 -0
  8. package/esm2022/lib/service/luigi-context.service.mjs +3 -0
  9. package/esm2022/public-api.mjs +11 -0
  10. package/{fesm2020 → fesm2022}/luigi-project-client-support-angular.mjs +121 -124
  11. package/fesm2022/luigi-project-client-support-angular.mjs.map +1 -0
  12. package/lib/component/luigi.preload.component.d.ts +2 -5
  13. package/lib/luigi.angular.support.module.d.ts +1 -1
  14. package/lib/service/luigi-auto-routing.service.d.ts +5 -7
  15. package/lib/service/luigi-context.model.d.ts +9 -0
  16. package/lib/service/{luigi-context-service.d.ts → luigi-context.service.d.ts} +1 -8
  17. package/lib/service/luigi-context.service.impl.d.ts +6 -6
  18. package/package.json +5 -11
  19. package/public-api.d.ts +4 -3
  20. package/esm2020/lib/component/luigi.preload.component.mjs +0 -13
  21. package/esm2020/lib/luigi-mock/luigi-mock.module.mjs +0 -40
  22. package/esm2020/lib/luigi.angular.support.module.mjs +0 -70
  23. package/esm2020/lib/route/luigi-activated-route-snapshot-helper.mjs +0 -11
  24. package/esm2020/lib/service/luigi-auto-routing.service.mjs +0 -141
  25. package/esm2020/lib/service/luigi-context-service.mjs +0 -8
  26. package/esm2020/lib/service/luigi-context.service.impl.mjs +0 -77
  27. package/esm2020/public-api.mjs +0 -10
  28. package/fesm2015/luigi-project-client-support-angular.mjs +0 -357
  29. package/fesm2015/luigi-project-client-support-angular.mjs.map +0 -1
  30. package/fesm2020/luigi-project-client-support-angular.mjs.map +0 -1
  31. /package/{esm2020 → esm2022}/lib/route/luigi-route-strategy.mjs +0 -0
  32. /package/{esm2020 → esm2022}/luigi-project-client-support-angular.mjs +0 -0
@@ -0,0 +1,11 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class LuigiPreloadComponent {
4
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: LuigiPreloadComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: LuigiPreloadComponent, selector: "lib-client-support-angular", ngImport: i0, template: "<p luigipreload=\"luigipreload\"></p>\n" });
6
+ }
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: LuigiPreloadComponent, decorators: [{
8
+ type: Component,
9
+ args: [{ selector: 'lib-client-support-angular', template: "<p luigipreload=\"luigipreload\"></p>\n" }]
10
+ }] });
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHVpZ2kucHJlbG9hZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtc3VwcG9ydC1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50L2x1aWdpLnByZWxvYWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXN1cHBvcnQtYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudC9sdWlnaS5wcmVsb2FkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTTFDLE1BQU0sT0FBTyxxQkFBcUI7d0dBQXJCLHFCQUFxQjs0RkFBckIscUJBQXFCLGtFQ05sQyx5Q0FDQTs7NEZES2EscUJBQXFCO2tCQUpqQyxTQUFTOytCQUNFLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItY2xpZW50LXN1cHBvcnQtYW5ndWxhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9sdWlnaS5wcmVsb2FkLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgTHVpZ2lQcmVsb2FkQ29tcG9uZW50IHt9XG4iLCI8cCBsdWlnaXByZWxvYWQ9XCJsdWlnaXByZWxvYWRcIj48L3A+XG4iXX0=
@@ -0,0 +1,40 @@
1
+ import { APP_INITIALIZER, NgModule } from '@angular/core';
2
+ import { LuigiMockEngine } from '@luigi-project/testing-utilities';
3
+ import * as i0 from "@angular/core";
4
+ // @dynamic
5
+ /*
6
+ * This class mocks Luigi Core related functionality.
7
+ *
8
+ * Micro Frontends that use Luigi Client would usually communicate with Luigi Core
9
+ * back and forth. When testing Luigi Client based components, Luigi Core might
10
+ * not be present which leads into limitations on integration/e2e testing for standalone
11
+ * microfrontends.
12
+ *
13
+ * This module adds a hook to the window postMessage API by adding an event listener to the
14
+ * global message event of the window object and mocking the callback.
15
+ * In the normal workflow this message would picked up by Luigi Core which then sends the response back.
16
+ */
17
+ export class LuigiMockModule {
18
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: LuigiMockModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
19
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: LuigiMockModule });
20
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: LuigiMockModule, providers: [
21
+ {
22
+ provide: APP_INITIALIZER,
23
+ useFactory: LuigiMockEngine.initPostMessageHook,
24
+ multi: true
25
+ }
26
+ ] });
27
+ }
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: LuigiMockModule, decorators: [{
29
+ type: NgModule,
30
+ args: [{
31
+ providers: [
32
+ {
33
+ provide: APP_INITIALIZER,
34
+ useFactory: LuigiMockEngine.initPostMessageHook,
35
+ multi: true
36
+ }
37
+ ]
38
+ }]
39
+ }] });
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHVpZ2ktbW9jay5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtc3VwcG9ydC1hbmd1bGFyL3NyYy9saWIvbHVpZ2ktbW9jay9sdWlnaS1tb2NrLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7O0FBRW5FLFdBQVc7QUFVWDs7Ozs7Ozs7Ozs7R0FXRztBQUNILE1BQU0sT0FBTyxlQUFlO3dHQUFmLGVBQWU7eUdBQWYsZUFBZTt5R0FBZixlQUFlLGFBcEJmO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGVBQWU7Z0JBQ3hCLFVBQVUsRUFBRSxlQUFlLENBQUMsbUJBQW1CO2dCQUMvQyxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0Y7OzRGQWNVLGVBQWU7a0JBckIzQixRQUFRO21CQUFDO29CQUNSLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsZUFBZTs0QkFDeEIsVUFBVSxFQUFFLGVBQWUsQ0FBQyxtQkFBbUI7NEJBQy9DLEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVBQX0lOSVRJQUxJWkVSLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTHVpZ2lNb2NrRW5naW5lIH0gZnJvbSAnQGx1aWdpLXByb2plY3QvdGVzdGluZy11dGlsaXRpZXMnO1xuXG4vLyBAZHluYW1pY1xuQE5nTW9kdWxlKHtcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxuICAgICAgdXNlRmFjdG9yeTogTHVpZ2lNb2NrRW5naW5lLmluaXRQb3N0TWVzc2FnZUhvb2ssXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXVxufSlcbi8qXG4gKiBUaGlzIGNsYXNzIG1vY2tzIEx1aWdpIENvcmUgcmVsYXRlZCBmdW5jdGlvbmFsaXR5LlxuICpcbiAqIE1pY3JvIEZyb250ZW5kcyB0aGF0IHVzZSBMdWlnaSBDbGllbnQgd291bGQgdXN1YWxseSBjb21tdW5pY2F0ZSB3aXRoIEx1aWdpIENvcmVcbiAqIGJhY2sgYW5kIGZvcnRoLiBXaGVuIHRlc3RpbmcgTHVpZ2kgQ2xpZW50IGJhc2VkIGNvbXBvbmVudHMsIEx1aWdpIENvcmUgbWlnaHRcbiAqIG5vdCBiZSBwcmVzZW50IHdoaWNoIGxlYWRzIGludG8gbGltaXRhdGlvbnMgb24gaW50ZWdyYXRpb24vZTJlIHRlc3RpbmcgZm9yIHN0YW5kYWxvbmVcbiAqIG1pY3JvZnJvbnRlbmRzLlxuICpcbiAqIFRoaXMgbW9kdWxlIGFkZHMgYSBob29rIHRvIHRoZSB3aW5kb3cgcG9zdE1lc3NhZ2UgQVBJIGJ5IGFkZGluZyBhbiBldmVudCBsaXN0ZW5lciB0byB0aGVcbiAqIGdsb2JhbCBtZXNzYWdlIGV2ZW50IG9mIHRoZSB3aW5kb3cgb2JqZWN0IGFuZCBtb2NraW5nIHRoZSBjYWxsYmFjay5cbiAqIEluIHRoZSBub3JtYWwgd29ya2Zsb3cgdGhpcyBtZXNzYWdlIHdvdWxkIHBpY2tlZCB1cCBieSBMdWlnaSBDb3JlIHdoaWNoIHRoZW4gc2VuZHMgdGhlIHJlc3BvbnNlIGJhY2suXG4gKi9cbmV4cG9ydCBjbGFzcyBMdWlnaU1vY2tNb2R1bGUgeyB9XG4iXX0=
@@ -0,0 +1,70 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { RouteReuseStrategy, RouterModule } from '@angular/router';
3
+ import { LuigiPreloadComponent } from './component/luigi.preload.component';
4
+ import { LuigiRouteStrategy } from './route/luigi-route-strategy';
5
+ import { LuigiContextService } from './service/luigi-context.service';
6
+ import { LuigiContextServiceImpl } from './service/luigi-context.service.impl';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "./service/luigi-auto-routing.service";
9
+ import * as i2 from "./service/luigi-context.service";
10
+ import * as i3 from "@angular/router";
11
+ export const staticRoutes = [
12
+ /** here an example if you want to specify that this component is a virtualTree element in Luigi Core navigation*/
13
+ {
14
+ path: 'luigi-client-support-preload',
15
+ component: LuigiPreloadComponent,
16
+ data: { fromVirtualTreeRoot: true }
17
+ },
18
+ /** here an example if you want to specify that this component it is a luigi component and u want to change the navigation in Luigi core*/
19
+ {
20
+ path: 'luigi-client-support-preload',
21
+ component: LuigiPreloadComponent,
22
+ data: { luigiRoute: '/home/reload' }
23
+ },
24
+ /** here an example if you want to reuse the component and not recreating every time you navigate to it (a singleton Component) It requires in your module to redefine */
25
+ {
26
+ path: 'luigi-client-support-preload=component',
27
+ component: LuigiPreloadComponent,
28
+ data: { reuse: true }
29
+ },
30
+ /** here an example if you want to update modalPathParam on internal navigation */
31
+ {
32
+ path: 'luigi-client-support-preload',
33
+ component: LuigiPreloadComponent,
34
+ data: { updateModalPathParam: true }
35
+ }
36
+ ];
37
+ export class LuigiAngularSupportModule {
38
+ constructor(navigation, context) { }
39
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: LuigiAngularSupportModule, deps: [{ token: i1.LuigiAutoRoutingService }, { token: i2.LuigiContextService }], target: i0.ɵɵFactoryTarget.NgModule });
40
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: LuigiAngularSupportModule, declarations: [LuigiPreloadComponent], imports: [i3.RouterModule], exports: [LuigiPreloadComponent] });
41
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: LuigiAngularSupportModule, providers: [
42
+ {
43
+ provide: LuigiContextService,
44
+ useClass: LuigiContextServiceImpl
45
+ },
46
+ {
47
+ provide: RouteReuseStrategy,
48
+ useClass: LuigiRouteStrategy
49
+ }
50
+ ], imports: [RouterModule.forChild(staticRoutes)] });
51
+ }
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: LuigiAngularSupportModule, decorators: [{
53
+ type: NgModule,
54
+ args: [{
55
+ declarations: [LuigiPreloadComponent],
56
+ imports: [RouterModule.forChild(staticRoutes)],
57
+ providers: [
58
+ {
59
+ provide: LuigiContextService,
60
+ useClass: LuigiContextServiceImpl
61
+ },
62
+ {
63
+ provide: RouteReuseStrategy,
64
+ useClass: LuigiRouteStrategy
65
+ }
66
+ ],
67
+ exports: [LuigiPreloadComponent]
68
+ }]
69
+ }], ctorParameters: () => [{ type: i1.LuigiAutoRoutingService }, { type: i2.LuigiContextService }] });
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHVpZ2kuYW5ndWxhci5zdXBwb3J0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC1zdXBwb3J0LWFuZ3VsYXIvc3JjL2xpYi9sdWlnaS5hbmd1bGFyLnN1cHBvcnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFlBQVksRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7OztBQUcvRSxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQVc7SUFDbEMsa0hBQWtIO0lBQ2xIO1FBQ0UsSUFBSSxFQUFFLDhCQUE4QjtRQUNwQyxTQUFTLEVBQUUscUJBQXFCO1FBQ2hDLElBQUksRUFBRSxFQUFFLG1CQUFtQixFQUFFLElBQUksRUFBRTtLQUNwQztJQUNELDBJQUEwSTtJQUMxSTtRQUNFLElBQUksRUFBRSw4QkFBOEI7UUFDcEMsU0FBUyxFQUFFLHFCQUFxQjtRQUNoQyxJQUFJLEVBQUUsRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFO0tBQ3JDO0lBQ0QsMEtBQTBLO0lBQzFLO1FBQ0UsSUFBSSxFQUFFLHdDQUF3QztRQUM5QyxTQUFTLEVBQUUscUJBQXFCO1FBQ2hDLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7S0FDdEI7SUFDRCxtRkFBbUY7SUFDbkY7UUFDRSxJQUFJLEVBQUUsOEJBQThCO1FBQ3BDLFNBQVMsRUFBRSxxQkFBcUI7UUFDaEMsSUFBSSxFQUFFLEVBQUUsb0JBQW9CLEVBQUUsSUFBSSxFQUFFO0tBQ3JDO0NBQ0YsQ0FBQztBQWlCRixNQUFNLE9BQU8seUJBQXlCO0lBQ3BDLFlBQVksVUFBbUMsRUFBRSxPQUE0QixJQUFHLENBQUM7d0dBRHRFLHlCQUF5Qjt5R0FBekIseUJBQXlCLGlCQWRyQixxQkFBcUIseUNBWTFCLHFCQUFxQjt5R0FFcEIseUJBQXlCLGFBWnpCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLG1CQUFtQjtnQkFDNUIsUUFBUSxFQUFFLHVCQUF1QjthQUNsQztZQUNEO2dCQUNFLE9BQU8sRUFBRSxrQkFBa0I7Z0JBQzNCLFFBQVEsRUFBRSxrQkFBa0I7YUFDN0I7U0FDRixZQVZTLFlBQVksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDOzs0RkFhbEMseUJBQXlCO2tCQWZyQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLHFCQUFxQixDQUFDO29CQUNyQyxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO29CQUM5QyxTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLG1CQUFtQjs0QkFDNUIsUUFBUSxFQUFFLHVCQUF1Qjt5QkFDbEM7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLGtCQUFrQjs0QkFDM0IsUUFBUSxFQUFFLGtCQUFrQjt5QkFDN0I7cUJBQ0Y7b0JBQ0QsT0FBTyxFQUFFLENBQUMscUJBQXFCLENBQUM7aUJBQ2pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlUmV1c2VTdHJhdGVneSwgUm91dGVyTW9kdWxlLCBSb3V0ZXMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgTHVpZ2lQcmVsb2FkQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnQvbHVpZ2kucHJlbG9hZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTHVpZ2lSb3V0ZVN0cmF0ZWd5IH0gZnJvbSAnLi9yb3V0ZS9sdWlnaS1yb3V0ZS1zdHJhdGVneSc7XG5pbXBvcnQgeyBMdWlnaUNvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlL2x1aWdpLWNvbnRleHQuc2VydmljZSc7XG5pbXBvcnQgeyBMdWlnaUNvbnRleHRTZXJ2aWNlSW1wbCB9IGZyb20gJy4vc2VydmljZS9sdWlnaS1jb250ZXh0LnNlcnZpY2UuaW1wbCc7XG5pbXBvcnQgeyBMdWlnaUF1dG9Sb3V0aW5nU2VydmljZSB9IGZyb20gJy4vc2VydmljZS9sdWlnaS1hdXRvLXJvdXRpbmcuc2VydmljZSc7XG5cbmV4cG9ydCBjb25zdCBzdGF0aWNSb3V0ZXM6IFJvdXRlcyA9IFtcbiAgLyoqIGhlcmUgYW4gZXhhbXBsZSBpZiB5b3Ugd2FudCB0byBzcGVjaWZ5IHRoYXQgdGhpcyBjb21wb25lbnQgaXMgYSB2aXJ0dWFsVHJlZSBlbGVtZW50IGluIEx1aWdpIENvcmUgbmF2aWdhdGlvbiovXG4gIHtcbiAgICBwYXRoOiAnbHVpZ2ktY2xpZW50LXN1cHBvcnQtcHJlbG9hZCcsXG4gICAgY29tcG9uZW50OiBMdWlnaVByZWxvYWRDb21wb25lbnQsXG4gICAgZGF0YTogeyBmcm9tVmlydHVhbFRyZWVSb290OiB0cnVlIH1cbiAgfSxcbiAgLyoqIGhlcmUgYW4gZXhhbXBsZSBpZiB5b3Ugd2FudCB0byBzcGVjaWZ5IHRoYXQgdGhpcyBjb21wb25lbnQgaXQgaXMgYSBsdWlnaSBjb21wb25lbnQgYW5kIHUgd2FudCB0byBjaGFuZ2UgdGhlIG5hdmlnYXRpb24gaW4gTHVpZ2kgY29yZSovXG4gIHtcbiAgICBwYXRoOiAnbHVpZ2ktY2xpZW50LXN1cHBvcnQtcHJlbG9hZCcsXG4gICAgY29tcG9uZW50OiBMdWlnaVByZWxvYWRDb21wb25lbnQsXG4gICAgZGF0YTogeyBsdWlnaVJvdXRlOiAnL2hvbWUvcmVsb2FkJyB9XG4gIH0sXG4gIC8qKiBoZXJlIGFuIGV4YW1wbGUgaWYgeW91IHdhbnQgdG8gcmV1c2UgdGhlIGNvbXBvbmVudCBhbmQgbm90IHJlY3JlYXRpbmcgZXZlcnkgdGltZSB5b3UgbmF2aWdhdGUgdG8gaXQgKGEgc2luZ2xldG9uIENvbXBvbmVudCkgSXQgcmVxdWlyZXMgaW4geW91ciBtb2R1bGUgdG8gcmVkZWZpbmUgICovXG4gIHtcbiAgICBwYXRoOiAnbHVpZ2ktY2xpZW50LXN1cHBvcnQtcHJlbG9hZD1jb21wb25lbnQnLFxuICAgIGNvbXBvbmVudDogTHVpZ2lQcmVsb2FkQ29tcG9uZW50LFxuICAgIGRhdGE6IHsgcmV1c2U6IHRydWUgfVxuICB9LFxuICAvKiogaGVyZSBhbiBleGFtcGxlIGlmIHlvdSB3YW50IHRvIHVwZGF0ZSBtb2RhbFBhdGhQYXJhbSBvbiBpbnRlcm5hbCBuYXZpZ2F0aW9uICAqL1xuICB7XG4gICAgcGF0aDogJ2x1aWdpLWNsaWVudC1zdXBwb3J0LXByZWxvYWQnLFxuICAgIGNvbXBvbmVudDogTHVpZ2lQcmVsb2FkQ29tcG9uZW50LFxuICAgIGRhdGE6IHsgdXBkYXRlTW9kYWxQYXRoUGFyYW06IHRydWUgfVxuICB9XG5dO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtMdWlnaVByZWxvYWRDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbUm91dGVyTW9kdWxlLmZvckNoaWxkKHN0YXRpY1JvdXRlcyldLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBMdWlnaUNvbnRleHRTZXJ2aWNlLFxuICAgICAgdXNlQ2xhc3M6IEx1aWdpQ29udGV4dFNlcnZpY2VJbXBsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBSb3V0ZVJldXNlU3RyYXRlZ3ksXG4gICAgICB1c2VDbGFzczogTHVpZ2lSb3V0ZVN0cmF0ZWd5XG4gICAgfVxuICBdLFxuICBleHBvcnRzOiBbTHVpZ2lQcmVsb2FkQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBMdWlnaUFuZ3VsYXJTdXBwb3J0TW9kdWxlIHtcbiAgY29uc3RydWN0b3IobmF2aWdhdGlvbjogTHVpZ2lBdXRvUm91dGluZ1NlcnZpY2UsIGNvbnRleHQ6IEx1aWdpQ29udGV4dFNlcnZpY2UpIHt9XG59XG4iXX0=
@@ -0,0 +1,11 @@
1
+ export class LuigiActivatedRouteSnapshotHelper {
2
+ // tslint:disable-next-line:variable-name
3
+ static _current = null;
4
+ static getCurrent() {
5
+ return LuigiActivatedRouteSnapshotHelper._current;
6
+ }
7
+ static setCurrent(current) {
8
+ LuigiActivatedRouteSnapshotHelper._current = current;
9
+ }
10
+ }
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHVpZ2ktYWN0aXZhdGVkLXJvdXRlLXNuYXBzaG90LWhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC1zdXBwb3J0LWFuZ3VsYXIvc3JjL2xpYi9yb3V0ZS9sdWlnaS1hY3RpdmF0ZWQtcm91dGUtc25hcHNob3QtaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxpQ0FBaUM7SUFDNUMseUNBQXlDO0lBQ2pDLE1BQU0sQ0FBQyxRQUFRLEdBQTRCLElBQTBDLENBQUM7SUFFOUYsTUFBTSxDQUFDLFVBQVU7UUFDZixPQUFPLGlDQUFpQyxDQUFDLFFBQVEsQ0FBQztJQUNwRCxDQUFDO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxPQUErQjtRQUMvQyxpQ0FBaUMsQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO0lBQ3ZELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuZXhwb3J0IGNsYXNzIEx1aWdpQWN0aXZhdGVkUm91dGVTbmFwc2hvdEhlbHBlciB7XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTp2YXJpYWJsZS1uYW1lXG4gIHByaXZhdGUgc3RhdGljIF9jdXJyZW50OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90ID0gKG51bGwgYXMgdW5rbm93bikgYXMgQWN0aXZhdGVkUm91dGVTbmFwc2hvdDtcblxuICBzdGF0aWMgZ2V0Q3VycmVudCgpOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90IHtcbiAgICByZXR1cm4gTHVpZ2lBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90SGVscGVyLl9jdXJyZW50O1xuICB9XG5cbiAgc3RhdGljIHNldEN1cnJlbnQoY3VycmVudDogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCk6IHZvaWQge1xuICAgIEx1aWdpQWN0aXZhdGVkUm91dGVTbmFwc2hvdEhlbHBlci5fY3VycmVudCA9IGN1cnJlbnQ7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,139 @@
1
+ import { Injectable, DestroyRef, inject } from '@angular/core';
2
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
3
+ import { NavigationEnd, convertToParamMap, } from '@angular/router';
4
+ import { linkManager, uxManager, isLuigiClientInitialized } from '@luigi-project/client';
5
+ import { filter } from 'rxjs/operators';
6
+ import { LuigiActivatedRouteSnapshotHelper } from '../route/luigi-activated-route-snapshot-helper';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/router";
9
+ import * as i2 from "./luigi-context.service";
10
+ export class LuigiAutoRoutingService {
11
+ router;
12
+ luigiContextService;
13
+ destroyRef = inject(DestroyRef);
14
+ constructor(router, luigiContextService) {
15
+ this.router = router;
16
+ this.luigiContextService = luigiContextService;
17
+ this.router.events
18
+ .pipe(this.doFilter(), takeUntilDestroyed(this.destroyRef))
19
+ .subscribe((event) => this.doSubscription(event));
20
+ }
21
+ doFilter() {
22
+ return filter((event) => !!(event instanceof NavigationEnd &&
23
+ event?.url?.length &&
24
+ !history?.state?.luigiInduced));
25
+ }
26
+ /**
27
+ * This method will be take in consideration angular route that having in data object the paramter
28
+ * fromVirtualTreeRoot: true, here an example:
29
+ * {path: 'demo', component: DemoComponent, data:{fromVirtualTreeRoot: true}}
30
+ * Another option is to specify the LuigiPath: if you add in route data luigiRoute:'/xxxx/xxx';
31
+ * in the case we will update the path in LuigiCore navigation, here an example
32
+ * {path: 'demo', component: DemoComponent, data:{luigiRoute: '/home/demo''}}
33
+ * If updateModalPathParam is specified, than modalPathParam will be updated upon internal navigation:
34
+ * {path: 'demo', component: DemoComponent, data:{updateModalPathParam: true}}
35
+ * @param event the NavigationEnd event
36
+ */
37
+ doSubscription(event) {
38
+ let current = LuigiActivatedRouteSnapshotHelper.getCurrent();
39
+ if (!current) {
40
+ current = this.router.routerState.root.snapshot;
41
+ while (current?.children?.length) {
42
+ // handle multiple children
43
+ let primary = null;
44
+ current.children.forEach((childSnapshot) => {
45
+ if (childSnapshot?.outlet === 'primary') {
46
+ primary = childSnapshot;
47
+ }
48
+ });
49
+ if (primary) {
50
+ current = primary;
51
+ }
52
+ else if (current.firstChild) {
53
+ current = current.firstChild;
54
+ }
55
+ else {
56
+ break;
57
+ }
58
+ }
59
+ }
60
+ if (current?.data && isLuigiClientInitialized()) {
61
+ const ux = uxManager();
62
+ let lm = linkManager().withoutSync();
63
+ let route;
64
+ if (current.data.luigiRoute) {
65
+ route = this.getResolvedLuigiRoute(current);
66
+ if (current.data.fromContext) {
67
+ if (!this.luigiContextService.getContext()) {
68
+ console.debug('Ignoring auto navigation request, luigi context not set');
69
+ return;
70
+ }
71
+ if (current.data.fromContext === true) {
72
+ lm = lm.fromClosestContext();
73
+ }
74
+ else {
75
+ lm = lm.fromContext(current.data.fromContext);
76
+ }
77
+ }
78
+ }
79
+ else if (current.data.fromVirtualTreeRoot) {
80
+ let url = event.url;
81
+ const truncate = current.data.fromVirtualTreeRoot.truncate;
82
+ if (truncate) {
83
+ if (truncate.indexOf('*') === 0) {
84
+ const index = url.indexOf(truncate.substring(1));
85
+ url = url.substring(index + truncate.length - 1);
86
+ }
87
+ else if (url.indexOf(truncate) === 0) {
88
+ url = url.substring(truncate.length);
89
+ }
90
+ }
91
+ route = url;
92
+ console.debug('Calling fromVirtualTreeRoot for url ==> ' + route);
93
+ lm = lm.fromVirtualTreeRoot();
94
+ }
95
+ if (ux.isModal()) {
96
+ if (current.data.updateModalDataPath) {
97
+ lm.updateModalPathInternalNavigation(route, {}, current.data.addHistoryEntry);
98
+ }
99
+ }
100
+ else if (route) {
101
+ lm.navigate(route);
102
+ }
103
+ }
104
+ }
105
+ getResolvedLuigiRoute(current) {
106
+ let route = current.data.luigiRoute;
107
+ const allParams = this.getAllParamsFromParents(current);
108
+ if (!route || !allParams) {
109
+ return route;
110
+ }
111
+ const pmap = convertToParamMap(allParams);
112
+ pmap.keys.forEach((key) => {
113
+ pmap.getAll(key).forEach((param) => {
114
+ route = route?.replace(':' + key, param);
115
+ });
116
+ });
117
+ return route;
118
+ }
119
+ getAllParamsFromParents(current) {
120
+ let allParams = {};
121
+ let currentToCheck = current;
122
+ while (currentToCheck) {
123
+ if (currentToCheck.params) {
124
+ allParams = { ...allParams, ...currentToCheck.params };
125
+ }
126
+ currentToCheck = currentToCheck.parent;
127
+ }
128
+ return allParams;
129
+ }
130
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: LuigiAutoRoutingService, deps: [{ token: i1.Router }, { token: i2.LuigiContextService }], target: i0.ɵɵFactoryTarget.Injectable });
131
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: LuigiAutoRoutingService, providedIn: 'root' });
132
+ }
133
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: LuigiAutoRoutingService, decorators: [{
134
+ type: Injectable,
135
+ args: [{
136
+ providedIn: 'root'
137
+ }]
138
+ }], ctorParameters: () => [{ type: i1.Router }, { type: i2.LuigiContextService }] });
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHVpZ2ktYXV0by1yb3V0aW5nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtc3VwcG9ydC1hbmd1bGFyL3NyYy9saWIvc2VydmljZS9sdWlnaS1hdXRvLXJvdXRpbmcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUdMLGFBQWEsRUFHYixpQkFBaUIsR0FDbEIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXpGLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQzs7OztBQU1uRyxNQUFNLE9BQU8sdUJBQXVCO0lBR2Q7SUFBd0I7SUFGcEMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUV4QyxZQUFvQixNQUFjLEVBQVUsbUJBQXdDO1FBQWhFLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBVSx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ2xGLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTTthQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQzFELFNBQVMsQ0FBQyxDQUFDLEtBQW9CLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sTUFB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SyxDQUFDLENBQUM7WUFDM0MsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELHVCQUF1QixDQUFDLE9BQStCO1FBQ3JELElBQUksU0FBUyxHQUE4QixFQUFFLENBQUM7UUFDOUMsSUFBSSxjQUFjLEdBQWtDLE9BQU8sQ0FBQztRQUU1RCxPQUFPLGNBQWMsRUFBRTtZQUNyQixJQUFJLGNBQWMsQ0FBQyxNQUFNLEVBQUU7Z0JBQ3pCLFNBQVMsR0FBRyxFQUFFLEdBQUcsU0FBUyxFQUFFLEdBQUcsY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDO2FBQ3hEO1lBRUQsY0FBYyxHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUM7U0FDeEM7UUFFRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO3dHQTVJVSx1QkFBdUI7NEdBQXZCLHVCQUF1QixjQUZ0QixNQUFNOzs0RkFFUCx1QkFBdUI7a0JBSG5DLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgRGVzdHJveVJlZiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge1xuICBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxuICBFdmVudCxcbiAgTmF2aWdhdGlvbkVuZCxcbiAgUGFyYW1NYXAsXG4gIFJvdXRlcixcbiAgY29udmVydFRvUGFyYW1NYXAsXG59IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBsaW5rTWFuYWdlciwgdXhNYW5hZ2VyLCBpc0x1aWdpQ2xpZW50SW5pdGlhbGl6ZWQgfSBmcm9tICdAbHVpZ2ktcHJvamVjdC9jbGllbnQnO1xuaW1wb3J0IHsgT3BlcmF0b3JGdW5jdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTHVpZ2lBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90SGVscGVyIH0gZnJvbSAnLi4vcm91dGUvbHVpZ2ktYWN0aXZhdGVkLXJvdXRlLXNuYXBzaG90LWhlbHBlcic7XG5pbXBvcnQgeyBMdWlnaUNvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi9sdWlnaS1jb250ZXh0LnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBMdWlnaUF1dG9Sb3V0aW5nU2VydmljZSB7XG4gIHByaXZhdGUgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyLCBwcml2YXRlIGx1aWdpQ29udGV4dFNlcnZpY2U6IEx1aWdpQ29udGV4dFNlcnZpY2UpIHtcbiAgICB0aGlzLnJvdXRlci5ldmVudHNcbiAgICAgIC5waXBlKHRoaXMuZG9GaWx0ZXIoKSwgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXG4gICAgICAuc3Vic2NyaWJlKChldmVudDogTmF2aWdhdGlvbkVuZCkgPT4gdGhpcy5kb1N1YnNjcmlwdGlvbihldmVudCkpO1xuICB9XG5cbiAgZG9GaWx0ZXIoKTogT3BlcmF0b3JGdW5jdGlvbjxFdmVudCwgTmF2aWdhdGlvbkVuZD4ge1xuICAgIHJldHVybiBmaWx0ZXIoXG4gICAgICAoZXZlbnQ6IEV2ZW50KTogZXZlbnQgaXMgTmF2aWdhdGlvbkVuZCA9PlxuICAgICAgICAhIShcbiAgICAgICAgICBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQgJiZcbiAgICAgICAgICBldmVudD8udXJsPy5sZW5ndGggJiZcbiAgICAgICAgICAhaGlzdG9yeT8uc3RhdGU/Lmx1aWdpSW5kdWNlZFxuICAgICAgICApXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGlzIG1ldGhvZCB3aWxsIGJlIHRha2UgaW4gY29uc2lkZXJhdGlvbiBhbmd1bGFyIHJvdXRlIHRoYXQgaGF2aW5nIGluIGRhdGEgb2JqZWN0IHRoZSBwYXJhbXRlclxuICAgKiBmcm9tVmlydHVhbFRyZWVSb290OiB0cnVlLCBoZXJlIGFuIGV4YW1wbGU6XG4gICAqIHtwYXRoOiAnZGVtbycsIGNvbXBvbmVudDogRGVtb0NvbXBvbmVudCwgZGF0YTp7ZnJvbVZpcnR1YWxUcmVlUm9vdDogdHJ1ZX19XG4gICAqIEFub3RoZXIgb3B0aW9uIGlzIHRvIHNwZWNpZnkgdGhlIEx1aWdpUGF0aDogaWYgeW91IGFkZCBpbiByb3V0ZSBkYXRhIGx1aWdpUm91dGU6Jy94eHh4L3h4eCc7XG4gICAqIGluIHRoZSBjYXNlIHdlIHdpbGwgdXBkYXRlIHRoZSBwYXRoIGluIEx1aWdpQ29yZSBuYXZpZ2F0aW9uLCBoZXJlIGFuIGV4YW1wbGVcbiAgICoge3BhdGg6ICdkZW1vJywgY29tcG9uZW50OiBEZW1vQ29tcG9uZW50LCBkYXRhOntsdWlnaVJvdXRlOiAnL2hvbWUvZGVtbycnfX1cbiAgICogSWYgdXBkYXRlTW9kYWxQYXRoUGFyYW0gaXMgc3BlY2lmaWVkLCB0aGFuIG1vZGFsUGF0aFBhcmFtIHdpbGwgYmUgdXBkYXRlZCB1cG9uIGludGVybmFsIG5hdmlnYXRpb246XG4gICAqIHtwYXRoOiAnZGVtbycsIGNvbXBvbmVudDogRGVtb0NvbXBvbmVudCwgZGF0YTp7dXBkYXRlTW9kYWxQYXRoUGFyYW06IHRydWV9fVxuICAgKiBAcGFyYW0gZXZlbnQgdGhlIE5hdmlnYXRpb25FbmQgZXZlbnRcbiAgICovXG4gIGRvU3Vic2NyaXB0aW9uKGV2ZW50OiBOYXZpZ2F0aW9uRW5kKTogdm9pZCB7XG4gICAgbGV0IGN1cnJlbnQ6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QgfCBudWxsID0gTHVpZ2lBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90SGVscGVyLmdldEN1cnJlbnQoKTtcblxuICAgIGlmICghY3VycmVudCkge1xuICAgICAgY3VycmVudCA9IHRoaXMucm91dGVyLnJvdXRlclN0YXRlLnJvb3Quc25hcHNob3Q7XG5cbiAgICAgIHdoaWxlIChjdXJyZW50Py5jaGlsZHJlbj8ubGVuZ3RoKSB7XG4gICAgICAgIC8vIGhhbmRsZSBtdWx0aXBsZSBjaGlsZHJlblxuICAgICAgICBsZXQgcHJpbWFyeTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCB8IG51bGwgPSBudWxsO1xuXG4gICAgICAgIGN1cnJlbnQuY2hpbGRyZW4uZm9yRWFjaCgoY2hpbGRTbmFwc2hvdDogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCkgPT4ge1xuICAgICAgICAgIGlmIChjaGlsZFNuYXBzaG90Py5vdXRsZXQgPT09ICdwcmltYXJ5Jykge1xuICAgICAgICAgICAgcHJpbWFyeSA9IGNoaWxkU25hcHNob3Q7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAocHJpbWFyeSkge1xuICAgICAgICAgIGN1cnJlbnQgPSBwcmltYXJ5O1xuICAgICAgICB9IGVsc2UgaWYgKGN1cnJlbnQuZmlyc3RDaGlsZCkge1xuICAgICAgICAgIGN1cnJlbnQgPSBjdXJyZW50LmZpcnN0Q2hpbGQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoY3VycmVudD8uZGF0YSAmJiBpc0x1aWdpQ2xpZW50SW5pdGlhbGl6ZWQoKSkge1xuICAgICAgY29uc3QgdXggPSB1eE1hbmFnZXIoKTtcbiAgICAgIGxldCBsbSA9IGxpbmtNYW5hZ2VyKCkud2l0aG91dFN5bmMoKTtcbiAgICAgIGxldCByb3V0ZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gICAgICBpZiAoY3VycmVudC5kYXRhLmx1aWdpUm91dGUpIHtcbiAgICAgICAgcm91dGUgPSB0aGlzLmdldFJlc29sdmVkTHVpZ2lSb3V0ZShjdXJyZW50KTtcblxuICAgICAgICBpZiAoY3VycmVudC5kYXRhLmZyb21Db250ZXh0KSB7XG4gICAgICAgICAgaWYgKCF0aGlzLmx1aWdpQ29udGV4dFNlcnZpY2UuZ2V0Q29udGV4dCgpKSB7XG4gICAgICAgICAgICBjb25zb2xlLmRlYnVnKCdJZ25vcmluZyBhdXRvIG5hdmlnYXRpb24gcmVxdWVzdCwgbHVpZ2kgY29udGV4dCBub3Qgc2V0Jyk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGN1cnJlbnQuZGF0YS5mcm9tQ29udGV4dCA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgbG0gPSBsbS5mcm9tQ2xvc2VzdENvbnRleHQoKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbG0gPSBsbS5mcm9tQ29udGV4dChjdXJyZW50LmRhdGEuZnJvbUNvbnRleHQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChjdXJyZW50LmRhdGEuZnJvbVZpcnR1YWxUcmVlUm9vdCkge1xuICAgICAgICBsZXQgdXJsID0gZXZlbnQudXJsO1xuICAgICAgICBjb25zdCB0cnVuY2F0ZSA9IGN1cnJlbnQuZGF0YS5mcm9tVmlydHVhbFRyZWVSb290LnRydW5jYXRlO1xuXG4gICAgICAgIGlmICh0cnVuY2F0ZSkge1xuICAgICAgICAgIGlmICh0cnVuY2F0ZS5pbmRleE9mKCcqJykgPT09IDApIHtcbiAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gdXJsLmluZGV4T2YodHJ1bmNhdGUuc3Vic3RyaW5nKDEpKTtcblxuICAgICAgICAgICAgdXJsID0gdXJsLnN1YnN0cmluZyhpbmRleCArIHRydW5jYXRlLmxlbmd0aCAtIDEpO1xuICAgICAgICAgIH0gZWxzZSBpZiAodXJsLmluZGV4T2YodHJ1bmNhdGUpID09PSAwKSB7XG4gICAgICAgICAgICB1cmwgPSB1cmwuc3Vic3RyaW5nKHRydW5jYXRlLmxlbmd0aCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcm91dGUgPSB1cmw7XG4gICAgICAgIGNvbnNvbGUuZGVidWcoJ0NhbGxpbmcgZnJvbVZpcnR1YWxUcmVlUm9vdCBmb3IgdXJsID09PiAnICsgcm91dGUpO1xuICAgICAgICBsbSA9IGxtLmZyb21WaXJ0dWFsVHJlZVJvb3QoKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHV4LmlzTW9kYWwoKSkge1xuICAgICAgICBpZiAoY3VycmVudC5kYXRhLnVwZGF0ZU1vZGFsRGF0YVBhdGgpIHtcbiAgICAgICAgICBsbS51cGRhdGVNb2RhbFBhdGhJbnRlcm5hbE5hdmlnYXRpb24ocm91dGUgYXMgc3RyaW5nLCB7fSwgY3VycmVudC5kYXRhLmFkZEhpc3RvcnlFbnRyeSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAocm91dGUpIHtcbiAgICAgICAgbG0ubmF2aWdhdGUocm91dGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldFJlc29sdmVkTHVpZ2lSb3V0ZShcbiAgICBjdXJyZW50OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90XG4gICk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgbGV0IHJvdXRlOiBzdHJpbmcgfCB1bmRlZmluZWQgPSBjdXJyZW50LmRhdGEubHVpZ2lSb3V0ZTtcbiAgICBjb25zdCBhbGxQYXJhbXMgPSB0aGlzLmdldEFsbFBhcmFtc0Zyb21QYXJlbnRzKGN1cnJlbnQpO1xuXG4gICAgaWYgKCFyb3V0ZSB8fCAhYWxsUGFyYW1zKSB7XG4gICAgICByZXR1cm4gcm91dGU7XG4gICAgfVxuXG4gICAgY29uc3QgcG1hcDogUGFyYW1NYXAgPSBjb252ZXJ0VG9QYXJhbU1hcChhbGxQYXJhbXMpO1xuXG4gICAgcG1hcC5rZXlzLmZvckVhY2goKGtleTogc3RyaW5nKSA9PiB7XG4gICAgICBwbWFwLmdldEFsbChrZXkpLmZvckVhY2goKHBhcmFtOiBzdHJpbmcpID0+IHtcbiAgICAgICAgcm91dGUgPSByb3V0ZT8ucmVwbGFjZSgnOicgKyBrZXksIHBhcmFtKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHJvdXRlO1xuICB9XG5cbiAgZ2V0QWxsUGFyYW1zRnJvbVBhcmVudHMoY3VycmVudDogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCk6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gfCB1bmRlZmluZWQge1xuICAgIGxldCBhbGxQYXJhbXM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcbiAgICBsZXQgY3VycmVudFRvQ2hlY2s6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QgfCBudWxsID0gY3VycmVudDtcblxuICAgIHdoaWxlIChjdXJyZW50VG9DaGVjaykge1xuICAgICAgaWYgKGN1cnJlbnRUb0NoZWNrLnBhcmFtcykge1xuICAgICAgICBhbGxQYXJhbXMgPSB7IC4uLmFsbFBhcmFtcywgLi4uY3VycmVudFRvQ2hlY2sucGFyYW1zIH07XG4gICAgICB9XG5cbiAgICAgIGN1cnJlbnRUb0NoZWNrID0gY3VycmVudFRvQ2hlY2sucGFyZW50O1xuICAgIH1cblxuICAgIHJldHVybiBhbGxQYXJhbXM7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,6 @@
1
+ export var ILuigiContextTypes;
2
+ (function (ILuigiContextTypes) {
3
+ ILuigiContextTypes[ILuigiContextTypes["INIT"] = 0] = "INIT";
4
+ ILuigiContextTypes[ILuigiContextTypes["UPDATE"] = 1] = "UPDATE";
5
+ })(ILuigiContextTypes || (ILuigiContextTypes = {}));
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHVpZ2ktY29udGV4dC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC1zdXBwb3J0LWFuZ3VsYXIvc3JjL2xpYi9zZXJ2aWNlL2x1aWdpLWNvbnRleHQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFOLElBQVksa0JBR1g7QUFIRCxXQUFZLGtCQUFrQjtJQUM1QiwyREFBSSxDQUFBO0lBQ0osK0RBQU0sQ0FBQTtBQUNSLENBQUMsRUFIVyxrQkFBa0IsS0FBbEIsa0JBQWtCLFFBRzdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gJ0BsdWlnaS1wcm9qZWN0L2NsaWVudCc7XG5cbmV4cG9ydCBlbnVtIElMdWlnaUNvbnRleHRUeXBlcyB7XG4gIElOSVQsXG4gIFVQREFURVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDb250ZXh0TWVzc2FnZSB7XG4gIGNvbnRleHQ6IENvbnRleHQ7XG4gIGNvbnRleHRUeXBlOiBJTHVpZ2lDb250ZXh0VHlwZXM7XG59XG4iXX0=
@@ -0,0 +1,76 @@
1
+ import { inject, Injectable, NgZone } from '@angular/core';
2
+ import { addInitListener, addContextUpdateListener } from '@luigi-project/client';
3
+ import { ReplaySubject } from 'rxjs';
4
+ import { first } from 'rxjs/operators';
5
+ import { ILuigiContextTypes } from './luigi-context.model';
6
+ import * as i0 from "@angular/core";
7
+ export class LuigiContextServiceImpl {
8
+ subject = new ReplaySubject(1);
9
+ currentContext;
10
+ ngZone = inject(NgZone);
11
+ constructor() {
12
+ addInitListener((initContext) => {
13
+ this.addListener(ILuigiContextTypes.INIT, initContext);
14
+ });
15
+ addContextUpdateListener((updateContext) => {
16
+ this.addListener(ILuigiContextTypes.UPDATE, updateContext);
17
+ });
18
+ }
19
+ addListener(contextType, context) {
20
+ this.setContext({
21
+ contextType,
22
+ context
23
+ });
24
+ }
25
+ contextObservable() {
26
+ return this.subject.asObservable();
27
+ }
28
+ /**
29
+ * Get latest context object retrieved from luigi core application or empty object, if not yet set.
30
+ */
31
+ getContext() {
32
+ return this.currentContext?.context || {};
33
+ }
34
+ /**
35
+ * Get a promise that resolves when context is set.
36
+ */
37
+ getContextAsync() {
38
+ return new Promise((resolve, reject) => {
39
+ const context = this.getContext();
40
+ if (this.isObject(context) && Object.keys(context)?.length) {
41
+ resolve(this.getContext());
42
+ }
43
+ else {
44
+ this.contextObservable()
45
+ .pipe(first())
46
+ .subscribe((ctx) => resolve(ctx.context));
47
+ }
48
+ });
49
+ }
50
+ /**
51
+ * Checks if input is an object.
52
+ * @param objectToCheck mixed
53
+ * @returns {boolean}
54
+ */
55
+ isObject(objectToCheck) {
56
+ return !!(objectToCheck && typeof objectToCheck === 'object' && !Array.isArray(objectToCheck));
57
+ }
58
+ /**
59
+ * Set current context
60
+ */
61
+ setContext(obj) {
62
+ this.ngZone.run(() => {
63
+ this.currentContext = obj;
64
+ this.subject.next(obj);
65
+ });
66
+ }
67
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: LuigiContextServiceImpl, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
68
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: LuigiContextServiceImpl, providedIn: 'root' });
69
+ }
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: LuigiContextServiceImpl, decorators: [{
71
+ type: Injectable,
72
+ args: [{
73
+ providedIn: 'root'
74
+ }]
75
+ }], ctorParameters: () => [] });
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHVpZ2ktY29udGV4dC5zZXJ2aWNlLmltcGwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtc3VwcG9ydC1hbmd1bGFyL3NyYy9saWIvc2VydmljZS9sdWlnaS1jb250ZXh0LnNlcnZpY2UuaW1wbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFXLGVBQWUsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNGLE9BQU8sRUFBRSxhQUFhLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZDLE9BQU8sRUFBbUIsa0JBQWtCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFNNUUsTUFBTSxPQUFPLHVCQUF1QjtJQUMxQixPQUFPLEdBQW1DLElBQUksYUFBYSxDQUFrQixDQUFDLENBQUMsQ0FBQztJQUNoRixjQUFjLENBQW1CO0lBQ2pDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFaEM7UUFDRSxlQUFlLENBQUMsQ0FBQyxXQUFvQixFQUFFLEVBQUU7WUFDdkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDekQsQ0FBQyxDQUFDLENBQUM7UUFDSCx3QkFBd0IsQ0FBQyxDQUFDLGFBQXNCLEVBQUUsRUFBRTtZQUNsRCxJQUFJLENBQUMsV0FBVyxDQUFDLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxhQUFhLENBQUMsQ0FBQztRQUM3RCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxXQUFXLENBQUMsV0FBK0IsRUFBRSxPQUFnQjtRQUNsRSxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQ2QsV0FBVztZQUNYLE9BQU87U0FDVyxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVNLGlCQUFpQjtRQUN0QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksVUFBVTtRQUNmLE9BQU8sSUFBSSxDQUFDLGNBQWMsRUFBRSxPQUFPLElBQUksRUFBRSxDQUFDO0lBQzVDLENBQUM7SUFFRDs7T0FFRztJQUNJLGVBQWU7UUFDcEIsT0FBTyxJQUFJLE9BQU8sQ0FBVSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUM5QyxNQUFNLE9BQU8sR0FBWSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFFM0MsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsTUFBTSxFQUFFO2dCQUMxRCxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7YUFDNUI7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLGlCQUFpQixFQUFFO3FCQUNyQixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7cUJBQ2IsU0FBUyxDQUFDLENBQUMsR0FBb0IsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO2FBQzlEO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLFFBQVEsQ0FBQyxhQUFrQjtRQUNqQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGFBQWEsSUFBSSxPQUFPLGFBQWEsS0FBSyxRQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7SUFDakcsQ0FBQztJQUVEOztPQUVHO0lBQ08sVUFBVSxDQUFDLEdBQW9CO1FBQ3ZDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNuQixJQUFJLENBQUMsY0FBYyxHQUFHLEdBQUcsQ0FBQztZQUMxQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7d0dBbEVVLHVCQUF1Qjs0R0FBdkIsdUJBQXVCLGNBRnRCLE1BQU07OzRGQUVQLHVCQUF1QjtrQkFIbkMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udGV4dCwgYWRkSW5pdExpc3RlbmVyLCBhZGRDb250ZXh0VXBkYXRlTGlzdGVuZXIgfSBmcm9tICdAbHVpZ2ktcHJvamVjdC9jbGllbnQnO1xuaW1wb3J0IHsgUmVwbGF5U3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlyc3QgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBJQ29udGV4dE1lc3NhZ2UsIElMdWlnaUNvbnRleHRUeXBlcyB9IGZyb20gJy4vbHVpZ2ktY29udGV4dC5tb2RlbCc7XG5pbXBvcnQgeyBMdWlnaUNvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi9sdWlnaS1jb250ZXh0LnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBMdWlnaUNvbnRleHRTZXJ2aWNlSW1wbCBpbXBsZW1lbnRzIEx1aWdpQ29udGV4dFNlcnZpY2Uge1xuICBwcml2YXRlIHN1YmplY3Q6IFJlcGxheVN1YmplY3Q8SUNvbnRleHRNZXNzYWdlPiA9IG5ldyBSZXBsYXlTdWJqZWN0PElDb250ZXh0TWVzc2FnZT4oMSk7XG4gIHByaXZhdGUgY3VycmVudENvbnRleHQhOiBJQ29udGV4dE1lc3NhZ2U7XG4gIHByaXZhdGUgbmdab25lID0gaW5qZWN0KE5nWm9uZSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgYWRkSW5pdExpc3RlbmVyKChpbml0Q29udGV4dDogQ29udGV4dCkgPT4ge1xuICAgICAgdGhpcy5hZGRMaXN0ZW5lcihJTHVpZ2lDb250ZXh0VHlwZXMuSU5JVCwgaW5pdENvbnRleHQpO1xuICAgIH0pO1xuICAgIGFkZENvbnRleHRVcGRhdGVMaXN0ZW5lcigodXBkYXRlQ29udGV4dDogQ29udGV4dCkgPT4ge1xuICAgICAgdGhpcy5hZGRMaXN0ZW5lcihJTHVpZ2lDb250ZXh0VHlwZXMuVVBEQVRFLCB1cGRhdGVDb250ZXh0KTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRMaXN0ZW5lcihjb250ZXh0VHlwZTogSUx1aWdpQ29udGV4dFR5cGVzLCBjb250ZXh0OiBDb250ZXh0KTogdm9pZCB7XG4gICAgdGhpcy5zZXRDb250ZXh0KHtcbiAgICAgIGNvbnRleHRUeXBlLFxuICAgICAgY29udGV4dFxuICAgIH0gYXMgSUNvbnRleHRNZXNzYWdlKTtcbiAgfVxuXG4gIHB1YmxpYyBjb250ZXh0T2JzZXJ2YWJsZSgpOiBPYnNlcnZhYmxlPElDb250ZXh0TWVzc2FnZT4ge1xuICAgIHJldHVybiB0aGlzLnN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGxhdGVzdCBjb250ZXh0IG9iamVjdCByZXRyaWV2ZWQgZnJvbSBsdWlnaSBjb3JlIGFwcGxpY2F0aW9uIG9yIGVtcHR5IG9iamVjdCwgaWYgbm90IHlldCBzZXQuXG4gICAqL1xuICBwdWJsaWMgZ2V0Q29udGV4dCgpOiBDb250ZXh0IHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50Q29udGV4dD8uY29udGV4dCB8fCB7fTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiBjb250ZXh0IGlzIHNldC5cbiAgICovXG4gIHB1YmxpYyBnZXRDb250ZXh0QXN5bmMoKTogUHJvbWlzZTxDb250ZXh0PiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPENvbnRleHQ+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGNvbnN0IGNvbnRleHQ6IENvbnRleHQgPSB0aGlzLmdldENvbnRleHQoKTtcblxuICAgICAgaWYgKHRoaXMuaXNPYmplY3QoY29udGV4dCkgJiYgT2JqZWN0LmtleXMoY29udGV4dCk/Lmxlbmd0aCkge1xuICAgICAgICByZXNvbHZlKHRoaXMuZ2V0Q29udGV4dCgpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuY29udGV4dE9ic2VydmFibGUoKVxuICAgICAgICAgIC5waXBlKGZpcnN0KCkpXG4gICAgICAgICAgLnN1YnNjcmliZSgoY3R4OiBJQ29udGV4dE1lc3NhZ2UpID0+IHJlc29sdmUoY3R4LmNvbnRleHQpKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgaW5wdXQgaXMgYW4gb2JqZWN0LlxuICAgKiBAcGFyYW0gb2JqZWN0VG9DaGVjayBtaXhlZFxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAgICovXG4gIHByaXZhdGUgaXNPYmplY3Qob2JqZWN0VG9DaGVjazogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhKG9iamVjdFRvQ2hlY2sgJiYgdHlwZW9mIG9iamVjdFRvQ2hlY2sgPT09ICdvYmplY3QnICYmICFBcnJheS5pc0FycmF5KG9iamVjdFRvQ2hlY2spKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgY3VycmVudCBjb250ZXh0XG4gICAqL1xuICBwcm90ZWN0ZWQgc2V0Q29udGV4dChvYmo6IElDb250ZXh0TWVzc2FnZSk6IHZvaWQge1xuICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICB0aGlzLmN1cnJlbnRDb250ZXh0ID0gb2JqO1xuICAgICAgdGhpcy5zdWJqZWN0Lm5leHQob2JqKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -0,0 +1,3 @@
1
+ export class LuigiContextService {
2
+ }
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHVpZ2ktY29udGV4dC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXN1cHBvcnQtYW5ndWxhci9zcmMvbGliL3NlcnZpY2UvbHVpZ2ktY29udGV4dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sT0FBZ0IsbUJBQW1CO0NBZ0J4QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnRleHQgfSBmcm9tICdAbHVpZ2ktcHJvamVjdC9jbGllbnQnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSUNvbnRleHRNZXNzYWdlIH0gZnJvbSAnLi9sdWlnaS1jb250ZXh0Lm1vZGVsJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEx1aWdpQ29udGV4dFNlcnZpY2Uge1xuICAvKipcbiAgICogTGlzdGVuIHRvIGNvbnRleHQgY2hhbmdlc1xuICAgKiBSZWNlaXZlcyBjdXJyZW50IHZhbHVlLCBldmVuIGlmIHRoZSBldmVudCB3YXMgYWxyZWFkeSBkaXNwYXRjaGVkIGVhcmxpZXIuXG4gICAqL1xuICBhYnN0cmFjdCBjb250ZXh0T2JzZXJ2YWJsZSgpOiBPYnNlcnZhYmxlPElDb250ZXh0TWVzc2FnZT47XG5cbiAgLyoqXG4gICAqIEdldCBsYXRlc3Qgc2V0IGNvbnRleHQgb2JqZWN0XG4gICAqL1xuICBhYnN0cmFjdCBnZXRDb250ZXh0KCk6IENvbnRleHQ7XG5cbiAgLyoqXG4gICAqIEdldCBhIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIGNvbnRleHQgaXMgc2V0LlxuICAgKi9cbiAgYWJzdHJhY3QgZ2V0Q29udGV4dEFzeW5jKCk6IFByb21pc2U8Q29udGV4dD47XG59XG4iXX0=
@@ -0,0 +1,11 @@
1
+ /*
2
+ * Public API Surface of client-support-angular
3
+ */
4
+ export * from './lib/component/luigi.preload.component';
5
+ export * from './lib/luigi-mock/luigi-mock.module';
6
+ export * from './lib/luigi.angular.support.module';
7
+ export * from './lib/service/luigi-auto-routing.service';
8
+ export * from './lib/service/luigi-context.model';
9
+ export * from './lib/service/luigi-context.service';
10
+ export * from './lib/service/luigi-context.service.impl';
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC1zdXBwb3J0LWFuZ3VsYXIvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDBDQUEwQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBjbGllbnQtc3VwcG9ydC1hbmd1bGFyXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50L2x1aWdpLnByZWxvYWQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2x1aWdpLW1vY2svbHVpZ2ktbW9jay5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbHVpZ2kuYW5ndWxhci5zdXBwb3J0Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlL2x1aWdpLWF1dG8tcm91dGluZy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2UvbHVpZ2ktY29udGV4dC5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlL2x1aWdpLWNvbnRleHQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlL2x1aWdpLWNvbnRleHQuc2VydmljZS5pbXBsJztcbiJdfQ==