UNPKG

choerodon-ui

Version:

An enterprise-class UI design language and React-based implementation

254 lines (206 loc) 8.48 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2")); var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); var _tslib = require("tslib"); var _react = _interopRequireWildcard(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _mobx = require("mobx"); var _KeyCode = _interopRequireDefault(require("../../../lib/_util/KeyCode")); var _configure = require("../../../lib/configure"); var _pick = _interopRequireDefault(require("lodash/pick")); var _Table = _interopRequireDefault(require("../table/Table")); var _TableProfessionalBar = _interopRequireDefault(require("../table/query-bar/TableProfessionalBar")); var _enum = require("../table/enum"); var _enum2 = require("../data-set/enum"); function _createSuper(Derived) { function isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } return function () { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (isNativeReflectConstruct()) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; } var LovView = /*#__PURE__*/ function (_Component) { (0, _inherits2["default"])(LovView, _Component); var _super = _createSuper(LovView); function LovView() { var _this; (0, _classCallCheck2["default"])(this, LovView); _this = _super.apply(this, arguments); /* istanbul ignore next */ _this.handleKeyDown = function (e) { if (e.keyCode === _KeyCode["default"].ENTER) { var onEnterDown = _this.props.onEnterDown; onEnterDown(); } }; /** * 单选 onRow 处理 * @param props */ _this.handleRow = function (props) { var _this$props = _this.props, onDoubleClick = _this$props.onDoubleClick, tableProps = _this$props.tableProps; var tablePropsOnRow; if (tableProps === null || tableProps === void 0 ? void 0 : tableProps.onRow) tablePropsOnRow = tableProps.onRow(props); return (0, _objectSpread2["default"])({ onDoubleClick: onDoubleClick }, tablePropsOnRow); }; return _this; } (0, _createClass2["default"])(LovView, [{ key: "componentWillMount", value: function componentWillMount() { var _this$props2 = this.props, dataSet = _this$props2.dataSet, selection = _this$props2.dataSet.selection, multiple = _this$props2.multiple; this.selection = selection; dataSet.selection = multiple ? _enum2.DataSetSelection.multiple : _enum2.DataSetSelection.single; } }, { key: "componentWillUnmount", value: function componentWillUnmount() { var dataSet = this.props.dataSet; dataSet.selection = this.selection; } /* istanbul ignore next */ }, { key: "getColumns", value: function getColumns() { var _this$props3 = this.props, lovItems = _this$props3.config.lovItems, tableProps = _this$props3.tableProps; return lovItems ? lovItems.filter(function (_ref) { var gridField = _ref.gridField; return gridField === 'Y'; }).sort(function (_ref2, _ref3) { var seq1 = _ref2.gridFieldSequence; var seq2 = _ref3.gridFieldSequence; return seq1 - seq2; }).map(function (_ref4) { var display = _ref4.display, gridFieldName = _ref4.gridFieldName, gridFieldWidth = _ref4.gridFieldWidth, gridFieldAlign = _ref4.gridFieldAlign; var column = {}; if (tableProps && tableProps.columns) { column = tableProps.columns.find(function (c) { return c.name === gridFieldName; }); } return (0, _objectSpread2["default"])({}, column, { key: gridFieldName, header: display, name: gridFieldName, width: gridFieldWidth, align: gridFieldAlign, editor: false }); }) : undefined; } }, { key: "getQueryBar", value: function getQueryBar() { var _this$props4 = this.props, queryBar = _this$props4.config.queryBar, tableProps = _this$props4.tableProps; if (queryBar) { return queryBar; } if (tableProps && tableProps.queryBar) { return tableProps.queryBar; } } }, { key: "render", value: function render() { var _this$props5 = this.props, dataSet = _this$props5.dataSet, _this$props5$config = _this$props5.config, height = _this$props5$config.height, treeFlag = _this$props5$config.treeFlag, queryColumns = _this$props5$config.queryColumns, configTableProps = _this$props5$config.tableProps, multiple = _this$props5.multiple, tableProps = _this$props5.tableProps; var lovTableProps = (0, _objectSpread2["default"])({ customizable: (0, _configure.getConfig)('lovTableCustomizable'), autoFocus: true, mode: treeFlag === 'Y' ? _enum.TableMode.tree : _enum.TableMode.list, onKeyDown: this.handleKeyDown, dataSet: dataSet, columns: this.getColumns(), queryFieldsLimit: queryColumns, queryBar: this.getQueryBar() }, configTableProps, {}, tableProps); if (multiple) { lovTableProps.selectionMode = _enum.SelectionMode.rowbox; } else { lovTableProps.selectionMode = (tableProps === null || tableProps === void 0 ? void 0 : tableProps.selectionMode) ? tableProps.selectionMode : _enum.SelectionMode.none; lovTableProps.onRow = this.handleRow; } if (height) { lovTableProps.style = (0, _objectSpread2["default"])({}, lovTableProps.style, { height: height }); } var isProfessionalBar = (0, _configure.getConfig)('queryBar') === _enum.TableQueryBarType.professionalBar; if (!lovTableProps.queryBar && isProfessionalBar) { lovTableProps.queryBar = function (props) { return _react["default"].createElement(_TableProfessionalBar["default"], (0, _extends2["default"])({}, props, { queryBarProps: { labelWidth: 80 } })); }; } // 优化优先级 让 部分tableProps属性 的优先级大于dataSet的设置 // 目前需要处理 selectionMode (0, _extends2["default"])(lovTableProps, (0, _pick["default"])((0, _objectSpread2["default"])({}, tableProps), ['selectionMode'])); return _react["default"].createElement(_Table["default"], (0, _extends2["default"])({}, lovTableProps)); } }]); return LovView; }(_react.Component); exports["default"] = LovView; LovView.propTypes = { dataSet: _propTypes["default"].object.isRequired, config: _propTypes["default"].object.isRequired, tableProps: _propTypes["default"].object, onDoubleClick: _propTypes["default"].func.isRequired, onEnterDown: _propTypes["default"].func.isRequired }; (0, _tslib.__decorate)([_mobx.action], LovView.prototype, "componentWillMount", null); (0, _tslib.__decorate)([_mobx.action], LovView.prototype, "componentWillUnmount", null); //# sourceMappingURL=LovView.js.map