Files
dh-inspeccion-v2/web-v2/src/features/assets/assetPresentation.ts
T

40 lines
1.6 KiB
TypeScript

import type { AssetInformationStatus, AssetOperationalStatus } from '../../lib/api';
export const ASSET_STATUSES: Array<{
value: AssetInformationStatus;
label: string;
}> = [
{ value: 'DRAFT', label: 'Borrador' },
{ value: 'PENDING_SURVEY', label: 'Pendiente de relevamiento' },
{ value: 'SURVEYED', label: 'Relevado en campo' },
{ value: 'VALIDATED', label: 'Validado' },
{ value: 'OBSERVED', label: 'Observado' },
{ value: 'OUTDATED', label: 'Desactualizado' },
{ value: 'INACTIVE', label: 'Inactivo' },
];
export function assetStatusLabel(status: AssetInformationStatus): string {
return ASSET_STATUSES.find((item) => item.value === status)?.label ?? status;
}
export function assetStatusClass(status: AssetInformationStatus): string {
if (status === 'VALIDATED' || status === 'SURVEYED') return 'active';
if (status === 'INACTIVE' || status === 'OUTDATED') return 'inactive';
if (status === 'OBSERVED') return 'observed';
return 'pending';
}
export const ASSET_OPERATIONAL_STATUSES: Array<{ value: AssetOperationalStatus; label: string }> = [
{ value: 'UNKNOWN', label: 'Sin informar' },
{ value: 'IN_SERVICE', label: 'En servicio' },
{ value: 'TEMPORARILY_OUT_OF_SERVICE', label: 'Fuera de servicio temporal' },
{ value: 'OUT_OF_SERVICE', label: 'Fuera de servicio' },
{ value: 'DECOMMISSIONED', label: 'Desafectado' },
{ value: 'ABANDONED', label: 'Abandonado' },
];
export function assetOperationalStatusLabel(status: AssetOperationalStatus): string {
return ASSET_OPERATIONAL_STATUSES.find((item) => item.value === status)?.label ?? status;
}