@dsivd/prestations-ng 14.5.10 → 14.5.14-beta1

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 (27) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/bundles/dsivd-prestations-ng.umd.js +436 -23
  3. package/bundles/dsivd-prestations-ng.umd.js.map +1 -1
  4. package/dsivd-prestations-ng-v14.5.14-beta1.tgz +0 -0
  5. package/esm2015/foehn-footer/foehn-footer.component.js +2 -2
  6. package/esm2015/foehn-page/foehn-page.component.js +22 -17
  7. package/esm2015/foehn-table/foehn-table-column-configuration.js +3 -0
  8. package/esm2015/foehn-table/foehn-table-page-change-event.js +3 -0
  9. package/esm2015/foehn-table/foehn-table.component.js +148 -0
  10. package/esm2015/foehn-table/foehn-table.module.js +34 -0
  11. package/esm2015/foehn-table/tableSort.js +3 -0
  12. package/esm2015/foehn-upload/foehn-picture-upload/foehn-picture-upload.component.js +164 -0
  13. package/esm2015/foehn-upload/foehn-picture-upload/foehn-picture-upload.module.js +42 -0
  14. package/esm2015/index.js +10 -1
  15. package/esm2015/sdk-dictionary/default-dictionary.js +9 -2
  16. package/fesm2015/dsivd-prestations-ng.js +393 -19
  17. package/fesm2015/dsivd-prestations-ng.js.map +1 -1
  18. package/foehn-table/foehn-table-column-configuration.d.ts +8 -0
  19. package/foehn-table/foehn-table-page-change-event.d.ts +5 -0
  20. package/foehn-table/foehn-table.component.d.ts +33 -0
  21. package/foehn-table/foehn-table.module.d.ts +11 -0
  22. package/foehn-table/tableSort.d.ts +4 -0
  23. package/foehn-upload/foehn-picture-upload/foehn-picture-upload.component.d.ts +39 -0
  24. package/foehn-upload/foehn-picture-upload/foehn-picture-upload.module.d.ts +13 -0
  25. package/index.d.ts +7 -0
  26. package/package.json +2 -1
  27. package/dsivd-prestations-ng-v14.5.10.tgz +0 -0
@@ -23,6 +23,8 @@ import { CdkVirtualScrollViewport, ScrollingModule } from '@angular/cdk/scrollin
23
23
  import localeFr from '@angular/common/locales/fr';
24
24
  import dayjs from 'dayjs';
25
25
  import isToday from 'dayjs/plugin/isToday';
26
+ import * as i5 from 'ngx-image-cropper';
27
+ import { ImageCropperModule } from 'ngx-image-cropper';
26
28
  import * as iban from 'iban';
27
29
  import localeData from 'dayjs/plugin/localeData';
28
30
 
@@ -1424,7 +1426,14 @@ const DEFAULT_DICTIONARY = {
1424
1426
  '(fichier au format pdf), vous devez demander la prestation en étant connecté au portail sécurisé.',
1425
1427
  'use-login.text': "Cette prestation est aussi utilisable au travers de l'espace sécurisé qui vous " +
1426
1428
  "permet de pré-remplir le formulaire et de suivre l'avancement de traitement de la demande.",
1427
- 'use-login.button.text': 'Connectez-vous'
1429
+ 'use-login.button.text': 'Connectez-vous',
1430
+ 'foehn-picture-upload.choose-button-label': 'Choisissez une photo',
1431
+ 'foehn-picture-upload.loading-label': 'Chargement...',
1432
+ 'foehn-picture-upload.loading-failure-label': 'Impossible de charger la photo sélectionnée',
1433
+ 'foehn-picture-upload.validate-selection-label': 'Valider la sélection',
1434
+ 'foehn-picture-upload.cancel-selection-label': 'Annuler',
1435
+ 'foehn-picture-upload.selection-not-validated-label': 'Merci de valider votre sélection',
1436
+ 'foehn-picture-upload.delete-picture-label': 'Supprimer'
1428
1437
  };
1429
1438
 
1430
1439
  const DICTIONARY_BASE_URL = 'api/dictionary';
@@ -4592,7 +4601,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImpor
4592
4601
 
4593
4602
  const GUIDE_URL = 'https://www.vd.ch/index.php?id=67827';
4594
4603
  const TERM_OF_USE_URL = 'https://www.vd.ch/index.php?id=2015321';
4595
- const SECURITY_BEST_PRACTICE_URL = 'https://www.vd.ch/securite-protection-donnees/';
4604
+ const SECURITY_BEST_PRACTICE_URL = 'https://www.vd.ch/index.php?id=2015320';
4596
4605
  class FoehnFooterComponent {
4597
4606
  constructor(applicationInfoService, gesdemEventService, gesdemService) {
4598
4607
  /**
@@ -4985,22 +4994,27 @@ class FoehnPageComponent {
4985
4994
  return false;
4986
4995
  }));
4987
4996
  const formInitializationObservable = merge(of(undefined), this.gesdemEventService.formInitializationObservable());
4988
- this.displayLoginMessages = combineLatest([
4989
- formInitializationObservable,
4990
- this.sessionInfo.data,
4991
- this.applicationInfoService.currentEtapeInfo
4992
- ]).pipe(debounceTime(0), // without debounceTime, the outcome is less effective...
4993
- map(([formInitialization, sessionInfoData, currentEtapeInfo]) => {
4994
- const isConnectedCyberOrIam = !!sessionInfoData;
4995
- const isLastPage = this.foehnNavigationService.isLastFormPage();
4996
- if (isConnectedCyberOrIam ||
4997
- !currentEtapeInfo.deployeeCyber ||
4998
- !!formInitialization ||
4999
- isLastPage) {
5000
- return new DisplayLoginMessagesData(false, false);
5001
- }
5002
- return new DisplayLoginMessagesData(currentEtapeInfo === null || currentEtapeInfo === void 0 ? void 0 : currentEtapeInfo.decisionElectroniqueAvailable, true);
5003
- }));
4997
+ if (this.neverConnected) {
4998
+ this.displayLoginMessages = of(new DisplayLoginMessagesData(false, false));
4999
+ }
5000
+ else {
5001
+ this.displayLoginMessages = combineLatest([
5002
+ formInitializationObservable,
5003
+ this.sessionInfo.data,
5004
+ this.applicationInfoService.currentEtapeInfo
5005
+ ]).pipe(debounceTime(0), // without debounceTime, the outcome is less effective...
5006
+ map(([formInitialization, sessionInfoData, currentEtapeInfo]) => {
5007
+ const isConnectedCyberOrIam = !!sessionInfoData;
5008
+ const isLastPage = this.foehnNavigationService.isLastFormPage();
5009
+ if (isConnectedCyberOrIam ||
5010
+ !currentEtapeInfo.deployeeCyber ||
5011
+ !!formInitialization ||
5012
+ isLastPage) {
5013
+ return new DisplayLoginMessagesData(false, false);
5014
+ }
5015
+ return new DisplayLoginMessagesData(currentEtapeInfo === null || currentEtapeInfo === void 0 ? void 0 : currentEtapeInfo.decisionElectroniqueAvailable, true);
5016
+ }));
5017
+ }
5004
5018
  }
5005
5019
  ngOnChanges(changes) {
5006
5020
  const etapeIdChange = changes.etapeId;
@@ -8583,6 +8597,181 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImpor
8583
8597
  class PageChangeEvent {
8584
8598
  }
8585
8599
 
8600
+ const hasInputChanged = (change) => !(!change ||
8601
+ !change.currentValue ||
8602
+ change.previousValue === change.currentValue);
8603
+ class FoehnTableComponent {
8604
+ constructor() {
8605
+ this.itemsPerPage = 10;
8606
+ this.id = 'foehn-table';
8607
+ this.previousLabel = 'Précédent';
8608
+ this.nextLabel = 'Suivant';
8609
+ this.pageChange = new EventEmitter();
8610
+ this.sortChange = new EventEmitter();
8611
+ this.currentPage = 1;
8612
+ this.filteredList = [];
8613
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
8614
+ this.trackByFn = (index, item) => index;
8615
+ }
8616
+ set list(list) {
8617
+ this._list = list;
8618
+ }
8619
+ ngOnChanges(changes) {
8620
+ const itemsPerPageChange = changes.itemsPerPage;
8621
+ const listChange = changes.list;
8622
+ const fixedPageCountChange = changes.fixedPageCount;
8623
+ if (!hasInputChanged(itemsPerPageChange) &&
8624
+ !hasInputChanged(listChange) &&
8625
+ !hasInputChanged(fixedPageCountChange)) {
8626
+ return;
8627
+ }
8628
+ this.buildFilteredList();
8629
+ }
8630
+ previousPage() {
8631
+ this.currentPage = this.currentPage - 1;
8632
+ this.buildFilteredList();
8633
+ this.pageChange.next({
8634
+ previousPage: this.currentPage + 1,
8635
+ currentPage: this.currentPage,
8636
+ pageCount: this.pagesCount()
8637
+ });
8638
+ }
8639
+ hasPreviousPage() {
8640
+ return this.currentPage > 1;
8641
+ }
8642
+ nextPage() {
8643
+ this.currentPage = this.currentPage + 1;
8644
+ this.buildFilteredList();
8645
+ this.pageChange.next({
8646
+ previousPage: this.currentPage - 1,
8647
+ currentPage: this.currentPage,
8648
+ pageCount: this.pagesCount()
8649
+ });
8650
+ }
8651
+ hasNextPage() {
8652
+ return this.currentPage < this.pagesCount();
8653
+ }
8654
+ showPage(page, emitPageChangeEvent = false) {
8655
+ if (this.currentPage === page) {
8656
+ return;
8657
+ }
8658
+ const previousPage = this.currentPage;
8659
+ this.currentPage = page;
8660
+ this.buildFilteredList();
8661
+ if (emitPageChangeEvent) {
8662
+ this.pageChange.next({
8663
+ previousPage,
8664
+ currentPage: this.currentPage,
8665
+ pageCount: this.pagesCount()
8666
+ });
8667
+ }
8668
+ }
8669
+ pagesCount() {
8670
+ if (!!this.fixedPageCount) {
8671
+ return this.fixedPageCount;
8672
+ }
8673
+ return this._list
8674
+ ? Math.ceil(this._list.length / this.itemsPerPage)
8675
+ : 0;
8676
+ }
8677
+ triggerSort(sortAttribute) {
8678
+ let sortDirection = 'DESC';
8679
+ if (this.sort.sortAttribute === sortAttribute) {
8680
+ sortDirection = this.sort.sortDirection === 'DESC' ? 'ASC' : 'DESC';
8681
+ }
8682
+ this.sortChange.next({
8683
+ sortDirection,
8684
+ sortAttribute
8685
+ });
8686
+ }
8687
+ buildFilteredList() {
8688
+ if (!!this.fixedPageCount) {
8689
+ this.filteredList = this._list;
8690
+ return;
8691
+ }
8692
+ const currentPageExists = (this.currentPage - 1) * this.itemsPerPage <= this._list.length;
8693
+ if (!currentPageExists) {
8694
+ this.currentPage = 1;
8695
+ }
8696
+ const start = (this.currentPage - 1) * this.itemsPerPage;
8697
+ this.filteredList = this._list
8698
+ ? this._list.slice(start, start + this.itemsPerPage)
8699
+ : [];
8700
+ }
8701
+ }
8702
+ FoehnTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8703
+ FoehnTableComponent.ɵcmp = i0.ɵɵ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, template: "<div class=\"row\" [id]=\"id\">\n <div class=\"col-12\">\n <h2 *ngIf=\"!!totalElements && totalElements === 1\">\n {{ 'list.search-criteria.totalElements.1' | fromDictionary }}\n </h2>\n <h2 *ngIf=\"!!totalElements && totalElements !== 1\">\n {{\n 'list.search-criteria.totalElements'\n | fromDictionary: { total: totalElements.toString() }\n }}\n </h2>\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\">Aucun r\u00E9sultat</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.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1$1.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["routerLink", "target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo"] }], pipes: { "fromDictionary": SdkDictionaryPipe } });
8704
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnTableComponent, decorators: [{
8705
+ type: Component,
8706
+ args: [{
8707
+ selector: 'foehn-table',
8708
+ templateUrl: './foehn-table.component.html',
8709
+ styleUrls: ['./foehn-table.component.css']
8710
+ }]
8711
+ }], propDecorators: { itemsPerPage: [{
8712
+ type: Input
8713
+ }], id: [{
8714
+ type: Input
8715
+ }], previousLabel: [{
8716
+ type: Input
8717
+ }], nextLabel: [{
8718
+ type: Input
8719
+ }], totalElements: [{
8720
+ type: Input
8721
+ }], fixedPageCount: [{
8722
+ type: Input
8723
+ }], columnsConfiguration: [{
8724
+ type: Input
8725
+ }], pageChange: [{
8726
+ type: Output
8727
+ }], sort: [{
8728
+ type: Input
8729
+ }], sortChange: [{
8730
+ type: Output
8731
+ }],
8732
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
8733
+ trackByFn: [{
8734
+ type: Input
8735
+ }], list: [{
8736
+ type: Input
8737
+ }] } });
8738
+
8739
+ class FoehnTableModule {
8740
+ }
8741
+ FoehnTableModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8742
+ FoehnTableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnTableModule, declarations: [FoehnTableComponent], imports: [CommonModule,
8743
+ FoehnIconsModule,
8744
+ SdkDictionaryModule,
8745
+ RouterModule], exports: [FoehnTableComponent] });
8746
+ FoehnTableModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnTableModule, imports: [[
8747
+ CommonModule,
8748
+ FoehnIconsModule,
8749
+ SdkDictionaryModule,
8750
+ RouterModule
8751
+ ]] });
8752
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnTableModule, decorators: [{
8753
+ type: NgModule,
8754
+ args: [{
8755
+ imports: [
8756
+ CommonModule,
8757
+ FoehnIconsModule,
8758
+ SdkDictionaryModule,
8759
+ RouterModule
8760
+ ],
8761
+ declarations: [FoehnTableComponent],
8762
+ exports: [FoehnTableComponent]
8763
+ }]
8764
+ }] });
8765
+
8766
+ class FoehnTableColumnConfiguration {
8767
+ }
8768
+
8769
+ class FoehnTablePageChangeEvent {
8770
+ }
8771
+
8772
+ class TableSort {
8773
+ }
8774
+
8586
8775
  class RedirectComponent {
8587
8776
  constructor(iamInterceptor) {
8588
8777
  this.iamInterceptor = iamInterceptor;
@@ -9733,6 +9922,191 @@ class BoDocumentError {
9733
9922
  class BoDocumentsWithErrors {
9734
9923
  }
9735
9924
 
9925
+ const blobToFile = (blobData, fileName) => {
9926
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
9927
+ const blob = blobData;
9928
+ blob.name = fileName;
9929
+ return blob;
9930
+ };
9931
+ const convertBase64UrlToFile = (croppedImageasBase64Url, filename) => {
9932
+ const arr = croppedImageasBase64Url.split(',');
9933
+ const mime = arr[0].match(/:(.*?);/)[1];
9934
+ const bstr = atob(arr[1]);
9935
+ let n = bstr.length;
9936
+ const u8arr = new Uint8Array(n);
9937
+ while (n--) {
9938
+ u8arr[n] = bstr.charCodeAt(n);
9939
+ }
9940
+ if (!navigator.msSaveBlob) {
9941
+ // detect if not Edge
9942
+ return new File([u8arr], filename, { type: mime });
9943
+ }
9944
+ else {
9945
+ // Edge support the FileAPI but not the File constructor.
9946
+ return blobToFile(new Blob([u8arr], { type: mime }), filename);
9947
+ }
9948
+ };
9949
+ class FoehnPictureUploadComponent extends FoehnInputComponent {
9950
+ constructor(growlService, uploadService, dictionaryService) {
9951
+ super();
9952
+ this.growlService = growlService;
9953
+ this.uploadService = uploadService;
9954
+ this.dictionaryService = dictionaryService;
9955
+ this.baseUrl = 'api/document';
9956
+ this.croppedPictureFilename = 'photo.png';
9957
+ this.resizeToWidth = 300;
9958
+ this.resizeToHeight = 0;
9959
+ this.loading = false;
9960
+ }
9961
+ ngOnInit() {
9962
+ super.ngOnInit();
9963
+ this.currentLanguageSubscription = this.dictionaryService
9964
+ .getCurrentLanguageCode()
9965
+ .pipe(distinctUntilChanged())
9966
+ .subscribe(language => {
9967
+ this.currentLanguage = language;
9968
+ });
9969
+ }
9970
+ onPictureSelection(imgEvent) {
9971
+ this.refreshErrors([[], true]);
9972
+ this.pictureToCrop = imgEvent;
9973
+ this.loading = true;
9974
+ }
9975
+ onPictureSelectionFailed() {
9976
+ const errors = [
9977
+ {
9978
+ name: this.name,
9979
+ code: 'LoadingFailure',
9980
+ message: this.dictionaryService.getKeySync('foehn-picture-upload.loading-failure-label')
9981
+ }
9982
+ ];
9983
+ this.refreshErrors([errors, true]);
9984
+ this.resetPictureSelection();
9985
+ }
9986
+ onImageCropped(croppedEvent) {
9987
+ this.croppedPictureAsBase64Url = croppedEvent.base64;
9988
+ }
9989
+ resetPictureSelection() {
9990
+ this.croppedPictureAsBase64Url = null;
9991
+ this.pictureToCrop = null;
9992
+ this.loading = false;
9993
+ }
9994
+ savePicture() {
9995
+ this.markAsPristine();
9996
+ const photo = convertBase64UrlToFile(this.croppedPictureAsBase64Url, this.croppedPictureFilename);
9997
+ this.uploadService
9998
+ .uploadDocuments(this.baseUrl, this.name, this.label, [photo], this.key, false, this.currentLanguage)
9999
+ .pipe(filter(result => !!result))
10000
+ .subscribe(({ documents, errors }) => {
10001
+ this.resetPictureSelection();
10002
+ if (!!documents.length) {
10003
+ this.markAsDirty();
10004
+ this.model = documents;
10005
+ this.refreshErrors([[], true]);
10006
+ }
10007
+ else {
10008
+ this.model = [];
10009
+ this.refreshErrors([errors, true]);
10010
+ }
10011
+ });
10012
+ }
10013
+ deleteFile() {
10014
+ this.uploadService
10015
+ .deleteDocument(this.baseUrl, this.model[0])
10016
+ .subscribe(() => {
10017
+ this.model = [];
10018
+ this.resetPictureSelection();
10019
+ });
10020
+ }
10021
+ getDownloadUrl() {
10022
+ return this.uploadService.getDownloadUrl(this.baseUrl, this.model[0]);
10023
+ }
10024
+ get hasPicture() {
10025
+ return this.model && this.model.length && !!this.model[0].reference;
10026
+ }
10027
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
10028
+ refreshErrors(results) {
10029
+ const errors = results[0];
10030
+ const isInSelectionMode = !this.hasPicture && !!this.croppedPictureAsBase64Url;
10031
+ if (isInSelectionMode) {
10032
+ const notNullError = errors.find(e => e.name === this.name && e.code === 'NotEmpty');
10033
+ if (notNullError) {
10034
+ notNullError.message = this.dictionaryService.getKeySync('foehn-picture-upload.selection-not-validated-label');
10035
+ }
10036
+ }
10037
+ super.refreshErrors(results);
10038
+ }
10039
+ }
10040
+ FoehnPictureUploadComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnPictureUploadComponent, deps: [{ token: GrowlBrokerService }, { token: MultiUploadService }, { token: SdkDictionaryService }], target: i0.ɵɵFactoryTarget.Component });
10041
+ FoehnPictureUploadComponent.ɵcmp = i0.ɵɵ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: [
10042
+ {
10043
+ provide: FoehnInputComponent,
10044
+ useExisting: forwardRef(() => FoehnPictureUploadComponent),
10045
+ multi: true
10046
+ }
10047
+ ], usesInheritance: true, ngImport: i0, template: "<div\n [attr.id]=\"buildId('Container')\"\n [class.has-danger]=\"hasErrors()\"\n [class.vd-form-group-danger]=\"hasErrors()\"\n class=\"form-group clearable-input-form-group\"\n tabindex=\"-1\"\n>\n <label\n [attr.for]=\"buildChildId()\"\n *ngIf=\"!!label\"\n [ngClass]=\"isLabelSrOnly ? 'sr-only' : 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\n <foehn-validation-alerts [component]=\"this\"></foehn-validation-alerts>\n\n <small\n *ngIf=\"helpText\"\n [attr.id]=\"buildChildId() + 'Help'\"\n class=\"form-text text-secondary\"\n [innerHTML]=\"helpText\"\n ></small>\n\n <input type=\"hidden\" [name]=\"name || label\" [ngModel]=\"model\" />\n\n <ng-content></ng-content>\n\n <div *ngIf=\"hasPicture\" class=\"row\">\n <div class=\"col-md-6\">\n <img\n [id]=\"buildChildId('Picture')\"\n [attr.alt]=\"label\"\n [src]=\"getDownloadUrl()\"\n />\n </div>\n <div class=\"col-md-4\">\n <button\n type=\"button\"\n class=\"btn btn-danger w-100\"\n [attr.id]=\"buildChildId('DeleteButton')\"\n (click)=\"deleteFile()\"\n >\n {{\n 'foehn-picture-upload.delete-picture-label' | fromDictionary\n }}\n </button>\n </div>\n </div>\n\n <div *ngIf=\"!hasPicture && !croppedPictureAsBase64Url\">\n <input\n #inputFile\n type=\"file\"\n class=\"form-control-file d-none\"\n [attr.id]=\"name\"\n [attr.accept]=\"'.jpeg,.jpg,.png'\"\n [multiple]=\"false\"\n [name]=\"name\"\n (change)=\"onPictureSelection($event)\"\n />\n\n <button\n type=\"button\"\n class=\"btn btn-primary my-2\"\n [attr.id]=\"buildChildId('ChooseButton')\"\n [attr.aria-invalid]=\"hasErrorsToDisplay() || null\"\n [attr.aria-describedby]=\"buildId('ErrorsContainer')\"\n (click)=\"inputFile.click()\"\n [disabled]=\"loading\"\n >\n {{ 'foehn-picture-upload.choose-button-label' | fromDictionary }}\n </button>\n </div>\n\n <div *ngIf=\"loading\">\n {{ 'foehn-picture-upload.loading-label' | fromDictionary }}\n </div>\n\n <div *ngIf=\"!hasPicture\" class=\"row\">\n <div class=\"col-md-6\">\n <image-cropper\n [id]=\"buildChildId('Cropper')\"\n (cropperReady)=\"loading = false\"\n (imageCropped)=\"onImageCropped($event)\"\n (loadImageFailed)=\"onPictureSelectionFailed()\"\n [aspectRatio]=\"3 / 4\"\n [imageChangedEvent]=\"pictureToCrop\"\n [maintainAspectRatio]=\"true\"\n [resizeToWidth]=\"resizeToWidth\"\n [resizeToHeight]=\"resizeToHeight\"\n [onlyScaleDown]=\"true\"\n format=\"png\"\n ></image-cropper>\n </div>\n\n <div *ngIf=\"!hasPicture\" class=\"col-md-4\">\n <div class=\"row mb-3\">\n <button\n *ngIf=\"croppedPictureAsBase64Url\"\n type=\"button\"\n class=\"btn btn-primary w-100\"\n [attr.id]=\"buildChildId('SaveButton')\"\n (click)=\"savePicture()\"\n >\n {{\n 'foehn-picture-upload.validate-selection-label'\n | fromDictionary\n }}\n </button>\n </div>\n <div class=\"row\">\n <button\n *ngIf=\"croppedPictureAsBase64Url\"\n type=\"button\"\n class=\"btn btn-secondary w-100\"\n [attr.id]=\"buildChildId('CancelButton')\"\n (click)=\"resetPictureSelection()\"\n >\n {{\n 'foehn-picture-upload.cancel-selection-label'\n | fromDictionary\n }}\n </button>\n </div>\n </div>\n </div>\n</div>\n", components: [{ type: FoehnValidationAlertsComponent, selector: "foehn-validation-alerts", inputs: ["component", "shouldErrorsBeLive"] }, { type: i5.ImageCropperComponent, selector: "image-cropper", inputs: ["format", "transform", "maintainAspectRatio", "aspectRatio", "resizeToWidth", "resizeToHeight", "cropperMinWidth", "cropperMinHeight", "cropperMaxHeight", "cropperMaxWidth", "cropperStaticWidth", "cropperStaticHeight", "canvasRotation", "initialStepSize", "roundCropper", "onlyScaleDown", "imageQuality", "autoCrop", "backgroundColor", "containWithinAspectRatio", "hideResizeSquares", "cropper", "alignImage", "disabled", "imageChangedEvent", "imageURL", "imageBase64", "imageFile"], outputs: ["imageCropped", "startCropImage", "imageLoaded", "cropperReady", "loadImageFailed"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "fromDictionary": SdkDictionaryPipe } });
10048
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnPictureUploadComponent, decorators: [{
10049
+ type: Component,
10050
+ args: [{
10051
+ selector: 'foehn-picture-upload',
10052
+ templateUrl: './foehn-picture-upload.component.html',
10053
+ providers: [
10054
+ {
10055
+ provide: FoehnInputComponent,
10056
+ useExisting: forwardRef(() => FoehnPictureUploadComponent),
10057
+ multi: true
10058
+ }
10059
+ ]
10060
+ }]
10061
+ }], ctorParameters: function () { return [{ type: GrowlBrokerService }, { type: MultiUploadService }, { type: SdkDictionaryService }]; }, propDecorators: { name: [{
10062
+ type: Input
10063
+ }], key: [{
10064
+ type: Input
10065
+ }], label: [{
10066
+ type: Input
10067
+ }], baseUrl: [{
10068
+ type: Input
10069
+ }], croppedPictureFilename: [{
10070
+ type: Input
10071
+ }], resizeToWidth: [{
10072
+ type: Input
10073
+ }], resizeToHeight: [{
10074
+ type: Input
10075
+ }] } });
10076
+
10077
+ class FoehnPictureUploadModule {
10078
+ }
10079
+ FoehnPictureUploadModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnPictureUploadModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10080
+ FoehnPictureUploadModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnPictureUploadModule, declarations: [FoehnPictureUploadComponent], imports: [CommonModule,
10081
+ FoehnIconsModule,
10082
+ FoehnValidationAlertsModule,
10083
+ SdkDictionaryModule,
10084
+ FormsModule,
10085
+ ImageCropperModule], exports: [FoehnPictureUploadComponent] });
10086
+ FoehnPictureUploadModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnPictureUploadModule, imports: [[
10087
+ CommonModule,
10088
+ FoehnIconsModule,
10089
+ FoehnValidationAlertsModule,
10090
+ SdkDictionaryModule,
10091
+ FormsModule,
10092
+ ImageCropperModule
10093
+ ]] });
10094
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnPictureUploadModule, decorators: [{
10095
+ type: NgModule,
10096
+ args: [{
10097
+ imports: [
10098
+ CommonModule,
10099
+ FoehnIconsModule,
10100
+ FoehnValidationAlertsModule,
10101
+ SdkDictionaryModule,
10102
+ FormsModule,
10103
+ ImageCropperModule
10104
+ ],
10105
+ declarations: [FoehnPictureUploadComponent],
10106
+ exports: [FoehnPictureUploadComponent]
10107
+ }]
10108
+ }] });
10109
+
9736
10110
  class EPaymentRequest {
9737
10111
  }
9738
10112
 
@@ -11415,5 +11789,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImpor
11415
11789
  * Generated bundle index. Do not edit.
11416
11790
  */
11417
11791
 
11418
- export { APP_INFO_API_URL, AbstractFoehnUploaderComponent, AbstractListDetailPageComponent, AbstractMenuPageComponent, AbstractPageComponent, AbstractPageFromMenuComponent, ActionStatut, Address, ApplicationInfo, ApplicationInfoService, BAD_PARAMS_HELP_TEXT, BackendResponse, BoDocumentError, BoDocumentsWithErrors, BoMultiUploadService, Breadcrumb, BreadcrumbEventService, BreadcrumbItem, CAPTCHA_ERROR_NAME, CURRENCY_REGEXP, Captcha, ComponentError, Configuration, Country, CurrencyHelper, DECIMALS_SEPARATOR, DEFAULT_INTERNATIONAL_AND_NO_SWISS, DEFAULT_INTERNATIONAL_AND_NO_SWISS_MOBILE, DEFAULT_INTERNATIONAL_AND_NO_SWISS_PHONE, DEFAULT_INTERNATIONAL_HELP_TEXT, DEFAULT_SWISS_HELP_TEXT, DEFAULT_SWISS_MOBILE_PHONE_HELP_TEXT, DEFAULT_SWISS_PHONE_HELP_TEXT, DICTIONARY_BASE_URL, DateHelper, DatePickerHelper, DatePickerNavigationHelper, DayMonth, DisplayCurrencyPipe, DisplayDatePipe, DisplayLoginMessagesData, Document, DocumentError, DocumentReference, DocumentReferenceWithFile, DocumentsWithErrors, EPaymentService, EtapeInfo, FORM_SUPPORT_CYBER_TITLE_FALLBACK, FocusedDay, FoehnAbbrComponent, FoehnAddressModule, FoehnAutocompleteComponent, FoehnAutocompleteModule, FoehnBoMultiUploadComponent, FoehnBoMultiUploadModule, FoehnBooleanCheckboxComponent, FoehnBooleanModule, FoehnBooleanRadioComponent, FoehnBreadcrumbComponent, FoehnBreadcrumbModule, FoehnCheckableGroupComponent, FoehnCheckablesModule, FoehnCheckboxComponent, FoehnConfirmModalComponent, FoehnConfirmModalContent, FoehnConfirmModalModule, FoehnConfirmModalService, FoehnDateComponent, FoehnDatePickerButtonComponent, FoehnDatePickerButtonModule, FoehnDatePickerComponent, FoehnDatePickerModule, FoehnDecisionElectroniqueComponent, FoehnDecisionElectroniqueModule, FoehnDisplayAddressComponent, FoehnErrorPillComponent, FoehnFormComponent, FoehnFormModule, FoehnHeaderComponent, FoehnHeaderModule, FoehnHelpModalComponent, FoehnHelpModalModule, FoehnIconCalendarComponent, FoehnIconCheckComponent, FoehnIconCheckSquareOComponent, FoehnIconChevronDownComponent, FoehnIconChevronLeftComponent, FoehnIconChevronRightComponent, FoehnIconChevronUpComponent, FoehnIconClockComponent, FoehnIconCommentDotsComponent, FoehnIconEditComponent, FoehnIconExternalLinkAltComponent, FoehnIconFilePdfComponent, FoehnIconInfoCircleComponent, FoehnIconLockComponent, FoehnIconMapMarkerComponent, FoehnIconMinusCircleComponent, FoehnIconPlusCircleComponent, FoehnIconPlusSquareComponent, FoehnIconSearchComponent, FoehnIconTimesComponent, FoehnIconTrashAltComponent, FoehnIconUnlockAltComponent, FoehnIconsModule, FoehnInputAddressComponent, FoehnInputComponent, FoehnInputEmailComponent, FoehnInputForeignLocalityComponent, FoehnInputForeignStreetComponent, FoehnInputHiddenComponent, FoehnInputModule, FoehnInputNav13Component, FoehnInputNav13Module, FoehnInputNumberComponent, FoehnInputPasswordComponent, FoehnInputPhoneComponent, FoehnInputStringComponent, FoehnInputTextComponent, FoehnInputTextareaComponent, FoehnListComponent, FoehnListItem, FoehnListModule, FoehnListSummaryComponent, FoehnMenuItemComponent, FoehnMenuItemTransmitComponent, FoehnMenuPrestationModule, FoehnMiscModule, FoehnModalComponent, FoehnModalModule, FoehnMultiUploadComponent, FoehnMultiUploadModule, FoehnNavigationComponent, FoehnNavigationModule, FoehnNavigationService, FoehnNotFoundModule, FoehnNotfoundComponent, FoehnPageComponent, FoehnPageCounterComponent, FoehnPageModalComponent, FoehnPageModule, FoehnPageService, FoehnRadioComponent, FoehnRecapSectionComponent, FoehnRecapSectionModule, FoehnRemainingAlertsSummaryComponent, FoehnRemainingAlertsSummaryModule, FoehnSelectComponent, FoehnSkipLinkComponent, FoehnTimeComponent, FoehnUserConnectedAsComponent, FoehnUserConnectedAsModule, FoehnValidationAlertSummaryComponent, FoehnValidationAlertSummaryModule, FoehnValidationAlertsComponent, FoehnValidationAlertsModule, FooterLink, FormSelectOption, FormatIdePipe, FormatterModule, GESDEM_MAX_DATA_LENGTH, GesdemActionRecoveryLoginComponent, GesdemActionRecoveryModule, GesdemActionRecoveryRegistrationComponent, GesdemConfirmationComponent, GesdemConfirmationModule, GesdemErrorComponent, GesdemErrorModule, GesdemEventService, GesdemHandlerService, GesdemLoaderGuard, GesdemMeta, GesdemStatutUtils, GrowlBrokerService, GrowlMessage, GrowlType, I18nForm, IbanFormatterDirective, IdeFormatterDirective, Locality, MonthYear, MultiUploadService, NDCFormatterDirective, NavigationDirection, NumberCurrencyFormatterDirective, ObjectHelper, PORTAIL_BASE_URL_INT, PageChangeEvent, PendingFiles, PendingUploadService, PipeModule, Portail, Preferences, PrestationsNgCoreModule, RECAPTCHA_API_URL, RecaptchaService, RedirectComponent, SESSION_INFO_API_URL, SWISS_ISO_ID, SdkDictionaryModule, SdkDictionaryPipe, SdkDictionaryService, SdkEpaymentComponent, SdkEpaymentModule, SdkRecaptchaComponent, SdkRecaptchaModule, SdkRedirectModule, ServiceLocator, SessionInfo, SessionInfoData, SessionInfoWithApplicationService, Street, StreetNumber, THOUSANDS_SEPARATOR, UploaderHelper, ValidationHandlerService };
11792
+ export { APP_INFO_API_URL, AbstractFoehnUploaderComponent, AbstractListDetailPageComponent, AbstractMenuPageComponent, AbstractPageComponent, AbstractPageFromMenuComponent, ActionStatut, Address, ApplicationInfo, ApplicationInfoService, BAD_PARAMS_HELP_TEXT, BackendResponse, BoDocumentError, BoDocumentsWithErrors, BoMultiUploadService, Breadcrumb, BreadcrumbEventService, BreadcrumbItem, CAPTCHA_ERROR_NAME, CURRENCY_REGEXP, Captcha, ComponentError, Configuration, Country, CurrencyHelper, DECIMALS_SEPARATOR, DEFAULT_INTERNATIONAL_AND_NO_SWISS, DEFAULT_INTERNATIONAL_AND_NO_SWISS_MOBILE, DEFAULT_INTERNATIONAL_AND_NO_SWISS_PHONE, DEFAULT_INTERNATIONAL_HELP_TEXT, DEFAULT_SWISS_HELP_TEXT, DEFAULT_SWISS_MOBILE_PHONE_HELP_TEXT, DEFAULT_SWISS_PHONE_HELP_TEXT, DICTIONARY_BASE_URL, DateHelper, DatePickerHelper, DatePickerNavigationHelper, DayMonth, DisplayCurrencyPipe, DisplayDatePipe, DisplayLoginMessagesData, Document, DocumentError, DocumentReference, DocumentReferenceWithFile, DocumentsWithErrors, EPaymentService, EtapeInfo, FORM_SUPPORT_CYBER_TITLE_FALLBACK, FocusedDay, FoehnAbbrComponent, FoehnAddressModule, FoehnAutocompleteComponent, FoehnAutocompleteModule, FoehnBoMultiUploadComponent, FoehnBoMultiUploadModule, FoehnBooleanCheckboxComponent, FoehnBooleanModule, FoehnBooleanRadioComponent, FoehnBreadcrumbComponent, FoehnBreadcrumbModule, FoehnCheckableGroupComponent, FoehnCheckablesModule, FoehnCheckboxComponent, FoehnConfirmModalComponent, FoehnConfirmModalContent, FoehnConfirmModalModule, FoehnConfirmModalService, FoehnDateComponent, FoehnDatePickerButtonComponent, FoehnDatePickerButtonModule, FoehnDatePickerComponent, FoehnDatePickerModule, FoehnDecisionElectroniqueComponent, FoehnDecisionElectroniqueModule, FoehnDisplayAddressComponent, FoehnErrorPillComponent, FoehnFormComponent, FoehnFormModule, FoehnHeaderComponent, FoehnHeaderModule, FoehnHelpModalComponent, FoehnHelpModalModule, FoehnIconCalendarComponent, FoehnIconCheckComponent, FoehnIconCheckSquareOComponent, FoehnIconChevronDownComponent, FoehnIconChevronLeftComponent, FoehnIconChevronRightComponent, FoehnIconChevronUpComponent, FoehnIconClockComponent, FoehnIconCommentDotsComponent, FoehnIconEditComponent, FoehnIconExternalLinkAltComponent, FoehnIconFilePdfComponent, FoehnIconInfoCircleComponent, FoehnIconLockComponent, FoehnIconMapMarkerComponent, FoehnIconMinusCircleComponent, FoehnIconPlusCircleComponent, FoehnIconPlusSquareComponent, FoehnIconSearchComponent, FoehnIconTimesComponent, FoehnIconTrashAltComponent, FoehnIconUnlockAltComponent, FoehnIconsModule, FoehnInputAddressComponent, FoehnInputComponent, FoehnInputEmailComponent, FoehnInputForeignLocalityComponent, FoehnInputForeignStreetComponent, FoehnInputHiddenComponent, FoehnInputModule, FoehnInputNav13Component, FoehnInputNav13Module, FoehnInputNumberComponent, FoehnInputPasswordComponent, FoehnInputPhoneComponent, FoehnInputStringComponent, FoehnInputTextComponent, FoehnInputTextareaComponent, FoehnListComponent, FoehnListItem, FoehnListModule, FoehnListSummaryComponent, FoehnMenuItemComponent, FoehnMenuItemTransmitComponent, FoehnMenuPrestationModule, FoehnMiscModule, FoehnModalComponent, FoehnModalModule, FoehnMultiUploadComponent, FoehnMultiUploadModule, FoehnNavigationComponent, FoehnNavigationModule, FoehnNavigationService, FoehnNotFoundModule, FoehnNotfoundComponent, FoehnPageComponent, FoehnPageCounterComponent, FoehnPageModalComponent, FoehnPageModule, FoehnPageService, FoehnPictureUploadComponent, FoehnPictureUploadModule, FoehnRadioComponent, FoehnRecapSectionComponent, FoehnRecapSectionModule, FoehnRemainingAlertsSummaryComponent, FoehnRemainingAlertsSummaryModule, FoehnSelectComponent, FoehnSkipLinkComponent, FoehnTableColumnConfiguration, FoehnTableComponent, FoehnTableModule, FoehnTablePageChangeEvent, FoehnTimeComponent, FoehnUserConnectedAsComponent, FoehnUserConnectedAsModule, FoehnValidationAlertSummaryComponent, FoehnValidationAlertSummaryModule, FoehnValidationAlertsComponent, FoehnValidationAlertsModule, FooterLink, FormSelectOption, FormatIdePipe, FormatterModule, GESDEM_MAX_DATA_LENGTH, GesdemActionRecoveryLoginComponent, GesdemActionRecoveryModule, GesdemActionRecoveryRegistrationComponent, GesdemConfirmationComponent, GesdemConfirmationModule, GesdemErrorComponent, GesdemErrorModule, GesdemEventService, GesdemHandlerService, GesdemLoaderGuard, GesdemMeta, GesdemStatutUtils, GrowlBrokerService, GrowlMessage, GrowlType, I18nForm, IbanFormatterDirective, IdeFormatterDirective, Locality, MonthYear, MultiUploadService, NDCFormatterDirective, NavigationDirection, NumberCurrencyFormatterDirective, ObjectHelper, PORTAIL_BASE_URL_INT, PageChangeEvent, PendingFiles, PendingUploadService, PipeModule, Portail, Preferences, PrestationsNgCoreModule, RECAPTCHA_API_URL, RecaptchaService, RedirectComponent, SESSION_INFO_API_URL, SWISS_ISO_ID, SdkDictionaryModule, SdkDictionaryPipe, SdkDictionaryService, SdkEpaymentComponent, SdkEpaymentModule, SdkRecaptchaComponent, SdkRecaptchaModule, SdkRedirectModule, ServiceLocator, SessionInfo, SessionInfoData, SessionInfoWithApplicationService, Street, StreetNumber, THOUSANDS_SEPARATOR, TableSort, UploaderHelper, ValidationHandlerService };
11419
11793
  //# sourceMappingURL=dsivd-prestations-ng.js.map