Files
copilot-toolbox-sdfdsfds/node_modules/@ant-design/pro-field/es/components/Segmented/index.js
2026-01-16 01:51:36 +00:00

83 lines
3.1 KiB
JavaScript

import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
var _excluded = ["mode", "render", "renderFormItem", "fieldProps", "emptyText"];
import { Segmented, Spin } from 'antd';
import omit from "rc-util/es/omit";
import React, { useImperativeHandle, useRef } from 'react';
import { useFieldFetchData } from "../Select";
import { objectToMap, proFieldParsingText } from '@ant-design/pro-utils';
import "antd/es/segmented/style";
import "antd/es/spin/style";
/**
* Segmented https://ant.design/components/segmented-cn/
*
* @param
*/
import { jsx as _jsx } from "react/jsx-runtime";
import { Fragment as _Fragment } from "react/jsx-runtime";
var FieldSegmented = function FieldSegmented(props, ref) {
var mode = props.mode,
render = props.render,
renderFormItem = props.renderFormItem,
fieldProps = props.fieldProps,
_props$emptyText = props.emptyText,
emptyText = _props$emptyText === void 0 ? '-' : _props$emptyText,
rest = _objectWithoutProperties(props, _excluded);
var inputRef = useRef();
var _useFieldFetchData = useFieldFetchData(props),
_useFieldFetchData2 = _slicedToArray(_useFieldFetchData, 3),
loading = _useFieldFetchData2[0],
options = _useFieldFetchData2[1],
_fetchData = _useFieldFetchData2[2];
useImperativeHandle(ref, function () {
return _objectSpread(_objectSpread({}, inputRef.current || {}), {}, {
fetchData: function fetchData(keyWord) {
return _fetchData(keyWord);
}
});
}, [_fetchData]);
if (loading) {
return /*#__PURE__*/_jsx(Spin, {
size: "small"
});
}
if (mode === 'read') {
var optionsValueEnum = options !== null && options !== void 0 && options.length ? options === null || options === void 0 ? void 0 : options.reduce(function (pre, cur) {
var _ref;
return _objectSpread(_objectSpread({}, pre), {}, _defineProperty({}, (_ref = cur.value) !== null && _ref !== void 0 ? _ref : '', cur.label));
}, {}) : undefined;
var dom = /*#__PURE__*/_jsx(_Fragment, {
children: proFieldParsingText(rest.text, objectToMap(rest.valueEnum || optionsValueEnum))
});
if (render) {
var _render;
return (_render = render(rest.text, _objectSpread({
mode: mode
}, fieldProps), /*#__PURE__*/_jsx(_Fragment, {
children: dom
}))) !== null && _render !== void 0 ? _render : emptyText;
}
return dom;
}
if (mode === 'edit' || mode === 'update') {
var _dom = /*#__PURE__*/_jsx(Segmented, _objectSpread(_objectSpread({
ref: inputRef
}, omit(fieldProps || {}, ['allowClear'])), {}, {
options: options
}));
if (renderFormItem) {
return renderFormItem(rest.text, _objectSpread(_objectSpread({
mode: mode
}, fieldProps), {}, {
options: options,
loading: loading
}), _dom);
}
return _dom;
}
return null;
};
export default /*#__PURE__*/React.forwardRef(FieldSegmented);