А какие еще варианты кроме пайпов?
Типа такого в модели устроить:
export const enum OrderState {
New = 'new',
Verified = 'verified',
Shipped = 'shipped',
Delivering = 'delivering',
Сompleted = 'completed',
Cancelled = 'cancelled',
}
export const enum OrderStatusMode {
Info = 'info',
Primary = 'primary',
Warning = 'warning',
Success = 'success',
Danger = 'danger',
}
export const OrderStateTitles = [
{
key: OrderState.New,
value: 'новый',
mode: OrderStatusMode.Info,
},
{
key: OrderState.Verified,
value: 'проверен',
mode: OrderStatusMode.Primary,
},
];
class OrderData {
id: number;
status?: OrderState;
price?: number;
discount?: number;
totalPrice?: number;
code?: string;
createdAt?: Date;
updatedAt?: Date;
}
export class Order extends OrderData {
static getStatus(status) {
switch (status) {
case OrderState.New:
return 'новый';
case OrderState.Verified:
return 'проверен';
default:
return '';
}
}
static setModeByState(state?: string) {
if (!state) { return OrderStatusMode.Info; }
const selected = OrderStateTitles.filter(el => el.key === state)[0];
return selected.mode;
}