linkmore-design
Version:
π πlmη»δ»ΆεΊγπ
57 lines (55 loc) β’ 2.19 kB
JavaScript
;
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 _classnames = _interopRequireDefault(require("classnames"));
var _react = _interopRequireWildcard(require("react"));
var _iconFont = _interopRequireDefault(require("../../../icon-font"));
var _PopDropDown = _interopRequireDefault(require("../../controls/PopDropDown"));
var _ComplexRender = _interopRequireDefault(require("./ComplexRender"));
const LmFilterComplex = ({
instance
}) => {
const {
state,
size,
locale
} = instance;
const [visible, setVisible] = (0, _react.useState)(false);
const active = (0, _react.useMemo)(() => {
return state.complexFilter?.data?.some(v => {
return !!Object.values(v)?.filter(Boolean).length;
});
}, [state.complexFilter]);
// ζ₯θ―’ηζ°ι
const queryCount = (0, _react.useMemo)(() => state.complexFilter?.data?.filter(v => !!Object.values(v)?.filter(Boolean).length).length, [state.complexFilter?.data]);
const cancel = () => {
setVisible(false);
};
const dropdownRender = () => /*#__PURE__*/_react.default.createElement(_ComplexRender.default, {
instance: instance,
title: locale.complex,
onCancel: cancel
});
return /*#__PURE__*/_react.default.createElement(_PopDropDown.default, {
open: visible,
onOpenChange: setVisible,
dropdownRender: dropdownRender
}, /*#__PURE__*/_react.default.createElement("div", {
className: (0, _classnames.default)('lm_filter_basic_item lm_filter_complex_item', size, {
expand: visible,
active
})
}, /*#__PURE__*/_react.default.createElement("div", {
className: "filter_item_icon addon_before"
}, /*#__PURE__*/_react.default.createElement(_iconFont.default, {
type: "icon-a-tongyonga5shaixuan"
})), /*#__PURE__*/_react.default.createElement("div", {
className: "filter_item_label"
}, locale.complex, !!queryCount && `(${queryCount})`)));
};
var _default = LmFilterComplex;
exports.default = _default;