@dsivd/prestations-ng 18.3.10 → 18.3.11-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -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,19 +1284,21 @@ 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>" +
1289
- '<p class="small mb-0">' +
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>' +
1288
+ '<p class="small">' +
1290
1289
  "<i>Les informations demandées sont uniquement utilisées pour vous permettre d'effectuer la reprise de demande.</i>" +
1291
1290
  '</p>',
1292
- '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>" +
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>",
1294
+ 'gesdem-action-recovery-registration.not-connected.info-recovery-link.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 ' +
1295
1297
  '<strong>{recoveryMobile}</strong>.' +
1296
- '</p>' +
1297
- // eslint-disable-next-line max-len
1298
- "<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>",
1298
+ '</p>',
1299
+ 'gesdem-action-recovery-registration.not-connected.info-recovery-delay.sent':
1300
+ // eslint-disable-next-line max-len
1301
+ "<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>",
1299
1302
  'gesdem-action-recovery-registration.not-connected.email.label': 'Email',
1300
1303
  'gesdem-action-recovery-registration.not-connected.email.help-text': 'Par exemple, john@doe.ch',
1301
1304
  'gesdem-action-recovery-registration.not-connected.mobile.label': 'Numéro de téléphone mobile',
@@ -13552,11 +13555,11 @@ class GesdemActionRecoveryRegistrationComponent {
13552
13555
  }
13553
13556
  }
13554
13557
  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" }] }); }
13558
+ 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 class=\"alert alert-info\" *ngIf=\"mailSent\">\n <span\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.not-connected.info-recovery-link.sent'\n | fromDictionary\n : {\n recoveryMail: currentInfo.email,\n recoveryMobile: currentInfo.mobile\n }\n \"\n ></span>\n <span\n *ngIf=\"draftDemRetentionDays | async as retentionDays\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.not-connected.info-recovery-delay.sent'\n | fromDictionary\n : {\n draftDemRetentionDaysPublic:\n (retentionDays | number),\n plural: getPluralMarker(retentionDays)\n }\n \"\n ></span>\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
13559
  }
13557
13560
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: GesdemActionRecoveryRegistrationComponent, decorators: [{
13558
13561
  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"] }]
13562
+ 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 class=\"alert alert-info\" *ngIf=\"mailSent\">\n <span\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.not-connected.info-recovery-link.sent'\n | fromDictionary\n : {\n recoveryMail: currentInfo.email,\n recoveryMobile: currentInfo.mobile\n }\n \"\n ></span>\n <span\n *ngIf=\"draftDemRetentionDays | async as retentionDays\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.not-connected.info-recovery-delay.sent'\n | fromDictionary\n : {\n draftDemRetentionDaysPublic:\n (retentionDays | number),\n plural: getPluralMarker(retentionDays)\n }\n \"\n ></span>\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
13563
  }], 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
13564
  type: Input
13562
13565
  }], continueLaterLabel: [{
@@ -16295,7 +16298,16 @@ class FoehnErrorPillComponent {
16295
16298
  this.validationHandlerService = validationHandlerService;
16296
16299
  this.incompleteIndicatorOnly = false;
16297
16300
  this.hasErrors =
16298
- this.validationHandlerService.validationErrorsSubject.pipe(map((errors) => errors.some(e => e.name.startsWith(this.errorPrefix))));
16301
+ this.validationHandlerService.validationErrorsSubject.pipe(map((errors) => errors.some(e => this.matchesErrorPrefix(e.name))));
16302
+ }
16303
+ matchesErrorPrefix(errorName) {
16304
+ if (!this.errorPrefix) {
16305
+ return false;
16306
+ }
16307
+ if (this.errorPrefix instanceof RegExp) {
16308
+ return this.errorPrefix.test(errorName);
16309
+ }
16310
+ return errorName.startsWith(this.errorPrefix);
16299
16311
  }
16300
16312
  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
16313
  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" }] }); }