mirror of
https://github.com/gosticks/react-bootstrap-table2.git
synced 2026-11-05 22:40:32 +00:00
45 lines
1.1 KiB
JavaScript
45 lines
1.1 KiB
JavaScript
/* eslint react/prop-types: 0 */
|
|
import React from 'react';
|
|
import { Consumer } from './context';
|
|
import createEditingCell from './editing-cell';
|
|
|
|
export default (_, onStartEdit) => {
|
|
const EditingCell = createEditingCell(_, onStartEdit);
|
|
const renderWithEditingCell = (props, cellEdit) => {
|
|
const content = _.get(props.row, props.column.dataField);
|
|
let editCellstyle = props.column.editCellStyle || {};
|
|
let editCellclasses = props.column.editCellClasses;
|
|
if (_.isFunction(props.column.editCellStyle)) {
|
|
editCellstyle = props.column.editCellStyle(
|
|
content,
|
|
props.row,
|
|
props.rowIndex,
|
|
props.columnIndex
|
|
);
|
|
}
|
|
if (_.isFunction(props.column.editCellClasses)) {
|
|
editCellclasses = props.column.editCellClasses(
|
|
content,
|
|
props.row,
|
|
props.rowIndex,
|
|
props.columnIndex)
|
|
;
|
|
}
|
|
|
|
return (
|
|
<EditingCell
|
|
{ ...props }
|
|
className={ editCellclasses }
|
|
style={ editCellstyle }
|
|
{ ...cellEdit }
|
|
/>
|
|
);
|
|
};
|
|
|
|
return props => (
|
|
<Consumer>
|
|
{ cellEdit => renderWithEditingCell(props, cellEdit) }
|
|
</Consumer>
|
|
);
|
|
};
|