@dsivd/prestations-ng 14.5.14 → 14.5.16

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.
Files changed (36) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/README.md +2 -0
  3. package/bundles/dsivd-prestations-ng.umd.js +61 -36
  4. package/bundles/dsivd-prestations-ng.umd.js.map +1 -1
  5. package/dsivd-prestations-ng-v14.5.16.tgz +0 -0
  6. package/esm2015/foehn-list/foehn-list.component.js +13 -12
  7. package/esm2015/foehn-page/foehn-page.component.js +4 -2
  8. package/esm2015/foehn-table/foehn-table.component.js +12 -7
  9. package/esm2015/foehn-table/tableSort.js +1 -1
  10. package/esm2015/foehn-upload/foehn-bo-multi-upload/bo-multi-upload.service.js +4 -3
  11. package/esm2015/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.component.js +6 -3
  12. package/esm2015/foehn-upload/foehn-multi-upload/foehn-multi-upload.component.js +7 -4
  13. package/esm2015/foehn-upload/foehn-multi-upload/multi-upload.service.js +4 -3
  14. package/esm2015/foehn-upload/foehn-multi-upload/pending-upload.service.js +4 -3
  15. package/esm2015/foehn-upload/foehn-picture-upload/foehn-picture-upload.component.js +6 -3
  16. package/esm2015/foehn-upload/pending-upload.type.js +1 -1
  17. package/esm2015/gesdem-confirmation/gesdem-confirmation.component.js +2 -2
  18. package/esm2015/sdk-dictionary/default-dictionary.js +2 -1
  19. package/esm2015/sdk-support-alert/support-alert-container.component.js +5 -2
  20. package/esm2015/sdk-support-alert/support-alert.service.js +7 -4
  21. package/fesm2015/dsivd-prestations-ng.js +61 -36
  22. package/fesm2015/dsivd-prestations-ng.js.map +1 -1
  23. package/foehn-list/foehn-list.component.d.ts +0 -1
  24. package/foehn-page/foehn-page.component.d.ts +2 -1
  25. package/foehn-table/tableSort.d.ts +1 -1
  26. package/foehn-upload/foehn-bo-multi-upload/bo-multi-upload.service.d.ts +1 -1
  27. package/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.component.d.ts +2 -1
  28. package/foehn-upload/foehn-multi-upload/foehn-multi-upload.component.d.ts +2 -1
  29. package/foehn-upload/foehn-multi-upload/multi-upload.service.d.ts +1 -1
  30. package/foehn-upload/foehn-multi-upload/pending-upload.service.d.ts +1 -1
  31. package/foehn-upload/foehn-picture-upload/foehn-picture-upload.component.d.ts +2 -1
  32. package/foehn-upload/pending-upload.type.d.ts +1 -0
  33. package/package.json +1 -1
  34. package/sdk-support-alert/support-alert-container.component.d.ts +2 -1
  35. package/sdk-support-alert/support-alert.service.d.ts +2 -1
  36. package/dsivd-prestations-ng-v14.5.14.tgz +0 -0
package/CHANGELOG.md CHANGED
@@ -26,6 +26,35 @@ A change is considered **breaking** if you have to change your code or update yo
26
26
 
27
27
  ---
28
28
 
29
+ ## [14.5.16]
30
+
31
+ ### Updated
32
+
33
+ - [support-alert.service.ts](projects/prestations-ng/src/sdk-support-alert/support-alert.service.ts)
34
+ - added `setRefreshIntervalInSeconds(refreshIntervalsInSeconds: number)` allowing to override the default refresh interval for support-alerts (default = 5 * 1000)
35
+ - [foehn-page.component.html](projects/prestations-ng/src/foehn-page/foehn-page.component.html)
36
+ - added `@Input() supportAlertRefreshIntervalsInSeconds: number` allowing to call SupportAlertService.setRefreshIntervalInSeconds()
37
+
38
+ ## [14.5.15]
39
+
40
+ ### Added
41
+
42
+ - [Autogenerated documentation](https://dsi-vd.github.io/prestations-ng/generateddoc)
43
+ - prestations-ng documentation generated automatically by `compodoc`
44
+
45
+ - [foehn-multi-upload.component.ts](projects/prestations-ng/src/foehn-upload/foehn-multi-upload/foehn-multi-upload.component.ts)
46
+ - [foehn-bo-multi-upload.component.ts](projects/prestations-ng/src/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.component.ts)
47
+ - Add possibility to hide confirmation message when a file is saved. Default is message is displayed. To change default value, add [shouldDisplayFileSavedConfirmation]="false" in your upload
48
+
49
+ - [gesdem-confirmation.component.html](projects/prestations-ng/src/gesdem-confirmation/gesdem-confirmation.component.html)
50
+ - `telechargerBtn` (Télécharger la demande (pdf)) is also shown to a connected user
51
+ - `logoutBtn` (Se déconnecter) is shown to a connected user instead of `terminerBtn` (Terminer)
52
+
53
+ ### Fixed
54
+
55
+ - [foehn-table.component.ts](projects/prestations-ng/src/foehn-table/foehn-table.component.ts)
56
+ - table content was not being refreshed when sorting column
57
+
29
58
  ## [14.5.14]
30
59
 
31
60
  ### Added
package/README.md CHANGED
@@ -4,6 +4,8 @@ Best practice guide online in our DSI WiKi at [https://portail.etat-de-vaud.ch/o
4
4
 
5
5
  An implementation of [Foehn](https://dsi-vd.github.io/foehn-design-system/) with Angular for [PrestaKit](https://www.vd.ch/prestakit/).
6
6
 
7
+ The generated documentation of our entire library is available online at [https://dsi-vd.github.io/prestations-ng/generateddoc](https://dsi-vd.github.io/prestations-ng/generateddoc)
8
+
7
9
  The documentation is available online at [https://dsi-vd.github.io/prestations-ng/](https://dsi-vd.github.io/prestations-ng/)
8
10
 
9
11
  - If you're using **Angular 12**, use `@dsivd/prestations-ng` at version `^14.5.0`.
@@ -1867,6 +1867,7 @@
1867
1867
  'gesdem-confirmation.mail-sent.label': 'Vous recevrez un email de confirmation dans quelques instants.',
1868
1868
  'gesdem-confirmation.download-pdf-recap-button': 'Télécharger la demande (pdf)',
1869
1869
  'gesdem-confirmation.exit-button': 'Terminer',
1870
+ 'gesdem-confirmation.logout-button': 'Se déconnecter',
1870
1871
  'gesdem-confirmation.extra-content': ' ',
1871
1872
  'foehn-date-picker-button.icon-title': 'Afficher le calendrier',
1872
1873
  'foehn-date-picker-button.screen-reader.selected-date': 'Date sélectionnée :',
@@ -2932,7 +2933,7 @@
2932
2933
  });
2933
2934
  this.uploaderHelper = new UploaderHelper(dictionaryService, applicationInfoService);
2934
2935
  }
2935
- MultiUploadService.prototype.uploadDocuments = function (baseUrl, formKey, label, files, key, isMultiple, language) {
2936
+ MultiUploadService.prototype.uploadDocuments = function (baseUrl, formKey, label, files, key, isMultiple, language, shouldDisplayFileSavedConfirmation) {
2936
2937
  var _this = this;
2937
2938
  if (this.reference) {
2938
2939
  var documents = files.map(function (file) { return _this.uploaderHelper.mapToDocumentReference(file, label, key, isMultiple, _this.uniqPrefix, _this.globalSequence++); });
@@ -2942,7 +2943,8 @@
2942
2943
  .post(url, formData)
2943
2944
  .pipe(operators.tap(function (result) {
2944
2945
  var successfulDocumentsCount = result.documents && result.documents.length;
2945
- if (successfulDocumentsCount) {
2946
+ if (successfulDocumentsCount &&
2947
+ shouldDisplayFileSavedConfirmation) {
2946
2948
  var message = successfulDocumentsCount + " fichier(s) sauvegard\u00E9(s) avec succ\u00E8s";
2947
2949
  _this.growlService.addWithType(GrowlType.SUCCESS, message);
2948
2950
  }
@@ -3044,7 +3046,7 @@
3044
3046
  // Return true if at least one files for a given formKey exist
3045
3047
  return !!this.pendingFilesByFormKey.get(formKey).files.length;
3046
3048
  };
3047
- PendingUploadService.prototype.addPendingFiles = function (baseUrl, formKey, label, files, key, isMultiple) {
3049
+ PendingUploadService.prototype.addPendingFiles = function (baseUrl, formKey, label, files, key, isMultiple, shouldDisplayFileSavedConfirmation) {
3048
3050
  // Initialize pending files by formKey
3049
3051
  if (!this.hasPendingFiles(formKey)) {
3050
3052
  this.pendingFilesByFormKey.set(formKey, new PendingFiles());
@@ -3057,6 +3059,7 @@
3057
3059
  this.pendingFilesByFormKey.get(formKey).files = __spreadArray(__spreadArray([], __read(this.pendingFilesByFormKey.get(formKey).files)), __read(files));
3058
3060
  this.pendingFilesByFormKey.get(formKey).key = key;
3059
3061
  this.pendingFilesByFormKey.get(formKey).isMultiple = isMultiple;
3062
+ this.pendingFilesByFormKey.get(formKey).shouldDisplayFileSavedConfirmation = shouldDisplayFileSavedConfirmation;
3060
3063
  };
3061
3064
  PendingUploadService.prototype.removePendingFile = function (file, formKey) {
3062
3065
  if (this.hasPendingFiles(formKey)) {
@@ -3073,7 +3076,7 @@
3073
3076
  var mergedResponse = new DocumentsWithErrors();
3074
3077
  filesToUpload.forEach(function (pendingFiles, formKey) {
3075
3078
  _this.multiUploadService
3076
- .uploadDocuments(pendingFiles.url, formKey, pendingFiles.label, pendingFiles.files, pendingFiles.key, pendingFiles.isMultiple, form.language)
3079
+ .uploadDocuments(pendingFiles.url, formKey, pendingFiles.label, pendingFiles.files, pendingFiles.key, pendingFiles.isMultiple, form.language, pendingFiles.shouldDisplayFileSavedConfirmation)
3077
3080
  .subscribe(function (response) {
3078
3081
  // Merge all uploads response
3079
3082
  _this.mergePendingUploadedServerResult(mergedResponse, response);
@@ -3359,7 +3362,6 @@
3359
3362
  return I18nForm;
3360
3363
  }());
3361
3364
 
3362
- var ALERTS_REFRESH_SECONDS = 5 * 60;
3363
3365
  // Shared between prestations.
3364
3366
  var STORAGE_KEY = 'hidden-alerts';
3365
3367
  /**
@@ -3395,10 +3397,11 @@
3395
3397
  this.http = http;
3396
3398
  this.hiddenAlertIds = new rxjs.BehaviorSubject(getPersistedDismissedAlertIds());
3397
3399
  this.refreshTrigger = new rxjs.BehaviorSubject(true);
3398
- this.refreshInterval = rxjs.interval(ALERTS_REFRESH_SECONDS * 1000);
3400
+ this.refreshIntervalInSeconds = new rxjs.BehaviorSubject(5 * 60);
3399
3401
  this.supportAlertUrl = new rxjs.BehaviorSubject('');
3400
3402
  // This ensures that we load the alerts when the page loads and at every configured interval.
3401
- var refreshAlertsTriggerAndTimer = rxjs.merge(this.refreshTrigger, this.refreshInterval);
3403
+ var refreshInterval = this.refreshIntervalInSeconds.pipe(operators.filter(function (valueInSeconds) { return !!valueInSeconds; }), operators.switchMap(function (valueInSeconds) { return rxjs.interval(valueInSeconds * 1000); }));
3404
+ var refreshAlertsTriggerAndTimer = rxjs.merge(this.refreshTrigger, refreshInterval);
3402
3405
  this.allAlerts = rxjs.combineLatest([
3403
3406
  this.supportAlertUrl,
3404
3407
  refreshAlertsTriggerAndTimer
@@ -3468,6 +3471,9 @@
3468
3471
  SupportAlertService.prototype.getHasAtLeastOneBlockingAlert = function () {
3469
3472
  return this.hasAtLeastOneBlockingAlert;
3470
3473
  };
3474
+ SupportAlertService.prototype.setRefreshIntervalInSeconds = function (refreshIntervalsInSeconds) {
3475
+ this.refreshIntervalInSeconds.next(refreshIntervalsInSeconds);
3476
+ };
3471
3477
  return SupportAlertService;
3472
3478
  }());
3473
3479
  SupportAlertService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0__namespace, type: SupportAlertService, deps: [{ token: i1__namespace.HttpClient }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
@@ -4291,7 +4297,7 @@
4291
4297
  return GesdemConfirmationComponent;
4292
4298
  }());
4293
4299
  GesdemConfirmationComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0__namespace, type: GesdemConfirmationComponent, deps: [{ token: GesdemHandlerService }, { token: FoehnPageService }, { token: i1__namespace$1.ActivatedRoute }, { token: SdkDictionaryService }, { token: i3__namespace.Location }], target: i0__namespace.ɵɵFactoryTarget.Component });
4294
- GesdemConfirmationComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: GesdemConfirmationComponent, selector: "gesdem-confirmation", inputs: { reference: "reference", setPageTitle: "setPageTitle", hasEmailSent: "hasEmailSent", closeHref: "closeHref", showDownloadPdfRecapButton: "showDownloadPdfRecapButton", showLinkToMyDemandes: "showLinkToMyDemandes", demandeIsClosedOnTransmit: "demandeIsClosedOnTransmit", actionStatut: "actionStatut", connectedConfirmationMessage: "connectedConfirmationMessage", connectedConfirmationMessageIfAbandoned: "connectedConfirmationMessageIfAbandoned", downloadPdfRecapButtonText: "downloadPdfRecapButtonText", closeButtonText: "closeButtonText", baseUrlPdf: "baseUrlPdf" }, usesOnChanges: true, ngImport: i0__namespace, 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>\n <dt class=\"font-weight-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\"\n *ngIf=\"(isConnectedCyber | async) && hasConnectedContent()\"\n >\n <span class=\"sr-only\">\n Information suite \u00E0 la transmission de votre demande\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 \"\n ></p>\n <p\n *ngIf=\"\n showLinkToMyDemandes &&\n (demandeIsClosedOnTransmit || isAbandoned)\n \"\n >\n Vous pouvez consulter votre demande en cliquant sur :\n <a href=\"/100002/demandes/search/MINE/TREATED\">\n Mes nouvelles demandes trait\u00E9es\n </a>\n .\n </p>\n <p\n *ngIf=\"\n showLinkToMyDemandes &&\n !demandeIsClosedOnTransmit &&\n !isAbandoned\n \"\n >\n Vous pouvez suivre l'avancement du traitement de votre\n demande en cliquant sur :\n <a href=\"/100002/demandes/search/MINE/IN_PROGRESS\">\n Mes demandes en cours de traitement\n </a>\n .\n </p>\n </div>\n </div>\n </div>\n\n <div\n class=\"col-md-12 list-unstyled d-md-flex p-0 mt-4\"\n *ngIf=\"!(isConnectedCyber | async)\"\n >\n <div class=\"ml-0 mr-md-auto mr-md-2 mb-2 mt-2\">\n <a\n *ngIf=\"showDownloadPdfRecapButton\"\n [href]=\"urlPdf\"\n id=\"telechargerBtn\"\n class=\"btn btn-secondary w-100\"\n title=\"T\u00E9l\u00E9charger le PDF\"\n >\n {{ downloadPdfRecapButtonText | fromDictionary }}\n </a>\n </div>\n\n <div\n class=\"mr-0 ml-md-auto mb-2 mt-2\"\n *ngIf=\"closeLink | async as link\"\n >\n <a\n [href]=\"link\"\n id=\"terminerBtn\"\n class=\"btn btn-primary w-100\"\n title=\"Terminer\"\n >\n {{ closeButtonText | fromDictionary }}\n </a>\n </div>\n </div>\n</div>\n\n<div class=\"container mt-5\" *ngIf=\"reference && isInProgress\">\n <div class=\"alert alert-info text-center mb-2\">\n <p class=\"h2\">Demande en cours</p>\n <dl>\n <dt class=\"font-weight-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\">\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 Vous pouvez reprendre votre demande en cliquant sur le lien\n ci-dessous\n </p>\n <p>\n <a [routerLink]=\"firstPageLink\">Reprendre ma demande</a>\n </p>\n </div>\n </div>\n </div>\n</div>\n", components: [{ type: FoehnIconInfoCircleComponent, selector: "foehn-icon-info-circle" }], directives: [{ type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1__namespace$1.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["routerLink", "target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo"] }], pipes: { "fromDictionary": SdkDictionaryPipe, "async": i3__namespace.AsyncPipe } });
4300
+ GesdemConfirmationComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: GesdemConfirmationComponent, selector: "gesdem-confirmation", inputs: { reference: "reference", setPageTitle: "setPageTitle", hasEmailSent: "hasEmailSent", closeHref: "closeHref", showDownloadPdfRecapButton: "showDownloadPdfRecapButton", showLinkToMyDemandes: "showLinkToMyDemandes", demandeIsClosedOnTransmit: "demandeIsClosedOnTransmit", actionStatut: "actionStatut", connectedConfirmationMessage: "connectedConfirmationMessage", connectedConfirmationMessageIfAbandoned: "connectedConfirmationMessageIfAbandoned", downloadPdfRecapButtonText: "downloadPdfRecapButtonText", closeButtonText: "closeButtonText", baseUrlPdf: "baseUrlPdf" }, usesOnChanges: true, ngImport: i0__namespace, 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>\n <dt class=\"font-weight-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\"\n *ngIf=\"(isConnectedCyber | async) && hasConnectedContent()\"\n >\n <span class=\"sr-only\">\n Information suite \u00E0 la transmission de votre demande\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 \"\n ></p>\n <p\n *ngIf=\"\n showLinkToMyDemandes &&\n (demandeIsClosedOnTransmit || isAbandoned)\n \"\n >\n Vous pouvez consulter votre demande en cliquant sur :\n <a href=\"/100002/demandes/search/MINE/TREATED\">\n Mes nouvelles demandes trait\u00E9es\n </a>\n .\n </p>\n <p\n *ngIf=\"\n showLinkToMyDemandes &&\n !demandeIsClosedOnTransmit &&\n !isAbandoned\n \"\n >\n Vous pouvez suivre l'avancement du traitement de votre\n demande en cliquant sur :\n <a href=\"/100002/demandes/search/MINE/IN_PROGRESS\">\n Mes demandes en cours de traitement\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=\"ml-0 mr-md-auto mr-md-2 mb-2 mt-2\">\n <a\n *ngIf=\"showDownloadPdfRecapButton\"\n [href]=\"urlPdf\"\n id=\"telechargerBtn\"\n class=\"btn btn-secondary w-100\"\n title=\"T\u00E9l\u00E9charger le PDF\"\n >\n {{ downloadPdfRecapButtonText | fromDictionary }}\n </a>\n </div>\n\n <div\n class=\"mr-0 ml-md-auto mb-2 mt-2\"\n *ngIf=\"!(isConnectedCyber | async) && closeLink | async as link\"\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=\"mr-0 ml-md-auto mb-2 mt-2\"\n *ngIf=\"!!(isConnectedCyber | async)\"\n >\n <a\n href=\"/100018/logout\"\n id=\"logoutBtn\"\n class=\"btn btn-primary w-100\"\n >\n {{ 'gesdem-confirmation.logout-button' | fromDictionary }}\n </a>\n </div>\n </div>\n</div>\n\n<div class=\"container mt-5\" *ngIf=\"reference && isInProgress\">\n <div class=\"alert alert-info text-center mb-2\">\n <p class=\"h2\">Demande en cours</p>\n <dl>\n <dt class=\"font-weight-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\">\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 Vous pouvez reprendre votre demande en cliquant sur le lien\n ci-dessous\n </p>\n <p>\n <a [routerLink]=\"firstPageLink\">Reprendre ma demande</a>\n </p>\n </div>\n </div>\n </div>\n</div>\n", components: [{ type: FoehnIconInfoCircleComponent, selector: "foehn-icon-info-circle" }], directives: [{ type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1__namespace$1.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["routerLink", "target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo"] }], pipes: { "fromDictionary": SdkDictionaryPipe, "async": i3__namespace.AsyncPipe } });
4295
4301
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0__namespace, type: GesdemConfirmationComponent, decorators: [{
4296
4302
  type: i0.Component,
4297
4303
  args: [{
@@ -5316,6 +5322,7 @@
5316
5322
  this.alertsToDisplay = this.supportAlertService.getDisplayableAlerts();
5317
5323
  this.hasAlerts = this.supportAlertService.getHasAlerts();
5318
5324
  this.hasHiddenAlerts = this.supportAlertService.getHasHiddenAlerts();
5325
+ this.supportAlertService.setRefreshIntervalInSeconds(this.refreshIntervalsInSeconds);
5319
5326
  };
5320
5327
  SupportAlertContainerComponent.prototype.restoreAllAlerts = function () {
5321
5328
  this.supportAlertService.restoreAllAlerts();
@@ -5342,7 +5349,7 @@
5342
5349
  return SupportAlertContainerComponent;
5343
5350
  }());
5344
5351
  SupportAlertContainerComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0__namespace, type: SupportAlertContainerComponent, deps: [{ token: SupportAlertService }], target: i0__namespace.ɵɵFactoryTarget.Component });
5345
- SupportAlertContainerComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: SupportAlertContainerComponent, selector: "sdk-support-alert-container", inputs: { etapeId: "etapeId", supportAlertUrl: "supportAlertUrl" }, usesOnChanges: true, ngImport: i0__namespace, template: "<div class=\"d-flex flex-column container mt-2\" *ngIf=\"hasAlerts | async\">\n <h2 class=\"sr-only\">Messages de support</h2>\n <div class=\"mb-2 mt-2\" *ngIf=\"hasHiddenAlerts | async\">\n <button class=\"btn btn-link pr-0 pl-0\" (click)=\"restoreAllAlerts()\">\n Afficher tous les messages\n </button>\n </div>\n <sdk-support-alert\n *ngFor=\"let alert of alertsToDisplay | async\"\n [alert]=\"alert\"\n ></sdk-support-alert>\n</div>\n", components: [{ type: SupportAlertComponent, selector: "sdk-support-alert", inputs: ["alert"] }], directives: [{ type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i3__namespace.AsyncPipe } });
5352
+ SupportAlertContainerComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: SupportAlertContainerComponent, selector: "sdk-support-alert-container", inputs: { etapeId: "etapeId", supportAlertUrl: "supportAlertUrl", refreshIntervalsInSeconds: "refreshIntervalsInSeconds" }, usesOnChanges: true, ngImport: i0__namespace, template: "<div class=\"d-flex flex-column container mt-2\" *ngIf=\"hasAlerts | async\">\n <h2 class=\"sr-only\">Messages de support</h2>\n <div class=\"mb-2 mt-2\" *ngIf=\"hasHiddenAlerts | async\">\n <button class=\"btn btn-link pr-0 pl-0\" (click)=\"restoreAllAlerts()\">\n Afficher tous les messages\n </button>\n </div>\n <sdk-support-alert\n *ngFor=\"let alert of alertsToDisplay | async\"\n [alert]=\"alert\"\n ></sdk-support-alert>\n</div>\n", components: [{ type: SupportAlertComponent, selector: "sdk-support-alert", inputs: ["alert"] }], directives: [{ type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i3__namespace.AsyncPipe } });
5346
5353
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0__namespace, type: SupportAlertContainerComponent, decorators: [{
5347
5354
  type: i0.Component,
5348
5355
  args: [{
@@ -5354,6 +5361,8 @@
5354
5361
  type: i0.Input
5355
5362
  }], supportAlertUrl: [{
5356
5363
  type: i0.Input
5364
+ }], refreshIntervalsInSeconds: [{
5365
+ type: i0.Input
5357
5366
  }] } });
5358
5367
 
5359
5368
  var FoehnUserConnectedAsComponent = /** @class */ (function () {
@@ -5874,7 +5883,7 @@
5874
5883
  return FoehnPageComponent;
5875
5884
  }());
5876
5885
  FoehnPageComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0__namespace, type: FoehnPageComponent, deps: [{ token: i1__namespace$3.Title }, { token: FoehnPageService }, { token: SupportAlertService }, { token: FoehnNavigationService }, { token: ApplicationInfoService }, { token: GesdemEventService }, { token: BreadcrumbEventService }, { token: i1__namespace$1.Router }, { token: SessionInfo }, { token: FoehnPageModalService }, { token: SdkDictionaryService }], target: i0__namespace.ɵɵFactoryTarget.Component });
5877
- FoehnPageComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: FoehnPageComponent, selector: "foehn-page", inputs: { appTitle: "appTitle", footerLinks: "footerLinks", neverConnected: "neverConnected", supportAlertEnabled: "supportAlertEnabled", supportAlertUrl: "supportAlertUrl", etapeId: "etapeId", userConnectedAsDisplayed: "userConnectedAsDisplayed", confirmLeavingAlert: "confirmLeavingAlert", showDefaultContactFooterLink: "showDefaultContactFooterLink", showDefaultGuideFooterLink: "showDefaultGuideFooterLink", showDefaultTermOfUseLink: "showDefaultTermOfUseLink", showDefaultSecurityBestPracticeLink: "showDefaultSecurityBestPracticeLink" }, usesOnChanges: true, ngImport: i0__namespace, template: "<foehn-header\n id=\"foehn_header\"\n [title]=\"appTitle\"\n [neverConnected]=\"neverConnected\"\n></foehn-header>\n<foehn-growl id=\"foehn_growl\"></foehn-growl>\n<div class=\"vd-bg-pattern-gray\">\n <div class=\"container\">\n <foehn-breadcrumb\n [neverConnected]=\"neverConnected\"\n [confirmLeavingAlert]=\"confirmLeavingAlert\"\n ></foehn-breadcrumb>\n </div>\n</div>\n<main id=\"main\">\n <div class=\"vd-bg-pattern-gray\">\n <div class=\"container\">\n <!-- Fix annoying flickering when the page loads -->\n <div class=\"h1 mt-0\" *ngIf=\"!pageTitle\">&nbsp;</div>\n <h1\n [tabIndex]=\"-1\"\n class=\"mt-0\"\n id=\"page-title\"\n *ngIf=\"!!pageTitle\"\n [innerHTML]=\"pageTitle\"\n ></h1>\n </div>\n </div>\n\n <section\n *ngIf=\"!isBrowserSupported\"\n class=\"container alert alert-danger\"\n id=\"browser_not_supported_block\"\n role=\"alert\"\n >\n <p class=\"alert-heading\">\n <strong>\n Cette prestation n\u2019est pas compatible avec votre navigateur.\n </strong>\n </p>\n <p class=\"mb-0\">\n Nous vous invitons \u00E0 utiliser une version r\u00E9cente de\n <ng-container *ngIf=\"!isApplePlatform\">\n <a\n [title]=\"browserLinkTitlePrefix + ' Edge'\"\n href=\"https://www.microsoft.com/fr-ch/windows/microsoft-edge\"\n target=\"_blank\"\n >\n Edge\n <span class=\"sr-only\">(lien externe)</span>\n <span aria-hidden=\"true\">\n <foehn-icon-external-link-alt></foehn-icon-external-link-alt>\n </span>\n </a>\n ,\n </ng-container>\n <ng-container *ngIf=\"isApplePlatform\">\n <a\n [title]=\"browserLinkTitlePrefix + ' Safari'\"\n href=\"https://support.apple.com/downloads/safari\"\n target=\"_blank\"\n >\n Safari\n <span class=\"sr-only\">(lien externe)</span>\n <span aria-hidden=\"true\">\n <foehn-icon-external-link-alt></foehn-icon-external-link-alt>\n </span>\n </a>\n ,\n </ng-container>\n <a\n [title]=\"browserLinkTitlePrefix + ' Firefox'\"\n href=\"https://www.mozilla.org/fr/firefox/\"\n target=\"_blank\"\n >\n Firefox\n <span class=\"sr-only\">(lien externe)</span>\n <span aria-hidden=\"true\">\n <foehn-icon-external-link-alt></foehn-icon-external-link-alt>\n </span>\n </a>\n ou\n <a\n [title]=\"browserLinkTitlePrefix + ' Chrome'\"\n href=\"https://www.google.com/intl/fr/chrome/\"\n target=\"_blank\"\n >\n Chrome\n <span class=\"sr-only\">(lien externe)</span>\n <span aria-hidden=\"true\">\n <foehn-icon-external-link-alt></foehn-icon-external-link-alt>\n </span>\n </a>\n .\n </p>\n <div class=\"row mt-3\">\n <div class=\"col-md-12\">\n <button\n id=\"browser_not_supported_bypass\"\n class=\"float-right btn btn-danger\"\n *ngIf=\"!browserNotSupportedBypass\"\n (click)=\"browserNotSupportedBypass = true\"\n >\n Continuer avec ce navigateur\n </button>\n </div>\n </div>\n </section>\n\n <sdk-support-alert-container\n *ngIf=\"supportAlertEnabled\"\n [etapeId]=\"etapeId\"\n [supportAlertUrl]=\"supportAlertUrl\"\n ></sdk-support-alert-container>\n <ng-container\n *ngIf=\"\n !(hasBlockingSupportAlert | async) &&\n (isBrowserSupported || browserNotSupportedBypass)\n \"\n >\n <div class=\"container mt-5\" id=\"page_content\">\n <foehn-user-connected-as\n *ngIf=\"displayUserCategory | async\"\n ></foehn-user-connected-as>\n <ng-container\n *ngIf=\"displayLoginMessages | async as displayLoginMessagesData\"\n >\n <div\n *ngIf=\"displayLoginMessagesData.displayShouldLoginMessage\"\n class=\"alert alert-info\"\n id=\"displayLoginMessage\"\n >\n <p\n [innerHTML]=\"\n getFullLoginMessage(\n displayLoginMessagesData.decisionElectroniqueAvailable\n ) | async\n \"\n ></p>\n <div class=\"d-flex justify-content-start mr-2 mb-2 mt-2\">\n <a\n class=\"btn btn-primary\"\n [href]=\"getFullLoginUrl() | async\"\n >\n {{ 'use-login.button.text' | fromDictionary }}\n </a>\n </div>\n </div>\n </ng-container>\n </div>\n <ng-content></ng-content>\n </ng-container>\n</main>\n<foehn-footer\n id=\"foehn_footer\"\n [links]=\"footerLinks\"\n [showDefaultContactLink]=\"showDefaultContactFooterLink\"\n [showDefaultGuideLink]=\"showDefaultGuideFooterLink\"\n [showDefaultTermOfUseLink]=\"showDefaultTermOfUseLink\"\n [showDefaultSecurityBestPracticeLink]=\"showDefaultSecurityBestPracticeLink\"\n></foehn-footer>\n<foehn-page-modal></foehn-page-modal>\n<foehn-confirm-modal></foehn-confirm-modal>\n", components: [{ type: FoehnHeaderComponent, selector: "foehn-header", inputs: ["userInfo", "title", "neverConnected"] }, { type: FoehnGrowlComponent, selector: "foehn-growl" }, { type: FoehnBreadcrumbComponent, selector: "foehn-breadcrumb", inputs: ["breadcrumbItems", "currentNav", "neverConnected", "confirmLeavingAlert"] }, { type: FoehnIconExternalLinkAltComponent, selector: "foehn-icon-external-link-alt" }, { type: SupportAlertContainerComponent, selector: "sdk-support-alert-container", inputs: ["etapeId", "supportAlertUrl"] }, { type: FoehnUserConnectedAsComponent, selector: "foehn-user-connected-as" }, { type: FoehnFooterComponent, selector: "foehn-footer", inputs: ["links", "showDefaultContactLink", "showDefaultGuideLink", "showDefaultTermOfUseLink", "showDefaultSecurityBestPracticeLink"] }, { type: FoehnPageModalComponent, selector: "foehn-page-modal" }, { type: FoehnConfirmModalComponent, selector: "foehn-confirm-modal" }], directives: [{ type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i3__namespace.AsyncPipe, "fromDictionary": SdkDictionaryPipe } });
5886
+ FoehnPageComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: FoehnPageComponent, selector: "foehn-page", inputs: { appTitle: "appTitle", footerLinks: "footerLinks", neverConnected: "neverConnected", supportAlertEnabled: "supportAlertEnabled", supportAlertUrl: "supportAlertUrl", supportAlertRefreshIntervalsInSeconds: "supportAlertRefreshIntervalsInSeconds", etapeId: "etapeId", userConnectedAsDisplayed: "userConnectedAsDisplayed", confirmLeavingAlert: "confirmLeavingAlert", showDefaultContactFooterLink: "showDefaultContactFooterLink", showDefaultGuideFooterLink: "showDefaultGuideFooterLink", showDefaultTermOfUseLink: "showDefaultTermOfUseLink", showDefaultSecurityBestPracticeLink: "showDefaultSecurityBestPracticeLink" }, usesOnChanges: true, ngImport: i0__namespace, template: "<foehn-header\n id=\"foehn_header\"\n [title]=\"appTitle\"\n [neverConnected]=\"neverConnected\"\n></foehn-header>\n<foehn-growl id=\"foehn_growl\"></foehn-growl>\n<div class=\"vd-bg-pattern-gray\">\n <div class=\"container\">\n <foehn-breadcrumb\n [neverConnected]=\"neverConnected\"\n [confirmLeavingAlert]=\"confirmLeavingAlert\"\n ></foehn-breadcrumb>\n </div>\n</div>\n<main id=\"main\">\n <div class=\"vd-bg-pattern-gray\">\n <div class=\"container\">\n <!-- Fix annoying flickering when the page loads -->\n <div class=\"h1 mt-0\" *ngIf=\"!pageTitle\">&nbsp;</div>\n <h1\n [tabIndex]=\"-1\"\n class=\"mt-0\"\n id=\"page-title\"\n *ngIf=\"!!pageTitle\"\n [innerHTML]=\"pageTitle\"\n ></h1>\n </div>\n </div>\n\n <section\n *ngIf=\"!isBrowserSupported\"\n class=\"container alert alert-danger\"\n id=\"browser_not_supported_block\"\n role=\"alert\"\n >\n <p class=\"alert-heading\">\n <strong>\n Cette prestation n\u2019est pas compatible avec votre navigateur.\n </strong>\n </p>\n <p class=\"mb-0\">\n Nous vous invitons \u00E0 utiliser une version r\u00E9cente de\n <ng-container *ngIf=\"!isApplePlatform\">\n <a\n [title]=\"browserLinkTitlePrefix + ' Edge'\"\n href=\"https://www.microsoft.com/fr-ch/windows/microsoft-edge\"\n target=\"_blank\"\n >\n Edge\n <span class=\"sr-only\">(lien externe)</span>\n <span aria-hidden=\"true\">\n <foehn-icon-external-link-alt></foehn-icon-external-link-alt>\n </span>\n </a>\n ,\n </ng-container>\n <ng-container *ngIf=\"isApplePlatform\">\n <a\n [title]=\"browserLinkTitlePrefix + ' Safari'\"\n href=\"https://support.apple.com/downloads/safari\"\n target=\"_blank\"\n >\n Safari\n <span class=\"sr-only\">(lien externe)</span>\n <span aria-hidden=\"true\">\n <foehn-icon-external-link-alt></foehn-icon-external-link-alt>\n </span>\n </a>\n ,\n </ng-container>\n <a\n [title]=\"browserLinkTitlePrefix + ' Firefox'\"\n href=\"https://www.mozilla.org/fr/firefox/\"\n target=\"_blank\"\n >\n Firefox\n <span class=\"sr-only\">(lien externe)</span>\n <span aria-hidden=\"true\">\n <foehn-icon-external-link-alt></foehn-icon-external-link-alt>\n </span>\n </a>\n ou\n <a\n [title]=\"browserLinkTitlePrefix + ' Chrome'\"\n href=\"https://www.google.com/intl/fr/chrome/\"\n target=\"_blank\"\n >\n Chrome\n <span class=\"sr-only\">(lien externe)</span>\n <span aria-hidden=\"true\">\n <foehn-icon-external-link-alt></foehn-icon-external-link-alt>\n </span>\n </a>\n .\n </p>\n <div class=\"row mt-3\">\n <div class=\"col-md-12\">\n <button\n id=\"browser_not_supported_bypass\"\n class=\"float-right btn btn-danger\"\n *ngIf=\"!browserNotSupportedBypass\"\n (click)=\"browserNotSupportedBypass = true\"\n >\n Continuer avec ce navigateur\n </button>\n </div>\n </div>\n </section>\n\n <sdk-support-alert-container\n *ngIf=\"supportAlertEnabled\"\n [etapeId]=\"etapeId\"\n [supportAlertUrl]=\"supportAlertUrl\"\n [refreshIntervalsInSeconds]=\"supportAlertRefreshIntervalsInSeconds\"\n ></sdk-support-alert-container>\n <ng-container\n *ngIf=\"\n !(hasBlockingSupportAlert | async) &&\n (isBrowserSupported || browserNotSupportedBypass)\n \"\n >\n <div class=\"container mt-5\" id=\"page_content\">\n <foehn-user-connected-as\n *ngIf=\"displayUserCategory | async\"\n ></foehn-user-connected-as>\n <ng-container\n *ngIf=\"displayLoginMessages | async as displayLoginMessagesData\"\n >\n <div\n *ngIf=\"displayLoginMessagesData.displayShouldLoginMessage\"\n class=\"alert alert-info\"\n id=\"displayLoginMessage\"\n >\n <p\n [innerHTML]=\"\n getFullLoginMessage(\n displayLoginMessagesData.decisionElectroniqueAvailable\n ) | async\n \"\n ></p>\n <div class=\"d-flex justify-content-start mr-2 mb-2 mt-2\">\n <a\n class=\"btn btn-primary\"\n [href]=\"getFullLoginUrl() | async\"\n >\n {{ 'use-login.button.text' | fromDictionary }}\n </a>\n </div>\n </div>\n </ng-container>\n </div>\n <ng-content></ng-content>\n </ng-container>\n</main>\n<foehn-footer\n id=\"foehn_footer\"\n [links]=\"footerLinks\"\n [showDefaultContactLink]=\"showDefaultContactFooterLink\"\n [showDefaultGuideLink]=\"showDefaultGuideFooterLink\"\n [showDefaultTermOfUseLink]=\"showDefaultTermOfUseLink\"\n [showDefaultSecurityBestPracticeLink]=\"showDefaultSecurityBestPracticeLink\"\n></foehn-footer>\n<foehn-page-modal></foehn-page-modal>\n<foehn-confirm-modal></foehn-confirm-modal>\n", components: [{ type: FoehnHeaderComponent, selector: "foehn-header", inputs: ["userInfo", "title", "neverConnected"] }, { type: FoehnGrowlComponent, selector: "foehn-growl" }, { type: FoehnBreadcrumbComponent, selector: "foehn-breadcrumb", inputs: ["breadcrumbItems", "currentNav", "neverConnected", "confirmLeavingAlert"] }, { type: FoehnIconExternalLinkAltComponent, selector: "foehn-icon-external-link-alt" }, { type: SupportAlertContainerComponent, selector: "sdk-support-alert-container", inputs: ["etapeId", "supportAlertUrl", "refreshIntervalsInSeconds"] }, { type: FoehnUserConnectedAsComponent, selector: "foehn-user-connected-as" }, { type: FoehnFooterComponent, selector: "foehn-footer", inputs: ["links", "showDefaultContactLink", "showDefaultGuideLink", "showDefaultTermOfUseLink", "showDefaultSecurityBestPracticeLink"] }, { type: FoehnPageModalComponent, selector: "foehn-page-modal" }, { type: FoehnConfirmModalComponent, selector: "foehn-confirm-modal" }], directives: [{ type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i3__namespace.AsyncPipe, "fromDictionary": SdkDictionaryPipe } });
5878
5887
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0__namespace, type: FoehnPageComponent, decorators: [{
5879
5888
  type: i0.Component,
5880
5889
  args: [{
@@ -5891,6 +5900,8 @@
5891
5900
  type: i0.Input
5892
5901
  }], supportAlertUrl: [{
5893
5902
  type: i0.Input
5903
+ }], supportAlertRefreshIntervalsInSeconds: [{
5904
+ type: i0.Input
5894
5905
  }], etapeId: [{
5895
5906
  type: i0.Input
5896
5907
  }], userConnectedAsDisplayed: [{
@@ -9555,6 +9566,9 @@
9555
9566
  }]
9556
9567
  }] });
9557
9568
 
9569
+ var hasInputChanged$1 = function (change) { return !(!change ||
9570
+ !change.currentValue ||
9571
+ ObjectHelper.isEqual(change.previousValue, change.currentValue)); };
9558
9572
  var FoehnListComponent = /** @class */ (function () {
9559
9573
  function FoehnListComponent() {
9560
9574
  this.itemsPerPage = 10;
@@ -9580,9 +9594,9 @@
9580
9594
  var itemsPerPageChange = changes.itemsPerPage;
9581
9595
  var listChange = changes.list;
9582
9596
  var fixedPageCountChange = changes.fixedPageCount;
9583
- if (!this.hasInputChanged(itemsPerPageChange) &&
9584
- !this.hasInputChanged(listChange) &&
9585
- !this.hasInputChanged(fixedPageCountChange)) {
9597
+ if (!hasInputChanged$1(itemsPerPageChange) &&
9598
+ !hasInputChanged$1(listChange) &&
9599
+ !hasInputChanged$1(fixedPageCountChange)) {
9586
9600
  return;
9587
9601
  }
9588
9602
  this.buildFilteredList();
@@ -9636,6 +9650,10 @@
9636
9650
  : 0;
9637
9651
  };
9638
9652
  FoehnListComponent.prototype.buildFilteredList = function () {
9653
+ if (!this._list) {
9654
+ this.filteredList = [];
9655
+ return;
9656
+ }
9639
9657
  if (!!this.fixedPageCount) {
9640
9658
  this.filteredList = this._list;
9641
9659
  return;
@@ -9645,14 +9663,7 @@
9645
9663
  this.currentPage = 1;
9646
9664
  }
9647
9665
  var start = (this.currentPage - 1) * this.itemsPerPage;
9648
- this.filteredList = this._list
9649
- ? this._list.slice(start, start + this.itemsPerPage)
9650
- : [];
9651
- };
9652
- FoehnListComponent.prototype.hasInputChanged = function (change) {
9653
- return !(!change ||
9654
- !change.currentValue ||
9655
- change.previousValue === change.currentValue);
9666
+ this.filteredList = this._list.slice(start, start + this.itemsPerPage);
9656
9667
  };
9657
9668
  return FoehnListComponent;
9658
9669
  }());
@@ -9717,7 +9728,7 @@
9717
9728
 
9718
9729
  var hasInputChanged = function (change) { return !(!change ||
9719
9730
  !change.currentValue ||
9720
- change.previousValue === change.currentValue); };
9731
+ ObjectHelper.isEqual(change.previousValue, change.currentValue)); };
9721
9732
  var FoehnTableComponent = /** @class */ (function () {
9722
9733
  function FoehnTableComponent() {
9723
9734
  this.itemsPerPage = 10;
@@ -9742,9 +9753,11 @@
9742
9753
  var itemsPerPageChange = changes.itemsPerPage;
9743
9754
  var listChange = changes.list;
9744
9755
  var fixedPageCountChange = changes.fixedPageCount;
9756
+ var sortInputChange = changes.sort;
9745
9757
  if (!hasInputChanged(itemsPerPageChange) &&
9746
9758
  !hasInputChanged(listChange) &&
9747
- !hasInputChanged(fixedPageCountChange)) {
9759
+ !hasInputChanged(fixedPageCountChange) &&
9760
+ !hasInputChanged(sortInputChange)) {
9748
9761
  return;
9749
9762
  }
9750
9763
  this.buildFilteredList();
@@ -9808,6 +9821,10 @@
9808
9821
  });
9809
9822
  };
9810
9823
  FoehnTableComponent.prototype.buildFilteredList = function () {
9824
+ if (!this._list) {
9825
+ this.filteredList = [];
9826
+ return;
9827
+ }
9811
9828
  if (!!this.fixedPageCount) {
9812
9829
  this.filteredList = this._list;
9813
9830
  return;
@@ -9817,14 +9834,12 @@
9817
9834
  this.currentPage = 1;
9818
9835
  }
9819
9836
  var start = (this.currentPage - 1) * this.itemsPerPage;
9820
- this.filteredList = this._list
9821
- ? this._list.slice(start, start + this.itemsPerPage)
9822
- : [];
9837
+ this.filteredList = this._list.slice(start, start + this.itemsPerPage);
9823
9838
  };
9824
9839
  return FoehnTableComponent;
9825
9840
  }());
9826
9841
  FoehnTableComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0__namespace, type: FoehnTableComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
9827
- FoehnTableComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: FoehnTableComponent, selector: "foehn-table", inputs: { itemsPerPage: "itemsPerPage", id: "id", previousLabel: "previousLabel", nextLabel: "nextLabel", totalElements: "totalElements", fixedPageCount: "fixedPageCount", columnsConfiguration: "columnsConfiguration", sort: "sort", trackByFn: "trackByFn", list: "list" }, outputs: { pageChange: "pageChange", sortChange: "sortChange" }, usesOnChanges: true, ngImport: i0__namespace, template: "<div class=\"row\" [id]=\"id\">\n <div class=\"col-12\">\n <h4 *ngIf=\"!!totalElements && totalElements === 1\">\n {{ 'foehn-table.totalElements.1' | fromDictionary }}\n </h4>\n <h4 *ngIf=\"!!totalElements && totalElements !== 1\">\n {{\n 'foehn-table.totalElements'\n | fromDictionary: { total: totalElements.toString() }\n }}\n </h4>\n </div>\n\n <div class=\"col-12 table-responsive\">\n <table class=\"table table-hover\">\n <thead class=\"vd-bg-pattern-bars-gray\">\n <tr>\n <th\n scope=\"col\"\n *ngFor=\"let col of columnsConfiguration\"\n [id]=\"col.id\"\n >\n <ng-container *ngIf=\"!col.sortAttribute\">\n <span\n [innerHTML]=\"\n col.columnLabelKey | fromDictionary\n \"\n ></span>\n </ng-container>\n\n <ng-container *ngIf=\"!!col.sortAttribute\">\n <a\n href=\"#\"\n class=\"vd-text-thin\"\n (click)=\"\n $event.preventDefault();\n triggerSort(col.sortAttribute)\n \"\n [title]=\"\n 'Trier par ' +\n (col.columnLabelKey | fromDictionary)\n \"\n >\n <span\n [innerHTML]=\"\n col.columnLabelKey | fromDictionary\n \"\n ></span>\n <ng-container\n *ngIf=\"\n sort.sortAttribute === col.sortAttribute\n \"\n >\n <span\n class=\"ml-3\"\n *ngIf=\"sort.sortDirection === 'ASC'\"\n >\n <foehn-icon-chevron-up></foehn-icon-chevron-up>\n </span>\n <span\n class=\"ml-3\"\n *ngIf=\"sort.sortDirection === 'DESC'\"\n >\n <foehn-icon-chevron-down></foehn-icon-chevron-down>\n </span>\n </ng-container>\n </a>\n </ng-container>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr\n *ngFor=\"\n let item of filteredList;\n let index = index;\n trackBy: trackByFn\n \"\n >\n <td\n *ngFor=\"let col of columnsConfiguration\"\n [id]=\"col.id + '-' + index\"\n >\n <ng-container *ngIf=\"!!col.isImportant\">\n <span\n *ngIf=\"col.isImportant(item)\"\n class=\"cell-vertical-align-middle\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"30\"\n height=\"30\"\n style=\"color: var(--red)\"\n fill=\"currentColor\"\n class=\"bi bi-exclamation\"\n viewBox=\"0 0 16 16\"\n >\n <path\n d=\"M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.553.553 0 0 1-1.1 0L7.1 4.995z\"\n />\n </svg>\n </span>\n </ng-container>\n\n <ng-container *ngIf=\"!col.routerLinkGetter\">\n <span\n [innerHTML]=\"col.valueGetter(item)\"\n class=\"cell-vertical-align-middle\"\n ></span>\n </ng-container>\n\n <ng-container *ngIf=\"!!col.routerLinkGetter\">\n <a\n [routerLink]=\"col.routerLinkGetter(item)\"\n queryParamsHandling=\"merge\"\n class=\"cell-vertical-align-middle\"\n >\n <span\n [innerHTML]=\"col.valueGetter(item)\"\n ></span>\n </a>\n </ng-container>\n </td>\n </tr>\n <tr *ngIf=\"!filteredList.length\">\n <td [colSpan]=\"columnsConfiguration.length\">\n <div class=\"w-100 text-center\">\n {{ 'foehn-table.totalElements.0' | fromDictionary }}\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n\n <div class=\"row d-flex justify-content-between p-1\">\n <div class=\"col-lg-3 col-md-3 col-sm-6 col-xs-6\">\n <nav\n class=\"vd-pagination\"\n aria-label=\"Pagination\"\n *ngIf=\"hasPreviousPage()\"\n >\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--previous\"\n >\n <button\n class=\"btn-link vd-pagination__link btn-no-extra vd-pagination__link-reset\"\n (click)=\"previousPage()\"\n >\n <span class=\"vd-pagination__title\">\n <foehn-icon-chevron-left></foehn-icon-chevron-left>\n {{ previousLabel }}\n </span>\n <span class=\"sr-only\">:</span>\n <span class=\"vd-pagination__label\">\n {{ currentPage - 1 }} sur {{ pagesCount() }}\n </span>\n </button>\n </li>\n </ul>\n </nav>\n </div>\n\n <div class=\"col-lg-3 col-md-3 col-sm-6 col-xs-6\">\n <nav\n class=\"vd-pagination\"\n aria-label=\"Pagination\"\n *ngIf=\"hasNextPage()\"\n >\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n >\n <button\n class=\"btn-link vd-pagination__link btn-no-extra vd-pagination__link-reset\"\n (click)=\"nextPage()\"\n >\n <span class=\"vd-pagination__title\">\n {{ nextLabel }}\n <foehn-icon-chevron-right></foehn-icon-chevron-right>\n </span>\n <span class=\"sr-only\">:</span>\n <span class=\"vd-pagination__label\">\n {{ currentPage + 1 }} sur {{ pagesCount() }}\n </span>\n </button>\n </li>\n </ul>\n </nav>\n </div>\n </div>\n </div>\n</div>\n", styles: [".btn-no-extra{padding:0;border:none;font-weight:400;-webkit-text-decoration-line:none;text-decoration-line:none}.vd-pagination__link-reset{background:none;border:none;font-weight:inherit;-webkit-text-decoration-line:none;text-decoration-line:none;text-align:inherit;cursor:pointer}.vd-pagination__link-reset:focus{background-color:#ffbf47}.cell-vertical-align-middle{vertical-align:middle}\n"], components: [{ type: FoehnIconChevronUpComponent, selector: "foehn-icon-chevron-up" }, { type: FoehnIconChevronDownComponent, selector: "foehn-icon-chevron-down" }, { type: FoehnIconChevronLeftComponent, selector: "foehn-icon-chevron-left" }, { type: FoehnIconChevronRightComponent, selector: "foehn-icon-chevron-right" }], directives: [{ type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1__namespace$1.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["routerLink", "target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo"] }], pipes: { "fromDictionary": SdkDictionaryPipe } });
9842
+ FoehnTableComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: FoehnTableComponent, selector: "foehn-table", inputs: { itemsPerPage: "itemsPerPage", id: "id", previousLabel: "previousLabel", nextLabel: "nextLabel", totalElements: "totalElements", fixedPageCount: "fixedPageCount", columnsConfiguration: "columnsConfiguration", sort: "sort", trackByFn: "trackByFn", list: "list" }, outputs: { pageChange: "pageChange", sortChange: "sortChange" }, usesOnChanges: true, ngImport: i0__namespace, template: "<div class=\"row\" [id]=\"id\">\n <div class=\"col-12\">\n <h4 *ngIf=\"!!totalElements && totalElements === 1\">\n {{ 'foehn-table.totalElements.1' | fromDictionary }}\n </h4>\n <h4 *ngIf=\"!!totalElements && totalElements !== 1\">\n {{\n 'foehn-table.totalElements'\n | fromDictionary: { total: totalElements.toString() }\n }}\n </h4>\n </div>\n\n <div class=\"col-12 table-responsive\">\n <table class=\"table table-hover\">\n <thead class=\"vd-bg-pattern-bars-gray\">\n <tr>\n <th\n scope=\"col\"\n *ngFor=\"let col of columnsConfiguration\"\n [id]=\"col.id\"\n >\n <ng-container\n *ngIf=\"!filteredList.length || !col.sortAttribute\"\n >\n <span\n [innerHTML]=\"\n col.columnLabelKey | fromDictionary\n \"\n ></span>\n </ng-container>\n\n <ng-container\n *ngIf=\"!!filteredList.length && !!col.sortAttribute\"\n >\n <a\n href=\"#\"\n class=\"vd-text-thin\"\n (click)=\"\n $event.preventDefault();\n triggerSort(col.sortAttribute)\n \"\n [title]=\"\n 'Trier par ' +\n (col.columnLabelKey | fromDictionary)\n \"\n >\n <span\n [innerHTML]=\"\n col.columnLabelKey | fromDictionary\n \"\n ></span>\n <ng-container\n *ngIf=\"\n sort.sortAttribute === col.sortAttribute\n \"\n >\n <span\n class=\"ml-3\"\n *ngIf=\"sort.sortDirection === 'ASC'\"\n >\n <foehn-icon-chevron-up></foehn-icon-chevron-up>\n </span>\n <span\n class=\"ml-3\"\n *ngIf=\"sort.sortDirection === 'DESC'\"\n >\n <foehn-icon-chevron-down></foehn-icon-chevron-down>\n </span>\n </ng-container>\n </a>\n </ng-container>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr\n *ngFor=\"\n let item of filteredList;\n let index = index;\n trackBy: trackByFn\n \"\n >\n <td\n *ngFor=\"let col of columnsConfiguration\"\n [id]=\"col.id + '-' + index\"\n >\n <ng-container *ngIf=\"!!col.isImportant\">\n <span\n *ngIf=\"col.isImportant(item)\"\n class=\"cell-vertical-align-middle\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"30\"\n height=\"30\"\n style=\"color: var(--red)\"\n fill=\"currentColor\"\n class=\"bi bi-exclamation\"\n viewBox=\"0 0 16 16\"\n >\n <path\n d=\"M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.553.553 0 0 1-1.1 0L7.1 4.995z\"\n />\n </svg>\n </span>\n </ng-container>\n\n <ng-container *ngIf=\"!col.routerLinkGetter\">\n <span\n [innerHTML]=\"col.valueGetter(item)\"\n class=\"cell-vertical-align-middle\"\n ></span>\n </ng-container>\n\n <ng-container *ngIf=\"!!col.routerLinkGetter\">\n <a\n [routerLink]=\"col.routerLinkGetter(item)\"\n queryParamsHandling=\"merge\"\n class=\"cell-vertical-align-middle\"\n >\n <span\n [innerHTML]=\"col.valueGetter(item)\"\n ></span>\n </a>\n </ng-container>\n </td>\n </tr>\n <tr *ngIf=\"!!columnsConfiguration && !filteredList.length\">\n <td [colSpan]=\"columnsConfiguration.length\">\n <div class=\"w-100 text-center\">\n {{ 'foehn-table.totalElements.0' | fromDictionary }}\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n\n <div class=\"row d-flex justify-content-between p-1\">\n <div class=\"col-lg-3 col-md-3 col-sm-6 col-xs-6\">\n <nav\n class=\"vd-pagination\"\n aria-label=\"Pagination\"\n *ngIf=\"hasPreviousPage()\"\n >\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--previous\"\n >\n <button\n class=\"btn-link vd-pagination__link btn-no-extra vd-pagination__link-reset\"\n (click)=\"previousPage()\"\n >\n <span class=\"vd-pagination__title\">\n <foehn-icon-chevron-left></foehn-icon-chevron-left>\n {{ previousLabel }}\n </span>\n <span class=\"sr-only\">:</span>\n <span class=\"vd-pagination__label\">\n {{ currentPage - 1 }} sur {{ pagesCount() }}\n </span>\n </button>\n </li>\n </ul>\n </nav>\n </div>\n\n <div class=\"col-lg-3 col-md-3 col-sm-6 col-xs-6\">\n <nav\n class=\"vd-pagination\"\n aria-label=\"Pagination\"\n *ngIf=\"hasNextPage()\"\n >\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n >\n <button\n class=\"btn-link vd-pagination__link btn-no-extra vd-pagination__link-reset\"\n (click)=\"nextPage()\"\n >\n <span class=\"vd-pagination__title\">\n {{ nextLabel }}\n <foehn-icon-chevron-right></foehn-icon-chevron-right>\n </span>\n <span class=\"sr-only\">:</span>\n <span class=\"vd-pagination__label\">\n {{ currentPage + 1 }} sur {{ pagesCount() }}\n </span>\n </button>\n </li>\n </ul>\n </nav>\n </div>\n </div>\n </div>\n</div>\n", styles: [".btn-no-extra{padding:0;border:none;font-weight:400;-webkit-text-decoration-line:none;text-decoration-line:none}.vd-pagination__link-reset{background:none;border:none;font-weight:inherit;-webkit-text-decoration-line:none;text-decoration-line:none;text-align:inherit;cursor:pointer}.vd-pagination__link-reset:focus{background-color:#ffbf47}.cell-vertical-align-middle{vertical-align:middle}\n"], components: [{ type: FoehnIconChevronUpComponent, selector: "foehn-icon-chevron-up" }, { type: FoehnIconChevronDownComponent, selector: "foehn-icon-chevron-down" }, { type: FoehnIconChevronLeftComponent, selector: "foehn-icon-chevron-left" }, { type: FoehnIconChevronRightComponent, selector: "foehn-icon-chevron-right" }], directives: [{ type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1__namespace$1.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["routerLink", "target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo"] }], pipes: { "fromDictionary": SdkDictionaryPipe } });
9828
9843
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0__namespace, type: FoehnTableComponent, decorators: [{
9829
9844
  type: i0.Component,
9830
9845
  args: [{
@@ -10632,6 +10647,7 @@
10632
10647
  _this.confirmModalService = confirmModalService;
10633
10648
  _this.dictionaryService = dictionaryService;
10634
10649
  _this.url = 'api/document';
10650
+ _this.shouldDisplayFileSavedConfirmation = true;
10635
10651
  _this.pendingUploadService = pendingUploadService;
10636
10652
  _this.multiUploadService = multiUploadService;
10637
10653
  return _this;
@@ -10648,7 +10664,7 @@
10648
10664
  // Only one call every 300ms to stop concurrent access
10649
10665
  operators.throttleTime(300),
10650
10666
  // Only one concurrent call at the time
10651
- operators.mergeMap(function (files) { return _this.multiUploadService.uploadDocuments(_this.url, _this.name, _this.label, files, _this.key, _this.multiple, _this.currentLanguage); }, 1))
10667
+ operators.mergeMap(function (files) { return _this.multiUploadService.uploadDocuments(_this.url, _this.name, _this.label, files, _this.key, _this.multiple, _this.currentLanguage, _this.shouldDisplayFileSavedConfirmation); }, 1))
10652
10668
  .subscribe(function (_a) {
10653
10669
  var documents = _a.documents, errors = _a.errors;
10654
10670
  _this.displayResultFromServer(documents, errors);
@@ -10754,7 +10770,7 @@
10754
10770
  // only when no error so isPristine is set to false for validation purpose
10755
10771
  this.markAsDirty();
10756
10772
  // Otherwise, we store files in pending storage
10757
- this.pendingUploadService.addPendingFiles(this.url, this.name, this.label, files, this.key, this.multiple);
10773
+ this.pendingUploadService.addPendingFiles(this.url, this.name, this.label, files, this.key, this.multiple, this.shouldDisplayFileSavedConfirmation);
10758
10774
  }
10759
10775
  };
10760
10776
  FoehnMultiUploadComponent.prototype.displayPendingUploadedErrorsFromServerByFormKey = function (errors, formKey) {
@@ -10810,7 +10826,7 @@
10810
10826
  return FoehnMultiUploadComponent;
10811
10827
  }(AbstractFoehnUploaderComponent));
10812
10828
  FoehnMultiUploadComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0__namespace, type: FoehnMultiUploadComponent, deps: [{ token: MultiUploadService }, { token: PendingUploadService }, { token: ApplicationInfoService }, { token: FoehnConfirmModalService }, { token: SdkDictionaryService }], target: i0__namespace.ɵɵFactoryTarget.Component });
10813
- FoehnMultiUploadComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: FoehnMultiUploadComponent, selector: "foehn-multi-upload", inputs: { url: "url", reference: "reference" }, providers: [
10829
+ FoehnMultiUploadComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: FoehnMultiUploadComponent, selector: "foehn-multi-upload", inputs: { url: "url", reference: "reference", shouldDisplayFileSavedConfirmation: "shouldDisplayFileSavedConfirmation" }, providers: [
10814
10830
  {
10815
10831
  provide: FoehnInputComponent,
10816
10832
  useExisting: i0.forwardRef(function () { return FoehnMultiUploadComponent; }),
@@ -10835,6 +10851,8 @@
10835
10851
  type: i0.Input
10836
10852
  }], reference: [{
10837
10853
  type: i0.Input
10854
+ }], shouldDisplayFileSavedConfirmation: [{
10855
+ type: i0.Input
10838
10856
  }] } });
10839
10857
 
10840
10858
  var FoehnMultiUploadModule = /** @class */ (function () {
@@ -10881,13 +10899,14 @@
10881
10899
  this.uniqPrefix = new Date().getTime();
10882
10900
  this.uploaderHelper = new UploaderHelper(dictionaryService, applicationInfoService);
10883
10901
  }
10884
- BoMultiUploadService.prototype.uploadDocuments = function (url, formKey, label, files, key, isMultiple, language) {
10902
+ BoMultiUploadService.prototype.uploadDocuments = function (url, formKey, label, files, key, isMultiple, language, shouldDisplayFileSavedConfirmation) {
10885
10903
  var _this = this;
10886
10904
  var documents = files.map(function (file) { return _this.uploaderHelper.mapToDocumentReference(file, label, key, isMultiple, _this.uniqPrefix, _this.globalSequence++); });
10887
10905
  var formData = this.uploaderHelper.mapToFormData(documents, formKey, language);
10888
10906
  return this.httpClient.post(url, formData).pipe(operators.tap(function (result) {
10889
10907
  var successfulDocumentsCount = result.documents && result.documents.length;
10890
- if (successfulDocumentsCount) {
10908
+ if (successfulDocumentsCount &&
10909
+ shouldDisplayFileSavedConfirmation) {
10891
10910
  var message = successfulDocumentsCount + " fichier(s) sauvegard\u00E9(s) avec succ\u00E8s";
10892
10911
  _this.growlService.addWithType(GrowlType.SUCCESS, message);
10893
10912
  }
@@ -10932,6 +10951,7 @@
10932
10951
  _this.applicationInfoService = applicationInfoService;
10933
10952
  _this.confirmModalService = confirmModalService;
10934
10953
  _this.dictionaryService = dictionaryService;
10954
+ _this.shouldDisplayFileSavedConfirmation = true;
10935
10955
  _this.documentDeleted = new i0.EventEmitter();
10936
10956
  _this.boMultiUploadService = boMultiUploadService;
10937
10957
  return _this;
@@ -10945,7 +10965,7 @@
10945
10965
  // Only one call every 300ms to stop concurrent access
10946
10966
  operators.throttleTime(300),
10947
10967
  // Only one concurrent call at the time
10948
- operators.mergeMap(function (files) { return _this.boMultiUploadService.uploadDocuments(_this.uploadUrl, _this.name, _this.label, files, _this.key, _this.multiple, _this.currentLanguage); }, 1))
10968
+ operators.mergeMap(function (files) { return _this.boMultiUploadService.uploadDocuments(_this.uploadUrl, _this.name, _this.label, files, _this.key, _this.multiple, _this.currentLanguage, _this.shouldDisplayFileSavedConfirmation); }, 1))
10949
10969
  .subscribe(function (_a) {
10950
10970
  var documents = _a.documents, errors = _a.errors;
10951
10971
  _this.displayResultFromServer(documents, errors);
@@ -11055,7 +11075,7 @@
11055
11075
  return FoehnBoMultiUploadComponent;
11056
11076
  }(AbstractFoehnUploaderComponent));
11057
11077
  FoehnBoMultiUploadComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0__namespace, type: FoehnBoMultiUploadComponent, deps: [{ token: BoMultiUploadService }, { token: ApplicationInfoService }, { token: FoehnConfirmModalService }, { token: SdkDictionaryService }], target: i0__namespace.ɵɵFactoryTarget.Component });
11058
- FoehnBoMultiUploadComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: FoehnBoMultiUploadComponent, selector: "foehn-bo-multi-upload", inputs: { uploadUrl: "uploadUrl", deleteUrl: "deleteUrl", downloadUrl: "downloadUrl" }, outputs: { documentDeleted: "documentDeleted" }, providers: [
11078
+ FoehnBoMultiUploadComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: FoehnBoMultiUploadComponent, selector: "foehn-bo-multi-upload", inputs: { uploadUrl: "uploadUrl", deleteUrl: "deleteUrl", downloadUrl: "downloadUrl", shouldDisplayFileSavedConfirmation: "shouldDisplayFileSavedConfirmation" }, outputs: { documentDeleted: "documentDeleted" }, providers: [
11059
11079
  {
11060
11080
  provide: FoehnInputComponent,
11061
11081
  useExisting: i0.forwardRef(function () { return FoehnBoMultiUploadComponent; }),
@@ -11082,6 +11102,8 @@
11082
11102
  type: i0.Input
11083
11103
  }], downloadUrl: [{
11084
11104
  type: i0.Input
11105
+ }], shouldDisplayFileSavedConfirmation: [{
11106
+ type: i0.Input
11085
11107
  }], documentDeleted: [{
11086
11108
  type: i0.Output
11087
11109
  }] } });
@@ -11166,6 +11188,7 @@
11166
11188
  _this.croppedPictureFilename = 'photo.png';
11167
11189
  _this.resizeToWidth = 300;
11168
11190
  _this.resizeToHeight = 0;
11191
+ _this.shouldDisplayFileSavedConfirmation = true;
11169
11192
  _this.loading = false;
11170
11193
  return _this;
11171
11194
  }
@@ -11208,7 +11231,7 @@
11208
11231
  this.markAsPristine();
11209
11232
  var photo = convertBase64UrlToFile(this.croppedPictureAsBase64Url, this.croppedPictureFilename);
11210
11233
  this.uploadService
11211
- .uploadDocuments(this.baseUrl, this.name, this.label, [photo], this.key, false, this.currentLanguage)
11234
+ .uploadDocuments(this.baseUrl, this.name, this.label, [photo], this.key, false, this.currentLanguage, this.shouldDisplayFileSavedConfirmation)
11212
11235
  .pipe(operators.filter(function (result) { return !!result; }))
11213
11236
  .subscribe(function (_a) {
11214
11237
  var documents = _a.documents, errors = _a.errors;
@@ -11259,7 +11282,7 @@
11259
11282
  return FoehnPictureUploadComponent;
11260
11283
  }(FoehnInputComponent));
11261
11284
  FoehnPictureUploadComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0__namespace, type: FoehnPictureUploadComponent, deps: [{ token: GrowlBrokerService }, { token: MultiUploadService }, { token: SdkDictionaryService }], target: i0__namespace.ɵɵFactoryTarget.Component });
11262
- FoehnPictureUploadComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: FoehnPictureUploadComponent, selector: "foehn-picture-upload", inputs: { name: "name", key: "key", label: "label", baseUrl: "baseUrl", croppedPictureFilename: "croppedPictureFilename", resizeToWidth: "resizeToWidth", resizeToHeight: "resizeToHeight" }, providers: [
11285
+ FoehnPictureUploadComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: FoehnPictureUploadComponent, selector: "foehn-picture-upload", inputs: { name: "name", key: "key", label: "label", baseUrl: "baseUrl", croppedPictureFilename: "croppedPictureFilename", resizeToWidth: "resizeToWidth", resizeToHeight: "resizeToHeight", shouldDisplayFileSavedConfirmation: "shouldDisplayFileSavedConfirmation" }, providers: [
11263
11286
  {
11264
11287
  provide: FoehnInputComponent,
11265
11288
  useExisting: i0.forwardRef(function () { return FoehnPictureUploadComponent; }),
@@ -11293,6 +11316,8 @@
11293
11316
  type: i0.Input
11294
11317
  }], resizeToHeight: [{
11295
11318
  type: i0.Input
11319
+ }], shouldDisplayFileSavedConfirmation: [{
11320
+ type: i0.Input
11296
11321
  }] } });
11297
11322
 
11298
11323
  var FoehnPictureUploadModule = /** @class */ (function () {