import { Pipe, PipeTransform } from '@angular/core'; import { eLoadStatus } from '../enums'; import { eLoadStatusSvgColors } from '../components/ca-load-status/enums/load-status-svg-colors.enum'; import { eLoadStatusBackgroundColors } from '../components/ca-load-status/enums/load-status-background-colors.enum'; @Pipe({ name: 'loadStatusBackgroundColor', standalone: true, }) export class LoadStatusBackgroundColorPipe implements PipeTransform { transform(statusId?: number, iconColor?: boolean): string | undefined { if (!statusId) return; let colorClass; switch (statusId) { case eLoadStatus.Booked: case eLoadStatus.Unassigned: case eLoadStatus.Claim: case eLoadStatus.ClaimFactoring: case eLoadStatus.RevisedClaim: case eLoadStatus.Hold: case eLoadStatus.HoldFactoring: case eLoadStatus.InvoicedHold: case eLoadStatus.Revised: case eLoadStatus.RevisedFactoring: case eLoadStatus.InvoicedHoldFactoring: case eLoadStatus.Preassigned: colorClass = eLoadStatusBackgroundColors.GREY; break; case eLoadStatus.Tonu: colorClass = iconColor ? eLoadStatusBackgroundColors.MAGENTA : eLoadStatusSvgColors.MAGENTA_BOLD; break; case eLoadStatus.Assigned: colorClass = iconColor ? eLoadStatusBackgroundColors.LIME : eLoadStatusSvgColors.LIME_BOLD; break; case eLoadStatus.Dispatched: colorClass = iconColor ? eLoadStatusBackgroundColors.BLUE : eLoadStatusSvgColors.BLUE_BOLD; break; case eLoadStatus.ArrivedPickup: case eLoadStatus.CheckedInPickup: case eLoadStatus.Loading: colorClass = eLoadStatusBackgroundColors.GREEN_SUBTLE; break; case eLoadStatus.Loaded: colorClass = eLoadStatusBackgroundColors.GREEN; break; case eLoadStatus.ArrivedDelivery: case eLoadStatus.CheckedInDelivery: case eLoadStatus.Offloading: colorClass = eLoadStatusBackgroundColors.ORANGE_SUBTLE; break; case eLoadStatus.Delivered: case eLoadStatus.Offloaded: colorClass = eLoadStatusBackgroundColors.ORANGE; break; case eLoadStatus.Invoiced: case eLoadStatus.InvoicedFactoring: case eLoadStatus.TonuInvoiced: case eLoadStatus.TonuInvoicedFactoring: colorClass = eLoadStatusBackgroundColors.GOLD_SUBTLE; break; case eLoadStatus.TonuUnpaid: case eLoadStatus.RevisedPaid: case eLoadStatus.RevisedShortPaid: case eLoadStatus.RevisedUnpaid: case eLoadStatus.Paid: case eLoadStatus.PaidFactoring: case eLoadStatus.ShortPaid: case eLoadStatus.ShortPaidFactoring: case eLoadStatus.Unpaid: case eLoadStatus.UnpaidFactoring: case eLoadStatus.TonuPaid: case eLoadStatus.TonuPaidFactoring: colorClass = eLoadStatusBackgroundColors.GOLD; break; case eLoadStatus.Cancelled: case eLoadStatus.LoadCancelled: colorClass = iconColor ? eLoadStatusBackgroundColors.RED : eLoadStatusSvgColors.RED_BOLD; break; case eLoadStatus.RepairDispatched: case eLoadStatus.RepairOffloaded: case eLoadStatus.RepairLoaded: colorClass = iconColor ? eLoadStatusBackgroundColors.BROWN : eLoadStatusSvgColors.BROWN_BOLD; break; case eLoadStatus.Split: colorClass = eLoadStatusBackgroundColors.YELLOW; break; default: break; } return colorClass; } }