136 lines
6.2 KiB
JavaScript
136 lines
6.2 KiB
JavaScript
"use strict";
|
|
|
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports.default = void 0;
|
|
var _objectSpread3 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
var _proUtils = require("@ant-design/pro-utils");
|
|
var _antd = require("antd");
|
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
var _react = _interopRequireWildcard(require("react"));
|
|
var _Select = require("../Select");
|
|
var _proProvider = require("@ant-design/pro-provider");
|
|
require("antd/lib/checkbox/style");
|
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
var _excluded = ["layout", "renderFormItem", "mode", "render"],
|
|
_excluded2 = ["fieldNames"]; // 兼容代码-----------
|
|
//----------------------
|
|
/**
|
|
* 多选组件
|
|
*
|
|
* @param param0
|
|
* @param ref
|
|
*/
|
|
var FieldCheckbox = function FieldCheckbox(_ref, ref) {
|
|
var _Form$Item, _Form$Item$useStatus;
|
|
var _ref$layout = _ref.layout,
|
|
layout = _ref$layout === void 0 ? 'horizontal' : _ref$layout,
|
|
renderFormItem = _ref.renderFormItem,
|
|
mode = _ref.mode,
|
|
render = _ref.render,
|
|
rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
var _useContext = (0, _react.useContext)(_antd.ConfigProvider.ConfigContext),
|
|
getPrefixCls = _useContext.getPrefixCls;
|
|
var layoutClassName = getPrefixCls('pro-field-checkbox');
|
|
var status = (_Form$Item = _antd.Form.Item) === null || _Form$Item === void 0 || (_Form$Item$useStatus = _Form$Item.useStatus) === null || _Form$Item$useStatus === void 0 ? void 0 : _Form$Item$useStatus.call(_Form$Item);
|
|
var _useFieldFetchData = (0, _Select.useFieldFetchData)(rest),
|
|
_useFieldFetchData2 = (0, _slicedToArray2.default)(_useFieldFetchData, 3),
|
|
loading = _useFieldFetchData2[0],
|
|
options = _useFieldFetchData2[1],
|
|
_fetchData = _useFieldFetchData2[2];
|
|
// css
|
|
var _useStyle = (0, _proUtils.useStyle)('Checkbox', function (token) {
|
|
return (0, _defineProperty2.default)({}, ".".concat(layoutClassName), {
|
|
'&-error': {
|
|
span: {
|
|
color: token.colorError
|
|
}
|
|
},
|
|
'&-warning': {
|
|
span: {
|
|
color: token.colorWarning
|
|
}
|
|
},
|
|
'&-vertical': (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, "&".concat(token.antCls, "-checkbox-group"), {
|
|
display: 'inline-block'
|
|
}), "".concat(token.antCls, "-checkbox-wrapper+").concat(token.antCls, "-checkbox-wrapper"), {
|
|
'margin-inline-start': '0 !important'
|
|
}), "".concat(token.antCls, "-checkbox-group-item"), {
|
|
display: 'flex',
|
|
marginInlineEnd: 0
|
|
})
|
|
});
|
|
}),
|
|
wrapSSR = _useStyle.wrapSSR,
|
|
hashId = _useStyle.hashId;
|
|
var _useToken = _proProvider.useToken === null || _proProvider.useToken === void 0 ? void 0 : (0, _proProvider.useToken)(),
|
|
token = _useToken.token;
|
|
var checkBoxRef = (0, _react.useRef)();
|
|
(0, _react.useImperativeHandle)(ref, function () {
|
|
return (0, _objectSpread3.default)((0, _objectSpread3.default)({}, checkBoxRef.current || {}), {}, {
|
|
fetchData: function fetchData(keyWord) {
|
|
return _fetchData(keyWord);
|
|
}
|
|
});
|
|
}, [_fetchData]);
|
|
if (loading) {
|
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.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 _ref3;
|
|
return (0, _objectSpread3.default)((0, _objectSpread3.default)({}, pre), {}, (0, _defineProperty2.default)({}, (_ref3 = cur.value) !== null && _ref3 !== void 0 ? _ref3 : '', cur.label));
|
|
}, {}) : undefined;
|
|
var dom = (0, _proUtils.proFieldParsingText)(rest.text, (0, _proUtils.objectToMap)(rest.valueEnum || optionsValueEnum));
|
|
if (render) {
|
|
var _render;
|
|
return (_render = render(rest.text, (0, _objectSpread3.default)({
|
|
mode: mode
|
|
}, rest.fieldProps), /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
|
|
children: dom
|
|
}))) !== null && _render !== void 0 ? _render : null;
|
|
}
|
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
style: {
|
|
display: 'flex',
|
|
flexWrap: 'wrap',
|
|
alignItems: 'center',
|
|
gap: token.marginSM
|
|
},
|
|
children: dom
|
|
});
|
|
}
|
|
if (mode === 'edit') {
|
|
var _rest$fieldProps;
|
|
var _ref4 = rest.fieldProps || {},
|
|
fieldNames = _ref4.fieldNames,
|
|
restFieldProps = (0, _objectWithoutProperties2.default)(_ref4, _excluded2);
|
|
var _dom = wrapSSR(
|
|
/*#__PURE__*/
|
|
//@ts-ignore
|
|
(0, _jsxRuntime.jsx)(_antd.Checkbox.Group, (0, _objectSpread3.default)((0, _objectSpread3.default)({}, restFieldProps), {}, {
|
|
className: (0, _classnames.default)((_rest$fieldProps = rest.fieldProps) === null || _rest$fieldProps === void 0 ? void 0 : _rest$fieldProps.className, hashId, "".concat(layoutClassName, "-").concat(layout), (0, _defineProperty2.default)((0, _defineProperty2.default)({}, "".concat(layoutClassName, "-error"), (status === null || status === void 0 ? void 0 : status.status) === 'error'), "".concat(layoutClassName, "-warning"), (status === null || status === void 0 ? void 0 : status.status) === 'warning')),
|
|
options: options
|
|
})));
|
|
if (renderFormItem) {
|
|
var _renderFormItem;
|
|
return (_renderFormItem = renderFormItem(rest.text, (0, _objectSpread3.default)((0, _objectSpread3.default)({
|
|
mode: mode
|
|
}, rest.fieldProps), {}, {
|
|
options: options,
|
|
loading: loading
|
|
}), _dom)) !== null && _renderFormItem !== void 0 ? _renderFormItem : null;
|
|
}
|
|
return _dom;
|
|
}
|
|
return null;
|
|
};
|
|
var _default = exports.default = /*#__PURE__*/_react.default.forwardRef(FieldCheckbox); |