issue-10 #17

Merged
sebastian merged 29 commits from issue-10 into master 2023-10-22 11:40:25 +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" />
</component>
<component name="ChangeListManager">
<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>
<list default="true" id="3a869f59-290a-4ab2-b036-a878ce801bc4" name="Changes" comment="Datastructure for Tasks" />
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<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,
"dependencies": {
"@angular/animations": "~13.2.0",
"@angular/animations": "^14.3.0",
"@angular/cdk": "^13.2.2",
"@angular/common": "~13.2.0",
"@angular/compiler": "~13.2.0",
"@angular/core": "~13.2.0",
"@angular/forms": "~13.2.0",
"@angular/common": "^14.3.0",
"@angular/compiler": "^14.3.0",
"@angular/core": "^14.3.0",
"@angular/forms": "^14.3.0",
"@angular/material": "^13.2.2",
"@angular/platform-browser": "~13.2.0",
"@angular/platform-browser-dynamic": "~13.2.0",
"@angular/router": "~13.2.0",
"@angular/platform-browser": "^14.3.0",
"@angular/platform-browser-dynamic": "^14.3.0",
"@angular/router": "^14.3.0",
"rxjs": "~7.5.0",
"tslib": "^2.3.0",
"zone.js": "~0.11.4"
},
"devDependencies": {
"@angular-devkit/build-angular": "~13.2.2",
"@angular/cli": "~13.2.2",
"@angular/compiler-cli": "~13.2.0",
"@angular-devkit/build-angular": "^14.2.12",
"@angular/cli": "^14.2.12",
"@angular/compiler-cli": "^14.3.0",
"@types/jasmine": "~3.10.0",
"@types/node": "^12.11.1",
"jasmine-core": "~4.0.0",
@ -36,6 +36,6 @@
"karma-coverage": "~2.1.0",
"karma-jasmine": "~4.0.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 {UserInfo, UsersService} from "../../../../api";
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";
@ -24,22 +24,22 @@ export class EditComponent implements OnInit {
adminUpdateDisabled: boolean = false;
usernameFormControl = new FormControl('', [Validators.required, Validators.minLength(3), Validators.maxLength(32)])
emailFormControl = new FormControl('', [Validators.required, Validators.email])
usernameFormControl = new UntypedFormControl('', [Validators.required, Validators.minLength(3), Validators.maxLength(32)])
emailFormControl = new UntypedFormControl('', [Validators.required, Validators.email])
passwordEditControl = new FormControl('', [
passwordEditControl = new UntypedFormControl('', [
(control: AbstractControl): ValidationErrors | 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 => {
return control.value != this.password ? {duplicate: {value: control.value}} : null
}
])
passwordDuplicateAddControl = new FormControl('', [
passwordDuplicateAddControl = new UntypedFormControl('', [
Validators.required,
Validators.minLength(6),
(control: AbstractControl): ValidationErrors | null => {

View File

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

View File

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

View File

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

View File

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

View File

@ -1,5 +1,5 @@
import { Component, OnInit } from '@angular/core';
import {FormControl, Validators} from "@angular/forms";
import {UntypedFormControl, Validators} from "@angular/forms";
import {AccountService} from "../../../../api";
import {Router} from "@angular/router";
import {AuthService} from "../../../auth.service";
@ -14,7 +14,7 @@ export class DeleteAccountComponent implements OnInit {
password: string = "";
hide: boolean = true;
passwordControl = new FormControl('', [Validators.required]);
passwordControl = new UntypedFormControl('', [Validators.required]);
pending: boolean = false;
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 {AccountService} from "../../../../api";
import {FormControl, Validators} from "@angular/forms";
import {UntypedFormControl, Validators} from "@angular/forms";
import {MatSnackBar} from "@angular/material/snack-bar";
@Component({
@ -12,8 +12,8 @@ export class ManageEmailComponent implements OnInit {
email : string = "";
password: string = "";
emailControl = new FormControl('', [Validators.required, Validators.email]);
passwordControl = new FormControl('', [Validators.required])
emailControl = new UntypedFormControl('', [Validators.required, Validators.email]);
passwordControl = new UntypedFormControl('', [Validators.required])
hide: boolean = true;
pending: boolean = false;

View File

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