@dsivd/prestations-ng 17.10.9 → 18.0.0-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2478 -2466
- package/CONTRIBUTING.md +66 -66
- package/ESLINT_MIGRATION_GUIDE.md +19 -33
- package/MODULES.md +88 -88
- package/MULTI_ETAPES.md +9 -9
- package/README.md +25 -24
- package/README_COMMON.md +10 -10
- package/UPGRADING_V12.md +36 -36
- package/UPGRADING_V13.md +3 -3
- package/UPGRADING_V14.md +2 -2
- package/UPGRADING_V15.md +4 -4
- package/UPGRADING_V16.md +38 -38
- package/UPGRADING_V17.md +51 -51
- package/UPGRADING_V18.md +596 -8
- package/UPGRADING_V8.md +5 -5
- package/abstract-page-component.d.ts +1 -1
- package/dsivd-prestations-ng-18.0.0-beta.10.tgz +0 -0
- package/fesm2022/dsivd-prestations-ng.mjs +903 -868
- package/fesm2022/dsivd-prestations-ng.mjs.map +1 -1
- package/foehn-checkables/foehn-checkable-group.component.d.ts +1 -1
- package/foehn-checkables/foehn-checkables.module.d.ts +6 -7
- package/foehn-date-picker/date-picker.helper.d.ts +1 -1
- package/foehn-icons/abstract-icon-component.d.ts +1 -1
- package/foehn-input/foehn-input-string.component.d.ts +1 -1
- package/foehn-input/foehn-input.component.d.ts +1 -1
- package/foehn-menu-prestation/abstract-list-item-detail-page.component.d.ts +1 -1
- package/foehn-menu-prestation/abstract-menu-page.component.d.ts +1 -1
- package/foehn-menu-prestation/abstract-page-from-menu.component.d.ts +1 -1
- package/foehn-navigation/abstract-foehn-navigation.component.d.ts +1 -1
- package/foehn-table/foehn-table.component.d.ts +1 -6
- package/foehn-upload/abstract-foehn-uploader.component.d.ts +1 -2
- package/foehn-upload/foehn-picture-upload/foehn-picture-upload.component.d.ts +1 -3
- package/foehn-upload/foehn-picture-upload/foehn-picture-upload.module.d.ts +1 -1
- package/index.d.ts +1 -1
- package/index.html +1 -1
- package/package.json +15 -17
- package/prestations-ng-core.module.d.ts +5 -4
- package/sdk-appinfo/application-info.service.d.ts +1 -0
- package/sdk-drafts/drafts.module.d.ts +7 -8
- package/sdk-support-alert/support-alert.module.d.ts +2 -3
- package/dsivd-prestations-ng-17.10.9.tgz +0 -0
- package/esm2022/abstract-page-component.mjs +0 -232
- package/esm2022/directives/currency-formatter.directive.mjs +0 -143
- package/esm2022/directives/formatter.module.mjs +0 -37
- package/esm2022/directives/iban-formatter.directive.mjs +0 -29
- package/esm2022/directives/ide-formatter.directive.mjs +0 -37
- package/esm2022/directives/ndc-formatter.directive.mjs +0 -75
- package/esm2022/dsivd-prestations-ng.mjs +0 -5
- package/esm2022/foehn-address/address.type.mjs +0 -10
- package/esm2022/foehn-address/foehn-address.module.mjs +0 -55
- package/esm2022/foehn-address/foehn-display-address.component.mjs +0 -69
- package/esm2022/foehn-address/foehn-input-address.component.mjs +0 -498
- package/esm2022/foehn-address/foehn-input-foreign-locality.component.mjs +0 -66
- package/esm2022/foehn-address/foehn-input-foreign-street.component.mjs +0 -56
- package/esm2022/foehn-agenda/calendar.type.mjs +0 -3
- package/esm2022/foehn-agenda/current-week.type.mjs +0 -4
- package/esm2022/foehn-agenda/day-slots.type.mjs +0 -3
- package/esm2022/foehn-agenda/foehn-agenda-navigation/foehn-agenda-navigation.component.mjs +0 -75
- package/esm2022/foehn-agenda/foehn-agenda-timeslot-panel/foehn-agenda-timeslot-panel.component.mjs +0 -242
- package/esm2022/foehn-agenda/foehn-agenda.component.mjs +0 -95
- package/esm2022/foehn-agenda/foehn-agenda.module.mjs +0 -62
- package/esm2022/foehn-agenda/pagination-week.type.mjs +0 -3
- package/esm2022/foehn-agenda/selected-slot.type.mjs +0 -3
- package/esm2022/foehn-autocomplete/foehn-autocomplete.component.mjs +0 -684
- package/esm2022/foehn-autocomplete/foehn-autocomplete.module.mjs +0 -40
- package/esm2022/foehn-boolean/foehn-boolean-checkbox.component.mjs +0 -28
- package/esm2022/foehn-boolean/foehn-boolean-radio.component.mjs +0 -40
- package/esm2022/foehn-boolean/foehn-boolean.module.mjs +0 -33
- package/esm2022/foehn-breadcrumb/breadcrumb-event.service.mjs +0 -177
- package/esm2022/foehn-breadcrumb/breadcrumb.mjs +0 -5
- package/esm2022/foehn-breadcrumb/foehn-breadcrumb.component.mjs +0 -106
- package/esm2022/foehn-breadcrumb/foehn-breadcrumb.module.mjs +0 -20
- package/esm2022/foehn-checkables/foehn-checkable-group.component.mjs +0 -291
- package/esm2022/foehn-checkables/foehn-checkables.module.mjs +0 -68
- package/esm2022/foehn-checkables/foehn-checkbox.component.mjs +0 -37
- package/esm2022/foehn-checkables/foehn-radio.component.mjs +0 -64
- package/esm2022/foehn-checkables/foehn-select.component.mjs +0 -55
- package/esm2022/foehn-checkables/form-select-option-group.mjs +0 -3
- package/esm2022/foehn-checkables/form-select-option.mjs +0 -3
- package/esm2022/foehn-confirm-modal/foehn-confirm-modal-content.mjs +0 -7
- package/esm2022/foehn-confirm-modal/foehn-confirm-modal.component.mjs +0 -40
- package/esm2022/foehn-confirm-modal/foehn-confirm-modal.module.mjs +0 -19
- package/esm2022/foehn-confirm-modal/foehn-confirm-modal.service.mjs +0 -53
- package/esm2022/foehn-date-picker/date-picker-navigation.helper.mjs +0 -168
- package/esm2022/foehn-date-picker/date-picker.helper.mjs +0 -132
- package/esm2022/foehn-date-picker/day-month.type.mjs +0 -3
- package/esm2022/foehn-date-picker/focused-day.type.mjs +0 -3
- package/esm2022/foehn-date-picker/foehn-date-picker.component.mjs +0 -392
- package/esm2022/foehn-date-picker/foehn-date-picker.module.mjs +0 -40
- package/esm2022/foehn-date-picker/month-year.type.mjs +0 -3
- package/esm2022/foehn-date-picker-button/foehn-date-picker-button.component.mjs +0 -97
- package/esm2022/foehn-date-picker-button/foehn-date-picker-button.module.mjs +0 -36
- package/esm2022/foehn-debug-summary/foehn-debug-summary.component.mjs +0 -84
- package/esm2022/foehn-debug-summary/foehn-debug-summary.component.module.mjs +0 -20
- package/esm2022/foehn-decision-electronique/foehn-decision-electronique.component.mjs +0 -37
- package/esm2022/foehn-decision-electronique/foehn-decision-electronique.module.mjs +0 -32
- package/esm2022/foehn-dropdown-menu/dropdown-menu-group.type.mjs +0 -3
- package/esm2022/foehn-dropdown-menu/dropdown-menu-item.type.mjs +0 -6
- package/esm2022/foehn-dropdown-menu/foehn-dropdown-menu.component.mjs +0 -212
- package/esm2022/foehn-dropdown-menu/foehn-dropdown-menu.module.mjs +0 -21
- package/esm2022/foehn-feedback-notification/foehn-feedback-notification.component.mjs +0 -113
- package/esm2022/foehn-feedback-notification/foehn-feedback-notification.module.mjs +0 -32
- package/esm2022/foehn-feedback-notification/foehn-feedback-notification.type.mjs +0 -3
- package/esm2022/foehn-footer/foehn-footer.component.mjs +0 -130
- package/esm2022/foehn-footer/foehn-footer.module.mjs +0 -19
- package/esm2022/foehn-footer/footer-link.type.mjs +0 -3
- package/esm2022/foehn-form/foehn-form.component.mjs +0 -136
- package/esm2022/foehn-form/foehn-form.module.mjs +0 -32
- package/esm2022/foehn-form/register-ng-model.service.mjs +0 -23
- package/esm2022/foehn-growl/foehn-growl.component.mjs +0 -45
- package/esm2022/foehn-growl/foehn-growl.module.mjs +0 -18
- package/esm2022/foehn-growl/growl-broker.service.mjs +0 -37
- package/esm2022/foehn-growl/growl-message.mjs +0 -9
- package/esm2022/foehn-growl/growl-types.mjs +0 -7
- package/esm2022/foehn-header/foehn-header.component.mjs +0 -159
- package/esm2022/foehn-header/foehn-header.module.mjs +0 -40
- package/esm2022/foehn-header/foehn-skip-link.component.mjs +0 -51
- package/esm2022/foehn-help-modal/foehn-help-modal.component.mjs +0 -44
- package/esm2022/foehn-help-modal/foehn-help-modal.module.mjs +0 -20
- package/esm2022/foehn-help-modal/foehn-help-modal.type.mjs +0 -2
- package/esm2022/foehn-icons/abstract-icon-component.mjs +0 -12
- package/esm2022/foehn-icons/foehn-icon-calendar.component.mjs +0 -19
- package/esm2022/foehn-icons/foehn-icon-check-square-o.component.mjs +0 -19
- package/esm2022/foehn-icons/foehn-icon-check.component.mjs +0 -19
- package/esm2022/foehn-icons/foehn-icon-chevron-down.component.mjs +0 -19
- package/esm2022/foehn-icons/foehn-icon-chevron-left.component.mjs +0 -19
- package/esm2022/foehn-icons/foehn-icon-chevron-right.component.mjs +0 -19
- package/esm2022/foehn-icons/foehn-icon-chevron-up.component.mjs +0 -19
- package/esm2022/foehn-icons/foehn-icon-clock.component.mjs +0 -19
- package/esm2022/foehn-icons/foehn-icon-comment-dots.component.mjs +0 -19
- package/esm2022/foehn-icons/foehn-icon-edit.component.mjs +0 -19
- package/esm2022/foehn-icons/foehn-icon-external-link-alt.component.mjs +0 -19
- package/esm2022/foehn-icons/foehn-icon-file-pdf.component.mjs +0 -19
- package/esm2022/foehn-icons/foehn-icon-info-circle.component.mjs +0 -19
- package/esm2022/foehn-icons/foehn-icon-lock.component.mjs +0 -19
- package/esm2022/foehn-icons/foehn-icon-map-marker.component.mjs +0 -19
- package/esm2022/foehn-icons/foehn-icon-minus-circle.component.mjs +0 -19
- package/esm2022/foehn-icons/foehn-icon-pencil.component.mjs +0 -19
- package/esm2022/foehn-icons/foehn-icon-plus-circle.component.mjs +0 -19
- package/esm2022/foehn-icons/foehn-icon-plus-square.component.mjs +0 -19
- package/esm2022/foehn-icons/foehn-icon-search.component.mjs +0 -19
- package/esm2022/foehn-icons/foehn-icon-times.component.mjs +0 -19
- package/esm2022/foehn-icons/foehn-icon-trash-alt.component.mjs +0 -19
- package/esm2022/foehn-icons/foehn-icon-unlock-alt.component.mjs +0 -19
- package/esm2022/foehn-icons/foehn-icon-user.component.mjs +0 -19
- package/esm2022/foehn-icons/foehn-icons.module.mjs +0 -139
- package/esm2022/foehn-input/foehn-input-email.component.mjs +0 -74
- package/esm2022/foehn-input/foehn-input-hidden.component.mjs +0 -54
- package/esm2022/foehn-input/foehn-input-number.component.mjs +0 -319
- package/esm2022/foehn-input/foehn-input-password.component.mjs +0 -51
- package/esm2022/foehn-input/foehn-input-phone.component.mjs +0 -99
- package/esm2022/foehn-input/foehn-input-prefixed-text.component.mjs +0 -116
- package/esm2022/foehn-input/foehn-input-string.component.mjs +0 -27
- package/esm2022/foehn-input/foehn-input-text.component.mjs +0 -69
- package/esm2022/foehn-input/foehn-input-textarea.component.mjs +0 -97
- package/esm2022/foehn-input/foehn-input.component.mjs +0 -418
- package/esm2022/foehn-input/foehn-input.module.mjs +0 -98
- package/esm2022/foehn-input/pattern.const.mjs +0 -16
- package/esm2022/foehn-input-date/foehn-input-date.component.mjs +0 -163
- package/esm2022/foehn-input-date-time/foehn-input-date-time.component.mjs +0 -201
- package/esm2022/foehn-input-time/foehn-input-time.component.mjs +0 -89
- package/esm2022/foehn-list/foehn-list.component.mjs +0 -127
- package/esm2022/foehn-list/foehn-list.module.mjs +0 -19
- package/esm2022/foehn-list/page-change-event.mjs +0 -3
- package/esm2022/foehn-menu-prestation/abstract-list-item-detail-page.component.mjs +0 -122
- package/esm2022/foehn-menu-prestation/abstract-menu-page.component.mjs +0 -31
- package/esm2022/foehn-menu-prestation/abstract-page-from-menu.component.mjs +0 -87
- package/esm2022/foehn-menu-prestation/foehn-error-pill/foehn-error-pill.component.mjs +0 -25
- package/esm2022/foehn-menu-prestation/foehn-list-summary/foehn-list-item-description.mjs +0 -2
- package/esm2022/foehn-menu-prestation/foehn-list-summary/foehn-list-item.mjs +0 -3
- package/esm2022/foehn-menu-prestation/foehn-list-summary/foehn-list-summary.component.mjs +0 -161
- package/esm2022/foehn-menu-prestation/foehn-menu-items/foehn-menu-item/foehn-menu-item.component.mjs +0 -38
- package/esm2022/foehn-menu-prestation/foehn-menu-items/foehn-menu-item-transmit/foehn-menu-item-transmit.component.mjs +0 -58
- package/esm2022/foehn-menu-prestation/foehn-menu-prestation.module.mjs +0 -67
- package/esm2022/foehn-misc/foehn-abbr.component.mjs +0 -15
- package/esm2022/foehn-misc/foehn-misc.module.mjs +0 -17
- package/esm2022/foehn-modal/foehn-modal.component.mjs +0 -94
- package/esm2022/foehn-modal/foehn-modal.module.mjs +0 -21
- package/esm2022/foehn-multiselect-autocomplete/foehn-multiselect-autocomplete.component.mjs +0 -287
- package/esm2022/foehn-multiselect-autocomplete/foehn-multiselect-autocomplete.module.mjs +0 -40
- package/esm2022/foehn-nav13/foehn-input-nav13.component.mjs +0 -114
- package/esm2022/foehn-nav13/foehn-input-nav13.module.mjs +0 -32
- package/esm2022/foehn-navigation/abstract-foehn-navigation.component.mjs +0 -55
- package/esm2022/foehn-navigation/foehn-navigation/foehn-navigation.component.mjs +0 -67
- package/esm2022/foehn-navigation/foehn-navigation.module.mjs +0 -37
- package/esm2022/foehn-navigation/foehn-navigation.service.mjs +0 -322
- package/esm2022/foehn-navigation/foehn-simple-navigation/foehn-simple-navigation.component.mjs +0 -26
- package/esm2022/foehn-notfound/foehn-notfound.component.mjs +0 -61
- package/esm2022/foehn-notfound/foehn-notfound.module.mjs +0 -20
- package/esm2022/foehn-page/foehn-page-counter.component.mjs +0 -31
- package/esm2022/foehn-page/foehn-page-expiration-timer/current-session-expiration.mjs +0 -3
- package/esm2022/foehn-page/foehn-page-expiration-timer/demande-expiration-interceptor.mjs +0 -68
- package/esm2022/foehn-page/foehn-page-expiration-timer/demande-expiration.service.mjs +0 -53
- package/esm2022/foehn-page/foehn-page-expiration-timer/foehn-page-expiration-timer.component.mjs +0 -175
- package/esm2022/foehn-page/foehn-page-expiration-timer/interval.helper.mjs +0 -29
- package/esm2022/foehn-page/foehn-page-modal.component.mjs +0 -54
- package/esm2022/foehn-page/foehn-page-modal.service.mjs +0 -38
- package/esm2022/foehn-page/foehn-page.component.mjs +0 -223
- package/esm2022/foehn-page/foehn-page.module.mjs +0 -101
- package/esm2022/foehn-page/foehn-page.service.mjs +0 -54
- package/esm2022/foehn-page/foehn-transmit-waiting-modal/demande-transmit-interceptor.mjs +0 -52
- package/esm2022/foehn-page/foehn-transmit-waiting-modal/foehn-transmit-waiting-modal.component.mjs +0 -23
- package/esm2022/foehn-page/foehn-transmit-waiting-modal/foehn-transmit-waiting-modal.service.mjs +0 -32
- package/esm2022/foehn-recap-section/foehn-recap-section.component.mjs +0 -98
- package/esm2022/foehn-recap-section/foehn-recap-section.module.mjs +0 -20
- package/esm2022/foehn-recap-section/foehn-recap-section.type.mjs +0 -2
- package/esm2022/foehn-remaining-alerts-summary/foehn-remaining-alerts-summary.component.mjs +0 -50
- package/esm2022/foehn-remaining-alerts-summary/foehn-remaining-alerts-summary.module.mjs +0 -18
- package/esm2022/foehn-status-progress-bar/foehn-status-progress-bar.component.mjs +0 -56
- package/esm2022/foehn-status-progress-bar/foehn-status-progress-bar.module.mjs +0 -20
- package/esm2022/foehn-table/foehn-table-column-configuration.mjs +0 -3
- package/esm2022/foehn-table/foehn-table-page-change-event.mjs +0 -3
- package/esm2022/foehn-table/foehn-table.component.mjs +0 -190
- package/esm2022/foehn-table/foehn-table.module.mjs +0 -40
- package/esm2022/foehn-table/row-element.type.mjs +0 -3
- package/esm2022/foehn-table/tableSort.mjs +0 -3
- package/esm2022/foehn-upload/abstract-foehn-uploader.component.mjs +0 -242
- package/esm2022/foehn-upload/document-reference.mjs +0 -6
- package/esm2022/foehn-upload/foehn-bo-multi-upload/bo-multi-upload.service.mjs +0 -116
- package/esm2022/foehn-upload/foehn-bo-multi-upload/bo-multi-upload.type.mjs +0 -6
- package/esm2022/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.component.mjs +0 -199
- package/esm2022/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.module.mjs +0 -40
- package/esm2022/foehn-upload/foehn-multi-upload/foehn-multi-upload.component.mjs +0 -250
- package/esm2022/foehn-upload/foehn-multi-upload/foehn-multi-upload.module.mjs +0 -40
- package/esm2022/foehn-upload/foehn-multi-upload/multi-upload.service.mjs +0 -125
- package/esm2022/foehn-upload/foehn-multi-upload/multi-upload.type.mjs +0 -6
- package/esm2022/foehn-upload/foehn-multi-upload/pending-upload.service.mjs +0 -163
- package/esm2022/foehn-upload/foehn-picture-upload/foehn-picture-upload.component.mjs +0 -178
- package/esm2022/foehn-upload/foehn-picture-upload/foehn-picture-upload.module.mjs +0 -44
- package/esm2022/foehn-upload/foehn-upload-progress-bar/foehn-upload-progress-bar.component.mjs +0 -83
- package/esm2022/foehn-upload/foehn-upload-progress-bar/foehn-upload-progress-bar.module.mjs +0 -21
- package/esm2022/foehn-upload/foehn-upload-progress-bar/upload-progress.service.mjs +0 -66
- package/esm2022/foehn-upload/foehn-upload-progress-bar/upload-progress.type.mjs +0 -7
- package/esm2022/foehn-upload/page-upload-limit.service.mjs +0 -80
- package/esm2022/foehn-upload/pending-upload.type.mjs +0 -3
- package/esm2022/foehn-upload/uploader.helper.mjs +0 -329
- package/esm2022/foehn-user-connected-as/foehn-user-connected-as.component.mjs +0 -21
- package/esm2022/foehn-user-connected-as/foehn-user-connected-as.module.mjs +0 -19
- package/esm2022/foehn-validation-alert-summary/foehn-validation-alert-summary.component.mjs +0 -96
- package/esm2022/foehn-validation-alert-summary/foehn-validation-alert-summary.module.mjs +0 -19
- package/esm2022/foehn-validation-alerts/foehn-validation-alerts.component.mjs +0 -29
- package/esm2022/foehn-validation-alerts/foehn-validation-alerts.module.mjs +0 -18
- package/esm2022/form-error.mjs +0 -2
- package/esm2022/form-post-response.mjs +0 -10
- package/esm2022/gesdem/gesdem-error-handler.service.mjs +0 -85
- package/esm2022/gesdem/gesdem-event.service.mjs +0 -38
- package/esm2022/gesdem/gesdem-handler.service.mjs +0 -201
- package/esm2022/gesdem/gesdem-loader.guard.mjs +0 -25
- package/esm2022/gesdem/gesdem-statut-utils.mjs +0 -25
- package/esm2022/gesdem-action-recovery/gesdem-action-recovery-login/gesdem-action-recovery-login.component.mjs +0 -170
- package/esm2022/gesdem-action-recovery/gesdem-action-recovery-registration/gesdem-action-recovery-registration.component.mjs +0 -227
- package/esm2022/gesdem-action-recovery/gesdem-action-recovery.module.mjs +0 -62
- package/esm2022/gesdem-action-recovery/gesdem-action-recovery.service.mjs +0 -97
- package/esm2022/gesdem-action-recovery/reprise-info.mjs +0 -4
- package/esm2022/gesdem-confirmation/gesdem-confirmation.component.mjs +0 -241
- package/esm2022/gesdem-confirmation/gesdem-confirmation.module.mjs +0 -36
- package/esm2022/gesdem-error/gesdem-error.component.mjs +0 -96
- package/esm2022/gesdem-error/gesdem-error.module.mjs +0 -36
- package/esm2022/global.const.mjs +0 -5
- package/esm2022/helpers/demande.helper.mjs +0 -19
- package/esm2022/helpers/object.helper.mjs +0 -124
- package/esm2022/i18n-form.mjs +0 -7
- package/esm2022/pipes/currency.pipe.mjs +0 -18
- package/esm2022/pipes/date.pipe.mjs +0 -43
- package/esm2022/pipes/formatIde.pipe.mjs +0 -22
- package/esm2022/pipes/pipes.module.mjs +0 -18
- package/esm2022/prestations-ng-core.module.mjs +0 -31
- package/esm2022/public_api.mjs +0 -288
- package/esm2022/refinf/model/address-type-light.mjs +0 -3
- package/esm2022/refinf/model/canton.mjs +0 -3
- package/esm2022/refinf/model/district.mjs +0 -3
- package/esm2022/refinf/model/municipality.mjs +0 -3
- package/esm2022/refinf/model/place-of-origin.mjs +0 -3
- package/esm2022/refinf/model/postal-locality.mjs +0 -3
- package/esm2022/sdk-appinfo/application-info.mjs +0 -22
- package/esm2022/sdk-appinfo/application-info.service.mjs +0 -146
- package/esm2022/sdk-currency/currency.helper.mjs +0 -34
- package/esm2022/sdk-date/date.helper.mjs +0 -109
- package/esm2022/sdk-dictionary/default-dictionary.mjs +0 -312
- package/esm2022/sdk-dictionary/sdk-dictionary.module.mjs +0 -16
- package/esm2022/sdk-dictionary/sdk-dictionary.pipe.mjs +0 -28
- package/esm2022/sdk-dictionary/sdk-dictionary.service.mjs +0 -122
- package/esm2022/sdk-drafts/draft.model.mjs +0 -2
- package/esm2022/sdk-drafts/drafts-container.component.mjs +0 -99
- package/esm2022/sdk-drafts/drafts.module.mjs +0 -47
- package/esm2022/sdk-drafts/drafts.service.mjs +0 -51
- package/esm2022/sdk-epayment/model/EPaymentParameters.mjs +0 -2
- package/esm2022/sdk-epayment/pending-payment/pending-payment.component.mjs +0 -24
- package/esm2022/sdk-epayment/sdk-epayment.component.mjs +0 -76
- package/esm2022/sdk-epayment/sdk-epayment.module.mjs +0 -23
- package/esm2022/sdk-epayment/sdk-epayment.service.mjs +0 -51
- package/esm2022/sdk-events-logger/sdk-event-type.mjs +0 -14
- package/esm2022/sdk-events-logger/sdk-event.mjs +0 -3
- package/esm2022/sdk-events-logger/sdk-events-logger.service.mjs +0 -43
- package/esm2022/sdk-recaptcha/grecaptcha/grecaptcha.component.mjs +0 -113
- package/esm2022/sdk-recaptcha/recaptcha.service.mjs +0 -180
- package/esm2022/sdk-recaptcha/sdk-recaptcha.component.mjs +0 -75
- package/esm2022/sdk-recaptcha/sdk-recaptcha.module.mjs +0 -19
- package/esm2022/sdk-redirect/iam-expired-interceptor.service.mjs +0 -62
- package/esm2022/sdk-redirect/redirect.component.mjs +0 -55
- package/esm2022/sdk-redirect/sdk-redirect.module.mjs +0 -19
- package/esm2022/sdk-session-info/session-info-data.mjs +0 -6
- package/esm2022/sdk-session-info/session-info-with-application.service.mjs +0 -68
- package/esm2022/sdk-session-info/session-info.service.mjs +0 -50
- package/esm2022/sdk-statistics/sdk-statistics.service.mjs +0 -74
- package/esm2022/sdk-support-alert/support-alert-container.component.mjs +0 -49
- package/esm2022/sdk-support-alert/support-alert.component.mjs +0 -32
- package/esm2022/sdk-support-alert/support-alert.model.mjs +0 -7
- package/esm2022/sdk-support-alert/support-alert.module.mjs +0 -21
- package/esm2022/sdk-support-alert/support-alert.service.mjs +0 -139
- package/esm2022/service-locator.mjs +0 -4
- package/esm2022/supported-browser.mjs +0 -2
- package/esm2022/validation/validation-handler.service.mjs +0 -44
- /package/{public_api.d.ts → public-api.d.ts} +0 -0
package/UPGRADING_V18.md
CHANGED
|
@@ -2,21 +2,609 @@
|
|
|
2
2
|
|
|
3
3
|
For the commands in this guide, it is supposed that your are in the `front` folder of your project.
|
|
4
4
|
|
|
5
|
+
## PRESTATIONS-NG
|
|
6
|
+
|
|
7
|
+
The main feature in `prestations-ng` v18 is the update of the `@angular/*` peer dependencies
|
|
8
|
+
to `^19.2.14`, using `node 20+` to build, `npm 10+` for package manager and `Foehn 2+ (Bootstrap 5+)` for our design system.
|
|
9
|
+
|
|
10
|
+
### Migrating to ESLint
|
|
11
|
+
|
|
12
|
+
(NB : you can skip this step if you already have a `front/eslintrc.json` file, it means it is already done.)
|
|
13
|
+
Follow [our migration guide](ESLINT_MIGRATION_GUIDE.md) to migrate your project from TSLint to ESLint.
|
|
14
|
+
|
|
15
|
+
### Updating to Angular 18
|
|
16
|
+
|
|
17
|
+
Just FYI if you are curious about the details, you can find the Angular update guide at this address [https://angular.dev/update-guide?v=17.0-18.0&l=1](https://angular.dev/update-guide?v=17.0-18.0&l=1)
|
|
18
|
+
|
|
19
|
+
**NB: Commit before continuing so your repository is clean.**
|
|
20
|
+
|
|
21
|
+
Remove your `resolutions` in `package.json` before starting : if you have `resolutions` in `package.json`, remove manually the section.
|
|
22
|
+
In the next commands, commit before each ng update.
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
npm install
|
|
26
|
+
ng update @angular/core@17 @angular/cli@17
|
|
27
|
+
ng update @dsivd/prestations-ng@17
|
|
28
|
+
|
|
29
|
+
npm install @angular/cli@18 -g
|
|
30
|
+
ng update @angular/core@18 @angular/cli@18
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
When asked the question "Select the migrations that you'd like to run", accept "use-application-builder" by hitting "Space" key then "Enter".
|
|
34
|
+
|
|
35
|
+
#### Fix provideHttpClient withXsrfConfiguration
|
|
36
|
+
|
|
37
|
+
Modify your `app.module.ts` and add:
|
|
38
|
+
`{
|
|
39
|
+
cookieName: 'XSRF-TOKEN',
|
|
40
|
+
headerName: 'X-XSRF-TOKEN'
|
|
41
|
+
}`
|
|
42
|
+
to `withXsrfConfiguration()`.
|
|
43
|
+
|
|
44
|
+
```diff
|
|
45
|
+
providers: [
|
|
46
|
+
META_SERVICE_PROVIDER,
|
|
47
|
+
- provideHttpClient(withXsrfConfiguration()),
|
|
48
|
+
+ provideHttpClient(withXsrfConfiguration({
|
|
49
|
+
+ cookieName: 'XSRF-TOKEN',
|
|
50
|
+
+ headerName: 'X-XSRF-TOKEN'
|
|
51
|
+
+ })),
|
|
52
|
+
]
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
#### Add an empty "browser" to your output path in angular.json
|
|
56
|
+
|
|
57
|
+
```diff
|
|
58
|
+
{
|
|
59
|
+
"projects": {
|
|
60
|
+
"[YOUR_PROJECT_NAME]": {
|
|
61
|
+
"architect": {
|
|
62
|
+
"build": {
|
|
63
|
+
"options": {
|
|
64
|
+
"outputPath": {
|
|
65
|
+
- "base": "dist"
|
|
66
|
+
+ "base": "dist",
|
|
67
|
+
+ "browser": ""
|
|
68
|
+
}
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Continue with your migration:
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
ng update @fortawesome/angular-fontawesome@0.15 --force
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
**NB: When using `@angular/cdk` in your project**
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
ng update @angular/cdk@18
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### Updating to Angular 19
|
|
84
|
+
|
|
85
|
+
`prestations-ng` **v18+** now supports **Angular v19**.
|
|
86
|
+
|
|
87
|
+
Just FYI if you are curious about the details, you can find the Angular update guide at this address [https://angular.dev/update-guide?v=18.0-19.0&l=1](https://angular.dev/update-guide?v=18.0-19.0&l=1)
|
|
88
|
+
|
|
89
|
+
**NB: Commit before continuing so your repository is clean.**
|
|
90
|
+
|
|
91
|
+
#### When having migrated to ESLint
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
npm install @angular/cli@19 -g
|
|
95
|
+
ng update typescript@5.5
|
|
96
|
+
ng update @dsivd/prestations-ng@latest
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
When asked the question "Select the migrations that you'd like to run", accept "provide-initializer" by hitting "Space" key then "Enter".
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
ng update @angular/cli@19
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
When asked the question "Select the migrations that you'd like to run", accept "use-application-builder" by hitting "Space" key then "Enter".
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
ng update @angular-eslint/builder@19
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
**NB: When using `@angular/cdk` in your project**
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
ng update @angular/cdk@19
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
**NB: When using `ngx-matomo-client` in your project**
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
ng update ngx-matomo-client@7
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
Continue with your migration:
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
npm install --save-dev jasmine@5
|
|
127
|
+
|
|
128
|
+
ng update karma@6.4 karma-chrome-launcher@3.2 karma-coverage@2.2 karma-jasmine@5.1 karma-jasmine-html-reporter@2.1
|
|
129
|
+
|
|
130
|
+
npm install --save-dev @typescript-eslint/utils@7 @typescript-eslint/types@7
|
|
131
|
+
|
|
132
|
+
ng update @angular-eslint/eslint-plugin@19 @angular-eslint/eslint-plugin-template@19 @angular-eslint/template-parser@19
|
|
133
|
+
ng update @typescript-eslint/eslint-plugin@7 @typescript-eslint/parser@7
|
|
134
|
+
ng update eslint-plugin-import eslint-plugin-jasmine eslint-plugin-rxjs-angular eslint-plugin-simple-import-sort
|
|
135
|
+
ng update eslint@8
|
|
136
|
+
ng update eslint-plugin-rxjs
|
|
137
|
+
ng update @types/jasmine@5 @types/node@20 ts-node@10
|
|
138
|
+
|
|
139
|
+
npm remove eslint-plugin-jsdoc
|
|
140
|
+
|
|
141
|
+
npm remove puppeteer
|
|
142
|
+
npm install --save-dev puppeteer
|
|
143
|
+
|
|
144
|
+
npm update
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
#### Fix proxy.conf.json
|
|
148
|
+
|
|
149
|
+
In your `proxy.conf.json` file:
|
|
150
|
+
|
|
151
|
+
- remove `/*` at the end of your api url
|
|
152
|
+
- remove `"changeOrigin": true`
|
|
153
|
+
|
|
154
|
+
```diff
|
|
155
|
+
- "/pub/101102/api/*": {
|
|
156
|
+
+ "/pub/101102/api": {
|
|
157
|
+
"target": "http://localhost:16400",
|
|
158
|
+
- "changeOrigin": true,
|
|
159
|
+
"secure": false,
|
|
160
|
+
"pathRewrite": {
|
|
161
|
+
"^/api": ""
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
#### NgHttpLoader migration as standalone
|
|
167
|
+
|
|
168
|
+
In your `app.module.ts` file:
|
|
169
|
+
|
|
170
|
+
- Remove `import { NgHttpLoaderModule } from 'ng-http-loader';`
|
|
171
|
+
- Remove `NgHttpLoaderModule.forRoot()` from `imports` in `@NgModule(...)`
|
|
172
|
+
- Add `NgHttpLoaderComponent` to `imports` in `@NgModule(...)`
|
|
173
|
+
- Add `withInterceptors([pendingRequestsInterceptor$])` to `providers` in `@NgModule(...)`
|
|
174
|
+
|
|
175
|
+
```diff
|
|
176
|
+
- import { NgHttpLoaderModule } from 'ng-http-loader';
|
|
177
|
+
+ import { NgHttpLoaderComponent, pendingRequestsInterceptor$ } from 'ng-http-loader';
|
|
178
|
+
|
|
179
|
+
@NgModule({
|
|
180
|
+
imports: [
|
|
181
|
+
- NgHttpLoaderModule.forRoot(),
|
|
182
|
+
+ NgHttpLoaderComponent,
|
|
183
|
+
], providers: [
|
|
184
|
+
provideHttpClient(
|
|
185
|
+
+ withInterceptors([pendingRequestsInterceptor$]),
|
|
186
|
+
]
|
|
187
|
+
})
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
#### ImageCropper migration as standalone (if you are using it in your project)
|
|
191
|
+
|
|
192
|
+
- Remove `import { ImageCropperModule } from 'ngx-image-cropper';`
|
|
193
|
+
- Remove `ImageCropperModule` from `imports` in `@NgModule(...)`
|
|
194
|
+
- Add `ImageCropperComponent` to `imports` in `@NgModule(...)`
|
|
195
|
+
|
|
196
|
+
```diff
|
|
197
|
+
- import { ImageCropperModule } from 'ngx-image-cropper';
|
|
198
|
+
+ import { ImageCropperComponent } from 'ngx-image-cropper';
|
|
199
|
+
|
|
200
|
+
@NgModule({
|
|
201
|
+
imports: [
|
|
202
|
+
- ImageCropperModule,
|
|
203
|
+
+ ImageCropperComponent,
|
|
204
|
+
]
|
|
205
|
+
})
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
#### Matomo migration as standalone (if you are using it in your project)
|
|
209
|
+
|
|
210
|
+
In your `app.module.ts` file:
|
|
211
|
+
|
|
212
|
+
- Remove `import { MatomoInitializationMode, MatomoModule } from 'ngx-matomo-client';`
|
|
213
|
+
- Remove `MatomoModule.forRoot({mode: MatomoInitializationMode.AUTO_DEFERRED})` from `imports` in `@NgModule(...)`
|
|
214
|
+
- Add `provideMatomo` to `imports` in `@NgModule(...)`
|
|
215
|
+
- Add `provideMatomo({ mode: 'deferred' })` to `providers` in `@NgModule(...)`
|
|
216
|
+
|
|
217
|
+
```diff
|
|
218
|
+
- import { MatomoInitializationMode, MatomoInitializerService, MatomoModule } from 'ngx-matomo-client';
|
|
219
|
+
+ import { MatomoInitializerService, provideMatomo } from 'ngx-matomo-client';
|
|
220
|
+
|
|
221
|
+
@NgModule({
|
|
222
|
+
imports: [
|
|
223
|
+
- MatomoModule.forRoot({mode: MatomoInitializationMode.AUTO_DEFERRED}),
|
|
224
|
+
], providers: [
|
|
225
|
+
+ provideMatomo({ mode: 'deferred' })
|
|
226
|
+
]
|
|
227
|
+
})
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
#### Move and update your tsconfig\*.json files
|
|
231
|
+
|
|
232
|
+
- Move your `tsconfig.app.json` and `tsconfig.spec.json` from `src` to `front` (if not already done)
|
|
233
|
+
- Replace your `tsconfig.json` content with:
|
|
234
|
+
|
|
235
|
+
```json
|
|
236
|
+
{
|
|
237
|
+
"compileOnSave": false,
|
|
238
|
+
"compilerOptions": {
|
|
239
|
+
"outDir": "./dist/out-tsc",
|
|
240
|
+
"noImplicitOverride": true,
|
|
241
|
+
"noPropertyAccessFromIndexSignature": false,
|
|
242
|
+
"noImplicitReturns": true,
|
|
243
|
+
"noFallthroughCasesInSwitch": true,
|
|
244
|
+
"skipLibCheck": true,
|
|
245
|
+
"esModuleInterop": true,
|
|
246
|
+
"sourceMap": true,
|
|
247
|
+
"declaration": false,
|
|
248
|
+
"experimentalDecorators": true,
|
|
249
|
+
"moduleResolution": "bundler",
|
|
250
|
+
"importHelpers": true,
|
|
251
|
+
"target": "ES2022",
|
|
252
|
+
"module": "ES2022",
|
|
253
|
+
"paths": {
|
|
254
|
+
"@dsivd/prestations-ng": ["./node_modules/@dsivd/prestations-ng"]
|
|
255
|
+
}
|
|
256
|
+
},
|
|
257
|
+
"include": ["src/**/*"],
|
|
258
|
+
"angularCompilerOptions": {
|
|
259
|
+
"enableI18nLegacyMessageIdFormat": false,
|
|
260
|
+
"strictInjectionParameters": true,
|
|
261
|
+
"strictInputAccessModifiers": true
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
- Replace your `tsconfig.app.json` content with:
|
|
267
|
+
|
|
268
|
+
```json
|
|
269
|
+
{
|
|
270
|
+
"extends": "./tsconfig.json",
|
|
271
|
+
"compilerOptions": {
|
|
272
|
+
"outDir": "./out-tsc/app",
|
|
273
|
+
"types": []
|
|
274
|
+
},
|
|
275
|
+
"files": ["src/main.ts"],
|
|
276
|
+
"include": ["src/**/*.d.ts"]
|
|
277
|
+
}
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
- Replace your `tsconfig.spec.json` content with:
|
|
281
|
+
|
|
282
|
+
```json
|
|
283
|
+
{
|
|
284
|
+
"extends": "./tsconfig.json",
|
|
285
|
+
"compilerOptions": {
|
|
286
|
+
"outDir": "./out-tsc/spec",
|
|
287
|
+
"types": ["jasmine", "node"]
|
|
288
|
+
},
|
|
289
|
+
"include": ["src/**/*.spec.ts", "src/**/*.d.ts"]
|
|
290
|
+
}
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
#### Fix your angular.json file
|
|
294
|
+
|
|
295
|
+
Because your `tsconfig.app.json` and `tsconfig.spec.json` have been moved, you need to change the path in your `angular.json` file by removing `src/`
|
|
296
|
+
|
|
297
|
+
```diff
|
|
298
|
+
"projects": {
|
|
299
|
+
"[YOUR_APPLICATION_NAME]": {
|
|
300
|
+
"architect": {
|
|
301
|
+
"build": {
|
|
302
|
+
"options": {
|
|
303
|
+
- "tsConfig": "src/tsconfig.app.json",
|
|
304
|
+
+ "tsConfig": "tsconfig.app.json",
|
|
305
|
+
}
|
|
306
|
+
},
|
|
307
|
+
"test": {
|
|
308
|
+
"builder": "@angular-devkit/build-angular:karma",
|
|
309
|
+
"options": {
|
|
310
|
+
- "tsConfig": "src/tsconfig.spec.json",
|
|
311
|
+
+ "tsConfig": "tsconfig.spec.json",
|
|
312
|
+
}
|
|
313
|
+
```
|
|
314
|
+
|
|
315
|
+
#### Browsers list update
|
|
316
|
+
|
|
317
|
+
Run update schematic:
|
|
318
|
+
|
|
319
|
+
```bash
|
|
320
|
+
ng g @dsivd/prestations-ng:replace-browsers-list
|
|
321
|
+
```
|
|
322
|
+
|
|
323
|
+
### Update ".eslintrc.json" file if your project was already migrated to ESLint
|
|
324
|
+
|
|
325
|
+
**NB: Replace your current `.eslintrc.json` file by the one found in [ESLINT_MIGRATION.GUIDE](ESLINT_MIGRATION_GUIDE.md#customizing_eslint__inspired_from_otia_and_prestations-ng_s_files_for_rules_).**
|
|
326
|
+
You will have to fix the json file after the copy as it won't copy the double quotes around the properties. (ask IntelliJ to do it for you, alt-enter, Wrap with double quotes -> fix all compliance with json standard ...)
|
|
327
|
+
|
|
328
|
+
Then run
|
|
329
|
+
|
|
330
|
+
```bash
|
|
331
|
+
npm run lint
|
|
332
|
+
```
|
|
333
|
+
|
|
334
|
+
Fix manually all errors **Components, Directives and Pipes should not opt out of standalone @angular-eslint/prefer-standalone** by either:
|
|
335
|
+
|
|
336
|
+
- Transforming your component into a `standalone` component by changing `standalone: false` into `standalone: true` (recommended by angular)
|
|
337
|
+
- Adding `// eslint-disable-next-line @angular-eslint/prefer-standalone` above `standalone: false`
|
|
338
|
+
|
|
339
|
+
Then run again:
|
|
340
|
+
|
|
341
|
+
```bash
|
|
342
|
+
npm run lint
|
|
343
|
+
```
|
|
344
|
+
|
|
345
|
+
To be sure you haven't forgotten any.
|
|
346
|
+
|
|
347
|
+
Finally, run:
|
|
348
|
+
|
|
349
|
+
```bash
|
|
350
|
+
ng lint --fix=true
|
|
351
|
+
```
|
|
352
|
+
|
|
353
|
+
### Deprecated Features Removed
|
|
354
|
+
|
|
355
|
+
#### foehn-table component
|
|
356
|
+
|
|
357
|
+
- Removed:
|
|
358
|
+
- Component input `@Input() list`
|
|
359
|
+
- Replaced by:
|
|
360
|
+
- Component input `@Input() model`
|
|
361
|
+
|
|
362
|
+
### Language deprecations
|
|
363
|
+
|
|
364
|
+
When using `intellij`, you can run code inspection on your project to fix manually deprecations. Two ways:
|
|
365
|
+
|
|
366
|
+
- Intellij window menu, go to: `Code > Analyze code > Run inspection by name...` (or **Ctrl+Alt+Maj+i**) and type `Deprecated symbol used`.
|
|
367
|
+
- Or select your project in your project panel and `right click` on it then `Analyze > Run inspection by name...` (or **Ctrl+Alt+Maj+i**) and type `Deprecated symbol used`.
|
|
368
|
+
|
|
369
|
+
### Last but not least, check if your application is working!!!
|
|
370
|
+
|
|
371
|
+
#### Be sure your application gets a fresh start
|
|
372
|
+
|
|
373
|
+
```bash
|
|
374
|
+
rm -rf .angular/
|
|
375
|
+
rm -rf node_modules/
|
|
376
|
+
npm install
|
|
377
|
+
```
|
|
378
|
+
|
|
379
|
+
#### Build and launch your application
|
|
380
|
+
|
|
381
|
+
**NB: You will most probably need to fix some compilation errors such as adding `override` when needed**
|
|
382
|
+
|
|
383
|
+
```bash
|
|
384
|
+
npm run build
|
|
385
|
+
npm start
|
|
386
|
+
```
|
|
387
|
+
|
|
388
|
+
Your are good if no errors are remaining!
|
|
389
|
+
Finally check if your tests run well :
|
|
390
|
+
|
|
391
|
+
```bash
|
|
392
|
+
npm run test
|
|
393
|
+
```
|
|
394
|
+
|
|
395
|
+
**NB: If you are having trouble finding puppeteer ChromiumHeadless binary**
|
|
396
|
+
|
|
397
|
+
```bash
|
|
398
|
+
npx puppeteer browsers install chrome
|
|
399
|
+
npm run test
|
|
400
|
+
```
|
|
401
|
+
|
|
402
|
+
If there is a message complaining about HttpErrorResponse & NG0205: Injector has already been destroyed,
|
|
403
|
+
in your `app.component.spec.ts` file, add `HttpClientTestingModule` to `TestBed.configureTestingModule` in `beforeEach(waitForAsync` function
|
|
404
|
+
|
|
5
405
|
## PRESTATIONS-BE
|
|
6
406
|
|
|
7
407
|
From here on, we are back in the root folder of your project
|
|
8
408
|
|
|
409
|
+
### Openshift
|
|
410
|
+
|
|
411
|
+
Since spring boot 3 has a minimal jdk version of 17, you now have to deploy you application in an openshift cluster.
|
|
412
|
+
see https://dsigit.etat-de-vaud.ch/outils/git/projects/PEE/repos/imt-charts/browse/README.MD
|
|
413
|
+
|
|
414
|
+
### Spring boot 3
|
|
415
|
+
|
|
416
|
+
You can use this openrewrite recipe to simplify the migration (run with java 11)
|
|
417
|
+
|
|
418
|
+
```bash
|
|
419
|
+
mvn -U org.openrewrite.maven:rewrite-maven-plugin:run -Drewrite.recipeArtifactCoordinates=org.openrewrite.recipe:rewrite-spring:RELEASE -Drewrite.activeRecipes=org.openrewrite.java.spring.boot3.UpgradeSpringBoot_3_4 -Drewrite.exportDatatables=true -Pnof,noft
|
|
420
|
+
```
|
|
421
|
+
|
|
422
|
+
After that, you should continue based on your current parent :
|
|
423
|
+
|
|
424
|
+
### SPRING-BOOT-STARTER-PARENT
|
|
425
|
+
|
|
426
|
+
- remove this profile `<id>devex.in</id>` and its properties (`<devex*`)
|
|
427
|
+
- set property `java.version` to `21`
|
|
428
|
+
- set property `build.nofront` to `false`
|
|
429
|
+
- set property `skipTests` to `false`
|
|
430
|
+
- set property `commons-lang3.version` to `3.17.0`
|
|
431
|
+
- set property `commons-io.version` to `2.19.0`
|
|
432
|
+
- set property `commons-text.version` to `1.13.1`
|
|
433
|
+
- set property `prestations-be.version` to `18.x.y`
|
|
434
|
+
- remove plugin `maven-assembly-plugin` and its properties (`<assembly.xxx`)
|
|
435
|
+
- remove dependency `spring-cloud-starter-netflix-eureka-client`
|
|
436
|
+
- remove dependency `javax.el` and its property (`<javax.el.version>`)
|
|
437
|
+
|
|
438
|
+
If you used `org.jvnet.jaxb2.maven2:maven-jaxb2-plugin`, you should replace it with `org.jvnet.jaxb:jaxb-maven-plugin`
|
|
439
|
+
|
|
440
|
+
```
|
|
441
|
+
<plugin>
|
|
442
|
+
<groupId>org.jvnet.jaxb</groupId>
|
|
443
|
+
<artifactId>jaxb-maven-plugin</artifactId>
|
|
444
|
+
<version>${jaxb-maven-plugin.version}</version>
|
|
445
|
+
<configuration>
|
|
446
|
+
<strict>false</strict> <!-- see https://github.com/highsource/maven-jaxb2-plugin/wiki/Catalogs-in-Strict-Mode -->
|
|
447
|
+
<schemaDirectory>${basedir}/src/main/resources/xsd/</schemaDirectory>
|
|
448
|
+
<args>
|
|
449
|
+
<arg>-extension</arg>
|
|
450
|
+
<arg>-Xvalue-constructor</arg>
|
|
451
|
+
<arg>-XsimpleEquals</arg>
|
|
452
|
+
<arg>-XsimpleHashCode</arg>
|
|
453
|
+
<arg>-Xinheritance</arg>
|
|
454
|
+
</args>
|
|
455
|
+
</configuration>
|
|
456
|
+
<executions>
|
|
457
|
+
<execution>
|
|
458
|
+
<goals>
|
|
459
|
+
<goal>generate</goal>
|
|
460
|
+
</goals>
|
|
461
|
+
<configuration>
|
|
462
|
+
<schemaIncludes>
|
|
463
|
+
<include>backoffice.xsd</include>
|
|
464
|
+
</schemaIncludes>
|
|
465
|
+
</configuration>
|
|
466
|
+
</execution>
|
|
467
|
+
</executions>
|
|
468
|
+
<dependencies>
|
|
469
|
+
<dependency>
|
|
470
|
+
<groupId>org.jvnet.jaxb</groupId>
|
|
471
|
+
<artifactId>jaxb-plugins</artifactId>
|
|
472
|
+
<version>${jaxb-plugins.version}</version>
|
|
473
|
+
</dependency>
|
|
474
|
+
<dependency>
|
|
475
|
+
<groupId>org.jvnet.jaxb2_commons</groupId>
|
|
476
|
+
<artifactId>jaxb2-namespace-prefix</artifactId>
|
|
477
|
+
<version>${jaxb2-namespace-prefix.version}</version>
|
|
478
|
+
</dependency>
|
|
479
|
+
</dependencies>
|
|
480
|
+
</plugin>
|
|
481
|
+
```
|
|
482
|
+
|
|
483
|
+
with these properties :
|
|
484
|
+
|
|
485
|
+
```
|
|
486
|
+
<jaxb-maven-plugin.version>4.0.8</jaxb-maven-plugin.version>
|
|
487
|
+
<jaxb-plugins.version>3.0.0</jaxb-plugins.version>
|
|
488
|
+
<jaxb2-namespace-prefix.version>2.0</jaxb2-namespace-prefix.version>
|
|
489
|
+
```
|
|
490
|
+
|
|
491
|
+
### APPLICATION-PARENT
|
|
492
|
+
|
|
493
|
+
- remove property `java.version` (already set to `21` in the parent)
|
|
494
|
+
- if existing, remove exclusion `spring-cloud-starter-netflix-eureka-client` from `starter-prestation`
|
|
495
|
+
- remove dependency `spring-boot-starter-validation` (already in `starter-prestation`)
|
|
496
|
+
- remove devex properties
|
|
497
|
+
|
|
498
|
+
If you used `org.jvnet.jaxb2.maven2:maven-jaxb2-plugin`, you should replace it with `org.jvnet.jaxb:jaxb-maven-plugin`
|
|
499
|
+
|
|
500
|
+
```
|
|
501
|
+
<plugin>
|
|
502
|
+
<groupId>org.jvnet.jaxb</groupId>
|
|
503
|
+
<artifactId>jaxb-maven-plugin</artifactId>
|
|
504
|
+
<executions>
|
|
505
|
+
<execution>
|
|
506
|
+
<goals>
|
|
507
|
+
<goal>generate</goal>
|
|
508
|
+
</goals>
|
|
509
|
+
<configuration>
|
|
510
|
+
<schemaIncludes>
|
|
511
|
+
<include>backoffice.xsd</include>
|
|
512
|
+
</schemaIncludes>
|
|
513
|
+
</configuration>
|
|
514
|
+
</execution>
|
|
515
|
+
</executions>
|
|
516
|
+
</plugin>
|
|
517
|
+
```
|
|
518
|
+
|
|
519
|
+
### clean / build your project
|
|
520
|
+
|
|
521
|
+
- remove the annotation `@EnableEurekaClient`
|
|
522
|
+
- remove the property `eureka.client.enabled`
|
|
523
|
+
- remove the property `eureka.client.serviceUrl.defaultZone` (in you configuration repository)
|
|
524
|
+
- replace deprecated annotation `@MockBean` with `@MockitoBean`
|
|
525
|
+
- remove deprecated field constructor `Validator validator` from `AbstractSdkController`
|
|
526
|
+
- use `SdkControllerTest.getValidator()` instead of creating a `LocalValidatorFactoryBean` to build your ``
|
|
527
|
+
|
|
528
|
+
build your project with java 21 :
|
|
529
|
+
|
|
530
|
+
```
|
|
531
|
+
mvn -U clean install -Pnof,noft
|
|
532
|
+
```
|
|
533
|
+
|
|
534
|
+
### Property migration
|
|
535
|
+
|
|
536
|
+
run you application with this dependency :
|
|
537
|
+
|
|
538
|
+
```
|
|
539
|
+
<dependency>
|
|
540
|
+
<groupId>org.springframework.boot</groupId>
|
|
541
|
+
<artifactId>spring-boot-properties-migrator</artifactId>
|
|
542
|
+
<scope>runtime</scope>
|
|
543
|
+
</dependency>
|
|
544
|
+
```
|
|
545
|
+
|
|
546
|
+
look for logs that indicate property you should migrate, update them and remove the dependency
|
|
547
|
+
|
|
9
548
|
### Captcha configuration
|
|
10
549
|
|
|
11
|
-
-
|
|
12
|
-
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
-
|
|
16
|
-
-
|
|
17
|
-
-
|
|
18
|
-
-
|
|
550
|
+
- As stated in the migration guide from v16 to v17, Cybercache is responsible of the captcha turnstile verify call.
|
|
551
|
+
- Therefore, you can remove properties related to this configuration :
|
|
552
|
+
- `recaptcha.byPassUUID`
|
|
553
|
+
- `recaptcha.proxyUrl`
|
|
554
|
+
- `recaptcha.proxyPort`
|
|
555
|
+
- `recaptcha.secretkey`
|
|
556
|
+
- `recaptcha.publickey`
|
|
557
|
+
- If your application was not using Refinf through property `cyber-cache.configuration.enabled=false` and you still need the Recaptcha, you can replace this property with `cyber-cache.refinf-v5.enabled=false`, remove duplicated properties as before, add `cyber-cache.base-url` in your configuration and add your deployment unit in Mizo (Cybercache) for role `user`.
|
|
19
558
|
|
|
20
559
|
Cookie storage is kept as before, therefore you can keep cookie related properties that starts with `recaptcha.cookie.YYY` in your properties.
|
|
21
560
|
|
|
22
561
|
See [Skeleton](https://dsigit.etat-de-vaud.ch/outils/git/projects/CYBSDK/repos/skeleton/pull-requests/708/overview) for a working example
|
|
562
|
+
|
|
563
|
+
### HIBERNATE
|
|
564
|
+
|
|
565
|
+
## Sequences
|
|
566
|
+
|
|
567
|
+
Hibernate doesn't use the default sequence anymore, you can keep using it by replacing
|
|
568
|
+
|
|
569
|
+
```
|
|
570
|
+
@GeneratedValue(strategy = GenerationType.SEQUENCE)
|
|
571
|
+
```
|
|
572
|
+
|
|
573
|
+
with
|
|
574
|
+
|
|
575
|
+
```
|
|
576
|
+
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "hibernate_sequence")
|
|
577
|
+
@SequenceGenerator(name = "hibernate_sequence", allocationSize = 1)
|
|
578
|
+
```
|
|
579
|
+
|
|
580
|
+
## Dates mapping
|
|
581
|
+
|
|
582
|
+
replace `@Type(LocalDateTimeUserType.class)` by `@Convert(converter = LocalDateTimeConverter.class)`
|
|
583
|
+
replace `@Type(LocalDateUserType.class)` by `@Convert(converter = LocalDateConverter.class)`
|
|
584
|
+
|
|
585
|
+
## H2
|
|
586
|
+
|
|
587
|
+
If you had a fixe H2 version for testing, you should upgrade to the latest version by removing :
|
|
588
|
+
|
|
589
|
+
```
|
|
590
|
+
<h2.version>1.4.200</h2.version>
|
|
591
|
+
```
|
|
592
|
+
|
|
593
|
+
### Jenkins files for Unit tests
|
|
594
|
+
|
|
595
|
+
buildPipeline is not supported anymore, replace the content of jenkins>UT>JenkinsFile with :
|
|
596
|
+
|
|
597
|
+
```
|
|
598
|
+
@Library('devsup-library') _
|
|
599
|
+
|
|
600
|
+
buildAppPipelinePodmanUT([
|
|
601
|
+
name : 'the name of your application',
|
|
602
|
+
label : 'your slaves lable',
|
|
603
|
+
jdk : '21',
|
|
604
|
+
node : '20'
|
|
605
|
+
])
|
|
606
|
+
```
|
|
607
|
+
|
|
608
|
+
### Debugging tips
|
|
609
|
+
|
|
610
|
+
Spring boot 3 doesn't support calling a controller with a trailing slash, fix the url called (/api/ping != /api/ping**/**)
|
package/UPGRADING_V8.md
CHANGED
|
@@ -10,11 +10,11 @@ An example of a prestation that has been migrated is available on the
|
|
|
10
10
|
|
|
11
11
|
Dependencies are now peer-dependencies. Prestations must install them explicitly.
|
|
12
12
|
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
-
|
|
16
|
-
-
|
|
17
|
-
-
|
|
13
|
+
- @fortawesome/angular-fontawesome
|
|
14
|
+
- @fortawesome/fontawesome-free
|
|
15
|
+
- @fortawesome/fontawesome-svg-core
|
|
16
|
+
- @fortawesome/free-solid-svg-icons
|
|
17
|
+
- @dsivd/foehn
|
|
18
18
|
|
|
19
19
|
```bash
|
|
20
20
|
yarn add @dsivd/foehn \
|
|
@@ -53,5 +53,5 @@ export declare abstract class AbstractPageComponent<T extends I18nForm> implemen
|
|
|
53
53
|
private gotToTop;
|
|
54
54
|
abstract newForm(): T;
|
|
55
55
|
static ɵfac: i0.ɵɵFactoryDeclaration<AbstractPageComponent<any>, never>;
|
|
56
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<AbstractPageComponent<any>, never, never, {}, {}, never, never,
|
|
56
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<AbstractPageComponent<any>, never, never, {}, {}, never, never, true, never>;
|
|
57
57
|
}
|
|
Binary file
|