UNPKG

@aliretail/react-materials-components

Version:
127 lines (92 loc) 6.19 kB
"use strict"; 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;