UNPKG

@ant-design/pro-field

Version:

原子信息组件,统一 ProForm、ProTable、ProList、Filter 等组件里面的字段定义。

107 lines (106 loc) 3.76 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _proUtils = require("@ant-design/pro-utils"); var _antd = require("antd"); var _classnames = _interopRequireDefault(require("classnames")); var _react = _interopRequireWildcard(require("react")); var _old = require("./old"); var _jsxRuntime = require("react/jsx-runtime"); // https://ant.design/components/color-picker-cn 示例颜色 var DEFAULT_PRESETS = { label: 'Recommended', colors: ['#F5222D', '#FA8C16', '#FADB14', '#8BBB11', '#52C41A', '#13A8A8', '#1677FF', '#2F54EB', '#722ED1', '#EB2F96', '#F5222D4D', '#FA8C164D', '#FADB144D', '#8BBB114D', '#52C41A4D', '#13A8A84D', '#1677FF4D', '#2F54EB4D', '#722ED14D', '#EB2F964D'] }; /** * 判断是否是 5.5.0 以上的版本 * @returns */ function IsIt_Render_V5() { return (0, _proUtils.compareVersions)(_antd.version, '5.5.0') > -1; } /** * 获取颜色组件 * @param {boolean} [old=false] 是否使用旧版本 * @return {*} */ function getColorPicker() { var old = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; if ((typeof old === 'undefined' || old === false) && IsIt_Render_V5()) { return _antd.ColorPicker; } return _old.ColorPicker; } // const ColorPicker = getColorPicker(); /** * 颜色组件 * Antd > 5.5.0 的版本 使用 antd 的 ColorPicker * @param FieldColorPicker { * text: number; * moneySymbol?: string; } */ var FieldColorPicker = function FieldColorPicker(_ref, ref) { var text = _ref.text, type = _ref.mode, render = _ref.render, renderFormItem = _ref.renderFormItem, fieldProps = _ref.fieldProps, old = _ref.old; var _useContext = (0, _react.useContext)(_antd.ConfigProvider.ConfigContext), getPrefixCls = _useContext.getPrefixCls; var ColorPicker = _react.default.useMemo(function () { return getColorPicker(old); }, [old]); var prefixCls = getPrefixCls('pro-field-color-picker'); // 5.5.0 以上版本追加 className var className = (0, _react.useMemo)(function () { if (old) return ''; return (0, _classnames.default)((0, _defineProperty2.default)({}, prefixCls, IsIt_Render_V5())); }, [prefixCls, old]); if (type === 'read') { var dom = /*#__PURE__*/(0, _jsxRuntime.jsx)(ColorPicker, { value: text, mode: "read", ref: ref, className: className // @ts-ignore 设置无法 open , open: false }); if (render) { return render(text, (0, _objectSpread2.default)({ mode: type }, fieldProps), dom); } return dom; } if (type === 'edit' || type === 'update') { // 解决 默认的 width 100% 问题 var style = (0, _objectSpread2.default)({ display: 'table-cell' }, fieldProps.style); var _dom = /*#__PURE__*/(0, _jsxRuntime.jsx)(ColorPicker, (0, _objectSpread2.default)((0, _objectSpread2.default)({ ref: ref, presets: [DEFAULT_PRESETS] }, fieldProps), {}, { style: style, className: className })); if (renderFormItem) { return renderFormItem(text, (0, _objectSpread2.default)((0, _objectSpread2.default)({ mode: type }, fieldProps), {}, { style: style }), _dom); } return _dom; } return null; }; var _default = exports.default = /*#__PURE__*/_react.default.forwardRef(FieldColorPicker);