@dsivd/prestations-ng 17.0.1-beta.1 → 17.0.1-beta.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/CHANGELOG.md CHANGED
@@ -12,6 +12,10 @@
12
12
 
13
13
  - [breadcrumb.ts](projects/prestations-ng/src/foehn-breadcrumb/breadcrumb.ts)
14
14
  - Added `routerLinkQueryParams` to `BreadcrumbItem` class
15
+ - [foehn-breadcrumb.component.ts](projects/prestations-ng/src/foehn-breadcrumb/foehn-breadcrumb.component.ts)
16
+ - Added `SdkEventType.BREADCRUMB_CLICK` to `SdkEventsLoggerService` with details as `[URL|LINK]LABEL`
17
+ - [sdk-event-type.ts](projects/prestations-ng/src/sdk-events-logger/sdk-event-type.ts)
18
+ - added `BREADCRUMB_CLICK` : user has clicked on a breadcrumb item
15
19
 
16
20
  ## [17.0.0] - must be aligned with prestations-be (17.0.0+)
17
21
 
@@ -1,16 +1,19 @@
1
1
  import { Component, Input } from '@angular/core';
2
+ import { SdkEventType } from '../sdk-events-logger/sdk-event-type';
2
3
  import * as i0 from "@angular/core";
3
4
  import * as i1 from "./breadcrumb-event.service";
4
5
  import * as i2 from "@angular/router";
5
6
  import * as i3 from "../foehn-confirm-modal/foehn-confirm-modal.service";
6
7
  import * as i4 from "../sdk-session-info/session-info.service";
7
- import * as i5 from "@angular/common";
8
+ import * as i5 from "../sdk-events-logger/sdk-events-logger.service";
9
+ import * as i6 from "@angular/common";
8
10
  export class FoehnBreadcrumbComponent {
9
- constructor(breadcrumbService, router, foehnConfirmModalService, sessionInfo) {
11
+ constructor(breadcrumbService, router, foehnConfirmModalService, sessionInfo, sdkEventsLoggerService) {
10
12
  this.breadcrumbService = breadcrumbService;
11
13
  this.router = router;
12
14
  this.foehnConfirmModalService = foehnConfirmModalService;
13
15
  this.sessionInfo = sessionInfo;
16
+ this.sdkEventsLoggerService = sdkEventsLoggerService;
14
17
  this.breadcrumbItems = [];
15
18
  }
16
19
  reset() {
@@ -57,6 +60,7 @@ export class FoehnBreadcrumbComponent {
57
60
  window.location.href = item.url;
58
61
  }
59
62
  navigate(item) {
63
+ this.addBreadcrumbClickEventToLogger(item);
60
64
  if (item.routerLink && !item.routerLinkQueryParams) {
61
65
  this.router.navigate([item.routerLink]);
62
66
  }
@@ -69,17 +73,33 @@ export class FoehnBreadcrumbComponent {
69
73
  this.redirect(item);
70
74
  }
71
75
  }
72
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FoehnBreadcrumbComponent, deps: [{ token: i1.BreadcrumbEventService }, { token: i2.Router }, { token: i3.FoehnConfirmModalService }, { token: i4.SessionInfo }], target: i0.ɵɵFactoryTarget.Component }); }
73
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: FoehnBreadcrumbComponent, selector: "foehn-breadcrumb", inputs: { breadcrumbItems: "breadcrumbItems", currentNav: "currentNav", confirmLeavingAlert: "confirmLeavingAlert" }, ngImport: i0, template: "<nav\n id=\"page-breadcrumb\"\n aria-label=\"Fil d'Ariane\"\n *ngIf=\"breadcrumbItems.length > 0\"\n>\n <h2 class=\"visually-hidden\">Fil d'Ariane</h2>\n <ol class=\"breadcrumb breadcrumb--override\">\n <li class=\"breadcrumb-item\" *ngFor=\"let item of breadcrumbItems\">\n <a\n *ngIf=\"item.url || item.routerLink\"\n (click)=\"$event.preventDefault(); confirmAndLeave(item)\"\n href=\"#\"\n >\n {{ item.label }}\n </a>\n <ng-container *ngIf=\"!item.url && !item.routerLink\">\n {{ item.label }}\n </ng-container>\n </li>\n <li class=\"visually-hidden\" aria-current=\"page\" *ngIf=\"currentNav\">\n {{ currentNav }}\n </li>\n </ol>\n</nav>\n", styles: [".breadcrumb--override{margin:0;padding:.75rem 0 2rem}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
76
+ addBreadcrumbClickEventToLogger(item) {
77
+ let detail;
78
+ if (item?.url?.length) {
79
+ detail = `[${item.url}]${item.label}`;
80
+ }
81
+ else if (item?.routerLink?.length) {
82
+ detail = `[${item.routerLink}`;
83
+ if (item.routerLinkQueryParams) {
84
+ detail += `?${Object.keys(item.routerLinkQueryParams)
85
+ .map(key => `${key}=${item.routerLinkQueryParams[key]}`)
86
+ .join('&')}`;
87
+ }
88
+ detail += `]${item.label}`;
89
+ }
90
+ this.sdkEventsLoggerService.addEvent(SdkEventType.BREADCRUMB_CLICK, detail);
91
+ }
92
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FoehnBreadcrumbComponent, deps: [{ token: i1.BreadcrumbEventService }, { token: i2.Router }, { token: i3.FoehnConfirmModalService }, { token: i4.SessionInfo }, { token: i5.SdkEventsLoggerService }], target: i0.ɵɵFactoryTarget.Component }); }
93
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: FoehnBreadcrumbComponent, selector: "foehn-breadcrumb", inputs: { breadcrumbItems: "breadcrumbItems", currentNav: "currentNav", confirmLeavingAlert: "confirmLeavingAlert" }, ngImport: i0, template: "<nav\n id=\"page-breadcrumb\"\n aria-label=\"Fil d'Ariane\"\n *ngIf=\"breadcrumbItems.length > 0\"\n>\n <h2 class=\"visually-hidden\">Fil d'Ariane</h2>\n <ol class=\"breadcrumb breadcrumb--override\">\n <li class=\"breadcrumb-item\" *ngFor=\"let item of breadcrumbItems\">\n <a\n *ngIf=\"item.url || item.routerLink\"\n (click)=\"$event.preventDefault(); confirmAndLeave(item)\"\n href=\"#\"\n >\n {{ item.label }}\n </a>\n <ng-container *ngIf=\"!item.url && !item.routerLink\">\n {{ item.label }}\n </ng-container>\n </li>\n <li class=\"visually-hidden\" aria-current=\"page\" *ngIf=\"currentNav\">\n {{ currentNav }}\n </li>\n </ol>\n</nav>\n", styles: [".breadcrumb--override{margin:0;padding:.75rem 0 2rem}\n"], dependencies: [{ kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
74
94
  }
75
95
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FoehnBreadcrumbComponent, decorators: [{
76
96
  type: Component,
77
97
  args: [{ selector: 'foehn-breadcrumb', template: "<nav\n id=\"page-breadcrumb\"\n aria-label=\"Fil d'Ariane\"\n *ngIf=\"breadcrumbItems.length > 0\"\n>\n <h2 class=\"visually-hidden\">Fil d'Ariane</h2>\n <ol class=\"breadcrumb breadcrumb--override\">\n <li class=\"breadcrumb-item\" *ngFor=\"let item of breadcrumbItems\">\n <a\n *ngIf=\"item.url || item.routerLink\"\n (click)=\"$event.preventDefault(); confirmAndLeave(item)\"\n href=\"#\"\n >\n {{ item.label }}\n </a>\n <ng-container *ngIf=\"!item.url && !item.routerLink\">\n {{ item.label }}\n </ng-container>\n </li>\n <li class=\"visually-hidden\" aria-current=\"page\" *ngIf=\"currentNav\">\n {{ currentNav }}\n </li>\n </ol>\n</nav>\n", styles: [".breadcrumb--override{margin:0;padding:.75rem 0 2rem}\n"] }]
78
- }], ctorParameters: () => [{ type: i1.BreadcrumbEventService }, { type: i2.Router }, { type: i3.FoehnConfirmModalService }, { type: i4.SessionInfo }], propDecorators: { breadcrumbItems: [{
98
+ }], ctorParameters: () => [{ type: i1.BreadcrumbEventService }, { type: i2.Router }, { type: i3.FoehnConfirmModalService }, { type: i4.SessionInfo }, { type: i5.SdkEventsLoggerService }], propDecorators: { breadcrumbItems: [{
79
99
  type: Input
80
100
  }], currentNav: [{
81
101
  type: Input
82
102
  }], confirmLeavingAlert: [{
83
103
  type: Input
84
104
  }] } });
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tYnJlYWRjcnVtYi9mb2Vobi1icmVhZGNydW1iLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1icmVhZGNydW1iL2ZvZWhuLWJyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBZXBFLE1BQU0sT0FBTyx3QkFBd0I7SUFZakMsWUFDWSxpQkFBeUMsRUFDekMsTUFBYyxFQUNkLHdCQUFrRCxFQUNsRCxXQUF3QjtRQUh4QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQXdCO1FBQ3pDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQ2xELGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBZHBDLG9CQUFlLEdBQXFCLEVBQUUsQ0FBQztJQWVwQyxDQUFDO0lBRUosS0FBSztRQUNELElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO0lBQzNCLENBQUM7SUFFRCxRQUFRO1FBQ0osTUFBTSxvQkFBb0IsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWM7WUFDeEQsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxrQ0FBa0MsRUFBRTtZQUM3RCxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFFcEQsMERBQTBEO1FBQzFELElBQUksQ0FBQyxzQkFBc0IsR0FBRyxvQkFBb0IsQ0FBQyxTQUFTLENBQ3hELENBQUMsRUFBYyxFQUFFLEVBQUU7WUFDZixJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsZUFBZSxJQUFJLEVBQUUsQ0FBQyxlQUFlLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUM1RCxJQUFJLENBQUMsZUFBZSxHQUFHLEVBQUUsQ0FBQyxlQUFlLENBQUM7Z0JBQzFDLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUMzRCxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2pCLENBQUM7UUFDTCxDQUFDLENBQ0osQ0FBQztJQUNOLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLHNCQUFzQixFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQzNDLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUM7SUFDdkMsQ0FBQztJQUVELGVBQWUsQ0FBQyxJQUFvQjtRQUNoQyxJQUNJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLDBDQUEwQyxFQUNwRSxDQUFDO1lBQ0MsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEtBQUssS0FBSyxFQUFFLENBQUM7Z0JBQ2xDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDeEIsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLElBQUksQ0FBQyx3QkFBd0I7cUJBQ3hCLGdCQUFnQixDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztxQkFDMUMsSUFBSSxDQUNELEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO2dCQUN6QixnRUFBZ0U7Z0JBQ2hFLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FDWCxDQUFDO1lBQ1YsQ0FBQztRQUNMLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QixDQUFDO0lBQ0wsQ0FBQztJQUVELFFBQVEsQ0FBQyxJQUFvQjtRQUN6QixNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ3BDLENBQUM7SUFFTyxRQUFRLENBQUMsSUFBb0I7UUFDakMsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDakQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUM1QyxDQUFDO2FBQU0sSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQ3ZELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUNwQyxXQUFXLEVBQUUsSUFBSSxDQUFDLHFCQUFxQjthQUMxQyxDQUFDLENBQUM7UUFDUCxDQUFDO2FBQU0sSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QixDQUFDO0lBQ0wsQ0FBQzsrR0FqRlEsd0JBQXdCO21HQUF4Qix3QkFBd0IsOEtDZnJDLGkwQkF3QkE7OzRGRFRhLHdCQUF3QjtrQkFMcEMsU0FBUzsrQkFDSSxrQkFBa0I7aUxBTTVCLGVBQWU7c0JBRGQsS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7Z0JBSU4sbUJBQW1CO3NCQURsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRm9laG5Db25maXJtTW9kYWxTZXJ2aWNlIH0gZnJvbSAnLi4vZm9laG4tY29uZmlybS1tb2RhbC9mb2Vobi1jb25maXJtLW1vZGFsLnNlcnZpY2UnO1xuaW1wb3J0IHsgRm9laG5Db25maXJtTW9kYWxDb250ZW50IH0gZnJvbSAnLi4vZm9laG4tY29uZmlybS1tb2RhbC9mb2Vobi1jb25maXJtLW1vZGFsLWNvbnRlbnQnO1xuaW1wb3J0IHsgU2Vzc2lvbkluZm8gfSBmcm9tICcuLi9zZGstc2Vzc2lvbi1pbmZvL3Nlc3Npb24taW5mby5zZXJ2aWNlJztcbmltcG9ydCB7IEJyZWFkY3J1bWIsIEJyZWFkY3J1bWJJdGVtIH0gZnJvbSAnLi9icmVhZGNydW1iJztcbmltcG9ydCB7IEJyZWFkY3J1bWJFdmVudFNlcnZpY2UgfSBmcm9tICcuL2JyZWFkY3J1bWItZXZlbnQuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZm9laG4tYnJlYWRjcnVtYicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZvZWhuLWJyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2ZvZWhuLWJyZWFkY3J1bWIuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIEZvZWhuQnJlYWRjcnVtYkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKVxuICAgIGJyZWFkY3J1bWJJdGVtczogQnJlYWRjcnVtYkl0ZW1bXSA9IFtdO1xuXG4gICAgQElucHV0KClcbiAgICBjdXJyZW50TmF2OiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIGNvbmZpcm1MZWF2aW5nQWxlcnQ6IEZvZWhuQ29uZmlybU1vZGFsQ29udGVudDtcblxuICAgIHByaXZhdGUgYnJlYWRjcnVtYlN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgYnJlYWRjcnVtYlNlcnZpY2U6IEJyZWFkY3J1bWJFdmVudFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgIHByaXZhdGUgZm9laG5Db25maXJtTW9kYWxTZXJ2aWNlOiBGb2VobkNvbmZpcm1Nb2RhbFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgc2Vzc2lvbkluZm86IFNlc3Npb25JbmZvXG4gICAgKSB7fVxuXG4gICAgcmVzZXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYnJlYWRjcnVtYkl0ZW1zID0gW107XG4gICAgICAgIHRoaXMuY3VycmVudE5hdiA9IG51bGw7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGJyZWFkY3J1bWJPYnNlcnZhYmxlID0gdGhpcy5zZXNzaW9uSW5mby5uZXZlckNvbm5lY3RlZFxuICAgICAgICAgICAgPyB0aGlzLmJyZWFkY3J1bWJTZXJ2aWNlLm5ldmVyQ29ubmVjdGVkQnJlYWRjcnVtYk9ic2VydmFibGUoKVxuICAgICAgICAgICAgOiB0aGlzLmJyZWFkY3J1bWJTZXJ2aWNlLmJyZWFkY3J1bWJPYnNlcnZhYmxlKCk7XG5cbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJ4anMtYW5ndWxhci9wcmVmZXItYXN5bmMtcGlwZVxuICAgICAgICB0aGlzLmJyZWFkY3J1bWJTdWJzY3JpcHRpb24gPSBicmVhZGNydW1iT2JzZXJ2YWJsZS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAoYmM6IEJyZWFkY3J1bWIpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoYmMgJiYgYmMuYnJlYWRjcnVtYkl0ZW1zICYmIGJjLmJyZWFkY3J1bWJJdGVtcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYnJlYWRjcnVtYkl0ZW1zID0gYmMuYnJlYWRjcnVtYkl0ZW1zO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnROYXYgPSBiYy5jdXJyZW50ID8gYmMuY3VycmVudC5sYWJlbCA6IG51bGw7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZXNldCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5icmVhZGNydW1iU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLmJyZWFkY3J1bWJTdWJzY3JpcHRpb24gPSBudWxsO1xuICAgIH1cblxuICAgIGNvbmZpcm1BbmRMZWF2ZShpdGVtOiBCcmVhZGNydW1iSXRlbSk6IHZvaWQge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICAhdGhpcy5icmVhZGNydW1iU2VydmljZS5za2lwTGVhdmluZ0FsZXJ0QmVjYXVzZURlbWFuZElzVHJhbnNtaXR0ZWRcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBpZiAoaXRlbS5za2lwTGVhdmluZ0FsZXJ0ICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgIHRoaXMubmF2aWdhdGUoaXRlbSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuZm9laG5Db25maXJtTW9kYWxTZXJ2aWNlXG4gICAgICAgICAgICAgICAgICAgIC5vcGVuQ29uZmlybU1vZGFsKHRoaXMuY29uZmlybUxlYXZpbmdBbGVydClcbiAgICAgICAgICAgICAgICAgICAgLnRoZW4oXG4gICAgICAgICAgICAgICAgICAgICAgICAoKSA9PiB0aGlzLm5hdmlnYXRlKGl0ZW0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgKCkgPT4ge31cbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubmF2aWdhdGUoaXRlbSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZWRpcmVjdChpdGVtOiBCcmVhZGNydW1iSXRlbSk6IHZvaWQge1xuICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IGl0ZW0udXJsO1xuICAgIH1cblxuICAgIHByaXZhdGUgbmF2aWdhdGUoaXRlbTogQnJlYWRjcnVtYkl0ZW0pOiB2b2lkIHtcbiAgICAgICAgaWYgKGl0ZW0ucm91dGVyTGluayAmJiAhaXRlbS5yb3V0ZXJMaW5rUXVlcnlQYXJhbXMpIHtcbiAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtpdGVtLnJvdXRlckxpbmtdKTtcbiAgICAgICAgfSBlbHNlIGlmIChpdGVtLnJvdXRlckxpbmsgJiYgaXRlbS5yb3V0ZXJMaW5rUXVlcnlQYXJhbXMpIHtcbiAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtpdGVtLnJvdXRlckxpbmtdLCB7XG4gICAgICAgICAgICAgICAgcXVlcnlQYXJhbXM6IGl0ZW0ucm91dGVyTGlua1F1ZXJ5UGFyYW1zXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIGlmIChpdGVtLnVybCkge1xuICAgICAgICAgICAgdGhpcy5yZWRpcmVjdChpdGVtKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxuYXZcbiAgICBpZD1cInBhZ2UtYnJlYWRjcnVtYlwiXG4gICAgYXJpYS1sYWJlbD1cIkZpbCBkJ0FyaWFuZVwiXG4gICAgKm5nSWY9XCJicmVhZGNydW1iSXRlbXMubGVuZ3RoID4gMFwiXG4+XG4gICAgPGgyIGNsYXNzPVwidmlzdWFsbHktaGlkZGVuXCI+RmlsIGQnQXJpYW5lPC9oMj5cbiAgICA8b2wgY2xhc3M9XCJicmVhZGNydW1iIGJyZWFkY3J1bWItLW92ZXJyaWRlXCI+XG4gICAgICAgIDxsaSBjbGFzcz1cImJyZWFkY3J1bWItaXRlbVwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIGJyZWFkY3J1bWJJdGVtc1wiPlxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAqbmdJZj1cIml0ZW0udXJsIHx8IGl0ZW0ucm91dGVyTGlua1wiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpOyBjb25maXJtQW5kTGVhdmUoaXRlbSlcIlxuICAgICAgICAgICAgICAgIGhyZWY9XCIjXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBpdGVtLmxhYmVsIH19XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWl0ZW0udXJsICYmICFpdGVtLnJvdXRlckxpbmtcIj5cbiAgICAgICAgICAgICAgICB7eyBpdGVtLmxhYmVsIH19XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9saT5cbiAgICAgICAgPGxpIGNsYXNzPVwidmlzdWFsbHktaGlkZGVuXCIgYXJpYS1jdXJyZW50PVwicGFnZVwiICpuZ0lmPVwiY3VycmVudE5hdlwiPlxuICAgICAgICAgICAge3sgY3VycmVudE5hdiB9fVxuICAgICAgICA8L2xpPlxuICAgIDwvb2w+XG48L25hdj5cbiJdfQ==
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tYnJlYWRjcnVtYi9mb2Vobi1icmVhZGNydW1iLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1icmVhZGNydW1iL2ZvZWhuLWJyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBTXBFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7Ozs7Ozs7QUFXbkUsTUFBTSxPQUFPLHdCQUF3QjtJQVlqQyxZQUNZLGlCQUF5QyxFQUN6QyxNQUFjLEVBQ2Qsd0JBQWtELEVBQ2xELFdBQXdCLEVBQ3hCLHNCQUE4QztRQUo5QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQXdCO1FBQ3pDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQ2xELGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFmMUQsb0JBQWUsR0FBcUIsRUFBRSxDQUFDO0lBZ0JwQyxDQUFDO0lBRUosS0FBSztRQUNELElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO0lBQzNCLENBQUM7SUFFRCxRQUFRO1FBQ0osTUFBTSxvQkFBb0IsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWM7WUFDeEQsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxrQ0FBa0MsRUFBRTtZQUM3RCxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLG9C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QUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDL0IsSUFBSSxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztnQkFDN0IsTUFBTSxJQUFJLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUM7cUJBQ2hELEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxJQUFJLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO3FCQUN2RCxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNyQixDQUFDO1lBQ0QsTUFBTSxJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQy9CLENBQUM7UUFDRCxJQUFJLENBQUMsc0JBQXNCLENBQUMsUUFBUSxDQUNoQyxZQUFZLENBQUMsZ0JBQWdCLEVBQzdCLE1BQU0sQ0FDVCxDQUFDO0lBQ04sQ0FBQzsrR0F0R1Esd0JBQXdCO21HQUF4Qix3QkFBd0IsOEtDakJyQyxpMEJBd0JBOzs0RkRQYSx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0ksa0JBQWtCO3NOQU01QixlQUFlO3NCQURkLEtBQUs7Z0JBSU4sVUFBVTtzQkFEVCxLQUFLO2dCQUlOLG1CQUFtQjtzQkFEbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEZvZWhuQ29uZmlybU1vZGFsU2VydmljZSB9IGZyb20gJy4uL2ZvZWhuLWNvbmZpcm0tbW9kYWwvZm9laG4tY29uZmlybS1tb2RhbC5zZXJ2aWNlJztcbmltcG9ydCB7IEZvZWhuQ29uZmlybU1vZGFsQ29udGVudCB9IGZyb20gJy4uL2ZvZWhuLWNvbmZpcm0tbW9kYWwvZm9laG4tY29uZmlybS1tb2RhbC1jb250ZW50JztcbmltcG9ydCB7IFNka0V2ZW50VHlwZSB9IGZyb20gJy4uL3Nkay1ldmVudHMtbG9nZ2VyL3Nkay1ldmVudC10eXBlJztcbmltcG9ydCB7IFNka0V2ZW50c0xvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi9zZGstZXZlbnRzLWxvZ2dlci9zZGstZXZlbnRzLWxvZ2dlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNlc3Npb25JbmZvIH0gZnJvbSAnLi4vc2RrLXNlc3Npb24taW5mby9zZXNzaW9uLWluZm8uc2VydmljZSc7XG5pbXBvcnQgeyBCcmVhZGNydW1iLCBCcmVhZGNydW1iSXRlbSB9IGZyb20gJy4vYnJlYWRjcnVtYic7XG5pbXBvcnQgeyBCcmVhZGNydW1iRXZlbnRTZXJ2aWNlIH0gZnJvbSAnLi9icmVhZGNydW1iLWV2ZW50LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZvZWhuLWJyZWFkY3J1bWInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mb2Vobi1icmVhZGNydW1iLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9mb2Vobi1icmVhZGNydW1iLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBGb2VobkJyZWFkY3J1bWJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KClcbiAgICBicmVhZGNydW1iSXRlbXM6IEJyZWFkY3J1bWJJdGVtW10gPSBbXTtcblxuICAgIEBJbnB1dCgpXG4gICAgY3VycmVudE5hdjogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBjb25maXJtTGVhdmluZ0FsZXJ0OiBGb2VobkNvbmZpcm1Nb2RhbENvbnRlbnQ7XG5cbiAgICBwcml2YXRlIGJyZWFkY3J1bWJTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGJyZWFkY3J1bWJTZXJ2aWNlOiBCcmVhZGNydW1iRXZlbnRTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgICAgICBwcml2YXRlIGZvZWhuQ29uZmlybU1vZGFsU2VydmljZTogRm9laG5Db25maXJtTW9kYWxTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHNlc3Npb25JbmZvOiBTZXNzaW9uSW5mbyxcbiAgICAgICAgcHJpdmF0ZSBzZGtFdmVudHNMb2dnZXJTZXJ2aWNlOiBTZGtFdmVudHNMb2dnZXJTZXJ2aWNlXG4gICAgKSB7fVxuXG4gICAgcmVzZXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYnJlYWRjcnVtYkl0ZW1zID0gW107XG4gICAgICAgIHRoaXMuY3VycmVudE5hdiA9IG51bGw7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGJyZWFkY3J1bWJPYnNlcnZhYmxlID0gdGhpcy5zZXNzaW9uSW5mby5uZXZlckNvbm5lY3RlZFxuICAgICAgICAgICAgPyB0aGlzLmJyZWFkY3J1bWJTZXJ2aWNlLm5ldmVyQ29ubmVjdGVkQnJlYWRjcnVtYk9ic2VydmFibGUoKVxuICAgICAgICAgICAgOiB0aGlzLmJyZWFkY3J1bWJTZXJ2aWNlLmJyZWFkY3J1bWJPYnNlcnZhYmxlKCk7XG5cbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJ4anMtYW5ndWxhci9wcmVmZXItYXN5bmMtcGlwZVxuICAgICAgICB0aGlzLmJyZWFkY3J1bWJTdWJzY3JpcHRpb24gPSBicmVhZGNydW1iT2JzZXJ2YWJsZS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAoYmM6IEJyZWFkY3J1bWIpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoYmMgJiYgYmMuYnJlYWRjcnVtYkl0ZW1zICYmIGJjLmJyZWFkY3J1bWJJdGVtcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYnJlYWRjcnVtYkl0ZW1zID0gYmMuYnJlYWRjcnVtYkl0ZW1zO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnROYXYgPSBiYy5jdXJyZW50ID8gYmMuY3VycmVudC5sYWJlbCA6IG51bGw7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZXNldCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5icmVhZGNydW1iU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLmJyZWFkY3J1bWJTdWJzY3JpcHRpb24gPSBudWxsO1xuICAgIH1cblxuICAgIGNvbmZpcm1BbmRMZWF2ZShpdGVtOiBCcmVhZGNydW1iSXRlbSk6IHZvaWQge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICAhdGhpcy5icmVhZGNydW1iU2VydmljZS5za2lwTGVhdmluZ0FsZXJ0QmVjYXVzZURlbWFuZElzVHJhbnNtaXR0ZWRcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBpZiAoaXRlbS5za2lwTGVhdmluZ0FsZXJ0ICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgIHRoaXMubmF2aWdhdGUoaXRlbSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuZm9laG5Db25maXJtTW9kYWxTZXJ2aWNlXG4gICAgICAgICAgICAgICAgICAgIC5vcGVuQ29uZmlybU1vZGFsKHRoaXMuY29uZmlybUxlYXZpbmdBbGVydClcbiAgICAgICAgICAgICAgICAgICAgLnRoZW4oXG4gICAgICAgICAgICAgICAgICAgICAgICAoKSA9PiB0aGlzLm5hdmlnYXRlKGl0ZW0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgKCkgPT4ge31cbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubmF2aWdhdGUoaXRlbSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZWRpcmVjdChpdGVtOiBCcmVhZGNydW1iSXRlbSk6IHZvaWQge1xuICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IGl0ZW0udXJsO1xuICAgIH1cblxuICAgIHByaXZhdGUgbmF2aWdhdGUoaXRlbTogQnJlYWRjcnVtYkl0ZW0pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hZGRCcmVhZGNydW1iQ2xpY2tFdmVudFRvTG9nZ2VyKGl0ZW0pO1xuICAgICAgICBpZiAoaXRlbS5yb3V0ZXJMaW5rICYmICFpdGVtLnJvdXRlckxpbmtRdWVyeVBhcmFtcykge1xuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2l0ZW0ucm91dGVyTGlua10pO1xuICAgICAgICB9IGVsc2UgaWYgKGl0ZW0ucm91dGVyTGluayAmJiBpdGVtLnJvdXRlckxpbmtRdWVyeVBhcmFtcykge1xuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2l0ZW0ucm91dGVyTGlua10sIHtcbiAgICAgICAgICAgICAgICBxdWVyeVBhcmFtczogaXRlbS5yb3V0ZXJMaW5rUXVlcnlQYXJhbXNcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2UgaWYgKGl0ZW0udXJsKSB7XG4gICAgICAgICAgICB0aGlzLnJlZGlyZWN0KGl0ZW0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhZGRCcmVhZGNydW1iQ2xpY2tFdmVudFRvTG9nZ2VyKGl0ZW06IEJyZWFkY3J1bWJJdGVtKTogdm9pZCB7XG4gICAgICAgIGxldCBkZXRhaWw6IHN0cmluZztcbiAgICAgICAgaWYgKGl0ZW0/LnVybD8ubGVuZ3RoKSB7XG4gICAgICAgICAgICBkZXRhaWwgPSBgWyR7aXRlbS51cmx9XSR7aXRlbS5sYWJlbH1gO1xuICAgICAgICB9IGVsc2UgaWYgKGl0ZW0/LnJvdXRlckxpbms/Lmxlbmd0aCkge1xuICAgICAgICAgICAgZGV0YWlsID0gYFske2l0ZW0ucm91dGVyTGlua31gO1xuICAgICAgICAgICAgaWYgKGl0ZW0ucm91dGVyTGlua1F1ZXJ5UGFyYW1zKSB7XG4gICAgICAgICAgICAgICAgZGV0YWlsICs9IGA/JHtPYmplY3Qua2V5cyhpdGVtLnJvdXRlckxpbmtRdWVyeVBhcmFtcylcbiAgICAgICAgICAgICAgICAgICAgLm1hcChrZXkgPT4gYCR7a2V5fT0ke2l0ZW0ucm91dGVyTGlua1F1ZXJ5UGFyYW1zW2tleV19YClcbiAgICAgICAgICAgICAgICAgICAgLmpvaW4oJyYnKX1gO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZGV0YWlsICs9IGBdJHtpdGVtLmxhYmVsfWA7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZGtFdmVudHNMb2dnZXJTZXJ2aWNlLmFkZEV2ZW50KFxuICAgICAgICAgICAgU2RrRXZlbnRUeXBlLkJSRUFEQ1JVTUJfQ0xJQ0ssXG4gICAgICAgICAgICBkZXRhaWxcbiAgICAgICAgKTtcbiAgICB9XG59XG4iLCI8bmF2XG4gICAgaWQ9XCJwYWdlLWJyZWFkY3J1bWJcIlxuICAgIGFyaWEtbGFiZWw9XCJGaWwgZCdBcmlhbmVcIlxuICAgICpuZ0lmPVwiYnJlYWRjcnVtYkl0ZW1zLmxlbmd0aCA+IDBcIlxuPlxuICAgIDxoMiBjbGFzcz1cInZpc3VhbGx5LWhpZGRlblwiPkZpbCBkJ0FyaWFuZTwvaDI+XG4gICAgPG9sIGNsYXNzPVwiYnJlYWRjcnVtYiBicmVhZGNydW1iLS1vdmVycmlkZVwiPlxuICAgICAgICA8bGkgY2xhc3M9XCJicmVhZGNydW1iLWl0ZW1cIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBicmVhZGNydW1iSXRlbXNcIj5cbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJpdGVtLnVybCB8fCBpdGVtLnJvdXRlckxpbmtcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQucHJldmVudERlZmF1bHQoKTsgY29uZmlybUFuZExlYXZlKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICBocmVmPVwiI1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgaXRlbS5sYWJlbCB9fVxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpdGVtLnVybCAmJiAhaXRlbS5yb3V0ZXJMaW5rXCI+XG4gICAgICAgICAgICAgICAge3sgaXRlbS5sYWJlbCB9fVxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbGk+XG4gICAgICAgIDxsaSBjbGFzcz1cInZpc3VhbGx5LWhpZGRlblwiIGFyaWEtY3VycmVudD1cInBhZ2VcIiAqbmdJZj1cImN1cnJlbnROYXZcIj5cbiAgICAgICAgICAgIHt7IGN1cnJlbnROYXYgfX1cbiAgICAgICAgPC9saT5cbiAgICA8L29sPlxuPC9uYXY+XG4iXX0=
@@ -9,5 +9,6 @@ export var SdkEventType;
9
9
  SdkEventType["NAVIGATION_FORWARD"] = "NAVIGATION_FORWARD";
10
10
  SdkEventType["NAVIGATION_BACKWARD"] = "NAVIGATION_BACKWARD";
11
11
  SdkEventType["TRANSMIT"] = "TRANSMIT";
12
+ SdkEventType["BREADCRUMB_CLICK"] = "BREADCRUMB_CLICK";
12
13
  })(SdkEventType || (SdkEventType = {}));
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2RrLWV2ZW50LXR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvc2RrLWV2ZW50cy1sb2dnZXIvc2RrLWV2ZW50LXR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksWUFVWDtBQVZELFdBQVksWUFBWTtJQUNwQix5REFBeUMsQ0FBQTtJQUN6QywrREFBK0MsQ0FBQTtJQUMvQywyREFBMkMsQ0FBQTtJQUMzQyxpRUFBaUQsQ0FBQTtJQUNqRCxpRUFBaUQsQ0FBQTtJQUNqRCwrREFBK0MsQ0FBQTtJQUMvQyx5REFBeUMsQ0FBQTtJQUN6QywyREFBMkMsQ0FBQTtJQUMzQyxxQ0FBcUIsQ0FBQTtBQUN6QixDQUFDLEVBVlcsWUFBWSxLQUFaLFlBQVksUUFVdkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBTZGtFdmVudFR5cGUge1xuICAgIFBERl9SRUNBUF9ET1dOTE9BRCA9ICdQREZfUkVDQVBfRE9XTkxPQUQnLFxuICAgIFJFQ09WRVJZX01PREFMX09QRU5FRCA9ICdSRUNPVkVSWV9NT0RBTF9PUEVORUQnLFxuICAgIFJFQ09WRVJZX1JFR0lTVEVSRUQgPSAnUkVDT1ZFUllfUkVHSVNURVJFRCcsXG4gICAgUkVDT1ZFUllfTE9HSU5fU1RBUlRFRCA9ICdSRUNPVkVSWV9MT0dJTl9TVEFSVEVEJyxcbiAgICBSRUNPVkVSWV9MT0dJTl9TVUNDRVNTID0gJ1JFQ09WRVJZX0xPR0lOX1NVQ0NFU1MnLFxuICAgIFJFQ09WRVJZX0xPR0lOX0ZBSUxFRCA9ICdSRUNPVkVSWV9MT0dJTl9GQUlMRUQnLFxuICAgIE5BVklHQVRJT05fRk9SV0FSRCA9ICdOQVZJR0FUSU9OX0ZPUldBUkQnLFxuICAgIE5BVklHQVRJT05fQkFDS1dBUkQgPSAnTkFWSUdBVElPTl9CQUNLV0FSRCcsXG4gICAgVFJBTlNNSVQgPSAnVFJBTlNNSVQnXG59XG4iXX0=
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2RrLWV2ZW50LXR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvc2RrLWV2ZW50cy1sb2dnZXIvc2RrLWV2ZW50LXR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksWUFXWDtBQVhELFdBQVksWUFBWTtJQUNwQix5REFBeUMsQ0FBQTtJQUN6QywrREFBK0MsQ0FBQTtJQUMvQywyREFBMkMsQ0FBQTtJQUMzQyxpRUFBaUQsQ0FBQTtJQUNqRCxpRUFBaUQsQ0FBQTtJQUNqRCwrREFBK0MsQ0FBQTtJQUMvQyx5REFBeUMsQ0FBQTtJQUN6QywyREFBMkMsQ0FBQTtJQUMzQyxxQ0FBcUIsQ0FBQTtJQUNyQixxREFBcUMsQ0FBQTtBQUN6QyxDQUFDLEVBWFcsWUFBWSxLQUFaLFlBQVksUUFXdkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBTZGtFdmVudFR5cGUge1xuICAgIFBERl9SRUNBUF9ET1dOTE9BRCA9ICdQREZfUkVDQVBfRE9XTkxPQUQnLFxuICAgIFJFQ09WRVJZX01PREFMX09QRU5FRCA9ICdSRUNPVkVSWV9NT0RBTF9PUEVORUQnLFxuICAgIFJFQ09WRVJZX1JFR0lTVEVSRUQgPSAnUkVDT1ZFUllfUkVHSVNURVJFRCcsXG4gICAgUkVDT1ZFUllfTE9HSU5fU1RBUlRFRCA9ICdSRUNPVkVSWV9MT0dJTl9TVEFSVEVEJyxcbiAgICBSRUNPVkVSWV9MT0dJTl9TVUNDRVNTID0gJ1JFQ09WRVJZX0xPR0lOX1NVQ0NFU1MnLFxuICAgIFJFQ09WRVJZX0xPR0lOX0ZBSUxFRCA9ICdSRUNPVkVSWV9MT0dJTl9GQUlMRUQnLFxuICAgIE5BVklHQVRJT05fRk9SV0FSRCA9ICdOQVZJR0FUSU9OX0ZPUldBUkQnLFxuICAgIE5BVklHQVRJT05fQkFDS1dBUkQgPSAnTkFWSUdBVElPTl9CQUNLV0FSRCcsXG4gICAgVFJBTlNNSVQgPSAnVFJBTlNNSVQnLFxuICAgIEJSRUFEQ1JVTUJfQ0xJQ0sgPSAnQlJFQURDUlVNQl9DTElDSydcbn1cbiJdfQ==
@@ -1612,6 +1612,7 @@ var SdkEventType;
1612
1612
  SdkEventType["NAVIGATION_FORWARD"] = "NAVIGATION_FORWARD";
1613
1613
  SdkEventType["NAVIGATION_BACKWARD"] = "NAVIGATION_BACKWARD";
1614
1614
  SdkEventType["TRANSMIT"] = "TRANSMIT";
1615
+ SdkEventType["BREADCRUMB_CLICK"] = "BREADCRUMB_CLICK";
1615
1616
  })(SdkEventType || (SdkEventType = {}));
1616
1617
 
1617
1618
  // eslint-disable max-classes-per-file
@@ -5367,11 +5368,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
5367
5368
  }], ctorParameters: () => [] });
5368
5369
 
5369
5370
  class FoehnBreadcrumbComponent {
5370
- constructor(breadcrumbService, router, foehnConfirmModalService, sessionInfo) {
5371
+ constructor(breadcrumbService, router, foehnConfirmModalService, sessionInfo, sdkEventsLoggerService) {
5371
5372
  this.breadcrumbService = breadcrumbService;
5372
5373
  this.router = router;
5373
5374
  this.foehnConfirmModalService = foehnConfirmModalService;
5374
5375
  this.sessionInfo = sessionInfo;
5376
+ this.sdkEventsLoggerService = sdkEventsLoggerService;
5375
5377
  this.breadcrumbItems = [];
5376
5378
  }
5377
5379
  reset() {
@@ -5418,6 +5420,7 @@ class FoehnBreadcrumbComponent {
5418
5420
  window.location.href = item.url;
5419
5421
  }
5420
5422
  navigate(item) {
5423
+ this.addBreadcrumbClickEventToLogger(item);
5421
5424
  if (item.routerLink && !item.routerLinkQueryParams) {
5422
5425
  this.router.navigate([item.routerLink]);
5423
5426
  }
@@ -5430,13 +5433,29 @@ class FoehnBreadcrumbComponent {
5430
5433
  this.redirect(item);
5431
5434
  }
5432
5435
  }
5433
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FoehnBreadcrumbComponent, deps: [{ token: BreadcrumbEventService }, { token: i1$1.Router }, { token: FoehnConfirmModalService }, { token: SessionInfo }], target: i0.ɵɵFactoryTarget.Component }); }
5436
+ addBreadcrumbClickEventToLogger(item) {
5437
+ let detail;
5438
+ if (item?.url?.length) {
5439
+ detail = `[${item.url}]${item.label}`;
5440
+ }
5441
+ else if (item?.routerLink?.length) {
5442
+ detail = `[${item.routerLink}`;
5443
+ if (item.routerLinkQueryParams) {
5444
+ detail += `?${Object.keys(item.routerLinkQueryParams)
5445
+ .map(key => `${key}=${item.routerLinkQueryParams[key]}`)
5446
+ .join('&')}`;
5447
+ }
5448
+ detail += `]${item.label}`;
5449
+ }
5450
+ this.sdkEventsLoggerService.addEvent(SdkEventType.BREADCRUMB_CLICK, detail);
5451
+ }
5452
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FoehnBreadcrumbComponent, deps: [{ token: BreadcrumbEventService }, { token: i1$1.Router }, { token: FoehnConfirmModalService }, { token: SessionInfo }, { token: SdkEventsLoggerService }], target: i0.ɵɵFactoryTarget.Component }); }
5434
5453
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: FoehnBreadcrumbComponent, selector: "foehn-breadcrumb", inputs: { breadcrumbItems: "breadcrumbItems", currentNav: "currentNav", confirmLeavingAlert: "confirmLeavingAlert" }, ngImport: i0, template: "<nav\n id=\"page-breadcrumb\"\n aria-label=\"Fil d'Ariane\"\n *ngIf=\"breadcrumbItems.length > 0\"\n>\n <h2 class=\"visually-hidden\">Fil d'Ariane</h2>\n <ol class=\"breadcrumb breadcrumb--override\">\n <li class=\"breadcrumb-item\" *ngFor=\"let item of breadcrumbItems\">\n <a\n *ngIf=\"item.url || item.routerLink\"\n (click)=\"$event.preventDefault(); confirmAndLeave(item)\"\n href=\"#\"\n >\n {{ item.label }}\n </a>\n <ng-container *ngIf=\"!item.url && !item.routerLink\">\n {{ item.label }}\n </ng-container>\n </li>\n <li class=\"visually-hidden\" aria-current=\"page\" *ngIf=\"currentNav\">\n {{ currentNav }}\n </li>\n </ol>\n</nav>\n", styles: [".breadcrumb--override{margin:0;padding:.75rem 0 2rem}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
5435
5454
  }
5436
5455
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FoehnBreadcrumbComponent, decorators: [{
5437
5456
  type: Component,
5438
5457
  args: [{ selector: 'foehn-breadcrumb', template: "<nav\n id=\"page-breadcrumb\"\n aria-label=\"Fil d'Ariane\"\n *ngIf=\"breadcrumbItems.length > 0\"\n>\n <h2 class=\"visually-hidden\">Fil d'Ariane</h2>\n <ol class=\"breadcrumb breadcrumb--override\">\n <li class=\"breadcrumb-item\" *ngFor=\"let item of breadcrumbItems\">\n <a\n *ngIf=\"item.url || item.routerLink\"\n (click)=\"$event.preventDefault(); confirmAndLeave(item)\"\n href=\"#\"\n >\n {{ item.label }}\n </a>\n <ng-container *ngIf=\"!item.url && !item.routerLink\">\n {{ item.label }}\n </ng-container>\n </li>\n <li class=\"visually-hidden\" aria-current=\"page\" *ngIf=\"currentNav\">\n {{ currentNav }}\n </li>\n </ol>\n</nav>\n", styles: [".breadcrumb--override{margin:0;padding:.75rem 0 2rem}\n"] }]
5439
- }], ctorParameters: () => [{ type: BreadcrumbEventService }, { type: i1$1.Router }, { type: FoehnConfirmModalService }, { type: SessionInfo }], propDecorators: { breadcrumbItems: [{
5458
+ }], ctorParameters: () => [{ type: BreadcrumbEventService }, { type: i1$1.Router }, { type: FoehnConfirmModalService }, { type: SessionInfo }, { type: SdkEventsLoggerService }], propDecorators: { breadcrumbItems: [{
5440
5459
  type: Input
5441
5460
  }], currentNav: [{
5442
5461
  type: Input