import { Pipe, PipeTransform } from '@angular/core'; // enums import { ToolbarFilterStringEnum } from '../../../components/ca-map/enums/toolbar-filter-string.enum'; // components import { CaTruckTypeFilterComponent } from '../components/ca-truck-type-filter/ca-truck-type-filter.component'; import { CaTrailerTypeFilterComponent } from '../components/ca-trailer-type-filter/ca-trailer-type-filter.component'; import { CaPmFilterComponent } from '../components/ca-pm-filter/ca-pm-filter.component'; import { CaStatusFilterComponent } from '../components/ca-status-filter/ca-status-filter.component'; @Pipe({ name: 'filterConditionsUserBox', standalone: true, pure: false, }) export class FilterConditionsUserBoxPipe implements PipeTransform { transform( type: string, caTruckTypeFilter: CaTruckTypeFilterComponent, caTrailerTypeFilter: CaTrailerTypeFilterComponent, caStatusFilter: CaStatusFilterComponent, caPmFilter: CaPmFilterComponent ): boolean | number { switch (type) { case ToolbarFilterStringEnum.TRUCK_TYPE_FILTER: return caTruckTypeFilter?.selectedTruckTypeArray?.length; case ToolbarFilterStringEnum.TRAILER_TYPE_FILTER: return caTrailerTypeFilter?.selectedTrailerTypeArray?.length; case ToolbarFilterStringEnum.STATUS_FILTER: return caStatusFilter?.selectedUser?.length; case ToolbarFilterStringEnum.PM_FILTER: case ToolbarFilterStringEnum.CATEGORY_REPAIR_FILTER: return caPmFilter?.selectedPmFilterArray?.length; default: return false; } } }