@dsivd/prestations-ng 18.3.13 → 18.3.15-beta.1
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 +32 -0
- package/UPGRADING_V19.md +9 -5
- package/abstract-page-component.d.ts +9 -0
- package/dsivd-prestations-ng-18.3.15-beta.1.tgz +0 -0
- package/fesm2022/dsivd-prestations-ng.mjs +161 -60
- package/fesm2022/dsivd-prestations-ng.mjs.map +1 -1
- package/foehn-input/foehn-input-phone.component.d.ts +7 -8
- package/foehn-navigation/abstract-foehn-navigation.component.d.ts +10 -1
- package/foehn-navigation/foehn-navigation.service.d.ts +8 -0
- package/foehn-upload/foehn-multi-upload/pending-upload.service.d.ts +2 -2
- package/package.json +1 -1
- package/dsivd-prestations-ng-18.3.13.tgz +0 -0
|
@@ -2,8 +2,8 @@ import * as i0 from '@angular/core';
|
|
|
2
2
|
import { Optional, Inject, Injectable, EventEmitter, Input, HostBinding, Output, forwardRef, ViewChildren, ViewChild, Directive, Pipe, Component, ContentChildren, InjectionToken, HostListener, inject, ErrorHandler, NgModule, TemplateRef, ContentChild } from '@angular/core';
|
|
3
3
|
import * as i1$1 from '@angular/router';
|
|
4
4
|
import { ActivatedRoute, NavigationStart, RouterModule, NavigationEnd, RouterLink } from '@angular/router';
|
|
5
|
-
import { of, Subject, BehaviorSubject, combineLatest, throwError, switchMap as switchMap$1, forkJoin, tap as tap$1, from, concatMap, toArray, EMPTY, takeUntil, startWith, filter as filter$1, merge, interval, withLatestFrom, map as map$1, debounceTime as debounceTime$1, concat } from 'rxjs';
|
|
6
|
-
import { map, shareReplay, filter, tap, debounceTime, catchError, switchMap, first, finalize, throttleTime, mergeMap, share, take, distinctUntilChanged } from 'rxjs/operators';
|
|
5
|
+
import { of, Subject, BehaviorSubject, combineLatest, throwError, switchMap as switchMap$1, forkJoin, tap as tap$1, from, concatMap, toArray, EMPTY, takeUntil, startWith, filter as filter$1, merge, interval, withLatestFrom, map as map$1, debounceTime as debounceTime$1, timer, concat } from 'rxjs';
|
|
6
|
+
import { map, shareReplay, filter, tap, debounceTime, catchError, switchMap, first, finalize, throttleTime, mergeMap, share, take, distinctUntilChanged, skip } from 'rxjs/operators';
|
|
7
7
|
import * as i1 from '@angular/common/http';
|
|
8
8
|
import { HttpStatusCode, HttpResponseBase, HttpErrorResponse, HttpParams, HttpEventType, HttpResponse, HTTP_INTERCEPTORS, provideHttpClient, withInterceptorsFromDi, withInterceptors, HttpClient } from '@angular/common/http';
|
|
9
9
|
import * as i3 from '@angular/forms';
|
|
@@ -25,6 +25,7 @@ import * as i5 from '@angular/cdk/scrolling';
|
|
|
25
25
|
import { CdkVirtualScrollViewport, ScrollingModule } from '@angular/cdk/scrolling';
|
|
26
26
|
import 'core-js/modules/es.array.includes';
|
|
27
27
|
import localeData from 'dayjs/plugin/localeData';
|
|
28
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
28
29
|
import * as i6 from 'ngx-image-cropper';
|
|
29
30
|
import { ImageCropperComponent } from 'ngx-image-cropper';
|
|
30
31
|
import * as iban from 'iban';
|
|
@@ -1188,17 +1189,15 @@ const DEFAULT_DICTIONARY = {
|
|
|
1188
1189
|
'foehn-input-email.standard-connected-help-text': "Cette adresse est utilisée pour l'envoi des alertes automatiques vous informant " +
|
|
1189
1190
|
"d'un nouvel événement vous concernant sur le portail sécurisé.<br/>" +
|
|
1190
1191
|
'Vous pouvez uniquement la modifier dans les <a href="/100002/" target="_blank">préférences de votre espace sécurisé</a>',
|
|
1191
|
-
'foehn-input-phone.
|
|
1192
|
-
'<li>+
|
|
1193
|
-
'foehn-input-phone.
|
|
1194
|
-
'<li>+41791234567,</li><li>0041
|
|
1195
|
-
'foehn-input-phone.
|
|
1196
|
-
'<li>+41211234567,</li><li>0041 21 123 45 56 ou</li><li>+33 6 12 34 56 78</li></ul>)',
|
|
1197
|
-
'foehn-input-phone.DEFAULT_INTERNATIONAL_HELP_TEXT': "Préfixer avec l'indicatif de votre pays (ex : <ul class='sameLine-list'>" +
|
|
1192
|
+
'foehn-input-phone.STANDARD_HELPTEXT_INTERNATIONAL_FIX_ONLY': "Préfixer avec l'indicatif de votre pays (ex : <ul class='sameLine-list'>" +
|
|
1193
|
+
'<li>+41211234567,</li><li>0041 21 123 45 67 ou</li><li>+33 1 42 92 81 00</li></ul>)',
|
|
1194
|
+
'foehn-input-phone.STANDARD_HELPTEXT_INTERNATIONAL_MOBILE_ONLY': "Préfixer avec l'indicatif de votre pays (ex : <ul class='sameLine-list'>" +
|
|
1195
|
+
'<li>+41791234567,</li><li>0041 79 123 45 67 ou</li><li>+33 6 12 34 56 78</li></ul>)',
|
|
1196
|
+
'foehn-input-phone.STANDARD_HELPTEXT_INTERNATIONAL_FIX_AND_MOBILE': "Préfixer avec l'indicatif de votre pays (ex : <ul class='sameLine-list'>" +
|
|
1198
1197
|
'<li>+41791234567,</li><li>+41 22 012 34 56,</li><li>0041 79 012 34 56</li><li>ou +33612345678</li></ul>)',
|
|
1199
|
-
'foehn-input-phone.
|
|
1200
|
-
'foehn-input-phone.
|
|
1201
|
-
'foehn-input-phone.
|
|
1198
|
+
'foehn-input-phone.STANDARD_HELPTEXT_SWISS_FIX_AND_MOBILE': "ex : <ul class='sameLine-list'><li>079 123 45 67,</li><li>0211234567,</li><li>+41 79 123 45 67 ou</li><li>+41211234567</li></ul>",
|
|
1199
|
+
'foehn-input-phone.STANDARD_HELPTEXT_SWISS_FIX_ONLY': "ex : <ul class='sameLine-list'><li>0211234567,</li><li>021 123 45 67,</li><li>+41211234567 ou</li><li>+41 21 123 45 67</li></ul>",
|
|
1200
|
+
'foehn-input-phone.STANDARD_HELPTEXT_SWISS_MOBILE_ONLY': "ex : <ul class='sameLine-list'><li>0791234567,</li><li>079 123 45 67,</li><li>+41791234567 ou</li><li>+41 79 123 45 67</li></ul>",
|
|
1202
1201
|
'foehn-input-time.hours.label': 'Heure',
|
|
1203
1202
|
'foehn-input-time.minutes.label': 'Minutes',
|
|
1204
1203
|
'foehn-input-number.standard-help-text.label': 'Saisir un nombre entre {minValue} et {maxValue}',
|
|
@@ -1217,6 +1216,7 @@ const DEFAULT_DICTIONARY = {
|
|
|
1217
1216
|
'foehn-navigation.next.label': 'Suivant',
|
|
1218
1217
|
'foehn-navigation.previous.label': 'Précédent',
|
|
1219
1218
|
'foehn-navigation.transmit.label': 'Transmettre',
|
|
1219
|
+
'foehn-navigation.loading.label': 'Chargement...',
|
|
1220
1220
|
'foehn-navigation.continue-later.label': 'Envoyer un lien pour reprendre cette demande plus tard',
|
|
1221
1221
|
'foehn-navigation.continue-later-already-registered.label': 'Modifier mes informations de reprise et envoyer un nouveau lien',
|
|
1222
1222
|
'foehn-navigation.continue-later-connected.label': 'Finir la demande plus tard',
|
|
@@ -2604,6 +2604,8 @@ class FoehnNavigationService {
|
|
|
2604
2604
|
this.isInit = false;
|
|
2605
2605
|
this.initializedAndRouteActivated = new BehaviorSubject(false);
|
|
2606
2606
|
this.linearRouting = true;
|
|
2607
|
+
this.pendingNavigationDirectionSubject = new BehaviorSubject(null);
|
|
2608
|
+
this.lastNavigationId = 0;
|
|
2607
2609
|
}
|
|
2608
2610
|
get initialized() {
|
|
2609
2611
|
return this.isInit;
|
|
@@ -2681,6 +2683,14 @@ class FoehnNavigationService {
|
|
|
2681
2683
|
hasBeenInitialized() {
|
|
2682
2684
|
return this.initializedAndRouteActivated.asObservable();
|
|
2683
2685
|
}
|
|
2686
|
+
/**
|
|
2687
|
+
* Direction of the navigation started with next() or previous() until it ends, null otherwise.
|
|
2688
|
+
* The current page stays displayed while the target one is activated (e.g. lazy loaded route).
|
|
2689
|
+
* @returns Observable<NavigationDirection>
|
|
2690
|
+
*/
|
|
2691
|
+
pendingNavigationDirection() {
|
|
2692
|
+
return this.pendingNavigationDirectionSubject.asObservable();
|
|
2693
|
+
}
|
|
2684
2694
|
getQueryParamsToForwardAsString() {
|
|
2685
2695
|
const params = this.getQueryParamsToForward() || [];
|
|
2686
2696
|
let stringParams = '';
|
|
@@ -2834,7 +2844,15 @@ class FoehnNavigationService {
|
|
|
2834
2844
|
? SdkEventType.NAVIGATION_FORWARD
|
|
2835
2845
|
: SdkEventType.NAVIGATION_BACKWARD;
|
|
2836
2846
|
this.eventsLoggerService.addEvent(eventType, route.path);
|
|
2837
|
-
|
|
2847
|
+
const navigation = this.redirect(route.path);
|
|
2848
|
+
const navigationId = ++this.lastNavigationId;
|
|
2849
|
+
this.pendingNavigationDirectionSubject.next(direction);
|
|
2850
|
+
return navigation.finally(() => {
|
|
2851
|
+
// A navigation replaced by a newer one ends first (cancelled).
|
|
2852
|
+
if (navigationId === this.lastNavigationId) {
|
|
2853
|
+
this.pendingNavigationDirectionSubject.next(null);
|
|
2854
|
+
}
|
|
2855
|
+
});
|
|
2838
2856
|
}
|
|
2839
2857
|
isRouteAvailable(route) {
|
|
2840
2858
|
const { canActivate } = route;
|
|
@@ -3046,10 +3064,6 @@ class PendingUploadService {
|
|
|
3046
3064
|
this.uploadPendingFilesAndSaveForm(form);
|
|
3047
3065
|
});
|
|
3048
3066
|
}
|
|
3049
|
-
ngOnDestroy() {
|
|
3050
|
-
this.destroy$.next();
|
|
3051
|
-
this.destroy$.complete();
|
|
3052
|
-
}
|
|
3053
3067
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
3054
3068
|
get attachmentsUploaded() {
|
|
3055
3069
|
return this.attachmentsUploadedSubject.asObservable();
|
|
@@ -3057,6 +3071,10 @@ class PendingUploadService {
|
|
|
3057
3071
|
get pendingUploadedErrors() {
|
|
3058
3072
|
return this.pendingUploadedErrorsSubject.asObservable();
|
|
3059
3073
|
}
|
|
3074
|
+
ngOnDestroy() {
|
|
3075
|
+
this.destroy$.next();
|
|
3076
|
+
this.destroy$.complete();
|
|
3077
|
+
}
|
|
3060
3078
|
getPendingFiles(formKey) {
|
|
3061
3079
|
if (this.pendingFilesByFormKey.get(formKey)) {
|
|
3062
3080
|
return this.pendingFilesByFormKey.get(formKey).files;
|
|
@@ -3120,7 +3138,7 @@ class PendingUploadService {
|
|
|
3120
3138
|
.pipe(concatMap(([formKey, pendingFiles]) => this.executeSingleUpload(formKey, pendingFiles, form, mergedResponse)), toArray(), finalize(() => {
|
|
3121
3139
|
this.uploadProgressService.forceComplete();
|
|
3122
3140
|
this.uploadProgressService.showProgress.next(false);
|
|
3123
|
-
}), switchMap(() => this.gesdemService.save(form, false, false).pipe(catchError(err => {
|
|
3141
|
+
}), switchMap(() => this.gesdemService.save(form, false, false).pipe(catchError((err) => {
|
|
3124
3142
|
console.error('Gesdem save failed', err);
|
|
3125
3143
|
return EMPTY;
|
|
3126
3144
|
}))), takeUntil(this.destroy$))
|
|
@@ -3132,7 +3150,9 @@ class PendingUploadService {
|
|
|
3132
3150
|
}
|
|
3133
3151
|
});
|
|
3134
3152
|
}
|
|
3135
|
-
executeSingleUpload(formKey, pendingFiles,
|
|
3153
|
+
executeSingleUpload(formKey, pendingFiles,
|
|
3154
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
3155
|
+
form, mergedResponse) {
|
|
3136
3156
|
const executor = this.uploadExecutors.get(formKey);
|
|
3137
3157
|
if (!executor) {
|
|
3138
3158
|
console.warn('No uploader registered for', formKey);
|
|
@@ -3141,7 +3161,7 @@ class PendingUploadService {
|
|
|
3141
3161
|
return executor().pipe(tap(response => {
|
|
3142
3162
|
this.mergePendingUploadedServerResult(mergedResponse, response);
|
|
3143
3163
|
this.setNestedValue(form, pendingFiles.formKey, response.documents);
|
|
3144
|
-
}), catchError(error => {
|
|
3164
|
+
}), catchError((error) => {
|
|
3145
3165
|
const documentError = new DocumentError();
|
|
3146
3166
|
documentError.formKey = pendingFiles.formKey;
|
|
3147
3167
|
documentError.key = pendingFiles.key;
|
|
@@ -3220,6 +3240,7 @@ function getConcurrentSafeCall(fn) {
|
|
|
3220
3240
|
class AbstractPageComponent {
|
|
3221
3241
|
constructor(activatedRoute) {
|
|
3222
3242
|
this.activatedRoute = activatedRoute;
|
|
3243
|
+
this._isNavigatingToNextPage = false;
|
|
3223
3244
|
this._gesdemService = ServiceLocator.injector.get(GesdemHandlerService);
|
|
3224
3245
|
this._gesdemEventService =
|
|
3225
3246
|
ServiceLocator.injector.get(GesdemEventService);
|
|
@@ -3310,6 +3331,9 @@ class AbstractPageComponent {
|
|
|
3310
3331
|
this.saveFormRequestSubscription?.unsubscribe();
|
|
3311
3332
|
}
|
|
3312
3333
|
send(goToNextPage = true, displaySuccessMessage = true) {
|
|
3334
|
+
if (this._isNavigatingToNextPage) {
|
|
3335
|
+
return;
|
|
3336
|
+
}
|
|
3313
3337
|
const hasPendingFiles = this._pendingUploadService.hasPendingFiles();
|
|
3314
3338
|
if (hasPendingFiles) {
|
|
3315
3339
|
goToNextPage = false;
|
|
@@ -3334,6 +3358,9 @@ class AbstractPageComponent {
|
|
|
3334
3358
|
}
|
|
3335
3359
|
}
|
|
3336
3360
|
transmit() {
|
|
3361
|
+
if (this._isNavigatingToNextPage) {
|
|
3362
|
+
return;
|
|
3363
|
+
}
|
|
3337
3364
|
this._validationHandlerService.shouldDisplayErrors(true);
|
|
3338
3365
|
this._transmitConcurrentSafe
|
|
3339
3366
|
.pipe(tap(() => this._eventsLoggerService.addEvent(SdkEventType.TRANSMIT)), catchError((error) => {
|
|
@@ -3345,11 +3372,14 @@ class AbstractPageComponent {
|
|
|
3345
3372
|
// Do not show warning alert on closing tab or navigator when form has been transmitted
|
|
3346
3373
|
this._registerNgModelService.setHasInteractions(false);
|
|
3347
3374
|
this._gesdemEventService.formTransmittedSubject.next(this._gesdemService.lastResponse);
|
|
3348
|
-
this.
|
|
3375
|
+
this.navigateToNextPage();
|
|
3349
3376
|
}
|
|
3350
3377
|
});
|
|
3351
3378
|
}
|
|
3352
3379
|
sendAndTransmit(displaySuccessMessage = true) {
|
|
3380
|
+
if (this._isNavigatingToNextPage) {
|
|
3381
|
+
return;
|
|
3382
|
+
}
|
|
3353
3383
|
this._gesdemEventService
|
|
3354
3384
|
.formSentObservable()
|
|
3355
3385
|
.pipe(first())
|
|
@@ -3395,13 +3425,33 @@ class AbstractPageComponent {
|
|
|
3395
3425
|
}
|
|
3396
3426
|
this._gesdemEventService.formSentSubject.next(this._gesdemService.lastResponse);
|
|
3397
3427
|
if (isValid && goToNextPage) {
|
|
3398
|
-
this.
|
|
3428
|
+
this.navigateToNextPage();
|
|
3399
3429
|
}
|
|
3400
3430
|
else if (!isValid && this.foehnFormComponent) {
|
|
3401
3431
|
this.foehnFormComponent.focusErrorSummary();
|
|
3402
3432
|
}
|
|
3403
3433
|
}, console.error);
|
|
3404
3434
|
}
|
|
3435
|
+
/**
|
|
3436
|
+
* Navigates to the next page and ignores send(), sendAndTransmit() and transmit() until the navigation ends.
|
|
3437
|
+
*
|
|
3438
|
+
* The current page stays displayed and clickable while the next one is activated (e.g. lazy loaded route,
|
|
3439
|
+
* resolver or async guard): a second click on "next" would save again, then navigate once more from the
|
|
3440
|
+
* next page and skip it.
|
|
3441
|
+
*/
|
|
3442
|
+
async navigateToNextPage() {
|
|
3443
|
+
if (this._isNavigatingToNextPage) {
|
|
3444
|
+
return;
|
|
3445
|
+
}
|
|
3446
|
+
this._isNavigatingToNextPage = true;
|
|
3447
|
+
try {
|
|
3448
|
+
await this._navigation.next();
|
|
3449
|
+
}
|
|
3450
|
+
finally {
|
|
3451
|
+
// Released when the navigation is cancelled or fails so that the user can try again.
|
|
3452
|
+
this._isNavigatingToNextPage = false;
|
|
3453
|
+
}
|
|
3454
|
+
}
|
|
3405
3455
|
checkHasPendingsFilesBeforeTransmit() {
|
|
3406
3456
|
if (this._pendingUploadService.hasPendingFiles()) {
|
|
3407
3457
|
const multiUploadAttachmentSubscription = this._pendingUploadService.attachmentsUploaded.subscribe(() => {
|
|
@@ -11812,14 +11862,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImpo
|
|
|
11812
11862
|
], standalone: false, template: "<div\n class=\"form-group clearable-input-form-group\"\n [class.has-danger]=\"hasErrorsToDisplay()\"\n [class.vd-form-group-danger]=\"hasErrorsToDisplay()\"\n [attr.id]=\"buildId('Container')\"\n tabindex=\"-1\"\n>\n <div class=\"d-flex justify-content-between\">\n <label\n class=\"form-label\"\n [attr.for]=\"buildChildId()\"\n *ngIf=\"label && type !== 'hidden'\"\n [ngClass]=\"isLabelSrOnly ? 'visually-hidden' : labelStyleModifier\"\n >\n <span [innerHTML]=\"label\"></span>\n <span\n *ngIf=\"!required && !hideNotRequiredExtraLabel\"\n aria-hidden=\"true\"\n >\n {{ 'foehn-input.optional' | fromDictionary }}\n </span>\n </label>\n\n <foehn-help-modal\n class=\"removePaddingButton\"\n *ngIf=\"!!helpModal\"\n [modalContent]=\"helpModal\"\n ></foehn-help-modal>\n </div>\n\n <foehn-validation-alerts [component]=\"this\"></foehn-validation-alerts>\n\n <small\n *ngIf=\"standardHelpText && type !== 'hidden'\"\n [attr.id]=\"buildChildId() + 'StandardHelpText'\"\n class=\"form-text text-secondary\"\n [innerHTML]=\"standardHelpText\"\n ></small>\n\n <small\n *ngIf=\"helpText && type !== 'hidden'\"\n [attr.id]=\"buildChildId() + 'Help'\"\n class=\"form-text text-secondary\"\n [innerHTML]=\"helpText\"\n ></small>\n\n <ng-content></ng-content>\n\n <input\n [class.is-invalid]=\"hasErrorsToDisplay() || hasInheritErrorFromParent()\"\n [class.clearable-input]=\"displayClearButton() | async\"\n class=\"form-control\"\n [name]=\"name || label\"\n [attr.maxlength]=\"getMaxLength()\"\n [attr.autocomplete]=\"getAutoComplete()\"\n [attr.autocapitalize]=\"autocapitalize\"\n [attr.disabled]=\"disabled ? 'disabled' : null\"\n [attr.type]=\"type\"\n [attr.pattern]=\"pattern\"\n [attr.min]=\"min\"\n [attr.max]=\"max\"\n [attr.id]=\"buildChildId()\"\n [attr.aria-describedby]=\"getDescribedBy()\"\n [attr.aria-invalid]=\"hasErrorsToDisplay() || null\"\n [attr.aria-required]=\"required || null\"\n [ngModel]=\"model\"\n (paste)=\"onPaste($event)\"\n (ngModelChange)=\"updateNgModel($event)\"\n (input)=\"handleChange(entryComponent.value)\"\n (keydown)=\"onKeydown($event)\"\n (blur)=\"onBlur($event)\"\n (focus)=\"onFocus($event)\"\n #entryComponent\n />\n\n <button\n type=\"button\"\n [id]=\"buildChildId() + 'ClearButton'\"\n *ngIf=\"displayClearButton() | async\"\n class=\"clearable-input-clear-button btn\"\n (click)=\"onClear()\"\n >\n <foehn-icon-times\n class=\"clearable-input-clear-button-icon\"\n [title]=\"'foehn-input.clear-button.label' | fromDictionary\"\n ></foehn-icon-times>\n </button>\n</div>\n", styles: ["input::-ms-clear{display:none}input.clearable-input{padding-right:30px}.clearable-input-form-group{position:relative}:host ::ng-deep foehn-help-modal>.btn{padding-top:0!important;margin-top:0!important}.clearable-input-clear-button{position:absolute;bottom:4px;right:4px;height:30px;width:30px;background:none;border:none;box-shadow:none}.clearable-input-clear-button-icon{top:4px;right:8px;position:absolute}:host ::ng-deep .clearable-input-clear-button.btn .svg-inline--fa{color:#595959!important}:host ::ng-deep .clearable-input-clear-button.btn:hover .svg-inline--fa{color:#000!important}.chars-remaining{color:#757575;font-size:.9rem}.char-count-exceeded{color:#c21f39}:host ::ng-deep .sameLine-list{display:inline;list-style:none;padding:0}:host ::ng-deep .sameLine-list li{display:inline;padding:3px}\n"] }]
|
|
11813
11863
|
}], ctorParameters: () => [{ type: i0.NgZone }] });
|
|
11814
11864
|
|
|
11815
|
-
const
|
|
11816
|
-
const
|
|
11817
|
-
const
|
|
11818
|
-
const
|
|
11819
|
-
const
|
|
11820
|
-
const
|
|
11821
|
-
const
|
|
11822
|
-
const BAD_PARAMS_HELP_TEXT = 'Mauvais paramétrage du composant. Un téléphone est soit international, mobile, fixe ou les deux mais pas rien';
|
|
11865
|
+
const DEFAULT_INTERNATIONAL_FIX_ONLY = 'foehn-input-phone.STANDARD_HELPTEXT_INTERNATIONAL_FIX_ONLY';
|
|
11866
|
+
const DEFAULT_INTERNATIONAL_MOBILE_ONLY = 'foehn-input-phone.STANDARD_HELPTEXT_INTERNATIONAL_MOBILE_ONLY';
|
|
11867
|
+
const DEFAULT_INTERNATIONAL_FIX_AND_MOBILE = 'foehn-input-phone.STANDARD_HELPTEXT_INTERNATIONAL_FIX_AND_MOBILE';
|
|
11868
|
+
const DEFAULT_SWISS_FIX_AND_MOBILE = 'foehn-input-phone.STANDARD_HELPTEXT_SWISS_FIX_AND_MOBILE';
|
|
11869
|
+
const DEFAULT_SWISS_FIX_ONLY = 'foehn-input-phone.STANDARD_HELPTEXT_SWISS_FIX_ONLY';
|
|
11870
|
+
const DEFAULT_SWISS_MOBILE_ONLY = 'foehn-input-phone.STANDARD_HELPTEXT_SWISS_MOBILE_ONLY';
|
|
11871
|
+
const BAD_PARAMS_HELP_TEXT = 'Mauvais paramétrage du composant. Un téléphone est mobile, fixe ou les deux mais pas rien';
|
|
11823
11872
|
class FoehnInputPhoneComponent extends FoehnInputStringComponent {
|
|
11824
11873
|
constructor(dictionaryService) {
|
|
11825
11874
|
super();
|
|
@@ -11847,30 +11896,40 @@ class FoehnInputPhoneComponent extends FoehnInputStringComponent {
|
|
|
11847
11896
|
this.languageChangeSubscription?.unsubscribe();
|
|
11848
11897
|
}
|
|
11849
11898
|
getStandardHelpTextDicoKey() {
|
|
11850
|
-
|
|
11851
|
-
|
|
11852
|
-
|
|
11853
|
-
|
|
11854
|
-
|
|
11855
|
-
if (this.acceptInternational && !this.acceptPhone) {
|
|
11856
|
-
return DEFAULT_INTERNATIONAL_AND_NO_SWISS_PHONE;
|
|
11857
|
-
}
|
|
11858
|
-
if (this.acceptInternational && !this.acceptMobilePhone) {
|
|
11859
|
-
return DEFAULT_INTERNATIONAL_AND_NO_SWISS_MOBILE;
|
|
11860
|
-
}
|
|
11861
|
-
if (this.acceptInternational) {
|
|
11862
|
-
return DEFAULT_INTERNATIONAL_HELP_TEXT;
|
|
11899
|
+
const acceptInternational = this.acceptInternational;
|
|
11900
|
+
const acceptPhone = this.acceptPhone;
|
|
11901
|
+
const acceptMobilePhone = this.acceptMobilePhone;
|
|
11902
|
+
if (!acceptPhone && !acceptMobilePhone) {
|
|
11903
|
+
return BAD_PARAMS_HELP_TEXT;
|
|
11863
11904
|
}
|
|
11864
|
-
if (
|
|
11865
|
-
|
|
11866
|
-
|
|
11867
|
-
|
|
11868
|
-
|
|
11905
|
+
if (!acceptInternational) {
|
|
11906
|
+
if (acceptPhone && acceptMobilePhone) {
|
|
11907
|
+
// swiss phone and swiss mobile phone, no international
|
|
11908
|
+
return DEFAULT_SWISS_FIX_AND_MOBILE;
|
|
11909
|
+
}
|
|
11910
|
+
if (acceptPhone) {
|
|
11911
|
+
// swiss phone only, no international
|
|
11912
|
+
return DEFAULT_SWISS_FIX_ONLY;
|
|
11913
|
+
}
|
|
11914
|
+
else {
|
|
11915
|
+
// swiss mobile phone only, no international
|
|
11916
|
+
return DEFAULT_SWISS_MOBILE_ONLY;
|
|
11917
|
+
}
|
|
11869
11918
|
}
|
|
11870
|
-
|
|
11871
|
-
|
|
11919
|
+
else {
|
|
11920
|
+
if (acceptPhone && acceptMobilePhone) {
|
|
11921
|
+
// international phone and international mobile phone
|
|
11922
|
+
return DEFAULT_INTERNATIONAL_FIX_AND_MOBILE;
|
|
11923
|
+
}
|
|
11924
|
+
if (acceptPhone) {
|
|
11925
|
+
// international phone only
|
|
11926
|
+
return DEFAULT_INTERNATIONAL_FIX_ONLY;
|
|
11927
|
+
}
|
|
11928
|
+
else {
|
|
11929
|
+
// international mobile phone only
|
|
11930
|
+
return DEFAULT_INTERNATIONAL_MOBILE_ONLY;
|
|
11931
|
+
}
|
|
11872
11932
|
}
|
|
11873
|
-
return BAD_PARAMS_HELP_TEXT;
|
|
11874
11933
|
}
|
|
11875
11934
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: FoehnInputPhoneComponent, deps: [{ token: SdkDictionaryService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
11876
11935
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: FoehnInputPhoneComponent, isStandalone: false, selector: "foehn-input-phone", inputs: { acceptInternational: "acceptInternational", acceptMobilePhone: "acceptMobilePhone", acceptPhone: "acceptPhone" }, providers: [
|
|
@@ -13783,34 +13842,74 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImpo
|
|
|
13783
13842
|
}]
|
|
13784
13843
|
}] });
|
|
13785
13844
|
|
|
13845
|
+
// The loading state isn't displayed when the target page loads quickly, so that it doesn't flicker.
|
|
13846
|
+
const LOADING_DISPLAY_DELAY_MS = 200;
|
|
13786
13847
|
class AbstractFoehnNavigationComponent {
|
|
13787
13848
|
constructor() {
|
|
13788
13849
|
this.onNext = new EventEmitter();
|
|
13789
13850
|
this.onPrevious = new EventEmitter();
|
|
13790
13851
|
this.nextLabel = 'foehn-navigation.next.label';
|
|
13791
13852
|
this.prevLabel = 'foehn-navigation.previous.label';
|
|
13853
|
+
this.loadingLabel = 'foehn-navigation.loading.label';
|
|
13792
13854
|
this.continueLaterLabel = 'foehn-navigation.continue-later.label';
|
|
13793
13855
|
this.continueLaterAlreadyRegisteredLabel = 'foehn-navigation.continue-later-already-registered.label';
|
|
13794
13856
|
this.continueLaterConnectedLabel = 'foehn-navigation.continue-later-connected.label';
|
|
13795
13857
|
this.showContinueLaterButton = true;
|
|
13796
13858
|
this.showNextButton = true;
|
|
13797
13859
|
this.triggerRecoveryOnPageChange = false;
|
|
13860
|
+
this.pendingNavigationDirection = null;
|
|
13861
|
+
this.loadingDirection = null;
|
|
13862
|
+
const pendingNavigationDirection = inject(FoehnNavigationService)
|
|
13863
|
+
.pendingNavigationDirection()
|
|
13864
|
+
.pipe(
|
|
13865
|
+
// A navigation pending when the component is created is the one activating its page.
|
|
13866
|
+
skip(1));
|
|
13867
|
+
pendingNavigationDirection
|
|
13868
|
+
.pipe(takeUntilDestroyed())
|
|
13869
|
+
.subscribe(direction => {
|
|
13870
|
+
this.pendingNavigationDirection = direction;
|
|
13871
|
+
});
|
|
13872
|
+
pendingNavigationDirection
|
|
13873
|
+
.pipe(switchMap(direction => direction === null
|
|
13874
|
+
? of(null)
|
|
13875
|
+
: timer(LOADING_DISPLAY_DELAY_MS).pipe(map(() => direction))), takeUntilDestroyed())
|
|
13876
|
+
.subscribe(direction => {
|
|
13877
|
+
this.loadingDirection = direction;
|
|
13878
|
+
});
|
|
13798
13879
|
}
|
|
13799
13880
|
goToNext() {
|
|
13881
|
+
if (this.isNavigating()) {
|
|
13882
|
+
return;
|
|
13883
|
+
}
|
|
13800
13884
|
this.onNext.emit();
|
|
13801
13885
|
}
|
|
13802
13886
|
goToPrevious() {
|
|
13887
|
+
if (this.isNavigating()) {
|
|
13888
|
+
return;
|
|
13889
|
+
}
|
|
13803
13890
|
this.onPrevious.emit();
|
|
13804
13891
|
}
|
|
13805
13892
|
canShowNextButton() {
|
|
13806
13893
|
return this.showNextButton;
|
|
13807
13894
|
}
|
|
13895
|
+
isNavigating() {
|
|
13896
|
+
return this.pendingNavigationDirection !== null;
|
|
13897
|
+
}
|
|
13898
|
+
isLoading() {
|
|
13899
|
+
return this.loadingDirection !== null;
|
|
13900
|
+
}
|
|
13901
|
+
isLoadingNext() {
|
|
13902
|
+
return this.loadingDirection === NavigationDirection.FORWARD;
|
|
13903
|
+
}
|
|
13904
|
+
isLoadingPrevious() {
|
|
13905
|
+
return this.loadingDirection === NavigationDirection.BACKWARD;
|
|
13906
|
+
}
|
|
13808
13907
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: AbstractFoehnNavigationComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
13809
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.17", type: AbstractFoehnNavigationComponent, isStandalone: true, inputs: { nextLabel: "nextLabel", prevLabel: "prevLabel", continueLaterLabel: "continueLaterLabel", continueLaterAlreadyRegisteredLabel: "continueLaterAlreadyRegisteredLabel", continueLaterConnectedLabel: "continueLaterConnectedLabel", showContinueLaterButton: "showContinueLaterButton", showNextButton: "showNextButton", triggerRecoveryOnPageChange: "triggerRecoveryOnPageChange" }, outputs: { onNext: "onNext", onPrevious: "onPrevious" }, ngImport: i0 }); }
|
|
13908
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.17", type: AbstractFoehnNavigationComponent, isStandalone: true, inputs: { nextLabel: "nextLabel", prevLabel: "prevLabel", loadingLabel: "loadingLabel", continueLaterLabel: "continueLaterLabel", continueLaterAlreadyRegisteredLabel: "continueLaterAlreadyRegisteredLabel", continueLaterConnectedLabel: "continueLaterConnectedLabel", showContinueLaterButton: "showContinueLaterButton", showNextButton: "showNextButton", triggerRecoveryOnPageChange: "triggerRecoveryOnPageChange" }, outputs: { onNext: "onNext", onPrevious: "onPrevious" }, ngImport: i0 }); }
|
|
13810
13909
|
}
|
|
13811
13910
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: AbstractFoehnNavigationComponent, decorators: [{
|
|
13812
13911
|
type: Directive
|
|
13813
|
-
}], propDecorators: {
|
|
13912
|
+
}], ctorParameters: () => [], propDecorators: {
|
|
13814
13913
|
// eslint-disable-next-line @angular-eslint/no-output-on-prefix
|
|
13815
13914
|
onNext: [{
|
|
13816
13915
|
type: Output
|
|
@@ -13822,6 +13921,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImpo
|
|
|
13822
13921
|
type: Input
|
|
13823
13922
|
}], prevLabel: [{
|
|
13824
13923
|
type: Input
|
|
13924
|
+
}], loadingLabel: [{
|
|
13925
|
+
type: Input
|
|
13825
13926
|
}], continueLaterLabel: [{
|
|
13826
13927
|
type: Input
|
|
13827
13928
|
}], continueLaterAlreadyRegisteredLabel: [{
|
|
@@ -13883,11 +13984,11 @@ class FoehnNavigationComponent extends AbstractFoehnNavigationComponent {
|
|
|
13883
13984
|
return this.navigationService.isLinearRouting();
|
|
13884
13985
|
}
|
|
13885
13986
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: FoehnNavigationComponent, deps: [{ token: FoehnNavigationService }, { token: i1$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
13886
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: FoehnNavigationComponent, isStandalone: false, selector: "foehn-navigation", inputs: { transmitLabel: "transmitLabel" }, usesInheritance: true, ngImport: i0, template: "<gesdem-action-recovery-registration\n *ngIf=\"showContinueLaterButton\"\n [continueLaterLabel]=\"continueLaterLabel\"\n [continueLaterAlreadyRegisteredLabel]=\"continueLaterAlreadyRegisteredLabel\"\n [continueLaterConnectedLabel]=\"continueLaterConnectedLabel\"\n [triggerOnPageChange]=\"triggerRecoveryOnPageChange\"\n></gesdem-action-recovery-registration>\n\n<sdk-pending-payment\n *ngIf=\"isForcedOnRecapForPendingPayment()\"\n (onPay)=\"goToNext()\"\n></sdk-pending-payment>\n\n<nav class=\"vd-pagination\" id=\"foehn_navContainer\" aria-label=\"Pagination\">\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--previous\"\n *ngIf=\"canShowPreviousButton()\"\n >\n <button\n id=\"prevButton\"\n type=\"button\"\n class=\"btn btn-link vd-pagination__link vd-pagination__link-reset\"\n (click)=\"$event.preventDefault(); goToPrevious()\"\n >\n <span class=\"vd-pagination__title\">\n <foehn-icon-chevron-left\n
|
|
13987
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: FoehnNavigationComponent, isStandalone: false, selector: "foehn-navigation", inputs: { transmitLabel: "transmitLabel" }, usesInheritance: true, ngImport: i0, template: "<gesdem-action-recovery-registration\n *ngIf=\"showContinueLaterButton\"\n [continueLaterLabel]=\"continueLaterLabel\"\n [continueLaterAlreadyRegisteredLabel]=\"continueLaterAlreadyRegisteredLabel\"\n [continueLaterConnectedLabel]=\"continueLaterConnectedLabel\"\n [triggerOnPageChange]=\"triggerRecoveryOnPageChange\"\n></gesdem-action-recovery-registration>\n\n<sdk-pending-payment\n *ngIf=\"isForcedOnRecapForPendingPayment()\"\n (onPay)=\"goToNext()\"\n></sdk-pending-payment>\n\n<nav class=\"vd-pagination\" id=\"foehn_navContainer\" aria-label=\"Pagination\">\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--previous\"\n *ngIf=\"canShowPreviousButton()\"\n >\n <button\n id=\"prevButton\"\n type=\"button\"\n class=\"btn btn-link vd-pagination__link vd-pagination__link-reset\"\n [class.disabled]=\"isLoading()\"\n [attr.aria-disabled]=\"isLoading() || null\"\n (click)=\"$event.preventDefault(); goToPrevious()\"\n >\n <span class=\"vd-pagination__title\">\n <ng-container *ngIf=\"!isLoadingPrevious(); else loading\">\n <foehn-icon-chevron-left\n class=\"me-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-left>\n {{ prevLabel | fromDictionary }}\n </ng-container>\n </span>\n <span class=\"visually-hidden\" *ngIf=\"isLinearRouting()\">:</span>\n <span class=\"vd-pagination__label\" *ngIf=\"isLinearRouting()\">\n {{ getPreviousRouteIndex() }}\n {{\n 'foehn-navigation.route.index.separator'\n | fromDictionary\n }}\n {{ getTotalRoutesSize() }}\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n *ngIf=\"!isLastFormPage() && canShowNextButton()\"\n >\n <button\n id=\"nextButton\"\n type=\"submit\"\n class=\"btn btn-link vd-pagination__link vd-pagination__link-reset\"\n [class.disabled]=\"isLoading()\"\n [attr.aria-disabled]=\"isLoading() || null\"\n (click)=\"$event.preventDefault(); goToNext()\"\n >\n <span class=\"vd-pagination__title\">\n <ng-container *ngIf=\"!isLoadingNext(); else loading\">\n {{ nextLabel | fromDictionary }}\n <foehn-icon-chevron-right\n class=\"ms-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-right>\n </ng-container>\n </span>\n <span class=\"visually-hidden\" *ngIf=\"isLinearRouting()\">:</span>\n <span class=\"vd-pagination__label\" *ngIf=\"isLinearRouting()\">\n {{ getNextRouteIndex() }}\n {{\n 'foehn-navigation.route.index.separator'\n | fromDictionary\n }}\n {{ getTotalRoutesSize() }}\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n *ngIf=\"isLastFormPage() && canShowNextButton()\"\n >\n <button\n *ngIf=\"isLastFormPage() && canShowNextButton()\"\n type=\"submit\"\n id=\"transmitButton\"\n (click)=\"goToNext()\"\n class=\"btn btn-success vd-btn-pagination-submit\"\n [class.disabled]=\"isLoading()\"\n [attr.aria-disabled]=\"isLoading() || null\"\n >\n <ng-container *ngIf=\"!isLoadingNext(); else loading\">\n {{ transmitLabel | fromDictionary }}\n </ng-container>\n </button>\n </li>\n </ul>\n <span class=\"visually-hidden\" role=\"status\">\n <ng-container *ngIf=\"isLoading()\">\n {{ loadingLabel | fromDictionary }}\n </ng-container>\n </span>\n</nav>\n\n<ng-template #loading>\n <span\n class=\"spinner-border spinner-border-sm me-1\"\n aria-hidden=\"true\"\n ></span>\n {{ loadingLabel | fromDictionary }}\n</ng-template>\n", styles: [".vd-pagination__link-reset{background:none;border:none;font-weight:inherit;text-decoration-line:none;text-align:inherit;cursor:pointer}.vd-pagination__link-reset:focus{background-color:var(--vd-focus)}:host ::ng-deep .btn.btn-link .svg-inline--fa{color:var(--vd-primary-dark)}:host ::ng-deep .btn.btn-link:hover .svg-inline--fa{color:var(--vd-neutral-dark)}.btn.btn-link{text-transform:none}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FoehnIconChevronLeftComponent, selector: "foehn-icon-chevron-left" }, { kind: "component", type: FoehnIconChevronRightComponent, selector: "foehn-icon-chevron-right" }, { kind: "component", type: GesdemActionRecoveryRegistrationComponent, selector: "gesdem-action-recovery-registration", inputs: ["dispatchFormErrors", "continueLaterLabel", "continueLaterAlreadyRegisteredLabel", "continueLaterConnectedLabel", "triggerOnPageChange"] }, { kind: "component", type: PendingPaymentComponent, selector: "sdk-pending-payment", outputs: ["onPay"] }, { kind: "pipe", type: SdkDictionaryPipe, name: "fromDictionary" }] }); }
|
|
13887
13988
|
}
|
|
13888
13989
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: FoehnNavigationComponent, decorators: [{
|
|
13889
13990
|
type: Component,
|
|
13890
|
-
args: [{ selector: 'foehn-navigation', standalone: false, template: "<gesdem-action-recovery-registration\n *ngIf=\"showContinueLaterButton\"\n [continueLaterLabel]=\"continueLaterLabel\"\n [continueLaterAlreadyRegisteredLabel]=\"continueLaterAlreadyRegisteredLabel\"\n [continueLaterConnectedLabel]=\"continueLaterConnectedLabel\"\n [triggerOnPageChange]=\"triggerRecoveryOnPageChange\"\n></gesdem-action-recovery-registration>\n\n<sdk-pending-payment\n *ngIf=\"isForcedOnRecapForPendingPayment()\"\n (onPay)=\"goToNext()\"\n></sdk-pending-payment>\n\n<nav class=\"vd-pagination\" id=\"foehn_navContainer\" aria-label=\"Pagination\">\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--previous\"\n *ngIf=\"canShowPreviousButton()\"\n >\n <button\n id=\"prevButton\"\n type=\"button\"\n class=\"btn btn-link vd-pagination__link vd-pagination__link-reset\"\n (click)=\"$event.preventDefault(); goToPrevious()\"\n >\n <span class=\"vd-pagination__title\">\n <foehn-icon-chevron-left\n
|
|
13991
|
+
args: [{ selector: 'foehn-navigation', standalone: false, template: "<gesdem-action-recovery-registration\n *ngIf=\"showContinueLaterButton\"\n [continueLaterLabel]=\"continueLaterLabel\"\n [continueLaterAlreadyRegisteredLabel]=\"continueLaterAlreadyRegisteredLabel\"\n [continueLaterConnectedLabel]=\"continueLaterConnectedLabel\"\n [triggerOnPageChange]=\"triggerRecoveryOnPageChange\"\n></gesdem-action-recovery-registration>\n\n<sdk-pending-payment\n *ngIf=\"isForcedOnRecapForPendingPayment()\"\n (onPay)=\"goToNext()\"\n></sdk-pending-payment>\n\n<nav class=\"vd-pagination\" id=\"foehn_navContainer\" aria-label=\"Pagination\">\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--previous\"\n *ngIf=\"canShowPreviousButton()\"\n >\n <button\n id=\"prevButton\"\n type=\"button\"\n class=\"btn btn-link vd-pagination__link vd-pagination__link-reset\"\n [class.disabled]=\"isLoading()\"\n [attr.aria-disabled]=\"isLoading() || null\"\n (click)=\"$event.preventDefault(); goToPrevious()\"\n >\n <span class=\"vd-pagination__title\">\n <ng-container *ngIf=\"!isLoadingPrevious(); else loading\">\n <foehn-icon-chevron-left\n class=\"me-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-left>\n {{ prevLabel | fromDictionary }}\n </ng-container>\n </span>\n <span class=\"visually-hidden\" *ngIf=\"isLinearRouting()\">:</span>\n <span class=\"vd-pagination__label\" *ngIf=\"isLinearRouting()\">\n {{ getPreviousRouteIndex() }}\n {{\n 'foehn-navigation.route.index.separator'\n | fromDictionary\n }}\n {{ getTotalRoutesSize() }}\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n *ngIf=\"!isLastFormPage() && canShowNextButton()\"\n >\n <button\n id=\"nextButton\"\n type=\"submit\"\n class=\"btn btn-link vd-pagination__link vd-pagination__link-reset\"\n [class.disabled]=\"isLoading()\"\n [attr.aria-disabled]=\"isLoading() || null\"\n (click)=\"$event.preventDefault(); goToNext()\"\n >\n <span class=\"vd-pagination__title\">\n <ng-container *ngIf=\"!isLoadingNext(); else loading\">\n {{ nextLabel | fromDictionary }}\n <foehn-icon-chevron-right\n class=\"ms-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-right>\n </ng-container>\n </span>\n <span class=\"visually-hidden\" *ngIf=\"isLinearRouting()\">:</span>\n <span class=\"vd-pagination__label\" *ngIf=\"isLinearRouting()\">\n {{ getNextRouteIndex() }}\n {{\n 'foehn-navigation.route.index.separator'\n | fromDictionary\n }}\n {{ getTotalRoutesSize() }}\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n *ngIf=\"isLastFormPage() && canShowNextButton()\"\n >\n <button\n *ngIf=\"isLastFormPage() && canShowNextButton()\"\n type=\"submit\"\n id=\"transmitButton\"\n (click)=\"goToNext()\"\n class=\"btn btn-success vd-btn-pagination-submit\"\n [class.disabled]=\"isLoading()\"\n [attr.aria-disabled]=\"isLoading() || null\"\n >\n <ng-container *ngIf=\"!isLoadingNext(); else loading\">\n {{ transmitLabel | fromDictionary }}\n </ng-container>\n </button>\n </li>\n </ul>\n <span class=\"visually-hidden\" role=\"status\">\n <ng-container *ngIf=\"isLoading()\">\n {{ loadingLabel | fromDictionary }}\n </ng-container>\n </span>\n</nav>\n\n<ng-template #loading>\n <span\n class=\"spinner-border spinner-border-sm me-1\"\n aria-hidden=\"true\"\n ></span>\n {{ loadingLabel | fromDictionary }}\n</ng-template>\n", styles: [".vd-pagination__link-reset{background:none;border:none;font-weight:inherit;text-decoration-line:none;text-align:inherit;cursor:pointer}.vd-pagination__link-reset:focus{background-color:var(--vd-focus)}:host ::ng-deep .btn.btn-link .svg-inline--fa{color:var(--vd-primary-dark)}:host ::ng-deep .btn.btn-link:hover .svg-inline--fa{color:var(--vd-neutral-dark)}.btn.btn-link{text-transform:none}\n"] }]
|
|
13891
13992
|
}], ctorParameters: () => [{ type: FoehnNavigationService }, { type: i1$1.ActivatedRoute }], propDecorators: { transmitLabel: [{
|
|
13892
13993
|
type: Input
|
|
13893
13994
|
}] } });
|
|
@@ -13901,11 +14002,11 @@ class FoehnSimpleNavigationComponent extends AbstractFoehnNavigationComponent {
|
|
|
13901
14002
|
return this.showPreviousButton;
|
|
13902
14003
|
}
|
|
13903
14004
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: FoehnSimpleNavigationComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
13904
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: FoehnSimpleNavigationComponent, isStandalone: false, selector: "foehn-simple-navigation", inputs: { showPreviousButton: "showPreviousButton" }, usesInheritance: true, ngImport: i0, template: "<gesdem-action-recovery-registration\n *ngIf=\"showContinueLaterButton\"\n [continueLaterLabel]=\"continueLaterLabel\"\n [continueLaterAlreadyRegisteredLabel]=\"continueLaterAlreadyRegisteredLabel\"\n [continueLaterConnectedLabel]=\"continueLaterConnectedLabel\"\n [triggerOnPageChange]=\"triggerRecoveryOnPageChange\"\n></gesdem-action-recovery-registration>\n\n<nav class=\"vd-pagination\" id=\"foehn_navContainer\" aria-label=\"Pagination\">\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--previous\"\n *ngIf=\"canShowPreviousButton()\"\n >\n <button\n id=\"prevButton\"\n type=\"button\"\n class=\"btn btn-link vd-pagination__link vd-pagination__link-reset\"\n (click)=\"$event.preventDefault(); goToPrevious()\"\n >\n <span class=\"vd-pagination__title\">\n <foehn-icon-chevron-left\n
|
|
14005
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: FoehnSimpleNavigationComponent, isStandalone: false, selector: "foehn-simple-navigation", inputs: { showPreviousButton: "showPreviousButton" }, usesInheritance: true, ngImport: i0, template: "<gesdem-action-recovery-registration\n *ngIf=\"showContinueLaterButton\"\n [continueLaterLabel]=\"continueLaterLabel\"\n [continueLaterAlreadyRegisteredLabel]=\"continueLaterAlreadyRegisteredLabel\"\n [continueLaterConnectedLabel]=\"continueLaterConnectedLabel\"\n [triggerOnPageChange]=\"triggerRecoveryOnPageChange\"\n></gesdem-action-recovery-registration>\n\n<nav class=\"vd-pagination\" id=\"foehn_navContainer\" aria-label=\"Pagination\">\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--previous\"\n *ngIf=\"canShowPreviousButton()\"\n >\n <button\n id=\"prevButton\"\n type=\"button\"\n class=\"btn btn-link vd-pagination__link vd-pagination__link-reset\"\n [class.disabled]=\"isLoading()\"\n [attr.aria-disabled]=\"isLoading() || null\"\n (click)=\"$event.preventDefault(); goToPrevious()\"\n >\n <span class=\"vd-pagination__title\">\n <ng-container *ngIf=\"!isLoadingPrevious(); else loading\">\n <foehn-icon-chevron-left\n class=\"me-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-left>\n {{ prevLabel | fromDictionary }}\n </ng-container>\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n *ngIf=\"canShowNextButton()\"\n >\n <button\n id=\"nextButton\"\n type=\"submit\"\n class=\"btn btn-link vd-pagination__link vd-pagination__link-reset\"\n [class.disabled]=\"isLoading()\"\n [attr.aria-disabled]=\"isLoading() || null\"\n (click)=\"$event.preventDefault(); goToNext()\"\n >\n <span class=\"vd-pagination__title\">\n <ng-container *ngIf=\"!isLoadingNext(); else loading\">\n {{ nextLabel | fromDictionary }}\n <foehn-icon-chevron-right\n class=\"ms-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-right>\n </ng-container>\n </span>\n </button>\n </li>\n </ul>\n <span class=\"visually-hidden\" role=\"status\">\n <ng-container *ngIf=\"isLoading()\">\n {{ loadingLabel | fromDictionary }}\n </ng-container>\n </span>\n</nav>\n\n<ng-template #loading>\n <span\n class=\"spinner-border spinner-border-sm me-1\"\n aria-hidden=\"true\"\n ></span>\n {{ loadingLabel | fromDictionary }}\n</ng-template>\n", styles: [".vd-pagination__link-reset{background:none;border:none;font-weight:inherit;text-decoration-line:none;text-align:inherit;cursor:pointer}.vd-pagination__link-reset:focus{background-color:var(--vd-focus)}:host ::ng-deep .btn.btn-link .svg-inline--fa{color:var(--vd-primary-dark)}:host ::ng-deep .btn.btn-link:hover .svg-inline--fa{color:var(--vd-neutral-dark)}.btn.btn-link{text-transform:none}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FoehnIconChevronLeftComponent, selector: "foehn-icon-chevron-left" }, { kind: "component", type: FoehnIconChevronRightComponent, selector: "foehn-icon-chevron-right" }, { kind: "component", type: GesdemActionRecoveryRegistrationComponent, selector: "gesdem-action-recovery-registration", inputs: ["dispatchFormErrors", "continueLaterLabel", "continueLaterAlreadyRegisteredLabel", "continueLaterConnectedLabel", "triggerOnPageChange"] }, { kind: "pipe", type: SdkDictionaryPipe, name: "fromDictionary" }] }); }
|
|
13905
14006
|
}
|
|
13906
14007
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: FoehnSimpleNavigationComponent, decorators: [{
|
|
13907
14008
|
type: Component,
|
|
13908
|
-
args: [{ selector: 'foehn-simple-navigation', standalone: false, template: "<gesdem-action-recovery-registration\n *ngIf=\"showContinueLaterButton\"\n [continueLaterLabel]=\"continueLaterLabel\"\n [continueLaterAlreadyRegisteredLabel]=\"continueLaterAlreadyRegisteredLabel\"\n [continueLaterConnectedLabel]=\"continueLaterConnectedLabel\"\n [triggerOnPageChange]=\"triggerRecoveryOnPageChange\"\n></gesdem-action-recovery-registration>\n\n<nav class=\"vd-pagination\" id=\"foehn_navContainer\" aria-label=\"Pagination\">\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--previous\"\n *ngIf=\"canShowPreviousButton()\"\n >\n <button\n id=\"prevButton\"\n type=\"button\"\n class=\"btn btn-link vd-pagination__link vd-pagination__link-reset\"\n (click)=\"$event.preventDefault(); goToPrevious()\"\n >\n <span class=\"vd-pagination__title\">\n <foehn-icon-chevron-left\n
|
|
14009
|
+
args: [{ selector: 'foehn-simple-navigation', standalone: false, template: "<gesdem-action-recovery-registration\n *ngIf=\"showContinueLaterButton\"\n [continueLaterLabel]=\"continueLaterLabel\"\n [continueLaterAlreadyRegisteredLabel]=\"continueLaterAlreadyRegisteredLabel\"\n [continueLaterConnectedLabel]=\"continueLaterConnectedLabel\"\n [triggerOnPageChange]=\"triggerRecoveryOnPageChange\"\n></gesdem-action-recovery-registration>\n\n<nav class=\"vd-pagination\" id=\"foehn_navContainer\" aria-label=\"Pagination\">\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--previous\"\n *ngIf=\"canShowPreviousButton()\"\n >\n <button\n id=\"prevButton\"\n type=\"button\"\n class=\"btn btn-link vd-pagination__link vd-pagination__link-reset\"\n [class.disabled]=\"isLoading()\"\n [attr.aria-disabled]=\"isLoading() || null\"\n (click)=\"$event.preventDefault(); goToPrevious()\"\n >\n <span class=\"vd-pagination__title\">\n <ng-container *ngIf=\"!isLoadingPrevious(); else loading\">\n <foehn-icon-chevron-left\n class=\"me-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-left>\n {{ prevLabel | fromDictionary }}\n </ng-container>\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n *ngIf=\"canShowNextButton()\"\n >\n <button\n id=\"nextButton\"\n type=\"submit\"\n class=\"btn btn-link vd-pagination__link vd-pagination__link-reset\"\n [class.disabled]=\"isLoading()\"\n [attr.aria-disabled]=\"isLoading() || null\"\n (click)=\"$event.preventDefault(); goToNext()\"\n >\n <span class=\"vd-pagination__title\">\n <ng-container *ngIf=\"!isLoadingNext(); else loading\">\n {{ nextLabel | fromDictionary }}\n <foehn-icon-chevron-right\n class=\"ms-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-right>\n </ng-container>\n </span>\n </button>\n </li>\n </ul>\n <span class=\"visually-hidden\" role=\"status\">\n <ng-container *ngIf=\"isLoading()\">\n {{ loadingLabel | fromDictionary }}\n </ng-container>\n </span>\n</nav>\n\n<ng-template #loading>\n <span\n class=\"spinner-border spinner-border-sm me-1\"\n aria-hidden=\"true\"\n ></span>\n {{ loadingLabel | fromDictionary }}\n</ng-template>\n", styles: [".vd-pagination__link-reset{background:none;border:none;font-weight:inherit;text-decoration-line:none;text-align:inherit;cursor:pointer}.vd-pagination__link-reset:focus{background-color:var(--vd-focus)}:host ::ng-deep .btn.btn-link .svg-inline--fa{color:var(--vd-primary-dark)}:host ::ng-deep .btn.btn-link:hover .svg-inline--fa{color:var(--vd-neutral-dark)}.btn.btn-link{text-transform:none}\n"] }]
|
|
13909
14010
|
}], propDecorators: { showPreviousButton: [{
|
|
13910
14011
|
type: Input
|
|
13911
14012
|
}] } });
|
|
@@ -16120,7 +16221,7 @@ class AbstractPageFromMenuComponent extends AbstractPageComponent {
|
|
|
16120
16221
|
.subscribe(breadCrumb => {
|
|
16121
16222
|
breadCrumb.breadcrumbItems.pop();
|
|
16122
16223
|
this._breadcrumbEventService.setBreadcrumb(breadCrumb);
|
|
16123
|
-
this.
|
|
16224
|
+
this.navigateToNextPage();
|
|
16124
16225
|
});
|
|
16125
16226
|
}
|
|
16126
16227
|
appendPageToBreadCrumb() {
|
|
@@ -16492,7 +16593,7 @@ class FoehnMenuItemComponent {
|
|
|
16492
16593
|
get nonApplicableId() {
|
|
16493
16594
|
const prefixValue = typeof this.errorPrefix === 'string'
|
|
16494
16595
|
? this.errorPrefix
|
|
16495
|
-
: this.errorPrefix?.source ?? '';
|
|
16596
|
+
: (this.errorPrefix?.source ?? '');
|
|
16496
16597
|
const safePrefix = prefixValue
|
|
16497
16598
|
.replace(/[^a-zA-Z0-9_-]+/g, '-')
|
|
16498
16599
|
.replace(/^-+|-+$/g, '');
|
|
@@ -17178,5 +17279,5 @@ class SdkLog {
|
|
|
17178
17279
|
* Generated bundle index. Do not edit.
|
|
17179
17280
|
*/
|
|
17180
17281
|
|
|
17181
|
-
export { APP_INFO_API_URL, AbstractFoehnUploaderComponent, AbstractListDetailPageComponent, AbstractMenuPageComponent, AbstractPageComponent, AbstractPageFromMenuComponent, ActionStatut, Address, AddressTypeLight, ApplicationInfo, ApplicationInfoService, BAD_PARAMS_HELP_TEXT, BoDocumentError, BoDocumentsWithErrors, BoMultiUploadService, Breadcrumb, BreadcrumbEventService, BreadcrumbItem, CAPTCHA_ERROR_NAME, CURRENCY_REGEXP, Calendar, Canton, Captcha, ChunkLoadErrorHandler, ComponentError, Configuration, Country, CurrencyHelper, CurrentWeek, DECIMALS_SEPARATOR,
|
|
17282
|
+
export { APP_INFO_API_URL, AbstractFoehnUploaderComponent, AbstractListDetailPageComponent, AbstractMenuPageComponent, AbstractPageComponent, AbstractPageFromMenuComponent, ActionStatut, Address, AddressTypeLight, ApplicationInfo, ApplicationInfoService, BAD_PARAMS_HELP_TEXT, BoDocumentError, BoDocumentsWithErrors, BoMultiUploadService, Breadcrumb, BreadcrumbEventService, BreadcrumbItem, CAPTCHA_ERROR_NAME, CURRENCY_REGEXP, Calendar, Canton, Captcha, ChunkLoadErrorHandler, ComponentError, Configuration, Country, CurrencyHelper, CurrentWeek, DECIMALS_SEPARATOR, DEFAULT_INTERNATIONAL_FIX_AND_MOBILE, DEFAULT_INTERNATIONAL_FIX_ONLY, DEFAULT_INTERNATIONAL_MOBILE_ONLY, DEFAULT_PREFIX, DEFAULT_SWISS_FIX_AND_MOBILE, DEFAULT_SWISS_FIX_ONLY, DEFAULT_SWISS_MOBILE_ONLY, DICTIONARY_BASE_URL, DateHelper, DatePickerHelper, DatePickerNavigationHelper, DayMonth, DaySlots, DemandeExpirationService, DemandeHelper, DisplayCurrencyPipe, DisplayDatePipe, District, Document, DocumentError, DocumentReference, DocumentReferenceWithFile, DocumentsWithErrors, DropdownMenuGroup, DropdownMenuItem, EPaymentService, EtapeInfo, FEEDBACK_USAGERS_LOCAL_STORAGE_PREFIX, FORM_SUPPORT_CYBER_TITLE_FALLBACK, FocusedDay, FoehnAbbrComponent, FoehnAddressModule, FoehnAgendaComponent, FoehnAgendaModule, FoehnAgendaNavigationComponent, FoehnAgendaTimeslotPanelComponent, FoehnAutocompleteComponent, FoehnAutocompleteModule, FoehnBoMultiUploadComponent, FoehnBoMultiUploadModule, FoehnBooleanCheckboxComponent, FoehnBooleanModule, FoehnBooleanRadioComponent, FoehnBreadcrumbComponent, FoehnBreadcrumbModule, FoehnCheckableGroupComponent, FoehnCheckablesModule, FoehnCheckboxComponent, FoehnConfirmModalComponent, FoehnConfirmModalContent, FoehnConfirmModalModule, FoehnConfirmModalService, FoehnDateComponent, FoehnDatePickerButtonComponent, FoehnDatePickerButtonModule, FoehnDatePickerComponent, FoehnDatePickerModule, FoehnDateTimeComponent, FoehnDecisionElectroniqueComponent, FoehnDecisionElectroniqueModule, FoehnDisplayAddressComponent, FoehnDropdownMenuComponent, FoehnDropdownMenuModule, FoehnErrorPillComponent, FoehnFeedbackNotificationComponent, FoehnFeedbackNotificationModule, FoehnFormComponent, FoehnFormModule, FoehnGlobalUploadProgressBarComponent, FoehnHeaderComponent, FoehnHeaderModule, FoehnHelpModalComponent, FoehnHelpModalModule, FoehnIconCalendarComponent, FoehnIconCheckComponent, FoehnIconCheckSquareOComponent, FoehnIconChevronDownComponent, FoehnIconChevronLeftComponent, FoehnIconChevronRightComponent, FoehnIconChevronUpComponent, FoehnIconClockComponent, FoehnIconCommentDotsComponent, FoehnIconEditComponent, FoehnIconExternalLinkAltComponent, FoehnIconFilePdfComponent, FoehnIconInfoCircleComponent, FoehnIconLockComponent, FoehnIconMapMarkerComponent, FoehnIconMinusCircleComponent, FoehnIconPencilComponent, FoehnIconPlusCircleComponent, FoehnIconPlusSquareComponent, FoehnIconSearchComponent, FoehnIconTimesComponent, FoehnIconTrashAltComponent, FoehnIconUnlockAltComponent, FoehnIconUserComponent, FoehnIconsModule, FoehnInputAddressComponent, FoehnInputComponent, FoehnInputEmailComponent, FoehnInputForeignLocalityComponent, FoehnInputForeignStreetComponent, FoehnInputHiddenComponent, FoehnInputModule, FoehnInputNav13Component, FoehnInputNav13Module, FoehnInputNumberComponent, FoehnInputPasswordComponent, FoehnInputPhoneComponent, FoehnInputPrefixedTextComponent, FoehnInputStringComponent, FoehnInputTextComponent, FoehnInputTextareaComponent, FoehnListComponent, FoehnListItem, FoehnListModule, FoehnListSummaryComponent, FoehnMenuItemComponent, FoehnMenuItemTransmitComponent, FoehnMenuPrestationModule, FoehnMiscModule, FoehnModalComponent, FoehnModalModule, FoehnMultiUploadComponent, FoehnMultiUploadModule, FoehnMultiselectAutocompleteComponent, FoehnMultiselectAutocompleteModule, FoehnNavigationComponent, FoehnNavigationModule, FoehnNavigationService, FoehnNotFoundModule, FoehnNotfoundComponent, FoehnPageComponent, FoehnPageCounterComponent, FoehnPageExpirationTimerComponent, FoehnPageModalComponent, FoehnPageModule, FoehnPageService, FoehnPictureUploadComponent, FoehnPictureUploadModule, FoehnRadioComponent, FoehnRecapSectionComponent, FoehnRecapSectionModule, FoehnRemainingAlertsSummaryComponent, FoehnRemainingAlertsSummaryModule, FoehnSelectComponent, FoehnSimpleNavigationComponent, FoehnSkipLinkComponent, FoehnStatusProgressBarComponent, FoehnStatusProgressBarModule, FoehnTableColumnConfiguration, FoehnTableComponent, FoehnTableModule, FoehnTablePageChangeEvent, FoehnTimeComponent, FoehnTransmitWaitingModalComponent, FoehnTransmitWaitingModalService, FoehnUploadProgressBarComponent, FoehnUploadProgressBarModule, FoehnUserConnectedAsComponent, FoehnUserConnectedAsModule, FoehnValidationAlertSummaryComponent, FoehnValidationAlertSummaryModule, FoehnValidationAlertsComponent, FoehnValidationAlertsModule, FooterLink, FormMetadata, FormPostResponse, FormSelectOption, FormatIdePipe, FormatterModule, GESDEM_MAX_DATA_LENGTH, GesdemActionRecoveryLoginComponent, GesdemActionRecoveryModule, GesdemActionRecoveryRegistrationComponent, GesdemConfirmationComponent, GesdemConfirmationModule, GesdemErrorComponent, GesdemErrorModule, GesdemEventService, GesdemHandlerService, GesdemStatutUtils, GlobalUploadProgressService, GrowlBrokerService, GrowlMessage, GrowlType, HTTP_LOADER_FILTERED_URL, I18nForm, IAM_ACV_OIDC_REDIRECT_LOCATION_REGEX, IAM_ACV_REDIRECT_LOCATION_REGEX, IbanFormatterDirective, IdeFormatterDirective, IntervalHelper, Locality, MonthYear, MultiUploadService, Municipality, NDCFormatterDirective, NavigationDirection, NumberCurrencyFormatterDirective, OIDC_ENABLED, ObjectHelper, PORTAIL_BASE_URL_INT, PORTAIL_BASE_URL_PROD, PORTAIL_BASE_URL_VAL, PageChangeEvent, PageUploadLimitService, PaginationWeek, PendingFiles, PendingPaymentComponent, PendingUploadService, PipeModule, PlaceOfOrigin, Portail, PostalLocality, Preferences, PrestationsNgCoreModule, RECAPTCHA_API_URL, RecaptchaService, RedirectComponent, RegisterNgModelService, RowElement, SESSION_INFO_API_URL, SWISS_ISO_ID, ScrollHelper, SdkDictionaryModule, SdkDictionaryPipe, SdkDictionaryService, SdkEpaymentComponent, SdkEpaymentModule, SdkEvent, SdkEventType, SdkEventsLoggerService, SdkLog, SdkLogLevel, SdkLogsService, SdkRecaptchaComponent, SdkRecaptchaModule, SdkRedirectModule, SdkStatisticsService, SelectedSlot, ServiceLocator, Session, SessionInfo, SessionInfoData, SessionInfoWithApplicationService, Street, StreetNumber, THOUSANDS_SEPARATOR, TRANSMIT_WAITING_MODAL_DELAY_IN_MILLISECONDS, TableSort, UploadProgress, UploadProgressService, UploaderHelper, ValidationHandlerService, formatDecimalCurrency, formatNonDecimalCurrency, formatNumberAsGiven, gesdemLoaderGuard, replaceAll };
|
|
17182
17283
|
//# sourceMappingURL=dsivd-prestations-ng.mjs.map
|