From 0b4a7b7ccd2df37b59829a5181ba1099a8b9f7c0 Mon Sep 17 00:00:00 2001 From: Developer 02 Date: Tue, 6 Aug 2024 17:43:40 +0200 Subject: [PATCH] =?UTF-8?q?feat:=20GroupComponent=20mit=20asynchroner=20Ze?= =?UTF-8?q?llbearbeitung=20und=20verbessertem=20Template=20f=C3=BCr=20die?= =?UTF-8?q?=20tabellarische=20Ansicht=20von=20Gruppen-=20und=20Benutzertab?= =?UTF-8?q?ellen=20aktualisieren.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/app/pages/group/group.component.html | 2 +- .../src/app/pages/group/group.component.ts | 21 +++++++++++++++---- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/DigitalData.UserManager.API/ClientApp/user_manager_ui/src/app/pages/group/group.component.html b/DigitalData.UserManager.API/ClientApp/user_manager_ui/src/app/pages/group/group.component.html index 285704f..488fce0 100644 --- a/DigitalData.UserManager.API/ClientApp/user_manager_ui/src/app/pages/group/group.component.html +++ b/DigitalData.UserManager.API/ClientApp/user_manager_ui/src/app/pages/group/group.component.html @@ -3,7 +3,7 @@
- +
diff --git a/DigitalData.UserManager.API/ClientApp/user_manager_ui/src/app/pages/group/group.component.ts b/DigitalData.UserManager.API/ClientApp/user_manager_ui/src/app/pages/group/group.component.ts index f3ee738..7dc0eda 100644 --- a/DigitalData.UserManager.API/ClientApp/user_manager_ui/src/app/pages/group/group.component.ts +++ b/DigitalData.UserManager.API/ClientApp/user_manager_ui/src/app/pages/group/group.component.ts @@ -2,9 +2,11 @@ import { AfterViewInit, Component, ViewChild } from '@angular/core'; import { GroupTableComponent } from '../../components/tables/group-table/group-table.component'; import { UserTableComponent } from '../../components/tables/user-table/user-table.component'; import { MatTabsModule } from '@angular/material/tabs'; -import { GuiSelectedRow } from '@generic-ui/ngx-grid'; +import { GuiCellEdit, GuiSelectedRow } from '@generic-ui/ngx-grid'; import { GroupFormComponent } from '../../components/forms/group-form/group-form.component'; import { BasePageComponent } from '../base-page/base-page.component'; +import { Group } from '../../models/user-management.api.models'; +import { firstValueFrom } from 'rxjs'; @Component({ standalone: true, @@ -15,13 +17,24 @@ import { BasePageComponent } from '../base-page/base-page.component'; }) export class GroupComponent extends BasePageComponent implements AfterViewInit { initWithoutData = () => { } + + cellEditing: GuiCellEdit = { + enabled: true, + cellEdit: (value: any, item: Group, index: number) => { + this.updateService.setAsync("group_" + item.id!.toString(), async () => { + await firstValueFrom(this.groupTable.service.update(item)) + }) + return true; + } + } + private sGroupId = null; ngAfterViewInit(): void { this.refreshService.removeAll() this.refreshService.add(() => { this.groupTable.fetchData(); - if(this.sGroupId) + if (this.sGroupId) this.userTable.fetchDataByGroupId(this.sGroupId); }); this.creationService.component = GroupFormComponent @@ -31,9 +44,9 @@ export class GroupComponent extends BasePageComponent implements AfterViewInit { @ViewChild("userTable") userTable!: UserTableComponent; groupsOnSelectedRows = (rows: GuiSelectedRow[]) => { - if(rows.length > 0){ + if (rows.length > 0) { this.sGroupId = rows[0].source.id; - if(this.sGroupId) + if (this.sGroupId) this.userTable.fetchDataByGroupId(this.sGroupId); } }