linkmore-design
Version:
π πlmη»δ»ΆεΊγπ
64 lines β’ 2.46 kB
JavaScript
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
import cls from 'classnames';
import React, { forwardRef, Fragment } from 'react';
import Form from "../../form";
import { DYNAMIC_ENUM, FIELD_ENUM } from "../constants";
import DelayInputSearch from "../widgets/DelayInputSearch";
var FuzzySearch = /*#__PURE__*/forwardRef(function (_ref, ref) {
var placeholder = _ref.placeholder,
searchClassName = _ref.searchClassName;
var form = Form.useFormInstance();
var normalize = function normalize(value) {
var prevConditions = form.getFieldValue([FIELD_ENUM.SEARCH, FIELD_ENUM.CONDITIONS]);
if (Array.isArray(prevConditions)) {
var result = prevConditions.map(function (item) {
return _objectSpread(_objectSpread({}, item), {}, {
value: value
});
});
form.setFieldValue([FIELD_ENUM.SEARCH, FIELD_ENUM.CONDITIONS], result);
}
return value;
};
return /*#__PURE__*/React.createElement("div", {
className: cls('lm_filter_search', searchClassName)
}, /*#__PURE__*/React.createElement(Form.Item, {
name: [FIELD_ENUM.SEARCH, FIELD_ENUM.RELATION],
noStyle: true
}), /*#__PURE__*/React.createElement(Form.Item, {
name: [FIELD_ENUM.SEARCH, FIELD_ENUM.CONDITIONS, 0, DYNAMIC_ENUM.VALUE],
trigger: "onSearch",
noStyle: true,
normalize: normalize
}, /*#__PURE__*/React.createElement(DelayInputSearch, {
placeholder: placeholder,
ref: ref
})), /*#__PURE__*/React.createElement(Form.List, {
name: [FIELD_ENUM.SEARCH, FIELD_ENUM.CONDITIONS]
}, function (fields) {
return fields.map(function (_ref2) {
var key = _ref2.key,
name = _ref2.name;
return /*#__PURE__*/React.createElement(Fragment, {
key: key
}, /*#__PURE__*/React.createElement(Form.Item, {
name: [name, DYNAMIC_ENUM.FIELD_NAME],
noStyle: true
}), /*#__PURE__*/React.createElement(Form.Item, {
name: [name, DYNAMIC_ENUM.FIELD_TYPE],
noStyle: true
}), /*#__PURE__*/React.createElement(Form.Item, {
name: [name, DYNAMIC_ENUM.OPERATOR],
noStyle: true
}), /*#__PURE__*/React.createElement(Form.Item, {
name: [name, DYNAMIC_ENUM.RELATION],
noStyle: true
}), /*#__PURE__*/React.createElement(Form.Item, {
name: [name, DYNAMIC_ENUM.VALUE],
trigger: "onSearch",
noStyle: true
}));
});
}));
});
export default FuzzySearch;