fixed-react-data-grid-custom
Version:
Excel-like grid component built with React, with editors, keyboard navigation, copy & paste, and the like
40 lines • 1.82 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var react_1 = tslib_1.__importDefault(require("react"));
var react_is_1 = require("react-is");
var formatters_1 = require("../formatters");
function CellValue(_a) {
var rowIdx = _a.rowIdx, rowData = _a.rowData, column = _a.column, value = _a.value, isScrolling = _a.isScrolling;
function getFormatterDependencies(row) {
// convention based method to get corresponding Id or Name of any Name or Id property
var getRowMetaData = column.getRowMetaData;
if (getRowMetaData) {
if (process.env.NODE_ENV === 'development') {
console.warn('getRowMetaData for formatters is deprecated and will be removed in a future version of ReactDataGrid. Instead access row prop of formatter');
}
return getRowMetaData(row, column);
}
}
function getFormatterProps() {
return {
value: value,
column: column,
rowIdx: rowIdx,
isScrolling: isScrolling,
row: rowData,
dependentValues: getFormatterDependencies(rowData)
};
}
var formatter = column.formatter;
if (react_is_1.isElement(formatter)) {
return react_1.default.cloneElement(formatter, getFormatterProps());
}
if (react_is_1.isValidElementType(formatter)) {
/* eslint-disable-next-line @typescript-eslint/no-explicit-any */
return react_1.default.createElement(formatter, tslib_1.__assign(tslib_1.__assign({}, getFormatterProps()), { value: value })); //FIXME: fix value type
}
return react_1.default.createElement(formatters_1.SimpleCellFormatter, { value: value });
}
exports.default = CellValue;
//# sourceMappingURL=CellValue.js.map
;