Update angular to 20

This commit is contained in:
2025-08-09 20:45:51 +02:00
parent 3aee8fd99e
commit e58afad433
16 changed files with 153 additions and 191 deletions

View File

@@ -12,13 +12,13 @@
"private": true,
"dependencies": {
"@angular/animations": "^20.1.6",
"@angular/cdk": "^19.2.19",
"@angular/cdk": "^20.1.5",
"@angular/common": "^20.1.6",
"@angular/compiler": "^20.1.6",
"@angular/core": "^20.1.6",
"@angular/forms": "^20.1.6",
"@angular/material": "^19.2.19",
"@angular/material-moment-adapter": "^19.2.19",
"@angular/material": "^20.1.5",
"@angular/material-moment-adapter": "^20.1.5",
"@angular/platform-browser": "^20.1.6",
"@angular/platform-browser-dynamic": "^20.1.6",
"@angular/platform-server": "^20.1.6",

View File

@@ -1,7 +1,7 @@
import {Component, OnDestroy, OnInit} from '@angular/core';
import {ActivatedRoute, NavigationEnd, Router, RouterLink, RouterLinkActive, RouterOutlet} from '@angular/router';
import {ActivatedRoute, Router, RouterLink, RouterOutlet} from '@angular/router';
import {CommonModule, NgOptimizedImage} from "@angular/common";
import {MatAnchor, MatButton, MatIconButton, MatMiniFabButton} from "@angular/material/button";
import {MatAnchor, MatButton} from "@angular/material/button";
import {MatIcon} from "@angular/material/icon";
import {MatToolbar} from "@angular/material/toolbar";
import {TitleService} from "./service/title.service";
@@ -12,7 +12,7 @@ import {TournamentService} from "./service/tournament.service";
@Component({
selector: 'app-root',
imports: [RouterOutlet, CommonModule, RouterLink, RouterLinkActive, MatAnchor, MatIcon, MatButton, MatToolbar, NgOptimizedImage, MatIconButton, MatMiniFabButton, MatMenuTrigger, MatMenu, MatMenuItem],
imports: [RouterOutlet, CommonModule, RouterLink, MatAnchor, MatIcon, MatButton, MatToolbar, NgOptimizedImage, MatMenuTrigger, MatMenu, MatMenuItem],
providers: [TitleService],
templateUrl: './app.component.html',
styleUrl: './app.component.scss'

View File

@@ -17,18 +17,13 @@ import {TitleService} from "../../service/title.service";
selector: 'app-login',
templateUrl: './login.component.html',
imports: [
MatCardTitle,
MatCardContent,
ReactiveFormsModule,
MatFormField,
MatButton,
RouterLink,
MatInput,
NgIf,
MatLabel,
MatError,
MatCard,
MatCardHeader
],
styleUrls: ['./login.component.scss']
})

View File

@@ -28,9 +28,6 @@ import {Game} from "../../model/game";
MatButton,
MatDialogClose,
MatDialogTitle,
DatePipe,
MatIcon,
NgForOf,
TeamPipe,
MatInput,
ReactiveFormsModule,
@@ -38,8 +35,6 @@ import {Game} from "../../model/game";
MatFormField,
MatGridList,
MatGridTile,
MatGridTileText,
MatIconButton,
NgClass
],
providers: [

View File

@@ -1,5 +1,5 @@
import {Component, OnInit} from '@angular/core';
import {MatCard, MatCardContent, MatCardHeader} from "@angular/material/card";
import {MatCard, MatCardContent} from "@angular/material/card";
import {TournamentService} from "../../service/tournament.service";
import {ActivatedRoute, Router} from "@angular/router";
import {Tournament} from "../../model/tournament";
@@ -15,16 +15,15 @@ import {TitleService} from "../../service/title.service";
@Component({
selector: 'app-match-sheets',
imports: [
MatCard,
MatCardHeader,
MatCardContent,
TeamPipe,
NgForOf,
MatFormField,
MatInput,
ReactiveFormsModule
],
imports: [
MatCard,
MatCardContent,
TeamPipe,
NgForOf,
MatFormField,
MatInput,
ReactiveFormsModule
],
providers: [
TeamPipe,
FullNamePipe

View File

@@ -2,49 +2,43 @@ import {Component, OnInit} from '@angular/core';
import {Player, Strength} from "../../model/player";
import {PlayerService} from "../../service/player.service";
import {ActivatedRoute, Router, RouterLink} from "@angular/router";
import {FormGroup, FormsModule, ReactiveFormsModule} from "@angular/forms";
import {FormsModule, ReactiveFormsModule} from "@angular/forms";
import {MatFormField, MatHint, MatLabel} from "@angular/material/form-field";
import {MatInput} from "@angular/material/input";
import {MatIcon} from "@angular/material/icon";
import {MatRadioButton, MatRadioGroup} from "@angular/material/radio";
import {MatCard, MatCardActions, MatCardContent, MatCardHeader} from "@angular/material/card";
import {MatDatepicker, MatDatepickerInput, MatDatepickerToggle} from "@angular/material/datepicker";
import {MatCard, MatCardActions, MatCardContent} from "@angular/material/card";
import {MatOption, MatSelect} from "@angular/material/select";
import {KeyValuePipe, NgForOf} from "@angular/common";
import {MatAnchor, MatButton} from "@angular/material/button";
import {TitleService} from "../../service/title.service";
import {MatSnackBar} from "@angular/material/snack-bar";
import {NgxMaskDirective, NgxMaskPipe} from "ngx-mask";
import {NgxMaskDirective} from "ngx-mask";
@Component({
selector: 'app-player-edit',
imports: [
FormsModule,
RouterLink,
MatFormField,
MatInput,
MatIcon,
MatHint,
MatLabel,
MatRadioGroup,
MatRadioButton,
MatCard,
MatCardHeader,
MatCardContent,
MatCardActions,
MatDatepickerInput,
MatDatepickerToggle,
MatDatepicker,
MatSelect,
MatOption,
KeyValuePipe,
NgForOf,
MatButton,
MatAnchor,
ReactiveFormsModule,
NgxMaskDirective,
NgxMaskPipe
],
imports: [
FormsModule,
RouterLink,
MatFormField,
MatInput,
MatIcon,
MatHint,
MatLabel,
MatRadioGroup,
MatRadioButton,
MatCard,
MatCardContent,
MatCardActions,
MatSelect,
MatOption,
KeyValuePipe,
NgForOf,
MatButton,
MatAnchor,
ReactiveFormsModule,
NgxMaskDirective
],
templateUrl: './player-edit.component.html',
styleUrl: './player-edit.component.scss'
})

View File

@@ -1,11 +1,10 @@
import {AfterViewInit, Component, OnInit, ViewChild} from '@angular/core';
import {AfterViewInit, Component, ViewChild} from '@angular/core';
import {Player} from "../../model/player";
import {PlayerService} from "../../service/player.service";
import {NgFor} from "@angular/common";
import {RouterLink} from "@angular/router";
import {MatAnchor} from "@angular/material/button";
import {MatIcon} from "@angular/material/icon";
import {MatCard, MatCardContent, MatCardHeader} from "@angular/material/card";
import {MatCard, MatCardContent} from "@angular/material/card";
import {FullNamePipe} from "../../pipes/fullname-pipe";
import {TitleService} from "../../service/title.service";
import {
@@ -14,8 +13,12 @@ import {
MatColumnDef,
MatHeaderCell,
MatHeaderCellDef,
MatHeaderRow, MatHeaderRowDef, MatRow, MatRowDef,
MatTable, MatTableDataSource
MatHeaderRow,
MatHeaderRowDef,
MatRow,
MatRowDef,
MatTable,
MatTableDataSource
} from "@angular/material/table";
import {MatFormField, MatFormFieldModule} from "@angular/material/form-field";
import {MatInput} from "@angular/material/input";
@@ -24,7 +27,7 @@ import {MatSort, MatSortHeader} from "@angular/material/sort";
@Component({
selector: 'app-player-list',
imports: [NgFor, RouterLink, MatAnchor, MatIcon, MatCard, MatCardHeader, MatCardContent, FullNamePipe, MatTable, MatColumnDef, MatHeaderCell, MatHeaderCellDef, MatCell, MatCellDef, MatHeaderRow, MatHeaderRowDef, MatRow, MatRowDef, MatFormField, MatInput, MatFormFieldModule, MatPaginator, MatSortHeader, MatSort],
imports: [RouterLink, MatAnchor, MatIcon, MatCard, MatCardContent, FullNamePipe, MatTable, MatColumnDef, MatHeaderCell, MatHeaderCellDef, MatCell, MatCellDef, MatHeaderRow, MatHeaderRowDef, MatRow, MatRowDef, MatFormField, MatInput, MatFormFieldModule, MatPaginator, MatSortHeader, MatSort],
providers: [FullNamePipe],
templateUrl: './player-list.component.html',
styleUrl: './player-list.component.scss'

View File

@@ -4,46 +4,41 @@ import {ActivatedRoute, Router, RouterLink} from "@angular/router";
import {PlayerService} from "../../service/player.service";
import {MatCard, MatCardActions, MatCardContent, MatCardHeader} from "@angular/material/card";
import {MatFormField, MatLabel} from "@angular/material/form-field";
import {MatInput} from "@angular/material/input";
import {FormsModule, ReactiveFormsModule} from "@angular/forms";
import {RegistrationService} from "../../service/registration.service";
import {KeyValuePipe, NgFor, NgIf} from "@angular/common";
import {NgFor, NgIf} from "@angular/common";
import {MatCheckbox, MatCheckboxChange} from "@angular/material/checkbox";
import {EventRegistration, TournamentRegistration} from "../../model/tournamentRegistration";
import {MatOption} from "@angular/material/core";
import {MatSelect} from "@angular/material/select";
import {MatIcon} from "@angular/material/icon";
import {MatAnchor, MatButton, MatFabButton} from "@angular/material/button";
import {MatAnchor, MatButton} from "@angular/material/button";
import {MatSnackBar} from "@angular/material/snack-bar";
import {FullNamePipe} from "../../pipes/fullname-pipe";
import {Tournament} from "../../model/tournament";
import {TitleService} from "../../service/title.service";
@Component({
selector: 'app-player-registrations',
imports: [
MatCard,
MatCardContent,
MatCardHeader,
MatFormField,
MatInput,
MatLabel,
NgFor,
ReactiveFormsModule,
FormsModule,
MatCheckbox,
NgIf,
MatCardActions,
RouterLink,
KeyValuePipe,
MatOption,
MatSelect,
MatIcon,
MatFabButton,
MatButton,
MatAnchor,
FullNamePipe
],
imports: [
MatCard,
MatCardContent,
MatCardHeader,
MatFormField,
MatLabel,
NgFor,
ReactiveFormsModule,
FormsModule,
MatCheckbox,
NgIf,
MatCardActions,
RouterLink,
MatOption,
MatSelect,
MatIcon,
MatButton,
MatAnchor,
FullNamePipe
],
providers: [
FullNamePipe
],

View File

@@ -8,24 +8,16 @@ import {ActivatedRoute, Router} from "@angular/router";
import {DecimalPipe, NgForOf} from "@angular/common";
import {TeamPipe} from "../../pipes/team-pipe";
import {FullNamePipe} from "../../pipes/fullname-pipe";
import {MatButton, MatIconButton} from "@angular/material/button";
import {MatIcon} from "@angular/material/icon";
import {MatMenu, MatMenuItem} from "@angular/material/menu";
import {TitleService} from "../../service/title.service";
@Component({
selector: 'app-round-overview',
imports: [
NgForOf,
TeamPipe,
DecimalPipe,
MatButton,
MatIcon,
MatIconButton,
MatMenu,
MatMenuItem,
FullNamePipe
],
imports: [
NgForOf,
TeamPipe,
DecimalPipe,
FullNamePipe
],
providers: [
TeamPipe,
FullNamePipe

View File

@@ -2,9 +2,8 @@ import {Component, OnInit} from '@angular/core';
import {Tournament} from "../../model/tournament";
import {TournamentService} from "../../service/tournament.service";
import {ActivatedRoute, Router} from "@angular/router";
import {TournamentDivision} from "../../model/tournamentDivision";
import {MatCard, MatCardContent, MatCardHeader} from "@angular/material/card";
import {KeyValuePipe, NgForOf, NgIf} from "@angular/common";
import {NgForOf, NgIf} from "@angular/common";
import {
MatAccordion,
MatExpansionPanel,
@@ -12,25 +11,23 @@ import {
MatExpansionPanelTitle
} from "@angular/material/expansion";
import {Event} from "../../model/event";
import {Player, Strength} from "../../model/player";
import {EventDivision} from "../../model/eventDivision";
import {Strength} from "../../model/player";
import {FullNamePipe} from "../../pipes/fullname-pipe";
@Component({
selector: 'app-tournament-divide',
imports: [
MatCard,
MatCardHeader,
NgIf,
MatCardContent,
MatExpansionPanel,
MatExpansionPanelTitle,
MatExpansionPanelHeader,
NgForOf,
KeyValuePipe,
FullNamePipe,
MatAccordion
],
imports: [
MatCard,
MatCardHeader,
NgIf,
MatCardContent,
MatExpansionPanel,
MatExpansionPanelTitle,
MatExpansionPanelHeader,
NgForOf,
FullNamePipe,
MatAccordion
],
templateUrl: './tournament-divide.component.html',
styleUrl: './tournament-divide.component.scss'
})

View File

@@ -16,19 +16,18 @@ import {FullNamePipe} from "../../pipes/fullname-pipe";
@Component({
selector: 'app-tournament-draw',
imports: [
FullNamePipe,
MatCard,
NgIf,
MatCardContent,
MatCardHeader,
MatExpansionPanel,
MatExpansionPanelHeader,
MatExpansionPanelTitle,
NgForOf,
TeamPipe,
MatAccordion
],
imports: [
MatCard,
NgIf,
MatCardContent,
MatCardHeader,
MatExpansionPanel,
MatExpansionPanelHeader,
MatExpansionPanelTitle,
NgForOf,
TeamPipe,
MatAccordion
],
providers: [
FullNamePipe,
TeamPipe

View File

@@ -5,41 +5,37 @@ import {Tournament} from "../../model/tournament";
import {TournamentService} from "../../service/tournament.service";
import {MatAnchor, MatButton} from "@angular/material/button";
import {MatIcon} from "@angular/material/icon";
import {MatCard, MatCardActions, MatCardContent, MatCardHeader} from "@angular/material/card";
import {MatCard, MatCardActions, MatCardContent} from "@angular/material/card";
import {MatFormField, MatHint, MatLabel} from "@angular/material/form-field";
import {MatInput} from "@angular/material/input";
import {MatRadioButton, MatRadioGroup} from "@angular/material/radio";
import {CurrencyPipe, NgForOf, registerLocaleData} from "@angular/common";
import {CurrencyPipe, registerLocaleData} from "@angular/common";
import nl from "@angular/common/locales/nl";
import {TitleService} from "../../service/title.service";
import {NgxMaskDirective, NgxMaskPipe} from "ngx-mask";
import {NgxMaskDirective} from "ngx-mask";
import {MatSnackBar} from "@angular/material/snack-bar";
registerLocaleData(nl);
@Component({
selector: 'app-tournament-edit',
imports: [
FormsModule,
RouterLink,
MatAnchor,
MatButton,
MatIcon,
MatCard,
MatCardHeader,
MatCardContent,
MatFormField,
MatInput,
MatLabel,
MatCardActions,
MatRadioButton,
MatRadioGroup,
NgForOf,
CurrencyPipe,
MatHint,
NgxMaskDirective,
NgxMaskPipe
],
imports: [
FormsModule,
RouterLink,
MatAnchor,
MatButton,
MatIcon,
MatCard,
MatCardContent,
MatFormField,
MatInput,
MatLabel,
MatCardActions,
MatRadioButton,
MatRadioGroup,
MatHint,
NgxMaskDirective
],
providers: [
CurrencyPipe
],

View File

@@ -1,28 +1,19 @@
import {AfterContentChecked, AfterContentInit, Component, EventEmitter, OnInit, Output} from '@angular/core';
import {AfterContentChecked, Component, OnInit} from '@angular/core';
import {NgFor, NgIf} from "@angular/common";
import {RouterLink} from "@angular/router";
import {Tournament} from "../../model/tournament";
import {TournamentService} from "../../service/tournament.service";
import {MatAnchor, MatButton, MatIconButton} from "@angular/material/button";
import {MatAnchor, MatButton} from "@angular/material/button";
import {MatIcon} from "@angular/material/icon";
import {MatCard, MatCardContent, MatCardHeader} from "@angular/material/card";
import {
MatCell,
MatCellDef,
MatColumnDef,
MatHeaderCell,
MatHeaderCellDef,
MatHeaderRow, MatRow,
MatTable, MatTableModule
} from "@angular/material/table";
import {MatMenuTrigger} from "@angular/material/menu";
import {MatCard, MatCardContent} from "@angular/material/card";
import {MatTableModule} from "@angular/material/table";
import {TitleService} from "../../service/title.service";
@Component({
selector: 'app-tournament-list',
imports: [
NgFor, RouterLink, NgIf, MatAnchor, MatIcon, MatCard, MatCardHeader, MatCardContent, MatButton, MatTable, MatColumnDef, MatHeaderCell, MatHeaderCellDef, MatCell, MatCellDef, MatHeaderRow, MatRow, MatTableModule, MatIconButton, MatMenuTrigger
],
imports: [
NgFor, RouterLink, NgIf, MatAnchor, MatIcon, MatCard, MatCardContent, MatButton, MatTableModule
],
templateUrl: './tournament-list.component.html',
styleUrl: './tournament-list.component.scss'
})

View File

@@ -4,7 +4,6 @@ import {Tournament} from "../../model/tournament";
import {TournamentService} from "../../service/tournament.service";
import {ActivatedRoute, Router} from "@angular/router";
import {NgForOf, NgIf} from "@angular/common";
import {Player} from "../../model/player";
import {Event} from "../../model/event";
import {FullNamePipe} from "../../pipes/fullname-pipe";
import {TitleService} from "../../service/title.service";

View File

@@ -1,7 +1,7 @@
import {Component, OnInit} from '@angular/core';
import {MatCard, MatCardContent, MatCardHeader} from "@angular/material/card";
import {Tournament} from "../../model/tournament";
import {AsyncPipe, NgForOf, NgIf} from "@angular/common";
import {NgForOf, NgIf} from "@angular/common";
import {Event} from "../../model/event";
import {TournamentService} from "../../service/tournament.service";
import {ActivatedRoute, Router} from "@angular/router";

View File

@@ -198,12 +198,12 @@
optionalDependencies:
lmdb "3.4.1"
"@angular/cdk@^19.2.19":
version "19.2.19"
resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-19.2.19.tgz#25ba3b8f565e6bcd9cd59159c0d9a4244cf3c7ee"
integrity sha512-PCpJagurPBqciqcq4Z8+3OtKLb7rSl4w/qBJoIMua8CgnrjvA1i+SWawhdtfI1zlY8FSwhzLwXV0CmWWfFzQPg==
"@angular/cdk@^20.1.5":
version "20.1.5"
resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-20.1.5.tgz#2e90f9ade4d3c335c300226323576aa77f2e050a"
integrity sha512-uJezXaVPAbumxTCv5JA7oIuWCgPlz9/Fj6dJl6bxcRD7DfMyHGq3dtoLhthuU/uk+OfK0FlTklR92Yss5frFUw==
dependencies:
parse5 "^7.1.2"
parse5 "^8.0.0"
tslib "^2.3.0"
"@angular/cli@^20.1.5":
@@ -283,17 +283,17 @@
tinyglobby "^0.2.12"
yargs "^18.0.0"
"@angular/material-moment-adapter@^19.2.19":
version "19.2.19"
resolved "https://registry.yarnpkg.com/@angular/material-moment-adapter/-/material-moment-adapter-19.2.19.tgz#75fcfb547727ad92bffa7435c89bb6782c6c9bee"
integrity sha512-yL7ES1HgtEW5D3iOkio/PD/UwBgXuyNDkxBdcrRYih+8ihhbaU6rBzCT5juUujjmRtt8Aj+3M80PSq5dlsingA==
"@angular/material-moment-adapter@^20.1.5":
version "20.1.5"
resolved "https://registry.yarnpkg.com/@angular/material-moment-adapter/-/material-moment-adapter-20.1.5.tgz#8c4f1afc80031d8d84798b3e82043af68fe41794"
integrity sha512-x5Sk1tSFy5kdqapyeJI66FxWMYyM6J1cfr1deS4Lu4eIV7dgTD1f/XnE3+5mtR+SZ45RKJzfwHgMEHY5W4COvQ==
dependencies:
tslib "^2.3.0"
"@angular/material@^19.2.19":
version "19.2.19"
resolved "https://registry.yarnpkg.com/@angular/material/-/material-19.2.19.tgz#dd10669e260109c4f944303dcff3d92fed2e5566"
integrity sha512-auIE6JUzTIA3LyYklh9J/T7u64crmphxUBgAa0zcOMDog6SYfwbNe9YeLQqua5ek4OUAOdK/BHHfVl5W5iaUoQ==
"@angular/material@^20.1.5":
version "20.1.5"
resolved "https://registry.yarnpkg.com/@angular/material/-/material-20.1.5.tgz#e17cadae4d952d197dc91de484763a1b09b42363"
integrity sha512-Kce3rjQEblkX6gb6RH8Fefm0cFxXsM7d/bTCu3syCQiy4F0BUv4OGyThIkiWztVwVtg/E9IeYotoftCyydFJLQ==
dependencies:
tslib "^2.3.0"
@@ -3917,13 +3917,20 @@ parse5-sax-parser@^7.0.0:
dependencies:
parse5 "^7.0.0"
parse5@^7.0.0, parse5@^7.1.2:
parse5@^7.0.0:
version "7.3.0"
resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.3.0.tgz#d7e224fa72399c7a175099f45fc2ad024b05ec05"
integrity sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==
dependencies:
entities "^6.0.0"
parse5@^8.0.0:
version "8.0.0"
resolved "https://registry.yarnpkg.com/parse5/-/parse5-8.0.0.tgz#aceb267f6b15f9b6e6ba9e35bfdd481fc2167b12"
integrity sha512-9m4m5GSgXjL4AjumKzq1Fgfp3Z8rsvjRNbnkVwfu2ImRqE5D0LnY2QfDen18FSY9C573YU5XxSapdHZTZ2WolA==
dependencies:
entities "^6.0.0"
parseurl@^1.3.3, parseurl@~1.3.3:
version "1.3.3"
resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4"