@dsivd/prestations-ng 19.0.0 → 19.0.1
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/UPGRADING_V19.md
CHANGED
|
@@ -262,7 +262,10 @@ node -v
|
|
|
262
262
|
|
|
263
263
|
##### IntelliJ node version
|
|
264
264
|
|
|
265
|
-
Change the IntelliJ Node.js version to 22+ by going to
|
|
265
|
+
Change the IntelliJ Node.js version to 22+ by going to
|
|
266
|
+
|
|
267
|
+
- `File > Settings > Languages & Frameworks > TypeScript` and selecting a node version 22+ in `Node runtime`.
|
|
268
|
+
- `File > Settings > Languages & Frameworks > JavaScript Runtime` and selecting a node version 22+ in `Node runtime`.
|
|
266
269
|
|
|
267
270
|
#### Continue with Angular 20 migration
|
|
268
271
|
|
|
@@ -323,6 +326,7 @@ buildAppPipelinePodmanUT([
|
|
|
323
326
|
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=20.0-21.0&l=1](https://angular.dev/update-guide?v=20.0-21.0&l=1)
|
|
324
327
|
|
|
325
328
|
💡 **NB: Commit before continuing so your repository is clean.**
|
|
329
|
+
💡 **NB: When using `ngx-matomo-client` in your project, you will need to add `--force` to `ng update @dsivd/prestations-ng` and `npm install @types/node@22 ts-node@10`**
|
|
326
330
|
|
|
327
331
|
```bash
|
|
328
332
|
npm install @angular/cli@21 -g
|
|
@@ -378,7 +382,7 @@ ng update ngx-matomo-client@9
|
|
|
378
382
|
🚨 **IMPORTANT: Fix your project because our new prestations-ng v19+ is standalone, uses signals instead of observables, and uses the inject function instead of constructor injection parameters.**
|
|
379
383
|
|
|
380
384
|
- Only keep `modules` related to your application, such as `AppRoutingModule`.
|
|
381
|
-
- Remove all other imports of **modules** and make sure you are using the new **standalone components** by adding them directly from your template (Alt+Enter).
|
|
385
|
+
- Remove all other imports of **modules** and make sure you are using the new **standalone components** by adding them directly from your template (Alt+Enter). You can search for `<foehn-` with a file mask `*.html` to help you find standalone components.
|
|
382
386
|
- Add `providePrestationsNgCore(),` to the `providers` array of your `app.module.ts` file.
|
|
383
387
|
- Check every `constructor` in your project and remove unused `constructor` parameters (like `ActivatedRoute` in components extending `AbstractPageComponent`).
|
|
384
388
|
|
|
@@ -524,7 +528,7 @@ export const routes: Routes = [
|
|
|
524
528
|
];
|
|
525
529
|
```
|
|
526
530
|
|
|
527
|
-
Create a file under `src/app` called `app.config.ts` with the following content:
|
|
531
|
+
Create a file under `src/app` called `app.config.ts` with the following content or adapt it to your needs:
|
|
528
532
|
|
|
529
533
|
```ts
|
|
530
534
|
export const appConfig: ApplicationConfig = {
|
|
Binary file
|
|
@@ -5611,11 +5611,11 @@ class FoehnBreadcrumbComponent {
|
|
|
5611
5611
|
this.sdkEventsLoggerService.addEvent(SdkEventType.BREADCRUMB_CLICK, detail);
|
|
5612
5612
|
}
|
|
5613
5613
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: FoehnBreadcrumbComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5614
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.18", type: FoehnBreadcrumbComponent, isStandalone: true, selector: "foehn-breadcrumb", inputs: { breadcrumbItems: { classPropertyName: "breadcrumbItems", publicName: "breadcrumbItems", isSignal: true, isRequired: false, transformFunction: null }, currentNav: { classPropertyName: "currentNav", publicName: "currentNav", isSignal: true, isRequired: false, transformFunction: null }, confirmLeavingAlert: { classPropertyName: "confirmLeavingAlert", publicName: "confirmLeavingAlert", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (breadcrumbItemsInternal().length > 0) {\n <nav\n id=\"page-breadcrumb\"\n [attr.aria-label]=\"'foehn-breadcrumb.aria-label' | fromDictionary\"\n >\n <h2\n class=\"visually-hidden\"\n [innerHTML]=\"'foehn-breadcrumb.aria-label' | fromDictionary\"\n ></h2>\n <ol class=\"breadcrumb breadcrumb--override\">\n @for (item of breadcrumbItemsInternal(); track item) {\n <li class=\"breadcrumb-item\">\n @if (item.url || item.routerLink) {\n <a\n (click)=\"\n $event.preventDefault(); confirmAndLeave(item)\n \"\n [href]=\"item.url ? item.url : '#'\"\n [target]=\"\n item.url ? (item.urlTarget ?? '_blank') : null\n \"\n >\n {{ item.label | fromDictionary }}\n </a>\n }\n @if (!item.url && !item.routerLink) {\n {{ item.label | fromDictionary }}\n }\n </li>\n }\n @if (currentNavInternal()) {\n <li class=\"visually-hidden\" aria-current=\"page\">\n {{ currentNavInternal() | fromDictionary }}\n </li>\n }\n </ol>\n </nav>\n}\n", styles: [".breadcrumb--override{margin:0;padding:.75rem 0 2rem}\n"], dependencies: [{ kind: "pipe", type: SdkDictionaryPipe, name: "fromDictionary" }] }); }
|
|
5614
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.18", type: FoehnBreadcrumbComponent, isStandalone: true, selector: "foehn-breadcrumb", inputs: { breadcrumbItems: { classPropertyName: "breadcrumbItems", publicName: "breadcrumbItems", isSignal: true, isRequired: false, transformFunction: null }, currentNav: { classPropertyName: "currentNav", publicName: "currentNav", isSignal: true, isRequired: false, transformFunction: null }, confirmLeavingAlert: { classPropertyName: "confirmLeavingAlert", publicName: "confirmLeavingAlert", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (breadcrumbItemsInternal().length > 0) {\n <nav\n id=\"page-breadcrumb\"\n [attr.aria-label]=\"'foehn-breadcrumb.aria-label' | fromDictionary\"\n >\n <h2\n class=\"visually-hidden\"\n [innerHTML]=\"'foehn-breadcrumb.aria-label' | fromDictionary\"\n ></h2>\n <ol class=\"breadcrumb breadcrumb--override\">\n @for (item of breadcrumbItemsInternal(); track item.url || $index) {\n <li class=\"breadcrumb-item\">\n @if (item.url || item.routerLink) {\n <a\n (click)=\"\n $event.preventDefault(); confirmAndLeave(item)\n \"\n [href]=\"item.url ? item.url : '#'\"\n [target]=\"\n item.url ? (item.urlTarget ?? '_blank') : null\n \"\n >\n {{ item.label | fromDictionary }}\n </a>\n }\n @if (!item.url && !item.routerLink) {\n {{ item.label | fromDictionary }}\n }\n </li>\n }\n @if (currentNavInternal()) {\n <li class=\"visually-hidden\" aria-current=\"page\">\n {{ currentNavInternal() | fromDictionary }}\n </li>\n }\n </ol>\n </nav>\n}\n", styles: [".breadcrumb--override{margin:0;padding:.75rem 0 2rem}\n"], dependencies: [{ kind: "pipe", type: SdkDictionaryPipe, name: "fromDictionary" }] }); }
|
|
5615
5615
|
}
|
|
5616
5616
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: FoehnBreadcrumbComponent, decorators: [{
|
|
5617
5617
|
type: Component,
|
|
5618
|
-
args: [{ selector: 'foehn-breadcrumb', imports: [SdkDictionaryPipe], template: "@if (breadcrumbItemsInternal().length > 0) {\n <nav\n id=\"page-breadcrumb\"\n [attr.aria-label]=\"'foehn-breadcrumb.aria-label' | fromDictionary\"\n >\n <h2\n class=\"visually-hidden\"\n [innerHTML]=\"'foehn-breadcrumb.aria-label' | fromDictionary\"\n ></h2>\n <ol class=\"breadcrumb breadcrumb--override\">\n @for (item of breadcrumbItemsInternal(); track item) {\n <li class=\"breadcrumb-item\">\n @if (item.url || item.routerLink) {\n <a\n (click)=\"\n $event.preventDefault(); confirmAndLeave(item)\n \"\n [href]=\"item.url ? item.url : '#'\"\n [target]=\"\n item.url ? (item.urlTarget ?? '_blank') : null\n \"\n >\n {{ item.label | fromDictionary }}\n </a>\n }\n @if (!item.url && !item.routerLink) {\n {{ item.label | fromDictionary }}\n }\n </li>\n }\n @if (currentNavInternal()) {\n <li class=\"visually-hidden\" aria-current=\"page\">\n {{ currentNavInternal() | fromDictionary }}\n </li>\n }\n </ol>\n </nav>\n}\n", styles: [".breadcrumb--override{margin:0;padding:.75rem 0 2rem}\n"] }]
|
|
5618
|
+
args: [{ selector: 'foehn-breadcrumb', imports: [SdkDictionaryPipe], template: "@if (breadcrumbItemsInternal().length > 0) {\n <nav\n id=\"page-breadcrumb\"\n [attr.aria-label]=\"'foehn-breadcrumb.aria-label' | fromDictionary\"\n >\n <h2\n class=\"visually-hidden\"\n [innerHTML]=\"'foehn-breadcrumb.aria-label' | fromDictionary\"\n ></h2>\n <ol class=\"breadcrumb breadcrumb--override\">\n @for (item of breadcrumbItemsInternal(); track item.url || $index) {\n <li class=\"breadcrumb-item\">\n @if (item.url || item.routerLink) {\n <a\n (click)=\"\n $event.preventDefault(); confirmAndLeave(item)\n \"\n [href]=\"item.url ? item.url : '#'\"\n [target]=\"\n item.url ? (item.urlTarget ?? '_blank') : null\n \"\n >\n {{ item.label | fromDictionary }}\n </a>\n }\n @if (!item.url && !item.routerLink) {\n {{ item.label | fromDictionary }}\n }\n </li>\n }\n @if (currentNavInternal()) {\n <li class=\"visually-hidden\" aria-current=\"page\">\n {{ currentNavInternal() | fromDictionary }}\n </li>\n }\n </ol>\n </nav>\n}\n", styles: [".breadcrumb--override{margin:0;padding:.75rem 0 2rem}\n"] }]
|
|
5619
5619
|
}], propDecorators: { breadcrumbItems: [{ type: i0.Input, args: [{ isSignal: true, alias: "breadcrumbItems", required: false }] }], currentNav: [{ type: i0.Input, args: [{ isSignal: true, alias: "currentNav", required: false }] }], confirmLeavingAlert: [{ type: i0.Input, args: [{ isSignal: true, alias: "confirmLeavingAlert", required: false }] }] } });
|
|
5620
5620
|
|
|
5621
5621
|
class FoehnConfirmModalComponent {
|