@dsivd/prestations-ng 18.3.9 → 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 +23 -0
- package/dsivd-prestations-ng-18.3.11-beta.1.tgz +0 -0
- package/fesm2022/dsivd-prestations-ng.mjs +28 -15
- package/fesm2022/dsivd-prestations-ng.mjs.map +1 -1
- package/foehn-menu-prestation/foehn-error-pill/foehn-error-pill.component.d.ts +2 -1
- package/package.json +1 -1
- package/dsivd-prestations-ng-18.3.9.tgz +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,29 @@
|
|
|
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
|
+
|
|
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
|
|
17
|
+
|
|
18
|
+
### Fixed
|
|
19
|
+
|
|
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)
|
|
22
|
+
|
|
23
|
+
## [18.3.10]
|
|
24
|
+
|
|
25
|
+
### Fixed
|
|
26
|
+
|
|
27
|
+
- [IamExpiredInterceptorService](projects/prestations-ng/src/sdk-redirect/iam-expired-interceptor.service.ts)
|
|
28
|
+
- [gesdem-error-handler.service.ts](projects/prestations-ng/src/gesdem/gesdem-error-handler.service.ts)
|
|
29
|
+
- fix action recovery not showing OTP for since v18.3.5
|
|
30
|
+
|
|
8
31
|
## [18.3.9]
|
|
9
32
|
|
|
10
33
|
### Fixed
|
|
Binary file
|
|
@@ -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 ' +
|
|
@@ -1964,9 +1966,11 @@ class IamExpiredInterceptorService {
|
|
|
1964
1966
|
const errorUrl = err.url ?? '';
|
|
1965
1967
|
const isUrlAcvLogin = this.iamAcvRedirectLocationRegex.test(errorUrl);
|
|
1966
1968
|
const isUrlAcvOidcLogin = this.iamAcvOidcRedirectLocationRegex.test(errorUrl);
|
|
1967
|
-
|
|
1968
|
-
|
|
1969
|
-
|
|
1969
|
+
const isIamSessionExpired = err.status === HttpStatusCode.Unauthorized &&
|
|
1970
|
+
// ensure this is not a session token error to let GesdemErrorHandlerService do its job
|
|
1971
|
+
(!err.error?.message ||
|
|
1972
|
+
err.error?.message !== 'Session expired');
|
|
1973
|
+
if (isIamSessionExpired || isUrlAcvLogin || isUrlAcvOidcLogin) {
|
|
1970
1974
|
this.setIamSessionExpiredManually();
|
|
1971
1975
|
}
|
|
1972
1976
|
}
|
|
@@ -2007,10 +2011,10 @@ class GesdemErrorHandlerService {
|
|
|
2007
2011
|
if (isPdfGenerationError) {
|
|
2008
2012
|
return this.onPdfGenerationError(response.error.message);
|
|
2009
2013
|
}
|
|
2010
|
-
const
|
|
2014
|
+
const isSessionTokenExpired = response.status === 401 &&
|
|
2011
2015
|
response.error &&
|
|
2012
|
-
response.error.
|
|
2013
|
-
const errorCode =
|
|
2016
|
+
response.error.message === 'Session expired';
|
|
2017
|
+
const errorCode = isSessionTokenExpired
|
|
2014
2018
|
? SESSION_EXPIRED
|
|
2015
2019
|
: response.error
|
|
2016
2020
|
? response.error.code
|
|
@@ -13550,11 +13554,11 @@ class GesdemActionRecoveryRegistrationComponent {
|
|
|
13550
13554
|
}
|
|
13551
13555
|
}
|
|
13552
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 }); }
|
|
13553
|
-
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" }] }); }
|
|
13554
13558
|
}
|
|
13555
13559
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: GesdemActionRecoveryRegistrationComponent, decorators: [{
|
|
13556
13560
|
type: Component,
|
|
13557
|
-
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
|
|
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"] }]
|
|
13558
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: [{
|
|
13559
13563
|
type: Input
|
|
13560
13564
|
}], continueLaterLabel: [{
|
|
@@ -16293,7 +16297,16 @@ class FoehnErrorPillComponent {
|
|
|
16293
16297
|
this.validationHandlerService = validationHandlerService;
|
|
16294
16298
|
this.incompleteIndicatorOnly = false;
|
|
16295
16299
|
this.hasErrors =
|
|
16296
|
-
this.validationHandlerService.validationErrorsSubject.pipe(map((errors) => errors.some(e => e.name
|
|
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);
|
|
16297
16310
|
}
|
|
16298
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 }); }
|
|
16299
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" }] }); }
|