UNPKG

fx-form-widget

Version:
47 lines 1.72 kB
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose"; var _excluded = ["datas", "partitions", "loading"]; import React, { createContext, useEffect, useState } from 'react'; import Group from './Group'; import { transformArrayToMap, transformPartitionsToSchemas } from './shard'; import { ProCard, ProSkeleton } from '@ant-design/pro-components'; import './index.less'; export var DetailRenderContext = /*#__PURE__*/createContext({}); var DetailRender = function DetailRender(props) { var datas = props.datas, partitions = props.partitions, loading = props.loading, restProps = _objectWithoutPropertiesLoose(props, _excluded); var _useState = useState([]), values = _useState[0], setValues = _useState[1]; var Provider = DetailRenderContext.Provider; var getTransformValues = function getTransformValues(datas, partitions) { var map = transformArrayToMap(datas); if (!map) { return []; } return transformPartitionsToSchemas(partitions, map); }; useEffect(function () { var newValues = getTransformValues(datas, partitions); setValues(newValues); }, [datas, partitions]); var renderProSkeleton = function renderProSkeleton(loading) { if (!loading) { return false; } return /*#__PURE__*/React.createElement(ProSkeleton, { list: values.length, type: "descriptions" }); }; return /*#__PURE__*/React.createElement(Provider, { value: restProps }, /*#__PURE__*/React.createElement(ProCard, { className: "custom-pro-card", loading: renderProSkeleton(loading) }, /*#__PURE__*/React.createElement(Group, { values: values }))); }; export default DetailRender;