@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.
Files changed (314) hide show
  1. package/CHANGELOG.md +2478 -2466
  2. package/CONTRIBUTING.md +66 -66
  3. package/ESLINT_MIGRATION_GUIDE.md +19 -33
  4. package/MODULES.md +88 -88
  5. package/MULTI_ETAPES.md +9 -9
  6. package/README.md +25 -24
  7. package/README_COMMON.md +10 -10
  8. package/UPGRADING_V12.md +36 -36
  9. package/UPGRADING_V13.md +3 -3
  10. package/UPGRADING_V14.md +2 -2
  11. package/UPGRADING_V15.md +4 -4
  12. package/UPGRADING_V16.md +38 -38
  13. package/UPGRADING_V17.md +51 -51
  14. package/UPGRADING_V18.md +596 -8
  15. package/UPGRADING_V8.md +5 -5
  16. package/abstract-page-component.d.ts +1 -1
  17. package/dsivd-prestations-ng-18.0.0-beta.10.tgz +0 -0
  18. package/fesm2022/dsivd-prestations-ng.mjs +903 -868
  19. package/fesm2022/dsivd-prestations-ng.mjs.map +1 -1
  20. package/foehn-checkables/foehn-checkable-group.component.d.ts +1 -1
  21. package/foehn-checkables/foehn-checkables.module.d.ts +6 -7
  22. package/foehn-date-picker/date-picker.helper.d.ts +1 -1
  23. package/foehn-icons/abstract-icon-component.d.ts +1 -1
  24. package/foehn-input/foehn-input-string.component.d.ts +1 -1
  25. package/foehn-input/foehn-input.component.d.ts +1 -1
  26. package/foehn-menu-prestation/abstract-list-item-detail-page.component.d.ts +1 -1
  27. package/foehn-menu-prestation/abstract-menu-page.component.d.ts +1 -1
  28. package/foehn-menu-prestation/abstract-page-from-menu.component.d.ts +1 -1
  29. package/foehn-navigation/abstract-foehn-navigation.component.d.ts +1 -1
  30. package/foehn-table/foehn-table.component.d.ts +1 -6
  31. package/foehn-upload/abstract-foehn-uploader.component.d.ts +1 -2
  32. package/foehn-upload/foehn-picture-upload/foehn-picture-upload.component.d.ts +1 -3
  33. package/foehn-upload/foehn-picture-upload/foehn-picture-upload.module.d.ts +1 -1
  34. package/index.d.ts +1 -1
  35. package/index.html +1 -1
  36. package/package.json +15 -17
  37. package/prestations-ng-core.module.d.ts +5 -4
  38. package/sdk-appinfo/application-info.service.d.ts +1 -0
  39. package/sdk-drafts/drafts.module.d.ts +7 -8
  40. package/sdk-support-alert/support-alert.module.d.ts +2 -3
  41. package/dsivd-prestations-ng-17.10.9.tgz +0 -0
  42. package/esm2022/abstract-page-component.mjs +0 -232
  43. package/esm2022/directives/currency-formatter.directive.mjs +0 -143
  44. package/esm2022/directives/formatter.module.mjs +0 -37
  45. package/esm2022/directives/iban-formatter.directive.mjs +0 -29
  46. package/esm2022/directives/ide-formatter.directive.mjs +0 -37
  47. package/esm2022/directives/ndc-formatter.directive.mjs +0 -75
  48. package/esm2022/dsivd-prestations-ng.mjs +0 -5
  49. package/esm2022/foehn-address/address.type.mjs +0 -10
  50. package/esm2022/foehn-address/foehn-address.module.mjs +0 -55
  51. package/esm2022/foehn-address/foehn-display-address.component.mjs +0 -69
  52. package/esm2022/foehn-address/foehn-input-address.component.mjs +0 -498
  53. package/esm2022/foehn-address/foehn-input-foreign-locality.component.mjs +0 -66
  54. package/esm2022/foehn-address/foehn-input-foreign-street.component.mjs +0 -56
  55. package/esm2022/foehn-agenda/calendar.type.mjs +0 -3
  56. package/esm2022/foehn-agenda/current-week.type.mjs +0 -4
  57. package/esm2022/foehn-agenda/day-slots.type.mjs +0 -3
  58. package/esm2022/foehn-agenda/foehn-agenda-navigation/foehn-agenda-navigation.component.mjs +0 -75
  59. package/esm2022/foehn-agenda/foehn-agenda-timeslot-panel/foehn-agenda-timeslot-panel.component.mjs +0 -242
  60. package/esm2022/foehn-agenda/foehn-agenda.component.mjs +0 -95
  61. package/esm2022/foehn-agenda/foehn-agenda.module.mjs +0 -62
  62. package/esm2022/foehn-agenda/pagination-week.type.mjs +0 -3
  63. package/esm2022/foehn-agenda/selected-slot.type.mjs +0 -3
  64. package/esm2022/foehn-autocomplete/foehn-autocomplete.component.mjs +0 -684
  65. package/esm2022/foehn-autocomplete/foehn-autocomplete.module.mjs +0 -40
  66. package/esm2022/foehn-boolean/foehn-boolean-checkbox.component.mjs +0 -28
  67. package/esm2022/foehn-boolean/foehn-boolean-radio.component.mjs +0 -40
  68. package/esm2022/foehn-boolean/foehn-boolean.module.mjs +0 -33
  69. package/esm2022/foehn-breadcrumb/breadcrumb-event.service.mjs +0 -177
  70. package/esm2022/foehn-breadcrumb/breadcrumb.mjs +0 -5
  71. package/esm2022/foehn-breadcrumb/foehn-breadcrumb.component.mjs +0 -106
  72. package/esm2022/foehn-breadcrumb/foehn-breadcrumb.module.mjs +0 -20
  73. package/esm2022/foehn-checkables/foehn-checkable-group.component.mjs +0 -291
  74. package/esm2022/foehn-checkables/foehn-checkables.module.mjs +0 -68
  75. package/esm2022/foehn-checkables/foehn-checkbox.component.mjs +0 -37
  76. package/esm2022/foehn-checkables/foehn-radio.component.mjs +0 -64
  77. package/esm2022/foehn-checkables/foehn-select.component.mjs +0 -55
  78. package/esm2022/foehn-checkables/form-select-option-group.mjs +0 -3
  79. package/esm2022/foehn-checkables/form-select-option.mjs +0 -3
  80. package/esm2022/foehn-confirm-modal/foehn-confirm-modal-content.mjs +0 -7
  81. package/esm2022/foehn-confirm-modal/foehn-confirm-modal.component.mjs +0 -40
  82. package/esm2022/foehn-confirm-modal/foehn-confirm-modal.module.mjs +0 -19
  83. package/esm2022/foehn-confirm-modal/foehn-confirm-modal.service.mjs +0 -53
  84. package/esm2022/foehn-date-picker/date-picker-navigation.helper.mjs +0 -168
  85. package/esm2022/foehn-date-picker/date-picker.helper.mjs +0 -132
  86. package/esm2022/foehn-date-picker/day-month.type.mjs +0 -3
  87. package/esm2022/foehn-date-picker/focused-day.type.mjs +0 -3
  88. package/esm2022/foehn-date-picker/foehn-date-picker.component.mjs +0 -392
  89. package/esm2022/foehn-date-picker/foehn-date-picker.module.mjs +0 -40
  90. package/esm2022/foehn-date-picker/month-year.type.mjs +0 -3
  91. package/esm2022/foehn-date-picker-button/foehn-date-picker-button.component.mjs +0 -97
  92. package/esm2022/foehn-date-picker-button/foehn-date-picker-button.module.mjs +0 -36
  93. package/esm2022/foehn-debug-summary/foehn-debug-summary.component.mjs +0 -84
  94. package/esm2022/foehn-debug-summary/foehn-debug-summary.component.module.mjs +0 -20
  95. package/esm2022/foehn-decision-electronique/foehn-decision-electronique.component.mjs +0 -37
  96. package/esm2022/foehn-decision-electronique/foehn-decision-electronique.module.mjs +0 -32
  97. package/esm2022/foehn-dropdown-menu/dropdown-menu-group.type.mjs +0 -3
  98. package/esm2022/foehn-dropdown-menu/dropdown-menu-item.type.mjs +0 -6
  99. package/esm2022/foehn-dropdown-menu/foehn-dropdown-menu.component.mjs +0 -212
  100. package/esm2022/foehn-dropdown-menu/foehn-dropdown-menu.module.mjs +0 -21
  101. package/esm2022/foehn-feedback-notification/foehn-feedback-notification.component.mjs +0 -113
  102. package/esm2022/foehn-feedback-notification/foehn-feedback-notification.module.mjs +0 -32
  103. package/esm2022/foehn-feedback-notification/foehn-feedback-notification.type.mjs +0 -3
  104. package/esm2022/foehn-footer/foehn-footer.component.mjs +0 -130
  105. package/esm2022/foehn-footer/foehn-footer.module.mjs +0 -19
  106. package/esm2022/foehn-footer/footer-link.type.mjs +0 -3
  107. package/esm2022/foehn-form/foehn-form.component.mjs +0 -136
  108. package/esm2022/foehn-form/foehn-form.module.mjs +0 -32
  109. package/esm2022/foehn-form/register-ng-model.service.mjs +0 -23
  110. package/esm2022/foehn-growl/foehn-growl.component.mjs +0 -45
  111. package/esm2022/foehn-growl/foehn-growl.module.mjs +0 -18
  112. package/esm2022/foehn-growl/growl-broker.service.mjs +0 -37
  113. package/esm2022/foehn-growl/growl-message.mjs +0 -9
  114. package/esm2022/foehn-growl/growl-types.mjs +0 -7
  115. package/esm2022/foehn-header/foehn-header.component.mjs +0 -159
  116. package/esm2022/foehn-header/foehn-header.module.mjs +0 -40
  117. package/esm2022/foehn-header/foehn-skip-link.component.mjs +0 -51
  118. package/esm2022/foehn-help-modal/foehn-help-modal.component.mjs +0 -44
  119. package/esm2022/foehn-help-modal/foehn-help-modal.module.mjs +0 -20
  120. package/esm2022/foehn-help-modal/foehn-help-modal.type.mjs +0 -2
  121. package/esm2022/foehn-icons/abstract-icon-component.mjs +0 -12
  122. package/esm2022/foehn-icons/foehn-icon-calendar.component.mjs +0 -19
  123. package/esm2022/foehn-icons/foehn-icon-check-square-o.component.mjs +0 -19
  124. package/esm2022/foehn-icons/foehn-icon-check.component.mjs +0 -19
  125. package/esm2022/foehn-icons/foehn-icon-chevron-down.component.mjs +0 -19
  126. package/esm2022/foehn-icons/foehn-icon-chevron-left.component.mjs +0 -19
  127. package/esm2022/foehn-icons/foehn-icon-chevron-right.component.mjs +0 -19
  128. package/esm2022/foehn-icons/foehn-icon-chevron-up.component.mjs +0 -19
  129. package/esm2022/foehn-icons/foehn-icon-clock.component.mjs +0 -19
  130. package/esm2022/foehn-icons/foehn-icon-comment-dots.component.mjs +0 -19
  131. package/esm2022/foehn-icons/foehn-icon-edit.component.mjs +0 -19
  132. package/esm2022/foehn-icons/foehn-icon-external-link-alt.component.mjs +0 -19
  133. package/esm2022/foehn-icons/foehn-icon-file-pdf.component.mjs +0 -19
  134. package/esm2022/foehn-icons/foehn-icon-info-circle.component.mjs +0 -19
  135. package/esm2022/foehn-icons/foehn-icon-lock.component.mjs +0 -19
  136. package/esm2022/foehn-icons/foehn-icon-map-marker.component.mjs +0 -19
  137. package/esm2022/foehn-icons/foehn-icon-minus-circle.component.mjs +0 -19
  138. package/esm2022/foehn-icons/foehn-icon-pencil.component.mjs +0 -19
  139. package/esm2022/foehn-icons/foehn-icon-plus-circle.component.mjs +0 -19
  140. package/esm2022/foehn-icons/foehn-icon-plus-square.component.mjs +0 -19
  141. package/esm2022/foehn-icons/foehn-icon-search.component.mjs +0 -19
  142. package/esm2022/foehn-icons/foehn-icon-times.component.mjs +0 -19
  143. package/esm2022/foehn-icons/foehn-icon-trash-alt.component.mjs +0 -19
  144. package/esm2022/foehn-icons/foehn-icon-unlock-alt.component.mjs +0 -19
  145. package/esm2022/foehn-icons/foehn-icon-user.component.mjs +0 -19
  146. package/esm2022/foehn-icons/foehn-icons.module.mjs +0 -139
  147. package/esm2022/foehn-input/foehn-input-email.component.mjs +0 -74
  148. package/esm2022/foehn-input/foehn-input-hidden.component.mjs +0 -54
  149. package/esm2022/foehn-input/foehn-input-number.component.mjs +0 -319
  150. package/esm2022/foehn-input/foehn-input-password.component.mjs +0 -51
  151. package/esm2022/foehn-input/foehn-input-phone.component.mjs +0 -99
  152. package/esm2022/foehn-input/foehn-input-prefixed-text.component.mjs +0 -116
  153. package/esm2022/foehn-input/foehn-input-string.component.mjs +0 -27
  154. package/esm2022/foehn-input/foehn-input-text.component.mjs +0 -69
  155. package/esm2022/foehn-input/foehn-input-textarea.component.mjs +0 -97
  156. package/esm2022/foehn-input/foehn-input.component.mjs +0 -418
  157. package/esm2022/foehn-input/foehn-input.module.mjs +0 -98
  158. package/esm2022/foehn-input/pattern.const.mjs +0 -16
  159. package/esm2022/foehn-input-date/foehn-input-date.component.mjs +0 -163
  160. package/esm2022/foehn-input-date-time/foehn-input-date-time.component.mjs +0 -201
  161. package/esm2022/foehn-input-time/foehn-input-time.component.mjs +0 -89
  162. package/esm2022/foehn-list/foehn-list.component.mjs +0 -127
  163. package/esm2022/foehn-list/foehn-list.module.mjs +0 -19
  164. package/esm2022/foehn-list/page-change-event.mjs +0 -3
  165. package/esm2022/foehn-menu-prestation/abstract-list-item-detail-page.component.mjs +0 -122
  166. package/esm2022/foehn-menu-prestation/abstract-menu-page.component.mjs +0 -31
  167. package/esm2022/foehn-menu-prestation/abstract-page-from-menu.component.mjs +0 -87
  168. package/esm2022/foehn-menu-prestation/foehn-error-pill/foehn-error-pill.component.mjs +0 -25
  169. package/esm2022/foehn-menu-prestation/foehn-list-summary/foehn-list-item-description.mjs +0 -2
  170. package/esm2022/foehn-menu-prestation/foehn-list-summary/foehn-list-item.mjs +0 -3
  171. package/esm2022/foehn-menu-prestation/foehn-list-summary/foehn-list-summary.component.mjs +0 -161
  172. package/esm2022/foehn-menu-prestation/foehn-menu-items/foehn-menu-item/foehn-menu-item.component.mjs +0 -38
  173. package/esm2022/foehn-menu-prestation/foehn-menu-items/foehn-menu-item-transmit/foehn-menu-item-transmit.component.mjs +0 -58
  174. package/esm2022/foehn-menu-prestation/foehn-menu-prestation.module.mjs +0 -67
  175. package/esm2022/foehn-misc/foehn-abbr.component.mjs +0 -15
  176. package/esm2022/foehn-misc/foehn-misc.module.mjs +0 -17
  177. package/esm2022/foehn-modal/foehn-modal.component.mjs +0 -94
  178. package/esm2022/foehn-modal/foehn-modal.module.mjs +0 -21
  179. package/esm2022/foehn-multiselect-autocomplete/foehn-multiselect-autocomplete.component.mjs +0 -287
  180. package/esm2022/foehn-multiselect-autocomplete/foehn-multiselect-autocomplete.module.mjs +0 -40
  181. package/esm2022/foehn-nav13/foehn-input-nav13.component.mjs +0 -114
  182. package/esm2022/foehn-nav13/foehn-input-nav13.module.mjs +0 -32
  183. package/esm2022/foehn-navigation/abstract-foehn-navigation.component.mjs +0 -55
  184. package/esm2022/foehn-navigation/foehn-navigation/foehn-navigation.component.mjs +0 -67
  185. package/esm2022/foehn-navigation/foehn-navigation.module.mjs +0 -37
  186. package/esm2022/foehn-navigation/foehn-navigation.service.mjs +0 -322
  187. package/esm2022/foehn-navigation/foehn-simple-navigation/foehn-simple-navigation.component.mjs +0 -26
  188. package/esm2022/foehn-notfound/foehn-notfound.component.mjs +0 -61
  189. package/esm2022/foehn-notfound/foehn-notfound.module.mjs +0 -20
  190. package/esm2022/foehn-page/foehn-page-counter.component.mjs +0 -31
  191. package/esm2022/foehn-page/foehn-page-expiration-timer/current-session-expiration.mjs +0 -3
  192. package/esm2022/foehn-page/foehn-page-expiration-timer/demande-expiration-interceptor.mjs +0 -68
  193. package/esm2022/foehn-page/foehn-page-expiration-timer/demande-expiration.service.mjs +0 -53
  194. package/esm2022/foehn-page/foehn-page-expiration-timer/foehn-page-expiration-timer.component.mjs +0 -175
  195. package/esm2022/foehn-page/foehn-page-expiration-timer/interval.helper.mjs +0 -29
  196. package/esm2022/foehn-page/foehn-page-modal.component.mjs +0 -54
  197. package/esm2022/foehn-page/foehn-page-modal.service.mjs +0 -38
  198. package/esm2022/foehn-page/foehn-page.component.mjs +0 -223
  199. package/esm2022/foehn-page/foehn-page.module.mjs +0 -101
  200. package/esm2022/foehn-page/foehn-page.service.mjs +0 -54
  201. package/esm2022/foehn-page/foehn-transmit-waiting-modal/demande-transmit-interceptor.mjs +0 -52
  202. package/esm2022/foehn-page/foehn-transmit-waiting-modal/foehn-transmit-waiting-modal.component.mjs +0 -23
  203. package/esm2022/foehn-page/foehn-transmit-waiting-modal/foehn-transmit-waiting-modal.service.mjs +0 -32
  204. package/esm2022/foehn-recap-section/foehn-recap-section.component.mjs +0 -98
  205. package/esm2022/foehn-recap-section/foehn-recap-section.module.mjs +0 -20
  206. package/esm2022/foehn-recap-section/foehn-recap-section.type.mjs +0 -2
  207. package/esm2022/foehn-remaining-alerts-summary/foehn-remaining-alerts-summary.component.mjs +0 -50
  208. package/esm2022/foehn-remaining-alerts-summary/foehn-remaining-alerts-summary.module.mjs +0 -18
  209. package/esm2022/foehn-status-progress-bar/foehn-status-progress-bar.component.mjs +0 -56
  210. package/esm2022/foehn-status-progress-bar/foehn-status-progress-bar.module.mjs +0 -20
  211. package/esm2022/foehn-table/foehn-table-column-configuration.mjs +0 -3
  212. package/esm2022/foehn-table/foehn-table-page-change-event.mjs +0 -3
  213. package/esm2022/foehn-table/foehn-table.component.mjs +0 -190
  214. package/esm2022/foehn-table/foehn-table.module.mjs +0 -40
  215. package/esm2022/foehn-table/row-element.type.mjs +0 -3
  216. package/esm2022/foehn-table/tableSort.mjs +0 -3
  217. package/esm2022/foehn-upload/abstract-foehn-uploader.component.mjs +0 -242
  218. package/esm2022/foehn-upload/document-reference.mjs +0 -6
  219. package/esm2022/foehn-upload/foehn-bo-multi-upload/bo-multi-upload.service.mjs +0 -116
  220. package/esm2022/foehn-upload/foehn-bo-multi-upload/bo-multi-upload.type.mjs +0 -6
  221. package/esm2022/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.component.mjs +0 -199
  222. package/esm2022/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.module.mjs +0 -40
  223. package/esm2022/foehn-upload/foehn-multi-upload/foehn-multi-upload.component.mjs +0 -250
  224. package/esm2022/foehn-upload/foehn-multi-upload/foehn-multi-upload.module.mjs +0 -40
  225. package/esm2022/foehn-upload/foehn-multi-upload/multi-upload.service.mjs +0 -125
  226. package/esm2022/foehn-upload/foehn-multi-upload/multi-upload.type.mjs +0 -6
  227. package/esm2022/foehn-upload/foehn-multi-upload/pending-upload.service.mjs +0 -163
  228. package/esm2022/foehn-upload/foehn-picture-upload/foehn-picture-upload.component.mjs +0 -178
  229. package/esm2022/foehn-upload/foehn-picture-upload/foehn-picture-upload.module.mjs +0 -44
  230. package/esm2022/foehn-upload/foehn-upload-progress-bar/foehn-upload-progress-bar.component.mjs +0 -83
  231. package/esm2022/foehn-upload/foehn-upload-progress-bar/foehn-upload-progress-bar.module.mjs +0 -21
  232. package/esm2022/foehn-upload/foehn-upload-progress-bar/upload-progress.service.mjs +0 -66
  233. package/esm2022/foehn-upload/foehn-upload-progress-bar/upload-progress.type.mjs +0 -7
  234. package/esm2022/foehn-upload/page-upload-limit.service.mjs +0 -80
  235. package/esm2022/foehn-upload/pending-upload.type.mjs +0 -3
  236. package/esm2022/foehn-upload/uploader.helper.mjs +0 -329
  237. package/esm2022/foehn-user-connected-as/foehn-user-connected-as.component.mjs +0 -21
  238. package/esm2022/foehn-user-connected-as/foehn-user-connected-as.module.mjs +0 -19
  239. package/esm2022/foehn-validation-alert-summary/foehn-validation-alert-summary.component.mjs +0 -96
  240. package/esm2022/foehn-validation-alert-summary/foehn-validation-alert-summary.module.mjs +0 -19
  241. package/esm2022/foehn-validation-alerts/foehn-validation-alerts.component.mjs +0 -29
  242. package/esm2022/foehn-validation-alerts/foehn-validation-alerts.module.mjs +0 -18
  243. package/esm2022/form-error.mjs +0 -2
  244. package/esm2022/form-post-response.mjs +0 -10
  245. package/esm2022/gesdem/gesdem-error-handler.service.mjs +0 -85
  246. package/esm2022/gesdem/gesdem-event.service.mjs +0 -38
  247. package/esm2022/gesdem/gesdem-handler.service.mjs +0 -201
  248. package/esm2022/gesdem/gesdem-loader.guard.mjs +0 -25
  249. package/esm2022/gesdem/gesdem-statut-utils.mjs +0 -25
  250. package/esm2022/gesdem-action-recovery/gesdem-action-recovery-login/gesdem-action-recovery-login.component.mjs +0 -170
  251. package/esm2022/gesdem-action-recovery/gesdem-action-recovery-registration/gesdem-action-recovery-registration.component.mjs +0 -227
  252. package/esm2022/gesdem-action-recovery/gesdem-action-recovery.module.mjs +0 -62
  253. package/esm2022/gesdem-action-recovery/gesdem-action-recovery.service.mjs +0 -97
  254. package/esm2022/gesdem-action-recovery/reprise-info.mjs +0 -4
  255. package/esm2022/gesdem-confirmation/gesdem-confirmation.component.mjs +0 -241
  256. package/esm2022/gesdem-confirmation/gesdem-confirmation.module.mjs +0 -36
  257. package/esm2022/gesdem-error/gesdem-error.component.mjs +0 -96
  258. package/esm2022/gesdem-error/gesdem-error.module.mjs +0 -36
  259. package/esm2022/global.const.mjs +0 -5
  260. package/esm2022/helpers/demande.helper.mjs +0 -19
  261. package/esm2022/helpers/object.helper.mjs +0 -124
  262. package/esm2022/i18n-form.mjs +0 -7
  263. package/esm2022/pipes/currency.pipe.mjs +0 -18
  264. package/esm2022/pipes/date.pipe.mjs +0 -43
  265. package/esm2022/pipes/formatIde.pipe.mjs +0 -22
  266. package/esm2022/pipes/pipes.module.mjs +0 -18
  267. package/esm2022/prestations-ng-core.module.mjs +0 -31
  268. package/esm2022/public_api.mjs +0 -288
  269. package/esm2022/refinf/model/address-type-light.mjs +0 -3
  270. package/esm2022/refinf/model/canton.mjs +0 -3
  271. package/esm2022/refinf/model/district.mjs +0 -3
  272. package/esm2022/refinf/model/municipality.mjs +0 -3
  273. package/esm2022/refinf/model/place-of-origin.mjs +0 -3
  274. package/esm2022/refinf/model/postal-locality.mjs +0 -3
  275. package/esm2022/sdk-appinfo/application-info.mjs +0 -22
  276. package/esm2022/sdk-appinfo/application-info.service.mjs +0 -146
  277. package/esm2022/sdk-currency/currency.helper.mjs +0 -34
  278. package/esm2022/sdk-date/date.helper.mjs +0 -109
  279. package/esm2022/sdk-dictionary/default-dictionary.mjs +0 -312
  280. package/esm2022/sdk-dictionary/sdk-dictionary.module.mjs +0 -16
  281. package/esm2022/sdk-dictionary/sdk-dictionary.pipe.mjs +0 -28
  282. package/esm2022/sdk-dictionary/sdk-dictionary.service.mjs +0 -122
  283. package/esm2022/sdk-drafts/draft.model.mjs +0 -2
  284. package/esm2022/sdk-drafts/drafts-container.component.mjs +0 -99
  285. package/esm2022/sdk-drafts/drafts.module.mjs +0 -47
  286. package/esm2022/sdk-drafts/drafts.service.mjs +0 -51
  287. package/esm2022/sdk-epayment/model/EPaymentParameters.mjs +0 -2
  288. package/esm2022/sdk-epayment/pending-payment/pending-payment.component.mjs +0 -24
  289. package/esm2022/sdk-epayment/sdk-epayment.component.mjs +0 -76
  290. package/esm2022/sdk-epayment/sdk-epayment.module.mjs +0 -23
  291. package/esm2022/sdk-epayment/sdk-epayment.service.mjs +0 -51
  292. package/esm2022/sdk-events-logger/sdk-event-type.mjs +0 -14
  293. package/esm2022/sdk-events-logger/sdk-event.mjs +0 -3
  294. package/esm2022/sdk-events-logger/sdk-events-logger.service.mjs +0 -43
  295. package/esm2022/sdk-recaptcha/grecaptcha/grecaptcha.component.mjs +0 -113
  296. package/esm2022/sdk-recaptcha/recaptcha.service.mjs +0 -180
  297. package/esm2022/sdk-recaptcha/sdk-recaptcha.component.mjs +0 -75
  298. package/esm2022/sdk-recaptcha/sdk-recaptcha.module.mjs +0 -19
  299. package/esm2022/sdk-redirect/iam-expired-interceptor.service.mjs +0 -62
  300. package/esm2022/sdk-redirect/redirect.component.mjs +0 -55
  301. package/esm2022/sdk-redirect/sdk-redirect.module.mjs +0 -19
  302. package/esm2022/sdk-session-info/session-info-data.mjs +0 -6
  303. package/esm2022/sdk-session-info/session-info-with-application.service.mjs +0 -68
  304. package/esm2022/sdk-session-info/session-info.service.mjs +0 -50
  305. package/esm2022/sdk-statistics/sdk-statistics.service.mjs +0 -74
  306. package/esm2022/sdk-support-alert/support-alert-container.component.mjs +0 -49
  307. package/esm2022/sdk-support-alert/support-alert.component.mjs +0 -32
  308. package/esm2022/sdk-support-alert/support-alert.model.mjs +0 -7
  309. package/esm2022/sdk-support-alert/support-alert.module.mjs +0 -21
  310. package/esm2022/sdk-support-alert/support-alert.service.mjs +0 -139
  311. package/esm2022/service-locator.mjs +0 -4
  312. package/esm2022/supported-browser.mjs +0 -2
  313. package/esm2022/validation/validation-handler.service.mjs +0 -44
  314. /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
- - As stated in the migration guide from v16 to v17, Cybercache is responsible of the captcha turnstile verify call.
12
- - Therefore, you can remove properties related to this configuration :
13
- - `recaptcha.byPassUUID`
14
- - `recaptcha.proxyUrl`
15
- - `recaptcha.proxyPort`
16
- - `recaptcha.secretkey`
17
- - `recaptcha.publickey`
18
- - 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`.
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
- - @fortawesome/angular-fontawesome
14
- - @fortawesome/fontawesome-free
15
- - @fortawesome/fontawesome-svg-core
16
- - @fortawesome/free-solid-svg-icons
17
- - @dsivd/foehn
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, false, never>;
56
+ static ɵdir: i0.ɵɵDirectiveDeclaration<AbstractPageComponent<any>, never, never, {}, {}, never, never, true, never>;
57
57
  }