chore(deps): upgrade Angular 18 → 19

- ng update @angular/core@19 @angular/cli@19 @angular/material@19 @angular-eslint/schematics@19
- Migration: remove standalone:true (now default in v19) from 60 components
- Migration: zone.js 0.14 → 0.15
- Fix pre-existing build budget error: raise initial bundle limit to 5mb (app ships large static JSON assets)
This commit is contained in:
2026-04-26 06:25:02 +02:00
parent b8eb8a9393
commit 5400294d45
65 changed files with 5875 additions and 4710 deletions
@@ -1,8 +1,8 @@
import { DatePipe } from '@angular/common';
import { trigger, state, style, animate, transition } from '@angular/animations';
import { Component, DestroyRef, inject, OnInit, OnDestroy } from '@angular/core';
import { takeUntilDestroyed } from "@angular/core/rxjs-interop";
import { GoogleMap, MapKmlLayer} from '@angular/google-maps';
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
import { GoogleMap, MapKmlLayer } from '@angular/google-maps';
import { ActivatedRoute } from '@angular/router';
import { MatButtonModule } from '@angular/material/button';
import { MatCardModule } from '@angular/material/card';
@@ -23,29 +23,31 @@ import { UtilitiesService } from '@services';
@Component({
selector: 'app-dropzones',
standalone: true,
imports: [
DatePipe, GoogleMap, MapKmlLayer,
MatButtonModule, MatCardModule, MatDividerModule, MatExpansionModule,
MatGridListModule, MatIconModule, MatMenuModule,
DatePipe,
GoogleMap,
MapKmlLayer,
MatButtonModule,
MatCardModule,
MatDividerModule,
MatExpansionModule,
MatGridListModule,
MatIconModule,
MatMenuModule,
//ChartistModule,
HistoryTableComponent, BarsChartComponent, PieChartComponent
HistoryTableComponent,
BarsChartComponent,
PieChartComponent,
],
templateUrl: './dropzones.component.html',
styleUrl: './dropzones.component.scss',
animations: [
trigger('flyInOut', [
state('in', style({ transform: 'translateX(0)' })),
transition('void => *', [
style({ transform: 'translateX(-100%)' }),
animate(200)
]),
transition('* => void', [
style({ transform: 'translateX(100%)' }),
animate(200)
])
])
]
transition('void => *', [style({ transform: 'translateX(-100%)' }), animate(200)]),
transition('* => void', [style({ transform: 'translateX(100%)' }), animate(200)]),
]),
],
})
export class DropzonesComponent implements OnInit, OnDestroy {
private _data: Subscription = new Subscription();
@@ -62,16 +64,16 @@ export class DropzonesComponent implements OnInit, OnDestroy {
public seriesValue: number[] = [];
public seriesRow: Array<Array<number>> = [];
public seriesColor: {
backgroundColor: string[],
borderColor: string[]
backgroundColor: string[];
borderColor: string[];
} = {
backgroundColor: this._utilitiesService.getSeriesColors(0.8, 'all'),
borderColor: this._utilitiesService.getSeriesColors(1, 'all')
borderColor: this._utilitiesService.getSeriesColors(1, 'all'),
};
public seriesColorClass: string[] = this._utilitiesService.getChartColors();
//public chartBarConfig: Configuration = this._utilitiesService.getBarConfig();
public center: google.maps.LatLngLiteral = {lat: 44.596408, lng: -1.115958};
public center: google.maps.LatLngLiteral = { lat: 44.596408, lng: -1.115958 };
public zoom = 16;
public kmlUrl = 'https://rampeur.com/assets/kmls/dropzones.kml?v=6';
//public mapTypeId: google.maps.MapTypeId = google.maps.MapTypeId.SATELLITE;
@@ -82,7 +84,7 @@ export class DropzonesComponent implements OnInit, OnDestroy {
mapTypeId: 'satellite',
disableDoubleClickZoom: true,
maxZoom: 20,
minZoom: 3
minZoom: 3,
};
// Arcachon : 44.596408,-1.115958
// La Réole : 44.566309,-0.054606
@@ -98,16 +100,20 @@ export class DropzonesComponent implements OnInit, OnDestroy {
constructor(
private route: ActivatedRoute,
private _utilitiesService: UtilitiesService,
public menuItems: MenuItems
) { }
public menuItems: MenuItems,
) {}
ngOnInit() {
const data$: Observable<{ dropZonesPageData: DropZonesPageData }> = this.route.data as Observable<{ dropZonesPageData: DropZonesPageData }>;
this._data = data$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((data: { dropZonesPageData: DropZonesPageData }) => {
const pageData: DropZonesPageData = data.dropZonesPageData;
this.lastJump = pageData.lastjump;
this._loadDropZoneByOaci(pageData);
});
const data$: Observable<{ dropZonesPageData: DropZonesPageData }> = this.route.data as Observable<{
dropZonesPageData: DropZonesPageData;
}>;
this._data = data$
.pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((data: { dropZonesPageData: DropZonesPageData }) => {
const pageData: DropZonesPageData = data.dropZonesPageData;
this.lastJump = pageData.lastjump;
this._loadDropZoneByOaci(pageData);
});
}
ngOnDestroy() {