@dsivd/prestations-ng 18.3.10 → 18.3.11-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 CHANGED
@@ -5,12 +5,20 @@
5
5
  - **You can follow how these changes are used in a real project. See: [Skeleton repo](https://portail.etat-de-vaud.ch/outils/git/projects/CYBSDK/repos/skeleton/browse)**
6
6
 
7
7
  ---
8
- ## [18.3.9]
8
+
9
+ ## [18.3.11]
10
+
11
+ ### Updated
12
+
13
+ - [foehn-error-pill.component.ts](projects/prestations-ng/src/foehn-menu-prestation/foehn-error-pill/foehn-error-pill.component.ts)
14
+ - `errorPrefix` input now accepts both `string` and `RegExp` for more flexible error matching
15
+ - supports regex patterns like `maListe\\[\\d+\\]\\.objetB` to match dynamic array indices
16
+ - backward compatible: string values continue to work with `startsWith()` matching
9
17
 
10
18
  ### Fixed
11
19
 
12
- - [foehn-header.component.ts](projects/prestations-ng/src/foehn-header/foehn-header.component.ts)
13
- - Do not display preferences in the menu if they are not ready
20
+ - [gesdem-action-recovery-registration.component.ts](projects/prestations-ng/src/gesdem-action-recovery/gesdem-action-recovery-registration/gesdem-action-recovery-registration.component.ts)
21
+ - fix labels (action recovery is not limited in time when action is > 1)
14
22
 
15
23
  ## [18.3.10]
16
24
 
@@ -20,6 +28,13 @@
20
28
  - [gesdem-error-handler.service.ts](projects/prestations-ng/src/gesdem/gesdem-error-handler.service.ts)
21
29
  - fix action recovery not showing OTP for since v18.3.5
22
30
 
31
+ ## [18.3.9]
32
+
33
+ ### Fixed
34
+
35
+ - [foehn-header.component.ts](projects/prestations-ng/src/foehn-header/foehn-header.component.ts)
36
+ - Do not display preferences in the menu if they are not ready
37
+
23
38
  ## [18.3.8]
24
39
 
25
40
  ### Fixed
@@ -1271,11 +1271,12 @@ const DEFAULT_DICTIONARY = {
1271
1271
  'gesdem-action-recovery-registration.current-info.preview': 'Un lien de reprise a été envoyé à <i>{recoveryMail}</i> ({lastRegistration})',
1272
1272
  'gesdem-action-recovery-registration.deletion.info': '<i>Votre demande non transmise sera conservée {draftDemRetentionDays} jour{plural}. ' +
1273
1273
  'Elle sera supprimée le {draftDemandeDeletionDate}</i>',
1274
- 'gesdem-action-recovery-registration.not-connected.current-info': '<p>Un lien de reprise vous a été envoyé à la date suivante : <strong>{lastRegistration}</strong></p>' +
1275
- // eslint-disable-next-line max-len
1276
- "<p>La demande pourra être reprise pendant <strong>{draftDemRetentionDaysPublic} jour{plural}</strong> après votre dernière modification, mais vous devez quand même respecter la date limite pour son dépôt, s'il y en a une. Ensuite elle sera supprimée définitivement du portail et vous devrez faire une nouvelle demande.</p>" +
1274
+ 'gesdem-action-recovery-registration.not-connected.current-info-recovery-link': '<p>Un lien de reprise vous a été envoyé à la date suivante : <strong>{lastRegistration}</strong></p>' +
1277
1275
  '<p>Voulez-vous renvoyer un lien ? <br/>' +
1278
1276
  "Vous pouvez aussi changer l'adresse de destination et le numéro de mobile pour la reprise</p>",
1277
+ 'gesdem-action-recovery-registration.not-connected.current-info-recovery-delay':
1278
+ // eslint-disable-next-line max-len
1279
+ "<p>La demande pourra être reprise pendant <strong>{draftDemRetentionDaysPublic} jour{plural}</strong> après votre dernière modification, mais vous devez quand même respecter la date limite pour son dépôt, s'il y en a une. Ensuite elle sera supprimée définitivement du portail et vous devrez faire une nouvelle demande.</p>",
1279
1280
  'gesdem-action-recovery-registration.modalHeaderText': 'Informations pour la reprise de la demande',
1280
1281
  'gesdem-action-recovery-registration.connected.info': '<p>Vos données ont été sauvegardées, vous pouvez accéder à cette demande dans la liste :',
1281
1282
  'gesdem-action-recovery-registration.connected.info.draft-link-text': 'demandes en cours de saisie',
@@ -1283,12 +1284,13 @@ const DEFAULT_DICTIONARY = {
1283
1284
  "Si elle n'est pas transmise ou supprimée avant, cette demande sera automatiquement supprimée le : <br/>" +
1284
1285
  '<center><strong>{connectedDeletionDate}</strong></center>' +
1285
1286
  '</div>',
1286
- 'gesdem-action-recovery-registration.not-connected.not-registered.info': '<p>Vous avez la possibilité de reprendre votre demande plus tard en complétant ce formulaire.</p>' +
1287
- // eslint-disable-next-line max-len
1288
- "<p>La demande pourra être reprise pendant <strong>{draftDemRetentionDaysPublic} jour{plural}</strong> après votre dernière modification, mais vous devez quand même respecter la date limite pour son dépôt, s'il y en a une. Ensuite elle sera supprimée définitivement du portail et vous devrez faire une nouvelle demande.</p>" +
1287
+ 'gesdem-action-recovery-registration.not-connected.not-registered.info-recovery-link': '<p>Vous avez la possibilité de reprendre votre demande plus tard en complétant ce formulaire.</p>' +
1289
1288
  '<p class="small mb-0">' +
1290
1289
  "<i>Les informations demandées sont uniquement utilisées pour vous permettre d'effectuer la reprise de demande.</i>" +
1291
1290
  '</p>',
1291
+ 'gesdem-action-recovery-registration.not-connected.not-registered.info-recovery-delay':
1292
+ // eslint-disable-next-line max-len
1293
+ "<p>La demande pourra être reprise pendant <strong>{draftDemRetentionDaysPublic} jour{plural}</strong> après votre dernière modification, mais vous devez quand même respecter la date limite pour son dépôt, s'il y en a une. Ensuite elle sera supprimée définitivement du portail et vous devrez faire une nouvelle demande.</p>",
1292
1294
  'gesdem-action-recovery-registration.not-connected.info.sent': "<p>Un message contenant le lien de reprise de la demande a été envoyé à l'adresse <strong>{recoveryMail}</strong>.</p>" +
1293
1295
  '<p>' +
1294
1296
  'Vous pouvez cliquer sur ce lien pour reprendre la demande en saisissant le code qui sera envoyé au ' +
@@ -13552,11 +13554,11 @@ class GesdemActionRecoveryRegistrationComponent {
13552
13554
  }
13553
13555
  }
13554
13556
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: GesdemActionRecoveryRegistrationComponent, deps: [{ token: GesdemActionRecoveryService }, { token: ValidationHandlerService }, { token: FoehnPageService }, { token: GesdemEventService }, { token: GesdemHandlerService }, { token: ApplicationInfoService }, { token: SessionInfo }, { token: i1$1.Router }, { token: SdkEventsLoggerService }, { token: SdkDictionaryService }], target: i0.ɵɵFactoryTarget.Component }); }
13555
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: GesdemActionRecoveryRegistrationComponent, isStandalone: false, selector: "gesdem-action-recovery-registration", inputs: { dispatchFormErrors: "dispatchFormErrors", continueLaterLabel: "continueLaterLabel", continueLaterAlreadyRegisteredLabel: "continueLaterAlreadyRegisteredLabel", continueLaterConnectedLabel: "continueLaterConnectedLabel", triggerOnPageChange: "triggerOnPageChange" }, 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 pe-0 ps-0 no-text-transform\"\n *ngIf=\"canContinueLater | async\"\n [innerHTML]=\"modalTriggerLabel | async\"\n (click)=\"saveAndOpenModal()\"\n #modalTrigger\n></button>\n\n<ng-container *ngIf=\"currentInfoReprise | async as currentInfo\">\n <div\n class=\"small\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.current-info.preview'\n | fromDictionary\n : {\n recoveryMail: currentInfo.email,\n lastRegistration:\n (currentInfo.lastUpdate | displayDate)\n }\n \"\n ></div>\n</ng-container>\n\n<!--connect\u00E9 ou si a demand\u00E9 un lien de reprise, sinon ca sert \u00E0 rien de montrer la date si le demandeur n'a pas le lien-->\n<ng-container\n *ngIf=\"!!(isConnectedCyber | async) || !!(currentInfoReprise | async)\"\n>\n <div\n *ngIf=\"draftDemRetentionDays | async as retentionDays\"\n class=\"small\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.deletion.info'\n | fromDictionary\n : {\n draftDemRetentionDays: retentionDays.toString(),\n draftDemandeDeletionDate:\n draftDemandeDeletionDate\n | async\n | displayDate: false,\n plural: getPluralMarker(retentionDays)\n }\n \"\n ></div>\n</ng-container>\n\n<foehn-modal\n id=\"action-recovery-registration-modal\"\n [modalSize]=\"!(isConnectedCyber | async) ? 'modal-lg' : 'modal-md'\"\n [modalHeaderText]=\"\n 'gesdem-action-recovery-registration.modalHeaderText' | fromDictionary\n \"\n [isModalVisible]=\"isModalVisible\"\n (isModalVisibleChange)=\"updateVisibilityStatus($event)\"\n>\n <ng-container *ngIf=\"!!(isConnectedCyber | async)\">\n <span\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.connected.info'\n | fromDictionary\n \"\n ></span>\n\n <a href=\"/100002/demandes/search/MINE/INITIAL\">\n <foehn-icon-pencil\n class=\"h3\"\n aria-hidden=\"true\"\n [title]=\"\n 'gesdem-action-recovery-registration.connected.info.draft-link-text'\n | fromDictionary\n \"\n ></foehn-icon-pencil>\n <span\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.connected.info.draft-link-text'\n | fromDictionary\n \"\n ></span>\n </a>\n\n <div\n class=\"mt-3\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.connected.info-deletion'\n | fromDictionary\n : {\n connectedDeletionDate:\n draftDemandeDeletionDate\n | async\n | displayDate: false\n }\n \"\n ></div>\n </ng-container>\n\n <ng-container *ngIf=\"!(isConnectedCyber | async)\">\n <ng-container\n *ngIf=\"\n currentInfoReprise | async as currentInfo;\n else noCurrentInfo\n \"\n >\n <div\n class=\"alert alert-info\"\n *ngIf=\"!mailSent\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.not-connected.current-info'\n | fromDictionary\n : {\n lastRegistration:\n (currentInfo.lastUpdate | displayDate),\n draftDemRetentionDaysPublic:\n (draftDemRetentionDays | async | number),\n plural: getPluralMarker(\n draftDemRetentionDays | async\n )\n }\n \"\n ></div>\n\n <div\n class=\"alert alert-info\"\n *ngIf=\"mailSent\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.not-connected.info.sent'\n | fromDictionary\n : {\n recoveryMail: currentInfo.email,\n recoveryMobile: currentInfo.mobile,\n draftDemRetentionDaysPublic:\n (draftDemRetentionDays | async | number),\n plural: getPluralMarker(\n draftDemRetentionDays | async\n )\n }\n \"\n ></div>\n </ng-container>\n\n <foehn-form *ngIf=\"!mailSent\" [shouldDisplayAlertSummary]=\"false\">\n <foehn-input-email\n [label]=\"\n 'gesdem-action-recovery-registration.not-connected.email.label'\n | fromDictionary\n \"\n [helpText]=\"\n 'gesdem-action-recovery-registration.not-connected.email.help-text'\n | fromDictionary\n \"\n [(model)]=\"model.email\"\n name=\"email\"\n [required]=\"true\"\n ></foehn-input-email>\n\n <foehn-input-phone\n [label]=\"\n 'gesdem-action-recovery-registration.not-connected.mobile.label'\n | fromDictionary\n \"\n [acceptInternational]=\"true\"\n [acceptMobilePhone]=\"true\"\n [acceptPhone]=\"false\"\n [(model)]=\"model.mobile\"\n name=\"mobile\"\n [required]=\"true\"\n ></foehn-input-phone>\n\n <foehn-input-text\n [label]=\"\n 'gesdem-action-recovery-registration.not-connected.reference-interne.label'\n | fromDictionary\n \"\n [helpText]=\"\n 'gesdem-action-recovery-registration.not-connected.reference-interne.help-text'\n | fromDictionary\n \"\n [(model)]=\"model.referenceInterne\"\n name=\"referenceInterne\"\n [required]=\"false\"\n ></foehn-input-text>\n </foehn-form>\n </ng-container>\n\n <div modal-footer class=\"w-100\">\n <div class=\"d-md-flex\">\n <div class=\"ms-md-auto me-md-2 mb-2 mt-2\">\n <button\n id=\"continueLaterModalCancelButton\"\n type=\"button\"\n (click)=\"close()\"\n class=\"btn btn-secondary w-100\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.cancel.button'\n | fromDictionary\n \"\n ></button>\n </div>\n <div\n *ngIf=\"!(isConnectedCyber | async)\"\n class=\"ms-md-0 me-md-2 mb-2 mt-2\"\n >\n <button\n id=\"continueLaterModalSaveButton\"\n type=\"submit\"\n (click)=\"sendAndClose()\"\n class=\"btn btn-success w-100\"\n *ngIf=\"!mailSent\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.save.button'\n | fromDictionary\n \"\n ></button>\n </div>\n </div>\n </div>\n</foehn-modal>\n\n<ng-template #noCurrentInfo>\n <div\n class=\"alert alert-info\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.not-connected.not-registered.info'\n | fromDictionary\n : {\n draftDemRetentionDaysPublic:\n (draftDemRetentionDays | async | number),\n plural: getPluralMarker(draftDemRetentionDays | async)\n }\n \"\n ></div>\n</ng-template>\n", styles: [".no-text-transform{text-transform:none;cursor:pointer}:host ::ng-deep foehn-icon-pencil .svg-inline--fa{color:#4a4a4b!important;margin-right:10px}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FoehnInputTextComponent, selector: "foehn-input-text", inputs: ["numberOnly"] }, { kind: "component", type: FoehnInputEmailComponent, selector: "foehn-input-email" }, { kind: "component", type: FoehnInputPhoneComponent, selector: "foehn-input-phone", inputs: ["acceptInternational", "acceptMobilePhone", "acceptPhone"] }, { kind: "component", type: FoehnIconPencilComponent, selector: "foehn-icon-pencil" }, { kind: "component", type: FoehnFormComponent, selector: "foehn-form", inputs: ["shouldDisplayAlertSummary"] }, { kind: "component", type: FoehnModalComponent, selector: "foehn-modal", inputs: ["id", "name", "modalSize", "modalBodyText", "modalHeaderText", "closeable", "draggable", "hideable", "modalTriggerHtmlElement", "isModalVisible"], outputs: ["isModalVisibleChange"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.DecimalPipe, name: "number" }, { kind: "pipe", type: SdkDictionaryPipe, name: "fromDictionary" }, { kind: "pipe", type: DisplayDatePipe, name: "displayDate" }] }); }
13557
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: GesdemActionRecoveryRegistrationComponent, isStandalone: false, selector: "gesdem-action-recovery-registration", inputs: { dispatchFormErrors: "dispatchFormErrors", continueLaterLabel: "continueLaterLabel", continueLaterAlreadyRegisteredLabel: "continueLaterAlreadyRegisteredLabel", continueLaterConnectedLabel: "continueLaterConnectedLabel", triggerOnPageChange: "triggerOnPageChange" }, 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 pe-0 ps-0 no-text-transform\"\n *ngIf=\"canContinueLater | async\"\n [innerHTML]=\"modalTriggerLabel | async\"\n (click)=\"saveAndOpenModal()\"\n #modalTrigger\n></button>\n\n<ng-container *ngIf=\"currentInfoReprise | async as currentInfo\">\n <div\n class=\"small\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.current-info.preview'\n | fromDictionary\n : {\n recoveryMail: currentInfo.email,\n lastRegistration:\n (currentInfo.lastUpdate | displayDate)\n }\n \"\n ></div>\n</ng-container>\n\n<!--connect\u00E9 ou si a demand\u00E9 un lien de reprise, sinon ca sert \u00E0 rien de montrer la date si le demandeur n'a pas le lien-->\n<ng-container\n *ngIf=\"!!(isConnectedCyber | async) || !!(currentInfoReprise | async)\"\n>\n <div\n *ngIf=\"draftDemRetentionDays | async as retentionDays\"\n class=\"small\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.deletion.info'\n | fromDictionary\n : {\n draftDemRetentionDays: retentionDays.toString(),\n draftDemandeDeletionDate:\n draftDemandeDeletionDate\n | async\n | displayDate: false,\n plural: getPluralMarker(retentionDays)\n }\n \"\n ></div>\n</ng-container>\n\n<foehn-modal\n id=\"action-recovery-registration-modal\"\n [modalSize]=\"!(isConnectedCyber | async) ? 'modal-lg' : 'modal-md'\"\n [modalHeaderText]=\"\n 'gesdem-action-recovery-registration.modalHeaderText' | fromDictionary\n \"\n [isModalVisible]=\"isModalVisible\"\n (isModalVisibleChange)=\"updateVisibilityStatus($event)\"\n>\n <ng-container *ngIf=\"!!(isConnectedCyber | async)\">\n <span\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.connected.info'\n | fromDictionary\n \"\n ></span>\n\n <a href=\"/100002/demandes/search/MINE/INITIAL\">\n <foehn-icon-pencil\n class=\"h3\"\n aria-hidden=\"true\"\n [title]=\"\n 'gesdem-action-recovery-registration.connected.info.draft-link-text'\n | fromDictionary\n \"\n ></foehn-icon-pencil>\n <span\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.connected.info.draft-link-text'\n | fromDictionary\n \"\n ></span>\n </a>\n\n <div\n class=\"mt-3\"\n *ngIf=\"draftDemandeDeletionDate | async as deletionDate\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.connected.info-deletion'\n | fromDictionary\n : {\n connectedDeletionDate:\n deletionDate | displayDate: false\n }\n \"\n ></div>\n </ng-container>\n\n <ng-container *ngIf=\"!(isConnectedCyber | async)\">\n <ng-container\n *ngIf=\"\n currentInfoReprise | async as currentInfo;\n else noCurrentInfo\n \"\n >\n <div class=\"alert alert-info\" *ngIf=\"!mailSent\">\n <span\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.not-connected.current-info-recovery-link'\n | fromDictionary\n : {\n lastRegistration:\n (currentInfo.lastUpdate | displayDate)\n }\n \"\n ></span>\n\n <span\n *ngIf=\"draftDemRetentionDays | async as retentionDays\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.not-connected.current-info-recovery-delay'\n | fromDictionary\n : {\n draftDemRetentionDaysPublic:\n (retentionDays | number),\n plural: getPluralMarker(retentionDays)\n }\n \"\n ></span>\n </div>\n\n <div\n class=\"alert alert-info\"\n *ngIf=\"mailSent\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.not-connected.info.sent'\n | fromDictionary\n : {\n recoveryMail: currentInfo.email,\n recoveryMobile: currentInfo.mobile,\n draftDemRetentionDaysPublic:\n (draftDemRetentionDays | async | number),\n plural: getPluralMarker(\n draftDemRetentionDays | async\n )\n }\n \"\n ></div>\n </ng-container>\n\n <foehn-form *ngIf=\"!mailSent\" [shouldDisplayAlertSummary]=\"false\">\n <foehn-input-email\n [label]=\"\n 'gesdem-action-recovery-registration.not-connected.email.label'\n | fromDictionary\n \"\n [helpText]=\"\n 'gesdem-action-recovery-registration.not-connected.email.help-text'\n | fromDictionary\n \"\n [(model)]=\"model.email\"\n name=\"email\"\n [required]=\"true\"\n ></foehn-input-email>\n\n <foehn-input-phone\n [label]=\"\n 'gesdem-action-recovery-registration.not-connected.mobile.label'\n | fromDictionary\n \"\n [acceptInternational]=\"true\"\n [acceptMobilePhone]=\"true\"\n [acceptPhone]=\"false\"\n [(model)]=\"model.mobile\"\n name=\"mobile\"\n [required]=\"true\"\n ></foehn-input-phone>\n\n <foehn-input-text\n [label]=\"\n 'gesdem-action-recovery-registration.not-connected.reference-interne.label'\n | fromDictionary\n \"\n [helpText]=\"\n 'gesdem-action-recovery-registration.not-connected.reference-interne.help-text'\n | fromDictionary\n \"\n [(model)]=\"model.referenceInterne\"\n name=\"referenceInterne\"\n [required]=\"false\"\n ></foehn-input-text>\n </foehn-form>\n </ng-container>\n\n <div modal-footer class=\"w-100\">\n <div class=\"d-md-flex\">\n <div class=\"ms-md-auto me-md-2 mb-2 mt-2\">\n <button\n id=\"continueLaterModalCancelButton\"\n type=\"button\"\n (click)=\"close()\"\n class=\"btn btn-secondary w-100\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.cancel.button'\n | fromDictionary\n \"\n ></button>\n </div>\n <div\n *ngIf=\"!(isConnectedCyber | async)\"\n class=\"ms-md-0 me-md-2 mb-2 mt-2\"\n >\n <button\n id=\"continueLaterModalSaveButton\"\n type=\"submit\"\n (click)=\"sendAndClose()\"\n class=\"btn btn-success w-100\"\n *ngIf=\"!mailSent\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.save.button'\n | fromDictionary\n \"\n ></button>\n </div>\n </div>\n </div>\n</foehn-modal>\n\n<ng-template #noCurrentInfo>\n <div class=\"alert alert-info\">\n <span\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.not-connected.not-registered.info-recovery-link'\n | fromDictionary\n \"\n ></span>\n\n <span\n *ngIf=\"draftDemRetentionDays | async as retentionDays\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.not-connected.not-registered.info-recovery-delay'\n | fromDictionary\n : {\n draftDemRetentionDaysPublic:\n (retentionDays | number),\n plural: getPluralMarker(retentionDays)\n }\n \"\n ></span>\n </div>\n</ng-template>\n", styles: [".no-text-transform{text-transform:none;cursor:pointer}:host ::ng-deep foehn-icon-pencil .svg-inline--fa{color:#4a4a4b!important;margin-right:10px}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FoehnInputTextComponent, selector: "foehn-input-text", inputs: ["numberOnly"] }, { kind: "component", type: FoehnInputEmailComponent, selector: "foehn-input-email" }, { kind: "component", type: FoehnInputPhoneComponent, selector: "foehn-input-phone", inputs: ["acceptInternational", "acceptMobilePhone", "acceptPhone"] }, { kind: "component", type: FoehnIconPencilComponent, selector: "foehn-icon-pencil" }, { kind: "component", type: FoehnFormComponent, selector: "foehn-form", inputs: ["shouldDisplayAlertSummary"] }, { kind: "component", type: FoehnModalComponent, selector: "foehn-modal", inputs: ["id", "name", "modalSize", "modalBodyText", "modalHeaderText", "closeable", "draggable", "hideable", "modalTriggerHtmlElement", "isModalVisible"], outputs: ["isModalVisibleChange"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.DecimalPipe, name: "number" }, { kind: "pipe", type: SdkDictionaryPipe, name: "fromDictionary" }, { kind: "pipe", type: DisplayDatePipe, name: "displayDate" }] }); }
13556
13558
  }
13557
13559
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: GesdemActionRecoveryRegistrationComponent, decorators: [{
13558
13560
  type: Component,
13559
- args: [{ selector: 'gesdem-action-recovery-registration', standalone: false, template: "<button\n type=\"button\"\n id=\"continueLaterButton\"\n class=\"btn btn-link pe-0 ps-0 no-text-transform\"\n *ngIf=\"canContinueLater | async\"\n [innerHTML]=\"modalTriggerLabel | async\"\n (click)=\"saveAndOpenModal()\"\n #modalTrigger\n></button>\n\n<ng-container *ngIf=\"currentInfoReprise | async as currentInfo\">\n <div\n class=\"small\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.current-info.preview'\n | fromDictionary\n : {\n recoveryMail: currentInfo.email,\n lastRegistration:\n (currentInfo.lastUpdate | displayDate)\n }\n \"\n ></div>\n</ng-container>\n\n<!--connect\u00E9 ou si a demand\u00E9 un lien de reprise, sinon ca sert \u00E0 rien de montrer la date si le demandeur n'a pas le lien-->\n<ng-container\n *ngIf=\"!!(isConnectedCyber | async) || !!(currentInfoReprise | async)\"\n>\n <div\n *ngIf=\"draftDemRetentionDays | async as retentionDays\"\n class=\"small\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.deletion.info'\n | fromDictionary\n : {\n draftDemRetentionDays: retentionDays.toString(),\n draftDemandeDeletionDate:\n draftDemandeDeletionDate\n | async\n | displayDate: false,\n plural: getPluralMarker(retentionDays)\n }\n \"\n ></div>\n</ng-container>\n\n<foehn-modal\n id=\"action-recovery-registration-modal\"\n [modalSize]=\"!(isConnectedCyber | async) ? 'modal-lg' : 'modal-md'\"\n [modalHeaderText]=\"\n 'gesdem-action-recovery-registration.modalHeaderText' | fromDictionary\n \"\n [isModalVisible]=\"isModalVisible\"\n (isModalVisibleChange)=\"updateVisibilityStatus($event)\"\n>\n <ng-container *ngIf=\"!!(isConnectedCyber | async)\">\n <span\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.connected.info'\n | fromDictionary\n \"\n ></span>\n\n <a href=\"/100002/demandes/search/MINE/INITIAL\">\n <foehn-icon-pencil\n class=\"h3\"\n aria-hidden=\"true\"\n [title]=\"\n 'gesdem-action-recovery-registration.connected.info.draft-link-text'\n | fromDictionary\n \"\n ></foehn-icon-pencil>\n <span\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.connected.info.draft-link-text'\n | fromDictionary\n \"\n ></span>\n </a>\n\n <div\n class=\"mt-3\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.connected.info-deletion'\n | fromDictionary\n : {\n connectedDeletionDate:\n draftDemandeDeletionDate\n | async\n | displayDate: false\n }\n \"\n ></div>\n </ng-container>\n\n <ng-container *ngIf=\"!(isConnectedCyber | async)\">\n <ng-container\n *ngIf=\"\n currentInfoReprise | async as currentInfo;\n else noCurrentInfo\n \"\n >\n <div\n class=\"alert alert-info\"\n *ngIf=\"!mailSent\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.not-connected.current-info'\n | fromDictionary\n : {\n lastRegistration:\n (currentInfo.lastUpdate | displayDate),\n draftDemRetentionDaysPublic:\n (draftDemRetentionDays | async | number),\n plural: getPluralMarker(\n draftDemRetentionDays | async\n )\n }\n \"\n ></div>\n\n <div\n class=\"alert alert-info\"\n *ngIf=\"mailSent\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.not-connected.info.sent'\n | fromDictionary\n : {\n recoveryMail: currentInfo.email,\n recoveryMobile: currentInfo.mobile,\n draftDemRetentionDaysPublic:\n (draftDemRetentionDays | async | number),\n plural: getPluralMarker(\n draftDemRetentionDays | async\n )\n }\n \"\n ></div>\n </ng-container>\n\n <foehn-form *ngIf=\"!mailSent\" [shouldDisplayAlertSummary]=\"false\">\n <foehn-input-email\n [label]=\"\n 'gesdem-action-recovery-registration.not-connected.email.label'\n | fromDictionary\n \"\n [helpText]=\"\n 'gesdem-action-recovery-registration.not-connected.email.help-text'\n | fromDictionary\n \"\n [(model)]=\"model.email\"\n name=\"email\"\n [required]=\"true\"\n ></foehn-input-email>\n\n <foehn-input-phone\n [label]=\"\n 'gesdem-action-recovery-registration.not-connected.mobile.label'\n | fromDictionary\n \"\n [acceptInternational]=\"true\"\n [acceptMobilePhone]=\"true\"\n [acceptPhone]=\"false\"\n [(model)]=\"model.mobile\"\n name=\"mobile\"\n [required]=\"true\"\n ></foehn-input-phone>\n\n <foehn-input-text\n [label]=\"\n 'gesdem-action-recovery-registration.not-connected.reference-interne.label'\n | fromDictionary\n \"\n [helpText]=\"\n 'gesdem-action-recovery-registration.not-connected.reference-interne.help-text'\n | fromDictionary\n \"\n [(model)]=\"model.referenceInterne\"\n name=\"referenceInterne\"\n [required]=\"false\"\n ></foehn-input-text>\n </foehn-form>\n </ng-container>\n\n <div modal-footer class=\"w-100\">\n <div class=\"d-md-flex\">\n <div class=\"ms-md-auto me-md-2 mb-2 mt-2\">\n <button\n id=\"continueLaterModalCancelButton\"\n type=\"button\"\n (click)=\"close()\"\n class=\"btn btn-secondary w-100\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.cancel.button'\n | fromDictionary\n \"\n ></button>\n </div>\n <div\n *ngIf=\"!(isConnectedCyber | async)\"\n class=\"ms-md-0 me-md-2 mb-2 mt-2\"\n >\n <button\n id=\"continueLaterModalSaveButton\"\n type=\"submit\"\n (click)=\"sendAndClose()\"\n class=\"btn btn-success w-100\"\n *ngIf=\"!mailSent\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.save.button'\n | fromDictionary\n \"\n ></button>\n </div>\n </div>\n </div>\n</foehn-modal>\n\n<ng-template #noCurrentInfo>\n <div\n class=\"alert alert-info\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.not-connected.not-registered.info'\n | fromDictionary\n : {\n draftDemRetentionDaysPublic:\n (draftDemRetentionDays | async | number),\n plural: getPluralMarker(draftDemRetentionDays | async)\n }\n \"\n ></div>\n</ng-template>\n", styles: [".no-text-transform{text-transform:none;cursor:pointer}:host ::ng-deep foehn-icon-pencil .svg-inline--fa{color:#4a4a4b!important;margin-right:10px}\n"] }]
13561
+ args: [{ selector: 'gesdem-action-recovery-registration', standalone: false, template: "<button\n type=\"button\"\n id=\"continueLaterButton\"\n class=\"btn btn-link pe-0 ps-0 no-text-transform\"\n *ngIf=\"canContinueLater | async\"\n [innerHTML]=\"modalTriggerLabel | async\"\n (click)=\"saveAndOpenModal()\"\n #modalTrigger\n></button>\n\n<ng-container *ngIf=\"currentInfoReprise | async as currentInfo\">\n <div\n class=\"small\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.current-info.preview'\n | fromDictionary\n : {\n recoveryMail: currentInfo.email,\n lastRegistration:\n (currentInfo.lastUpdate | displayDate)\n }\n \"\n ></div>\n</ng-container>\n\n<!--connect\u00E9 ou si a demand\u00E9 un lien de reprise, sinon ca sert \u00E0 rien de montrer la date si le demandeur n'a pas le lien-->\n<ng-container\n *ngIf=\"!!(isConnectedCyber | async) || !!(currentInfoReprise | async)\"\n>\n <div\n *ngIf=\"draftDemRetentionDays | async as retentionDays\"\n class=\"small\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.deletion.info'\n | fromDictionary\n : {\n draftDemRetentionDays: retentionDays.toString(),\n draftDemandeDeletionDate:\n draftDemandeDeletionDate\n | async\n | displayDate: false,\n plural: getPluralMarker(retentionDays)\n }\n \"\n ></div>\n</ng-container>\n\n<foehn-modal\n id=\"action-recovery-registration-modal\"\n [modalSize]=\"!(isConnectedCyber | async) ? 'modal-lg' : 'modal-md'\"\n [modalHeaderText]=\"\n 'gesdem-action-recovery-registration.modalHeaderText' | fromDictionary\n \"\n [isModalVisible]=\"isModalVisible\"\n (isModalVisibleChange)=\"updateVisibilityStatus($event)\"\n>\n <ng-container *ngIf=\"!!(isConnectedCyber | async)\">\n <span\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.connected.info'\n | fromDictionary\n \"\n ></span>\n\n <a href=\"/100002/demandes/search/MINE/INITIAL\">\n <foehn-icon-pencil\n class=\"h3\"\n aria-hidden=\"true\"\n [title]=\"\n 'gesdem-action-recovery-registration.connected.info.draft-link-text'\n | fromDictionary\n \"\n ></foehn-icon-pencil>\n <span\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.connected.info.draft-link-text'\n | fromDictionary\n \"\n ></span>\n </a>\n\n <div\n class=\"mt-3\"\n *ngIf=\"draftDemandeDeletionDate | async as deletionDate\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.connected.info-deletion'\n | fromDictionary\n : {\n connectedDeletionDate:\n deletionDate | displayDate: false\n }\n \"\n ></div>\n </ng-container>\n\n <ng-container *ngIf=\"!(isConnectedCyber | async)\">\n <ng-container\n *ngIf=\"\n currentInfoReprise | async as currentInfo;\n else noCurrentInfo\n \"\n >\n <div class=\"alert alert-info\" *ngIf=\"!mailSent\">\n <span\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.not-connected.current-info-recovery-link'\n | fromDictionary\n : {\n lastRegistration:\n (currentInfo.lastUpdate | displayDate)\n }\n \"\n ></span>\n\n <span\n *ngIf=\"draftDemRetentionDays | async as retentionDays\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.not-connected.current-info-recovery-delay'\n | fromDictionary\n : {\n draftDemRetentionDaysPublic:\n (retentionDays | number),\n plural: getPluralMarker(retentionDays)\n }\n \"\n ></span>\n </div>\n\n <div\n class=\"alert alert-info\"\n *ngIf=\"mailSent\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.not-connected.info.sent'\n | fromDictionary\n : {\n recoveryMail: currentInfo.email,\n recoveryMobile: currentInfo.mobile,\n draftDemRetentionDaysPublic:\n (draftDemRetentionDays | async | number),\n plural: getPluralMarker(\n draftDemRetentionDays | async\n )\n }\n \"\n ></div>\n </ng-container>\n\n <foehn-form *ngIf=\"!mailSent\" [shouldDisplayAlertSummary]=\"false\">\n <foehn-input-email\n [label]=\"\n 'gesdem-action-recovery-registration.not-connected.email.label'\n | fromDictionary\n \"\n [helpText]=\"\n 'gesdem-action-recovery-registration.not-connected.email.help-text'\n | fromDictionary\n \"\n [(model)]=\"model.email\"\n name=\"email\"\n [required]=\"true\"\n ></foehn-input-email>\n\n <foehn-input-phone\n [label]=\"\n 'gesdem-action-recovery-registration.not-connected.mobile.label'\n | fromDictionary\n \"\n [acceptInternational]=\"true\"\n [acceptMobilePhone]=\"true\"\n [acceptPhone]=\"false\"\n [(model)]=\"model.mobile\"\n name=\"mobile\"\n [required]=\"true\"\n ></foehn-input-phone>\n\n <foehn-input-text\n [label]=\"\n 'gesdem-action-recovery-registration.not-connected.reference-interne.label'\n | fromDictionary\n \"\n [helpText]=\"\n 'gesdem-action-recovery-registration.not-connected.reference-interne.help-text'\n | fromDictionary\n \"\n [(model)]=\"model.referenceInterne\"\n name=\"referenceInterne\"\n [required]=\"false\"\n ></foehn-input-text>\n </foehn-form>\n </ng-container>\n\n <div modal-footer class=\"w-100\">\n <div class=\"d-md-flex\">\n <div class=\"ms-md-auto me-md-2 mb-2 mt-2\">\n <button\n id=\"continueLaterModalCancelButton\"\n type=\"button\"\n (click)=\"close()\"\n class=\"btn btn-secondary w-100\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.cancel.button'\n | fromDictionary\n \"\n ></button>\n </div>\n <div\n *ngIf=\"!(isConnectedCyber | async)\"\n class=\"ms-md-0 me-md-2 mb-2 mt-2\"\n >\n <button\n id=\"continueLaterModalSaveButton\"\n type=\"submit\"\n (click)=\"sendAndClose()\"\n class=\"btn btn-success w-100\"\n *ngIf=\"!mailSent\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.save.button'\n | fromDictionary\n \"\n ></button>\n </div>\n </div>\n </div>\n</foehn-modal>\n\n<ng-template #noCurrentInfo>\n <div class=\"alert alert-info\">\n <span\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.not-connected.not-registered.info-recovery-link'\n | fromDictionary\n \"\n ></span>\n\n <span\n *ngIf=\"draftDemRetentionDays | async as retentionDays\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.not-connected.not-registered.info-recovery-delay'\n | fromDictionary\n : {\n draftDemRetentionDaysPublic:\n (retentionDays | number),\n plural: getPluralMarker(retentionDays)\n }\n \"\n ></span>\n </div>\n</ng-template>\n", styles: [".no-text-transform{text-transform:none;cursor:pointer}:host ::ng-deep foehn-icon-pencil .svg-inline--fa{color:#4a4a4b!important;margin-right:10px}\n"] }]
13560
13562
  }], ctorParameters: () => [{ type: GesdemActionRecoveryService }, { type: ValidationHandlerService }, { type: FoehnPageService }, { type: GesdemEventService }, { type: GesdemHandlerService }, { type: ApplicationInfoService }, { type: SessionInfo }, { type: i1$1.Router }, { type: SdkEventsLoggerService }, { type: SdkDictionaryService }], propDecorators: { dispatchFormErrors: [{
13561
13563
  type: Input
13562
13564
  }], continueLaterLabel: [{
@@ -16295,7 +16297,16 @@ class FoehnErrorPillComponent {
16295
16297
  this.validationHandlerService = validationHandlerService;
16296
16298
  this.incompleteIndicatorOnly = false;
16297
16299
  this.hasErrors =
16298
- this.validationHandlerService.validationErrorsSubject.pipe(map((errors) => errors.some(e => e.name.startsWith(this.errorPrefix))));
16300
+ this.validationHandlerService.validationErrorsSubject.pipe(map((errors) => errors.some(e => this.matchesErrorPrefix(e.name))));
16301
+ }
16302
+ matchesErrorPrefix(errorName) {
16303
+ if (!this.errorPrefix) {
16304
+ return false;
16305
+ }
16306
+ if (this.errorPrefix instanceof RegExp) {
16307
+ return this.errorPrefix.test(errorName);
16308
+ }
16309
+ return errorName.startsWith(this.errorPrefix);
16299
16310
  }
16300
16311
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: FoehnErrorPillComponent, deps: [{ token: ValidationHandlerService }], target: i0.ɵɵFactoryTarget.Component }); }
16301
16312
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: FoehnErrorPillComponent, isStandalone: false, selector: "foehn-error-pill", inputs: { errorPrefix: "errorPrefix", incompleteIndicatorOnly: "incompleteIndicatorOnly" }, ngImport: i0, template: "<strong\n *ngIf=\"hasErrors | async\"\n class=\"align-self-baseline badge mt-2 bg-danger\"\n>\n {{ 'foehn-error-pill.incomplete' | fromDictionary }}\n</strong>\n\n<strong\n *ngIf=\"!(hasErrors | async) && !incompleteIndicatorOnly\"\n class=\"align-self-baseline badge mt-2 bg-secondary\"\n>\n {{ 'foehn-error-pill.complete' | fromDictionary }}\n</strong>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: SdkDictionaryPipe, name: "fromDictionary" }] }); }