feat(Benutzer-Darstellung): - openCreateSheet-Methoden in repUserOnSelectedRows-Events integriert
- create-Methode zur Komponente rep-create-form hinzugefügt
This commit is contained in:
parent
52e6eac71d
commit
e8376ccd21
@ -1 +1 @@
|
|||||||
<p>rep-create-form works!</p>
|
<button mat-flat-button (click)="create()">Erstellen</button>
|
||||||
@ -1,6 +1,8 @@
|
|||||||
import { Component, inject } from '@angular/core';
|
import { Component, inject } from '@angular/core';
|
||||||
import { UserRep } from '../../../models/user-management.api.models';
|
import { UserRep } from '../../../models/user-management.api.models';
|
||||||
import { MAT_DIALOG_DATA } from '@angular/material/dialog';
|
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
||||||
|
import { UserRepService } from '../../../services/api/user-representation.service';
|
||||||
|
import { GroupUpdateFormComponent } from '../group-update-form/group-update-form.component';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-rep-create-form',
|
selector: 'app-rep-create-form',
|
||||||
@ -11,6 +13,26 @@ import { MAT_DIALOG_DATA } from '@angular/material/dialog';
|
|||||||
})
|
})
|
||||||
export class RepCreateFormComponent {
|
export class RepCreateFormComponent {
|
||||||
|
|
||||||
readonly userRep: UserRep = inject(MAT_DIALOG_DATA)
|
readonly userRep: UserRep;
|
||||||
|
readonly afterCreation: (any: any) => any;
|
||||||
|
readonly userRepService: UserRepService = inject(UserRepService);
|
||||||
|
readonly dialogRef: MatDialogRef<GroupUpdateFormComponent> = inject(MatDialogRef<GroupUpdateFormComponent>);
|
||||||
|
|
||||||
|
constructor() {
|
||||||
|
const dialogData: { userRep: UserRep, afterCreation: (any: any) => any } = inject(MAT_DIALOG_DATA)
|
||||||
|
this.userRep = dialogData.userRep;
|
||||||
|
this.afterCreation = dialogData.afterCreation;
|
||||||
|
}
|
||||||
|
|
||||||
|
create() {
|
||||||
|
this.userRepService.create(this.userRep).subscribe({
|
||||||
|
next: (res) => {
|
||||||
|
this.afterCreation({ successful: res });
|
||||||
|
this.dialogRef.close();
|
||||||
|
},
|
||||||
|
error: (error) => {
|
||||||
|
this.afterCreation({ error: error });
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@ -105,10 +105,11 @@ export class UserRepresentationComponent extends BasePageComponent implements Af
|
|||||||
groupId: this.slGroupId,
|
groupId: this.slGroupId,
|
||||||
repUserId: this.slRepUserId,
|
repUserId: this.slRepUserId,
|
||||||
validFrom: new Date(),
|
validFrom: new Date(),
|
||||||
validTo: new Date(new Date().setDate(new Date().getDate() + 7)) //after one week
|
validTo: new Date(new Date().setDate(new Date().getDate() + 7))
|
||||||
}
|
}
|
||||||
this.userRepService.create(newUserRep).subscribe({
|
|
||||||
next: (response) => {
|
this.openCreateSheet(newUserRep, res => {
|
||||||
|
if (res.successful) {
|
||||||
this.slRepUserId = undefined;
|
this.slRepUserId = undefined;
|
||||||
|
|
||||||
this.repUsers.safelyUnselectAll()
|
this.repUsers.safelyUnselectAll()
|
||||||
@ -117,8 +118,8 @@ export class UserRepresentationComponent extends BasePageComponent implements Af
|
|||||||
this.userReps.fetchByUser(this.slUserId)
|
this.userReps.fetchByUser(this.slUserId)
|
||||||
if (this.slGroupId)
|
if (this.slGroupId)
|
||||||
this.userReps.fetchByGroup(this.slGroupId)
|
this.userReps.fetchByGroup(this.slGroupId)
|
||||||
},
|
}
|
||||||
error: (error) => {
|
else if (res.error) {
|
||||||
Swal.fire({
|
Swal.fire({
|
||||||
icon: "error",
|
icon: "error",
|
||||||
title: "Oops...",
|
title: "Oops...",
|
||||||
@ -157,8 +158,9 @@ export class UserRepresentationComponent extends BasePageComponent implements Af
|
|||||||
groupId: this.slGroupId,
|
groupId: this.slGroupId,
|
||||||
repGroupId: this.slRepGroupId,
|
repGroupId: this.slRepGroupId,
|
||||||
}
|
}
|
||||||
this.userRepService.create(newUserRep).subscribe({
|
|
||||||
next: (res) => {
|
this.openCreateSheet(newUserRep, res => {
|
||||||
|
if (res.successful) {
|
||||||
this.slRepGroupId = undefined;
|
this.slRepGroupId = undefined;
|
||||||
this.repUsers.safelyUnselectAll()
|
this.repUsers.safelyUnselectAll()
|
||||||
this.groups.safelyUnselectAll()
|
this.groups.safelyUnselectAll()
|
||||||
@ -166,8 +168,8 @@ export class UserRepresentationComponent extends BasePageComponent implements Af
|
|||||||
this.userReps.fetchByUser(this.slUserId)
|
this.userReps.fetchByUser(this.slUserId)
|
||||||
if (this.slGroupId)
|
if (this.slGroupId)
|
||||||
this.userReps.fetchByGroup(this.slGroupId)
|
this.userReps.fetchByGroup(this.slGroupId)
|
||||||
},
|
}
|
||||||
error: (error) => {
|
else if (res.error) {
|
||||||
Swal.fire({
|
Swal.fire({
|
||||||
icon: "error",
|
icon: "error",
|
||||||
title: "Oops...",
|
title: "Oops...",
|
||||||
@ -211,10 +213,11 @@ export class UserRepresentationComponent extends BasePageComponent implements Af
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
openUpdateSheet(userRep: UserRep): void {
|
openCreateSheet(userRep: UserRep, afterCreation: (any: any) => any): void {
|
||||||
|
|
||||||
this.dialog.open(RepCreateFormComponent, {
|
this.dialog.open(RepCreateFormComponent, {
|
||||||
width: "50rem",
|
width: "50rem",
|
||||||
data: userRep
|
data: { userRep: userRep, afterCreation: afterCreation }
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user