updated deliverer page for edit and add deliverer

This commit is contained in:
2025-11-30 16:05:33 +01:00
parent b4aaa18103
commit b7bd3be6a3
5 changed files with 98 additions and 15 deletions

View File

@@ -1,4 +1,4 @@
import {Component, inject, OnInit, signal} from '@angular/core';
import {Component, inject, OnInit, signal, viewChild} from '@angular/core';
import {ModalNav} from "../modal-nav/modal-nav";
import {NzDividerComponent} from "ng-zorro-antd/divider";
import {NzIconDirective} from "ng-zorro-antd/icon";
@@ -6,9 +6,10 @@ import {NzTableComponent} from "ng-zorro-antd/table";
import {ModalButton} from "../modal-button/modal-button";
import {DatePipe} from "@angular/common";
import {DelivererForm} from "../deliverer-form/deliverer-form";
import {DeliverersService, GetDelivererDto} from "../../services/api";
import {DeliverersService, GetDelivererDto, GetSupplierDto} from "../../services/api";
import {NzNotificationService} from "ng-zorro-antd/notification";
import {firstValueFrom} from "rxjs";
import {SupplierForm} from "../supplier-form/supplier-form";
@Component({
selector: 'app-deliverer-table',
@@ -19,7 +20,7 @@ import {firstValueFrom} from "rxjs";
NzTableComponent,
ModalButton,
DatePipe,
DelivererForm
DelivererForm,
],
templateUrl: './deliverer-table.html',
styleUrl: './deliverer-table.css',
@@ -30,6 +31,8 @@ export class DelivererTable implements OnInit {
private notificationService = inject(NzNotificationService)
deliverers = signal<GetDelivererDto[]>([]);
deliverersLoading = signal<boolean>(false);
updateDeliverer = viewChild.required<DelivererForm>('delivererForm');
modal = viewChild.required<ModalNav>('modalNav');
async ngOnInit() {
await this.fetchDeliverers();
@@ -92,4 +95,23 @@ export class DelivererTable implements OnInit {
)
}
}
selectedDeliverer: GetDelivererDto | null = null;
openEditModal(supplier: GetSupplierDto) {
this.selectedDeliverer = { ...supplier };
this.modal().showModal();
}
async onModalOk(supplierId: number, updateDelivererComponent: DelivererForm, modal: ModalNav) {
if (!this.selectedDeliverer) return;
await this.edit(supplierId, updateDelivererComponent);
updateDelivererComponent.delivererForm.reset();
modal.isVisible = false;
await this.fetchDeliverers();
}
onModalCancel(modal: ModalNav) {
modal.isVisible = false;
}
}