32644/frontend/src/helpers/dataFormatter.js
2025-07-06 20:09:22 +00:00

118 lines
2.9 KiB
JavaScript

import dayjs from 'dayjs';
import _ from 'lodash';
export default {
filesFormatter(arr) {
if (!arr || !arr.length) return [];
return arr.map((item) => item);
},
imageFormatter(arr) {
if (!arr || !arr.length) return [];
return arr.map((item) => ({
publicUrl: item.publicUrl || '',
}));
},
oneImageFormatter(arr) {
if (!arr || !arr.length) return '';
return arr[0].publicUrl || '';
},
dateFormatter(date) {
if (!date) return '';
return dayjs(date).format('YYYY-MM-DD');
},
dateTimeFormatter(date) {
if (!date) return '';
return dayjs(date).format('YYYY-MM-DD HH:mm');
},
booleanFormatter(val) {
return val ? 'Yes' : 'No';
},
dataGridEditFormatter(obj) {
return _.transform(obj, (result, value, key) => {
if (_.isArray(value)) {
result[key] = _.map(value, 'id');
} else if (_.isObject(value)) {
result[key] = value.id;
} else {
result[key] = value;
}
});
},
projectsManyListFormatter(val) {
if (!val || !val.length) return [];
return val.map((item) => item.name);
},
projectsOneListFormatter(val) {
if (!val) return '';
return val.name;
},
projectsManyListFormatterEdit(val) {
if (!val || !val.length) return [];
return val.map((item) => {
return { id: item.id, label: item.name };
});
},
projectsOneListFormatterEdit(val) {
if (!val) return '';
return { label: val.name, id: val.id };
},
rolesManyListFormatter(val) {
if (!val || !val.length) return [];
return val.map((item) => item.name);
},
rolesOneListFormatter(val) {
if (!val) return '';
return val.name;
},
rolesManyListFormatterEdit(val) {
if (!val || !val.length) return [];
return val.map((item) => {
return { id: item.id, label: item.name };
});
},
rolesOneListFormatterEdit(val) {
if (!val) return '';
return { label: val.name, id: val.id };
},
permissionsManyListFormatter(val) {
if (!val || !val.length) return [];
return val.map((item) => item.name);
},
permissionsOneListFormatter(val) {
if (!val) return '';
return val.name;
},
permissionsManyListFormatterEdit(val) {
if (!val || !val.length) return [];
return val.map((item) => {
return { id: item.id, label: item.name };
});
},
permissionsOneListFormatterEdit(val) {
if (!val) return '';
return { label: val.name, id: val.id };
},
organizationsManyListFormatter(val) {
if (!val || !val.length) return [];
return val.map((item) => item.id);
},
organizationsOneListFormatter(val) {
if (!val) return '';
return val.id;
},
organizationsManyListFormatterEdit(val) {
if (!val || !val.length) return [];
return val.map((item) => {
return { id: item.id, label: item.id };
});
},
organizationsOneListFormatterEdit(val) {
if (!val) return '';
return { label: val.id, id: val.id };
},
};