UNPKG

@wufengteam/inputs

Version:

平台提供的右侧属性编辑器,需要在主工程中注册

158 lines 7.06 kB
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } import React, { useEffect, useState } from 'react'; import { Button, Tabs, Table } from 'antd'; import { LeftOutlined } from '@ant-design/icons'; import { cssPrefixCls } from '../../../utils'; import "./index.css"; import { SERVICE_KEY, TYPE_MAP } from '../../constant'; import { queryServiceReqAndRep } from '../../utils'; var TabPane = Tabs.TabPane; var ServiceDetails = function ServiceDetails(props) { var selectData = props.selectData, closeParam = props.closeParam, appId = props.appId, tabKey = props.tabKey; var _useState = useState('1'), _useState2 = _slicedToArray(_useState, 2), paramTabKey = _useState2[0], setParamTabKey = _useState2[1]; var _useState3 = useState([]), _useState4 = _slicedToArray(_useState3, 2), request = _useState4[0], setRequest = _useState4[1]; var _useState5 = useState([]), _useState6 = _slicedToArray(_useState5, 2), response = _useState6[0], setResponse = _useState6[1]; var _useState7 = useState(false), _useState8 = _slicedToArray(_useState7, 2), dataLoading = _useState8[0], setDataLoading = _useState8[1]; var queryServiceDetails = function queryServiceDetails() { var params = {}; if (tabKey === SERVICE_KEY.RHIN) { // 外部 params = { busiApiId: selectData === null || selectData === void 0 ? void 0 : selectData.busiApiId, productId: selectData === null || selectData === void 0 ? void 0 : selectData.productId, appId: appId }; } else if (tabKey === SERVICE_KEY.STD) { // 编排类 params = { serviceVersionId: selectData === null || selectData === void 0 ? void 0 : selectData.serviceVersionId, version: 1 }; } else { // sql \请求层 params = { appServiceId: (selectData === null || selectData === void 0 ? void 0 : selectData.appServiceId) || (selectData === null || selectData === void 0 ? void 0 : selectData.serviceId), appId: appId }; } setDataLoading(true); queryServiceReqAndRep(tabKey, params).then(function (res) { setDataLoading(false); var reqData = res.reqData, repData = res.repData; if (reqData) { setRequest(reqData); } if (repData) { setResponse(repData); } }); }; useEffect(function () { queryServiceDetails(); }, [JSON.stringify(selectData)]); var renderType = function renderType(record) { var type = (record === null || record === void 0 ? void 0 : record.type) || (record === null || record === void 0 ? void 0 : record.attrType); if (type === 'array') { if (record && (record === null || record === void 0 ? void 0 : record.children) && Array.isArray(record === null || record === void 0 ? void 0 : record.children) && (record === null || record === void 0 ? void 0 : record.children.length) > 0) { if (_typeof(record === null || record === void 0 ? void 0 : record.children[0]) === 'object') { type = 'objectArray'; } } } return TYPE_MAP[type]; }; var columns = [{ title: '参数名称', dataIndex: 'name', width: 150, key: 'name', ellipsis: true, render: function render(text, r) { if (!text) { return r === null || r === void 0 ? void 0 : r.code; } return text; } }, { title: '参数编码', dataIndex: 'code', ellipsis: true }, { title: '参数类型', dataIndex: 'type', key: 'type', width: 80, render: function render(_, r) { return renderType(r); } }]; return /*#__PURE__*/React.createElement("div", { className: "".concat(cssPrefixCls, "-service-details") }, /*#__PURE__*/React.createElement("div", { className: "".concat(cssPrefixCls, "-paramBg"), onClick: function onClick() { return closeParam(); } }), /*#__PURE__*/React.createElement("div", { className: "".concat(cssPrefixCls, "-paramContent") }, /*#__PURE__*/React.createElement("div", { className: "".concat(cssPrefixCls, "-paramBack") }, /*#__PURE__*/React.createElement(Button, { onClick: function onClick() { return closeParam(); }, type: "link", icon: /*#__PURE__*/React.createElement(LeftOutlined, null) }, "\u8FD4\u56DE")), /*#__PURE__*/React.createElement("div", { className: "".concat(cssPrefixCls, "-paramList") }, /*#__PURE__*/React.createElement(Tabs, { activeKey: paramTabKey, centered: true, onChange: function onChange(key) { setParamTabKey(key); } }, /*#__PURE__*/React.createElement(TabPane, { tab: "\u8BF7\u6C42\u53C2\u6570", key: "1" }), /*#__PURE__*/React.createElement(TabPane, { tab: "\uFF5C", disabled: true }), /*#__PURE__*/React.createElement(TabPane, { tab: "\u54CD\u5E94\u53C2\u6570", key: "2" })), /*#__PURE__*/React.createElement(Table, { scroll: { y: 'calc(100% - 100px)' }, rowKey: "code", loading: dataLoading, className: "".concat(cssPrefixCls, "-paramTable"), size: "small", pagination: false, columns: columns, dataSource: paramTabKey === '1' ? request : response })))); }; export default ServiceDetails;