antd-table-editable-af
Version:
A editable table based on antd table
33 lines (32 loc) • 1.63 kB
JavaScript
import isEqual from 'lodash/isEqual';
import omit from 'lodash/omit';
import React from 'react';
export function memoEqual(objA, objB) {
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
var tempObjA = omit(objA, options.omit || []);
var tempObjB = omit(objB, options.omit || []);
return isEqual(tempObjA, tempObjB);
}
export function getField(key, dataIndex) {
return String(key !== null && key !== void 0 ? key : dataIndex);
}
/**
* antd 自身在省略和阴影存在时会加一层 ant-table-cell-content 来处理省略和滚动的阴影冲突的问题
* 这里也进行处理一下
* https://github.com/react-component/table/blob/master/src/Cell/index.tsx#L233
*/
export function getReadCellContent(children, content, prefixCls) {
var _child$props$classNam;
/**
* 取第一位,第 0 位是展开符,目前先不支持
* https://github.com/react-component/table/blob/master/src/Cell/index.tsx#L254
*/
var child = children[1];
if ( /*#__PURE__*/React.isValidElement(child) && (_child$props$classNam = child.props.className) !== null && _child$props$classNam !== void 0 && _child$props$classNam.includes("".concat(prefixCls, "-cell-content"))) {
var _;
var finalContent = content !== null && content !== void 0 && (_ = content[1]) !== null && _ !== void 0 && (_ = _.props) !== null && _ !== void 0 && (_ = _.className) !== null && _ !== void 0 && _.includes("".concat(prefixCls, "-cell-content")) ? content[1].props.children : content;
return /*#__PURE__*/React.cloneElement(child, {}, finalContent);
} else {
return content;
}
}