@luigi-project/client-support-angular 1.26.0 → 1.26.1-dev.20230290928

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 (39) hide show
  1. package/esm2020/lib/component/luigi.preload.component.mjs +13 -0
  2. package/esm2020/lib/luigi-mock/luigi-mock.module.mjs +178 -0
  3. package/esm2020/lib/luigi.angular.support.module.mjs +70 -0
  4. package/{esm2015/lib/route/luigi-activated-route-snapshot-helper.js → esm2020/lib/route/luigi-activated-route-snapshot-helper.mjs} +0 -0
  5. package/{esm2015/lib/route/luigi-route-strategy.js → esm2020/lib/route/luigi-route-strategy.mjs} +0 -0
  6. package/esm2020/lib/service/luigi-auto-routing.service.mjs +124 -0
  7. package/{esm2015/lib/service/luigi-context-service.js → esm2020/lib/service/luigi-context-service.mjs} +0 -0
  8. package/esm2020/lib/service/luigi-context.service.impl.mjs +69 -0
  9. package/esm2020/luigi-project-client-support-angular.mjs +5 -0
  10. package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
  11. package/fesm2015/{luigi-project-client-support-angular.js → luigi-project-client-support-angular.mjs} +88 -75
  12. package/fesm2015/luigi-project-client-support-angular.mjs.map +1 -0
  13. package/fesm2020/luigi-project-client-support-angular.mjs +469 -0
  14. package/fesm2020/luigi-project-client-support-angular.mjs.map +1 -0
  15. package/{luigi-project-client-support-angular.d.ts → index.d.ts} +1 -1
  16. package/lib/component/luigi.preload.component.d.ts +3 -0
  17. package/lib/component/luigi.preload.component.d.ts.map +1 -1
  18. package/lib/luigi-mock/luigi-mock.module.d.ts +4 -0
  19. package/lib/luigi-mock/luigi-mock.module.d.ts.map +1 -1
  20. package/lib/luigi.angular.support.module.d.ts +6 -0
  21. package/lib/luigi.angular.support.module.d.ts.map +1 -1
  22. package/lib/service/luigi-auto-routing.service.d.ts +3 -0
  23. package/lib/service/luigi-auto-routing.service.d.ts.map +1 -1
  24. package/lib/service/luigi-context.service.impl.d.ts +3 -0
  25. package/lib/service/luigi-context.service.impl.d.ts.map +1 -1
  26. package/luigi-project-client-support-angular.d.ts.map +1 -1
  27. package/package.json +24 -12
  28. package/bundles/luigi-project-client-support-angular.umd.js +0 -848
  29. package/bundles/luigi-project-client-support-angular.umd.js.map +0 -1
  30. package/bundles/luigi-project-client-support-angular.umd.min.js +0 -2
  31. package/bundles/luigi-project-client-support-angular.umd.min.js.map +0 -1
  32. package/esm2015/lib/component/luigi.preload.component.js +0 -13
  33. package/esm2015/lib/luigi-mock/luigi-mock.module.js +0 -170
  34. package/esm2015/lib/luigi.angular.support.module.js +0 -60
  35. package/esm2015/lib/service/luigi-auto-routing.service.js +0 -128
  36. package/esm2015/lib/service/luigi-context.service.impl.js +0 -70
  37. package/esm2015/luigi-project-client-support-angular.js +0 -6
  38. package/fesm2015/luigi-project-client-support-angular.js.map +0 -1
  39. package/luigi-project-client-support-angular.metadata.json +0 -1
@@ -1,128 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { Subscription } from 'rxjs';
3
- import { convertToParamMap, NavigationEnd, Router } from '@angular/router';
4
- import { linkManager, uxManager } from '@luigi-project/client';
5
- import { filter } from 'rxjs/operators';
6
- import { LuigiActivatedRouteSnapshotHelper } from '../route/luigi-activated-route-snapshot-helper';
7
- import { LuigiContextService } from './luigi-context-service';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "@angular/router";
10
- import * as i2 from "./luigi-context-service";
11
- export class LuigiAutoRoutingService {
12
- constructor(router, luigiContextService) {
13
- this.router = router;
14
- this.luigiContextService = luigiContextService;
15
- this.subscription = new Subscription();
16
- this.subscription.add(this.router.events.pipe(this.doFilter()).subscribe(this.doSubscription.bind(this)));
17
- }
18
- doFilter() {
19
- return filter((event) => {
20
- return !!(event instanceof NavigationEnd &&
21
- event.url &&
22
- event.url.length > 0 &&
23
- !(history.state && history.state.luigiInduced));
24
- });
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
- var _a;
39
- let current = LuigiActivatedRouteSnapshotHelper.getCurrent();
40
- if (!current) {
41
- current = this.router.routerState.root.snapshot;
42
- while (((_a = current === null || current === void 0 ? void 0 : current.children) === null || _a === void 0 ? void 0 : _a.length) > 0) {
43
- // handle multiple children
44
- let primary = null;
45
- current === null || current === void 0 ? void 0 : current.children.forEach(childSnapshot => {
46
- if (childSnapshot.outlet === 'primary') {
47
- primary = childSnapshot;
48
- }
49
- });
50
- if (primary) {
51
- current = primary;
52
- }
53
- else if (current.firstChild) {
54
- current = current.firstChild;
55
- }
56
- else {
57
- break;
58
- }
59
- }
60
- }
61
- if (current === null || current === void 0 ? void 0 : current.data) {
62
- const ux = uxManager();
63
- let lm = linkManager().withoutSync();
64
- let route;
65
- if (current.data.luigiRoute) {
66
- route = current.data.luigiRoute;
67
- if (current.params) {
68
- const pmap = convertToParamMap(current.params);
69
- pmap.keys.forEach(key => {
70
- const val = pmap.getAll(key).forEach(param => {
71
- route = route === null || route === void 0 ? void 0 : route.replace(':' + key, param);
72
- });
73
- });
74
- }
75
- if (current.data.fromContext) {
76
- if (!this.luigiContextService.getContext()) {
77
- console.debug('Ignoring auto navigation request, luigi context not set');
78
- return;
79
- }
80
- if (current.data.fromContext === true) {
81
- lm = lm.fromClosestContext();
82
- }
83
- else {
84
- lm = lm.fromContext(current.data.fromContext);
85
- }
86
- }
87
- }
88
- else if (current.data.fromVirtualTreeRoot) {
89
- let url = event.url;
90
- const truncate = current.data.fromVirtualTreeRoot.truncate;
91
- if (truncate) {
92
- if (truncate.indexOf('*') === 0) {
93
- const index = url.indexOf(truncate.substr(1));
94
- url = url.substr(index + truncate.length - 1);
95
- }
96
- else if (url.indexOf(truncate) === 0) {
97
- url = url.substr(truncate.length);
98
- }
99
- }
100
- route = url;
101
- console.debug('Calling fromVirtualTreeRoot for url ==> ' + route);
102
- lm = lm.fromVirtualTreeRoot();
103
- }
104
- if (ux.isModal()) {
105
- if (current.data.updateModalDataPath) {
106
- lm.updateModalPathInternalNavigation(route, {}, current.data.addHistoryEntry);
107
- }
108
- }
109
- else if (route) {
110
- lm.navigate(route);
111
- }
112
- }
113
- }
114
- ngOnDestroy() {
115
- this.subscription.unsubscribe();
116
- }
117
- }
118
- LuigiAutoRoutingService.ɵprov = i0.ɵɵdefineInjectable({ factory: function LuigiAutoRoutingService_Factory() { return new LuigiAutoRoutingService(i0.ɵɵinject(i1.Router), i0.ɵɵinject(i2.LuigiContextService)); }, token: LuigiAutoRoutingService, providedIn: "root" });
119
- LuigiAutoRoutingService.decorators = [
120
- { type: Injectable, args: [{
121
- providedIn: 'root'
122
- },] }
123
- ];
124
- LuigiAutoRoutingService.ctorParameters = () => [
125
- { type: Router },
126
- { type: LuigiContextService }
127
- ];
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHVpZ2ktYXV0by1yb3V0aW5nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtc3VwcG9ydC1hbmd1bGFyL3NyYy9saWIvc2VydmljZS9sdWlnaS1hdXRvLXJvdXRpbmcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBcUMsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxhQUFhLEVBQVksTUFBTSxFQUFlLE1BQU0saUJBQWlCLENBQUM7QUFDbEcsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDbkcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7QUFNOUQsTUFBTSxPQUFPLHVCQUF1QjtJQUdsQyxZQUFvQixNQUFjLEVBQVUsbUJBQXdDO1FBQWhFLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBVSx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBRjVFLGlCQUFZLEdBQWlCLElBQUksWUFBWSxFQUFFLENBQUM7UUFHdEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQ25CLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFlLENBQUMsQ0FDakcsQ0FBQztJQUNKLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxNQUFNLENBQUMsQ0FBQyxL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UUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ3BCO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbEMsQ0FBQzs7OztZQWhIRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQVRvRCxNQUFNO1lBSWxELG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT3BlcmF0b3JGdW5jdGlvbiwgUGFydGlhbE9ic2VydmVyLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNvbnZlcnRUb1BhcmFtTWFwLCBOYXZpZ2F0aW9uRW5kLCBQYXJhbU1hcCwgUm91dGVyLCBSb3V0ZXJFdmVudCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBsaW5rTWFuYWdlciwgdXhNYW5hZ2VyIH0gZnJvbSAnQGx1aWdpLXByb2plY3QvY2xpZW50JztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEx1aWdpQWN0aXZhdGVkUm91dGVTbmFwc2hvdEhlbHBlciB9IGZyb20gJy4uL3JvdXRlL2x1aWdpLWFjdGl2YXRlZC1yb3V0ZS1zbmFwc2hvdC1oZWxwZXInO1xuaW1wb3J0IHsgTHVpZ2lDb250ZXh0U2VydmljZSB9IGZyb20gJy4vbHVpZ2ktY29udGV4dC1zZXJ2aWNlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBMdWlnaUF1dG9Sb3V0aW5nU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZXI6IFJvdXRlciwgcHJpdmF0ZSBsdWlnaUNvbnRleHRTZXJ2aWNlOiBMdWlnaUNvbnRleHRTZXJ2aWNlKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKFxuICAgICAgdGhpcy5yb3V0ZXIuZXZlbnRzLnBpcGUodGhpcy5kb0ZpbHRlcigpKS5zdWJzY3JpYmUodGhpcy5kb1N1YnNjcmlwdGlvbi5iaW5kKHRoaXMpIGFzICgpID0+IHZvaWQpXG4gICAgKTtcbiAgfVxuXG4gIGRvRmlsdGVyKCk6IE9wZXJhdG9yRnVuY3Rpb248dW5rbm93biwgUm91dGVyRXZlbnQ+IHtcbiAgICByZXR1cm4gZmlsdGVyKChldmVudCk6IGV2ZW50IGlzIFJvdXRlckV2ZW50ID0+IHtcbiAgICAgIHJldHVybiAhIShcbiAgICAgICAgZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kICYmXG4gICAgICAgIGV2ZW50LnVybCAmJlxuICAgICAgICBldmVudC51cmwubGVuZ3RoID4gMCAmJlxuICAgICAgICAhKGhpc3Rvcnkuc3RhdGUgJiYgaGlzdG9yeS5zdGF0ZS5sdWlnaUluZHVjZWQpXG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgbWV0aG9kIHdpbGwgYmUgdGFrZSBpbiBjb25zaWRlcmF0aW9uIGFuZ3VsYXIgcm91dGUgdGhhdCBoYXZpbmcgaW4gZGF0YSBvYmplY3QgdGhlIHBhcmFtdGVyXG4gICAqIGZyb21WaXJ0dWFsVHJlZVJvb3Q6IHRydWUsIGhlcmUgYW4gZXhhbXBsZTpcbiAgICoge3BhdGg6ICdkZW1vJywgY29tcG9uZW50OiBEZW1vQ29tcG9uZW50LCBkYXRhOntmcm9tVmlydHVhbFRyZWVSb290OiB0cnVlfX1cbiAgICogQW5vdGhlciBvcHRpb24gaXMgdG8gc3BlY2lmeSB0aGUgTHVpZ2lQYXRoOiBpZiB5b3UgYWRkIGluIHJvdXRlIGRhdGEgbHVpZ2lSb3V0ZTonL3h4eHgveHh4JztcbiAgICogaW4gdGhlIGNhc2Ugd2Ugd2lsbCB1cGRhdGUgdGhlIHBhdGggaW4gTHVpZ2lDb3JlIG5hdmlnYXRpb24sIGhlcmUgYW4gZXhhbXBsZVxuICAgKiB7cGF0aDogJ2RlbW8nLCBjb21wb25lbnQ6IERlbW9Db21wb25lbnQsIGRhdGE6e2x1aWdpUm91dGU6ICcvaG9tZS9kZW1vJyd9fVxuICAgKiBJZiB1cGRhdGVNb2RhbFBhdGhQYXJhbSBpcyBzcGVjaWZpZWQsIHRoYW4gbW9kYWxQYXRoUGFyYW0gd2lsbCBiZSB1cGRhdGVkIHVwb24gaW50ZXJuYWwgbmF2aWdhdGlvbjpcbiAgICoge3BhdGg6ICdkZW1vJywgY29tcG9uZW50OiBEZW1vQ29tcG9uZW50LCBkYXRhOnt1cGRhdGVNb2RhbFBhdGhQYXJhbTogdHJ1ZX19XG4gICAqIEBwYXJhbSBldmVudCB0aGUgTmF2aWdhdGlvbkVuZCBldmVudFxuICAgKi9cbiAgZG9TdWJzY3JpcHRpb24oZXZlbnQ6IE5hdmlnYXRpb25FbmQpOiB2b2lkIHtcbiAgICBsZXQgY3VycmVudDogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCB8IG51bGwgPSBMdWlnaUFjdGl2YXRlZFJvdXRlU25hcHNob3RIZWxwZXIuZ2V0Q3VycmVudCgpO1xuXG4gICAgaWYgKCFjdXJyZW50KSB7XG4gICAgICBjdXJyZW50ID0gdGhpcy5yb3V0ZXIucm91dGVyU3RhdGUucm9vdC5zbmFwc2hvdDtcbiAgICAgIHdoaWxlIChjdXJyZW50Py5jaGlsZHJlbj8ubGVuZ3RoID4gMCkge1xuICAgICAgICAvLyBoYW5kbGUgbXVsdGlwbGUgY2hpbGRyZW5cbiAgICAgICAgbGV0IHByaW1hcnk6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QgfCBudWxsID0gbnVsbDtcblxuICAgICAgICBjdXJyZW50Py5jaGlsZHJlbi5mb3JFYWNoKGNoaWxkU25hcHNob3QgPT4ge1xuICAgICAgICAgIGlmIChjaGlsZFNuYXBzaG90Lm91dGxldCA9PT0gJ3ByaW1hcnknKSB7XG4gICAgICAgICAgICBwcmltYXJ5ID0gY2hpbGRTbmFwc2hvdDtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBpZiAocHJpbWFyeSkge1xuICAgICAgICAgIGN1cnJlbnQgPSBwcmltYXJ5O1xuICAgICAgICB9IGVsc2UgaWYgKGN1cnJlbnQuZmlyc3RDaGlsZCkge1xuICAgICAgICAgIGN1cnJlbnQgPSBjdXJyZW50LmZpcnN0Q2hpbGQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGN1cnJlbnQ/LmRhdGEpIHtcbiAgICAgIGNvbnN0IHV4ID0gdXhNYW5hZ2VyKCk7XG4gICAgICBsZXQgbG0gPSBsaW5rTWFuYWdlcigpLndpdGhvdXRTeW5jKCk7XG4gICAgICBsZXQgcm91dGU6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAgICAgaWYgKGN1cnJlbnQuZGF0YS5sdWlnaVJvdXRlKSB7XG4gICAgICAgIHJvdXRlID0gY3VycmVudC5kYXRhLmx1aWdpUm91dGU7XG5cbiAgICAgICAgaWYgKGN1cnJlbnQucGFyYW1zKSB7XG4gICAgICAgICAgY29uc3QgcG1hcDogUGFyYW1NYXAgPSBjb252ZXJ0VG9QYXJhbU1hcChjdXJyZW50LnBhcmFtcyk7XG4gICAgICAgICAgcG1hcC5rZXlzLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHZhbCA9IHBtYXAuZ2V0QWxsKGtleSkuZm9yRWFjaChwYXJhbSA9PiB7XG4gICAgICAgICAgICAgIHJvdXRlID0gcm91dGU/LnJlcGxhY2UoJzonICsga2V5LCBwYXJhbSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY3VycmVudC5kYXRhLmZyb21Db250ZXh0KSB7XG4gICAgICAgICAgaWYgKCF0aGlzLmx1aWdpQ29udGV4dFNlcnZpY2UuZ2V0Q29udGV4dCgpKSB7XG4gICAgICAgICAgICBjb25zb2xlLmRlYnVnKCdJZ25vcmluZyBhdXRvIG5hdmlnYXRpb24gcmVxdWVzdCwgbHVpZ2kgY29udGV4dCBub3Qgc2V0Jyk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChjdXJyZW50LmRhdGEuZnJvbUNvbnRleHQgPT09IHRydWUpIHtcbiAgICAgICAgICAgIGxtID0gbG0uZnJvbUNsb3Nlc3RDb250ZXh0KCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGxtID0gbG0uZnJvbUNvbnRleHQoY3VycmVudC5kYXRhLmZyb21Db250ZXh0KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoY3VycmVudC5kYXRhLmZyb21WaXJ0dWFsVHJlZVJvb3QpIHtcbiAgICAgICAgbGV0IHVybCA9IGV2ZW50LnVybDtcbiAgICAgICAgY29uc3QgdHJ1bmNhdGUgPSBjdXJyZW50LmRhdGEuZnJvbVZpcnR1YWxUcmVlUm9vdC50cnVuY2F0ZTtcbiAgICAgICAgaWYgKHRydW5jYXRlKSB7XG4gICAgICAgICAgaWYgKHRydW5jYXRlLmluZGV4T2YoJyonKSA9PT0gMCkge1xuICAgICAgICAgICAgY29uc3QgaW5kZXggPSB1cmwuaW5kZXhPZih0cnVuY2F0ZS5zdWJzdHIoMSkpO1xuICAgICAgICAgICAgdXJsID0gdXJsLnN1YnN0cihpbmRleCArIHRydW5jYXRlLmxlbmd0aCAtIDEpO1xuICAgICAgICAgIH0gZWxzZSBpZiAodXJsLmluZGV4T2YodHJ1bmNhdGUpID09PSAwKSB7XG4gICAgICAgICAgICB1cmwgPSB1cmwuc3Vic3RyKHRydW5jYXRlLmxlbmd0aCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJvdXRlID0gdXJsO1xuICAgICAgICBjb25zb2xlLmRlYnVnKCdDYWxsaW5nIGZyb21WaXJ0dWFsVHJlZVJvb3QgZm9yIHVybCA9PT4gJyArIHJvdXRlKTtcbiAgICAgICAgbG0gPSBsbS5mcm9tVmlydHVhbFRyZWVSb290KCk7XG4gICAgICB9XG5cbiAgICAgIGlmICh1eC5pc01vZGFsKCkpIHtcbiAgICAgICAgaWYgKGN1cnJlbnQuZGF0YS51cGRhdGVNb2RhbERhdGFQYXRoKSB7XG4gICAgICAgICAgbG0udXBkYXRlTW9kYWxQYXRoSW50ZXJuYWxOYXZpZ2F0aW9uKHJvdXRlIGFzIHN0cmluZywge30sIGN1cnJlbnQuZGF0YS5hZGRIaXN0b3J5RW50cnkpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHJvdXRlKSB7XG4gICAgICAgIGxtLm5hdmlnYXRlKHJvdXRlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICB9XG59XG4iXX0=
@@ -1,70 +0,0 @@
1
- import { Injectable, NgZone } from '@angular/core';
2
- import { ReplaySubject } from 'rxjs';
3
- import { first } from 'rxjs/operators';
4
- import { addInitListener, addContextUpdateListener } from '@luigi-project/client';
5
- import { ILuigiContextTypes } from './luigi-context-service';
6
- import * as i0 from "@angular/core";
7
- export class LuigiContextServiceImpl {
8
- constructor(zone) {
9
- this.zone = zone;
10
- this.subject = new ReplaySubject(1);
11
- this.currentContext = null;
12
- addInitListener(initContext => {
13
- this.addListener(ILuigiContextTypes.INIT, initContext);
14
- });
15
- addContextUpdateListener(updateContext => {
16
- this.addListener(ILuigiContextTypes.UPDATE, updateContext);
17
- });
18
- }
19
- contextObservable() {
20
- return this.subject.asObservable();
21
- }
22
- /**
23
- * Get latest context object retrieved from luigi core application or none, if not yet set.
24
- */
25
- getContext() {
26
- return this.currentContext && this.currentContext.context;
27
- }
28
- /**
29
- * Get a promise that resolves when context is set.
30
- */
31
- getContextAsync() {
32
- return new Promise((resolve, reject) => {
33
- if (this.getContext()) {
34
- resolve(this.getContext());
35
- }
36
- else {
37
- this.contextObservable()
38
- .pipe(first())
39
- .subscribe(ctx => {
40
- resolve(ctx.context);
41
- });
42
- }
43
- });
44
- }
45
- /**
46
- * Set current context
47
- */
48
- setContext(obj) {
49
- this.zone.run(() => {
50
- this.currentContext = obj;
51
- this.subject.next(obj);
52
- });
53
- }
54
- addListener(contextType, context) {
55
- this.setContext({
56
- contextType,
57
- context
58
- });
59
- }
60
- }
61
- LuigiContextServiceImpl.ɵprov = i0.ɵɵdefineInjectable({ factory: function LuigiContextServiceImpl_Factory() { return new LuigiContextServiceImpl(i0.ɵɵinject(i0.NgZone)); }, token: LuigiContextServiceImpl, providedIn: "root" });
62
- LuigiContextServiceImpl.decorators = [
63
- { type: Injectable, args: [{
64
- providedIn: 'root'
65
- },] }
66
- ];
67
- LuigiContextServiceImpl.ctorParameters = () => [
68
- { type: NgZone }
69
- ];
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHVpZ2ktY29udGV4dC5zZXJ2aWNlLmltcGwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtc3VwcG9ydC1hbmd1bGFyL3NyYy9saWIvc2VydmljZS9sdWlnaS1jb250ZXh0LnNlcnZpY2UuaW1wbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2QyxPQUFPLEVBQVcsZUFBZSxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDM0YsT0FBTyxFQUFtQixrQkFBa0IsRUFBdUIsTUFBTSx5QkFBeUIsQ0FBQzs7QUFLbkcsTUFBTSxPQUFPLHVCQUF1QjtJQUlsQyxZQUFvQixJQUFZO1FBQVosU0FBSSxHQUFKLElBQUksQ0FBUTtRQUh4QixZQUFPLEdBQW1DLElBQUksYUFBYSxDQUFrQixDQUFDLENBQUMsQ0FBQztRQUNoRixtQkFBYyxHQUFxQixJQUFtQyxDQUFDO1FBRzdFLGVBQWUsQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUM1QixJQUFJLENBQUMsV0FBVyxDQUFDLGtCQUFrQixDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztRQUN6RCxDQUFDLENBQUMsQ0FBQztRQUNILHdCQUF3QixDQUFDLGFBQWEsQ0FBQyxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQzdELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLGlCQUFpQjtRQUN0QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksVUFBVTtRQUNmLE9BQU8sSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQztJQUM1RCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxlQUFlO1FBQ3BCLE9BQU8sSUFBSSxPQUFPLENBQVUsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDOUMsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUU7Z0JBQ3JCLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQzthQUM1QjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsaUJBQWlCLEVBQUU7cUJBQ3JCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztxQkFDYixTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQ2YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDdkIsQ0FBQyxDQUFDLENBQUM7YUFDTjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ08sVUFBVSxDQUFDLEdBQW9CO1FBQ3ZDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNqQixJQUFJLENBQUMsY0FBYyxHQUFHLEdBQUcsQ0FBQztZQUMxQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXLENBQUMsV0FBK0IsRUFBRSxPQUFnQjtRQUMzRCxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQ2QsV0FBVztZQUNYLE9BQU87U0FDVyxDQUFDLENBQUM7SUFDeEIsQ0FBQzs7OztZQTNERixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQVJvQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZXBsYXlTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENvbnRleHQsIGFkZEluaXRMaXN0ZW5lciwgYWRkQ29udGV4dFVwZGF0ZUxpc3RlbmVyIH0gZnJvbSAnQGx1aWdpLXByb2plY3QvY2xpZW50JztcbmltcG9ydCB7IElDb250ZXh0TWVzc2FnZSwgSUx1aWdpQ29udGV4dFR5cGVzLCBMdWlnaUNvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi9sdWlnaS1jb250ZXh0LXNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBMdWlnaUNvbnRleHRTZXJ2aWNlSW1wbCBpbXBsZW1lbnRzIEx1aWdpQ29udGV4dFNlcnZpY2Uge1xuICBwcml2YXRlIHN1YmplY3Q6IFJlcGxheVN1YmplY3Q8SUNvbnRleHRNZXNzYWdlPiA9IG5ldyBSZXBsYXlTdWJqZWN0PElDb250ZXh0TWVzc2FnZT4oMSk7XG4gIHByaXZhdGUgY3VycmVudENvbnRleHQ6IElDb250ZXh0TWVzc2FnZSA9IChudWxsIGFzIHVua25vd24pIGFzIElDb250ZXh0TWVzc2FnZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHpvbmU6IE5nWm9uZSkge1xuICAgIGFkZEluaXRMaXN0ZW5lcihpbml0Q29udGV4dCA9PiB7XG4gICAgICB0aGlzLmFkZExpc3RlbmVyKElMdWlnaUNvbnRleHRUeXBlcy5JTklULCBpbml0Q29udGV4dCk7XG4gICAgfSk7XG4gICAgYWRkQ29udGV4dFVwZGF0ZUxpc3RlbmVyKHVwZGF0ZUNvbnRleHQgPT4ge1xuICAgICAgdGhpcy5hZGRMaXN0ZW5lcihJTHVpZ2lDb250ZXh0VHlwZXMuVVBEQVRFLCB1cGRhdGVDb250ZXh0KTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBjb250ZXh0T2JzZXJ2YWJsZSgpOiBPYnNlcnZhYmxlPElDb250ZXh0TWVzc2FnZT4ge1xuICAgIHJldHVybiB0aGlzLnN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGxhdGVzdCBjb250ZXh0IG9iamVjdCByZXRyaWV2ZWQgZnJvbSBsdWlnaSBjb3JlIGFwcGxpY2F0aW9uIG9yIG5vbmUsIGlmIG5vdCB5ZXQgc2V0LlxuICAgKi9cbiAgcHVibGljIGdldENvbnRleHQoKTogQ29udGV4dCB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudENvbnRleHQgJiYgdGhpcy5jdXJyZW50Q29udGV4dC5jb250ZXh0O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIGNvbnRleHQgaXMgc2V0LlxuICAgKi9cbiAgcHVibGljIGdldENvbnRleHRBc3luYygpOiBQcm9taXNlPENvbnRleHQ+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2U8Q29udGV4dD4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgaWYgKHRoaXMuZ2V0Q29udGV4dCgpKSB7XG4gICAgICAgIHJlc29sdmUodGhpcy5nZXRDb250ZXh0KCkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5jb250ZXh0T2JzZXJ2YWJsZSgpXG4gICAgICAgICAgLnBpcGUoZmlyc3QoKSlcbiAgICAgICAgICAuc3Vic2NyaWJlKGN0eCA9PiB7XG4gICAgICAgICAgICByZXNvbHZlKGN0eC5jb250ZXh0KTtcbiAgICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgY3VycmVudCBjb250ZXh0XG4gICAqL1xuICBwcm90ZWN0ZWQgc2V0Q29udGV4dChvYmo6IElDb250ZXh0TWVzc2FnZSk6IHZvaWQge1xuICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xuICAgICAgdGhpcy5jdXJyZW50Q29udGV4dCA9IG9iajtcbiAgICAgIHRoaXMuc3ViamVjdC5uZXh0KG9iaik7XG4gICAgfSk7XG4gIH1cblxuICBhZGRMaXN0ZW5lcihjb250ZXh0VHlwZTogSUx1aWdpQ29udGV4dFR5cGVzLCBjb250ZXh0OiBDb250ZXh0KTogdm9pZCB7XG4gICAgdGhpcy5zZXRDb250ZXh0KHtcbiAgICAgIGNvbnRleHRUeXBlLFxuICAgICAgY29udGV4dFxuICAgIH0gYXMgSUNvbnRleHRNZXNzYWdlKTtcbiAgfVxufVxuIl19
@@ -1,6 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- export { LuigiRouteStrategy as ɵa } from './lib/route/luigi-route-strategy';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHVpZ2ktcHJvamVjdC1jbGllbnQtc3VwcG9ydC1hbmd1bGFyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXN1cHBvcnQtYW5ndWxhci9zcmMvbHVpZ2ktcHJvamVjdC1jbGllbnQtc3VwcG9ydC1hbmd1bGFyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUM7QUFFN0IsT0FBTyxFQUFDLGtCQUFrQixJQUFJLEVBQUUsRUFBQyxNQUFNLGtDQUFrQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuXG5leHBvcnQge0x1aWdpUm91dGVTdHJhdGVneSBhcyDJtWF9IGZyb20gJy4vbGliL3JvdXRlL2x1aWdpLXJvdXRlLXN0cmF0ZWd5JzsiXX0=
@@ -1 +0,0 @@
1
- {"version":3,"file":"luigi-project-client-support-angular.js","sources":["../../../projects/client-support-angular/src/lib/component/luigi.preload.component.ts","../../../projects/client-support-angular/src/lib/service/luigi-context-service.ts","../../../projects/client-support-angular/src/lib/service/luigi-context.service.impl.ts","../../../projects/client-support-angular/src/lib/route/luigi-activated-route-snapshot-helper.ts","../../../projects/client-support-angular/src/lib/service/luigi-auto-routing.service.ts","../../../projects/client-support-angular/src/lib/route/luigi-route-strategy.ts","../../../projects/client-support-angular/src/lib/luigi.angular.support.module.ts","../../../projects/client-support-angular/src/lib/luigi-mock/luigi-mock.module.ts","../../../projects/client-support-angular/src/public-api.ts","../../../projects/client-support-angular/src/luigi-project-client-support-angular.ts"],"sourcesContent":["import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'lib-client-support-angular',\n templateUrl: './luigi.preload.component.html',\n styles: []\n})\nexport class LuigiPreloadComponent implements OnInit {\n constructor() {}\n ngOnInit(): void {}\n}\n","import { Context } from '@luigi-project/client';\nimport { Observable } from 'rxjs';\n\nexport abstract class LuigiContextService {\n /**\n * Listen to context changes\n * Receives current value, even if the event was already dispatched earlier.\n */\n abstract contextObservable(): Observable<IContextMessage>;\n\n /**\n * Get latest set context object (can be null/undefined, if not set yet)\n */\n abstract getContext(): Context;\n\n /**\n * Get a promise that resolves when context is set.\n */\n abstract getContextAsync(): Promise<Context>;\n}\n\nexport enum ILuigiContextTypes {\n INIT,\n UPDATE\n}\n\nexport interface IContextMessage {\n contextType: ILuigiContextTypes; // will be init or update\n context: Context;\n}\n","import { Injectable, NgZone } from '@angular/core';\nimport { ReplaySubject, Observable } from 'rxjs';\nimport { first } from 'rxjs/operators';\nimport { Context, addInitListener, addContextUpdateListener } from '@luigi-project/client';\nimport { IContextMessage, ILuigiContextTypes, LuigiContextService } from './luigi-context-service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LuigiContextServiceImpl implements LuigiContextService {\n private subject: ReplaySubject<IContextMessage> = new ReplaySubject<IContextMessage>(1);\n private currentContext: IContextMessage = (null as unknown) as IContextMessage;\n\n constructor(private zone: NgZone) {\n addInitListener(initContext => {\n this.addListener(ILuigiContextTypes.INIT, initContext);\n });\n addContextUpdateListener(updateContext => {\n this.addListener(ILuigiContextTypes.UPDATE, updateContext);\n });\n }\n\n public contextObservable(): Observable<IContextMessage> {\n return this.subject.asObservable();\n }\n\n /**\n * Get latest context object retrieved from luigi core application or none, if not yet set.\n */\n public getContext(): Context {\n return this.currentContext && this.currentContext.context;\n }\n\n /**\n * Get a promise that resolves when context is set.\n */\n public getContextAsync(): Promise<Context> {\n return new Promise<Context>((resolve, reject) => {\n if (this.getContext()) {\n resolve(this.getContext());\n } else {\n this.contextObservable()\n .pipe(first())\n .subscribe(ctx => {\n resolve(ctx.context);\n });\n }\n });\n }\n\n /**\n * Set current context\n */\n protected setContext(obj: IContextMessage): void {\n this.zone.run(() => {\n this.currentContext = obj;\n this.subject.next(obj);\n });\n }\n\n addListener(contextType: ILuigiContextTypes, context: Context): void {\n this.setContext({\n contextType,\n context\n } as IContextMessage);\n }\n}\n","import { ActivatedRouteSnapshot } from '@angular/router';\n\nexport class LuigiActivatedRouteSnapshotHelper {\n // tslint:disable-next-line:variable-name\n private static _current: ActivatedRouteSnapshot = (null as unknown) as ActivatedRouteSnapshot;\n\n static getCurrent(): ActivatedRouteSnapshot {\n return LuigiActivatedRouteSnapshotHelper._current;\n }\n\n static setCurrent(current: ActivatedRouteSnapshot): void {\n LuigiActivatedRouteSnapshotHelper._current = current;\n }\n}\n","import { Injectable, OnDestroy } from '@angular/core';\nimport { OperatorFunction, PartialObserver, Subscription } from 'rxjs';\nimport { convertToParamMap, NavigationEnd, ParamMap, Router, RouterEvent } from '@angular/router';\nimport { linkManager, uxManager } from '@luigi-project/client';\nimport { filter } from 'rxjs/operators';\nimport { LuigiActivatedRouteSnapshotHelper } from '../route/luigi-activated-route-snapshot-helper';\nimport { LuigiContextService } from './luigi-context-service';\nimport { ActivatedRouteSnapshot } from '@angular/router';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LuigiAutoRoutingService implements OnDestroy {\n private subscription: Subscription = new Subscription();\n\n constructor(private router: Router, private luigiContextService: LuigiContextService) {\n this.subscription.add(\n this.router.events.pipe(this.doFilter()).subscribe(this.doSubscription.bind(this) as () => void)\n );\n }\n\n doFilter(): OperatorFunction<unknown, RouterEvent> {\n return filter((event): event is RouterEvent => {\n return !!(\n event instanceof NavigationEnd &&\n event.url &&\n event.url.length > 0 &&\n !(history.state && history.state.luigiInduced)\n );\n });\n }\n\n /**\n * This method will be take in consideration angular route that having in data object the paramter\n * fromVirtualTreeRoot: true, here an example:\n * {path: 'demo', component: DemoComponent, data:{fromVirtualTreeRoot: true}}\n * Another option is to specify the LuigiPath: if you add in route data luigiRoute:'/xxxx/xxx';\n * in the case we will update the path in LuigiCore navigation, here an example\n * {path: 'demo', component: DemoComponent, data:{luigiRoute: '/home/demo''}}\n * If updateModalPathParam is specified, than modalPathParam will be updated upon internal navigation:\n * {path: 'demo', component: DemoComponent, data:{updateModalPathParam: true}}\n * @param event the NavigationEnd event\n */\n doSubscription(event: NavigationEnd): void {\n let current: ActivatedRouteSnapshot | null = LuigiActivatedRouteSnapshotHelper.getCurrent();\n\n if (!current) {\n current = this.router.routerState.root.snapshot;\n while (current?.children?.length > 0) {\n // handle multiple children\n let primary: ActivatedRouteSnapshot | null = null;\n\n current?.children.forEach(childSnapshot => {\n if (childSnapshot.outlet === 'primary') {\n primary = childSnapshot;\n }\n });\n if (primary) {\n current = primary;\n } else if (current.firstChild) {\n current = current.firstChild;\n } else {\n break;\n }\n }\n }\n if (current?.data) {\n const ux = uxManager();\n let lm = linkManager().withoutSync();\n let route: string | undefined;\n\n if (current.data.luigiRoute) {\n route = current.data.luigiRoute;\n\n if (current.params) {\n const pmap: ParamMap = convertToParamMap(current.params);\n pmap.keys.forEach(key => {\n const val = pmap.getAll(key).forEach(param => {\n route = route?.replace(':' + key, param);\n });\n });\n }\n if (current.data.fromContext) {\n if (!this.luigiContextService.getContext()) {\n console.debug('Ignoring auto navigation request, luigi context not set');\n return;\n }\n if (current.data.fromContext === true) {\n lm = lm.fromClosestContext();\n } else {\n lm = lm.fromContext(current.data.fromContext);\n }\n }\n } else if (current.data.fromVirtualTreeRoot) {\n let url = event.url;\n const truncate = current.data.fromVirtualTreeRoot.truncate;\n if (truncate) {\n if (truncate.indexOf('*') === 0) {\n const index = url.indexOf(truncate.substr(1));\n url = url.substr(index + truncate.length - 1);\n } else if (url.indexOf(truncate) === 0) {\n url = url.substr(truncate.length);\n }\n }\n route = url;\n console.debug('Calling fromVirtualTreeRoot for url ==> ' + route);\n lm = lm.fromVirtualTreeRoot();\n }\n\n if (ux.isModal()) {\n if (current.data.updateModalDataPath) {\n lm.updateModalPathInternalNavigation(route as string, {}, current.data.addHistoryEntry);\n }\n } else if (route) {\n lm.navigate(route);\n }\n }\n }\n\n ngOnDestroy(): void {\n this.subscription.unsubscribe();\n }\n}\n","import { BaseRouteReuseStrategy } from '@angular/router';\nimport { ActivatedRouteSnapshot, DetachedRouteHandle } from '@angular/router';\nimport { LuigiActivatedRouteSnapshotHelper } from './luigi-activated-route-snapshot-helper';\n\nexport class LuigiRouteStrategy extends BaseRouteReuseStrategy {\n retrieve(route: ActivatedRouteSnapshot): DetachedRouteHandle | null {\n LuigiActivatedRouteSnapshotHelper.setCurrent(route);\n return super.retrieve(route);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { RouteReuseStrategy, RouterModule, Routes } from '@angular/router';\nimport { LuigiPreloadComponent } from './component/luigi.preload.component';\nimport { LuigiContextService } from './service/luigi-context-service';\nimport { LuigiContextServiceImpl } from './service/luigi-context.service.impl';\nimport { LuigiAutoRoutingService } from './service/luigi-auto-routing.service';\nimport { LuigiRouteStrategy } from './route/luigi-route-strategy';\n\nexport const staticRoutes: Routes = [\n /** here an example if you want to specify that this component is a virtualTree element in Luigi Core navigation*/\n {\n path: 'luigi-client-support-preload',\n component: LuigiPreloadComponent,\n data: { fromVirtualTreeRoot: true }\n },\n /** 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*/\n {\n path: 'luigi-client-support-preload',\n component: LuigiPreloadComponent,\n data: { luigiRoute: '/home/reload' }\n },\n /** 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 */\n {\n path: 'luigi-client-support-preload=component',\n component: LuigiPreloadComponent,\n data: { reuse: true }\n },\n /** here an example if you want to update modalPathParam on internal navigation */\n {\n path: 'luigi-client-support-preload',\n component: LuigiPreloadComponent,\n data: { updateModalPathParam: true }\n }\n];\n\n@NgModule({\n declarations: [LuigiPreloadComponent],\n imports: [RouterModule.forChild(staticRoutes)],\n providers: [\n {\n provide: LuigiContextService,\n useClass: LuigiContextServiceImpl\n },\n {\n provide: RouteReuseStrategy,\n useClass: LuigiRouteStrategy\n }\n ],\n exports: [LuigiPreloadComponent]\n})\nexport class LuigiAngularSupportModule {\n constructor(navigation: LuigiAutoRoutingService, context: LuigiContextService) {}\n}\n","import { APP_INITIALIZER, NgModule } from '@angular/core';\nimport { LuigiMockEngine } from '@luigi-project/testing-utilities';\n\n// @dynamic\n@NgModule({\n providers: [\n {\n provide: APP_INITIALIZER,\n useFactory: LuigiMockEngine.initPostMessageHook,\n multi: true\n }\n ]\n})\n/*\n * This class mocks Luigi Core related functionality.\n *\n * Micro Frontends that use Luigi Client would usually communicate with Luigi Core\n * back and forth. When testing Luigi Client based components, Luigi Core might\n * not be present which leads into limitations on integration/e2e testing for standalone\n * microfrontends.\n *\n * This module adds a hook to the window postMessage API by adding an event listener to the\n * global message event of the window object and mocking the callback.\n * In the normal workflow this message would picked up by Luigi Core which then sends the response back.\n */\nexport class LuigiMockModule {\n // Add a hook to the post message api to mock the LuigiCore response to the Client\n public static initPostMessageHook() {\n return async (): Promise<void> => {\n // Check if Luigi Client is running standalone\n if (window.parent === window) {\n console.debug('Detected standalone mode');\n\n // Check and skip if Luigi environment is already mocked\n if ((window as any).luigiMockEnvironment) {\n return;\n }\n\n // mock target origin\n if ((window as any).LuigiClient) {\n (window as any).LuigiClient.setTargetOrigin('*');\n }\n\n (window as any).luigiMockEnvironment = {\n msgListener: function(e: any) {\n if (e.data.msg && (e.data.msg.startsWith('luigi.') || e.data.msg === 'storage')) {\n console.debug('Luigi msg', e.data);\n\n if (e.data.msg === 'luigi.get-context') {\n window.postMessage(\n {\n msg: 'luigi.init',\n emulated: true,\n internal: {\n viewStackSize: 1\n },\n context: e.data.context\n },\n '*'\n );\n }\n\n // vizualise retrieved event data\n LuigiMockEngine.visualize(JSON.stringify(e.data));\n\n // Check and run mocked callback if it exists\n const mockListener = (window as any).luigiMockEnvironment.mockListeners[e.data.msg];\n if (mockListener) {\n mockListener(e);\n }\n }\n },\n mockListeners: {\n 'luigi.navigation.pathExists': (event: any) => {\n const mockData = window.sessionStorage.getItem('luigiMockData');\n let mockDataParsed = mockData ? JSON.parse(mockData) : undefined;\n const inputPath = event.data.data.link;\n const pathExists = mockDataParsed && mockDataParsed.pathExists && mockDataParsed.pathExists[inputPath];\n\n const response = {\n msg: 'luigi.navigation.pathExists.answer',\n data: {\n correlationId: event.data.data.id,\n pathExists: pathExists ? pathExists : false\n },\n emulated: true\n };\n window.postMessage(response, '*');\n },\n //ux\n 'luigi.ux.confirmationModal.show': (event: any) => {\n const response = {\n msg: 'luigi.ux.confirmationModal.hide',\n data: event.data,\n emulated: true\n };\n window.postMessage(response, '*');\n },\n 'luigi.ux.alert.show': (event: any) => {\n const response = {\n msg: 'luigi.ux.alert.hide',\n data: event.data,\n emulated: true\n };\n window.postMessage(response, '*');\n },\n 'luigi.ux.set-current-locale': (event: any) => {\n const response = {\n msg: 'luigi.current-locale-changed',\n currentLocale: event.data.data.currentLocale,\n emulated: true\n };\n window.postMessage(response, '*');\n },\n // linkManager\n 'luigi.navigation.open': (event: any) => {\n const response = {\n msg: 'luigi.navigate.ok',\n data: event.data,\n emulated: true\n };\n window.postMessage(response, '*');\n },\n 'luigi.navigation.splitview.close': (event: any) => {\n const response = {\n msg: 'luigi.navigate.ok',\n data: event.data,\n emulated: true\n };\n window.postMessage(response, '*');\n },\n 'luigi.navigation.splitview.collapse': (event: any) => {\n const response = {\n msg: 'luigi.navigate.ok',\n data: event.data,\n emulated: true\n };\n window.postMessage(response, '*');\n },\n 'luigi.navigation.splitview.expand': (event: any) => {\n const response = {\n msg: 'luigi.navigate.ok',\n data: event.data,\n emulated: true\n };\n window.postMessage(response, '*');\n },\n // storage\n storage: () => {}\n }\n };\n\n // Listen to the global 'message' event of the window object\n window.addEventListener('message', (window as any).luigiMockEnvironment.msgListener);\n }\n };\n }\n\n /*\n * This method takes a data object of type 'any' and vizualizes a simple container\n * which holds data that is useful for e2e testing.\n */\n public static visualize(data: string): void {\n let luigiVisualizationContainer: Element | null = document.querySelector('#luigi-debug-vis-cnt');\n // Construct element structure if not already constructed\n if (!luigiVisualizationContainer) {\n luigiVisualizationContainer = document.createElement('div');\n luigiVisualizationContainer.setAttribute('id', 'luigi-debug-vis-cnt');\n // Hide the added DOM element to avoid interferring/overlapping with other elements during testing.\n luigiVisualizationContainer.setAttribute('style', 'display:none');\n document.body.appendChild(luigiVisualizationContainer);\n }\n const line: HTMLDivElement = document.createElement('div');\n line.textContent = data;\n luigiVisualizationContainer.appendChild(line);\n }\n}\n","/*\n * Public API Surface of client-support-angular\n */\n\nexport * from './lib/component/luigi.preload.component';\nexport * from './lib/luigi.angular.support.module';\nexport * from './lib/service/luigi-context-service';\nexport * from './lib/service/luigi-context.service.impl';\nexport * from './lib/service/luigi-auto-routing.service';\nexport * from './lib/luigi-mock/luigi-mock.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {LuigiRouteStrategy as ɵa} from './lib/route/luigi-route-strategy';"],"names":["ɵ0"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"__symbolic":"module","version":4,"metadata":{"LuigiPreloadComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"lib-client-support-angular","styles":[],"template":"<p luigipreload=\"luigipreload\"></p>\n"}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}},"staticRoutes":[{"path":"luigi-client-support-preload","component":{"__symbolic":"reference","name":"LuigiPreloadComponent"},"data":{"fromVirtualTreeRoot":true}},{"path":"luigi-client-support-preload","component":{"__symbolic":"reference","name":"LuigiPreloadComponent"},"data":{"luigiRoute":"/home/reload"}},{"path":"luigi-client-support-preload=component","component":{"__symbolic":"reference","name":"LuigiPreloadComponent"},"data":{"reuse":true}},{"path":"luigi-client-support-preload","component":{"__symbolic":"reference","name":"LuigiPreloadComponent"},"data":{"updateModalPathParam":true}}],"LuigiAngularSupportModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":35,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"LuigiPreloadComponent"}],"imports":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":37,"character":12},"member":"forChild"},"arguments":[{"__symbolic":"reference","name":"staticRoutes"}]}],"providers":[{"provide":{"__symbolic":"reference","name":"LuigiContextService"},"useClass":{"__symbolic":"reference","name":"LuigiContextServiceImpl"}},{"provide":{"__symbolic":"reference","module":"@angular/router","name":"RouteReuseStrategy","line":44,"character":15},"useClass":{"__symbolic":"reference","name":"ɵa"}}],"exports":[{"__symbolic":"reference","name":"LuigiPreloadComponent"}]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"LuigiAutoRoutingService"},{"__symbolic":"reference","name":"LuigiContextService"}]}]}},"LuigiContextService":{"__symbolic":"class","members":{"contextObservable":[{"__symbolic":"method"}],"getContext":[{"__symbolic":"method"}],"getContextAsync":[{"__symbolic":"method"}]}},"ILuigiContextTypes":{"INIT":0,"UPDATE":1},"IContextMessage":{"__symbolic":"interface"},"LuigiContextServiceImpl":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":6,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":13,"character":28}]}],"contextObservable":[{"__symbolic":"method"}],"getContext":[{"__symbolic":"method"}],"getContextAsync":[{"__symbolic":"method"}],"setContext":[{"__symbolic":"method"}],"addListener":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"LuigiAutoRoutingService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":9,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/router","name":"Router","line":15,"character":30},{"__symbolic":"reference","name":"LuigiContextService"}]}],"doFilter":[{"__symbolic":"method"}],"doSubscription":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"LuigiMockModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":4,"character":1},"arguments":[{"providers":[{"provide":{"__symbolic":"reference","module":"@angular/core","name":"APP_INITIALIZER","line":7,"character":15},"useFactory":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@luigi-project/testing-utilities","name":"LuigiMockEngine","line":8,"character":18},"member":"initPostMessageHook"},"multi":true}]}]}],"members":{},"statics":{"initPostMessageHook":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"error","message":"Lambda not supported","line":28,"character":11,"module":"./lib/luigi-mock/luigi-mock.module"}}}},"ɵa":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@angular/router","name":"BaseRouteReuseStrategy","line":4,"character":40},"members":{"retrieve":[{"__symbolic":"method"}]}}},"origins":{"LuigiPreloadComponent":"./lib/component/luigi.preload.component","staticRoutes":"./lib/luigi.angular.support.module","LuigiAngularSupportModule":"./lib/luigi.angular.support.module","LuigiContextService":"./lib/service/luigi-context-service","ILuigiContextTypes":"./lib/service/luigi-context-service","IContextMessage":"./lib/service/luigi-context-service","LuigiContextServiceImpl":"./lib/service/luigi-context.service.impl","LuigiAutoRoutingService":"./lib/service/luigi-auto-routing.service","LuigiMockModule":"./lib/luigi-mock/luigi-mock.module","ɵa":"./lib/route/luigi-route-strategy"},"importAs":"@luigi-project/client-support-angular"}