rsuite 4.9.4 → 4.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +16 -0
- package/dist/rsuite.js +2 -2
- package/dist/rsuite.min.js +1 -1
- package/dist/rsuite.min.js.map +1 -1
- package/dist/styles/rsuite-dark-rtl.css +2 -1
- package/dist/styles/rsuite-dark-rtl.min.css +1 -1
- package/dist/styles/rsuite-dark-rtl.min.css.map +1 -1
- package/dist/styles/rsuite-dark.css +2 -1
- package/dist/styles/rsuite-dark.min.css +1 -1
- package/dist/styles/rsuite-dark.min.css.map +1 -1
- package/dist/styles/rsuite-default-rtl.css +2 -1
- package/dist/styles/rsuite-default-rtl.min.css +1 -1
- package/dist/styles/rsuite-default-rtl.min.css.map +1 -1
- package/dist/styles/rsuite-default.css +2 -1
- package/dist/styles/rsuite-default.min.css +1 -1
- package/dist/styles/rsuite-default.min.css.map +1 -1
- package/es/MultiCascader/DropdownMenu.js +1 -1
- package/es/MultiCascader/MultiCascader.d.ts +8 -0
- package/es/MultiCascader/MultiCascader.js +6 -3
- package/es/Table/styles/common.less +2 -1
- package/lib/MultiCascader/DropdownMenu.js +1 -1
- package/lib/MultiCascader/MultiCascader.d.ts +8 -0
- package/lib/MultiCascader/MultiCascader.js +6 -3
- package/lib/Table/styles/common.less +2 -1
- package/package.json +1 -1
- package/src/MultiCascader/DropdownMenu.tsx +1 -1
- package/src/MultiCascader/MultiCascader.d.ts +8 -0
- package/src/MultiCascader/MultiCascader.tsx +4 -2
- package/src/MultiCascader/test/DropdownMenuSpec.js +17 -0
- package/src/MultiCascader/test/MultiCascaderSpec.js +14 -1
- package/src/Table/styles/common.less +2 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,19 @@
|
|
|
1
|
+
<a name="4.10.0"></a>
|
|
2
|
+
# [4.10.0](https://github.com/rsuite/rsuite/compare/4.9.4...4.10.0) (2021-05-08)
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
### Bug Fixes
|
|
6
|
+
|
|
7
|
+
* **multi-cascader:** the value of event in onSelect is incorrect ([502be2e](https://github.com/rsuite/rsuite/commit/502be2e))
|
|
8
|
+
* **table:** fix long strings in table cells were incorrectly truncated ([#1647](https://github.com/rsuite/rsuite/issues/1647)) ([926111e](https://github.com/rsuite/rsuite/commit/926111e))
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Features
|
|
12
|
+
|
|
13
|
+
* **multi-cascader:** support `onCheck` on `MultiCascader` ([#1646](https://github.com/rsuite/rsuite/issues/1646)) ([e19cd47](https://github.com/rsuite/rsuite/commit/e19cd47))
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
1
17
|
## 4.9.4
|
|
2
18
|
|
|
3
19
|
- build(deps): bump rsuite-table from 3.14.4 to 3.14.6
|
package/dist/rsuite.js
CHANGED
|
@@ -9003,7 +9003,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
|
|
|
9003
9003
|
/***/ (function(module, exports, __webpack_require__) {
|
|
9004
9004
|
|
|
9005
9005
|
"use strict";
|
|
9006
|
-
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\n\nexports.__esModule = true;\nexports.default = exports.dropdownMenuPropTypes = void 0;\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\n\nvar _inheritsLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inheritsLoose */ \"./node_modules/@babel/runtime/helpers/inheritsLoose.js\"));\n\nvar _isNumber2 = _interopRequireDefault(__webpack_require__(/*! lodash/isNumber */ \"./node_modules/lodash/isNumber.js\"));\n\nvar _isString2 = _interopRequireDefault(__webpack_require__(/*! lodash/isString */ \"./node_modules/lodash/isString.js\"));\n\nvar _isNull2 = _interopRequireDefault(__webpack_require__(/*! lodash/isNull */ \"./node_modules/lodash/isNull.js\"));\n\nvar _isUndefined2 = _interopRequireDefault(__webpack_require__(/*! lodash/isUndefined */ \"./node_modules/lodash/isUndefined.js\"));\n\nvar React = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ \"./node_modules/classnames/index.js\"));\n\nvar _shallowEqual = _interopRequireDefault(__webpack_require__(/*! ../utils/shallowEqual */ \"./src/utils/shallowEqual.ts\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _Picker = __webpack_require__(/*! ../Picker */ \"./src/Picker/index.ts\");\n\nvar _utils2 = _interopRequireDefault(__webpack_require__(/*! ./utils */ \"./src/MultiCascader/utils.ts\"));\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/MultiCascader/DropdownMenu.tsx\";\nvar dropdownMenuPropTypes = {\n classPrefix: _propTypes.default.string,\n data: _propTypes.default.array,\n disabledItemValues: _propTypes.default.array,\n value: _propTypes.default.array,\n childrenKey: _propTypes.default.string,\n valueKey: _propTypes.default.string,\n labelKey: _propTypes.default.string,\n menuWidth: _propTypes.default.number,\n menuHeight: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),\n className: _propTypes.default.string,\n cascade: _propTypes.default.bool,\n cascadeItems: _propTypes.default.array,\n cascadePathItems: _propTypes.default.array,\n uncheckableItemValues: _propTypes.default.array,\n renderMenuItem: _propTypes.default.func,\n renderMenu: _propTypes.default.func,\n onSelect: _propTypes.default.func,\n onCheck: _propTypes.default.func\n};\nexports.dropdownMenuPropTypes = dropdownMenuPropTypes;\n\nvar DropdownMenu =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inheritsLoose2.default)(DropdownMenu, _React$Component);\n\n function DropdownMenu(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this;\n _this.utils = {};\n _this.menus = [];\n\n _this.handleSelect = function (layer, node, event) {\n var _this$props = _this.props,\n onSelect = _this$props.onSelect,\n childrenKey = _this$props.childrenKey;\n var children = node[childrenKey];\n var isLeafNode = (0, _isUndefined2.default)(children) || (0, _isNull2.default)(children);\n var items = (children || []).map(function (item) {\n return (0, _extends2.default)({}, item, {\n parent: node\n });\n });\n\n var _this$getCascadeItems = _this.getCascadeItems(items, layer + 1, node, isLeafNode),\n cascadeItems = _this$getCascadeItems.cascadeItems,\n cascadePathItems = _this$getCascadeItems.cascadePathItems;\n\n onSelect === null || onSelect === void 0 ? void 0 : onSelect(node, cascadeItems, cascadePathItems, event);\n };\n\n _this.addPrefix = function (name) {\n return (0, _utils.prefix)(_this.props.classPrefix)(name);\n };\n\n _this.utils = (0, _utils2.default)(props);\n return _this;\n }\n\n var _proto = DropdownMenu.prototype;\n\n _proto.getCascadeItems = function getCascadeItems(items, layer, node, isLeafNode) {\n var _this$props2 = this.props,\n _this$props2$cascadeI = _this$props2.cascadeItems,\n cascadeItems = _this$props2$cascadeI === void 0 ? [] : _this$props2$cascadeI,\n cascadePathItems = _this$props2.cascadePathItems;\n var nextItems = [];\n var nextPathItems = [];\n\n for (var i = 0; i < cascadeItems.length && i < layer; i += 1) {\n nextItems.push(cascadeItems[i]);\n\n if (i < layer - 1 && cascadePathItems) {\n nextPathItems.push(cascadePathItems[i]);\n }\n }\n\n nextPathItems.push(node);\n\n if (!isLeafNode) {\n nextItems.push(items);\n }\n\n return {\n cascadeItems: nextItems,\n cascadePathItems: nextPathItems\n };\n };\n\n _proto.renderCascadeNode = function renderCascadeNode(node, index, layer, focus, uncheckable) {\n var _classNames;\n\n var _this$props3 = this.props,\n _this$props3$value = _this$props3.value,\n value = _this$props3$value === void 0 ? [] : _this$props3$value,\n valueKey = _this$props3.valueKey,\n labelKey = _this$props3.labelKey,\n childrenKey = _this$props3.childrenKey,\n disabledItemValues = _this$props3.disabledItemValues,\n renderMenuItem = _this$props3.renderMenuItem,\n onCheck = _this$props3.onCheck,\n cascade = _this$props3.cascade;\n var children = node[childrenKey];\n var itemValue = node[valueKey];\n var label = node[labelKey];\n var disabled = disabledItemValues.some(function (disabledValue) {\n return (0, _shallowEqual.default)(disabledValue, itemValue);\n }); // Use `value` in keys when If `value` is string or number\n\n var onlyKey = (0, _isString2.default)(itemValue) || (0, _isNumber2.default)(itemValue) ? itemValue : index;\n var active = value.some(function (v) {\n return v === itemValue;\n });\n\n if (cascade) {\n active = active || this.utils.isSomeParentChecked(node, value);\n }\n\n value.some(function (item) {\n return (0, _shallowEqual.default)(item, itemValue);\n });\n var classes = (0, _classnames.default)((_classNames = {}, _classNames[this.addPrefix('cascader-menu-has-children')] = children, _classNames));\n return React.createElement(_Picker.DropdownMenuCheckItem, {\n key: layer + \"-\" + onlyKey,\n disabled: disabled,\n active: active,\n focus: focus,\n value: node,\n className: classes,\n componentClass: \"li\",\n indeterminate: cascade && !active && this.utils.isSomeChildChecked(node, value),\n onSelectItem: this.handleSelect.bind(this, layer, node),\n onCheck: onCheck,\n checkable: !uncheckable,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 160\n },\n __self: this\n }, renderMenuItem ? renderMenuItem(label, node) : label, children ? React.createElement(\"span\", {\n className: this.addPrefix('cascader-menu-caret'),\n __source: {\n fileName: _jsxFileName,\n lineNumber: 174\n },\n __self: this\n }) : null);\n };\n\n _proto.renderCascade = function renderCascade() {\n var _this2 = this;\n\n var _this$props4 = this.props,\n menuWidth = _this$props4.menuWidth,\n menuHeight = _this$props4.menuHeight,\n valueKey = _this$props4.valueKey,\n renderMenu = _this$props4.renderMenu,\n _this$props4$cascadeI = _this$props4.cascadeItems,\n cascadeItems = _this$props4$cascadeI === void 0 ? [] : _this$props4$cascadeI,\n cascadePathItems = _this$props4.cascadePathItems,\n uncheckableItemValues = _this$props4.uncheckableItemValues;\n var styles = {\n width: cascadeItems.length * menuWidth\n };\n var columnStyles = {\n height: menuHeight,\n width: menuWidth\n };\n var cascadeNodes = cascadeItems.map(function (children, layer) {\n var _classNames2;\n\n var uncheckableCount = 0;\n var onlyKey = layer + \"_\" + children.length;\n var menu = React.createElement(\"ul\", {\n __source: {\n fileName: _jsxFileName,\n lineNumber: 201\n },\n __self: this\n }, children.map(function (item, index) {\n var uncheckable = uncheckableItemValues.some(function (uncheckableValue) {\n return (0, _shallowEqual.default)(uncheckableValue, item[valueKey]);\n });\n\n if (uncheckable) {\n uncheckableCount++;\n }\n\n return _this2.renderCascadeNode(item, index, layer, cascadePathItems[layer] && (0, _shallowEqual.default)(cascadePathItems[layer][valueKey], item[valueKey]), uncheckable);\n }));\n var parentNode = cascadePathItems[layer - 1];\n var columnClasses = (0, _classnames.default)(_this2.addPrefix('cascader-menu-column'), (_classNames2 = {}, _classNames2[_this2.addPrefix('cascader-menu-column-uncheckable')] = uncheckableCount === children.length, _classNames2));\n var node = React.createElement(\"div\", {\n key: onlyKey,\n className: columnClasses,\n ref: function ref(_ref) {\n return _this2.menus[layer] = _ref;\n },\n style: columnStyles,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 226\n },\n __self: this\n }, renderMenu ? renderMenu(children, menu, parentNode) : menu);\n return node;\n });\n return React.createElement(\"div\", {\n style: styles,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 237\n },\n __self: this\n }, cascadeNodes);\n };\n\n _proto.render = function render() {\n var _this$props5 = this.props,\n className = _this$props5.className,\n rest = (0, _objectWithoutPropertiesLoose2.default)(_this$props5, [\"className\"]);\n var classes = (0, _classnames.default)(this.addPrefix('cascader-menu-items'), className);\n var unhandled = (0, _utils.getUnhandledProps)(DropdownMenu, rest);\n return React.createElement(\"div\", (0, _extends2.default)({}, unhandled, {\n className: classes,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 246\n },\n __self: this\n }), this.renderCascade());\n };\n\n return DropdownMenu;\n}(React.Component);\n\nDropdownMenu.propTypes = dropdownMenuPropTypes;\nDropdownMenu.defaultProps = {\n data: [],\n disabledItemValues: [],\n uncheckableItemValues: [],\n cascadeItems: [],\n cascadePathItems: [],\n menuWidth: 156,\n menuHeight: 200,\n childrenKey: 'children',\n valueKey: 'value',\n labelKey: 'label'\n};\nvar _default = DropdownMenu;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/MultiCascader/DropdownMenu.tsx?");
|
|
9006
|
+
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\n\nexports.__esModule = true;\nexports.default = exports.dropdownMenuPropTypes = void 0;\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\n\nvar _inheritsLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inheritsLoose */ \"./node_modules/@babel/runtime/helpers/inheritsLoose.js\"));\n\nvar _isNumber2 = _interopRequireDefault(__webpack_require__(/*! lodash/isNumber */ \"./node_modules/lodash/isNumber.js\"));\n\nvar _isString2 = _interopRequireDefault(__webpack_require__(/*! lodash/isString */ \"./node_modules/lodash/isString.js\"));\n\nvar _isNull2 = _interopRequireDefault(__webpack_require__(/*! lodash/isNull */ \"./node_modules/lodash/isNull.js\"));\n\nvar _isUndefined2 = _interopRequireDefault(__webpack_require__(/*! lodash/isUndefined */ \"./node_modules/lodash/isUndefined.js\"));\n\nvar React = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ \"./node_modules/classnames/index.js\"));\n\nvar _shallowEqual = _interopRequireDefault(__webpack_require__(/*! ../utils/shallowEqual */ \"./src/utils/shallowEqual.ts\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _Picker = __webpack_require__(/*! ../Picker */ \"./src/Picker/index.ts\");\n\nvar _utils2 = _interopRequireDefault(__webpack_require__(/*! ./utils */ \"./src/MultiCascader/utils.ts\"));\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/MultiCascader/DropdownMenu.tsx\";\nvar dropdownMenuPropTypes = {\n classPrefix: _propTypes.default.string,\n data: _propTypes.default.array,\n disabledItemValues: _propTypes.default.array,\n value: _propTypes.default.array,\n childrenKey: _propTypes.default.string,\n valueKey: _propTypes.default.string,\n labelKey: _propTypes.default.string,\n menuWidth: _propTypes.default.number,\n menuHeight: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),\n className: _propTypes.default.string,\n cascade: _propTypes.default.bool,\n cascadeItems: _propTypes.default.array,\n cascadePathItems: _propTypes.default.array,\n uncheckableItemValues: _propTypes.default.array,\n renderMenuItem: _propTypes.default.func,\n renderMenu: _propTypes.default.func,\n onSelect: _propTypes.default.func,\n onCheck: _propTypes.default.func\n};\nexports.dropdownMenuPropTypes = dropdownMenuPropTypes;\n\nvar DropdownMenu =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inheritsLoose2.default)(DropdownMenu, _React$Component);\n\n function DropdownMenu(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this;\n _this.utils = {};\n _this.menus = [];\n\n _this.handleSelect = function (layer, node, event) {\n var _this$props = _this.props,\n onSelect = _this$props.onSelect,\n childrenKey = _this$props.childrenKey;\n var children = node[childrenKey];\n var isLeafNode = (0, _isUndefined2.default)(children) || (0, _isNull2.default)(children);\n var items = (children || []).map(function (item) {\n return (0, _extends2.default)({}, item, {\n parent: node\n });\n });\n\n var _this$getCascadeItems = _this.getCascadeItems(items, layer + 1, node, isLeafNode),\n cascadeItems = _this$getCascadeItems.cascadeItems,\n cascadePathItems = _this$getCascadeItems.cascadePathItems;\n\n onSelect === null || onSelect === void 0 ? void 0 : onSelect(node, cascadeItems, cascadePathItems, event);\n };\n\n _this.addPrefix = function (name) {\n return (0, _utils.prefix)(_this.props.classPrefix)(name);\n };\n\n _this.utils = (0, _utils2.default)(props);\n return _this;\n }\n\n var _proto = DropdownMenu.prototype;\n\n _proto.getCascadeItems = function getCascadeItems(items, layer, node, isLeafNode) {\n var _this$props2 = this.props,\n _this$props2$cascadeI = _this$props2.cascadeItems,\n cascadeItems = _this$props2$cascadeI === void 0 ? [] : _this$props2$cascadeI,\n cascadePathItems = _this$props2.cascadePathItems;\n var nextItems = [];\n var nextPathItems = [];\n\n for (var i = 0; i < cascadeItems.length && i < layer; i += 1) {\n nextItems.push(cascadeItems[i]);\n\n if (i < layer - 1 && cascadePathItems) {\n nextPathItems.push(cascadePathItems[i]);\n }\n }\n\n nextPathItems.push(node);\n\n if (!isLeafNode) {\n nextItems.push(items);\n }\n\n return {\n cascadeItems: nextItems,\n cascadePathItems: nextPathItems\n };\n };\n\n _proto.renderCascadeNode = function renderCascadeNode(node, index, layer, focus, uncheckable) {\n var _classNames;\n\n var _this$props3 = this.props,\n _this$props3$value = _this$props3.value,\n value = _this$props3$value === void 0 ? [] : _this$props3$value,\n valueKey = _this$props3.valueKey,\n labelKey = _this$props3.labelKey,\n childrenKey = _this$props3.childrenKey,\n disabledItemValues = _this$props3.disabledItemValues,\n renderMenuItem = _this$props3.renderMenuItem,\n onCheck = _this$props3.onCheck,\n cascade = _this$props3.cascade;\n var children = node[childrenKey];\n var itemValue = node[valueKey];\n var label = node[labelKey];\n var disabled = disabledItemValues.some(function (disabledValue) {\n return (0, _shallowEqual.default)(disabledValue, itemValue);\n }); // Use `value` in keys when If `value` is string or number\n\n var onlyKey = (0, _isString2.default)(itemValue) || (0, _isNumber2.default)(itemValue) ? itemValue : index;\n var active = value.some(function (v) {\n return v === itemValue;\n });\n\n if (cascade) {\n active = active || this.utils.isSomeParentChecked(node, value);\n }\n\n value.some(function (item) {\n return (0, _shallowEqual.default)(item, itemValue);\n });\n var classes = (0, _classnames.default)((_classNames = {}, _classNames[this.addPrefix('cascader-menu-has-children')] = children, _classNames));\n return React.createElement(_Picker.DropdownMenuCheckItem, {\n key: layer + \"-\" + onlyKey,\n disabled: disabled,\n active: active,\n focus: focus,\n value: node,\n className: classes,\n componentClass: \"li\",\n indeterminate: cascade && !active && this.utils.isSomeChildChecked(node, value),\n onSelectItem: this.handleSelect.bind(this, layer),\n onCheck: onCheck,\n checkable: !uncheckable,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 160\n },\n __self: this\n }, renderMenuItem ? renderMenuItem(label, node) : label, children ? React.createElement(\"span\", {\n className: this.addPrefix('cascader-menu-caret'),\n __source: {\n fileName: _jsxFileName,\n lineNumber: 174\n },\n __self: this\n }) : null);\n };\n\n _proto.renderCascade = function renderCascade() {\n var _this2 = this;\n\n var _this$props4 = this.props,\n menuWidth = _this$props4.menuWidth,\n menuHeight = _this$props4.menuHeight,\n valueKey = _this$props4.valueKey,\n renderMenu = _this$props4.renderMenu,\n _this$props4$cascadeI = _this$props4.cascadeItems,\n cascadeItems = _this$props4$cascadeI === void 0 ? [] : _this$props4$cascadeI,\n cascadePathItems = _this$props4.cascadePathItems,\n uncheckableItemValues = _this$props4.uncheckableItemValues;\n var styles = {\n width: cascadeItems.length * menuWidth\n };\n var columnStyles = {\n height: menuHeight,\n width: menuWidth\n };\n var cascadeNodes = cascadeItems.map(function (children, layer) {\n var _classNames2;\n\n var uncheckableCount = 0;\n var onlyKey = layer + \"_\" + children.length;\n var menu = React.createElement(\"ul\", {\n __source: {\n fileName: _jsxFileName,\n lineNumber: 201\n },\n __self: this\n }, children.map(function (item, index) {\n var uncheckable = uncheckableItemValues.some(function (uncheckableValue) {\n return (0, _shallowEqual.default)(uncheckableValue, item[valueKey]);\n });\n\n if (uncheckable) {\n uncheckableCount++;\n }\n\n return _this2.renderCascadeNode(item, index, layer, cascadePathItems[layer] && (0, _shallowEqual.default)(cascadePathItems[layer][valueKey], item[valueKey]), uncheckable);\n }));\n var parentNode = cascadePathItems[layer - 1];\n var columnClasses = (0, _classnames.default)(_this2.addPrefix('cascader-menu-column'), (_classNames2 = {}, _classNames2[_this2.addPrefix('cascader-menu-column-uncheckable')] = uncheckableCount === children.length, _classNames2));\n var node = React.createElement(\"div\", {\n key: onlyKey,\n className: columnClasses,\n ref: function ref(_ref) {\n return _this2.menus[layer] = _ref;\n },\n style: columnStyles,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 226\n },\n __self: this\n }, renderMenu ? renderMenu(children, menu, parentNode) : menu);\n return node;\n });\n return React.createElement(\"div\", {\n style: styles,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 237\n },\n __self: this\n }, cascadeNodes);\n };\n\n _proto.render = function render() {\n var _this$props5 = this.props,\n className = _this$props5.className,\n rest = (0, _objectWithoutPropertiesLoose2.default)(_this$props5, [\"className\"]);\n var classes = (0, _classnames.default)(this.addPrefix('cascader-menu-items'), className);\n var unhandled = (0, _utils.getUnhandledProps)(DropdownMenu, rest);\n return React.createElement(\"div\", (0, _extends2.default)({}, unhandled, {\n className: classes,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 246\n },\n __self: this\n }), this.renderCascade());\n };\n\n return DropdownMenu;\n}(React.Component);\n\nDropdownMenu.propTypes = dropdownMenuPropTypes;\nDropdownMenu.defaultProps = {\n data: [],\n disabledItemValues: [],\n uncheckableItemValues: [],\n cascadeItems: [],\n cascadePathItems: [],\n menuWidth: 156,\n menuHeight: 200,\n childrenKey: 'children',\n valueKey: 'value',\n labelKey: 'label'\n};\nvar _default = DropdownMenu;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/MultiCascader/DropdownMenu.tsx?");
|
|
9007
9007
|
|
|
9008
9008
|
/***/ }),
|
|
9009
9009
|
|
|
@@ -9015,7 +9015,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
|
|
|
9015
9015
|
/***/ (function(module, exports, __webpack_require__) {
|
|
9016
9016
|
|
|
9017
9017
|
"use strict";
|
|
9018
|
-
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\n\nvar _extends3 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\n\nvar _inheritsLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inheritsLoose */ \"./node_modules/@babel/runtime/helpers/inheritsLoose.js\"));\n\nvar _isNil2 = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\n\nvar _isFunction2 = _interopRequireDefault(__webpack_require__(/*! lodash/isFunction */ \"./node_modules/lodash/isFunction.js\"));\n\nvar _pick2 = _interopRequireDefault(__webpack_require__(/*! lodash/pick */ \"./node_modules/lodash/pick.js\"));\n\nvar _get2 = _interopRequireDefault(__webpack_require__(/*! lodash/get */ \"./node_modules/lodash/get.js\"));\n\nvar _isUndefined2 = _interopRequireDefault(__webpack_require__(/*! lodash/isUndefined */ \"./node_modules/lodash/isUndefined.js\"));\n\nvar React = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ \"./node_modules/classnames/index.js\"));\n\nvar _shallowEqualArray = _interopRequireDefault(__webpack_require__(/*! ../utils/shallowEqualArray */ \"./src/utils/shallowEqualArray.ts\"));\n\nvar _reactLifecyclesCompat = __webpack_require__(/*! react-lifecycles-compat */ \"./node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js\");\n\nvar _DropdownMenu = _interopRequireWildcard(__webpack_require__(/*! ./DropdownMenu */ \"./src/MultiCascader/DropdownMenu.tsx\"));\n\nvar _Checkbox = _interopRequireDefault(__webpack_require__(/*! ../Checkbox */ \"./src/Checkbox/index.tsx\"));\n\nvar _utils = _interopRequireDefault(__webpack_require__(/*! ./utils */ \"./src/MultiCascader/utils.ts\"));\n\nvar _treeUtils = __webpack_require__(/*! ../utils/treeUtils */ \"./src/utils/treeUtils.ts\");\n\nvar _utils2 = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _getSafeRegExpString = _interopRequireDefault(__webpack_require__(/*! ../utils/getSafeRegExpString */ \"./src/utils/getSafeRegExpString.ts\"));\n\nvar _Picker = __webpack_require__(/*! ../Picker */ \"./src/Picker/index.ts\");\n\nvar _propTypes2 = __webpack_require__(/*! ../Picker/propTypes */ \"./src/Picker/propTypes.ts\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/MultiCascader/MultiCascader.tsx\";\n\nvar MultiCascader =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inheritsLoose2.default)(MultiCascader, _React$Component);\n\n function MultiCascader(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this;\n _this.isControlled = null;\n _this.menuContainerRef = void 0;\n _this.positionRef = void 0;\n _this.triggerRef = void 0;\n\n _this.handleCheck = function (item, event, checked) {\n var _this$props = _this.props,\n valueKey = _this$props.valueKey,\n onChange = _this$props.onChange,\n cascade = _this$props.cascade,\n uncheckableItemValues = _this$props.uncheckableItemValues;\n var itemValue = item[valueKey];\n var value = [];\n\n if (cascade) {\n value = MultiCascader.utils.splitValue(item, checked, _this.getValue(), uncheckableItemValues).value;\n } else {\n value = _this.getValue();\n\n if (checked) {\n value.push(itemValue);\n } else {\n value = value.filter(function (n) {\n return n !== itemValue;\n });\n }\n }\n\n if (!_this.isControlled) {\n _this.setState({\n value: value\n });\n }\n\n onChange === null || onChange === void 0 ? void 0 : onChange(value, event);\n };\n\n _this.handleChangeForSearchItem = function (value, checked, event) {\n _this.handleCheck(value, event, checked);\n };\n\n _this.handleSelect = function (node, cascadeItems, activePaths, event) {\n var _this$props2 = _this.props,\n onSelect = _this$props2.onSelect,\n valueKey = _this$props2.valueKey,\n childrenKey = _this$props2.childrenKey;\n\n _this.setState({\n selectNode: node,\n items: cascadeItems,\n activePaths: activePaths\n }, function () {\n var _this$positionRef$cur, _this$positionRef$cur2;\n\n (_this$positionRef$cur = _this.positionRef.current) === null || _this$positionRef$cur === void 0 ? void 0 : (_this$positionRef$cur2 = _this$positionRef$cur.updatePosition) === null || _this$positionRef$cur2 === void 0 ? void 0 : _this$positionRef$cur2.call(_this$positionRef$cur);\n });\n\n onSelect === null || onSelect === void 0 ? void 0 : onSelect(node, activePaths, (0, _Picker.createConcatChildrenFunction)(node, node[valueKey], {\n valueKey: valueKey,\n childrenKey: childrenKey\n }), event);\n };\n\n _this.handleSearch = function (searchKeyword, event) {\n var _this$props$onSearch, _this$props3;\n\n _this.setState({\n searchKeyword: searchKeyword\n });\n\n (_this$props$onSearch = (_this$props3 = _this.props).onSearch) === null || _this$props$onSearch === void 0 ? void 0 : _this$props$onSearch.call(_this$props3, searchKeyword, event);\n };\n\n _this.handleCloseDropdown = function () {\n var _this$triggerRef$curr, _this$triggerRef$curr2;\n\n (_this$triggerRef$curr = _this.triggerRef.current) === null || _this$triggerRef$curr === void 0 ? void 0 : (_this$triggerRef$curr2 = _this$triggerRef$curr.hide) === null || _this$triggerRef$curr2 === void 0 ? void 0 : _this$triggerRef$curr2.call(_this$triggerRef$curr);\n };\n\n _this.handleOpenDropdown = function () {\n var _this$triggerRef$curr3, _this$triggerRef$curr4;\n\n (_this$triggerRef$curr3 = _this.triggerRef.current) === null || _this$triggerRef$curr3 === void 0 ? void 0 : (_this$triggerRef$curr4 = _this$triggerRef$curr3.show) === null || _this$triggerRef$curr4 === void 0 ? void 0 : _this$triggerRef$curr4.call(_this$triggerRef$curr3);\n };\n\n _this.open = function () {\n var _this$handleOpenDropd, _this2;\n\n (_this$handleOpenDropd = (_this2 = _this).handleOpenDropdown) === null || _this$handleOpenDropd === void 0 ? void 0 : _this$handleOpenDropd.call(_this2);\n };\n\n _this.close = function () {\n var _this$handleCloseDrop, _this3;\n\n (_this$handleCloseDrop = (_this3 = _this).handleCloseDropdown) === null || _this$handleCloseDrop === void 0 ? void 0 : _this$handleCloseDrop.call(_this3);\n };\n\n _this.handleClean = function (event) {\n var _this$props4 = _this.props,\n disabled = _this$props4.disabled,\n onChange = _this$props4.onChange,\n data = _this$props4.data;\n\n if (disabled) {\n return;\n }\n\n var nextState = {\n items: [data],\n selectNode: null,\n activePaths: []\n };\n\n if (!_this.isControlled) {\n nextState.value = [];\n }\n\n _this.setState(nextState);\n\n onChange === null || onChange === void 0 ? void 0 : onChange([], event);\n };\n\n _this.handleEntered = function () {\n var _this$props$onOpen, _this$props5;\n\n (_this$props$onOpen = (_this$props5 = _this.props).onOpen) === null || _this$props$onOpen === void 0 ? void 0 : _this$props$onOpen.call(_this$props5);\n\n _this.setState({\n active: true\n });\n };\n\n _this.handleExit = function () {\n var _this$props$onClose, _this$props6;\n\n (_this$props$onClose = (_this$props6 = _this.props).onClose) === null || _this$props$onClose === void 0 ? void 0 : _this$props$onClose.call(_this$props6);\n\n _this.setState({\n searchKeyword: '',\n active: false\n });\n };\n\n _this.addPrefix = function (name) {\n return (0, _utils2.prefix)(_this.props.classPrefix)(name);\n };\n\n _this.renderSearchRow = function (item, key) {\n var _extends2, _classNames;\n\n var _this$props7 = _this.props,\n labelKey = _this$props7.labelKey,\n valueKey = _this$props7.valueKey,\n cascade = _this$props7.cascade,\n _this$props7$disabled = _this$props7.disabledItemValues,\n disabledItemValues = _this$props7$disabled === void 0 ? [] : _this$props7$disabled;\n var searchKeyword = _this.state.searchKeyword;\n\n var values = _this.getValue();\n\n var nodes = (0, _treeUtils.getNodeParents)(item);\n var regx = new RegExp((0, _getSafeRegExpString.default)(searchKeyword), 'ig');\n var labelElements = [];\n var a = item[labelKey].split(regx);\n var b = item[labelKey].match(regx);\n\n for (var i = 0; i < a.length; i++) {\n labelElements.push(a[i]);\n\n if (b[i]) {\n labelElements.push(React.createElement(\"strong\", {\n key: i,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 337\n },\n __self: this\n }, b[i]));\n }\n }\n\n nodes.push((0, _extends3.default)({}, item, (_extends2 = {}, _extends2[labelKey] = labelElements, _extends2)));\n var active = values.some(function (value) {\n if (cascade) {\n return nodes.some(function (node) {\n return node[valueKey] === value;\n });\n }\n\n return item[valueKey] === value;\n });\n var disabled = disabledItemValues.some(function (value) {\n return nodes.some(function (node) {\n return node[valueKey] === value;\n });\n });\n var itemClasses = (0, _classnames.default)(_this.addPrefix('cascader-row'), (_classNames = {}, _classNames[_this.addPrefix('cascader-row-disabled')] = disabled, _classNames));\n return React.createElement(\"div\", {\n key: key,\n className: itemClasses,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 358\n },\n __self: this\n }, React.createElement(_Checkbox.default, {\n disabled: disabled,\n checked: active,\n value: item,\n indeterminate: cascade && !active && MultiCascader.utils.isSomeChildChecked(item, values),\n onChange: _this.handleChangeForSearchItem,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 359\n },\n __self: this\n }, React.createElement(\"span\", {\n className: _this.addPrefix('cascader-cols'),\n __source: {\n fileName: _jsxFileName,\n lineNumber: 366\n },\n __self: this\n }, nodes.map(function (node, index) {\n return React.createElement(\"span\", {\n key: \"col-\" + index,\n className: _this.addPrefix('cascader-col'),\n __source: {\n fileName: _jsxFileName,\n lineNumber: 368\n },\n __self: this\n }, node[labelKey]);\n }))));\n };\n\n var _data = props.data,\n _value = props.value,\n defaultValue = props.defaultValue;\n var initState = {\n data: _data,\n searchKeyword: '',\n prevValue: _value,\n value: defaultValue || [],\n selectNode: null,\n\n /**\n * 选中值的路径\n */\n activePaths: []\n };\n MultiCascader.utils = (0, _utils.default)(props);\n var flattenData = (0, _treeUtils.flattenTree)(_data, props.childrenKey);\n _this.isControlled = !(0, _isUndefined2.default)(_value);\n _this.state = (0, _extends3.default)({}, initState, {\n flattenData: flattenData,\n\n /**\n * 用于展示面板的数据列表,是一个二维的数组\n * 是通过 data 树结构转换成的二维的数组,其中只包含页面上展示的数据\n */\n items: [flattenData.filter(function (item) {\n return !item.parent;\n })]\n }, MultiCascader.getCascadeState(props, flattenData)); // for test\n\n _this.menuContainerRef = React.createRef();\n _this.positionRef = React.createRef();\n _this.triggerRef = React.createRef();\n return _this;\n }\n\n MultiCascader.getCascadeState = function getCascadeState(nextProps, flattenData, nextValue) {\n var data = nextProps.data,\n cascade = nextProps.cascade,\n value = nextProps.value,\n defaultValue = nextProps.defaultValue,\n uncheckableItemValues = nextProps.uncheckableItemValues;\n var cascadeValue = nextValue || value || defaultValue || [];\n\n if (cascade && data) {\n cascadeValue = MultiCascader.utils.transformValue(cascadeValue, flattenData, uncheckableItemValues);\n }\n\n return {\n value: cascadeValue\n };\n };\n\n MultiCascader.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, prevState) {\n var data = nextProps.data,\n valueKey = nextProps.valueKey,\n childrenKey = nextProps.childrenKey;\n var value = nextProps.value || prevState.value || [];\n var prevValue = prevState.prevValue,\n _prevState$selectNode = prevState.selectNode,\n selectNode = _prevState$selectNode === void 0 ? {} : _prevState$selectNode,\n items = prevState.items;\n var flattenData = prevState.flattenData;\n var isChangedData = data !== prevState.data;\n var isChangedValue = !(0, _shallowEqualArray.default)(prevValue, nextProps.value);\n\n if (isChangedData || isChangedValue) {\n if (isChangedData) {\n flattenData = (0, _treeUtils.flattenTree)(data, nextProps.childrenKey);\n }\n /**\n * 如果更新了 data,\n * 首先获取到被点击节点的值 `selectNode`, 然后再拿到新增后的 `newChildren`,\n */\n\n\n var nextSelectNode = flattenData.find(function (n) {\n return selectNode && n[valueKey] === selectNode[valueKey];\n });\n var newChildren = ((0, _get2.default)(nextSelectNode, childrenKey) || []).map(function (item) {\n item.parent = nextSelectNode;\n return item;\n });\n\n if (newChildren.length && items) {\n items[items.length - 1] = newChildren;\n }\n\n var nextState = (0, _extends3.default)({\n selectNode: nextSelectNode,\n flattenData: flattenData,\n data: data,\n items: MultiCascader.utils.getItems(nextSelectNode, flattenData)\n }, MultiCascader.getCascadeState(nextProps, flattenData, value));\n\n if (isChangedValue) {\n nextState.prevValue = nextProps.value;\n }\n\n return nextState;\n }\n\n return null;\n };\n\n var _proto = MultiCascader.prototype;\n\n _proto.getValue = function getValue() {\n return this.state.value || [];\n };\n\n _proto.getSearchResult = function getSearchResult() {\n var _this$props8 = this.props,\n labelKey = _this$props8.labelKey,\n valueKey = _this$props8.valueKey,\n _this$props8$unchecka = _this$props8.uncheckableItemValues,\n uncheckableItemValues = _this$props8$unchecka === void 0 ? [] : _this$props8$unchecka;\n var _this$state = this.state,\n searchKeyword = _this$state.searchKeyword,\n flattenData = _this$state.flattenData;\n var items = [];\n var result = flattenData.filter(function (item) {\n if (uncheckableItemValues.some(function (value) {\n return item[valueKey] === value;\n })) {\n return false;\n }\n\n if (item[labelKey].match(new RegExp((0, _getSafeRegExpString.default)(searchKeyword), 'i'))) {\n return true;\n }\n\n return false;\n });\n\n for (var i = 0; i < result.length; i++) {\n items.push(result[i]);\n\n if (i === 99) {\n return items;\n }\n }\n\n return items;\n };\n\n _proto.renderSearchResultPanel = function renderSearchResultPanel() {\n var locale = this.props.locale;\n var searchKeyword = this.state.searchKeyword;\n\n if (searchKeyword === '') {\n return null;\n }\n\n var items = this.getSearchResult();\n return React.createElement(\"div\", {\n className: this.addPrefix('cascader-search-panel'),\n __source: {\n fileName: _jsxFileName,\n lineNumber: 388\n },\n __self: this\n }, items.length ? items.map(this.renderSearchRow) : React.createElement(\"div\", {\n className: this.addPrefix('none'),\n __source: {\n fileName: _jsxFileName,\n lineNumber: 392\n },\n __self: this\n }, locale.noResultsText));\n };\n\n _proto.renderDropdownMenu = function renderDropdownMenu() {\n var _classNames2;\n\n var _this$state2 = this.state,\n items = _this$state2.items,\n activePaths = _this$state2.activePaths,\n searchKeyword = _this$state2.searchKeyword;\n var _this$props9 = this.props,\n renderMenu = _this$props9.renderMenu,\n renderExtraFooter = _this$props9.renderExtraFooter,\n menuClassName = _this$props9.menuClassName,\n menuStyle = _this$props9.menuStyle,\n classPrefix = _this$props9.classPrefix,\n searchable = _this$props9.searchable,\n locale = _this$props9.locale,\n inline = _this$props9.inline;\n var classes = (0, _classnames.default)(this.addPrefix('cascader-menu'), this.addPrefix('multi-cascader-menu'), menuClassName, (_classNames2 = {}, _classNames2[this.addPrefix('inline')] = inline, _classNames2));\n var menuProps = (0, _pick2.default)(this.props, Object.keys(_DropdownMenu.dropdownMenuPropTypes));\n return React.createElement(_Picker.MenuWrapper, {\n className: classes,\n style: menuStyle,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 423\n },\n __self: this\n }, searchable && React.createElement(_Picker.SearchBar, {\n placeholder: locale.searchPlaceholder,\n onChange: this.handleSearch,\n value: searchKeyword,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 425\n },\n __self: this\n }), this.renderSearchResultPanel(), searchKeyword === '' && React.createElement(_DropdownMenu.default, (0, _extends3.default)({}, menuProps, {\n classPrefix: classPrefix,\n ref: this.menuContainerRef,\n cascadeItems: items,\n cascadePathItems: activePaths,\n value: this.getValue(),\n onSelect: this.handleSelect,\n onCheck: this.handleCheck,\n renderMenu: renderMenu,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 435\n },\n __self: this\n })), renderExtraFooter === null || renderExtraFooter === void 0 ? void 0 : renderExtraFooter());\n };\n\n _proto.render = function render() {\n var _this$props$value;\n\n var _this$props10 = this.props,\n valueKey = _this$props10.valueKey,\n labelKey = _this$props10.labelKey,\n childrenKey = _this$props10.childrenKey,\n placeholder = _this$props10.placeholder,\n renderValue = _this$props10.renderValue,\n disabled = _this$props10.disabled,\n cleanable = _this$props10.cleanable,\n locale = _this$props10.locale,\n toggleComponentClass = _this$props10.toggleComponentClass,\n style = _this$props10.style,\n onEnter = _this$props10.onEnter,\n onExited = _this$props10.onExited,\n onClean = _this$props10.onClean,\n countable = _this$props10.countable,\n cascade = _this$props10.cascade,\n inline = _this$props10.inline,\n positionRef = _this$props10.positionRef,\n rest = (0, _objectWithoutPropertiesLoose2.default)(_this$props10, [\"valueKey\", \"labelKey\", \"childrenKey\", \"placeholder\", \"renderValue\", \"disabled\", \"cleanable\", \"locale\", \"toggleComponentClass\", \"style\", \"onEnter\", \"onExited\", \"onClean\", \"countable\", \"cascade\", \"inline\", \"positionRef\"]);\n\n if (inline) {\n return this.renderDropdownMenu();\n }\n\n var flattenData = this.state.flattenData;\n var unhandled = (0, _utils2.getUnhandledProps)(MultiCascader, rest);\n var value = this.getValue();\n var selectedItems = flattenData.filter(function (item) {\n return value.some(function (v) {\n return v === item[valueKey];\n });\n }) || [];\n /**\n * 1.Have a value and the value is valid.\n * 2.Regardless of whether the value is valid, as long as renderValue is set, it is judged to have a value.\n */\n\n var hasValue = selectedItems.length > 0 || ((_this$props$value = this.props.value) === null || _this$props$value === void 0 ? void 0 : _this$props$value.length) > 0 && (0, _isFunction2.default)(renderValue);\n var selectedElement = placeholder;\n\n if (selectedItems.length > 0) {\n selectedElement = React.createElement(_Picker.SelectedElement, {\n selectedItems: selectedItems,\n countable: countable,\n valueKey: valueKey,\n labelKey: labelKey,\n childrenKey: childrenKey,\n prefix: this.addPrefix,\n cascade: cascade,\n locale: locale,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 496\n },\n __self: this\n });\n }\n\n if (hasValue && (0, _isFunction2.default)(renderValue)) {\n selectedElement = renderValue((value === null || value === void 0 ? void 0 : value.length) > 0 ? value : this.props.value, selectedItems, selectedElement);\n\n if ((0, _isNil2.default)(selectedElement)) {\n hasValue = false;\n }\n }\n\n var classes = (0, _Picker.getToggleWrapperClassName)('cascader', this.addPrefix, this.props, hasValue);\n return React.createElement(\"div\", {\n className: classes,\n style: style,\n tabIndex: -1,\n role: \"menu\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 523\n },\n __self: this\n }, React.createElement(_Picker.PickerToggleTrigger, {\n pickerProps: this.props,\n ref: this.triggerRef,\n positionRef: (0, _utils2.mergeRefs)(this.positionRef, positionRef),\n onEnter: (0, _utils2.createChainedFunction)(this.handleEntered, onEnter),\n onExited: (0, _utils2.createChainedFunction)(this.handleExit, onExited),\n speaker: this.renderDropdownMenu(),\n __source: {\n fileName: _jsxFileName,\n lineNumber: 524\n },\n __self: this\n }, React.createElement(_Picker.PickerToggle, (0, _extends3.default)({}, unhandled, {\n componentClass: toggleComponentClass,\n onClean: (0, _utils2.createChainedFunction)(this.handleClean, onClean),\n cleanable: cleanable && !disabled,\n hasValue: hasValue,\n active: this.state.active,\n \"aria-disabled\": disabled,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 532\n },\n __self: this\n }), selectedElement || locale.placeholder)));\n };\n\n return MultiCascader;\n}(React.Component);\n\nMultiCascader.propTypes = (0, _extends3.default)({}, _propTypes2.listPickerPropTypes, {\n cascade: _propTypes.default.bool,\n inline: _propTypes.default.bool,\n countable: _propTypes.default.bool,\n menuWidth: _propTypes.default.number,\n menuHeight: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),\n uncheckableItemValues: _propTypes.default.array,\n searchable: _propTypes.default.bool,\n renderMenuItem: _propTypes.default.func,\n renderMenu: _propTypes.default.func,\n onSearch: _propTypes.default.func,\n onSelect: _propTypes.default.func\n});\nMultiCascader.defaultProps = (0, _extends3.default)({}, _propTypes2.listPickerDefaultProps, {\n searchable: true,\n countable: true,\n cascade: true,\n uncheckableItemValues: [],\n locale: {\n placeholder: 'Select',\n checkAll: 'All',\n searchPlaceholder: 'Search',\n noResultsText: 'No results found'\n }\n});\nMultiCascader.utils = {};\n(0, _reactLifecyclesCompat.polyfill)(MultiCascader);\n\nvar _default = (0, _utils2.defaultProps)({\n classPrefix: 'picker'\n})(MultiCascader);\n\nexports.default = _default;\nmodule.exports = exports.default;\n\n//# sourceURL=webpack://rsuite/./src/MultiCascader/MultiCascader.tsx?");
|
|
9018
|
+
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\n\nvar _extends3 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\n\nvar _inheritsLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inheritsLoose */ \"./node_modules/@babel/runtime/helpers/inheritsLoose.js\"));\n\nvar _isNil2 = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\n\nvar _isFunction2 = _interopRequireDefault(__webpack_require__(/*! lodash/isFunction */ \"./node_modules/lodash/isFunction.js\"));\n\nvar _pick2 = _interopRequireDefault(__webpack_require__(/*! lodash/pick */ \"./node_modules/lodash/pick.js\"));\n\nvar _get2 = _interopRequireDefault(__webpack_require__(/*! lodash/get */ \"./node_modules/lodash/get.js\"));\n\nvar _isUndefined2 = _interopRequireDefault(__webpack_require__(/*! lodash/isUndefined */ \"./node_modules/lodash/isUndefined.js\"));\n\nvar React = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ \"./node_modules/classnames/index.js\"));\n\nvar _shallowEqualArray = _interopRequireDefault(__webpack_require__(/*! ../utils/shallowEqualArray */ \"./src/utils/shallowEqualArray.ts\"));\n\nvar _reactLifecyclesCompat = __webpack_require__(/*! react-lifecycles-compat */ \"./node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js\");\n\nvar _DropdownMenu = _interopRequireWildcard(__webpack_require__(/*! ./DropdownMenu */ \"./src/MultiCascader/DropdownMenu.tsx\"));\n\nvar _Checkbox = _interopRequireDefault(__webpack_require__(/*! ../Checkbox */ \"./src/Checkbox/index.tsx\"));\n\nvar _utils = _interopRequireDefault(__webpack_require__(/*! ./utils */ \"./src/MultiCascader/utils.ts\"));\n\nvar _treeUtils = __webpack_require__(/*! ../utils/treeUtils */ \"./src/utils/treeUtils.ts\");\n\nvar _utils2 = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _getSafeRegExpString = _interopRequireDefault(__webpack_require__(/*! ../utils/getSafeRegExpString */ \"./src/utils/getSafeRegExpString.ts\"));\n\nvar _Picker = __webpack_require__(/*! ../Picker */ \"./src/Picker/index.ts\");\n\nvar _propTypes2 = __webpack_require__(/*! ../Picker/propTypes */ \"./src/Picker/propTypes.ts\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/MultiCascader/MultiCascader.tsx\";\n\nvar MultiCascader =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inheritsLoose2.default)(MultiCascader, _React$Component);\n\n function MultiCascader(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this;\n _this.isControlled = null;\n _this.menuContainerRef = void 0;\n _this.positionRef = void 0;\n _this.triggerRef = void 0;\n\n _this.handleCheck = function (item, event, checked) {\n var _this$props = _this.props,\n valueKey = _this$props.valueKey,\n cascade = _this$props.cascade,\n uncheckableItemValues = _this$props.uncheckableItemValues,\n onChange = _this$props.onChange,\n onCheck = _this$props.onCheck;\n var itemValue = item[valueKey];\n var value = [];\n\n if (cascade) {\n value = MultiCascader.utils.splitValue(item, checked, _this.getValue(), uncheckableItemValues).value;\n } else {\n value = _this.getValue();\n\n if (checked) {\n value.push(itemValue);\n } else {\n value = value.filter(function (n) {\n return n !== itemValue;\n });\n }\n }\n\n if (!_this.isControlled) {\n _this.setState({\n value: value\n });\n }\n\n onChange === null || onChange === void 0 ? void 0 : onChange(value, event);\n onCheck === null || onCheck === void 0 ? void 0 : onCheck(value, item, checked, event);\n };\n\n _this.handleChangeForSearchItem = function (value, checked, event) {\n _this.handleCheck(value, event, checked);\n };\n\n _this.handleSelect = function (node, cascadeItems, activePaths, event) {\n var _this$props2 = _this.props,\n onSelect = _this$props2.onSelect,\n valueKey = _this$props2.valueKey,\n childrenKey = _this$props2.childrenKey;\n\n _this.setState({\n selectNode: node,\n items: cascadeItems,\n activePaths: activePaths\n }, function () {\n var _this$positionRef$cur, _this$positionRef$cur2;\n\n (_this$positionRef$cur = _this.positionRef.current) === null || _this$positionRef$cur === void 0 ? void 0 : (_this$positionRef$cur2 = _this$positionRef$cur.updatePosition) === null || _this$positionRef$cur2 === void 0 ? void 0 : _this$positionRef$cur2.call(_this$positionRef$cur);\n });\n\n onSelect === null || onSelect === void 0 ? void 0 : onSelect(node, activePaths, (0, _Picker.createConcatChildrenFunction)(node, node[valueKey], {\n valueKey: valueKey,\n childrenKey: childrenKey\n }), event);\n };\n\n _this.handleSearch = function (searchKeyword, event) {\n var _this$props$onSearch, _this$props3;\n\n _this.setState({\n searchKeyword: searchKeyword\n });\n\n (_this$props$onSearch = (_this$props3 = _this.props).onSearch) === null || _this$props$onSearch === void 0 ? void 0 : _this$props$onSearch.call(_this$props3, searchKeyword, event);\n };\n\n _this.handleCloseDropdown = function () {\n var _this$triggerRef$curr, _this$triggerRef$curr2;\n\n (_this$triggerRef$curr = _this.triggerRef.current) === null || _this$triggerRef$curr === void 0 ? void 0 : (_this$triggerRef$curr2 = _this$triggerRef$curr.hide) === null || _this$triggerRef$curr2 === void 0 ? void 0 : _this$triggerRef$curr2.call(_this$triggerRef$curr);\n };\n\n _this.handleOpenDropdown = function () {\n var _this$triggerRef$curr3, _this$triggerRef$curr4;\n\n (_this$triggerRef$curr3 = _this.triggerRef.current) === null || _this$triggerRef$curr3 === void 0 ? void 0 : (_this$triggerRef$curr4 = _this$triggerRef$curr3.show) === null || _this$triggerRef$curr4 === void 0 ? void 0 : _this$triggerRef$curr4.call(_this$triggerRef$curr3);\n };\n\n _this.open = function () {\n var _this$handleOpenDropd, _this2;\n\n (_this$handleOpenDropd = (_this2 = _this).handleOpenDropdown) === null || _this$handleOpenDropd === void 0 ? void 0 : _this$handleOpenDropd.call(_this2);\n };\n\n _this.close = function () {\n var _this$handleCloseDrop, _this3;\n\n (_this$handleCloseDrop = (_this3 = _this).handleCloseDropdown) === null || _this$handleCloseDrop === void 0 ? void 0 : _this$handleCloseDrop.call(_this3);\n };\n\n _this.handleClean = function (event) {\n var _this$props4 = _this.props,\n disabled = _this$props4.disabled,\n onChange = _this$props4.onChange,\n data = _this$props4.data;\n\n if (disabled) {\n return;\n }\n\n var nextState = {\n items: [data],\n selectNode: null,\n activePaths: []\n };\n\n if (!_this.isControlled) {\n nextState.value = [];\n }\n\n _this.setState(nextState);\n\n onChange === null || onChange === void 0 ? void 0 : onChange([], event);\n };\n\n _this.handleEntered = function () {\n var _this$props$onOpen, _this$props5;\n\n (_this$props$onOpen = (_this$props5 = _this.props).onOpen) === null || _this$props$onOpen === void 0 ? void 0 : _this$props$onOpen.call(_this$props5);\n\n _this.setState({\n active: true\n });\n };\n\n _this.handleExit = function () {\n var _this$props$onClose, _this$props6;\n\n (_this$props$onClose = (_this$props6 = _this.props).onClose) === null || _this$props$onClose === void 0 ? void 0 : _this$props$onClose.call(_this$props6);\n\n _this.setState({\n searchKeyword: '',\n active: false\n });\n };\n\n _this.addPrefix = function (name) {\n return (0, _utils2.prefix)(_this.props.classPrefix)(name);\n };\n\n _this.renderSearchRow = function (item, key) {\n var _extends2, _classNames;\n\n var _this$props7 = _this.props,\n labelKey = _this$props7.labelKey,\n valueKey = _this$props7.valueKey,\n cascade = _this$props7.cascade,\n _this$props7$disabled = _this$props7.disabledItemValues,\n disabledItemValues = _this$props7$disabled === void 0 ? [] : _this$props7$disabled;\n var searchKeyword = _this.state.searchKeyword;\n\n var values = _this.getValue();\n\n var nodes = (0, _treeUtils.getNodeParents)(item);\n var regx = new RegExp((0, _getSafeRegExpString.default)(searchKeyword), 'ig');\n var labelElements = [];\n var a = item[labelKey].split(regx);\n var b = item[labelKey].match(regx);\n\n for (var i = 0; i < a.length; i++) {\n labelElements.push(a[i]);\n\n if (b[i]) {\n labelElements.push(React.createElement(\"strong\", {\n key: i,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 339\n },\n __self: this\n }, b[i]));\n }\n }\n\n nodes.push((0, _extends3.default)({}, item, (_extends2 = {}, _extends2[labelKey] = labelElements, _extends2)));\n var active = values.some(function (value) {\n if (cascade) {\n return nodes.some(function (node) {\n return node[valueKey] === value;\n });\n }\n\n return item[valueKey] === value;\n });\n var disabled = disabledItemValues.some(function (value) {\n return nodes.some(function (node) {\n return node[valueKey] === value;\n });\n });\n var itemClasses = (0, _classnames.default)(_this.addPrefix('cascader-row'), (_classNames = {}, _classNames[_this.addPrefix('cascader-row-disabled')] = disabled, _classNames));\n return React.createElement(\"div\", {\n key: key,\n className: itemClasses,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 360\n },\n __self: this\n }, React.createElement(_Checkbox.default, {\n disabled: disabled,\n checked: active,\n value: item,\n indeterminate: cascade && !active && MultiCascader.utils.isSomeChildChecked(item, values),\n onChange: _this.handleChangeForSearchItem,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 361\n },\n __self: this\n }, React.createElement(\"span\", {\n className: _this.addPrefix('cascader-cols'),\n __source: {\n fileName: _jsxFileName,\n lineNumber: 368\n },\n __self: this\n }, nodes.map(function (node, index) {\n return React.createElement(\"span\", {\n key: \"col-\" + index,\n className: _this.addPrefix('cascader-col'),\n __source: {\n fileName: _jsxFileName,\n lineNumber: 370\n },\n __self: this\n }, node[labelKey]);\n }))));\n };\n\n var _data = props.data,\n _value = props.value,\n defaultValue = props.defaultValue;\n var initState = {\n data: _data,\n searchKeyword: '',\n prevValue: _value,\n value: defaultValue || [],\n selectNode: null,\n\n /**\n * 选中值的路径\n */\n activePaths: []\n };\n MultiCascader.utils = (0, _utils.default)(props);\n var flattenData = (0, _treeUtils.flattenTree)(_data, props.childrenKey);\n _this.isControlled = !(0, _isUndefined2.default)(_value);\n _this.state = (0, _extends3.default)({}, initState, {\n flattenData: flattenData,\n\n /**\n * 用于展示面板的数据列表,是一个二维的数组\n * 是通过 data 树结构转换成的二维的数组,其中只包含页面上展示的数据\n */\n items: [flattenData.filter(function (item) {\n return !item.parent;\n })]\n }, MultiCascader.getCascadeState(props, flattenData)); // for test\n\n _this.menuContainerRef = React.createRef();\n _this.positionRef = React.createRef();\n _this.triggerRef = React.createRef();\n return _this;\n }\n\n MultiCascader.getCascadeState = function getCascadeState(nextProps, flattenData, nextValue) {\n var data = nextProps.data,\n cascade = nextProps.cascade,\n value = nextProps.value,\n defaultValue = nextProps.defaultValue,\n uncheckableItemValues = nextProps.uncheckableItemValues;\n var cascadeValue = nextValue || value || defaultValue || [];\n\n if (cascade && data) {\n cascadeValue = MultiCascader.utils.transformValue(cascadeValue, flattenData, uncheckableItemValues);\n }\n\n return {\n value: cascadeValue\n };\n };\n\n MultiCascader.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, prevState) {\n var data = nextProps.data,\n valueKey = nextProps.valueKey,\n childrenKey = nextProps.childrenKey;\n var value = nextProps.value || prevState.value || [];\n var prevValue = prevState.prevValue,\n _prevState$selectNode = prevState.selectNode,\n selectNode = _prevState$selectNode === void 0 ? {} : _prevState$selectNode,\n items = prevState.items;\n var flattenData = prevState.flattenData;\n var isChangedData = data !== prevState.data;\n var isChangedValue = !(0, _shallowEqualArray.default)(prevValue, nextProps.value);\n\n if (isChangedData || isChangedValue) {\n if (isChangedData) {\n flattenData = (0, _treeUtils.flattenTree)(data, nextProps.childrenKey);\n }\n /**\n * 如果更新了 data,\n * 首先获取到被点击节点的值 `selectNode`, 然后再拿到新增后的 `newChildren`,\n */\n\n\n var nextSelectNode = flattenData.find(function (n) {\n return selectNode && n[valueKey] === selectNode[valueKey];\n });\n var newChildren = ((0, _get2.default)(nextSelectNode, childrenKey) || []).map(function (item) {\n item.parent = nextSelectNode;\n return item;\n });\n\n if (newChildren.length && items) {\n items[items.length - 1] = newChildren;\n }\n\n var nextState = (0, _extends3.default)({\n selectNode: nextSelectNode,\n flattenData: flattenData,\n data: data,\n items: MultiCascader.utils.getItems(nextSelectNode, flattenData)\n }, MultiCascader.getCascadeState(nextProps, flattenData, value));\n\n if (isChangedValue) {\n nextState.prevValue = nextProps.value;\n }\n\n return nextState;\n }\n\n return null;\n };\n\n var _proto = MultiCascader.prototype;\n\n _proto.getValue = function getValue() {\n return this.state.value || [];\n };\n\n _proto.getSearchResult = function getSearchResult() {\n var _this$props8 = this.props,\n labelKey = _this$props8.labelKey,\n valueKey = _this$props8.valueKey,\n _this$props8$unchecka = _this$props8.uncheckableItemValues,\n uncheckableItemValues = _this$props8$unchecka === void 0 ? [] : _this$props8$unchecka;\n var _this$state = this.state,\n searchKeyword = _this$state.searchKeyword,\n flattenData = _this$state.flattenData;\n var items = [];\n var result = flattenData.filter(function (item) {\n if (uncheckableItemValues.some(function (value) {\n return item[valueKey] === value;\n })) {\n return false;\n }\n\n if (item[labelKey].match(new RegExp((0, _getSafeRegExpString.default)(searchKeyword), 'i'))) {\n return true;\n }\n\n return false;\n });\n\n for (var i = 0; i < result.length; i++) {\n items.push(result[i]);\n\n if (i === 99) {\n return items;\n }\n }\n\n return items;\n };\n\n _proto.renderSearchResultPanel = function renderSearchResultPanel() {\n var locale = this.props.locale;\n var searchKeyword = this.state.searchKeyword;\n\n if (searchKeyword === '') {\n return null;\n }\n\n var items = this.getSearchResult();\n return React.createElement(\"div\", {\n className: this.addPrefix('cascader-search-panel'),\n __source: {\n fileName: _jsxFileName,\n lineNumber: 390\n },\n __self: this\n }, items.length ? items.map(this.renderSearchRow) : React.createElement(\"div\", {\n className: this.addPrefix('none'),\n __source: {\n fileName: _jsxFileName,\n lineNumber: 394\n },\n __self: this\n }, locale.noResultsText));\n };\n\n _proto.renderDropdownMenu = function renderDropdownMenu() {\n var _classNames2;\n\n var _this$state2 = this.state,\n items = _this$state2.items,\n activePaths = _this$state2.activePaths,\n searchKeyword = _this$state2.searchKeyword;\n var _this$props9 = this.props,\n renderMenu = _this$props9.renderMenu,\n renderExtraFooter = _this$props9.renderExtraFooter,\n menuClassName = _this$props9.menuClassName,\n menuStyle = _this$props9.menuStyle,\n classPrefix = _this$props9.classPrefix,\n searchable = _this$props9.searchable,\n locale = _this$props9.locale,\n inline = _this$props9.inline;\n var classes = (0, _classnames.default)(this.addPrefix('cascader-menu'), this.addPrefix('multi-cascader-menu'), menuClassName, (_classNames2 = {}, _classNames2[this.addPrefix('inline')] = inline, _classNames2));\n var menuProps = (0, _pick2.default)(this.props, Object.keys(_DropdownMenu.dropdownMenuPropTypes));\n return React.createElement(_Picker.MenuWrapper, {\n className: classes,\n style: menuStyle,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 425\n },\n __self: this\n }, searchable && React.createElement(_Picker.SearchBar, {\n placeholder: locale.searchPlaceholder,\n onChange: this.handleSearch,\n value: searchKeyword,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 427\n },\n __self: this\n }), this.renderSearchResultPanel(), searchKeyword === '' && React.createElement(_DropdownMenu.default, (0, _extends3.default)({}, menuProps, {\n classPrefix: classPrefix,\n ref: this.menuContainerRef,\n cascadeItems: items,\n cascadePathItems: activePaths,\n value: this.getValue(),\n onSelect: this.handleSelect,\n onCheck: this.handleCheck,\n renderMenu: renderMenu,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 437\n },\n __self: this\n })), renderExtraFooter === null || renderExtraFooter === void 0 ? void 0 : renderExtraFooter());\n };\n\n _proto.render = function render() {\n var _this$props$value;\n\n var _this$props10 = this.props,\n valueKey = _this$props10.valueKey,\n labelKey = _this$props10.labelKey,\n childrenKey = _this$props10.childrenKey,\n placeholder = _this$props10.placeholder,\n renderValue = _this$props10.renderValue,\n disabled = _this$props10.disabled,\n cleanable = _this$props10.cleanable,\n locale = _this$props10.locale,\n toggleComponentClass = _this$props10.toggleComponentClass,\n style = _this$props10.style,\n onEnter = _this$props10.onEnter,\n onExited = _this$props10.onExited,\n onClean = _this$props10.onClean,\n countable = _this$props10.countable,\n cascade = _this$props10.cascade,\n inline = _this$props10.inline,\n positionRef = _this$props10.positionRef,\n rest = (0, _objectWithoutPropertiesLoose2.default)(_this$props10, [\"valueKey\", \"labelKey\", \"childrenKey\", \"placeholder\", \"renderValue\", \"disabled\", \"cleanable\", \"locale\", \"toggleComponentClass\", \"style\", \"onEnter\", \"onExited\", \"onClean\", \"countable\", \"cascade\", \"inline\", \"positionRef\"]);\n\n if (inline) {\n return this.renderDropdownMenu();\n }\n\n var flattenData = this.state.flattenData;\n var unhandled = (0, _utils2.getUnhandledProps)(MultiCascader, rest);\n var value = this.getValue();\n var selectedItems = flattenData.filter(function (item) {\n return value.some(function (v) {\n return v === item[valueKey];\n });\n }) || [];\n /**\n * 1.Have a value and the value is valid.\n * 2.Regardless of whether the value is valid, as long as renderValue is set, it is judged to have a value.\n */\n\n var hasValue = selectedItems.length > 0 || ((_this$props$value = this.props.value) === null || _this$props$value === void 0 ? void 0 : _this$props$value.length) > 0 && (0, _isFunction2.default)(renderValue);\n var selectedElement = placeholder;\n\n if (selectedItems.length > 0) {\n selectedElement = React.createElement(_Picker.SelectedElement, {\n selectedItems: selectedItems,\n countable: countable,\n valueKey: valueKey,\n labelKey: labelKey,\n childrenKey: childrenKey,\n prefix: this.addPrefix,\n cascade: cascade,\n locale: locale,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 498\n },\n __self: this\n });\n }\n\n if (hasValue && (0, _isFunction2.default)(renderValue)) {\n selectedElement = renderValue((value === null || value === void 0 ? void 0 : value.length) > 0 ? value : this.props.value, selectedItems, selectedElement);\n\n if ((0, _isNil2.default)(selectedElement)) {\n hasValue = false;\n }\n }\n\n var classes = (0, _Picker.getToggleWrapperClassName)('cascader', this.addPrefix, this.props, hasValue);\n return React.createElement(\"div\", {\n className: classes,\n style: style,\n tabIndex: -1,\n role: \"menu\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 525\n },\n __self: this\n }, React.createElement(_Picker.PickerToggleTrigger, {\n pickerProps: this.props,\n ref: this.triggerRef,\n positionRef: (0, _utils2.mergeRefs)(this.positionRef, positionRef),\n onEnter: (0, _utils2.createChainedFunction)(this.handleEntered, onEnter),\n onExited: (0, _utils2.createChainedFunction)(this.handleExit, onExited),\n speaker: this.renderDropdownMenu(),\n __source: {\n fileName: _jsxFileName,\n lineNumber: 526\n },\n __self: this\n }, React.createElement(_Picker.PickerToggle, (0, _extends3.default)({}, unhandled, {\n componentClass: toggleComponentClass,\n onClean: (0, _utils2.createChainedFunction)(this.handleClean, onClean),\n cleanable: cleanable && !disabled,\n hasValue: hasValue,\n active: this.state.active,\n \"aria-disabled\": disabled,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 534\n },\n __self: this\n }), selectedElement || locale.placeholder)));\n };\n\n return MultiCascader;\n}(React.Component);\n\nMultiCascader.propTypes = (0, _extends3.default)({}, _propTypes2.listPickerPropTypes, {\n cascade: _propTypes.default.bool,\n inline: _propTypes.default.bool,\n countable: _propTypes.default.bool,\n menuWidth: _propTypes.default.number,\n menuHeight: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),\n uncheckableItemValues: _propTypes.default.array,\n searchable: _propTypes.default.bool,\n renderMenuItem: _propTypes.default.func,\n renderMenu: _propTypes.default.func,\n onSearch: _propTypes.default.func,\n onSelect: _propTypes.default.func,\n onCheck: _propTypes.default.func\n});\nMultiCascader.defaultProps = (0, _extends3.default)({}, _propTypes2.listPickerDefaultProps, {\n searchable: true,\n countable: true,\n cascade: true,\n uncheckableItemValues: [],\n locale: {\n placeholder: 'Select',\n checkAll: 'All',\n searchPlaceholder: 'Search',\n noResultsText: 'No results found'\n }\n});\nMultiCascader.utils = {};\n(0, _reactLifecyclesCompat.polyfill)(MultiCascader);\n\nvar _default = (0, _utils2.defaultProps)({\n classPrefix: 'picker'\n})(MultiCascader);\n\nexports.default = _default;\nmodule.exports = exports.default;\n\n//# sourceURL=webpack://rsuite/./src/MultiCascader/MultiCascader.tsx?");
|
|
9019
9019
|
|
|
9020
9020
|
/***/ }),
|
|
9021
9021
|
|