UNPKG

oadp-material

Version:
108 lines (106 loc) 5.24 kB
import _Box from "@alifd/next/es/box"; import _extends from "@babel/runtime/helpers/extends"; import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator"; import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose"; var _excluded = ["entity", "tableComponentRefId", "__designMode"]; import _regeneratorRuntime from "@babel/runtime/regenerator"; import React, { useEffect, useState } from 'react'; import "./index.scss"; import { entityMetadataUtil, eventUtil, entityPageUtil } from 'oadp-common'; import OadpAttributeSettingTransfer from "../common/oadp-attribute-setting-transfer"; // oadp-filter 组件实例 var OadpEntityButtonSettingTable = function OadpEntityButtonSettingTable(_ref) { var entity = _ref.entity, tableComponentRefId = _ref.tableComponentRefId, __designMode = _ref.__designMode, otherProps = _objectWithoutPropertiesLoose(_ref, _excluded); // 状态管理 var _useState = useState([]), attributeDataSource = _useState[0], setAttributeDataSource = _useState[1]; var _useState2 = useState([]), attributeShowDataSource = _useState2[0], setAttributeShowDataSource = _useState2[1]; // 初始化逻辑(类似类组件的 componentDidMount) useEffect(function () { var fetchAttributeData = /*#__PURE__*/function () { var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() { var attributeData, textAttributeDataSource; return _regeneratorRuntime.wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: _context.prev = 0; console.log('OadpEntityButtonSettingTable componentDidMount props', { entity: entity, tableComponentRefId: tableComponentRefId }); if (entity) { _context.next = 5; break; } console.log('OadpEntityButtonSettingTable componentDidMount entity is undefined'); return _context.abrupt("return"); case 5: _context.next = 7; return entityMetadataUtil.asyncSelectAttributeListWithReferByEntityId(entity); case 7: attributeData = _context.sent; console.log('OadpEntityButtonSettingTable componentDidMount attributeData', attributeData); textAttributeDataSource = []; attributeData.list.forEach(function (item) { var _item$attributeType, _item$attributeType2; if (((_item$attributeType = item.attributeType) === null || _item$attributeType === void 0 ? void 0 : _item$attributeType.code) === 'TEXT' || ((_item$attributeType2 = item.attributeType) === null || _item$attributeType2 === void 0 ? void 0 : _item$attributeType2.code) === 'MULTI_TEXT') { var _item$attributeType3; textAttributeDataSource.push(_extends({}, item, { label: item.name, value: ((_item$attributeType3 = item.attributeType) === null || _item$attributeType3 === void 0 ? void 0 : _item$attributeType3.code) === 'REFER' ? item.logicalName + ".name" : item.logicalName })); } }); setAttributeDataSource(textAttributeDataSource); _context.next = 17; break; case 14: _context.prev = 14; _context.t0 = _context["catch"](0); console.error('OadpEntityButtonSettingTable componentDidMount Failed to fetch field options:', _context.t0); case 17: case "end": return _context.stop(); } }, _callee, null, [[0, 14]]); })); return function fetchAttributeData() { return _ref2.apply(this, arguments); }; }(); fetchAttributeData(); }, [entity]); var handleDialogOpen = function handleDialogOpen() { if (__designMode === 'design') { console.log('OadpEntityButtonSettingTable handleDialogOpen __designMode === design'); return; } var tableShowColumnList = entityPageUtil.getTableShowColumnList(tableComponentRefId); console.log('OadpEntityButtonSettingTable handleDialogOpen tableShowColumnList', tableShowColumnList); if (tableShowColumnList && Array.isArray(tableShowColumnList)) { setAttributeShowDataSource(tableShowColumnList); } }; var handleDialogOk = function handleDialogOk(attributeShowDataSource) { console.log('OadpEntityButtonSettingTable handleDialogOk attributeShowDataSource', attributeShowDataSource); // 发布事件 触发表格刷新 显示列 eventUtil.refreshOadpEntityTableColumn({ tableComponentRefId: tableComponentRefId, showColumnList: attributeShowDataSource }); }; return /*#__PURE__*/React.createElement(_Box, null, /*#__PURE__*/React.createElement(OadpAttributeSettingTransfer, { attributeDataSource: attributeDataSource, attributeShowDataSource: attributeShowDataSource, onOpen: handleDialogOpen, onConfirm: handleDialogOk, __designMode: __designMode })); }; export default OadpEntityButtonSettingTable;