es-grid-template
Version:
es-grid-template
82 lines (79 loc) • 1.89 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.internals = void 0;
function safeRenderHeader(column) {
return column.title ?? column.headerText;
}
function safeRenderHeaderContent(column, t) {
const {
headerText,
headerTemplate
} = column;
if (headerTemplate) {
if (typeof headerTemplate === 'function') {
return headerTemplate(column);
} else {
return headerTemplate;
}
} else {
return t ? t(headerText) : headerText;
// return field
}
}
function safeGetValue(column, record, rowIndex) {
if (column.getValue) {
return column.getValue(record, rowIndex);
}
return record[column.field];
}
function safeGetRowKey(primaryKey, record, rowIndex) {
let key;
if (typeof primaryKey === 'string') {
key = record[primaryKey];
} else if (typeof primaryKey === 'function') {
key = primaryKey(record);
}
if (key == null) {
key = String(rowIndex);
}
return key;
}
function safeGetCellProps(column, record, rowIndex) {
if (column.getCellProps) {
const value = safeGetValue(column, record, rowIndex);
return column.getCellProps(value, record, rowIndex) || {};
}
return {};
}
function safeRender(column, record, rowIndex) {
const value = safeGetValue(column, record, rowIndex);
// if (column.template) {
// return column.render(value, record, rowIndex)
// }
// return value
if (column.template) {
const template = column.template;
if (typeof template === 'function') {
return template({
field: column.field ?? '',
index: rowIndex,
rowData: record,
value: value
});
} else {
return template;
}
} else {
return value;
}
}
const internals = exports.internals = {
safeRenderHeader,
safeGetValue,
safeGetRowKey,
safeGetCellProps,
safeRender,
safeRenderHeaderContent
};