Files
crater/resources/scripts/components/base/base-table/Row.js
Mohit Panjwani 082d5cacf2 v5.0.0 update
2021-11-30 18:58:19 +05:30

44 lines
885 B
JavaScript

import moment from 'moment';
import { get } from './helpers';
export default class Row {
constructor(data, columns) {
this.data = data;
this.columns = columns;
}
getValue(columnName) {
return get(this.data, columnName);
}
getColumn(columnName) {
return this.columns.find(column => column.key === columnName);
}
getSortableValue(columnName) {
const dataType = this.getColumn(columnName).dataType;
let value = this.getValue(columnName);
if (value === undefined || value === null) {
return '';
}
if (value instanceof String) {
value = value.toLowerCase();
}
if (dataType.startsWith('date')) {
const format = dataType.replace('date:', '');
return moment(value, format).format('YYYYMMDDHHmmss');
}
if (dataType === 'numeric') {
return value;
}
return value.toString();
}
}