Files
ntspi-app/resources/js/Enum/PostStatus.js
T
2026-04-07 17:54:26 +05:00

32 lines
1.2 KiB
JavaScript

class PostStatus {
static DRAFT = { value: 'draft', label: 'Черновик', color: 'gray', name: 'DRAFT', type_label: 'Статус публикации' };
static PUBLISHED = { value: 'published', label: 'Опубликовано', color: 'success', name: 'PUBLISHED', type_label: 'Статус публикации' };
static VERIFICATION = { value: 'verification', label: 'На проверке', color: 'warning', name: 'VERIFICATION', type_label: 'Статус публикации' };
static REJECTED = { value: 'rejected', label: 'Отклонено', color: 'danger', name: 'REJECTED', type_label: 'Статус публикации' };
// Метод для получения статуса по имени
static fromName(name) {
return this[name] || null;
}
static fromValue(value) {
return Object.values(this).find(item => item.value == value) || null;
}
static getLabel(value) {
const status = this.fromValue(value);
return status ? status.label : value;
}
static getColor(value) {
const status = this.fromValue(value);
return status ? status.color : 'gray';
}
getName() {
return this.name;
}
}
export default PostStatus;