@dsivd/prestations-ng 18.0.0 → 18.0.3
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 +57 -0
- package/README.md +1 -0
- package/UPGRADING_V18.md +11 -0
- package/dsivd-prestations-ng-18.0.3.tgz +0 -0
- package/fesm2022/dsivd-prestations-ng.mjs +85 -43
- package/fesm2022/dsivd-prestations-ng.mjs.map +1 -1
- package/foehn-input/foehn-input-string.component.d.ts +1 -0
- package/foehn-input/foehn-input-text.component.d.ts +0 -2
- package/foehn-input/foehn-input.component.d.ts +4 -1
- package/foehn-input-date/foehn-input-date.component.d.ts +3 -2
- package/gesdem/gesdem-handler.service.d.ts +1 -1
- package/gesdem-confirmation/gesdem-confirmation.component.d.ts +3 -1
- package/package.json +1 -1
- package/dsivd-prestations-ng-18.0.0.tgz +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,56 @@
|
|
|
6
6
|
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
+
## [18.0.3]
|
|
10
|
+
|
|
11
|
+
### Added
|
|
12
|
+
|
|
13
|
+
- [default-dictionary.ts](projects/prestations-ng/src/sdk-dictionary/default-dictionary.ts)
|
|
14
|
+
- added key `foehn-uploader.unknown-error-message` (default value: `Impossible de transmettre le fichier`)
|
|
15
|
+
|
|
16
|
+
### Updated
|
|
17
|
+
|
|
18
|
+
- [uploader.helper.ts](projects/prestations-ng/src/foehn-upload/uploader.helper.ts)
|
|
19
|
+
|
|
20
|
+
- `getDefaultUnknownErrorMessage` now uses new dictionary key `foehn-uploader.unknown-error-message`
|
|
21
|
+
|
|
22
|
+
- [gesdem-confirmation.component.ts](projects/prestations-ng/src/gesdem-confirmation/gesdem-confirmation.component.ts)
|
|
23
|
+
- allow to override connected success label for first step
|
|
24
|
+
- via `@Input() successLabelDicoKeyFirstStep`
|
|
25
|
+
- via route data : `successLabelDicoKeyFirstStep`
|
|
26
|
+
- default value for label is `gesdem-confirmation.success-label` from dictionary
|
|
27
|
+
- allow to override connected success label for additional steps
|
|
28
|
+
- via `@Input() successLabelDicoAdditionalSteps`
|
|
29
|
+
- via route data : `successLabelDicoAdditionalSteps`
|
|
30
|
+
- default value for label is `gesdem-confirmation.next-step.success-label` from dictionary
|
|
31
|
+
|
|
32
|
+
### Fixed
|
|
33
|
+
|
|
34
|
+
- [foehn-select.component.ts](projects/prestations-ng/src/foehn-checkables/foehn-select.component.ts)
|
|
35
|
+
- [foehn-radio.component.ts](projects/prestations-ng/src/foehn-checkables/foehn-radio.component.ts)
|
|
36
|
+
- [foehn-checkbox.component.ts](projects/prestations-ng/src/foehn-checkables/foehn-checkbox.component.ts)
|
|
37
|
+
- [foehn-input-date.component.ts](projects/prestations-ng/src/foehn-input-date/foehn-input-date.component.ts)
|
|
38
|
+
|
|
39
|
+
- fixed `disabled`: now checks if all elements are disabled
|
|
40
|
+
|
|
41
|
+
- [foehn-form.component.ts](projects/prestations-ng/src/foehn-form/foehn-form.component.ts)
|
|
42
|
+
- fixed `focusFirst()`: now checks if focusable element is not `disabled` or `hidden`
|
|
43
|
+
- fixed `focusFirst()`: now only takes lowest level components (no parents having subComponents)
|
|
44
|
+
|
|
45
|
+
## [18.0.2]
|
|
46
|
+
|
|
47
|
+
### Fixed
|
|
48
|
+
|
|
49
|
+
- [gesdem-handler.service.ts](projects/prestations-ng/src/gesdem/gesdem-handler.service.ts)
|
|
50
|
+
- Fixed success message when user is connected and demande is not draft. (do not display expiration notice).
|
|
51
|
+
|
|
52
|
+
## [18.0.1]
|
|
53
|
+
|
|
54
|
+
### Fixed
|
|
55
|
+
|
|
56
|
+
- [FoehnInputStringComponent](projects/prestations-ng/src/foehn-input/foehn-input-string.component.ts)
|
|
57
|
+
- fixed trimOnBlur()
|
|
58
|
+
|
|
9
59
|
## [18.0.0]
|
|
10
60
|
|
|
11
61
|
### Added
|
|
@@ -23,6 +73,13 @@
|
|
|
23
73
|
- [foehn-table.component.ts](projects/prestations-ng/src/foehn-table/foehn-table.component.ts)
|
|
24
74
|
- `[list]` attribut has been removed. Use `[model]` instead.
|
|
25
75
|
|
|
76
|
+
## [17.10.11]
|
|
77
|
+
|
|
78
|
+
### Fixed
|
|
79
|
+
|
|
80
|
+
- [FoehnInputStringComponent](projects/prestations-ng/src/foehn-input/foehn-input-string.component.ts)
|
|
81
|
+
- fixed trimOnBlur()
|
|
82
|
+
|
|
26
83
|
## [17.10.10]
|
|
27
84
|
|
|
28
85
|
### Fixed
|
package/README.md
CHANGED
|
@@ -8,6 +8,7 @@ The generated documentation of our entire library is available online at [https:
|
|
|
8
8
|
|
|
9
9
|
The documentation is available online at [https://dsi-vd.github.io/prestations-ng/](https://dsi-vd.github.io/prestations-ng/)
|
|
10
10
|
|
|
11
|
+
- If you're using **Angular 19**, use `@dsivd/prestations-ng` at version `^18`.
|
|
11
12
|
- If you're using **Angular 17**, use `@dsivd/prestations-ng` at version `^17`.
|
|
12
13
|
- If you're using **Angular 15**, use `@dsivd/prestations-ng` at version `^16`.
|
|
13
14
|
- If you're using **Angular 13**, use `@dsivd/prestations-ng` at version `^15`.
|
package/UPGRADING_V18.md
CHANGED
|
@@ -419,6 +419,17 @@ You can use this openrewrite recipe to simplify the migration (run with java 11)
|
|
|
419
419
|
mvn -U org.openrewrite.maven:rewrite-maven-plugin:run -Drewrite.recipeArtifactCoordinates=org.openrewrite.recipe:rewrite-spring:RELEASE -Drewrite.activeRecipes=org.openrewrite.java.spring.boot3.UpgradeSpringBoot_3_4 -Drewrite.exportDatatables=true -Pnof,noft
|
|
420
420
|
```
|
|
421
421
|
|
|
422
|
+
Fix application.properties :
|
|
423
|
+
|
|
424
|
+
```diff
|
|
425
|
+
logging.config=${ch.vd.configDir}/logback-spring.xml
|
|
426
|
+
+ # Restore sleuth traces at the same position as in spring boot 2
|
|
427
|
+
+ logging.pattern.level=%5p [${spring.application.name:},%X{traceId:-},%X{spanId:-}]
|
|
428
|
+
+ # remove sleuth traces added by spring boot 3
|
|
429
|
+
+ logging.pattern.correlation=
|
|
430
|
+
+ logging.include-application-name=false
|
|
431
|
+
```
|
|
432
|
+
|
|
422
433
|
After that, you should continue based on your current parent :
|
|
423
434
|
|
|
424
435
|
### SPRING-BOOT-STARTER-PARENT
|
|
Binary file
|
|
@@ -737,6 +737,13 @@ class FoehnInputComponent {
|
|
|
737
737
|
set disabled(value) {
|
|
738
738
|
this._disabled = value;
|
|
739
739
|
}
|
|
740
|
+
// eslint-disable-next-line @typescript-eslint/member-ordering
|
|
741
|
+
get hidden() {
|
|
742
|
+
return !!this.hostHidden;
|
|
743
|
+
}
|
|
744
|
+
set hidden(value) {
|
|
745
|
+
this.hostHidden = value ? 'hidden' : null;
|
|
746
|
+
}
|
|
740
747
|
ngOnInit() {
|
|
741
748
|
// Ensures that the host has an Id for instrumentalization of the DOM by automated tests.
|
|
742
749
|
this.hostId = this.buildId();
|
|
@@ -1000,7 +1007,7 @@ class FoehnInputComponent {
|
|
|
1000
1007
|
}
|
|
1001
1008
|
}
|
|
1002
1009
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FoehnInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1003
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.14", type: FoehnInputComponent, isStandalone: true, inputs: { id: "id", required: "required", label: "label", isLabelSrOnly: "isLabelSrOnly", standardHelpText: "standardHelpText", helpText: "helpText", name: "name", pattern: "pattern", labelStyleModifier: "labelStyleModifier", customErrors: "customErrors", maxlength: "maxlength", overrideGesdemMaxlength: "overrideGesdemMaxlength", min: "min", max: "max", autocomplete: "autocomplete", preventPaste: "preventPaste", clearButton: "clearButton", excludeFromErrorSummary: "excludeFromErrorSummary", hideNotRequiredExtraLabel: "hideNotRequiredExtraLabel", isErrorInherited: "isErrorInherited", showErrorWhenDisabled: "showErrorWhenDisabled", autocapitalize: "autocapitalize", updateModelWhenDisabled: "updateModelWhenDisabled", helpModal: "helpModal", model: "model", disabled: "disabled" }, outputs: { modelChange: "modelChange", userInput: "userInput", blurHandler: "blur", focusHandler: "focus" }, host: { properties: { "attr.id": "this.hostId" } }, viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["entryComponent"], descendants: true }, { propertyName: "inputModelList", predicate: NgModel, descendants: true }, { propertyName: "subComponents", predicate: i0.forwardRef(() => FoehnInputComponent), descendants: true }], ngImport: i0 }); }
|
|
1010
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.14", type: FoehnInputComponent, isStandalone: true, inputs: { id: "id", required: "required", label: "label", isLabelSrOnly: "isLabelSrOnly", standardHelpText: "standardHelpText", helpText: "helpText", name: "name", pattern: "pattern", labelStyleModifier: "labelStyleModifier", customErrors: "customErrors", maxlength: "maxlength", overrideGesdemMaxlength: "overrideGesdemMaxlength", min: "min", max: "max", autocomplete: "autocomplete", preventPaste: "preventPaste", clearButton: "clearButton", excludeFromErrorSummary: "excludeFromErrorSummary", hideNotRequiredExtraLabel: "hideNotRequiredExtraLabel", isErrorInherited: "isErrorInherited", showErrorWhenDisabled: "showErrorWhenDisabled", autocapitalize: "autocapitalize", updateModelWhenDisabled: "updateModelWhenDisabled", helpModal: "helpModal", model: "model", disabled: "disabled", hidden: "hidden" }, outputs: { modelChange: "modelChange", userInput: "userInput", blurHandler: "blur", focusHandler: "focus" }, host: { properties: { "attr.id": "this.hostId", "attr.hidden": "this.hostHidden" } }, viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["entryComponent"], descendants: true }, { propertyName: "inputModelList", predicate: NgModel, descendants: true }, { propertyName: "subComponents", predicate: i0.forwardRef(() => FoehnInputComponent), descendants: true }], ngImport: i0 }); }
|
|
1004
1011
|
}
|
|
1005
1012
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FoehnInputComponent, decorators: [{
|
|
1006
1013
|
type: Directive
|
|
@@ -1076,10 +1083,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
|
|
|
1076
1083
|
}], hostId: [{
|
|
1077
1084
|
type: HostBinding,
|
|
1078
1085
|
args: ['attr.id']
|
|
1086
|
+
}], hostHidden: [{
|
|
1087
|
+
type: HostBinding,
|
|
1088
|
+
args: ['attr.hidden']
|
|
1079
1089
|
}], model: [{
|
|
1080
1090
|
type: Input
|
|
1081
1091
|
}], disabled: [{
|
|
1082
1092
|
type: Input
|
|
1093
|
+
}], hidden: [{
|
|
1094
|
+
type: Input
|
|
1083
1095
|
}] } });
|
|
1084
1096
|
|
|
1085
1097
|
const GrowlType = {
|
|
@@ -1233,10 +1245,10 @@ const DEFAULT_DICTIONARY = {
|
|
|
1233
1245
|
'gesdem-action-recovery-registration.not-connected.reference-interne.help-text': 'Votre référence sera utilisée comme objet du message qui vous sera envoyé et vous permettra de retrouver facilement ce message',
|
|
1234
1246
|
'gesdem-action-recovery-registration.cancel.button': 'Fermer',
|
|
1235
1247
|
'gesdem-action-recovery-registration.save.button': 'Sauvegarder',
|
|
1236
|
-
'gesdem-handler.save-confirmation.label': '<strong>' +
|
|
1237
|
-
'
|
|
1238
|
-
'</strong>'
|
|
1239
|
-
|
|
1248
|
+
'gesdem-handler.save-confirmation.label': '<strong>Vos données ont été sauvegardées dans <a href="/100002/demandes/search/MINE/INITIAL" target="_blank">' +
|
|
1249
|
+
'votre espace sécurisé' +
|
|
1250
|
+
'</a></strong>',
|
|
1251
|
+
'gesdem-handler.save-confirmation.expiration-addon.label': '<br/><br/>' +
|
|
1240
1252
|
'<i>Votre demande non transmise sera conservée {draftDemRetentionDays} jour{plural}. ' +
|
|
1241
1253
|
'Elle sera supprimée le {draftDemandeDeletionDate}</i>',
|
|
1242
1254
|
'foehn-date-picker-button.icon-title': 'Afficher le calendrier',
|
|
@@ -1296,6 +1308,7 @@ const DEFAULT_DICTIONARY = {
|
|
|
1296
1308
|
'foehn-uploader.files-deleted-success-message': 'Suppression du fichier {filename} réussie',
|
|
1297
1309
|
'foehn-uploader.delete-error-message': 'Une erreur est survenue lors de la suppression de votre document',
|
|
1298
1310
|
'foehn-uploader.delete-readonly-error-message': 'Un document en lecture seule ne peut pas être supprimé',
|
|
1311
|
+
'foehn-uploader.unknown-error-message': 'Impossible de transmettre le fichier',
|
|
1299
1312
|
'foehn-picture-upload.choose-button-label': 'Choisissez une photo',
|
|
1300
1313
|
'foehn-picture-upload.loading-label': 'Chargement...',
|
|
1301
1314
|
'foehn-picture-upload.invalid-file-type': 'Le type de votre pièce jointe {filename} ne figure pas parmi ceux qui sont autorisés : "{acceptFormats}"',
|
|
@@ -1764,7 +1777,10 @@ class FoehnFormComponent {
|
|
|
1764
1777
|
}
|
|
1765
1778
|
focusFirst() {
|
|
1766
1779
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1767
|
-
const allComponents = this.getAllComponents()
|
|
1780
|
+
const allComponents = this.getAllComponents().filter(value => !value.disabled &&
|
|
1781
|
+
value.type !== 'hidden' &&
|
|
1782
|
+
!value.hidden &&
|
|
1783
|
+
!value.subComponents?.length);
|
|
1768
1784
|
if (allComponents && allComponents.length > 0) {
|
|
1769
1785
|
allComponents[0].focus();
|
|
1770
1786
|
}
|
|
@@ -2133,7 +2149,7 @@ class GesdemHandlerService {
|
|
|
2133
2149
|
/**
|
|
2134
2150
|
*
|
|
2135
2151
|
* @param reference de la demande
|
|
2136
|
-
* @param reCaptchaByPassUUID
|
|
2152
|
+
* @param reCaptchaByPassUUID unique identifier
|
|
2137
2153
|
* @param forceRefreshIfNew allows to force the cleaning if reference is null
|
|
2138
2154
|
* @param byPassEmitResponse boolean used to emit or not gesdem last response (default is false)
|
|
2139
2155
|
* @returns Observable
|
|
@@ -2224,11 +2240,16 @@ class GesdemHandlerService {
|
|
|
2224
2240
|
if (isConnected &&
|
|
2225
2241
|
displaySuccessMessage &&
|
|
2226
2242
|
!!resp?.meta?.reference?.length) {
|
|
2227
|
-
|
|
2228
|
-
|
|
2229
|
-
|
|
2230
|
-
|
|
2231
|
-
|
|
2243
|
+
let confirmation = this.dictionaryService.getKeySync('gesdem-handler.save-confirmation.label');
|
|
2244
|
+
if (!!resp.meta.draftDemRetentionDays &&
|
|
2245
|
+
!!resp.meta.draftDemandeDeletionDate) {
|
|
2246
|
+
confirmation += this.dictionaryService.getKeySync('gesdem-handler.save-confirmation.expiration-addon.label', {
|
|
2247
|
+
draftDemRetentionDays: resp.meta.draftDemRetentionDays.toString(),
|
|
2248
|
+
draftDemandeDeletionDate: this.dateHelper.arrayToDisplayDateDMY(resp.meta.draftDemandeDeletionDate, false),
|
|
2249
|
+
plural: this.dictionaryService.getPluralMarkerSync(resp.meta.draftDemRetentionDays)
|
|
2250
|
+
});
|
|
2251
|
+
}
|
|
2252
|
+
this.growlService.addWithType(GrowlType.SUCCESS, confirmation);
|
|
2232
2253
|
}
|
|
2233
2254
|
}), map(() => true));
|
|
2234
2255
|
}
|
|
@@ -3119,7 +3140,7 @@ class UploaderHelper {
|
|
|
3119
3140
|
return formattedErrorMsg;
|
|
3120
3141
|
}
|
|
3121
3142
|
getDefaultUnknownErrorMessage(fileName) {
|
|
3122
|
-
const msg = '
|
|
3143
|
+
const msg = this.dictionaryService.getKeySync('foehn-uploader.unknown-error-message');
|
|
3123
3144
|
if (!!fileName && !!fileName.length) {
|
|
3124
3145
|
return `${msg} ${getSafeFileNameForErrorMessage(fileName)}.`;
|
|
3125
3146
|
}
|
|
@@ -4188,6 +4209,8 @@ class GesdemConfirmationComponent {
|
|
|
4188
4209
|
this.baseUrlPdf = 'api/document/pdf/';
|
|
4189
4210
|
this.hideReference = false;
|
|
4190
4211
|
this.hideFeedbackNotificationOverride = false;
|
|
4212
|
+
this.successLabelDicoKeyFirstStep = 'gesdem-confirmation.success-label';
|
|
4213
|
+
this.successLabelDicoAdditionalSteps = 'gesdem-confirmation.next-step.success-label';
|
|
4191
4214
|
this.firstPageLink = '/';
|
|
4192
4215
|
this.closeLinkNotConnected = new BehaviorSubject(null);
|
|
4193
4216
|
this.closeLinkConnected = new BehaviorSubject(null);
|
|
@@ -4242,6 +4265,12 @@ class GesdemConfirmationComponent {
|
|
|
4242
4265
|
this.hideFeedbackNotificationOverride =
|
|
4243
4266
|
routeData.hideFeedbackNotificationOverride ||
|
|
4244
4267
|
this.hideFeedbackNotificationOverride;
|
|
4268
|
+
this.successLabelDicoKeyFirstStep =
|
|
4269
|
+
routeData.successLabelDicoKeyFirstStep ||
|
|
4270
|
+
this.successLabelDicoKeyFirstStep;
|
|
4271
|
+
this.successLabelDicoAdditionalSteps =
|
|
4272
|
+
routeData.successLabelDicoAdditionalSteps ||
|
|
4273
|
+
this.successLabelDicoAdditionalSteps;
|
|
4245
4274
|
// default closeLink if not by @Input and not by route data
|
|
4246
4275
|
combineLatest([
|
|
4247
4276
|
this.foehnPageService.onEtapeIdChange().pipe(first()),
|
|
@@ -4271,8 +4300,8 @@ class GesdemConfirmationComponent {
|
|
|
4271
4300
|
get successLabelDicoKey() {
|
|
4272
4301
|
const isFirstAction = this.gesdemService.lastResponse?.meta?.currentAction === 1;
|
|
4273
4302
|
return isFirstAction
|
|
4274
|
-
?
|
|
4275
|
-
:
|
|
4303
|
+
? this.successLabelDicoKeyFirstStep
|
|
4304
|
+
: this.successLabelDicoAdditionalSteps;
|
|
4276
4305
|
}
|
|
4277
4306
|
ngOnChanges(changes) {
|
|
4278
4307
|
const changeNotConnected = changes.closeHref;
|
|
@@ -4348,11 +4377,11 @@ class GesdemConfirmationComponent {
|
|
|
4348
4377
|
window.scrollTo(0, 0);
|
|
4349
4378
|
}
|
|
4350
4379
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: GesdemConfirmationComponent, deps: [{ token: GesdemHandlerService }, { token: FoehnPageService }, { token: i1$1.ActivatedRoute }, { token: SdkDictionaryService }, { token: i2.Location }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4351
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: GesdemConfirmationComponent, isStandalone: false, selector: "gesdem-confirmation", inputs: { reference: "reference", setPageTitle: "setPageTitle", hasEmailSent: "hasEmailSent", closeHref: "closeHref", closeHrefConnected: "closeHrefConnected", showDownloadPdfRecapButton: "showDownloadPdfRecapButton", showLinkToMyDemandes: "showLinkToMyDemandes", demandeIsClosedOnTransmit: "demandeIsClosedOnTransmit", actionStatut: "actionStatut", connectedConfirmationMessage: "connectedConfirmationMessage", connectedConfirmationMessageIfAbandoned: "connectedConfirmationMessageIfAbandoned", downloadPdfRecapButtonText: "downloadPdfRecapButtonText", closeButtonText: "closeButtonText", closeButtonConnectedText: "closeButtonConnectedText", baseUrlPdf: "baseUrlPdf", hideReference: "hideReference", hideFeedbackNotificationOverride: "hideFeedbackNotificationOverride" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"container mt-5\" *ngIf=\"reference && !isInProgress\">\n <div\n class=\"alert text-center mb-2\"\n [ngClass]=\"isTransferred ? 'alert-success' : 'alert-danger'\"\n >\n <p class=\"h2\">\n {{\n isTransferred\n ? (successLabelDicoKey | fromDictionary)\n : ('gesdem-confirmation.abort-label' | fromDictionary)\n }}\n </p>\n <dl *ngIf=\"!hideReference\">\n <dt class=\"fw-light\">\n {{\n 'gesdem-confirmation.reference-title.label' | fromDictionary\n }}\n </dt>\n <dd id=\"numDemande\" class=\"h4 d-block mt-3\">{{ reference }}</dd>\n </dl>\n <p *ngIf=\"hasEmailSent && !(isConnectedCyber | async)\">\n {{ 'gesdem-confirmation.mail-sent.label' | fromDictionary }}\n </p>\n </div>\n\n <span\n [innerHTML]=\"'gesdem-confirmation.extra-content' | fromDictionary\"\n ></span>\n\n <ng-content></ng-content>\n\n <div\n class=\"col-md-12 vd-highlight highlight-dark\"\n *ngIf=\"(isConnectedCyber | async) && hasConnectedContent()\"\n >\n <span\n class=\"visually-hidden\"\n [innerHTML]=\"\n 'gesdem-confirmation.transmission-information.label'\n | fromDictionary\n \"\n ></span>\n <div class=\"row\">\n <div class=\"col-md-1\">\n <foehn-icon-info-circle class=\"h3\"></foehn-icon-info-circle>\n </div>\n <div class=\"col-md-11\">\n <p\n [innerHTML]=\"\n (isTransferred\n ? connectedConfirmationMessage\n : connectedConfirmationMessageIfAbandoned\n ) | fromDictionary\n \"\n ></p>\n <p\n id=\"linkToTreatedDemandes\"\n *ngIf=\"\n showLinkToMyDemandes &&\n (demandeIsClosedOnTransmit || isAbandoned)\n \"\n >\n {{\n 'gesdem-confirmation.demand-detail-link.label'\n | fromDictionary\n }}\n <a\n href=\"/100002/demandes/{{ reference }}\"\n [attr.aria-label]=\"\n 'gesdem-demand-detail'\n | fromDictionary: { reference: reference }\n \"\n [innerHTML]=\"reference\"\n ></a>\n .\n </p>\n <p\n id=\"linkToInProgressDemandes\"\n *ngIf=\"\n showLinkToMyDemandes &&\n !demandeIsClosedOnTransmit &&\n !isAbandoned\n \"\n >\n {{\n 'gesdem-confirmation.demand-processing-progress-link.label'\n | fromDictionary\n }}\n <a\n href=\"/100002/demandes/{{ reference }}\"\n [attr.aria-label]=\"\n 'gesdem-demand-detail'\n | fromDictionary: { reference: reference }\n \"\n [innerHTML]=\"reference\"\n ></a>\n .\n </p>\n </div>\n </div>\n </div>\n\n <div class=\"col-md-12 list-unstyled d-md-flex p-0 mt-4\">\n <div class=\"ms-0 me-md-auto me-md-2 mb-2 mt-2\">\n <a\n *ngIf=\"showDownloadPdfRecapButton\"\n [href]=\"urlPdf\"\n (click)=\"logPdfDownloadedEvent()\"\n id=\"telechargerBtn\"\n class=\"btn btn-secondary w-100\"\n [attr.aria-label]=\"\n 'gesdem.download-pdf.button.title' | fromDictionary\n \"\n >\n {{ downloadPdfRecapButtonText | fromDictionary }}\n </a>\n </div>\n\n <div\n class=\"me-0 ms-md-auto mb-2 mt-2\"\n *ngIf=\"\n !(isConnectedCyber | async) && closeLinkNotConnected\n | async as link\n \"\n >\n <a [href]=\"link\" id=\"terminerBtn\" class=\"btn btn-primary w-100\">\n {{ closeButtonText | fromDictionary }}\n </a>\n </div>\n\n <div\n class=\"me-0 ms-md-auto mb-2 mt-2\"\n *ngIf=\"\n !!(isConnectedCyber | async) && closeLinkConnected\n | async as link\n \"\n >\n <a\n [href]=\"link\"\n id=\"terminerConnectedBtn\"\n class=\"btn btn-primary w-100\"\n >\n {{ closeButtonConnectedText | fromDictionary }}\n </a>\n </div>\n </div>\n</div>\n\n<div class=\"container mt-5\" *ngIf=\"!hideReference && reference && isInProgress\">\n <div class=\"alert alert-info text-center mb-2\">\n <p\n class=\"h2\"\n [innerHTML]=\"\n 'gesdem-confirmation.demand-in-progress.title' | fromDictionary\n \"\n ></p>\n <dl>\n <dt class=\"fw-light\">\n {{\n 'gesdem-confirmation.reference-title.label' | fromDictionary\n }}\n </dt>\n <dd id=\"numDemandeEnCours\" class=\"h4 d-block mt-3\">\n {{ reference }}\n </dd>\n </dl>\n </div>\n\n <div class=\"col-md-12 vd-highlight highlight-dark\">\n <div class=\"row\">\n <div class=\"col-md-1\">\n <foehn-icon-info-circle class=\"h3\"></foehn-icon-info-circle>\n </div>\n <div class=\"col-md-11\">\n <p>\n {{\n 'gesdem-confirmation.resume-my-demand.label'\n | fromDictionary\n }}\n </p>\n <p>\n <a [routerLink]=\"firstPageLink\">\n {{\n 'gesdem-confirmation.resume-my-demand.button'\n | fromDictionary\n }}\n </a>\n </p>\n </div>\n </div>\n </div>\n</div>\n\n<foehn-feedback-notification\n *ngIf=\"!hideFeedbackNotificationOverride\"\n [id]=\"'feedbackNotification'\"\n></foehn-feedback-notification>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FoehnIconInfoCircleComponent, selector: "foehn-icon-info-circle" }, { kind: "directive", type: i1$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: FoehnFeedbackNotificationComponent, selector: "foehn-feedback-notification" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: SdkDictionaryPipe, name: "fromDictionary" }] }); }
|
|
4380
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: GesdemConfirmationComponent, isStandalone: false, selector: "gesdem-confirmation", inputs: { reference: "reference", setPageTitle: "setPageTitle", hasEmailSent: "hasEmailSent", closeHref: "closeHref", closeHrefConnected: "closeHrefConnected", showDownloadPdfRecapButton: "showDownloadPdfRecapButton", showLinkToMyDemandes: "showLinkToMyDemandes", demandeIsClosedOnTransmit: "demandeIsClosedOnTransmit", actionStatut: "actionStatut", connectedConfirmationMessage: "connectedConfirmationMessage", connectedConfirmationMessageIfAbandoned: "connectedConfirmationMessageIfAbandoned", downloadPdfRecapButtonText: "downloadPdfRecapButtonText", closeButtonText: "closeButtonText", closeButtonConnectedText: "closeButtonConnectedText", baseUrlPdf: "baseUrlPdf", hideReference: "hideReference", hideFeedbackNotificationOverride: "hideFeedbackNotificationOverride", successLabelDicoKeyFirstStep: "successLabelDicoKeyFirstStep", successLabelDicoAdditionalSteps: "successLabelDicoAdditionalSteps" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"container mt-5\" *ngIf=\"reference && !isInProgress\">\n <div\n [id]=\"'main-summary'\"\n class=\"alert text-center mb-2\"\n [ngClass]=\"isTransferred ? 'alert-success' : 'alert-danger'\"\n >\n <p class=\"h2\">\n {{\n isTransferred\n ? (successLabelDicoKey | fromDictionary)\n : ('gesdem-confirmation.abort-label' | fromDictionary)\n }}\n </p>\n <dl *ngIf=\"!hideReference\">\n <dt class=\"fw-light\">\n {{\n 'gesdem-confirmation.reference-title.label' | fromDictionary\n }}\n </dt>\n <dd id=\"numDemande\" class=\"h4 d-block mt-3\">{{ reference }}</dd>\n </dl>\n <p *ngIf=\"hasEmailSent && !(isConnectedCyber | async)\">\n {{ 'gesdem-confirmation.mail-sent.label' | fromDictionary }}\n </p>\n </div>\n\n <span\n [innerHTML]=\"'gesdem-confirmation.extra-content' | fromDictionary\"\n ></span>\n\n <ng-content></ng-content>\n\n <div\n class=\"col-md-12 vd-highlight highlight-dark\"\n *ngIf=\"(isConnectedCyber | async) && hasConnectedContent()\"\n >\n <span\n class=\"visually-hidden\"\n [innerHTML]=\"\n 'gesdem-confirmation.transmission-information.label'\n | fromDictionary\n \"\n ></span>\n <div class=\"row\">\n <div class=\"col-md-1\">\n <foehn-icon-info-circle class=\"h3\"></foehn-icon-info-circle>\n </div>\n <div class=\"col-md-11\">\n <p\n [innerHTML]=\"\n (isTransferred\n ? connectedConfirmationMessage\n : connectedConfirmationMessageIfAbandoned\n ) | fromDictionary\n \"\n ></p>\n <p\n id=\"linkToTreatedDemandes\"\n *ngIf=\"\n showLinkToMyDemandes &&\n (demandeIsClosedOnTransmit || isAbandoned)\n \"\n >\n {{\n 'gesdem-confirmation.demand-detail-link.label'\n | fromDictionary\n }}\n <a\n href=\"/100002/demandes/{{ reference }}\"\n [attr.aria-label]=\"\n 'gesdem-demand-detail'\n | fromDictionary: { reference: reference }\n \"\n [innerHTML]=\"reference\"\n ></a>\n .\n </p>\n <p\n id=\"linkToInProgressDemandes\"\n *ngIf=\"\n showLinkToMyDemandes &&\n !demandeIsClosedOnTransmit &&\n !isAbandoned\n \"\n >\n {{\n 'gesdem-confirmation.demand-processing-progress-link.label'\n | fromDictionary\n }}\n <a\n href=\"/100002/demandes/{{ reference }}\"\n [attr.aria-label]=\"\n 'gesdem-demand-detail'\n | fromDictionary: { reference: reference }\n \"\n [innerHTML]=\"reference\"\n ></a>\n .\n </p>\n </div>\n </div>\n </div>\n\n <div class=\"col-md-12 list-unstyled d-md-flex p-0 mt-4\">\n <div class=\"ms-0 me-md-auto me-md-2 mb-2 mt-2\">\n <a\n *ngIf=\"showDownloadPdfRecapButton\"\n [href]=\"urlPdf\"\n (click)=\"logPdfDownloadedEvent()\"\n id=\"telechargerBtn\"\n class=\"btn btn-secondary w-100\"\n [attr.aria-label]=\"\n 'gesdem.download-pdf.button.title' | fromDictionary\n \"\n >\n {{ downloadPdfRecapButtonText | fromDictionary }}\n </a>\n </div>\n\n <div\n class=\"me-0 ms-md-auto mb-2 mt-2\"\n *ngIf=\"\n !(isConnectedCyber | async) && closeLinkNotConnected\n | async as link\n \"\n >\n <a [href]=\"link\" id=\"terminerBtn\" class=\"btn btn-primary w-100\">\n {{ closeButtonText | fromDictionary }}\n </a>\n </div>\n\n <div\n class=\"me-0 ms-md-auto mb-2 mt-2\"\n *ngIf=\"\n !!(isConnectedCyber | async) && closeLinkConnected\n | async as link\n \"\n >\n <a\n [href]=\"link\"\n id=\"terminerConnectedBtn\"\n class=\"btn btn-primary w-100\"\n >\n {{ closeButtonConnectedText | fromDictionary }}\n </a>\n </div>\n </div>\n</div>\n\n<div class=\"container mt-5\" *ngIf=\"!hideReference && reference && isInProgress\">\n <div class=\"alert alert-info text-center mb-2\">\n <p\n class=\"h2\"\n [innerHTML]=\"\n 'gesdem-confirmation.demand-in-progress.title' | fromDictionary\n \"\n ></p>\n <dl>\n <dt class=\"fw-light\">\n {{\n 'gesdem-confirmation.reference-title.label' | fromDictionary\n }}\n </dt>\n <dd id=\"numDemandeEnCours\" class=\"h4 d-block mt-3\">\n {{ reference }}\n </dd>\n </dl>\n </div>\n\n <div class=\"col-md-12 vd-highlight highlight-dark\">\n <div class=\"row\">\n <div class=\"col-md-1\">\n <foehn-icon-info-circle class=\"h3\"></foehn-icon-info-circle>\n </div>\n <div class=\"col-md-11\">\n <p>\n {{\n 'gesdem-confirmation.resume-my-demand.label'\n | fromDictionary\n }}\n </p>\n <p>\n <a [routerLink]=\"firstPageLink\">\n {{\n 'gesdem-confirmation.resume-my-demand.button'\n | fromDictionary\n }}\n </a>\n </p>\n </div>\n </div>\n </div>\n</div>\n\n<foehn-feedback-notification\n *ngIf=\"!hideFeedbackNotificationOverride\"\n [id]=\"'feedbackNotification'\"\n></foehn-feedback-notification>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FoehnIconInfoCircleComponent, selector: "foehn-icon-info-circle" }, { kind: "directive", type: i1$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: FoehnFeedbackNotificationComponent, selector: "foehn-feedback-notification" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: SdkDictionaryPipe, name: "fromDictionary" }] }); }
|
|
4352
4381
|
}
|
|
4353
4382
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: GesdemConfirmationComponent, decorators: [{
|
|
4354
4383
|
type: Component,
|
|
4355
|
-
args: [{ selector: 'gesdem-confirmation', standalone: false, template: "<div class=\"container mt-5\" *ngIf=\"reference && !isInProgress\">\n <div\n class=\"alert text-center mb-2\"\n [ngClass]=\"isTransferred ? 'alert-success' : 'alert-danger'\"\n >\n <p class=\"h2\">\n {{\n isTransferred\n ? (successLabelDicoKey | fromDictionary)\n : ('gesdem-confirmation.abort-label' | fromDictionary)\n }}\n </p>\n <dl *ngIf=\"!hideReference\">\n <dt class=\"fw-light\">\n {{\n 'gesdem-confirmation.reference-title.label' | fromDictionary\n }}\n </dt>\n <dd id=\"numDemande\" class=\"h4 d-block mt-3\">{{ reference }}</dd>\n </dl>\n <p *ngIf=\"hasEmailSent && !(isConnectedCyber | async)\">\n {{ 'gesdem-confirmation.mail-sent.label' | fromDictionary }}\n </p>\n </div>\n\n <span\n [innerHTML]=\"'gesdem-confirmation.extra-content' | fromDictionary\"\n ></span>\n\n <ng-content></ng-content>\n\n <div\n class=\"col-md-12 vd-highlight highlight-dark\"\n *ngIf=\"(isConnectedCyber | async) && hasConnectedContent()\"\n >\n <span\n class=\"visually-hidden\"\n [innerHTML]=\"\n 'gesdem-confirmation.transmission-information.label'\n | fromDictionary\n \"\n ></span>\n <div class=\"row\">\n <div class=\"col-md-1\">\n <foehn-icon-info-circle class=\"h3\"></foehn-icon-info-circle>\n </div>\n <div class=\"col-md-11\">\n <p\n [innerHTML]=\"\n (isTransferred\n ? connectedConfirmationMessage\n : connectedConfirmationMessageIfAbandoned\n ) | fromDictionary\n \"\n ></p>\n <p\n id=\"linkToTreatedDemandes\"\n *ngIf=\"\n showLinkToMyDemandes &&\n (demandeIsClosedOnTransmit || isAbandoned)\n \"\n >\n {{\n 'gesdem-confirmation.demand-detail-link.label'\n | fromDictionary\n }}\n <a\n href=\"/100002/demandes/{{ reference }}\"\n [attr.aria-label]=\"\n 'gesdem-demand-detail'\n | fromDictionary: { reference: reference }\n \"\n [innerHTML]=\"reference\"\n ></a>\n .\n </p>\n <p\n id=\"linkToInProgressDemandes\"\n *ngIf=\"\n showLinkToMyDemandes &&\n !demandeIsClosedOnTransmit &&\n !isAbandoned\n \"\n >\n {{\n 'gesdem-confirmation.demand-processing-progress-link.label'\n | fromDictionary\n }}\n <a\n href=\"/100002/demandes/{{ reference }}\"\n [attr.aria-label]=\"\n 'gesdem-demand-detail'\n | fromDictionary: { reference: reference }\n \"\n [innerHTML]=\"reference\"\n ></a>\n .\n </p>\n </div>\n </div>\n </div>\n\n <div class=\"col-md-12 list-unstyled d-md-flex p-0 mt-4\">\n <div class=\"ms-0 me-md-auto me-md-2 mb-2 mt-2\">\n <a\n *ngIf=\"showDownloadPdfRecapButton\"\n [href]=\"urlPdf\"\n (click)=\"logPdfDownloadedEvent()\"\n id=\"telechargerBtn\"\n class=\"btn btn-secondary w-100\"\n [attr.aria-label]=\"\n 'gesdem.download-pdf.button.title' | fromDictionary\n \"\n >\n {{ downloadPdfRecapButtonText | fromDictionary }}\n </a>\n </div>\n\n <div\n class=\"me-0 ms-md-auto mb-2 mt-2\"\n *ngIf=\"\n !(isConnectedCyber | async) && closeLinkNotConnected\n | async as link\n \"\n >\n <a [href]=\"link\" id=\"terminerBtn\" class=\"btn btn-primary w-100\">\n {{ closeButtonText | fromDictionary }}\n </a>\n </div>\n\n <div\n class=\"me-0 ms-md-auto mb-2 mt-2\"\n *ngIf=\"\n !!(isConnectedCyber | async) && closeLinkConnected\n | async as link\n \"\n >\n <a\n [href]=\"link\"\n id=\"terminerConnectedBtn\"\n class=\"btn btn-primary w-100\"\n >\n {{ closeButtonConnectedText | fromDictionary }}\n </a>\n </div>\n </div>\n</div>\n\n<div class=\"container mt-5\" *ngIf=\"!hideReference && reference && isInProgress\">\n <div class=\"alert alert-info text-center mb-2\">\n <p\n class=\"h2\"\n [innerHTML]=\"\n 'gesdem-confirmation.demand-in-progress.title' | fromDictionary\n \"\n ></p>\n <dl>\n <dt class=\"fw-light\">\n {{\n 'gesdem-confirmation.reference-title.label' | fromDictionary\n }}\n </dt>\n <dd id=\"numDemandeEnCours\" class=\"h4 d-block mt-3\">\n {{ reference }}\n </dd>\n </dl>\n </div>\n\n <div class=\"col-md-12 vd-highlight highlight-dark\">\n <div class=\"row\">\n <div class=\"col-md-1\">\n <foehn-icon-info-circle class=\"h3\"></foehn-icon-info-circle>\n </div>\n <div class=\"col-md-11\">\n <p>\n {{\n 'gesdem-confirmation.resume-my-demand.label'\n | fromDictionary\n }}\n </p>\n <p>\n <a [routerLink]=\"firstPageLink\">\n {{\n 'gesdem-confirmation.resume-my-demand.button'\n | fromDictionary\n }}\n </a>\n </p>\n </div>\n </div>\n </div>\n</div>\n\n<foehn-feedback-notification\n *ngIf=\"!hideFeedbackNotificationOverride\"\n [id]=\"'feedbackNotification'\"\n></foehn-feedback-notification>\n" }]
|
|
4384
|
+
args: [{ selector: 'gesdem-confirmation', standalone: false, template: "<div class=\"container mt-5\" *ngIf=\"reference && !isInProgress\">\n <div\n [id]=\"'main-summary'\"\n class=\"alert text-center mb-2\"\n [ngClass]=\"isTransferred ? 'alert-success' : 'alert-danger'\"\n >\n <p class=\"h2\">\n {{\n isTransferred\n ? (successLabelDicoKey | fromDictionary)\n : ('gesdem-confirmation.abort-label' | fromDictionary)\n }}\n </p>\n <dl *ngIf=\"!hideReference\">\n <dt class=\"fw-light\">\n {{\n 'gesdem-confirmation.reference-title.label' | fromDictionary\n }}\n </dt>\n <dd id=\"numDemande\" class=\"h4 d-block mt-3\">{{ reference }}</dd>\n </dl>\n <p *ngIf=\"hasEmailSent && !(isConnectedCyber | async)\">\n {{ 'gesdem-confirmation.mail-sent.label' | fromDictionary }}\n </p>\n </div>\n\n <span\n [innerHTML]=\"'gesdem-confirmation.extra-content' | fromDictionary\"\n ></span>\n\n <ng-content></ng-content>\n\n <div\n class=\"col-md-12 vd-highlight highlight-dark\"\n *ngIf=\"(isConnectedCyber | async) && hasConnectedContent()\"\n >\n <span\n class=\"visually-hidden\"\n [innerHTML]=\"\n 'gesdem-confirmation.transmission-information.label'\n | fromDictionary\n \"\n ></span>\n <div class=\"row\">\n <div class=\"col-md-1\">\n <foehn-icon-info-circle class=\"h3\"></foehn-icon-info-circle>\n </div>\n <div class=\"col-md-11\">\n <p\n [innerHTML]=\"\n (isTransferred\n ? connectedConfirmationMessage\n : connectedConfirmationMessageIfAbandoned\n ) | fromDictionary\n \"\n ></p>\n <p\n id=\"linkToTreatedDemandes\"\n *ngIf=\"\n showLinkToMyDemandes &&\n (demandeIsClosedOnTransmit || isAbandoned)\n \"\n >\n {{\n 'gesdem-confirmation.demand-detail-link.label'\n | fromDictionary\n }}\n <a\n href=\"/100002/demandes/{{ reference }}\"\n [attr.aria-label]=\"\n 'gesdem-demand-detail'\n | fromDictionary: { reference: reference }\n \"\n [innerHTML]=\"reference\"\n ></a>\n .\n </p>\n <p\n id=\"linkToInProgressDemandes\"\n *ngIf=\"\n showLinkToMyDemandes &&\n !demandeIsClosedOnTransmit &&\n !isAbandoned\n \"\n >\n {{\n 'gesdem-confirmation.demand-processing-progress-link.label'\n | fromDictionary\n }}\n <a\n href=\"/100002/demandes/{{ reference }}\"\n [attr.aria-label]=\"\n 'gesdem-demand-detail'\n | fromDictionary: { reference: reference }\n \"\n [innerHTML]=\"reference\"\n ></a>\n .\n </p>\n </div>\n </div>\n </div>\n\n <div class=\"col-md-12 list-unstyled d-md-flex p-0 mt-4\">\n <div class=\"ms-0 me-md-auto me-md-2 mb-2 mt-2\">\n <a\n *ngIf=\"showDownloadPdfRecapButton\"\n [href]=\"urlPdf\"\n (click)=\"logPdfDownloadedEvent()\"\n id=\"telechargerBtn\"\n class=\"btn btn-secondary w-100\"\n [attr.aria-label]=\"\n 'gesdem.download-pdf.button.title' | fromDictionary\n \"\n >\n {{ downloadPdfRecapButtonText | fromDictionary }}\n </a>\n </div>\n\n <div\n class=\"me-0 ms-md-auto mb-2 mt-2\"\n *ngIf=\"\n !(isConnectedCyber | async) && closeLinkNotConnected\n | async as link\n \"\n >\n <a [href]=\"link\" id=\"terminerBtn\" class=\"btn btn-primary w-100\">\n {{ closeButtonText | fromDictionary }}\n </a>\n </div>\n\n <div\n class=\"me-0 ms-md-auto mb-2 mt-2\"\n *ngIf=\"\n !!(isConnectedCyber | async) && closeLinkConnected\n | async as link\n \"\n >\n <a\n [href]=\"link\"\n id=\"terminerConnectedBtn\"\n class=\"btn btn-primary w-100\"\n >\n {{ closeButtonConnectedText | fromDictionary }}\n </a>\n </div>\n </div>\n</div>\n\n<div class=\"container mt-5\" *ngIf=\"!hideReference && reference && isInProgress\">\n <div class=\"alert alert-info text-center mb-2\">\n <p\n class=\"h2\"\n [innerHTML]=\"\n 'gesdem-confirmation.demand-in-progress.title' | fromDictionary\n \"\n ></p>\n <dl>\n <dt class=\"fw-light\">\n {{\n 'gesdem-confirmation.reference-title.label' | fromDictionary\n }}\n </dt>\n <dd id=\"numDemandeEnCours\" class=\"h4 d-block mt-3\">\n {{ reference }}\n </dd>\n </dl>\n </div>\n\n <div class=\"col-md-12 vd-highlight highlight-dark\">\n <div class=\"row\">\n <div class=\"col-md-1\">\n <foehn-icon-info-circle class=\"h3\"></foehn-icon-info-circle>\n </div>\n <div class=\"col-md-11\">\n <p>\n {{\n 'gesdem-confirmation.resume-my-demand.label'\n | fromDictionary\n }}\n </p>\n <p>\n <a [routerLink]=\"firstPageLink\">\n {{\n 'gesdem-confirmation.resume-my-demand.button'\n | fromDictionary\n }}\n </a>\n </p>\n </div>\n </div>\n </div>\n</div>\n\n<foehn-feedback-notification\n *ngIf=\"!hideFeedbackNotificationOverride\"\n [id]=\"'feedbackNotification'\"\n></foehn-feedback-notification>\n" }]
|
|
4356
4385
|
}], ctorParameters: () => [{ type: GesdemHandlerService }, { type: FoehnPageService }, { type: i1$1.ActivatedRoute }, { type: SdkDictionaryService }, { type: i2.Location }], propDecorators: { reference: [{
|
|
4357
4386
|
type: Input
|
|
4358
4387
|
}], setPageTitle: [{
|
|
@@ -4387,6 +4416,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
|
|
|
4387
4416
|
type: Input
|
|
4388
4417
|
}], hideFeedbackNotificationOverride: [{
|
|
4389
4418
|
type: Input
|
|
4419
|
+
}], successLabelDicoKeyFirstStep: [{
|
|
4420
|
+
type: Input
|
|
4421
|
+
}], successLabelDicoAdditionalSteps: [{
|
|
4422
|
+
type: Input
|
|
4390
4423
|
}] } });
|
|
4391
4424
|
|
|
4392
4425
|
// Shared between prestations.
|
|
@@ -4930,6 +4963,14 @@ class FoehnInputStringComponent extends FoehnInputComponent {
|
|
|
4930
4963
|
}
|
|
4931
4964
|
super.onBlur(e);
|
|
4932
4965
|
}
|
|
4966
|
+
onModelChange(value) {
|
|
4967
|
+
if (value === undefined || value === null || !!value) {
|
|
4968
|
+
this.updateNgModel(value);
|
|
4969
|
+
}
|
|
4970
|
+
else {
|
|
4971
|
+
this.updateNgModel(null);
|
|
4972
|
+
}
|
|
4973
|
+
}
|
|
4933
4974
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FoehnInputStringComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
4934
4975
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.14", type: FoehnInputStringComponent, isStandalone: true, inputs: { trimOnBlur: "trimOnBlur" }, usesInheritance: true, ngImport: i0 }); }
|
|
4935
4976
|
}
|
|
@@ -5112,17 +5153,6 @@ class FoehnInputTextComponent extends FoehnInputStringComponent {
|
|
|
5112
5153
|
event.preventDefault();
|
|
5113
5154
|
}
|
|
5114
5155
|
}
|
|
5115
|
-
onModelChange(value) {
|
|
5116
|
-
clearTimeout(this.timeoutReference);
|
|
5117
|
-
if (value === undefined || value === null || !!value) {
|
|
5118
|
-
this.updateNgModel(value);
|
|
5119
|
-
}
|
|
5120
|
-
else {
|
|
5121
|
-
this.timeoutReference = setTimeout(() => {
|
|
5122
|
-
this.updateNgModel(null);
|
|
5123
|
-
}, 0);
|
|
5124
|
-
}
|
|
5125
|
-
}
|
|
5126
5156
|
acceptedKeysForNumber(event) {
|
|
5127
5157
|
const key = event.key;
|
|
5128
5158
|
return ([
|
|
@@ -5497,7 +5527,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
|
|
|
5497
5527
|
}]
|
|
5498
5528
|
}], ctorParameters: () => [{ type: SessionInfo }, { type: GesdemEventService }, { type: GesdemHandlerService }] });
|
|
5499
5529
|
|
|
5500
|
-
const supportedBrowsers = /Edge?\/(13[
|
|
5530
|
+
const supportedBrowsers = /Edge?\/(13[89]|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Firefox\/(12[89]|1[3-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Chrom(ium|e)\/(109|1[1-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|(Maci|X1{2}).+ Version\/(18\.([4-9]|\d{2,})|(19|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(12\d|1[3-9]\d|[2-9]\d{2}|\d{4,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(18[._]([4-9]|\d{2,})|(19|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Opera Mini|Android:?[ /-](139|1[4-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(14[2-9]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(139|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+(UC? ?Browser|UCWEB|U3)[ /]?(15\.([5-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})\.\d+)\.\d+|SamsungBrowser\/(2[7-9]|[3-9]\d|\d{3,})\.\d+|Android.+MQ{2}Browser\/(14(\.(9|\d{2,})|)|(1[5-9]|[2-9]\d|\d{3,})(\.\d+|))(\.\d+|)|K[Aa][Ii]OS\/(2\.([5-9]|\d{2,})|([3-9]|\d{2,})\.\d+)(\.\d+|)/;
|
|
5501
5531
|
|
|
5502
5532
|
class FoehnPageModalService {
|
|
5503
5533
|
constructor(applicationInfoService) {
|
|
@@ -6346,6 +6376,10 @@ class FoehnCheckableGroupComponent extends FoehnInputComponent {
|
|
|
6346
6376
|
this.updateNgModel(this.model_);
|
|
6347
6377
|
});
|
|
6348
6378
|
}
|
|
6379
|
+
// Check if we need to disable component because all it's elements are disabled
|
|
6380
|
+
if (this.elements?.length && !this.disabled) {
|
|
6381
|
+
this.disabled = this.elements.every((elem) => !!this.getDisabled(elem));
|
|
6382
|
+
}
|
|
6349
6383
|
this.groupedElements = this.getGroupedElements();
|
|
6350
6384
|
}
|
|
6351
6385
|
getGroupedElements() {
|
|
@@ -6492,7 +6526,7 @@ class FoehnSelectComponent extends FoehnCheckableGroupComponent {
|
|
|
6492
6526
|
useExisting: forwardRef(() => FoehnSelectComponent),
|
|
6493
6527
|
multi: true
|
|
6494
6528
|
}
|
|
6495
|
-
], usesInheritance: true, ngImport: i0, template: "<div\n class=\"form-group\"\n [class.has-danger]=\"hasErrorsToDisplay()\"\n [class.vd-form-group-danger]=\"hasErrorsToDisplay()\"\n [attr.id]=\"buildId('Container')\"\n tabindex=\"-1\"\n>\n <div class=\"d-flex justify-content-between\">\n <label\n class=\"form-label\"\n [attr.for]=\"buildChildId()\"\n *ngIf=\"!!label\"\n [ngClass]=\"isLabelSrOnly ? 'visually-hidden' : labelStyleModifier\"\n >\n <span [innerHTML]=\"label\"></span>\n <span\n *ngIf=\"!required && !hideNotRequiredExtraLabel\"\n aria-hidden=\"true\"\n >\n {{ 'foehn-input.optional' | fromDictionary }}\n </span>\n </label>\n <foehn-help-modal\n class=\"removePaddingButton\"\n *ngIf=\"!!helpModal\"\n [modalContent]=\"helpModal\"\n ></foehn-help-modal>\n </div>\n\n <foehn-validation-alerts [component]=\"this\"></foehn-validation-alerts>\n\n <div *ngIf=\"!elements\">Chargement...</div>\n\n <small\n *ngIf=\"helpText\"\n [attr.id]=\"buildChildId() + 'Help'\"\n class=\"form-text text-secondary\"\n [innerHTML]=\"helpText\"\n ></small>\n\n <ng-content></ng-content>\n\n <select\n *ngIf=\"!multiple\"\n [class.is-invalid]=\"hasErrorsToDisplay() || hasInheritErrorFromParent()\"\n class=\"form-select\"\n [name]=\"name || label\"\n [attr.id]=\"buildChildId()\"\n [attr.disabled]=\"disabled ? 'disabled' : null\"\n [attr.aria-describedby]=\"getDescribedBy()\"\n [attr.aria-invalid]=\"hasErrorsToDisplay() || null\"\n [attr.aria-required]=\"required || null\"\n [attr.autocomplete]=\"getAutoComplete()\"\n [ngModel]=\"model\"\n (ngModelChange)=\"updateNgModel($event)\"\n [compareWith]=\"compareFn.bind(this)\"\n (change)=\"handleChange(model)\"\n #entryComponent\n ngDefaultControl\n >\n <option *ngIf=\"showEmptyOption()\" [ngValue]=\"null\">\n <!-- empty option displayed even if required=true as long as there's no model to fix https://github.com/angular/angular/issues/14505 -->\n </option>\n <option *ngIf=\"!required\" [ngValue]=\"null\">\n {{ noSelectionLabel | fromDictionary }}\n </option>\n <option\n *ngFor=\"let element of elements\"\n [ngValue]=\"getValue(element)\"\n [attr.selected]=\"isElementSelected(element) ? 'selected' : null\"\n [attr.disabled]=\"getDisabled(element) ? 'disabled' : null\"\n >\n {{ getLabel(element) }}\n </option>\n </select>\n <select\n *ngIf=\"multiple\"\n multiple\n [attr.aria-multiselectable]=\"true\"\n [class.is-invalid]=\"hasErrorsToDisplay() || hasInheritErrorFromParent()\"\n class=\"form-select\"\n [name]=\"name || label\"\n [attr.id]=\"buildChildId()\"\n [attr.disabled]=\"disabled ? 'disabled' : null\"\n [attr.aria-describedby]=\"getDescribedBy()\"\n [attr.aria-invalid]=\"hasErrorsToDisplay() || null\"\n [attr.aria-required]=\"required || null\"\n [ngModel]=\"model\"\n (ngModelChange)=\"updateNgModel($event)\"\n [compareWith]=\"compareFn.bind(this)\"\n (change)=\"handleChange(model)\"\n #entryComponent\n ngDefaultControl\n >\n <option\n *ngFor=\"let element of elements\"\n [ngValue]=\"getValue(element)\"\n [attr.selected]=\"isElementSelected(element) ? 'selected' : null\"\n [attr.aria-selected]=\"isElementSelected(element)\"\n >\n {{ getLabel(element) }}\n </option>\n </select>\n</div>\n", styles: [".form-group select{appearance:none}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i3.SelectMultipleControlValueAccessor, selector: "select[multiple][formControlName],select[multiple][formControl],select[multiple][ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: FoehnValidationAlertsComponent, selector: "foehn-validation-alerts", inputs: ["component", "shouldErrorsBeLive"] }, { kind: "component", type: FoehnHelpModalComponent, selector: "foehn-help-modal", inputs: ["modalContent"] }, { kind: "pipe", type: SdkDictionaryPipe, name: "fromDictionary" }] }); }
|
|
6529
|
+
], usesInheritance: true, ngImport: i0, template: "<div\n class=\"form-group\"\n [class.has-danger]=\"hasErrorsToDisplay()\"\n [class.vd-form-group-danger]=\"hasErrorsToDisplay()\"\n [attr.id]=\"buildId('Container')\"\n tabindex=\"-1\"\n>\n <div class=\"d-flex justify-content-between\">\n <label\n class=\"form-label\"\n [attr.for]=\"buildChildId()\"\n *ngIf=\"!!label\"\n [ngClass]=\"isLabelSrOnly ? 'visually-hidden' : labelStyleModifier\"\n >\n <span [innerHTML]=\"label\"></span>\n <span\n *ngIf=\"!required && !hideNotRequiredExtraLabel\"\n aria-hidden=\"true\"\n >\n {{ 'foehn-input.optional' | fromDictionary }}\n </span>\n </label>\n <foehn-help-modal\n class=\"removePaddingButton\"\n *ngIf=\"!!helpModal\"\n [modalContent]=\"helpModal\"\n ></foehn-help-modal>\n </div>\n\n <foehn-validation-alerts [component]=\"this\"></foehn-validation-alerts>\n\n <div *ngIf=\"!elements\">Chargement...</div>\n\n <small\n *ngIf=\"helpText\"\n [attr.id]=\"buildChildId() + 'Help'\"\n class=\"form-text text-secondary\"\n [innerHTML]=\"helpText\"\n ></small>\n\n <ng-content></ng-content>\n\n <select\n *ngIf=\"!multiple\"\n [class.is-invalid]=\"hasErrorsToDisplay() || hasInheritErrorFromParent()\"\n class=\"form-select\"\n [name]=\"name || label\"\n [attr.id]=\"buildChildId()\"\n [attr.disabled]=\"disabled ? 'disabled' : null\"\n [attr.aria-describedby]=\"getDescribedBy()\"\n [attr.aria-invalid]=\"hasErrorsToDisplay() || null\"\n [attr.aria-required]=\"required || null\"\n [attr.autocomplete]=\"getAutoComplete()\"\n [ngModel]=\"model\"\n (ngModelChange)=\"updateNgModel($event)\"\n [compareWith]=\"compareFn.bind(this)\"\n (change)=\"handleChange(model)\"\n #entryComponent\n ngDefaultControl\n >\n <option *ngIf=\"showEmptyOption()\" [ngValue]=\"null\">\n <!-- empty option displayed even if required=true as long as there's no model to fix https://github.com/angular/angular/issues/14505 -->\n </option>\n <option *ngIf=\"!required\" [ngValue]=\"null\">\n {{ noSelectionLabel | fromDictionary }}\n </option>\n <option\n *ngFor=\"let element of elements\"\n [ngValue]=\"getValue(element)\"\n [attr.selected]=\"isElementSelected(element) ? 'selected' : null\"\n [attr.disabled]=\"getDisabled(element) ? 'disabled' : null\"\n >\n {{ getLabel(element) }}\n </option>\n </select>\n <select\n *ngIf=\"multiple\"\n multiple\n [attr.aria-multiselectable]=\"true\"\n [class.is-invalid]=\"hasErrorsToDisplay() || hasInheritErrorFromParent()\"\n class=\"form-select\"\n [name]=\"name || label\"\n [attr.id]=\"buildChildId()\"\n [attr.disabled]=\"disabled ? 'disabled' : null\"\n [attr.aria-describedby]=\"getDescribedBy()\"\n [attr.aria-invalid]=\"hasErrorsToDisplay() || null\"\n [attr.aria-required]=\"required || null\"\n [ngModel]=\"model\"\n (ngModelChange)=\"updateNgModel($event)\"\n [compareWith]=\"compareFn.bind(this)\"\n (change)=\"handleChange(model)\"\n #entryComponent\n ngDefaultControl\n >\n <option\n *ngFor=\"let element of elements\"\n [ngValue]=\"getValue(element)\"\n [attr.selected]=\"isElementSelected(element) ? 'selected' : null\"\n [attr.aria-selected]=\"isElementSelected(element)\"\n [attr.disabled]=\"getDisabled(element) ? 'disabled' : null\"\n >\n {{ getLabel(element) }}\n </option>\n </select>\n</div>\n", styles: [".form-group select{appearance:none}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i3.SelectMultipleControlValueAccessor, selector: "select[multiple][formControlName],select[multiple][formControl],select[multiple][ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: FoehnValidationAlertsComponent, selector: "foehn-validation-alerts", inputs: ["component", "shouldErrorsBeLive"] }, { kind: "component", type: FoehnHelpModalComponent, selector: "foehn-help-modal", inputs: ["modalContent"] }, { kind: "pipe", type: SdkDictionaryPipe, name: "fromDictionary" }] }); }
|
|
6496
6530
|
}
|
|
6497
6531
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FoehnSelectComponent, decorators: [{
|
|
6498
6532
|
type: Component,
|
|
@@ -6502,7 +6536,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
|
|
|
6502
6536
|
useExisting: forwardRef(() => FoehnSelectComponent),
|
|
6503
6537
|
multi: true
|
|
6504
6538
|
}
|
|
6505
|
-
], standalone: false, template: "<div\n class=\"form-group\"\n [class.has-danger]=\"hasErrorsToDisplay()\"\n [class.vd-form-group-danger]=\"hasErrorsToDisplay()\"\n [attr.id]=\"buildId('Container')\"\n tabindex=\"-1\"\n>\n <div class=\"d-flex justify-content-between\">\n <label\n class=\"form-label\"\n [attr.for]=\"buildChildId()\"\n *ngIf=\"!!label\"\n [ngClass]=\"isLabelSrOnly ? 'visually-hidden' : labelStyleModifier\"\n >\n <span [innerHTML]=\"label\"></span>\n <span\n *ngIf=\"!required && !hideNotRequiredExtraLabel\"\n aria-hidden=\"true\"\n >\n {{ 'foehn-input.optional' | fromDictionary }}\n </span>\n </label>\n <foehn-help-modal\n class=\"removePaddingButton\"\n *ngIf=\"!!helpModal\"\n [modalContent]=\"helpModal\"\n ></foehn-help-modal>\n </div>\n\n <foehn-validation-alerts [component]=\"this\"></foehn-validation-alerts>\n\n <div *ngIf=\"!elements\">Chargement...</div>\n\n <small\n *ngIf=\"helpText\"\n [attr.id]=\"buildChildId() + 'Help'\"\n class=\"form-text text-secondary\"\n [innerHTML]=\"helpText\"\n ></small>\n\n <ng-content></ng-content>\n\n <select\n *ngIf=\"!multiple\"\n [class.is-invalid]=\"hasErrorsToDisplay() || hasInheritErrorFromParent()\"\n class=\"form-select\"\n [name]=\"name || label\"\n [attr.id]=\"buildChildId()\"\n [attr.disabled]=\"disabled ? 'disabled' : null\"\n [attr.aria-describedby]=\"getDescribedBy()\"\n [attr.aria-invalid]=\"hasErrorsToDisplay() || null\"\n [attr.aria-required]=\"required || null\"\n [attr.autocomplete]=\"getAutoComplete()\"\n [ngModel]=\"model\"\n (ngModelChange)=\"updateNgModel($event)\"\n [compareWith]=\"compareFn.bind(this)\"\n (change)=\"handleChange(model)\"\n #entryComponent\n ngDefaultControl\n >\n <option *ngIf=\"showEmptyOption()\" [ngValue]=\"null\">\n <!-- empty option displayed even if required=true as long as there's no model to fix https://github.com/angular/angular/issues/14505 -->\n </option>\n <option *ngIf=\"!required\" [ngValue]=\"null\">\n {{ noSelectionLabel | fromDictionary }}\n </option>\n <option\n *ngFor=\"let element of elements\"\n [ngValue]=\"getValue(element)\"\n [attr.selected]=\"isElementSelected(element) ? 'selected' : null\"\n [attr.disabled]=\"getDisabled(element) ? 'disabled' : null\"\n >\n {{ getLabel(element) }}\n </option>\n </select>\n <select\n *ngIf=\"multiple\"\n multiple\n [attr.aria-multiselectable]=\"true\"\n [class.is-invalid]=\"hasErrorsToDisplay() || hasInheritErrorFromParent()\"\n class=\"form-select\"\n [name]=\"name || label\"\n [attr.id]=\"buildChildId()\"\n [attr.disabled]=\"disabled ? 'disabled' : null\"\n [attr.aria-describedby]=\"getDescribedBy()\"\n [attr.aria-invalid]=\"hasErrorsToDisplay() || null\"\n [attr.aria-required]=\"required || null\"\n [ngModel]=\"model\"\n (ngModelChange)=\"updateNgModel($event)\"\n [compareWith]=\"compareFn.bind(this)\"\n (change)=\"handleChange(model)\"\n #entryComponent\n ngDefaultControl\n >\n <option\n *ngFor=\"let element of elements\"\n [ngValue]=\"getValue(element)\"\n [attr.selected]=\"isElementSelected(element) ? 'selected' : null\"\n [attr.aria-selected]=\"isElementSelected(element)\"\n >\n {{ getLabel(element) }}\n </option>\n </select>\n</div>\n", styles: [".form-group select{appearance:none}\n"] }]
|
|
6539
|
+
], standalone: false, template: "<div\n class=\"form-group\"\n [class.has-danger]=\"hasErrorsToDisplay()\"\n [class.vd-form-group-danger]=\"hasErrorsToDisplay()\"\n [attr.id]=\"buildId('Container')\"\n tabindex=\"-1\"\n>\n <div class=\"d-flex justify-content-between\">\n <label\n class=\"form-label\"\n [attr.for]=\"buildChildId()\"\n *ngIf=\"!!label\"\n [ngClass]=\"isLabelSrOnly ? 'visually-hidden' : labelStyleModifier\"\n >\n <span [innerHTML]=\"label\"></span>\n <span\n *ngIf=\"!required && !hideNotRequiredExtraLabel\"\n aria-hidden=\"true\"\n >\n {{ 'foehn-input.optional' | fromDictionary }}\n </span>\n </label>\n <foehn-help-modal\n class=\"removePaddingButton\"\n *ngIf=\"!!helpModal\"\n [modalContent]=\"helpModal\"\n ></foehn-help-modal>\n </div>\n\n <foehn-validation-alerts [component]=\"this\"></foehn-validation-alerts>\n\n <div *ngIf=\"!elements\">Chargement...</div>\n\n <small\n *ngIf=\"helpText\"\n [attr.id]=\"buildChildId() + 'Help'\"\n class=\"form-text text-secondary\"\n [innerHTML]=\"helpText\"\n ></small>\n\n <ng-content></ng-content>\n\n <select\n *ngIf=\"!multiple\"\n [class.is-invalid]=\"hasErrorsToDisplay() || hasInheritErrorFromParent()\"\n class=\"form-select\"\n [name]=\"name || label\"\n [attr.id]=\"buildChildId()\"\n [attr.disabled]=\"disabled ? 'disabled' : null\"\n [attr.aria-describedby]=\"getDescribedBy()\"\n [attr.aria-invalid]=\"hasErrorsToDisplay() || null\"\n [attr.aria-required]=\"required || null\"\n [attr.autocomplete]=\"getAutoComplete()\"\n [ngModel]=\"model\"\n (ngModelChange)=\"updateNgModel($event)\"\n [compareWith]=\"compareFn.bind(this)\"\n (change)=\"handleChange(model)\"\n #entryComponent\n ngDefaultControl\n >\n <option *ngIf=\"showEmptyOption()\" [ngValue]=\"null\">\n <!-- empty option displayed even if required=true as long as there's no model to fix https://github.com/angular/angular/issues/14505 -->\n </option>\n <option *ngIf=\"!required\" [ngValue]=\"null\">\n {{ noSelectionLabel | fromDictionary }}\n </option>\n <option\n *ngFor=\"let element of elements\"\n [ngValue]=\"getValue(element)\"\n [attr.selected]=\"isElementSelected(element) ? 'selected' : null\"\n [attr.disabled]=\"getDisabled(element) ? 'disabled' : null\"\n >\n {{ getLabel(element) }}\n </option>\n </select>\n <select\n *ngIf=\"multiple\"\n multiple\n [attr.aria-multiselectable]=\"true\"\n [class.is-invalid]=\"hasErrorsToDisplay() || hasInheritErrorFromParent()\"\n class=\"form-select\"\n [name]=\"name || label\"\n [attr.id]=\"buildChildId()\"\n [attr.disabled]=\"disabled ? 'disabled' : null\"\n [attr.aria-describedby]=\"getDescribedBy()\"\n [attr.aria-invalid]=\"hasErrorsToDisplay() || null\"\n [attr.aria-required]=\"required || null\"\n [ngModel]=\"model\"\n (ngModelChange)=\"updateNgModel($event)\"\n [compareWith]=\"compareFn.bind(this)\"\n (change)=\"handleChange(model)\"\n #entryComponent\n ngDefaultControl\n >\n <option\n *ngFor=\"let element of elements\"\n [ngValue]=\"getValue(element)\"\n [attr.selected]=\"isElementSelected(element) ? 'selected' : null\"\n [attr.aria-selected]=\"isElementSelected(element)\"\n [attr.disabled]=\"getDisabled(element) ? 'disabled' : null\"\n >\n {{ getLabel(element) }}\n </option>\n </select>\n</div>\n", styles: [".form-group select{appearance:none}\n"] }]
|
|
6506
6540
|
}], ctorParameters: () => [{ type: i0.NgZone }], propDecorators: { multiple: [{
|
|
6507
6541
|
type: Input
|
|
6508
6542
|
}], noSelectionLabel: [{
|
|
@@ -10683,6 +10717,13 @@ class FoehnDateComponent extends FoehnInputComponent {
|
|
|
10683
10717
|
this.childrenLabelSrOnly = false;
|
|
10684
10718
|
this.clearButton = true;
|
|
10685
10719
|
}
|
|
10720
|
+
get disabled() {
|
|
10721
|
+
return (super.disabled ||
|
|
10722
|
+
(this.disableDay && this.disableMonth && this.disableYear));
|
|
10723
|
+
}
|
|
10724
|
+
set disabled(value) {
|
|
10725
|
+
super.disabled = value;
|
|
10726
|
+
}
|
|
10686
10727
|
updateDate() {
|
|
10687
10728
|
const validValue = this.getValidValue();
|
|
10688
10729
|
if (typeof validValue !== 'undefined') {
|
|
@@ -10722,7 +10763,7 @@ class FoehnDateComponent extends FoehnInputComponent {
|
|
|
10722
10763
|
}
|
|
10723
10764
|
displayClearButton() {
|
|
10724
10765
|
// Override the clear button fonction not worry about the model at this stage.
|
|
10725
|
-
const visible = this.clearButton && !this.
|
|
10766
|
+
const visible = this.clearButton && !this.disabled;
|
|
10726
10767
|
return of(visible);
|
|
10727
10768
|
}
|
|
10728
10769
|
getValidValue() {
|
|
@@ -10740,13 +10781,13 @@ class FoehnDateComponent extends FoehnInputComponent {
|
|
|
10740
10781
|
}
|
|
10741
10782
|
shouldDisplayDatePicker() {
|
|
10742
10783
|
return (!this.hideDatePickerButton &&
|
|
10743
|
-
!
|
|
10784
|
+
!super.disabled &&
|
|
10744
10785
|
!this.disableYear &&
|
|
10745
10786
|
!this.disableMonth &&
|
|
10746
10787
|
!this.disableDay);
|
|
10747
10788
|
}
|
|
10748
10789
|
resetModel() {
|
|
10749
|
-
if (this.
|
|
10790
|
+
if (this.disabled) {
|
|
10750
10791
|
return;
|
|
10751
10792
|
}
|
|
10752
10793
|
if (!this.disableYear) {
|
|
@@ -10782,10 +10823,6 @@ class FoehnDateComponent extends FoehnInputComponent {
|
|
|
10782
10823
|
const yearEmptyOrDisabled = this.disableYear || super.isEmpty(this.year);
|
|
10783
10824
|
return (dayEmptyOrDisabled && monthEmptyOrDisabled && yearEmptyOrDisabled);
|
|
10784
10825
|
}
|
|
10785
|
-
isDisabled() {
|
|
10786
|
-
return (this.disabled ||
|
|
10787
|
-
(this.disableDay && this.disableMonth && this.disableYear));
|
|
10788
|
-
}
|
|
10789
10826
|
toNumber(str) {
|
|
10790
10827
|
return str ? Number(str) : null;
|
|
10791
10828
|
}
|
|
@@ -10793,7 +10830,7 @@ class FoehnDateComponent extends FoehnInputComponent {
|
|
|
10793
10830
|
return num ? num.toString() : null;
|
|
10794
10831
|
}
|
|
10795
10832
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FoehnDateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10796
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: FoehnDateComponent, isStandalone: false, selector: "foehn-input-date", inputs: { disableDay: "disableDay", disableMonth: "disableMonth", disableYear: "disableYear", minDate: "minDate", maxDate: "maxDate", hideDatePickerButton: "hideDatePickerButton", childrenLabelSrOnly: "childrenLabelSrOnly" }, providers: [
|
|
10833
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: FoehnDateComponent, isStandalone: false, selector: "foehn-input-date", inputs: { disableDay: "disableDay", disableMonth: "disableMonth", disableYear: "disableYear", minDate: "minDate", maxDate: "maxDate", hideDatePickerButton: "hideDatePickerButton", childrenLabelSrOnly: "childrenLabelSrOnly", disabled: "disabled" }, providers: [
|
|
10797
10834
|
{
|
|
10798
10835
|
provide: FoehnInputComponent,
|
|
10799
10836
|
useExisting: forwardRef(() => FoehnDateComponent),
|
|
@@ -10824,6 +10861,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
|
|
|
10824
10861
|
type: Input
|
|
10825
10862
|
}], childrenLabelSrOnly: [{
|
|
10826
10863
|
type: Input
|
|
10864
|
+
}], disabled: [{
|
|
10865
|
+
type: Input
|
|
10827
10866
|
}] } });
|
|
10828
10867
|
|
|
10829
10868
|
class FoehnTimeComponent extends FoehnInputStringComponent {
|
|
@@ -11066,7 +11105,7 @@ class FoehnDateTimeComponent extends FoehnInputComponent {
|
|
|
11066
11105
|
useExisting: forwardRef(() => FoehnDateTimeComponent),
|
|
11067
11106
|
multi: true
|
|
11068
11107
|
}
|
|
11069
|
-
], usesInheritance: true, ngImport: i0, template: "<div\n class=\"form-group\"\n [class.has-danger]=\"hasErrorsToDisplay()\"\n [class.vd-form-group-danger]=\"hasErrorsToDisplay()\"\n [attr.id]=\"buildId('Container')\"\n tabindex=\"-1\"\n>\n <fieldset\n [attr.aria-describedby]=\"getDescribedBy()\"\n [attr.aria-invalid]=\"hasErrorsToDisplay() || null\"\n >\n <legend\n *ngIf=\"!!label\"\n [ngClass]=\"isLabelSrOnly ? 'visually-hidden' : 'vd-p'\"\n >\n <span [innerHTML]=\"label\"></span>\n <span\n *ngIf=\"!required && !hideNotRequiredExtraLabel\"\n aria-hidden=\"true\"\n >\n {{ 'foehn-input.optional' | fromDictionary }}\n </span>\n </legend>\n\n <foehn-validation-alerts [component]=\"this\"></foehn-validation-alerts>\n\n <small\n *ngIf=\"helpText\"\n [attr.id]=\"buildId() + 'Help'\"\n class=\"text-secondary\"\n [innerHTML]=\"helpText\"\n ></small>\n\n <ng-content></ng-content>\n\n <div class=\"row\">\n <div\n [attr.id]=\"buildId() + 'MainColumn'\"\n [ngClass]=\"\n shouldDisplayDatePicker()\n ? 'col-lg-9 col-md-11'\n : 'col-lg-8 col-md-10'\n \"\n >\n <div class=\"row\">\n <div\n [attr.id]=\"buildId() + 'DateColumn'\"\n class=\"col-md-7 pe-0\"\n >\n <foehn-input-date\n [id]=\"buildId() + '_date'\"\n [name]=\"name + '_date'\"\n [(model)]=\"date\"\n [disableDay]=\"disableDay\"\n [disableMonth]=\"disableMonth\"\n [disableYear]=\"disableYear\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [hideDatePickerButton]=\"hideDatePickerButton\"\n (userInput)=\"handleUserInputDate()\"\n [disabled]=\"disabled\"\n [hideNotRequiredExtraLabel]=\"true\"\n [isLabelSrOnly]=\"isLabelSrOnly\"\n [childrenLabelSrOnly]=\"childrenLabelSrOnly\"\n [clearButton]=\"false\"\n #entryComponent\n ></foehn-input-date>\n </div>\n <div\n [attr.id]=\"buildId() + 'TimeColumn'\"\n class=\"col-md-5 px-md-0 mt-md-0 mt-xs-2 d-flex\"\n >\n <foehn-input-time\n [id]=\"buildId() + '_time'\"\n [name]=\"name + '_time'\"\n [(model)]=\"time\"\n (modelChange)=\"timeModelChange($event)\"\n (userInput)=\"handleUserInputTime($event)\"\n [disabled]=\"disabled\"\n [hideNotRequiredExtraLabel]=\"true\"\n [isLabelSrOnly]=\"isLabelSrOnly\"\n [childrenLabelSrOnly]=\"childrenLabelSrOnly\"\n [clearButton]=\"false\"\n ></foehn-input-time>\n <div\n class=\"align-self-center position-relative w-100\"\n *ngIf=\"\n !isEmptyDependingOnDisabled() &&\n (displayClearButton() | async)\n \"\n >\n <button\n [id]=\"buildId() + '_clearButton'\"\n type=\"button\"\n class=\"clear-button btn btn-link d-flex\"\n (click)=\"resetModel()\"\n >\n <foehn-icon-times\n [title]=\"\n 'foehn-input.clear-button.label'\n | fromDictionary\n \"\n ></foehn-icon-times>\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n </fieldset>\n</div>\n", styles: [":host ::ng-deep .clear-button.btn .svg-inline--fa{font-size:1.5rem;color:#000!important}:host ::ng-deep foehn-input-date>div.form-group,:host ::ng-deep foehn-input-time>div.form-group{margin-bottom:0!important}\n"], dependencies: [{ kind: "component", type: FoehnIconTimesComponent, selector: "foehn-icon-times" }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FoehnValidationAlertsComponent, selector: "foehn-validation-alerts", inputs: ["component", "shouldErrorsBeLive"] }, { kind: "component", type: FoehnDateComponent, selector: "foehn-input-date", inputs: ["disableDay", "disableMonth", "disableYear", "minDate", "maxDate", "hideDatePickerButton", "childrenLabelSrOnly"] }, { kind: "component", type: FoehnTimeComponent, selector: "foehn-input-time", inputs: ["childrenLabelSrOnly"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: SdkDictionaryPipe, name: "fromDictionary" }] }); }
|
|
11108
|
+
], usesInheritance: true, ngImport: i0, template: "<div\n class=\"form-group\"\n [class.has-danger]=\"hasErrorsToDisplay()\"\n [class.vd-form-group-danger]=\"hasErrorsToDisplay()\"\n [attr.id]=\"buildId('Container')\"\n tabindex=\"-1\"\n>\n <fieldset\n [attr.aria-describedby]=\"getDescribedBy()\"\n [attr.aria-invalid]=\"hasErrorsToDisplay() || null\"\n >\n <legend\n *ngIf=\"!!label\"\n [ngClass]=\"isLabelSrOnly ? 'visually-hidden' : 'vd-p'\"\n >\n <span [innerHTML]=\"label\"></span>\n <span\n *ngIf=\"!required && !hideNotRequiredExtraLabel\"\n aria-hidden=\"true\"\n >\n {{ 'foehn-input.optional' | fromDictionary }}\n </span>\n </legend>\n\n <foehn-validation-alerts [component]=\"this\"></foehn-validation-alerts>\n\n <small\n *ngIf=\"helpText\"\n [attr.id]=\"buildId() + 'Help'\"\n class=\"text-secondary\"\n [innerHTML]=\"helpText\"\n ></small>\n\n <ng-content></ng-content>\n\n <div class=\"row\">\n <div\n [attr.id]=\"buildId() + 'MainColumn'\"\n [ngClass]=\"\n shouldDisplayDatePicker()\n ? 'col-lg-9 col-md-11'\n : 'col-lg-8 col-md-10'\n \"\n >\n <div class=\"row\">\n <div\n [attr.id]=\"buildId() + 'DateColumn'\"\n class=\"col-md-7 pe-0\"\n >\n <foehn-input-date\n [id]=\"buildId() + '_date'\"\n [name]=\"name + '_date'\"\n [(model)]=\"date\"\n [disableDay]=\"disableDay\"\n [disableMonth]=\"disableMonth\"\n [disableYear]=\"disableYear\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [hideDatePickerButton]=\"hideDatePickerButton\"\n (userInput)=\"handleUserInputDate()\"\n [disabled]=\"disabled\"\n [hideNotRequiredExtraLabel]=\"true\"\n [isLabelSrOnly]=\"isLabelSrOnly\"\n [childrenLabelSrOnly]=\"childrenLabelSrOnly\"\n [clearButton]=\"false\"\n #entryComponent\n ></foehn-input-date>\n </div>\n <div\n [attr.id]=\"buildId() + 'TimeColumn'\"\n class=\"col-md-5 px-md-0 mt-md-0 mt-xs-2 d-flex\"\n >\n <foehn-input-time\n [id]=\"buildId() + '_time'\"\n [name]=\"name + '_time'\"\n [(model)]=\"time\"\n (modelChange)=\"timeModelChange($event)\"\n (userInput)=\"handleUserInputTime($event)\"\n [disabled]=\"disabled\"\n [hideNotRequiredExtraLabel]=\"true\"\n [isLabelSrOnly]=\"isLabelSrOnly\"\n [childrenLabelSrOnly]=\"childrenLabelSrOnly\"\n [clearButton]=\"false\"\n ></foehn-input-time>\n <div\n class=\"align-self-center position-relative w-100\"\n *ngIf=\"\n !isEmptyDependingOnDisabled() &&\n (displayClearButton() | async)\n \"\n >\n <button\n [id]=\"buildId() + '_clearButton'\"\n type=\"button\"\n class=\"clear-button btn btn-link d-flex\"\n (click)=\"resetModel()\"\n >\n <foehn-icon-times\n [title]=\"\n 'foehn-input.clear-button.label'\n | fromDictionary\n \"\n ></foehn-icon-times>\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n </fieldset>\n</div>\n", styles: [":host ::ng-deep .clear-button.btn .svg-inline--fa{font-size:1.5rem;color:#000!important}:host ::ng-deep foehn-input-date>div.form-group,:host ::ng-deep foehn-input-time>div.form-group{margin-bottom:0!important}\n"], dependencies: [{ kind: "component", type: FoehnIconTimesComponent, selector: "foehn-icon-times" }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FoehnValidationAlertsComponent, selector: "foehn-validation-alerts", inputs: ["component", "shouldErrorsBeLive"] }, { kind: "component", type: FoehnDateComponent, selector: "foehn-input-date", inputs: ["disableDay", "disableMonth", "disableYear", "minDate", "maxDate", "hideDatePickerButton", "childrenLabelSrOnly", "disabled"] }, { kind: "component", type: FoehnTimeComponent, selector: "foehn-input-time", inputs: ["childrenLabelSrOnly"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: SdkDictionaryPipe, name: "fromDictionary" }] }); }
|
|
11070
11109
|
}
|
|
11071
11110
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FoehnDateTimeComponent, decorators: [{
|
|
11072
11111
|
type: Component,
|
|
@@ -11334,9 +11373,12 @@ class FoehnInputPrefixedTextComponent extends FoehnInputStringComponent {
|
|
|
11334
11373
|
this.prefixSubject = new BehaviorSubject(DEFAULT_PREFIX);
|
|
11335
11374
|
this.modelSubject = new BehaviorSubject(undefined);
|
|
11336
11375
|
this.textSubject = new BehaviorSubject(undefined);
|
|
11337
|
-
this.text = this.textSubject
|
|
11338
|
-
.
|
|
11339
|
-
|
|
11376
|
+
this.text = this.textSubject.asObservable().pipe(map(text => {
|
|
11377
|
+
if (this.trimOnBlur) {
|
|
11378
|
+
return this.isEmptyWhenTrimmedIfString(text) ? null : text;
|
|
11379
|
+
}
|
|
11380
|
+
return text;
|
|
11381
|
+
}), tap$1(() => this.updateFullText()));
|
|
11340
11382
|
this.prefixModelSubscription = combineLatest([
|
|
11341
11383
|
this.prefixSubject.asObservable(),
|
|
11342
11384
|
this.modelSubject.asObservable()
|