oadp-material
Version:
oadp-material
108 lines (106 loc) • 5.24 kB
JavaScript
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;