UNPKG

fx-form-widget

Version:
65 lines (56 loc) 2.08 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports.renderWidget = exports.blockComponent = void 0; var _descriptions = _interopRequireDefault(require("antd/lib/descriptions")); var _react = _interopRequireDefault(require("react")); var _imageList = _interopRequireDefault(require("../imageList")); var _fileList = _interopRequireDefault(require("../fileList")); var Item = _descriptions["default"].Item; // 需要独占一行的组件(图片以及附件和子表单以及分组); var blockComponent = exports.blockComponent = ['uploadPic', 'uploadFile']; // 渲染图片组件 var renderImages = function renderImages(images) { if (!Array.isArray(images)) return images; return /*#__PURE__*/_react["default"].createElement(_imageList["default"], { images: images }); }; // 渲染附件组件 var renderFiles = function renderFiles(files) { if (!Array.isArray(files)) return files; return /*#__PURE__*/_react["default"].createElement(_fileList["default"], { files: files }); }; // 渲染评分组件 var renderRate = function renderRate(value) { return value ? value + "\u5206" : '-'; }; // 渲染颜色 var renderColor = function renderColor() { return ''; }; // 渲染时间选择器 var renderDatePicker = function renderDatePicker(value) { return value ? String(value) : '-'; }; // 渲染值为数组的组件 var renderValueIsArray = function renderValueIsArray(value) { return value.join('/'); }; var widgetTypeMap = new Map([['uploadPic', renderImages], ['uploadFile', renderFiles], ['rate', renderRate], ['datePicker', renderDatePicker], ['refill', renderColor]]); // 渲染不一样的组件类型 var renderWidget = exports.renderWidget = function renderWidget(widgetType, value) { var renderComponent = widgetTypeMap.get(widgetType); if (renderComponent) { return renderComponent(value); } if (Array.isArray(value)) { return renderValueIsArray(value); } if (value === null || value === void 0) { return '-'; } return value; };