@dsivd/prestations-ng 15.2.3-beta2 → 15.2.3-beta3
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 +13 -1
- package/dsivd-prestations-ng-v15.2.3-beta3.tgz +0 -0
- package/esm2020/foehn-confirm-modal/foehn-confirm-modal.component.mjs +1 -1
- package/esm2020/foehn-help-modal/foehn-help-modal.component.mjs +1 -1
- package/esm2020/foehn-menu-prestation/foehn-menu-items/foehn-menu-item-transmit/foehn-menu-item-transmit.component.mjs +1 -1
- package/esm2020/foehn-modal/foehn-modal.component.mjs +2 -5
- package/esm2020/foehn-page/foehn-page-modal.component.mjs +1 -1
- package/esm2020/gesdem-action-recovery/gesdem-action-recovery-registration/gesdem-action-recovery-registration.component.mjs +1 -1
- package/esm2020/sdk-epayment/sdk-epayment.component.mjs +1 -1
- package/esm2020/sdk-redirect/iam-expired-interceptor.service.mjs +2 -2
- package/esm2020/sdk-redirect/redirect.component.mjs +17 -13
- package/fesm2015/dsivd-prestations-ng.mjs +20 -21
- package/fesm2015/dsivd-prestations-ng.mjs.map +1 -1
- package/fesm2020/dsivd-prestations-ng.mjs +20 -21
- package/fesm2020/dsivd-prestations-ng.mjs.map +1 -1
- package/foehn-modal/foehn-modal.component.d.ts +1 -2
- package/package.json +1 -1
- package/sdk-redirect/redirect.component.d.ts +3 -1
- package/dsivd-prestations-ng-v15.2.3-beta2.tgz +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -31,9 +31,21 @@ A change is considered **breaking** if you have to change your code or update yo
|
|
|
31
31
|
### Added
|
|
32
32
|
|
|
33
33
|
- [foehn-table-column-configuration.ts](projects/prestations-ng/src/foehn-table/foehn-table-column-configuration.ts)
|
|
34
|
-
- add optional field `template: TemplateRef<unknown>` to
|
|
34
|
+
- add optional field `template: TemplateRef<unknown>` to customize a cell
|
|
35
35
|
- field `valueGetter` becomes optional
|
|
36
36
|
|
|
37
|
+
### Fixed
|
|
38
|
+
|
|
39
|
+
- [redirect.component.ts](projects/prestations-ng/src/sdk-redirect/redirect.component.ts)
|
|
40
|
+
- redirect to cyberlogin instead of `/iam/accueil` when session has expired
|
|
41
|
+
- if used in a BO, you should set the property `application-info.portail.cyberLoginUrl=/iam/accueil`
|
|
42
|
+
|
|
43
|
+
### Removed
|
|
44
|
+
|
|
45
|
+
- [foehn-modal.component.ts](projects/prestations-ng/src/foehn-modal/foehn-modal.component.ts)
|
|
46
|
+
- removed `@Input() modalFooterText` (was not used in the template)
|
|
47
|
+
|
|
48
|
+
|
|
37
49
|
## [15.2.2]
|
|
38
50
|
|
|
39
51
|
### Fixed
|
|
Binary file
|
|
@@ -31,7 +31,7 @@ export class FoehnConfirmModalComponent {
|
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
33
|
FoehnConfirmModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: FoehnConfirmModalComponent, deps: [{ token: i1.FoehnConfirmModalService }], target: i0.ɵɵFactoryTarget.Component });
|
|
34
|
-
FoehnConfirmModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.5", type: FoehnConfirmModalComponent, selector: "foehn-confirm-modal", ngImport: i0, template: "<foehn-modal\n [modalHeaderText]=\"modalContent.title || 'Confirmation'\"\n modalSize=\"modal-md\"\n [isModalVisible]=\"isVisible\"\n (isModalVisibleChange)=\"updateVisibilityStatus($event)\"\n [closeable]=\"\n modalContent.closeable !== null && modalContent.closeable !== undefined\n ? modalContent.closeable\n : true\n \"\n *ngIf=\"content | async as modalContent\"\n>\n <p [innerHTML]=\"modalContent.htmlContent\"></p>\n\n <div modal-footer>\n <div class=\"d-flex justify-content-end mr-2 mb-2 mt-2\">\n <button\n id=\"confirmButton\"\n class=\"btn btn-secondary\"\n (click)=\"cancel()\"\n >\n {{ modalContent.cancelButtonLabel || 'Annuler' }}\n </button>\n <button\n id=\"cancelButton\"\n class=\"btn btn-primary ml-3\"\n (click)=\"ok()\"\n >\n {{ modalContent.okButtonLabel || 'Confirmer' }}\n </button>\n </div>\n </div>\n</foehn-modal>\n", components: [{ type: i2.FoehnModalComponent, selector: "foehn-modal", inputs: ["id", "name", "modalSize", "modalBodyText", "modalHeaderText", "
|
|
34
|
+
FoehnConfirmModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.5", type: FoehnConfirmModalComponent, selector: "foehn-confirm-modal", ngImport: i0, template: "<foehn-modal\n [modalHeaderText]=\"modalContent.title || 'Confirmation'\"\n modalSize=\"modal-md\"\n [isModalVisible]=\"isVisible\"\n (isModalVisibleChange)=\"updateVisibilityStatus($event)\"\n [closeable]=\"\n modalContent.closeable !== null && modalContent.closeable !== undefined\n ? modalContent.closeable\n : true\n \"\n *ngIf=\"content | async as modalContent\"\n>\n <p [innerHTML]=\"modalContent.htmlContent\"></p>\n\n <div modal-footer>\n <div class=\"d-flex justify-content-end mr-2 mb-2 mt-2\">\n <button\n id=\"confirmButton\"\n class=\"btn btn-secondary\"\n (click)=\"cancel()\"\n >\n {{ modalContent.cancelButtonLabel || 'Annuler' }}\n </button>\n <button\n id=\"cancelButton\"\n class=\"btn btn-primary ml-3\"\n (click)=\"ok()\"\n >\n {{ modalContent.okButtonLabel || 'Confirmer' }}\n </button>\n </div>\n </div>\n</foehn-modal>\n", components: [{ type: i2.FoehnModalComponent, selector: "foehn-modal", inputs: ["id", "name", "modalSize", "modalBodyText", "modalHeaderText", "closeable", "modalTriggerHtmlElement", "isModalVisible"], outputs: ["isModalVisibleChange"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i3.AsyncPipe } });
|
|
35
35
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: FoehnConfirmModalComponent, decorators: [{
|
|
36
36
|
type: Component,
|
|
37
37
|
args: [{ selector: 'foehn-confirm-modal', template: "<foehn-modal\n [modalHeaderText]=\"modalContent.title || 'Confirmation'\"\n modalSize=\"modal-md\"\n [isModalVisible]=\"isVisible\"\n (isModalVisibleChange)=\"updateVisibilityStatus($event)\"\n [closeable]=\"\n modalContent.closeable !== null && modalContent.closeable !== undefined\n ? modalContent.closeable\n : true\n \"\n *ngIf=\"content | async as modalContent\"\n>\n <p [innerHTML]=\"modalContent.htmlContent\"></p>\n\n <div modal-footer>\n <div class=\"d-flex justify-content-end mr-2 mb-2 mt-2\">\n <button\n id=\"confirmButton\"\n class=\"btn btn-secondary\"\n (click)=\"cancel()\"\n >\n {{ modalContent.cancelButtonLabel || 'Annuler' }}\n </button>\n <button\n id=\"cancelButton\"\n class=\"btn btn-primary ml-3\"\n (click)=\"ok()\"\n >\n {{ modalContent.okButtonLabel || 'Confirmer' }}\n </button>\n </div>\n </div>\n</foehn-modal>\n" }]
|
|
@@ -28,7 +28,7 @@ export class FoehnHelpModalComponent {
|
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
FoehnHelpModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: FoehnHelpModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
31
|
-
FoehnHelpModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.5", type: FoehnHelpModalComponent, selector: "foehn-help-modal", inputs: { modalContent: "modalContent" }, viewQueries: [{ propertyName: "modalTrigger", first: true, predicate: ["modalTrigger"], descendants: true, static: true }, { propertyName: "content", first: true, predicate: ["content"], descendants: true, static: true }], ngImport: i0, template: "<button\n type=\"button\"\n class=\"clear-button btn d-flex\"\n (click)=\"open()\"\n #modalTrigger\n>\n <foehn-icon-info-circle\n [class.mr-1]=\"hasContent()\"\n title=\" \"\n ></foehn-icon-info-circle>\n\n <span class=\"sr-only button-help-text\" *ngIf=\"!hasContent()\">\n Aide: {{ modalContent.title }}\n </span>\n\n <span #content>\n <ng-content></ng-content>\n </span>\n</button>\n<foehn-modal\n id=\"help-modal\"\n modalSize=\"modal-lg\"\n [modalHeaderText]=\"currentModalTitle\"\n [isModalVisible]=\"isModalVisible\"\n (isModalVisibleChange)=\"updateVisibilityStatus($event)\"\n (click)=\"close()\"\n [modalTriggerHtmlElement]=\"modalTrigger\"\n>\n <ng-container *ngIf=\"modalContent\">\n <div *ngIf=\"!!modalContent.body\" [innerHtml]=\"modalContent.body\"></div>\n <img\n *ngFor=\"let image of modalContent.images\"\n [src]=\"image.src\"\n [alt]=\"image.alt\"\n class=\"mt-2\"\n width=\"100%\"\n height=\"auto\"\n />\n </ng-container>\n</foehn-modal>\n", styles: [":host ::ng-deep .modal-body{height:100%}:host ::ng-deep .clear-button.btn .svg-inline--fa{color:#000!important}.clear-button{background:none;margin-left:-1em}\n"], components: [{ type: i1.FoehnIconInfoCircleComponent, selector: "foehn-icon-info-circle" }, { type: i2.FoehnModalComponent, selector: "foehn-modal", inputs: ["id", "name", "modalSize", "modalBodyText", "modalHeaderText", "
|
|
31
|
+
FoehnHelpModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.5", type: FoehnHelpModalComponent, selector: "foehn-help-modal", inputs: { modalContent: "modalContent" }, viewQueries: [{ propertyName: "modalTrigger", first: true, predicate: ["modalTrigger"], descendants: true, static: true }, { propertyName: "content", first: true, predicate: ["content"], descendants: true, static: true }], ngImport: i0, template: "<button\n type=\"button\"\n class=\"clear-button btn d-flex\"\n (click)=\"open()\"\n #modalTrigger\n>\n <foehn-icon-info-circle\n [class.mr-1]=\"hasContent()\"\n title=\" \"\n ></foehn-icon-info-circle>\n\n <span class=\"sr-only button-help-text\" *ngIf=\"!hasContent()\">\n Aide: {{ modalContent.title }}\n </span>\n\n <span #content>\n <ng-content></ng-content>\n </span>\n</button>\n<foehn-modal\n id=\"help-modal\"\n modalSize=\"modal-lg\"\n [modalHeaderText]=\"currentModalTitle\"\n [isModalVisible]=\"isModalVisible\"\n (isModalVisibleChange)=\"updateVisibilityStatus($event)\"\n (click)=\"close()\"\n [modalTriggerHtmlElement]=\"modalTrigger\"\n>\n <ng-container *ngIf=\"modalContent\">\n <div *ngIf=\"!!modalContent.body\" [innerHtml]=\"modalContent.body\"></div>\n <img\n *ngFor=\"let image of modalContent.images\"\n [src]=\"image.src\"\n [alt]=\"image.alt\"\n class=\"mt-2\"\n width=\"100%\"\n height=\"auto\"\n />\n </ng-container>\n</foehn-modal>\n", styles: [":host ::ng-deep .modal-body{height:100%}:host ::ng-deep .clear-button.btn .svg-inline--fa{color:#000!important}.clear-button{background:none;margin-left:-1em}\n"], components: [{ type: i1.FoehnIconInfoCircleComponent, selector: "foehn-icon-info-circle" }, { type: i2.FoehnModalComponent, selector: "foehn-modal", inputs: ["id", "name", "modalSize", "modalBodyText", "modalHeaderText", "closeable", "modalTriggerHtmlElement", "isModalVisible"], outputs: ["isModalVisibleChange"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
32
32
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: FoehnHelpModalComponent, decorators: [{
|
|
33
33
|
type: Component,
|
|
34
34
|
args: [{ selector: 'foehn-help-modal', template: "<button\n type=\"button\"\n class=\"clear-button btn d-flex\"\n (click)=\"open()\"\n #modalTrigger\n>\n <foehn-icon-info-circle\n [class.mr-1]=\"hasContent()\"\n title=\" \"\n ></foehn-icon-info-circle>\n\n <span class=\"sr-only button-help-text\" *ngIf=\"!hasContent()\">\n Aide: {{ modalContent.title }}\n </span>\n\n <span #content>\n <ng-content></ng-content>\n </span>\n</button>\n<foehn-modal\n id=\"help-modal\"\n modalSize=\"modal-lg\"\n [modalHeaderText]=\"currentModalTitle\"\n [isModalVisible]=\"isModalVisible\"\n (isModalVisibleChange)=\"updateVisibilityStatus($event)\"\n (click)=\"close()\"\n [modalTriggerHtmlElement]=\"modalTrigger\"\n>\n <ng-container *ngIf=\"modalContent\">\n <div *ngIf=\"!!modalContent.body\" [innerHtml]=\"modalContent.body\"></div>\n <img\n *ngFor=\"let image of modalContent.images\"\n [src]=\"image.src\"\n [alt]=\"image.alt\"\n class=\"mt-2\"\n width=\"100%\"\n height=\"auto\"\n />\n </ng-container>\n</foehn-modal>\n", styles: [":host ::ng-deep .modal-body{height:100%}:host ::ng-deep .clear-button.btn .svg-inline--fa{color:#000!important}.clear-button{background:none;margin-left:-1em}\n"] }]
|
|
@@ -31,7 +31,7 @@ export class FoehnMenuItemTransmitComponent {
|
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
33
|
FoehnMenuItemTransmitComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: FoehnMenuItemTransmitComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.GesdemHandlerService }], target: i0.ɵɵFactoryTarget.Component });
|
|
34
|
-
FoehnMenuItemTransmitComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.5", type: FoehnMenuItemTransmitComponent, selector: "foehn-menu-item-transmit", inputs: { linkId: "linkId", rLink: "rLink", labelDicoKey: "labelDicoKey", dicoLabelPlaceHolders: "dicoLabelPlaceHolders", remainingErrorsAlertTitle: "remainingErrorsAlertTitle", remainingErrorsAlertBody: "remainingErrorsAlertBody" }, ngImport: i0, template: "<li\n class=\"d-flex flex-column flex-md-row justify-content-between border-bottom pb-3\"\n>\n <span class=\"align-self-baseline mt-2\">\n <a\n href=\"#\"\n (click)=\"$event.preventDefault(); transmit()\"\n [id]=\"linkId\"\n #transmitLink\n >\n {{ labelDicoKey | fromDictionary: dicoLabelPlaceHolders }}\n </a>\n <foehn-modal\n [(isModalVisible)]=\"showRemainingErrorsAlert\"\n [modalHeaderText]=\"remainingErrorsAlertTitle\"\n [modalTriggerHtmlElement]=\"transmitLink\"\n >\n <p>\n <span [innerHTML]=\"remainingErrorsAlertBody\"></span>\n <foehn-error-pill [errorPrefix]=\"''\"></foehn-error-pill>\n </p>\n </foehn-modal>\n </span>\n</li>\n", components: [{ type: i3.FoehnModalComponent, selector: "foehn-modal", inputs: ["id", "name", "modalSize", "modalBodyText", "modalHeaderText", "
|
|
34
|
+
FoehnMenuItemTransmitComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.5", type: FoehnMenuItemTransmitComponent, selector: "foehn-menu-item-transmit", inputs: { linkId: "linkId", rLink: "rLink", labelDicoKey: "labelDicoKey", dicoLabelPlaceHolders: "dicoLabelPlaceHolders", remainingErrorsAlertTitle: "remainingErrorsAlertTitle", remainingErrorsAlertBody: "remainingErrorsAlertBody" }, ngImport: i0, template: "<li\n class=\"d-flex flex-column flex-md-row justify-content-between border-bottom pb-3\"\n>\n <span class=\"align-self-baseline mt-2\">\n <a\n href=\"#\"\n (click)=\"$event.preventDefault(); transmit()\"\n [id]=\"linkId\"\n #transmitLink\n >\n {{ labelDicoKey | fromDictionary: dicoLabelPlaceHolders }}\n </a>\n <foehn-modal\n [(isModalVisible)]=\"showRemainingErrorsAlert\"\n [modalHeaderText]=\"remainingErrorsAlertTitle\"\n [modalTriggerHtmlElement]=\"transmitLink\"\n >\n <p>\n <span [innerHTML]=\"remainingErrorsAlertBody\"></span>\n <foehn-error-pill [errorPrefix]=\"''\"></foehn-error-pill>\n </p>\n </foehn-modal>\n </span>\n</li>\n", components: [{ type: i3.FoehnModalComponent, selector: "foehn-modal", inputs: ["id", "name", "modalSize", "modalBodyText", "modalHeaderText", "closeable", "modalTriggerHtmlElement", "isModalVisible"], outputs: ["isModalVisibleChange"] }, { type: i4.FoehnErrorPillComponent, selector: "foehn-error-pill", inputs: ["errorPrefix", "incompleteIndicatorOnly"] }], pipes: { "fromDictionary": i5.SdkDictionaryPipe } });
|
|
35
35
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: FoehnMenuItemTransmitComponent, decorators: [{
|
|
36
36
|
type: Component,
|
|
37
37
|
args: [{ selector: 'foehn-menu-item-transmit', template: "<li\n class=\"d-flex flex-column flex-md-row justify-content-between border-bottom pb-3\"\n>\n <span class=\"align-self-baseline mt-2\">\n <a\n href=\"#\"\n (click)=\"$event.preventDefault(); transmit()\"\n [id]=\"linkId\"\n #transmitLink\n >\n {{ labelDicoKey | fromDictionary: dicoLabelPlaceHolders }}\n </a>\n <foehn-modal\n [(isModalVisible)]=\"showRemainingErrorsAlert\"\n [modalHeaderText]=\"remainingErrorsAlertTitle\"\n [modalTriggerHtmlElement]=\"transmitLink\"\n >\n <p>\n <span [innerHTML]=\"remainingErrorsAlertBody\"></span>\n <foehn-error-pill [errorPrefix]=\"''\"></foehn-error-pill>\n </p>\n </foehn-modal>\n </span>\n</li>\n" }]
|
|
@@ -4,7 +4,6 @@ import * as i1 from "@angular/common";
|
|
|
4
4
|
import * as i2 from "@angular/cdk/a11y";
|
|
5
5
|
export class FoehnModalComponent {
|
|
6
6
|
constructor() {
|
|
7
|
-
this.modalFooterText = "L'Administration Cantonale Vaudoise";
|
|
8
7
|
this.closeable = true;
|
|
9
8
|
this.isModalVisibleChange = new EventEmitter();
|
|
10
9
|
this.isVisible = false;
|
|
@@ -53,7 +52,7 @@ export class FoehnModalComponent {
|
|
|
53
52
|
}
|
|
54
53
|
}
|
|
55
54
|
FoehnModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: FoehnModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
56
|
-
FoehnModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.5", type: FoehnModalComponent, selector: "foehn-modal", inputs: { id: "id", name: "name", modalSize: "modalSize", modalBodyText: "modalBodyText", modalHeaderText: "modalHeaderText",
|
|
55
|
+
FoehnModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.5", type: FoehnModalComponent, selector: "foehn-modal", inputs: { id: "id", name: "name", modalSize: "modalSize", modalBodyText: "modalBodyText", modalHeaderText: "modalHeaderText", closeable: "closeable", modalTriggerHtmlElement: "modalTriggerHtmlElement", isModalVisible: "isModalVisible" }, outputs: { isModalVisibleChange: "isModalVisibleChange" }, host: { listeners: { "keyup": "handleKeyboardEvent($event)" } }, viewQueries: [{ propertyName: "modalBody", first: true, predicate: ["modalBody"], descendants: true }, { propertyName: "modalTitle", first: true, predicate: ["modalTitle"], descendants: true }, { propertyName: "specificfooter", first: true, predicate: ["specificfooter"], descendants: true }, { propertyName: "modalDefaultCloseBtn", first: true, predicate: ["modalDefaultCloseBtn"], descendants: true }], ngImport: i0, template: "<div\n class=\"modal\"\n [id]=\"id || name\"\n role=\"dialog\"\n aria-labelledby=\"modalTitle\"\n aria-describedby=\"modalBody\"\n style=\"display: block\"\n *ngIf=\"isModalVisible\"\n cdkTrapFocus\n>\n <div class=\"modal-dialog modal-dialog-centered\" [ngClass]=\"modalSize\">\n <div class=\"modal-content\">\n <div\n class=\"modal-header d-flex\"\n [ngClass]=\"{ 'flex-row-reverse': closeable }\"\n >\n <button\n *ngIf=\"closeable\"\n (click)=\"isModalVisible = false\"\n type=\"button\"\n class=\"btn close\"\n aria-label=\"Fermer la boite de dialogue\"\n id=\"closeButton\"\n >\n <span aria-hidden=\"true\">×</span>\n </button>\n <h2\n class=\"modal-title h5\"\n id=\"modalTitle\"\n #modalTitle\n [innerHTML]=\"modalHeaderText\"\n ></h2>\n </div>\n <div class=\"modal-body\" id=\"modalBody\" #modalBody tabindex=\"-1\">\n <div *ngIf=\"modalBodyText\" [innerHTML]=\"modalBodyText\"></div>\n <ng-content></ng-content>\n </div>\n <div class=\"modal-footer w-100 d-block\">\n <div #specificfooter id=\"specificfooter\">\n <ng-content select=\"[modal-footer]\"></ng-content>\n </div>\n <ng-container *ngIf=\"!specificfooter.innerHTML.trim()\">\n <div modal-footer class=\"w-100\">\n <div class=\"d-md-flex\">\n <div class=\"ml-md-auto mr-md-2 mb-2 mt-2\">\n <button\n (click)=\"isModalVisible = false\"\n class=\"btn btn-secondary w-100\"\n data-dismiss=\"modal\"\n aria-label=\"Fermer la boite de dialogue\"\n #modalDefaultCloseBtn\n >\n Fermer\n </button>\n </div>\n </div>\n </div>\n </ng-container>\n </div>\n </div>\n </div>\n</div>\n", styles: [".modal{top:0;left:0;height:100%;width:100%;position:fixed;z-index:9999;overflow:auto;background-color:#000;background-color:#0006}.modal-title{margin-top:.5em!important}.modal-logo{width:30px}.modal-footer{padding-top:20px}.modal-content{-webkit-animation-name:redirect-animatetop;-webkit-animation-duration:.4s;animation-name:redirect-animatetop;animation-duration:.4s}@keyframes redirect-animatetop{0%{top:-300px;opacity:0}to{top:0;opacity:1}}.redirect-modal-header{padding:14px 16px 10px;background-color:#152025;color:#fff}.redirect-modal-body{padding:10px 16px}.redirect-modal-footer{padding:14px 16px 10px;background-color:#152025;color:#fff}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
57
56
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: FoehnModalComponent, decorators: [{
|
|
58
57
|
type: Component,
|
|
59
58
|
args: [{ selector: 'foehn-modal', template: "<div\n class=\"modal\"\n [id]=\"id || name\"\n role=\"dialog\"\n aria-labelledby=\"modalTitle\"\n aria-describedby=\"modalBody\"\n style=\"display: block\"\n *ngIf=\"isModalVisible\"\n cdkTrapFocus\n>\n <div class=\"modal-dialog modal-dialog-centered\" [ngClass]=\"modalSize\">\n <div class=\"modal-content\">\n <div\n class=\"modal-header d-flex\"\n [ngClass]=\"{ 'flex-row-reverse': closeable }\"\n >\n <button\n *ngIf=\"closeable\"\n (click)=\"isModalVisible = false\"\n type=\"button\"\n class=\"btn close\"\n aria-label=\"Fermer la boite de dialogue\"\n id=\"closeButton\"\n >\n <span aria-hidden=\"true\">×</span>\n </button>\n <h2\n class=\"modal-title h5\"\n id=\"modalTitle\"\n #modalTitle\n [innerHTML]=\"modalHeaderText\"\n ></h2>\n </div>\n <div class=\"modal-body\" id=\"modalBody\" #modalBody tabindex=\"-1\">\n <div *ngIf=\"modalBodyText\" [innerHTML]=\"modalBodyText\"></div>\n <ng-content></ng-content>\n </div>\n <div class=\"modal-footer w-100 d-block\">\n <div #specificfooter id=\"specificfooter\">\n <ng-content select=\"[modal-footer]\"></ng-content>\n </div>\n <ng-container *ngIf=\"!specificfooter.innerHTML.trim()\">\n <div modal-footer class=\"w-100\">\n <div class=\"d-md-flex\">\n <div class=\"ml-md-auto mr-md-2 mb-2 mt-2\">\n <button\n (click)=\"isModalVisible = false\"\n class=\"btn btn-secondary w-100\"\n data-dismiss=\"modal\"\n aria-label=\"Fermer la boite de dialogue\"\n #modalDefaultCloseBtn\n >\n Fermer\n </button>\n </div>\n </div>\n </div>\n </ng-container>\n </div>\n </div>\n </div>\n</div>\n", styles: [".modal{top:0;left:0;height:100%;width:100%;position:fixed;z-index:9999;overflow:auto;background-color:#000;background-color:#0006}.modal-title{margin-top:.5em!important}.modal-logo{width:30px}.modal-footer{padding-top:20px}.modal-content{-webkit-animation-name:redirect-animatetop;-webkit-animation-duration:.4s;animation-name:redirect-animatetop;animation-duration:.4s}@keyframes redirect-animatetop{0%{top:-300px;opacity:0}to{top:0;opacity:1}}.redirect-modal-header{padding:14px 16px 10px;background-color:#152025;color:#fff}.redirect-modal-body{padding:10px 16px}.redirect-modal-footer{padding:14px 16px 10px;background-color:#152025;color:#fff}\n"] }]
|
|
@@ -67,8 +66,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImpor
|
|
|
67
66
|
type: Input
|
|
68
67
|
}], modalHeaderText: [{
|
|
69
68
|
type: Input
|
|
70
|
-
}], modalFooterText: [{
|
|
71
|
-
type: Input
|
|
72
69
|
}], closeable: [{
|
|
73
70
|
type: Input
|
|
74
71
|
}], modalTriggerHtmlElement: [{
|
|
@@ -93,4 +90,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImpor
|
|
|
93
90
|
type: HostListener,
|
|
94
91
|
args: ['keyup', ['$event']]
|
|
95
92
|
}] } });
|
|
96
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLW1vZGFsL2ZvZWhuLW1vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1tb2RhbC9mb2Vobi1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUVULFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7Ozs7QUFPdkIsTUFBTSxPQUFPLG1CQUFtQjtJQUxoQztRQXNCSSxvQkFBZSxHQUFHLHFDQUFxQyxDQUFDO1FBR3hELGNBQVMsR0FBRyxJQUFJLENBQUM7UUFNakIseUJBQW9CLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQWNsQyxjQUFTLEdBQUcsS0FBSyxDQUFDO0tBa0Q3QjtJQWhERyxJQUFJLGNBQWM7UUFDZCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQ0ksY0FBYyxDQUFDLEdBQVk7UUFDM0IsNEVBQTRFO1FBQzVFLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFFL0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUM7UUFDckIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUdELG1CQUFtQixDQUFDLEtBQW9CO1FBQ3BDLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLFFBQVEsRUFBRTtZQUMxQyxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztTQUMvQjtJQUNMLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxTQUFrQjtRQUN2QyxzRkFBc0Y7UUFDdEYsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksU0FBUyxFQUFFO2dCQUNYLElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFO29CQUMzQixJQUFJLENBQUMsb0JBQW9CLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO2lCQUNuRDtxQkFBTSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7b0JBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO2lCQUN4QztnQkFDRCwyRkFBMkY7Z0JBQzNGLDBDQUEwQztnQkFDMUMsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO29CQUNqQixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxjQUFjLEVBQUUsQ0FBQztpQkFDbEQ7YUFDSjtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLG1CQUFtQixDQUFDLE9BQWdCLEVBQUUsU0FBa0I7UUFDNUQsaUdBQWlHO1FBQ2pHLDBFQUEwRTtRQUMxRSxpQ0FBaUM7UUFDakMsSUFBSSxPQUFPLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLHVCQUF1QixFQUFFO1lBQ3ZELElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUN4QztJQUNMLENBQUM7O2dIQXpGUSxtQkFBbUI7b0dBQW5CLG1CQUFtQixzMUJDZmhDLG0rRUE4REE7MkZEL0NhLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDSSxhQUFhOzhCQU12QixFQUFFO3NCQURELEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLO2dCQUlOLFNBQVM7c0JBRFIsS0FBSztnQkFJTixhQUFhO3NCQURaLEtBQUs7Z0JBSU4sZUFBZTtzQkFEZCxLQUFLO2dCQUlOLGVBQWU7c0JBRGQsS0FBSztnQkFJTixTQUFTO3NCQURSLEtBQUs7Z0JBSU4sdUJBQXVCO3NCQUR0QixLQUFLO2dCQUlOLG9CQUFvQjtzQkFEbkIsTUFBTTtnQkFJUCxTQUFTO3NCQURSLFNBQVM7dUJBQUMsV0FBVztnQkFJdEIsVUFBVTtzQkFEVCxTQUFTO3VCQUFDLFlBQVk7Z0JBSXZCLGNBQWM7c0JBRGIsU0FBUzt1QkFBQyxnQkFBZ0I7Z0JBSTNCLG9CQUFvQjtzQkFEbkIsU0FBUzt1QkFBQyxzQkFBc0I7Z0JBVTdCLGNBQWM7c0JBRGpCLEtBQUs7Z0JBWU4sbUJBQW1CO3NCQURsQixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZvZWhuLW1vZGFsJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9laG4tbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2ZvZWhuLW1vZGFsLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBGb2Vobk1vZGFsQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKVxuICAgIGlkOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIG5hbWU6IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgbW9kYWxTaXplOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIG1vZGFsQm9keVRleHQ6IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgbW9kYWxIZWFkZXJUZXh0OiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIG1vZGFsRm9vdGVyVGV4dCA9IFwiTCdBZG1pbmlzdHJhdGlvbiBDYW50b25hbGUgVmF1ZG9pc2VcIjtcblxuICAgIEBJbnB1dCgpXG4gICAgY2xvc2VhYmxlID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgbW9kYWxUcmlnZ2VySHRtbEVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuXG4gICAgQE91dHB1dCgpXG4gICAgaXNNb2RhbFZpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAVmlld0NoaWxkKCdtb2RhbEJvZHknKVxuICAgIG1vZGFsQm9keTogRWxlbWVudFJlZjtcblxuICAgIEBWaWV3Q2hpbGQoJ21vZGFsVGl0bGUnKVxuICAgIG1vZGFsVGl0bGU6IEVsZW1lbnRSZWY7XG5cbiAgICBAVmlld0NoaWxkKCdzcGVjaWZpY2Zvb3RlcicpXG4gICAgc3BlY2lmaWNmb290ZXI6IEVsZW1lbnRSZWY7XG5cbiAgICBAVmlld0NoaWxkKCdtb2RhbERlZmF1bHRDbG9zZUJ0bicpXG4gICAgbW9kYWxEZWZhdWx0Q2xvc2VCdG46IEVsZW1lbnRSZWY7XG5cbiAgICBwcml2YXRlIGlzVmlzaWJsZSA9IGZhbHNlO1xuXG4gICAgZ2V0IGlzTW9kYWxWaXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc1Zpc2libGU7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBzZXQgaXNNb2RhbFZpc2libGUodmFsOiBib29sZWFuKSB7XG4gICAgICAgIC8vIFN0b3JlIHRoZSBwcmV2aW91cyB2YWx1ZSB0byBoYW5kbGUgdHJhbnNpdGlvbnMgZnJvbSBvbmUgc3RhdGUgdG8gYW5vdGhlci5cbiAgICAgICAgY29uc3Qgd2FzT3BlbiA9IHRoaXMuaXNWaXNpYmxlO1xuXG4gICAgICAgIHRoaXMuaXNWaXNpYmxlID0gdmFsO1xuICAgICAgICB0aGlzLmlzTW9kYWxWaXNpYmxlQ2hhbmdlLmVtaXQodGhpcy5pc1Zpc2libGUpO1xuICAgICAgICB0aGlzLmZvY3VzT25Db250YWluZXIodmFsKTtcbiAgICAgICAgdGhpcy5mb2N1c09uTW9kYWxUcmlnZ2VyKHdhc09wZW4sIHZhbCk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5dXAnLCBbJyRldmVudCddKVxuICAgIGhhbmRsZUtleWJvYXJkRXZlbnQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuY2xvc2VhYmxlICYmIGV2ZW50LmtleSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgICAgICAgIHRoaXMuaXNNb2RhbFZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZm9jdXNPbkNvbnRhaW5lcihpc1Zpc2libGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgLy8gSGFzIHRvIGJlIGEgc2V0VGltZW91dCBhcyB3ZSdyZSBhZmZlY3RpbmcgdGhlIERPTSBvdXRzaWRlIG9mIHRoZSBBbmd1bGFyIGxpZmVjeWNsZS5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAoaXNWaXNpYmxlKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMubW9kYWxEZWZhdWx0Q2xvc2VCdG4pIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tb2RhbERlZmF1bHRDbG9zZUJ0bi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLm1vZGFsQm9keSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm1vZGFsQm9keS5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIHRoaXMgY29uZGl0aW9uIGlzIHVzZWxlc3MgYmVjYXVzZSB0aGlzLm1vZGFsVGl0bGUgc2hvdWxkIGFsd2F5cyBiZSBoZXJlIHdoZW4gXCJpc1Zpc2libGVcIlxuICAgICAgICAgICAgICAgIC8vIGJ1dCBub3QgaW4gdGVzdHMsIHNvIHdlIGtlZXAgaXQgZm9yIG5vd1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLm1vZGFsVGl0bGUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tb2RhbFRpdGxlLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsSW50b1ZpZXcoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZm9jdXNPbk1vZGFsVHJpZ2dlcih3YXNPcGVuOiBib29sZWFuLCBpc1Zpc2libGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgLy8gRm9jdXMgYmFjayBvbiB0aGUgdHJpZ2dlci4gTm8gbmVlZCBmb3IgYSBzZXRUaW1lb3V0IGFzIHRoZSB0cmlnZ2VyIHNob3VsZCBzdGlsbCBiZSBpbiB0aGUgRE9NLlxuICAgICAgICAvLyBPbmx5IGRvZXMgaXQgd2hlbiB0aGUgbW9kYWwgaXMgY2xvc2VkIGZyb20gYSBvcGVuIHN0YXRlIHRvIGF2b2lkIHRvIHNldFxuICAgICAgICAvLyB0aGUgZm9jdXMgd2hlbiB0aGUgcGFnZSBsb2Fkcy5cbiAgICAgICAgaWYgKHdhc09wZW4gJiYgIWlzVmlzaWJsZSAmJiB0aGlzLm1vZGFsVHJpZ2dlckh0bWxFbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLm1vZGFsVHJpZ2dlckh0bWxFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgY2xhc3M9XCJtb2RhbFwiXG4gICAgW2lkXT1cImlkIHx8IG5hbWVcIlxuICAgIHJvbGU9XCJkaWFsb2dcIlxuICAgIGFyaWEtbGFiZWxsZWRieT1cIm1vZGFsVGl0bGVcIlxuICAgIGFyaWEtZGVzY3JpYmVkYnk9XCJtb2RhbEJvZHlcIlxuICAgIHN0eWxlPVwiZGlzcGxheTogYmxvY2tcIlxuICAgICpuZ0lmPVwiaXNNb2RhbFZpc2libGVcIlxuICAgIGNka1RyYXBGb2N1c1xuPlxuICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1kaWFsb2cgbW9kYWwtZGlhbG9nLWNlbnRlcmVkXCIgW25nQ2xhc3NdPVwibW9kYWxTaXplXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1jb250ZW50XCI+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJtb2RhbC1oZWFkZXIgZC1mbGV4XCJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdmbGV4LXJvdy1yZXZlcnNlJzogY2xvc2VhYmxlIH1cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjbG9zZWFibGVcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaXNNb2RhbFZpc2libGUgPSBmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBjbG9zZVwiXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJGZXJtZXIgbGEgYm9pdGUgZGUgZGlhbG9ndWVcIlxuICAgICAgICAgICAgICAgICAgICBpZD1cImNsb3NlQnV0dG9uXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiZ0aW1lczs8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGgyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibW9kYWwtdGl0bGUgaDVcIlxuICAgICAgICAgICAgICAgICAgICBpZD1cIm1vZGFsVGl0bGVcIlxuICAgICAgICAgICAgICAgICAgICAjbW9kYWxUaXRsZVxuICAgICAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cIm1vZGFsSGVhZGVyVGV4dFwiXG4gICAgICAgICAgICAgICAgPjwvaDI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5XCIgaWQ9XCJtb2RhbEJvZHlcIiAjbW9kYWxCb2R5IHRhYmluZGV4PVwiLTFcIj5cbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwibW9kYWxCb2R5VGV4dFwiIFtpbm5lckhUTUxdPVwibW9kYWxCb2R5VGV4dFwiPjwvZGl2PlxuICAgICAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWZvb3RlciB3LTEwMCBkLWJsb2NrXCI+XG4gICAgICAgICAgICAgICAgPGRpdiAjc3BlY2lmaWNmb290ZXIgaWQ9XCJzcGVjaWZpY2Zvb3RlclwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbbW9kYWwtZm9vdGVyXVwiPjwvbmctY29udGVudD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXNwZWNpZmljZm9vdGVyLmlubmVySFRNTC50cmltKClcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBtb2RhbC1mb290ZXIgY2xhc3M9XCJ3LTEwMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtbWQtZmxleFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtbC1tZC1hdXRvIG1yLW1kLTIgbWItMiBtdC0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJpc01vZGFsVmlzaWJsZSA9IGZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnkgdy0xMDBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1kaXNtaXNzPVwibW9kYWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIkZlcm1lciBsYSBib2l0ZSBkZSBkaWFsb2d1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbW9kYWxEZWZhdWx0Q2xvc2VCdG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmVybWVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLW1vZGFsL2ZvZWhuLW1vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1tb2RhbC9mb2Vobi1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUVULFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7Ozs7QUFPdkIsTUFBTSxPQUFPLG1CQUFtQjtJQUxoQztRQXNCSSxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBTWpCLHlCQUFvQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFjbEMsY0FBUyxHQUFHLEtBQUssQ0FBQztLQWtEN0I7SUFoREcsSUFBSSxjQUFjO1FBQ2QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUNJLGNBQWMsQ0FBQyxHQUFZO1FBQzNCLDRFQUE0RTtRQUM1RSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBRS9CLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFHRCxtQkFBbUIsQ0FBQyxLQUFvQjtRQUNwQyxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxRQUFRLEVBQUU7WUFDMUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7U0FDL0I7SUFDTCxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsU0FBa0I7UUFDdkMsc0ZBQXNGO1FBQ3RGLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDWixJQUFJLFNBQVMsRUFBRTtnQkFDWCxJQUFJLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtvQkFDM0IsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztpQkFDbkQ7cUJBQU0sSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO29CQUN2QixJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztpQkFDeEM7Z0JBQ0QsMkZBQTJGO2dCQUMzRiwwQ0FBMEM7Z0JBQzFDLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtvQkFDakIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsY0FBYyxFQUFFLENBQUM7aUJBQ2xEO2FBQ0o7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxPQUFnQixFQUFFLFNBQWtCO1FBQzVELGlHQUFpRztRQUNqRywwRUFBMEU7UUFDMUUsaUNBQWlDO1FBQ2pDLElBQUksT0FBTyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyx1QkFBdUIsRUFBRTtZQUN2RCxJQUFJLENBQUMsdUJBQXVCLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDeEM7SUFDTCxDQUFDOztnSEF0RlEsbUJBQW1CO29HQUFuQixtQkFBbUIsa3pCQ2ZoQyxtK0VBOERBOzJGRC9DYSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0ksYUFBYTs4QkFNdkIsRUFBRTtzQkFERCxLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkFJTixTQUFTO3NCQURSLEtBQUs7Z0JBSU4sYUFBYTtzQkFEWixLQUFLO2dCQUlOLGVBQWU7c0JBRGQsS0FBSztnQkFJTixTQUFTO3NCQURSLEtBQUs7Z0JBSU4sdUJBQXVCO3NCQUR0QixLQUFLO2dCQUlOLG9CQUFvQjtzQkFEbkIsTUFBTTtnQkFJUCxTQUFTO3NCQURSLFNBQVM7dUJBQUMsV0FBVztnQkFJdEIsVUFBVTtzQkFEVCxTQUFTO3VCQUFDLFlBQVk7Z0JBSXZCLGNBQWM7c0JBRGIsU0FBUzt1QkFBQyxnQkFBZ0I7Z0JBSTNCLG9CQUFvQjtzQkFEbkIsU0FBUzt1QkFBQyxzQkFBc0I7Z0JBVTdCLGNBQWM7c0JBRGpCLEtBQUs7Z0JBWU4sbUJBQW1CO3NCQURsQixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZvZWhuLW1vZGFsJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9laG4tbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2ZvZWhuLW1vZGFsLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBGb2Vobk1vZGFsQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKVxuICAgIGlkOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIG5hbWU6IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgbW9kYWxTaXplOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIG1vZGFsQm9keVRleHQ6IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgbW9kYWxIZWFkZXJUZXh0OiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIGNsb3NlYWJsZSA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIG1vZGFsVHJpZ2dlckh0bWxFbGVtZW50OiBIVE1MRWxlbWVudDtcblxuICAgIEBPdXRwdXQoKVxuICAgIGlzTW9kYWxWaXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQFZpZXdDaGlsZCgnbW9kYWxCb2R5JylcbiAgICBtb2RhbEJvZHk6IEVsZW1lbnRSZWY7XG5cbiAgICBAVmlld0NoaWxkKCdtb2RhbFRpdGxlJylcbiAgICBtb2RhbFRpdGxlOiBFbGVtZW50UmVmO1xuXG4gICAgQFZpZXdDaGlsZCgnc3BlY2lmaWNmb290ZXInKVxuICAgIHNwZWNpZmljZm9vdGVyOiBFbGVtZW50UmVmO1xuXG4gICAgQFZpZXdDaGlsZCgnbW9kYWxEZWZhdWx0Q2xvc2VCdG4nKVxuICAgIG1vZGFsRGVmYXVsdENsb3NlQnRuOiBFbGVtZW50UmVmO1xuXG4gICAgcHJpdmF0ZSBpc1Zpc2libGUgPSBmYWxzZTtcblxuICAgIGdldCBpc01vZGFsVmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNWaXNpYmxlO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IGlzTW9kYWxWaXNpYmxlKHZhbDogYm9vbGVhbikge1xuICAgICAgICAvLyBTdG9yZSB0aGUgcHJldmlvdXMgdmFsdWUgdG8gaGFuZGxlIHRyYW5zaXRpb25zIGZyb20gb25lIHN0YXRlIHRvIGFub3RoZXIuXG4gICAgICAgIGNvbnN0IHdhc09wZW4gPSB0aGlzLmlzVmlzaWJsZTtcblxuICAgICAgICB0aGlzLmlzVmlzaWJsZSA9IHZhbDtcbiAgICAgICAgdGhpcy5pc01vZGFsVmlzaWJsZUNoYW5nZS5lbWl0KHRoaXMuaXNWaXNpYmxlKTtcbiAgICAgICAgdGhpcy5mb2N1c09uQ29udGFpbmVyKHZhbCk7XG4gICAgICAgIHRoaXMuZm9jdXNPbk1vZGFsVHJpZ2dlcih3YXNPcGVuLCB2YWwpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleXVwJywgWyckZXZlbnQnXSlcbiAgICBoYW5kbGVLZXlib2FyZEV2ZW50KGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNsb3NlYWJsZSAmJiBldmVudC5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICAgICAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGZvY3VzT25Db250YWluZXIoaXNWaXNpYmxlOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIC8vIEhhcyB0byBiZSBhIHNldFRpbWVvdXQgYXMgd2UncmUgYWZmZWN0aW5nIHRoZSBET00gb3V0c2lkZSBvZiB0aGUgQW5ndWxhciBsaWZlY3ljbGUuXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKGlzVmlzaWJsZSkge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLm1vZGFsRGVmYXVsdENsb3NlQnRuKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubW9kYWxEZWZhdWx0Q2xvc2VCdG4ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5tb2RhbEJvZHkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tb2RhbEJvZHkubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyB0aGlzIGNvbmRpdGlvbiBpcyB1c2VsZXNzIGJlY2F1c2UgdGhpcy5tb2RhbFRpdGxlIHNob3VsZCBhbHdheXMgYmUgaGVyZSB3aGVuIFwiaXNWaXNpYmxlXCJcbiAgICAgICAgICAgICAgICAvLyBidXQgbm90IGluIHRlc3RzLCBzbyB3ZSBrZWVwIGl0IGZvciBub3dcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5tb2RhbFRpdGxlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubW9kYWxUaXRsZS5uYXRpdmVFbGVtZW50LnNjcm9sbEludG9WaWV3KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZvY3VzT25Nb2RhbFRyaWdnZXIod2FzT3BlbjogYm9vbGVhbiwgaXNWaXNpYmxlOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIC8vIEZvY3VzIGJhY2sgb24gdGhlIHRyaWdnZXIuIE5vIG5lZWQgZm9yIGEgc2V0VGltZW91dCBhcyB0aGUgdHJpZ2dlciBzaG91bGQgc3RpbGwgYmUgaW4gdGhlIERPTS5cbiAgICAgICAgLy8gT25seSBkb2VzIGl0IHdoZW4gdGhlIG1vZGFsIGlzIGNsb3NlZCBmcm9tIGEgb3BlbiBzdGF0ZSB0byBhdm9pZCB0byBzZXRcbiAgICAgICAgLy8gdGhlIGZvY3VzIHdoZW4gdGhlIHBhZ2UgbG9hZHMuXG4gICAgICAgIGlmICh3YXNPcGVuICYmICFpc1Zpc2libGUgJiYgdGhpcy5tb2RhbFRyaWdnZXJIdG1sRWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy5tb2RhbFRyaWdnZXJIdG1sRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGRpdlxuICAgIGNsYXNzPVwibW9kYWxcIlxuICAgIFtpZF09XCJpZCB8fCBuYW1lXCJcbiAgICByb2xlPVwiZGlhbG9nXCJcbiAgICBhcmlhLWxhYmVsbGVkYnk9XCJtb2RhbFRpdGxlXCJcbiAgICBhcmlhLWRlc2NyaWJlZGJ5PVwibW9kYWxCb2R5XCJcbiAgICBzdHlsZT1cImRpc3BsYXk6IGJsb2NrXCJcbiAgICAqbmdJZj1cImlzTW9kYWxWaXNpYmxlXCJcbiAgICBjZGtUcmFwRm9jdXNcbj5cbiAgICA8ZGl2IGNsYXNzPVwibW9kYWwtZGlhbG9nIG1vZGFsLWRpYWxvZy1jZW50ZXJlZFwiIFtuZ0NsYXNzXT1cIm1vZGFsU2l6ZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtY29udGVudFwiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibW9kYWwtaGVhZGVyIGQtZmxleFwiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnZmxleC1yb3ctcmV2ZXJzZSc6IGNsb3NlYWJsZSB9XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY2xvc2VhYmxlXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImlzTW9kYWxWaXNpYmxlID0gZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gY2xvc2VcIlxuICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiRmVybWVyIGxhIGJvaXRlIGRlIGRpYWxvZ3VlXCJcbiAgICAgICAgICAgICAgICAgICAgaWQ9XCJjbG9zZUJ1dHRvblwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIj4mdGltZXM7PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxoMlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1vZGFsLXRpdGxlIGg1XCJcbiAgICAgICAgICAgICAgICAgICAgaWQ9XCJtb2RhbFRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgI21vZGFsVGl0bGVcbiAgICAgICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJtb2RhbEhlYWRlclRleHRcIlxuICAgICAgICAgICAgICAgID48L2gyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keVwiIGlkPVwibW9kYWxCb2R5XCIgI21vZGFsQm9keSB0YWJpbmRleD1cIi0xXCI+XG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm1vZGFsQm9keVRleHRcIiBbaW5uZXJIVE1MXT1cIm1vZGFsQm9keVRleHRcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1mb290ZXIgdy0xMDAgZC1ibG9ja1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgI3NwZWNpZmljZm9vdGVyIGlkPVwic3BlY2lmaWNmb290ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW21vZGFsLWZvb3Rlcl1cIj48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFzcGVjaWZpY2Zvb3Rlci5pbm5lckhUTUwudHJpbSgpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgbW9kYWwtZm9vdGVyIGNsYXNzPVwidy0xMDBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLW1kLWZsZXhcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWwtbWQtYXV0byBtci1tZC0yIG1iLTIgbXQtMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaXNNb2RhbFZpc2libGUgPSBmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5IHctMTAwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZGlzbWlzcz1cIm1vZGFsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJGZXJtZXIgbGEgYm9pdGUgZGUgZGlhbG9ndWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI21vZGFsRGVmYXVsdENsb3NlQnRuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZlcm1lclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -44,7 +44,7 @@ export class FoehnPageModalComponent {
|
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
46
|
FoehnPageModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: FoehnPageModalComponent, deps: [{ token: i1.SessionInfo }, { token: i2.ApplicationInfoService }, { token: i3.FoehnPageModalService }], target: i0.ɵɵFactoryTarget.Component });
|
|
47
|
-
FoehnPageModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.5", type: FoehnPageModalComponent, selector: "foehn-page-modal", ngImport: i0, template: "<foehn-modal\n modalHeaderText=\"Acc\u00E8s non autoris\u00E9\"\n modalSize=\"modal-lg\"\n [isModalVisible]=\"wrongPublicModalVisible\"\n (isModalVisibleChange)=\"updateVisibilityStatus($event)\"\n [closeable]=\"false\"\n>\n <div class=\"modal-body\">\n Vous \u00EAtes connect\u00E9 pour le compte d\u2019un usager de type\n {{ getUserCategory() }}, or cette prestation est destin\u00E9e aux usagers de\n type :\n <ul>\n <li *ngFor=\"let pubCible of formattedPublicsCibles\">\n {{ pubCible }}\n </li>\n </ul>\n </div>\n <div class=\"modal-body\">\n Vous pouvez choisir de vous reconnecter et de continuer, ou bien\n d'abandonner.\n </div>\n\n <div modal-footer class=\"w-100\">\n <div class=\"d-md-flex\">\n <div class=\"ml-md-auto mr-md-2 mb-2 mt-2\">\n <a\n class=\"btn btn-primary w-100\"\n [href]=\"getFullLoginUrl() | async\"\n >\n Se reconnecter\n </a>\n </div>\n <div class=\"ml-md-0 mr-md-2 mb-2 mt-2\">\n <a class=\"btn btn-primary w-100\" [href]=\"getAbortUrl() | async\">\n Abandonner\n </a>\n </div>\n </div>\n </div>\n</foehn-modal>\n", components: [{ type: i4.FoehnModalComponent, selector: "foehn-modal", inputs: ["id", "name", "modalSize", "modalBodyText", "modalHeaderText", "
|
|
47
|
+
FoehnPageModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.5", type: FoehnPageModalComponent, selector: "foehn-page-modal", ngImport: i0, template: "<foehn-modal\n modalHeaderText=\"Acc\u00E8s non autoris\u00E9\"\n modalSize=\"modal-lg\"\n [isModalVisible]=\"wrongPublicModalVisible\"\n (isModalVisibleChange)=\"updateVisibilityStatus($event)\"\n [closeable]=\"false\"\n>\n <div class=\"modal-body\">\n Vous \u00EAtes connect\u00E9 pour le compte d\u2019un usager de type\n {{ getUserCategory() }}, or cette prestation est destin\u00E9e aux usagers de\n type :\n <ul>\n <li *ngFor=\"let pubCible of formattedPublicsCibles\">\n {{ pubCible }}\n </li>\n </ul>\n </div>\n <div class=\"modal-body\">\n Vous pouvez choisir de vous reconnecter et de continuer, ou bien\n d'abandonner.\n </div>\n\n <div modal-footer class=\"w-100\">\n <div class=\"d-md-flex\">\n <div class=\"ml-md-auto mr-md-2 mb-2 mt-2\">\n <a\n class=\"btn btn-primary w-100\"\n [href]=\"getFullLoginUrl() | async\"\n >\n Se reconnecter\n </a>\n </div>\n <div class=\"ml-md-0 mr-md-2 mb-2 mt-2\">\n <a class=\"btn btn-primary w-100\" [href]=\"getAbortUrl() | async\">\n Abandonner\n </a>\n </div>\n </div>\n </div>\n</foehn-modal>\n", components: [{ type: i4.FoehnModalComponent, selector: "foehn-modal", inputs: ["id", "name", "modalSize", "modalBodyText", "modalHeaderText", "closeable", "modalTriggerHtmlElement", "isModalVisible"], outputs: ["isModalVisibleChange"] }], directives: [{ type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i5.AsyncPipe } });
|
|
48
48
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: FoehnPageModalComponent, decorators: [{
|
|
49
49
|
type: Component,
|
|
50
50
|
args: [{ selector: 'foehn-page-modal', template: "<foehn-modal\n modalHeaderText=\"Acc\u00E8s non autoris\u00E9\"\n modalSize=\"modal-lg\"\n [isModalVisible]=\"wrongPublicModalVisible\"\n (isModalVisibleChange)=\"updateVisibilityStatus($event)\"\n [closeable]=\"false\"\n>\n <div class=\"modal-body\">\n Vous \u00EAtes connect\u00E9 pour le compte d\u2019un usager de type\n {{ getUserCategory() }}, or cette prestation est destin\u00E9e aux usagers de\n type :\n <ul>\n <li *ngFor=\"let pubCible of formattedPublicsCibles\">\n {{ pubCible }}\n </li>\n </ul>\n </div>\n <div class=\"modal-body\">\n Vous pouvez choisir de vous reconnecter et de continuer, ou bien\n d'abandonner.\n </div>\n\n <div modal-footer class=\"w-100\">\n <div class=\"d-md-flex\">\n <div class=\"ml-md-auto mr-md-2 mb-2 mt-2\">\n <a\n class=\"btn btn-primary w-100\"\n [href]=\"getFullLoginUrl() | async\"\n >\n Se reconnecter\n </a>\n </div>\n <div class=\"ml-md-0 mr-md-2 mb-2 mt-2\">\n <a class=\"btn btn-primary w-100\" [href]=\"getAbortUrl() | async\">\n Abandonner\n </a>\n </div>\n </div>\n </div>\n</foehn-modal>\n" }]
|
|
@@ -112,7 +112,7 @@ export class GesdemActionRecoveryRegistrationComponent {
|
|
|
112
112
|
}
|
|
113
113
|
}
|
|
114
114
|
GesdemActionRecoveryRegistrationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: GesdemActionRecoveryRegistrationComponent, deps: [{ token: i1.GesdemActionRecoveryService }, { token: i2.ValidationHandlerService }, { token: i3.FoehnPageService }, { token: i4.GesdemEventService }, { token: i5.GesdemHandlerService }, { token: i6.ApplicationInfoService }, { token: i7.SessionInfo }], target: i0.ɵɵFactoryTarget.Component });
|
|
115
|
-
GesdemActionRecoveryRegistrationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.5", type: GesdemActionRecoveryRegistrationComponent, selector: "gesdem-action-recovery-registration", inputs: { continueLaterLabel: "continueLaterLabel" }, viewQueries: [{ propertyName: "modalTrigger", first: true, predicate: ["modalTrigger"], descendants: true }, { propertyName: "form", first: true, predicate: FoehnFormComponent, descendants: true }], ngImport: i0, template: "<button\n type=\"button\"\n id=\"continueLaterButton\"\n class=\"btn btn-link pr-0 pl-0 no-text-transform\"\n *ngIf=\"canContinueLater | async\"\n (click)=\"open()\"\n #modalTrigger\n>\n {{ continueLaterLabel }}\n</button>\n\n<foehn-modal\n id=\"action-recovery-registration-modal\"\n [modalHeaderText]=\"'Informations pour la reprise de la demande'\"\n [isModalVisible]=\"isModalVisible\"\n (isModalVisibleChange)=\"updateVisibilityStatus($event)\"\n>\n <ng-container *ngIf=\"isConnectedCyber | async; else notConnectedContent\">\n <p>\n Vos donn\u00E9es ont \u00E9t\u00E9 sauvegard\u00E9es, vous pouvez acc\u00E9der \u00E0 cette\n demande dans la liste de\n <a href=\"/100002/demandes/search/MINE/INITIAL\">\n vos demandes en brouillon\n </a>\n .\n </p>\n </ng-container>\n <ng-template #notConnectedContent>\n <div class=\"alert alert-info\">\n <p *ngIf=\"!mailSent\">\n Les informations demand\u00E9es sont uniquement utilis\u00E9es pour vous\n permettre d'effectuer la reprise de demande.\n </p>\n\n <div *ngIf=\"mailSent\">\n <p>\n Un message contenant le lien de reprise de la demande a \u00E9t\u00E9\n envoy\u00E9 \u00E0 votre email.\n </p>\n <p>\n Vous pouvez cliquer sur ce lien pour reprendre la demande en\n saisissant le code qui sera envoy\u00E9 \u00E0 votre t\u00E9l\u00E9phone.\n </p>\n </div>\n </div>\n\n <foehn-form *ngIf=\"!mailSent\" [shouldDisplayAlertSummary]=\"false\">\n <foehn-input-text\n label=\"Email\"\n helpText=\"Par exemple, john@doe.ch\"\n [(model)]=\"model.email\"\n name=\"email\"\n required=\"true\"\n ></foehn-input-text>\n\n <foehn-input-phone\n label=\"Num\u00E9ro de t\u00E9l\u00E9phone mobile\"\n [acceptInternational]=\"true\"\n [acceptMobilePhone]=\"true\"\n [acceptPhone]=\"false\"\n [(model)]=\"model.mobile\"\n name=\"mobile\"\n required=\"true\"\n ></foehn-input-phone>\n </foehn-form>\n </ng-template>\n\n <div modal-footer class=\"w-100\">\n <div class=\"d-md-flex\">\n <div class=\"ml-md-auto mr-md-2 mb-2 mt-2\">\n <button (click)=\"close()\" class=\"btn btn-secondary w-100\">\n Fermer\n </button>\n </div>\n <div\n *ngIf=\"!(isConnectedCyber | async)\"\n class=\"ml-md-0 mr-md-2 mb-2 mt-2\"\n >\n <button\n type=\"submit\"\n (click)=\"sendAndClose()\"\n class=\"btn btn-success w-100\"\n *ngIf=\"!mailSent\"\n >\n Sauvegarder\n </button>\n </div>\n </div>\n </div>\n</foehn-modal>\n", styles: [".no-text-transform{text-transform:none;cursor:pointer}\n"], components: [{ type: i8.FoehnModalComponent, selector: "foehn-modal", inputs: ["id", "name", "modalSize", "modalBodyText", "modalHeaderText", "
|
|
115
|
+
GesdemActionRecoveryRegistrationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.5", type: GesdemActionRecoveryRegistrationComponent, selector: "gesdem-action-recovery-registration", inputs: { continueLaterLabel: "continueLaterLabel" }, viewQueries: [{ propertyName: "modalTrigger", first: true, predicate: ["modalTrigger"], descendants: true }, { propertyName: "form", first: true, predicate: FoehnFormComponent, descendants: true }], ngImport: i0, template: "<button\n type=\"button\"\n id=\"continueLaterButton\"\n class=\"btn btn-link pr-0 pl-0 no-text-transform\"\n *ngIf=\"canContinueLater | async\"\n (click)=\"open()\"\n #modalTrigger\n>\n {{ continueLaterLabel }}\n</button>\n\n<foehn-modal\n id=\"action-recovery-registration-modal\"\n [modalHeaderText]=\"'Informations pour la reprise de la demande'\"\n [isModalVisible]=\"isModalVisible\"\n (isModalVisibleChange)=\"updateVisibilityStatus($event)\"\n>\n <ng-container *ngIf=\"isConnectedCyber | async; else notConnectedContent\">\n <p>\n Vos donn\u00E9es ont \u00E9t\u00E9 sauvegard\u00E9es, vous pouvez acc\u00E9der \u00E0 cette\n demande dans la liste de\n <a href=\"/100002/demandes/search/MINE/INITIAL\">\n vos demandes en brouillon\n </a>\n .\n </p>\n </ng-container>\n <ng-template #notConnectedContent>\n <div class=\"alert alert-info\">\n <p *ngIf=\"!mailSent\">\n Les informations demand\u00E9es sont uniquement utilis\u00E9es pour vous\n permettre d'effectuer la reprise de demande.\n </p>\n\n <div *ngIf=\"mailSent\">\n <p>\n Un message contenant le lien de reprise de la demande a \u00E9t\u00E9\n envoy\u00E9 \u00E0 votre email.\n </p>\n <p>\n Vous pouvez cliquer sur ce lien pour reprendre la demande en\n saisissant le code qui sera envoy\u00E9 \u00E0 votre t\u00E9l\u00E9phone.\n </p>\n </div>\n </div>\n\n <foehn-form *ngIf=\"!mailSent\" [shouldDisplayAlertSummary]=\"false\">\n <foehn-input-text\n label=\"Email\"\n helpText=\"Par exemple, john@doe.ch\"\n [(model)]=\"model.email\"\n name=\"email\"\n required=\"true\"\n ></foehn-input-text>\n\n <foehn-input-phone\n label=\"Num\u00E9ro de t\u00E9l\u00E9phone mobile\"\n [acceptInternational]=\"true\"\n [acceptMobilePhone]=\"true\"\n [acceptPhone]=\"false\"\n [(model)]=\"model.mobile\"\n name=\"mobile\"\n required=\"true\"\n ></foehn-input-phone>\n </foehn-form>\n </ng-template>\n\n <div modal-footer class=\"w-100\">\n <div class=\"d-md-flex\">\n <div class=\"ml-md-auto mr-md-2 mb-2 mt-2\">\n <button (click)=\"close()\" class=\"btn btn-secondary w-100\">\n Fermer\n </button>\n </div>\n <div\n *ngIf=\"!(isConnectedCyber | async)\"\n class=\"ml-md-0 mr-md-2 mb-2 mt-2\"\n >\n <button\n type=\"submit\"\n (click)=\"sendAndClose()\"\n class=\"btn btn-success w-100\"\n *ngIf=\"!mailSent\"\n >\n Sauvegarder\n </button>\n </div>\n </div>\n </div>\n</foehn-modal>\n", styles: [".no-text-transform{text-transform:none;cursor:pointer}\n"], components: [{ type: i8.FoehnModalComponent, selector: "foehn-modal", inputs: ["id", "name", "modalSize", "modalBodyText", "modalHeaderText", "closeable", "modalTriggerHtmlElement", "isModalVisible"], outputs: ["isModalVisibleChange"] }, { type: i9.FoehnFormComponent, selector: "foehn-form", inputs: ["shouldDisplayAlertSummary"] }, { type: i10.FoehnInputTextComponent, selector: "foehn-input-text", inputs: ["numberOnly"] }, { type: i11.FoehnInputPhoneComponent, selector: "foehn-input-phone", inputs: ["acceptInternational", "acceptMobilePhone", "acceptPhone"] }], directives: [{ type: i12.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i12.AsyncPipe } });
|
|
116
116
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: GesdemActionRecoveryRegistrationComponent, decorators: [{
|
|
117
117
|
type: Component,
|
|
118
118
|
args: [{ selector: 'gesdem-action-recovery-registration', template: "<button\n type=\"button\"\n id=\"continueLaterButton\"\n class=\"btn btn-link pr-0 pl-0 no-text-transform\"\n *ngIf=\"canContinueLater | async\"\n (click)=\"open()\"\n #modalTrigger\n>\n {{ continueLaterLabel }}\n</button>\n\n<foehn-modal\n id=\"action-recovery-registration-modal\"\n [modalHeaderText]=\"'Informations pour la reprise de la demande'\"\n [isModalVisible]=\"isModalVisible\"\n (isModalVisibleChange)=\"updateVisibilityStatus($event)\"\n>\n <ng-container *ngIf=\"isConnectedCyber | async; else notConnectedContent\">\n <p>\n Vos donn\u00E9es ont \u00E9t\u00E9 sauvegard\u00E9es, vous pouvez acc\u00E9der \u00E0 cette\n demande dans la liste de\n <a href=\"/100002/demandes/search/MINE/INITIAL\">\n vos demandes en brouillon\n </a>\n .\n </p>\n </ng-container>\n <ng-template #notConnectedContent>\n <div class=\"alert alert-info\">\n <p *ngIf=\"!mailSent\">\n Les informations demand\u00E9es sont uniquement utilis\u00E9es pour vous\n permettre d'effectuer la reprise de demande.\n </p>\n\n <div *ngIf=\"mailSent\">\n <p>\n Un message contenant le lien de reprise de la demande a \u00E9t\u00E9\n envoy\u00E9 \u00E0 votre email.\n </p>\n <p>\n Vous pouvez cliquer sur ce lien pour reprendre la demande en\n saisissant le code qui sera envoy\u00E9 \u00E0 votre t\u00E9l\u00E9phone.\n </p>\n </div>\n </div>\n\n <foehn-form *ngIf=\"!mailSent\" [shouldDisplayAlertSummary]=\"false\">\n <foehn-input-text\n label=\"Email\"\n helpText=\"Par exemple, john@doe.ch\"\n [(model)]=\"model.email\"\n name=\"email\"\n required=\"true\"\n ></foehn-input-text>\n\n <foehn-input-phone\n label=\"Num\u00E9ro de t\u00E9l\u00E9phone mobile\"\n [acceptInternational]=\"true\"\n [acceptMobilePhone]=\"true\"\n [acceptPhone]=\"false\"\n [(model)]=\"model.mobile\"\n name=\"mobile\"\n required=\"true\"\n ></foehn-input-phone>\n </foehn-form>\n </ng-template>\n\n <div modal-footer class=\"w-100\">\n <div class=\"d-md-flex\">\n <div class=\"ml-md-auto mr-md-2 mb-2 mt-2\">\n <button (click)=\"close()\" class=\"btn btn-secondary w-100\">\n Fermer\n </button>\n </div>\n <div\n *ngIf=\"!(isConnectedCyber | async)\"\n class=\"ml-md-0 mr-md-2 mb-2 mt-2\"\n >\n <button\n type=\"submit\"\n (click)=\"sendAndClose()\"\n class=\"btn btn-success w-100\"\n *ngIf=\"!mailSent\"\n >\n Sauvegarder\n </button>\n </div>\n </div>\n </div>\n</foehn-modal>\n", styles: [".no-text-transform{text-transform:none;cursor:pointer}\n"] }]
|
|
@@ -69,7 +69,7 @@ export class SdkEpaymentComponent {
|
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
71
|
SdkEpaymentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: SdkEpaymentComponent, deps: [{ token: i1.EPaymentService }, { token: i2.ActivatedRoute }, { token: i3.GesdemHandlerService }, { token: i4.GesdemEventService }], target: i0.ɵɵFactoryTarget.Component });
|
|
72
|
-
SdkEpaymentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.5", type: SdkEpaymentComponent, selector: "epayment-form", inputs: { baseUrl: "baseUrl" }, ngImport: i0, template: "<foehn-modal\n [isModalVisible]=\"this.modalDisplayed\"\n [modalBodyText]=\"this.platformFailureMessage\"\n modalHeaderText=\"Le paiement n'a pu \u00EAtre effectu\u00E9\"\n modalFooterText=\"L'Administration Cantonale Vaudoise\"\n (click)=\"this.modalDisplayed = false\"\n></foehn-modal>\n", styles: [""], components: [{ type: i5.FoehnModalComponent, selector: "foehn-modal", inputs: ["id", "name", "modalSize", "modalBodyText", "modalHeaderText", "
|
|
72
|
+
SdkEpaymentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.5", type: SdkEpaymentComponent, selector: "epayment-form", inputs: { baseUrl: "baseUrl" }, ngImport: i0, template: "<foehn-modal\n [isModalVisible]=\"this.modalDisplayed\"\n [modalBodyText]=\"this.platformFailureMessage\"\n modalHeaderText=\"Le paiement n'a pu \u00EAtre effectu\u00E9\"\n modalFooterText=\"L'Administration Cantonale Vaudoise\"\n (click)=\"this.modalDisplayed = false\"\n></foehn-modal>\n", styles: [""], components: [{ type: i5.FoehnModalComponent, selector: "foehn-modal", inputs: ["id", "name", "modalSize", "modalBodyText", "modalHeaderText", "closeable", "modalTriggerHtmlElement", "isModalVisible"], outputs: ["isModalVisibleChange"] }] });
|
|
73
73
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: SdkEpaymentComponent, decorators: [{
|
|
74
74
|
type: Component,
|
|
75
75
|
args: [{ selector: 'epayment-form', template: "<foehn-modal\n [isModalVisible]=\"this.modalDisplayed\"\n [modalBodyText]=\"this.platformFailureMessage\"\n modalHeaderText=\"Le paiement n'a pu \u00EAtre effectu\u00E9\"\n modalFooterText=\"L'Administration Cantonale Vaudoise\"\n (click)=\"this.modalDisplayed = false\"\n></foehn-modal>\n", styles: [""] }]
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
-
import { throwError as observableThrowError
|
|
2
|
+
import { Subject, throwError as observableThrowError } from 'rxjs';
|
|
3
3
|
import { Injectable } from '@angular/core';
|
|
4
4
|
import { HttpErrorResponse, HttpResponse } from '@angular/common/http';
|
|
5
5
|
import { catchError, map } from 'rxjs/operators';
|
|
@@ -45,4 +45,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImpor
|
|
|
45
45
|
providedIn: 'root'
|
|
46
46
|
}]
|
|
47
47
|
}] });
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWFtLWV4cGlyZWQtaW50ZXJjZXB0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9zZGstcmVkaXJlY3QvaWFtLWV4cGlyZWQtaW50ZXJjZXB0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQsT0FBTyxFQUFjLE9BQU8sRUFBRSxVQUFVLElBQUksb0JBQW9CLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQ0gsaUJBQWlCLEVBS2pCLFlBQVksRUFDZixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBRWpELE1BQU0sMEJBQTBCLEdBQUcscUJBQXFCLENBQUM7QUFDekQsTUFBTSxVQUFVLEdBQUcsZUFBZSxDQUFDO0FBS25DLE1BQU0sT0FBTyw0QkFBNEI7SUFIekM7UUFJWSxpQ0FBNEIsR0FBcUIsSUFBSSxPQUFPLEVBQVcsQ0FBQztLQTBDbkY7SUF4Q0csSUFBSSwyQkFBMkI7UUFDM0IsT0FBTyxJQUFJLENBQUMsNEJBQTRCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDNUQsQ0FBQztJQUVELFNBQVMsQ0FDTCxHQUFxQixFQUNyQixJQUFpQjtRQUVqQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUN4QixHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDUixJQUFJLEtBQUssWUFBWSxZQUFZLEVBQUU7Z0JBQy9CLGtEQUFrRDtnQkFDbEQsTUFBTSxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FDdEMsMEJBQTBCLENBQzdCLENBQUM7Z0JBQ0YsSUFBSSxJQUFJLEtBQUssZ0JBQWdCLEVBQUU7b0JBQzNCLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQ2hEO2FBQ0o7WUFFRCxPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDLENBQUMsRUFDRixVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDMUMsQ0FBQztJQUNOLENBQUM7SUFFTyxXQUFXLENBQ2YsR0FBdUM7UUFFdkMsSUFBSSxHQUFHLFlBQVksaUJBQWlCLEVBQUU7WUFDbEMsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRTtnQkFDcEIsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNoRCxJQUFJLE9BQU8sRUFBRTtvQkFDVCxJQUFJLENBQUMsNEJBQTRCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUNoRDthQUNKO1NBQ0o7UUFFRCxPQUFPLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7O3lIQTFDUSw0QkFBNEI7NkhBQTVCLDRCQUE0QixjQUZ6QixNQUFNOzJGQUVULDRCQUE0QjtrQkFIeEMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCB0aHJvd0Vycm9yIGFzIG9ic2VydmFibGVUaHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEh0dHBFcnJvclJlc3BvbnNlLFxuICAgIEh0dHBFdmVudCxcbiAgICBIdHRwSGFuZGxlcixcbiAgICBIdHRwSW50ZXJjZXB0b3IsXG4gICAgSHR0cFJlcXVlc3QsXG4gICAgSHR0cFJlc3BvbnNlXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuY29uc3QgSUFNX1NFU1NJT05fRVhQSVJFRF9IRUFERVIgPSAnaWFtLXNlc3Npb24tZXhwaXJlZCc7XG5jb25zdCBMT0dJTl9QQVRIID0gJy8xMDAwMTgvbG9naW4nO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIElhbUV4cGlyZWRJbnRlcmNlcHRvclNlcnZpY2UgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xuICAgIHByaXZhdGUgX2lhbUV4cGlyYXRpb25IZWFkZXJQcmVzZW5jZTogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgICBnZXQgaWFtRXhwaXJhdGlvbkhlYWRlclByZXNlbmNlKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faWFtRXhwaXJhdGlvbkhlYWRlclByZXNlbmNlLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIGludGVyY2VwdChcbiAgICAgICAgcmVxOiBIdHRwUmVxdWVzdDxhbnk+LFxuICAgICAgICBuZXh0OiBIdHRwSGFuZGxlclxuICAgICk6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4gfCBhbnk+IHtcbiAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcSkucGlwZShcbiAgICAgICAgICAgIG1hcChldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgSHR0cFJlc3BvbnNlKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGVpdGhlciB3ZSBoYXZlIHRoZSBoZWFkZXIgJ2lhbS1zZXNzaW9uLWV4cGlyZWQnXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGlhbUV4cGlyZWRIZWFkZXIgPSBldmVudC5oZWFkZXJzLmdldChcbiAgICAgICAgICAgICAgICAgICAgICAgIElBTV9TRVNTSU9OX0VYUElSRURfSEVBREVSXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChudWxsICE9PSBpYW1FeHBpcmVkSGVhZGVyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9pYW1FeHBpcmF0aW9uSGVhZGVyUHJlc2VuY2UubmV4dCh0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBldmVudDtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yLmJpbmQodGhpcykpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVFcnJvcihcbiAgICAgICAgZXJyOiBIdHRwRXJyb3JSZXNwb25zZSB8IEh0dHBFdmVudDxhbnk+XG4gICAgKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xuICAgICAgICBpZiAoZXJyIGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UpIHtcbiAgICAgICAgICAgIGlmIChlcnIuc3RhdHVzID09PSAyMDApIHtcbiAgICAgICAgICAgICAgICBjb25zdCBpc0xvZ2luID0gZXJyLnVybC5pbmRleE9mKExPR0lOX1BBVEgpID4gMDtcbiAgICAgICAgICAgICAgICBpZiAoaXNMb2dpbikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9pYW1FeHBpcmF0aW9uSGVhZGVyUHJlc2VuY2UubmV4dCh0cnVlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gb2JzZXJ2YWJsZVRocm93RXJyb3IoZXJyKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { Component } from '@angular/core';
|
|
2
|
+
import { first, tap } from 'rxjs/operators';
|
|
2
3
|
import * as i0 from "@angular/core";
|
|
3
4
|
import * as i1 from "./iam-expired-interceptor.service";
|
|
4
|
-
import * as i2 from "../foehn-
|
|
5
|
+
import * as i2 from "../foehn-page/foehn-page-modal.service";
|
|
6
|
+
import * as i3 from "../foehn-modal/foehn-modal.component";
|
|
5
7
|
export class RedirectComponent {
|
|
6
|
-
constructor(iamInterceptor) {
|
|
8
|
+
constructor(iamInterceptor, foehnPageModalService) {
|
|
7
9
|
this.iamInterceptor = iamInterceptor;
|
|
8
|
-
this.
|
|
9
|
-
|
|
10
|
-
});
|
|
10
|
+
this.foehnPageModalService = foehnPageModalService;
|
|
11
|
+
this.subscription = this.iamInterceptor.iamExpirationHeaderPresence.subscribe(() => this.showModal());
|
|
11
12
|
}
|
|
12
13
|
ngOnInit() {
|
|
13
14
|
this.modalHeaderText = 'Information';
|
|
@@ -18,9 +19,12 @@ export class RedirectComponent {
|
|
|
18
19
|
this.subscription.unsubscribe();
|
|
19
20
|
}
|
|
20
21
|
redirect() {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
this.foehnPageModalService
|
|
23
|
+
.buildSelfRedirectionThroughCyberLogin()
|
|
24
|
+
.pipe(first(), tap(redirectUrl => {
|
|
25
|
+
window.location.href = redirectUrl;
|
|
26
|
+
}))
|
|
27
|
+
.subscribe();
|
|
24
28
|
}
|
|
25
29
|
showModal() {
|
|
26
30
|
this.counter = 10;
|
|
@@ -34,10 +38,10 @@ export class RedirectComponent {
|
|
|
34
38
|
}, 1000);
|
|
35
39
|
}
|
|
36
40
|
}
|
|
37
|
-
RedirectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: RedirectComponent, deps: [{ token: i1.IamExpiredInterceptorService }], target: i0.ɵɵFactoryTarget.Component });
|
|
38
|
-
RedirectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.5", type: RedirectComponent, selector: "redirector", ngImport: i0, template: "<foehn-modal\n [modalBodyText]=\"modalBodyText\"\n [isModalVisible]=\"isModalVisible\"\n [modalHeaderText]=\"modalHeaderText\"\n [
|
|
41
|
+
RedirectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: RedirectComponent, deps: [{ token: i1.IamExpiredInterceptorService }, { token: i2.FoehnPageModalService }], target: i0.ɵɵFactoryTarget.Component });
|
|
42
|
+
RedirectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.5", type: RedirectComponent, selector: "redirector", ngImport: i0, template: "<foehn-modal\n [modalBodyText]=\"modalBodyText\"\n [isModalVisible]=\"isModalVisible\"\n [modalHeaderText]=\"modalHeaderText\"\n [closeable]=\"false\"\n>\n <div modal-footer class=\"w-100 text-right font-weight-bold\">\n Vous allez \u00EAtre redirig\u00E9 dans {{ counter }} s.\n </div>\n</foehn-modal>\n", components: [{ type: i3.FoehnModalComponent, selector: "foehn-modal", inputs: ["id", "name", "modalSize", "modalBodyText", "modalHeaderText", "closeable", "modalTriggerHtmlElement", "isModalVisible"], outputs: ["isModalVisibleChange"] }] });
|
|
39
43
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: RedirectComponent, decorators: [{
|
|
40
44
|
type: Component,
|
|
41
|
-
args: [{ selector: 'redirector', template: "<foehn-modal\n [modalBodyText]=\"modalBodyText\"\n [isModalVisible]=\"isModalVisible\"\n [modalHeaderText]=\"modalHeaderText\"\n [
|
|
42
|
-
}], ctorParameters: function () { return [{ type: i1.IamExpiredInterceptorService }]; } });
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
args: [{ selector: 'redirector', template: "<foehn-modal\n [modalBodyText]=\"modalBodyText\"\n [isModalVisible]=\"isModalVisible\"\n [modalHeaderText]=\"modalHeaderText\"\n [closeable]=\"false\"\n>\n <div modal-footer class=\"w-100 text-right font-weight-bold\">\n Vous allez \u00EAtre redirig\u00E9 dans {{ counter }} s.\n </div>\n</foehn-modal>\n" }]
|
|
46
|
+
}], ctorParameters: function () { return [{ type: i1.IamExpiredInterceptorService }, { type: i2.FoehnPageModalService }]; } });
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkaXJlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL3Nkay1yZWRpcmVjdC9yZWRpcmVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvc2RrLXJlZGlyZWN0L3JlZGlyZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBSTdELE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBTzVDLE1BQU0sT0FBTyxpQkFBaUI7SUFRMUIsWUFDWSxjQUE0QyxFQUM1QyxxQkFBNEM7UUFENUMsbUJBQWMsR0FBZCxjQUFjLENBQThCO1FBQzVDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFFcEQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLDJCQUEyQixDQUFDLFNBQVMsQ0FDekUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUN6QixDQUFDO0lBQ04sQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsZUFBZSxHQUFHLGFBQWEsQ0FBQztRQUNyQyxJQUFJLENBQUMsYUFBYSxHQUFHO2dHQUNtRSxDQUFDO0lBQzdGLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRU8sUUFBUTtRQUNaLElBQUksQ0FBQyxxQkFBcUI7YUFDckIscUNBQXFDLEVBQUU7YUFDdkMsSUFBSSxDQUNELEtBQUssRUFBRSxFQUNQLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUNkLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLFdBQVcsQ0FBQztRQUN2QyxDQUFDLENBQUMsQ0FDTDthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFTyxTQUFTO1FBQ2IsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDM0IsV0FBVyxDQUFDLEdBQUcsRUFBRTtZQUNiLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ3BCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDaEIsT0FBTzthQUNWO1lBQ0QsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ25CLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNiLENBQUM7OzhHQWpEUSxpQkFBaUI7a0dBQWpCLGlCQUFpQixrRENYOUIsMlVBVUE7MkZEQ2EsaUJBQWlCO2tCQUw3QixTQUFTOytCQUVJLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJYW1FeHBpcmVkSW50ZXJjZXB0b3JTZXJ2aWNlIH0gZnJvbSAnLi9pYW0tZXhwaXJlZC1pbnRlcmNlcHRvci5zZXJ2aWNlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRm9laG5QYWdlTW9kYWxTZXJ2aWNlIH0gZnJvbSAnLi4vZm9laG4tcGFnZS9mb2Vobi1wYWdlLW1vZGFsLnNlcnZpY2UnO1xuaW1wb3J0IHsgZmlyc3QsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lICBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdyZWRpcmVjdG9yJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcmVkaXJlY3QuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFJlZGlyZWN0Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXQge1xuICAgIGlzTW9kYWxWaXNpYmxlOiBib29sZWFuO1xuICAgIG1vZGFsSGVhZGVyVGV4dDogc3RyaW5nO1xuICAgIG1vZGFsQm9keVRleHQ6IHN0cmluZztcbiAgICBjb3VudGVyOiBudW1iZXI7XG5cbiAgICBwcml2YXRlIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgaWFtSW50ZXJjZXB0b3I6IElhbUV4cGlyZWRJbnRlcmNlcHRvclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZm9laG5QYWdlTW9kYWxTZXJ2aWNlOiBGb2VoblBhZ2VNb2RhbFNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLmlhbUludGVyY2VwdG9yLmlhbUV4cGlyYXRpb25IZWFkZXJQcmVzZW5jZS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAoKSA9PiB0aGlzLnNob3dNb2RhbCgpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubW9kYWxIZWFkZXJUZXh0ID0gJ0luZm9ybWF0aW9uJztcbiAgICAgICAgdGhpcy5tb2RhbEJvZHlUZXh0ID0gYDxwPlZvdHJlIHNlc3Npb24gYSBleHBpcsOpLjwvcD5cbiAgICAgICAgICAgIDxwPlZvdXMgcG91dmV6IHZvdXMgY29ubmVjdGVyIMOgIG5vdXZlYXUgcG91ciBjb250aW51ZXIgw6AgdXRpbGlzZXIgbm9zIHNlcnZpY2VzLjwvcD5gO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVkaXJlY3QoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9laG5QYWdlTW9kYWxTZXJ2aWNlXG4gICAgICAgICAgICAuYnVpbGRTZWxmUmVkaXJlY3Rpb25UaHJvdWdoQ3liZXJMb2dpbigpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBmaXJzdCgpLFxuICAgICAgICAgICAgICAgIHRhcChyZWRpcmVjdFVybCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gcmVkaXJlY3RVcmw7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNob3dNb2RhbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb3VudGVyID0gMTA7XG4gICAgICAgIHRoaXMuaXNNb2RhbFZpc2libGUgPSB0cnVlO1xuICAgICAgICBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAoMCA9PT0gdGhpcy5jb3VudGVyKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZWRpcmVjdCgpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuY291bnRlci0tO1xuICAgICAgICB9LCAxMDAwKTtcbiAgICB9XG59XG4iLCI8Zm9laG4tbW9kYWxcbiAgICBbbW9kYWxCb2R5VGV4dF09XCJtb2RhbEJvZHlUZXh0XCJcbiAgICBbaXNNb2RhbFZpc2libGVdPVwiaXNNb2RhbFZpc2libGVcIlxuICAgIFttb2RhbEhlYWRlclRleHRdPVwibW9kYWxIZWFkZXJUZXh0XCJcbiAgICBbY2xvc2VhYmxlXT1cImZhbHNlXCJcbj5cbiAgICA8ZGl2IG1vZGFsLWZvb3RlciBjbGFzcz1cInctMTAwIHRleHQtcmlnaHQgZm9udC13ZWlnaHQtYm9sZFwiPlxuICAgICAgICBWb3VzIGFsbGV6IMOqdHJlIHJlZGlyaWfDqSBkYW5zIHt7IGNvdW50ZXIgfX0gcy5cbiAgICA8L2Rpdj5cbjwvZm9laG4tbW9kYWw+XG4iXX0=
|