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,6 +1,11 @@
<div class="flex mt-2">
<app-modal-button type="primary" name="Ajouter un transporteur">
<app-deliverer-form></app-deliverer-form>
<app-modal-button #modalButton
type="primary"
name="Ajouter un transporteur"
(ok)="onModalOk()"
(cancel)="onModalCancel()">
<app-deliverer-form #delivererForm></app-deliverer-form>
</app-modal-button>
<div class="ml-95 w-150">
@@ -9,5 +14,5 @@
</div>
<div class="mt-1">
<app-deliverer-table></app-deliverer-table>
<app-deliverer-table #delivererTable></app-deliverer-table>
</div>

View File

@@ -1,8 +1,11 @@
import { Component } from '@angular/core';
import {Component, inject, viewChild} from '@angular/core';
import {ModalButton} from "../../components/modal-button/modal-button";
import {DelivererTable} from "../../components/deliverer-table/deliverer-table";
import {DelivererForm} from "../../components/deliverer-form/deliverer-form";
import {Search} from "../../components/search/search";
import {DeliverersService} from "../../services/api";
import {NzNotificationService} from "ng-zorro-antd/notification";
import {firstValueFrom} from "rxjs";
@Component({
selector: 'app-deliverer',
@@ -16,5 +19,44 @@ import {Search} from "../../components/search/search";
styleUrl: './deliverer.css',
})
export class Deliverer {
modal = viewChild.required<ModalButton>('modalButton');
createDeliverer = viewChild.required<DelivererForm>('delivererForm');
delivererTable = viewChild.required<DelivererTable>('delivererTable');
private deliverersService = inject(DeliverersService);
private notificationService = inject(NzNotificationService)
}
async onModalOk() {
await this.addDeliverer()
this.createDeliverer().delivererForm.reset();
this.modal().isVisible = false;
await this.delivererTable().fetchDeliverers()
}
onModalCancel() {
this.modal().isVisible = false;
}
async addDeliverer() {
if (this.createDeliverer().delivererForm.invalid)
{
this.notificationService.error(
'Erreur',
'Erreur d\'écriture dans le formulaire'
)
}
try {
const deliverers = this.createDeliverer().delivererForm.getRawValue();
await firstValueFrom(this.deliverersService.createDelivererEndpoint(deliverers))
this.notificationService.success(
'Success',
'Transporteur enregistré'
)
} catch (e) {
this.notificationService.error(
'Erreur',
'Erreur d\'enregistrement'
)
}
}
}