issue-11-angular-update #12

Merged
sebastian merged 13 commits from issue-11-angular-update into issue-10 2023-10-06 08:52:02 +02:00
12 changed files with 6582 additions and 4216 deletions
Showing only changes of commit 56d358d0d4 - Show all commits

View File

@ -4,9 +4,7 @@
<option name="autoReloadType" value="SELECTIVE" /> <option name="autoReloadType" value="SELECTIVE" />
</component> </component>
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="3a869f59-290a-4ab2-b036-a878ce801bc4" name="Changes" comment="Datastructure for Tasks"> <list default="true" id="3a869f59-290a-4ab2-b036-a878ce801bc4" name="Changes" comment="Datastructure for Tasks" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" /> <option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" /> <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />

View File

@ -103,6 +103,5 @@
} }
} }
} }
}, }
"defaultProject": "frontend"
} }

10695
frontend/package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -10,24 +10,24 @@
}, },
"private": true, "private": true,
"dependencies": { "dependencies": {
"@angular/animations": "~13.2.0", "@angular/animations": "^14.3.0",
"@angular/cdk": "^13.2.2", "@angular/cdk": "^13.2.2",
"@angular/common": "~13.2.0", "@angular/common": "^14.3.0",
"@angular/compiler": "~13.2.0", "@angular/compiler": "^14.3.0",
"@angular/core": "~13.2.0", "@angular/core": "^14.3.0",
"@angular/forms": "~13.2.0", "@angular/forms": "^14.3.0",
"@angular/material": "^13.2.2", "@angular/material": "^13.2.2",
"@angular/platform-browser": "~13.2.0", "@angular/platform-browser": "^14.3.0",
"@angular/platform-browser-dynamic": "~13.2.0", "@angular/platform-browser-dynamic": "^14.3.0",
"@angular/router": "~13.2.0", "@angular/router": "^14.3.0",
"rxjs": "~7.5.0", "rxjs": "~7.5.0",
"tslib": "^2.3.0", "tslib": "^2.3.0",
"zone.js": "~0.11.4" "zone.js": "~0.11.4"
}, },
"devDependencies": { "devDependencies": {
"@angular-devkit/build-angular": "~13.2.2", "@angular-devkit/build-angular": "^14.2.12",
"@angular/cli": "~13.2.2", "@angular/cli": "^14.2.12",
"@angular/compiler-cli": "~13.2.0", "@angular/compiler-cli": "^14.3.0",
"@types/jasmine": "~3.10.0", "@types/jasmine": "~3.10.0",
"@types/node": "^12.11.1", "@types/node": "^12.11.1",
"jasmine-core": "~4.0.0", "jasmine-core": "~4.0.0",
@ -36,6 +36,6 @@
"karma-coverage": "~2.1.0", "karma-coverage": "~2.1.0",
"karma-jasmine": "~4.0.0", "karma-jasmine": "~4.0.0",
"karma-jasmine-html-reporter": "~1.7.0", "karma-jasmine-html-reporter": "~1.7.0",
"typescript": "~4.5.2" "typescript": "~4.8.4"
} }
} }

View File

@ -2,7 +2,7 @@ import {Component, Inject, OnInit} from '@angular/core';
import {MAT_DIALOG_DATA, MatDialogRef} from "@angular/material/dialog"; import {MAT_DIALOG_DATA, MatDialogRef} from "@angular/material/dialog";
import {UserInfo, UsersService} from "../../../../api"; import {UserInfo, UsersService} from "../../../../api";
import {MatSnackBar} from "@angular/material/snack-bar"; import {MatSnackBar} from "@angular/material/snack-bar";
import {AbstractControl, FormControl, ValidationErrors, Validators} from "@angular/forms"; import {AbstractControl, UntypedFormControl, ValidationErrors, Validators} from "@angular/forms";
import {EditData} from "./edit-data"; import {EditData} from "./edit-data";
@ -24,22 +24,22 @@ export class EditComponent implements OnInit {
adminUpdateDisabled: boolean = false; adminUpdateDisabled: boolean = false;
usernameFormControl = new FormControl('', [Validators.required, Validators.minLength(3), Validators.maxLength(32)]) usernameFormControl = new UntypedFormControl('', [Validators.required, Validators.minLength(3), Validators.maxLength(32)])
emailFormControl = new FormControl('', [Validators.required, Validators.email]) emailFormControl = new UntypedFormControl('', [Validators.required, Validators.email])
passwordEditControl = new FormControl('', [ passwordEditControl = new UntypedFormControl('', [
(control: AbstractControl): ValidationErrors | null => { (control: AbstractControl): ValidationErrors | null => {
return control.value.length > 0 && control.value.length < 6 ? {minlength: {value: control.value}} : null return control.value.length > 0 && control.value.length < 6 ? {minlength: {value: control.value}} : null
}, },
]) ])
passwordAddControl = new FormControl('', [Validators.required, Validators.minLength(6)]) passwordAddControl = new UntypedFormControl('', [Validators.required, Validators.minLength(6)])
passwordDuplicateEditControl = new FormControl('', [ passwordDuplicateEditControl = new UntypedFormControl('', [
(control: AbstractControl): ValidationErrors | null => { (control: AbstractControl): ValidationErrors | null => {
return control.value != this.password ? {duplicate: {value: control.value}} : null return control.value != this.password ? {duplicate: {value: control.value}} : null
} }
]) ])
passwordDuplicateAddControl = new FormControl('', [ passwordDuplicateAddControl = new UntypedFormControl('', [
Validators.required, Validators.required,
Validators.minLength(6), Validators.minLength(6),
(control: AbstractControl): ValidationErrors | null => { (control: AbstractControl): ValidationErrors | null => {

View File

@ -6,7 +6,7 @@ import {MatSnackBar} from "@angular/material/snack-bar";
import {AuthService} from "../../auth.service"; import {AuthService} from "../../auth.service";
import {LoginComponent} from "../login/login.component"; import {LoginComponent} from "../login/login.component";
import {LoginDialogServiceService} from "../../login-dialog-service.service"; import {LoginDialogServiceService} from "../../login-dialog-service.service";
import {AbstractControl, FormControl, ValidationErrors, Validators} from "@angular/forms"; import {AbstractControl, UntypedFormControl, ValidationErrors, Validators} from "@angular/forms";
@Component({ @Component({
selector: 'app-registration', selector: 'app-registration',
@ -23,10 +23,10 @@ export class RegistrationComponent implements OnInit {
pending: boolean = false; pending: boolean = false;
isAuth: boolean = false; isAuth: boolean = false;
usernameControl = new FormControl('', [Validators.required, Validators.minLength(3)]); usernameControl = new UntypedFormControl('', [Validators.required, Validators.minLength(3)]);
emailControl = new FormControl('', [Validators.required, Validators.email]) emailControl = new UntypedFormControl('', [Validators.required, Validators.email])
passwordControl = new FormControl('', [Validators.required, Validators.minLength(6)]); passwordControl = new UntypedFormControl('', [Validators.required, Validators.minLength(6)]);
passwordDuplicateControl = new FormControl('', [ passwordDuplicateControl = new UntypedFormControl('', [
Validators.required, Validators.required,
Validators.minLength(6), Validators.minLength(6),
(control: AbstractControl): ValidationErrors | null => { (control: AbstractControl): ValidationErrors | null => {

View File

@ -1,5 +1,5 @@
import {Component, Inject, OnInit} from '@angular/core'; import {Component, Inject, OnInit} from '@angular/core';
import {FormControl, Validators} from "@angular/forms"; import {UntypedFormControl, Validators} from "@angular/forms";
import {MAT_DIALOG_DATA, MatDialogRef} from "@angular/material/dialog"; import {MAT_DIALOG_DATA, MatDialogRef} from "@angular/material/dialog";
import {TaskgroupEntityInfo, TaskgroupService} from "../../../api"; import {TaskgroupEntityInfo, TaskgroupService} from "../../../api";
import {error} from "@angular/compiler/src/util"; import {error} from "@angular/compiler/src/util";
@ -15,7 +15,7 @@ import {TaskgroupCreationData} from "./TaskgroupCreationData";
}) })
export class TaskgroupCreationComponent implements OnInit { export class TaskgroupCreationComponent implements OnInit {
nameCtrl = new FormControl('', [Validators.required, Validators.maxLength(255)]) nameCtrl = new UntypedFormControl('', [Validators.required, Validators.maxLength(255)])
pending: boolean = false pending: boolean = false
constructor(private dialogRef: MatDialogRef<TaskgroupCreationComponent>, constructor(private dialogRef: MatDialogRef<TaskgroupCreationComponent>,

View File

@ -1,5 +1,5 @@
import { Component, OnInit } from '@angular/core'; import { Component, OnInit } from '@angular/core';
import {FormControl, Validators} from "@angular/forms"; import {UntypedFormControl, Validators} from "@angular/forms";
@Component({ @Component({
selector: 'app-task-editor', selector: 'app-task-editor',
@ -8,9 +8,9 @@ import {FormControl, Validators} from "@angular/forms";
}) })
export class TaskEditorComponent implements OnInit { export class TaskEditorComponent implements OnInit {
nameCtrl = new FormControl('', [Validators.required, Validators.maxLength(255)]) nameCtrl = new UntypedFormControl('', [Validators.required, Validators.maxLength(255)])
etaCtrl = new FormControl(0, [Validators.required, Validators.min(0)]) etaCtrl = new UntypedFormControl(0, [Validators.required, Validators.min(0)])
startDate = new FormControl(Date.now(), [Validators.required]) startDate = new UntypedFormControl(Date.now(), [Validators.required])
constructor() { } constructor() { }
ngOnInit(): void { ngOnInit(): void {

View File

@ -1,5 +1,5 @@
import { Component, OnInit } from '@angular/core'; import { Component, OnInit } from '@angular/core';
import {AbstractControl, FormControl, ValidationErrors, Validators} from "@angular/forms"; import {AbstractControl, UntypedFormControl, ValidationErrors, Validators} from "@angular/forms";
import {AccountService} from "../../../../api"; import {AccountService} from "../../../../api";
import {MatSnackBar} from "@angular/material/snack-bar"; import {MatSnackBar} from "@angular/material/snack-bar";
@ -14,9 +14,9 @@ export class ChangePasswordComponent implements OnInit {
hide: boolean = true; hide: boolean = true;
pending: boolean = false; pending: boolean = false;
oldPasswordControl = new FormControl('', [Validators.required]) oldPasswordControl = new UntypedFormControl('', [Validators.required])
newPasswordControl = new FormControl('', [Validators.required, Validators.minLength(6)]) newPasswordControl = new UntypedFormControl('', [Validators.required, Validators.minLength(6)])
duplicatePasswordControl = new FormControl('', [ duplicatePasswordControl = new UntypedFormControl('', [
Validators.required, Validators.required,
(control: AbstractControl): ValidationErrors | null => { (control: AbstractControl): ValidationErrors | null => {
return control.value != this.newPassword ? {duplicate: {value: control.value}} : null return control.value != this.newPassword ? {duplicate: {value: control.value}} : null

View File

@ -1,5 +1,5 @@
import { Component, OnInit } from '@angular/core'; import { Component, OnInit } from '@angular/core';
import {FormControl, Validators} from "@angular/forms"; import {UntypedFormControl, Validators} from "@angular/forms";
import {AccountService} from "../../../../api"; import {AccountService} from "../../../../api";
import {Router} from "@angular/router"; import {Router} from "@angular/router";
import {AuthService} from "../../../auth.service"; import {AuthService} from "../../../auth.service";
@ -14,7 +14,7 @@ export class DeleteAccountComponent implements OnInit {
password: string = ""; password: string = "";
hide: boolean = true; hide: boolean = true;
passwordControl = new FormControl('', [Validators.required]); passwordControl = new UntypedFormControl('', [Validators.required]);
pending: boolean = false; pending: boolean = false;
constructor(private accountService: AccountService, private router: Router, private auth: AuthService, private snackbar: MatSnackBar) { } constructor(private accountService: AccountService, private router: Router, private auth: AuthService, private snackbar: MatSnackBar) { }

View File

@ -1,6 +1,6 @@
import { Component, OnInit } from '@angular/core'; import { Component, OnInit } from '@angular/core';
import {AccountService} from "../../../../api"; import {AccountService} from "../../../../api";
import {FormControl, Validators} from "@angular/forms"; import {UntypedFormControl, Validators} from "@angular/forms";
import {MatSnackBar} from "@angular/material/snack-bar"; import {MatSnackBar} from "@angular/material/snack-bar";
@Component({ @Component({
@ -12,8 +12,8 @@ export class ManageEmailComponent implements OnInit {
email : string = ""; email : string = "";
password: string = ""; password: string = "";
emailControl = new FormControl('', [Validators.required, Validators.email]); emailControl = new UntypedFormControl('', [Validators.required, Validators.email]);
passwordControl = new FormControl('', [Validators.required]) passwordControl = new UntypedFormControl('', [Validators.required])
hide: boolean = true; hide: boolean = true;
pending: boolean = false; pending: boolean = false;

View File

@ -16,7 +16,7 @@
"experimentalDecorators": true, "experimentalDecorators": true,
"moduleResolution": "node", "moduleResolution": "node",
"importHelpers": true, "importHelpers": true,
"target": "es2017", "target": "es2020",
"module": "es2020", "module": "es2020",
"lib": [ "lib": [
"es2020", "es2020",