Browse Source

feat(client): implement form type

pull/6739/head
KenTandrian 1 week ago
parent
commit
ddf60e86e2
  1. 13
      apps/client/src/app/components/admin-jobs/admin-jobs.component.ts

13
apps/client/src/app/components/admin-jobs/admin-jobs.component.ts

@ -26,6 +26,7 @@ import {
import { takeUntilDestroyed } from '@angular/core/rxjs-interop'; import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
import { import {
FormBuilder, FormBuilder,
FormControl,
FormGroup, FormGroup,
FormsModule, FormsModule,
ReactiveFormsModule ReactiveFormsModule
@ -84,7 +85,9 @@ export class GfAdminJobsComponent implements OnInit {
public dataSource = new MatTableDataSource<AdminJobs['jobs'][0]>(); public dataSource = new MatTableDataSource<AdminJobs['jobs'][0]>();
public defaultDateTimeFormat: string; public defaultDateTimeFormat: string;
public filterForm: FormGroup; public filterForm: FormGroup<{
status: FormControl<JobStatus | null>;
}>;
public displayedColumns = [ public displayedColumns = [
'index', 'index',
@ -149,13 +152,13 @@ export class GfAdminJobsComponent implements OnInit {
public ngOnInit() { public ngOnInit() {
this.filterForm = this.formBuilder.group({ this.filterForm = this.formBuilder.group({
status: [] status: new FormControl<JobStatus | null>(null)
}); });
this.filterForm.valueChanges this.filterForm.valueChanges
.pipe(takeUntilDestroyed(this.destroyRef)) .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe(() => { .subscribe(() => {
const currentFilter = this.filterForm.get('status').value; const currentFilter = this.filterForm.controls.status.value;
this.fetchJobs(currentFilter ? [currentFilter] : undefined); this.fetchJobs(currentFilter ? [currentFilter] : undefined);
}); });
@ -172,10 +175,10 @@ export class GfAdminJobsComponent implements OnInit {
} }
public onDeleteJobs() { public onDeleteJobs() {
const currentFilter = this.filterForm.get('status').value; const currentFilter = this.filterForm.controls.status.value;
this.adminService this.adminService
.deleteJobs({ status: currentFilter ? [currentFilter] : undefined }) .deleteJobs({ status: currentFilter ? [currentFilter] : [] })
.pipe(takeUntilDestroyed(this.destroyRef)) .pipe(takeUntilDestroyed(this.destroyRef))
.subscribe(() => { .subscribe(() => {
this.fetchJobs(currentFilter ? [currentFilter] : undefined); this.fetchJobs(currentFilter ? [currentFilter] : undefined);

Loading…
Cancel
Save