@aliretail/react-materials-components
Version:
127 lines (92 loc) • 6.19 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.TableX = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
var React = _interopRequireWildcard(require("react"));
var R = _interopRequireWildcard(require("ramda"));
var _classnames = _interopRequireDefault(require("classnames"));
var _Tablex = require("../../Tablex");
exports.AliretailTableDefaultPageSizeList = _Tablex.AliretailTableDefaultPageSizeList;
var _reactWhaleButtonGroup = _interopRequireDefault(require("@aliretail/react-whale-button-group"));
var _next = require("@formily/next");
var _shared = require("@formily/shared");
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
var TableX = /*#__PURE__*/function (_React$Component) {
(0, _inheritsLoose2["default"])(TableX, _React$Component);
function TableX() {
return _React$Component.apply(this, arguments) || this;
}
var _proto = TableX.prototype;
// ArrayTable 折叠模式不可以销毁值,所以需要关闭 formily 的自动销毁状态开关
_proto.componentDidMount = function componentDidMount() {
var form = this.props.form;
form.disableUnmountClearStates();
};
_proto.actionBarRender = function actionBarRender() {
var _schema$properties;
var schema = this.props.schema;
var _ref = schema.getExtendsComponentProps() || {},
_ref$showTableSetting = _ref.showTableSetting,
showTableSetting = _ref$showTableSetting === void 0 ? false : _ref$showTableSetting;
var actionBarProperties;
if ((_schema$properties = schema.properties) !== null && _schema$properties !== void 0 && _schema$properties.actionBar) {
actionBarProperties = schema.properties.actionBar;
}
if (actionBarProperties || showTableSetting) {
return /*#__PURE__*/React.createElement(_Tablex.AliretailTableActionBar, null, /*#__PURE__*/React.createElement(_reactWhaleButtonGroup["default"], null, actionBarProperties && /*#__PURE__*/React.createElement(_next.SchemaField, {
onlyRenderProperties: true,
schema: actionBarProperties
})), showTableSetting && /*#__PURE__*/React.createElement(_reactWhaleButtonGroup["default"], null, /*#__PURE__*/React.createElement(_Tablex.AliretailTableCompact, null), /*#__PURE__*/React.createElement(_Tablex.AliretailTableZebra, null), /*#__PURE__*/React.createElement(_Tablex.AliretailTableFullscreen, null), /*#__PURE__*/React.createElement(_Tablex.AliretailTableSetting, null)));
}
};
_proto.paginationRender = function paginationRender(paginationProps) {
if (paginationProps) {
return /*#__PURE__*/React.createElement(_Tablex.AliretailTablePagination, null);
}
};
_proto.render = function render() {
var _cx;
var _this$props = this.props,
className = _this$props.className,
schema = _this$props.schema,
value = _this$props.value,
props = _this$props.props,
path = _this$props.path;
var paginationProps = props.paginationProps;
var _ref2 = schema.getExtendsComponentProps() || {},
propClassName = _ref2.className,
dataSource = _ref2.dataSource,
defaultPaginationProps = _ref2.paginationProps,
expandedRowKey = _ref2.expandedRowKey;
var tableProps = R.omit(['className', 'dataSource', 'paginationProps', 'showTableSetting', 'expandedRowKey'], schema.getExtendsComponentProps() || {});
var classes = (0, _classnames["default"])((_cx = {}, _cx[className] = !!className, _cx[propClassName] = !!propClassName, _cx));
var tableProperties = {
className: classes,
dataSource: (0, _shared.toArr)(value || dataSource),
expandedIndexSimulate: true,
paginationProps: defaultPaginationProps || paginationProps ? (0, _extends2["default"])({}, defaultPaginationProps, paginationProps) : false // 当出现锁列时通过 expandedRowIndent 来防止被锁列覆盖下层样式
// expandedRowIndent: [1, 1],
};
if (schema.properties) {
var childrenProperties = schema.properties;
if (childrenProperties.expandedRow) {
tableProperties.expandedRowRender = function (record, index) {
return /*#__PURE__*/React.createElement(_next.SchemaField, {
key: _next.FormPath.parse(path).concat(index, expandedRowKey || 'children').toString(),
path: _next.FormPath.parse(path).concat(index, expandedRowKey || 'children'),
schema: childrenProperties.expandedRow
});
};
}
}
return /*#__PURE__*/React.createElement( // @ts-ignore
_Tablex.AliretailTableContainer, (0, _extends2["default"])({}, tableProperties, tableProps), // children
this.actionBarRender(), /*#__PURE__*/React.createElement(_Tablex.AliretailTable, null), this.paginationRender(tableProperties.paginationProps));
};
return TableX;
}(React.Component);
exports.TableX = TableX;
TableX.isFieldComponent = true;