qt-public-ui
Version:
新设计规范下业务组件库
756 lines (754 loc) • 31.6 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _typeof = require("@babel/runtime/helpers/typeof");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
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 _react = _interopRequireWildcard(require("react"));
var _ = require("..");
var _qtPublicHooks = require("qt-public-hooks");
var _classnames = _interopRequireDefault(require("classnames"));
var _lodash = require("lodash");
var _antd = require("antd");
require("./style.less");
var _excluded = ["className", "options", "defaultValue", "value", "disabledOptions", "placeholder", "searchPlaceholder", "footer", "dropdownHeight", "mode", "secondSelect", "thirdSelect", "customReset", "onChange", "max", "maxTagCount"];
/* eslint-disable @typescript-eslint/no-unused-vars */
/* eslint-disable spaced-comment */
/* eslint-disable react/jsx-closing-bracket-location */
/* eslint-disable no-console */
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
var getSubItems = function getSubItems(options) {
var lv1Value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
var lv2Value = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;
if (lv1Value) {
if (lv2Value) {
var l1Idx = options.findIndex(function (item) {
return item.value === lv1Value;
});
var lv1Children = l1Idx >= 0 ? options[l1Idx].children : [];
var l2Idx = lv1Children.findIndex(function (item) {
return item.value === lv2Value;
});
var children = l2Idx >= 0 ? lv1Children[l2Idx].children : [];
return children;
} else {
var index = options.findIndex(function (item) {
return item.value === lv1Value;
});
var _children = index >= 0 ? options[index].children : [];
return _children;
}
} else {
return options;
}
};
var defaultSearch = function defaultSearch() {
var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
var options = arguments.length > 1 ? arguments[1] : undefined;
var res = options.filter(function (opt) {
return String(opt.label).toLowerCase().includes(value.toLowerCase()) || String(opt.value).toLowerCase().includes(value.toLowerCase());
});
return res;
};
var resolveValue = function resolveValue(value) {
var mode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
var secondSelect = arguments.length > 2 ? arguments[2] : undefined;
var thirdSelect = arguments.length > 3 ? arguments[3] : undefined;
var max = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : Infinity;
var lessThanMax = true;
if (value && value.length > 0 && secondSelect && secondSelect.length > 0 && thirdSelect && thirdSelect.length > 0) {
var _value$find, _value$find2;
var sencodKey = secondSelect[0];
var thirdKey = thirdSelect[0];
var secondArray = ((_value$find = value.find(function (i) {
return i.value === sencodKey;
})) === null || _value$find === void 0 ? void 0 : _value$find.children) || [];
var thirdArray = (((_value$find2 = value.find(function (i) {
return i.value === thirdKey;
})) === null || _value$find2 === void 0 ? void 0 : _value$find2.children) || []).reduce(function (arrV2, curV2) {
return arrV2.concat(curV2.children);
}, []) || [];
if (secondArray.length + thirdArray.length > max) {
lessThanMax = false;
}
}
if (value && value.length > 0 && lessThanMax) {
if (mode) {
var rs = value.reduce(function (arrV1, curV1) {
var l1 = curV1;
if (secondSelect.find(function (i) {
return i === l1.value;
})) {
var l1Children = curV1 && curV1.children && curV1.children.length > 0 ? curV1.children : [];
var l2Arr = l1Children.map(function (i) {
return {
key: "".concat(l1.value, "-").concat(i.value),
value: "".concat(l1.value, "-").concat(i.value),
label: "".concat(l1.label, "/").concat(i.label)
};
});
return arrV1.concat(l2Arr);
} else if (thirdSelect.find(function (i) {
return i === l1.value;
})) {
var lv1Children = curV1 && curV1.children && curV1.children.length > 0 ? curV1.children : [];
var l2Res = lv1Children.reduce(function (arrV2, curV2) {
var l2 = curV2;
var lv2Children = curV2 !== null && curV2 !== void 0 && curV2.children && curV2.children.length > 0 ? curV2.children : [];
var l2Arr = lv2Children.map(function (i) {
return {
key: "".concat(l2.value, "-").concat(i.value),
value: "".concat(l2.value, "-").concat(i.value),
label: "".concat(l2.label, "/").concat(i.label)
};
});
return arrV2.concat(l2Arr);
}, []);
return arrV1.concat(l2Res.map(function (i) {
return {
key: "".concat(l1.value, "-").concat(i.value),
value: "".concat(l1.value, "-").concat(i.value),
label: "".concat(l1.label, "/").concat(i.label)
};
}));
} else {
return [];
}
}, []);
return rs;
} else {
var l1 = value[value.length - 1];
if (secondSelect.find(function (i) {
return i === l1.value;
})) {
var l2 = l1.children && l1.children[l1.children.length - 1];
if (l2) {
return [{
value: "".concat(l1.value, "-").concat(l2.value),
label: "".concat(l1.label, "/").concat(l2.label)
}];
} else {
return undefined;
}
} else if (thirdSelect.find(function (i) {
return i === l1.value;
})) {
var _l = l1.children && l1.children[l1.children.length - 1];
var l3 = _l && _l.children && _l.children[_l.children.length - 1];
if (_l && l3) {
return [{
value: "".concat(l1.value, "-").concat(_l.value, "-").concat(l3.value),
label: "".concat(l1.label, "/").concat(_l.label, "/").concat(l3.label)
}];
}
return undefined;
} else {
return undefined;
}
}
} else {
return undefined;
}
};
var checkFirstActiveTab = function checkFirstActiveTab(dataSource, grandKey) {
if (dataSource.length === 0 || !grandKey) {
return false;
}
var l1 = dataSource.find(function (i) {
return i.value === grandKey;
});
return !!l1 && l1.children && l1.children.length > 0;
};
var checkSecondActiveTab = function checkSecondActiveTab(dataSource, grandKey, parentKey, type) {
if (dataSource.length === 0 || !grandKey || !parentKey) {
return false;
}
var l1 = dataSource.find(function (i) {
return i.value === grandKey;
});
var l2 = l1 && l1.children && l1.children.length > 0 && l1.children.find(function (i) {
return i.value === parentKey;
});
return type === 'cascader' ? !!(l1 && l2 && l2.children && l2.children.length > 0) : !!(l1 && l2);
};
var checkThirdActiveTab = function checkThirdActiveTab(dataSource, grandKey, parentKey, value) {
if (dataSource.length === 0 || !value || !grandKey || !parentKey) {
return false;
}
var l1 = dataSource.find(function (i) {
return i.value === grandKey;
});
var l2 = l1 && l1.children && l1.children.length > 0 && l1.children.find(function (i) {
return i.value === parentKey;
});
var l3 = l2 && l2.children && l2.children.length > 0 && l2.children.find(function (i) {
return i.value === value;
});
return !!(l1 && l2 && l3);
};
var CascaderMultiSelect = function CascaderMultiSelect(props) {
var className = props.className,
_props$options = props.options,
options = _props$options === void 0 ? [] : _props$options,
_props$defaultValue = props.defaultValue,
defaultValue = _props$defaultValue === void 0 ? [] : _props$defaultValue,
_props$value = props.value,
propValue = _props$value === void 0 ? [] : _props$value,
_props$disabledOption = props.disabledOptions,
propDisableValue = _props$disabledOption === void 0 ? [] : _props$disabledOption,
_props$placeholder = props.placeholder,
placeholder = _props$placeholder === void 0 ? '' : _props$placeholder,
_props$searchPlacehol = props.searchPlaceholder,
searchPlaceholder = _props$searchPlacehol === void 0 ? '搜索...' : _props$searchPlacehol,
footer = props.footer,
_props$dropdownHeight = props.dropdownHeight,
dropdownHeight = _props$dropdownHeight === void 0 ? 'auto' : _props$dropdownHeight,
_props$mode = props.mode,
mode = _props$mode === void 0 ? undefined : _props$mode,
_props$secondSelect = props.secondSelect,
secondSelect = _props$secondSelect === void 0 ? [] : _props$secondSelect,
_props$thirdSelect = props.thirdSelect,
thirdSelect = _props$thirdSelect === void 0 ? [] : _props$thirdSelect,
customReset = props.customReset,
onChange = props.onChange,
_props$max = props.max,
max = _props$max === void 0 ? Infinity : _props$max,
maxTagCount = props.maxTagCount,
selectProps = (0, _objectWithoutProperties2["default"])(props, _excluded);
var isControlled = ('value' in props);
var _useState = (0, _react.useState)(false),
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
open = _useState2[0],
setOpen = _useState2[1];
var _useState3 = (0, _react.useState)(isControlled ? propValue || [] : defaultValue),
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
controledValue = _useState4[0],
setControledValue = _useState4[1];
var _useState5 = (0, _react.useState)([]),
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
lv2Items = _useState6[0],
setLv2Items = _useState6[1];
var _useState7 = (0, _react.useState)([]),
_useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
lv3Items = _useState8[0],
setLv3Items = _useState8[1];
var _useState9 = (0, _react.useState)(),
_useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
search = _useState10[0],
setSearch = _useState10[1];
var _useState11 = (0, _react.useState)([]),
_useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
searchItems = _useState12[0],
setSearchItems = _useState12[1];
var _useState13 = (0, _react.useState)(undefined),
_useState14 = (0, _slicedToArray2["default"])(_useState13, 2),
l1Tab = _useState14[0],
setL1Tab = _useState14[1];
var finalControledValue = propValue || controledValue;
var resp = resolveValue(finalControledValue, mode, secondSelect, thirdSelect, max) || [];
var lessThanMax = (resp === null || resp === void 0 ? void 0 : resp.length) < max;
var isMultiple = /^tag|multiple$/.test(mode);
(0, _react.useEffect)(function () {
var _props$onSearch = props.onSearch,
onSearch = _props$onSearch === void 0 ? defaultSearch : _props$onSearch;
setSearchItems(onSearch(search || '', lv2Items || [], []) || []);
}, [search, lv2Items, props]);
(0, _react.useEffect)(function () {
var _props$onSearch2 = props.onSearch,
onSearch = _props$onSearch2 === void 0 ? defaultSearch : _props$onSearch2;
// 默认展开第一个tab
if (options.length > 0) {
var l1o = options[0];
setL1Tab(l1o.value);
if (l1o.children) {
setLv2Items(l1o.children.map(function (i) {
return _objectSpread(_objectSpread({}, i), {}, {
parent: l1o
});
}));
setSearchItems(onSearch('', l1o.children.map(function (i) {
return _objectSpread(_objectSpread({}, i), {}, {
parent: l1o
});
}) || [], []) || []);
}
}
}, []);
var dropDownCls = (0, _qtPublicHooks.useDropdownClickAway)(function () {
setOpen(false);
setSearch(undefined);
}, []);
var onLv1ListItemClick = function onLv1ListItemClick(item) {
var value = item.value;
var subItems = getSubItems(options, value);
//这里就有个问题,key对不上, items中的key 还是原始数据中的key, 但是selectValue中是拼接好的, 所以需要将当前lv1的key补上
setLv2Items(subItems.map(function (i) {
return _objectSpread(_objectSpread({}, i), {}, {
parent: item
});
}));
setLv3Items([]);
setL1Tab(value);
};
var onLv2AllCheckBoxChange = function onLv2AllCheckBoxChange(checked) {
var finalValue = (0, _lodash.isArray)(finalControledValue) ? finalControledValue.filter(function (item) {
return item.value !== l1Tab;
}) : [];
if (checked) {
finalValue.push(options.find(function (opt) {
return opt.value === l1Tab;
}));
}
setControledValue(finalValue);
(0, _lodash.isFunction)(onChange) && onChange(finalValue);
};
var onLv2ListItemClick = function onLv2ListItemClick(item) {
var value = item.value,
label = item.label,
parent = item.parent;
if (secondSelect.find(function (i) {
return i === parent.value;
})) {
// 1.如果是单选,选中一个菜单收起,并带回onChange
// 2.如果是多选,选中之后菜单不收起,并且可选选择其他
if (mode) {
//1.如果当前二级的一级是选中状态,并且当前二级是选中状态,点击则反选
//2.如果当前二级的一级是选中状态,并且当前二级是未选中状态,则选中
//3.如果当前二级的一级是未选中状态,并且当前二级也是未选中状态,则选中彼此
//4.如果当前二级的一级是未选中状态, 但当前二级是选中状态,不存在!
var copyAll = JSON.parse(JSON.stringify(finalControledValue));
var l1 = copyAll.find(function (i) {
return i.value === parent.value;
});
if (l1) {
var l2 = l1.children.find(function (i) {
return i.value === value;
});
if (l2) {
l1.children = l1.children.filter(function (i) {
return i.value !== value;
}); //利用数组的引用关系
} else {
if (!lessThanMax) return;
l1.children.push({
value: value,
label: label
});
}
} else {
if (!lessThanMax) return;
copyAll.push({
value: parent.value,
label: parent.label,
children: [{
value: value,
label: label
}]
});
}
setControledValue(copyAll);
onChange && onChange(copyAll);
} else {
setOpen(false); //收起小桌板
var res = [{
value: parent.value,
label: parent.label,
children: [{
value: value,
label: label
}]
}];
setControledValue(res);
onChange && onChange(res);
}
} else if (thirdSelect.find(function (i) {
return i === parent.value;
})) {
var subItems = getSubItems(options, parent.value, value);
setLv3Items(subItems.map(function (i) {
return _objectSpread(_objectSpread({}, i), {}, {
parent: item,
grand: parent
});
}));
} else {
throw 'options dont contains primary keys';
}
};
var onLv3ListItemClick = function onLv3ListItemClick(item) {
var parent = item.parent,
grand = item.grand,
value = item.value,
label = item.label;
if (secondSelect.find(function (i) {
return i === grand.value;
})) {
throw 'could not hit this branch';
} else if (thirdSelect.find(function (i) {
return i === grand.value;
})) {
if (mode) {
// 1.如果当前三级的二级和一级没有选中,则三级选中
// 2.如果当前三级的二级和一级没有选中,三级是选中状态下,不存在这种情况
// 3.如果当前三级的二级和一级已经选中,当前三级没有选中,则选中
// 4.如果当前三级的二级和一级已经选中,当前三级也已经选中,则反选
var copyAll = JSON.parse(JSON.stringify(finalControledValue));
var l1 = copyAll.find(function (i) {
return i.value === grand.value;
});
if (l1) {
var l2 = l1.children.find(function (i) {
return i.value === parent.value;
});
if (l2) {
var l3 = l2.children.find(function (i) {
return i.value === value;
});
if (l3) {
l2.children = l2.children.filter(function (i) {
return i.value !== value;
}); //反选
l1.children = l1.children.filter(function (i) {
return i.children && i.children.length > 0;
});
} else {
if (!lessThanMax) return;
l2.children.push({
value: value,
label: label
});
}
} else {
if (!lessThanMax) return;
l1.children.push({
value: parent.value,
label: parent.label,
children: [{
value: value,
label: label
}]
});
}
} else {
if (!lessThanMax) return;
copyAll.push({
value: grand.value,
label: grand.label,
children: [{
value: parent.value,
label: parent.label,
children: [{
value: value,
label: label
}]
}]
});
}
onChange && onChange(copyAll);
setControledValue(copyAll);
} else {
var _l2 = finalControledValue.length > 0 && finalControledValue[finalControledValue.length - 1];
var _l3 = _l2 && _l2.children && _l2.children[_l2.children.length - 1];
var _l4 = _l3 && _l3.children && _l3.children[_l3.children.length - 1];
if (_l2 && _l3 && _l4 && _l2.value === grand.value && _l3.value === parent.value && _l4.value === value) {
onChange && onChange([]);
setControledValue([]);
} else {
var res = [{
value: grand.value,
label: grand.label,
children: [{
value: parent.value,
label: parent.label,
children: [{
value: value,
label: label
}]
}]
}];
onChange && onChange(res);
setControledValue(res);
}
}
} else {
throw 'options dont contains primary keys';
}
};
//二级菜单Item
var renderL2Item = function renderL2Item(item) {
var value = item.value,
label = item.label,
children = item.children,
parent = item.parent;
if (parent) {
if (secondSelect.find(function (i) {
return i === parent.value;
}) || value === 'all') {
var disabled = checkSecondActiveTab(propDisableValue, parent.value, value, 'select');
var isActive = checkSecondActiveTab(finalControledValue, parent.value, value, 'select');
return /*#__PURE__*/_react["default"].createElement("div", {
key: value,
onClick: disabled ? undefined : function () {
onLv2ListItemClick(item);
},
className: (0, _classnames["default"])('umui-level-2-item-with-children', {
active: !isMultiple && checkSecondActiveTab(finalControledValue, parent.value, value, 'select')
}, {
disabled: disabled
})
}, isMultiple && /*#__PURE__*/_react["default"].createElement(_antd.Checkbox, {
style: {
marginRight: 9
},
checked: isActive
}), /*#__PURE__*/_react["default"].createElement("div", {
style: {
flex: 1
}
}, label), !isMultiple && checkSecondActiveTab(finalControledValue, parent.value, value, 'select') && /*#__PURE__*/_react["default"].createElement(_.IconSlim, {
type: "umicon-success",
style: {
fontSize: 16,
color: '#97A1AF'
}
}));
} else if (thirdSelect.find(function (i) {
return i === parent.value;
})) {
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, children && (children === null || children === void 0 ? void 0 : children.length) > 0 && /*#__PURE__*/_react["default"].createElement("div", {
onClick: function onClick() {
onLv2ListItemClick(item);
},
key: value,
className: (0, _classnames["default"])('umui-level-2-item', {
active: checkSecondActiveTab(finalControledValue, parent.value, value, 'cascader')
})
}, label, /*#__PURE__*/_react["default"].createElement(_.IconSlim, {
type: "umicon-arrow-right",
style: {
fontSize: 12,
color: '#97A1AF'
}
})), (!children || (children === null || children === void 0 ? void 0 : children.length) === 0) && /*#__PURE__*/_react["default"].createElement("div", {
onClick: function onClick() {
onLv2ListItemClick(item);
},
key: value,
className: (0, _classnames["default"])('umui-level-2-item', {
active: checkSecondActiveTab(finalControledValue, parent.value, value, 'cascader')
})
}, label));
} else {
return undefined;
}
} else {
return undefined;
}
};
var extra = function extra() {
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, lv3Items.map(function (opt) {
var parent = opt.parent,
grand = opt.grand,
value = opt.value,
label = opt.label;
var isChecked = checkThirdActiveTab(finalControledValue, grand.value, parent.value, value);
var disabled = checkThirdActiveTab(propDisableValue, grand.value, parent.value, value);
return /*#__PURE__*/_react["default"].createElement("div", {
className: "umui-cascader-select-tabs-level-3",
key: opt.value
}, /*#__PURE__*/_react["default"].createElement(_antd.Checkbox, {
key: value,
onChange: function onChange() {
return onLv3ListItemClick(opt);
},
checked: isChecked,
disabled: disabled
}, label));
}));
};
var onDeselect = function onDeselect(val) {
if (!mode) return;
var key = val.key;
var _key$split = key.split('-'),
_key$split2 = (0, _slicedToArray2["default"])(_key$split, 3),
l1 = _key$split2[0],
l2 = _key$split2[1],
l3 = _key$split2[2];
var copyAll = JSON.parse(JSON.stringify(finalControledValue));
if (secondSelect.find(function (i) {
return i === l1;
})) {
var l1o = copyAll.find(function (i) {
return String(i.value) === l1;
});
if (l1o) {
l1o.children = l1o.children.filter(function (i) {
return String(i.value) !== l2;
}) || [];
if (l1o.children.length === 0) {
copyAll = copyAll.filter(function (i) {
return String(i.value) !== l1;
}) || [];
}
// setControledValue(copyAll);
}
} else if (thirdSelect.find(function (i) {
return i === l1;
})) {
var _l1o = copyAll.find(function (i) {
return i.value === l1;
});
var l2o = _l1o && _l1o.children && _l1o.children.find(function (i) {
return String(i.value) === l2;
});
if (l2o) {
l2o.children = l2o.children.filter(function (i) {
return String(i.value) !== l3;
}) || [];
if (l2o.children.length === 0) {
_l1o.children = _l1o.children.filter(function (i) {
return String(i.value) !== l2;
}) || [];
if (_l1o.children.length === 0) {
copyAll = copyAll.filter(function (i) {
return String(i.value) !== l1;
}) || [];
}
}
}
}
setControledValue(copyAll);
onChange && onChange(copyAll);
};
var dropDownRender = function dropDownRender() {
var _props$showDropDownSe = props.showDropDownSearch,
showDropDownSearch = _props$showDropDownSe === void 0 ? [] : _props$showDropDownSe;
var selectedL1Tab = options.find(function (i) {
return i.value === l1Tab;
});
var matchedL1TabControledValue = finalControledValue.find(function (item) {
return item.value === l1Tab;
});
var isAllChecked = (0, _lodash.isArray)(finalControledValue) && (0, _lodash.get)(matchedL1TabControledValue, 'children.length') === (0, _lodash.get)(searchItems, 'length') && (0, _lodash.get)(selectedL1Tab, 'children.length') > 0;
return /*#__PURE__*/_react["default"].createElement("div", {
style: {
display: 'flex',
maxHeight: dropdownHeight
}
}, /*#__PURE__*/_react["default"].createElement("div", {
className: "umui-cascader-select-content"
}, /*#__PURE__*/_react["default"].createElement("div", {
className: "umui-cascader-select-block"
}, /*#__PURE__*/_react["default"].createElement("div", {
className: "umui-cascader-select-tabs"
}, /*#__PURE__*/_react["default"].createElement("ul", {
className: "umui-cascader-select-tabs-level-1"
}, options.map(function (item) {
var label = item.label,
value = item.value;
return /*#__PURE__*/_react["default"].createElement("li", {
key: "".concat(label, "-").concat(value),
onClick: function onClick() {
onLv1ListItemClick(item);
},
className: (0, _classnames["default"])({
'tab-active': checkFirstActiveTab(finalControledValue, value)
})
}, label, /*#__PURE__*/_react["default"].createElement(_.IconSlim, {
style: {
fontSize: 12
},
type: "umicon-arrow-right"
}));
})), /*#__PURE__*/_react["default"].createElement("div", {
className: "umui-cascader-select-tabs-level-2"
}, showDropDownSearch.find(function (i) {
return i === l1Tab;
}) && /*#__PURE__*/_react["default"].createElement("div", {
className: "search-box"
}, /*#__PURE__*/_react["default"].createElement(_.Input.Search, {
value: search,
placeholder: searchPlaceholder,
styleType: "underline",
onChange: function onChange(_ref) {
var value = _ref.target.value;
setSearch(value);
}
})), /*#__PURE__*/_react["default"].createElement("div", {
style: {
height: 'calc(100% - 32px)',
overflow: 'auto'
}
}, isMultiple && !search && (0, _lodash.isArray)(searchItems) && searchItems.length > 0 && (0, _lodash.get)(selectedL1Tab, 'allText') && /*#__PURE__*/_react["default"].createElement("div", {
className: "umui-level-2-item-with-children"
}, /*#__PURE__*/_react["default"].createElement(_antd.Checkbox, {
checked: isAllChecked,
indeterminate: !isAllChecked && (0, _lodash.get)(matchedL1TabControledValue, 'children.length') > 0,
onChange: function onChange(e) {
return onLv2AllCheckBoxChange(e.target.checked);
}
}, (0, _lodash.get)(selectedL1Tab, 'allText'))), (0, _lodash.isArray)(searchItems) && searchItems.length > 0 ? searchItems.map(function (item) {
return renderL2Item(item);
}) : /*#__PURE__*/_react["default"].createElement(_.Default, {
type: "nothing",
style: {
margin: '10px 0'
}
}))))), footer && /*#__PURE__*/_react["default"].createElement("div", {
className: "umui-cascader-select-footer"
}, footer)), (lv3Items === null || lv3Items === void 0 ? void 0 : lv3Items.length) > 0 && extra && /*#__PURE__*/_react["default"].createElement("div", {
className: "umui-cascader-select-custom-template-new"
}, extra()));
};
var onClear = function onClear() {
var initValue = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
!isControlled && setControledValue(initValue);
onChange && onChange(initValue);
};
var onSingleModeClear = function onSingleModeClear() {
if (typeof customReset === 'function') {
onClear(customReset());
} else {
onClear();
}
setOpen(false);
setSearch(undefined);
};
return /*#__PURE__*/_react["default"].createElement("div", {
className: "umui-cascader-select"
}, /*#__PURE__*/_react["default"].createElement("span", {
onClick: function onClick(e) {
e.stopPropagation();
!props.disabled && setOpen(true);
}
}, /*#__PURE__*/_react["default"].createElement(_.Select, (0, _extends2["default"])({
className: (0, _classnames["default"])(className, {
'umui-select-tag-no-border': isMultiple && maxTagCount === 0
}),
open: open,
dropdownClassName: (0, _classnames["default"])('umui-cascader-popup', dropDownCls),
style: {
width: 200
},
value: resp,
dropdownMatchSelectWidth: false,
dropdownRender: dropDownRender,
placeholder: placeholder,
onDeselect: onDeselect,
mode: mode,
labelInValue: true
}, selectProps)), !mode && finalControledValue.length > 0 && /*#__PURE__*/_react["default"].createElement("span", {
onClick: onSingleModeClear,
className: 'umui-cascader-select-reset'
}, "\u91CD\u7F6E")));
};
CascaderMultiSelect.displayName = 'CascaderMultiSelect';
var _default = exports["default"] = CascaderMultiSelect;