UNPKG

adui

Version:

<div> <img src="https://wxa.wxs.qq.com/mpweb/delivery/legacy/wxadtouch/upload/t1/od834zef_52939fc6.png" style="margin:40px 0 0 -8px; background-color: #fcfcfc; box-shadow: none;" /> </div>

946 lines (788 loc) 110 kB
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } var _excluded = ["children", "value", "popover", "popoverProps", "title"], _excluded2 = ["autoClearSearchValue", "bottomContent", "children", "className", "filterTreeNode", "getPopupContainer", "intent", "maxTagCount", "multiple", "onDropdownVisibleChange", "placeholder", "rightIcon", "resultRender", "resultVisible", "sameValueEnabled", "selectAll", "showCheckedStrategy", "topContent", "treeData"]; function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } import * as React from "react"; import RcTreeSelect, { SHOW_ALL, SHOW_PARENT, SHOW_CHILD, TreeNode } from "rc-tree-select"; import PropTypes from "prop-types"; import shallowEqual from "shallowequal"; import classNames from "classnames"; import toArray from "rc-util/lib/Children/toArray"; import omit from "../_util/omit"; import { ConfigContext } from "../config-provider"; import Checkbox from "../checkbox"; import Icon from "../icon"; import Popover from "../popover"; import Portal from "../portal"; import Spinner from "../spinner"; import "./style"; var prefix = "adui-tree-select"; var sameValueSplitter = "__@@__"; var noop = function noop() {}; var strategies = { "show-all": SHOW_ALL, "show-child": SHOW_CHILD, "show-parent": SHOW_PARENT }; var isArrayIncludes = function isArrayIncludes(a1, a2) { if (!Array.isArray(a1) || !Array.isArray(a2)) { return false; } return a2.every(function (o) { return a1.includes(o); }); }; var TreeSelect = function (_React$Component) { _inherits(TreeSelect, _React$Component); var _super = _createSuper(TreeSelect); function TreeSelect(props) { var _this; _classCallCheck(this, TreeSelect); _this = _super.call(this, props); _this.select = void 0; _this.portal = void 0; _this.wrapper = void 0; _this.treeData = void 0; _this.treeValueAll = void 0; _this.treeValueFlatten = []; _this.shouldComponentUpdate = function (nextProps, nextState) { return !shallowEqual(_this.props, nextProps) || !shallowEqual(_this.state, nextState); }; _this.saveSelect = function (node) { _this.select = node; }; _this.saveWrapper = function (node) { _this.wrapper = node; }; _this.renderSwitcherIcon = function (_ref) { var isLeaf = _ref.isLeaf, loading = _ref.loading; if (loading) { return React.createElement(Spinner, { size: "mini", className: "".concat(prefix, "-tree-switcher-icon") }); } if (isLeaf) { return null; } return React.createElement(Icon, { icon: "triangle-right", className: "".concat(prefix, "-tree-switcher-icon") }); }; _this.handleVisibleChange = function (visible) { setTimeout(function () { _this.forceUpdate(function () { var _this$props = _this.props, bottomContent = _this$props.bottomContent, topContent = _this$props.topContent; var _this$state = _this.state, hash = _this$state.hash, bottomContentPortalTarget = _this$state.bottomContentPortalTarget, topContentPortalTarget = _this$state.topContentPortalTarget; if (visible && (topContent && !topContentPortalTarget || bottomContent && !bottomContentPortalTarget)) { var dropdown = document.querySelector(".".concat(prefix, "-dropdown_").concat(hash)); if (dropdown) { if (topContent && !topContentPortalTarget) { var el = document.createElement("div"); el.onmousedown = function (e) { e.preventDefault(); e.stopImmediatePropagation(); }; dropdown.insertBefore(el, dropdown.children[0]); _this.setState({ topContentPortalTarget: el }); } if (bottomContent && !bottomContentPortalTarget) { var _el = document.createElement("div"); _el.onmousedown = function (e) { e.preventDefault(); e.stopImmediatePropagation(); }; dropdown.appendChild(_el); _this.setState({ bottomContentPortalTarget: _el }); } } } }); }, 0); }; _this.handleChange = function (value, titleList) { var valueParam = []; var _this$props2 = _this.props, disabled = _this$props2.disabled, multiple = _this$props2.multiple, onChange = _this$props2.onChange, valueProp = _this$props2.value, sameValueEnabled = _this$props2.sameValueEnabled; var valueState = _this.state.value; if (!disabled) { if (sameValueEnabled) { value === null || value === void 0 ? void 0 : value.forEach(function (v) { var splited = "".concat(v).split(sameValueSplitter); var val = splited[splited.length - 1]; var _value$filter = value.filter(function (o) { return "".concat(o).endsWith("".concat(sameValueSplitter).concat(val)); }), length = _value$filter.length; if (length === _this.treeValueFlatten.filter(function (o) { return "".concat(o).endsWith("".concat(sameValueSplitter).concat(val)); }).length) { valueParam.push(val); } else if (!(valueState !== null && valueState !== void 0 && valueState.includes(val))) { valueParam.push(val); } }); } else if (value) { valueParam = value; } if (multiple) { valueParam = _toConsumableArray(new Set(valueParam)); } if (valueProp === null) { _this.setState({ value: valueParam }); } if (onChange) { onChange(valueParam, titleList); } } }; _this.getFilteredTreeData = function (searchValue) { var filterTreeNode = _this.props.filterTreeNode; if (!searchValue || filterTreeNode === false) { return _this.treeData; } var filterOptionFunc; if (typeof filterTreeNode === "function") { filterOptionFunc = filterTreeNode; } else { filterOptionFunc = _this.filterTreeNode; } var dig = function dig(list) { var keepAll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; return list.map(function (dataNode) { var children = dataNode.children; var match = keepAll || filterOptionFunc && filterOptionFunc(searchValue, dataNode); var childList = dig(children || [], match); if (match || childList.length) { return _objectSpread(_objectSpread({}, dataNode), {}, { children: childList }); } return null; }).filter(function (node) { return node; }); }; return dig(_this.treeData); }; _this.handleSearch = function (val) { var onSearch = _this.props.onSearch; if (onSearch) { onSearch(val, _this.getFilteredTreeData(val)); setTimeout(function () { _this.forceUpdate(); }, 0); } }; _this.filterTreeNode = function (input, treeNode) { var filterCaseSensitive = _this.props.filterCaseSensitive; var key = treeNode.key, title = treeNode.title, value = treeNode.value, dataTitle = treeNode.dataTitle; if (!key || !value) { return false; } if (!filterCaseSensitive) { return String(dataTitle || title).toLocaleLowerCase().includes(input.toLocaleLowerCase()); } return String(dataTitle || title).includes(input); }; _this.getMaxTagCount = function () { var maxTagCount = _this.props.maxTagCount; var value = _this.state.value; if (!maxTagCount || !value || value.length <= maxTagCount) { return null; } return 0; }; _this.handleSelectAll = function () { var _this$props3 = _this.props, valueProp = _this$props3.value, onChange = _this$props3.onChange; var value = _this.state.value; if (isArrayIncludes(value || [], _this.treeValueAll)) { if (valueProp === null) { _this.setState({ value: [] }); } if (onChange) { onChange([], []); } } else { if (valueProp === null) { _this.setState({ value: _this.treeValueAll }); } if (onChange) { onChange(_this.treeValueAll, []); } } }; _this.getMaxTagPlaceholder = function (nodes) { var _nodes$; if (!_this.select) { return null; } var _this$props4 = _this.props, onChange = _this$props4.onChange, resultRender = _this$props4.resultRender, value = _this$props4.value, disabledProp = _this$props4.disabled; if (resultRender) { return resultRender(nodes); } var length = nodes.length; var placeholderText = React.createElement(React.Fragment, null, React.createElement("span", { style: { display: "inline-block", verticalAlign: "top", maxWidth: "calc(100% - 53px)", overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap" } }, (_nodes$ = nodes[0]) === null || _nodes$ === void 0 ? void 0 : _nodes$.label), React.createElement("span", { style: { display: "inline-block", verticalAlign: "top" } }, "\u7B49 ", length, " \u4E2A")); return React.createElement(Popover, { visible: disabledProp ? false : undefined, alignEdge: false, placement: "top", popup: React.createElement("div", { role: "none", className: "".concat(prefix, "-max-popover-item-wrapper"), onMouseDown: function onMouseDown(e) { return e.stopPropagation(); } }, nodes.map(function (_ref2, i) { var key = _ref2.key, disabled = _ref2.disabled, label = _ref2.label; return React.createElement("div", { className: "".concat(prefix, "-max-popover-item"), key: key }, React.createElement("span", null, label), !disabled && React.createElement(Icon, { icon: "cancel", onClick: function onClick() { var vals = nodes.map(function (o) { return o.value; }); vals.splice(i, 1); if (value === null) { _this.setState({ value: vals }); } var labels = nodes.map(function (o) { return o.label; }); labels.splice(i, 1); if (onChange) { onChange(vals, labels); } } })); })), popupClassName: "".concat(prefix, "-maxPopover") }, React.createElement("div", { className: "".concat(prefix, "-maxPlaceholder"), role: "none", onClick: function onClick(e) { return e.stopPropagation(); } }, placeholderText, React.createElement(Icon, { icon: "cancel", size: 14, onClick: function onClick() { if (!disabledProp) { if (value === null) { _this.setState({ value: [] }); } if (onChange) { onChange([], []); } } } }))); }; _this.convertChildrenToData = function (nodes) { return toArray(nodes).map(function (node) { if (!React.isValidElement(node) || !node.type) { return null; } var _ref3 = node, key = _ref3.key, _ref3$props = _ref3.props, children = _ref3$props.children, value = _ref3$props.value, popover = _ref3$props.popover, popoverProps = _ref3$props.popoverProps, title = _ref3$props.title, restProps = _objectWithoutProperties(_ref3$props, _excluded); var data = _objectSpread({ key: key, value: value, dataTitle: title, title: popover ? React.createElement(React.Fragment, null, React.createElement("div", { className: "".concat(prefix, "-pop-trigger") }, title), React.createElement(Popover, _extends({ popup: popover, placement: "right" }, popoverProps), React.createElement("div", { className: "".concat(prefix, "-pop-trigger-placeholder") }))) : title }, restProps); var childData = _this.convertChildrenToData(children); if (childData.length) { data.children = childData; } return data; }).filter(function (data) { return data; }); }; _this.convertTreeData = function (dataNodeParam) { var _dataNode$, _dataNode$2; var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var sameValueEnabled = _this.props.sameValueEnabled; if (!dataNodeParam) { return undefined; } var dataNode = _toConsumableArray(dataNodeParam); var valueState = _this.state.value; var isAllSelected = isArrayIncludes(valueState || [], _this.treeValueAll); var indeterminate = !isAllSelected && !!(valueState !== null && valueState !== void 0 && valueState.length); if (((_dataNode$ = dataNode[0]) === null || _dataNode$ === void 0 ? void 0 : _dataNode$.key) === "".concat(prefix, "-tree-treenode-all")) { return dataNode; } if (sameValueEnabled && !((_dataNode$2 = dataNode[0]) !== null && _dataNode$2 !== void 0 && _dataNode$2.dataTitle)) { _this.treeValueFlatten = []; } var selectAll = options.selectAll; var process = function process(node, parentValue) { node.forEach(function (o) { var children = o.children, key = o.key, title = o.title, dataChildren = o.dataChildren, dataTitle = o.dataTitle, value = o.value, popover = o.popover, _o$popoverProps = o.popoverProps, popoverProps = _o$popoverProps === void 0 ? {} : _o$popoverProps; if (dataTitle && dataChildren) { return; } if (title) { o.dataTitle = title; } if (children !== null && children !== void 0 && children.length) { o.dataChildren = 1; } if (key === undefined) { o.key = value; } else if (value === undefined) { o.value = key; } if (sameValueEnabled) { var newVal = "".concat(parentValue ? "".concat(parentValue).concat(sameValueSplitter) : "").concat(value); o.key = newVal; o.value = newVal; if (!_this.treeValueFlatten.includes(newVal)) { _this.treeValueFlatten.push(newVal); } } if (popover) { o.title = React.createElement(React.Fragment, null, React.createElement("div", { className: "".concat(prefix, "-pop-trigger") }, title), React.createElement(Popover, _extends({ popup: popover, placement: "right" }, popoverProps), React.createElement("div", { className: "".concat(prefix, "-pop-trigger-placeholder") }))); } if (children) { process(children, o.value); } }); }; process(dataNode); if (selectAll) { dataNode.unshift({ title: React.createElement("div", { role: "none", className: "".concat(prefix, "-tree-treenode-all-inner"), onClick: _this.handleSelectAll }, "\u5168\u9009", React.createElement(Checkbox, { size: "medium", checked: isAllSelected, indeterminate: indeterminate })), className: "".concat(prefix, "-tree-treenode-all"), key: "".concat(prefix, "-tree-treenode-all"), value: "".concat(prefix, "-tree-treenode-all"), checkable: false, disableCheckbox: true }); } return dataNode; }; _this.listenInputChange = function (e) { var onSearchEnter = _this.props.onSearchEnter; var value = e.target.value, key = e.key; if (key === "Backspace" && value === "") { e.stopPropagation(); } setTimeout(function () { if (key === "Enter" && onSearchEnter) { onSearchEnter(e); } }, 0); }; _this.componentDidMount = function () { var _this$wrapper; var input = (_this$wrapper = _this.wrapper) === null || _this$wrapper === void 0 ? void 0 : _this$wrapper.querySelector("input"); var _this$props5 = _this.props, maxTagCount = _this$props5.maxTagCount, placeholder = _this$props5.placeholder, resultVisible = _this$props5.resultVisible; var value = _this.state.value; if (input) { input.addEventListener("keydown", _this.listenInputChange, false); } if (maxTagCount !== null && value) { _this.forceUpdate(); } if (!resultVisible && _this.wrapper) { if (input) { input.placeholder = placeholder; } } }; _this.componentDidUpdate = function () { var _this$props6 = _this.props, resultVisible = _this$props6.resultVisible, placeholder = _this$props6.placeholder; if (!resultVisible) { setTimeout(function () { var _this$wrapper2; window.dispatchEvent(new Event("resize")); var input = (_this$wrapper2 = _this.wrapper) === null || _this$wrapper2 === void 0 ? void 0 : _this$wrapper2.querySelector("input"); if (input) { input.placeholder = placeholder; } }, 0); } }; var _value = props.value, defaultValue = props.defaultValue; var _valueState = _value !== null ? _value : defaultValue; _this.state = { hash: Math.random().toString(36).substring(3, 8), value: _valueState }; return _this; } _createClass(TreeSelect, [{ key: "render", value: function render() { var _this2 = this; var _this$props7 = this.props, autoClearSearchValue = _this$props7.autoClearSearchValue, bottomContent = _this$props7.bottomContent, children = _this$props7.children, className = _this$props7.className, filterTreeNode = _this$props7.filterTreeNode, getPopupContainer = _this$props7.getPopupContainer, intent = _this$props7.intent, maxTagCount = _this$props7.maxTagCount, multiple = _this$props7.multiple, _onDropdownVisibleChange = _this$props7.onDropdownVisibleChange, placeholder = _this$props7.placeholder, rightIcon = _this$props7.rightIcon, resultRender = _this$props7.resultRender, resultVisible = _this$props7.resultVisible, sameValueEnabled = _this$props7.sameValueEnabled, selectAll = _this$props7.selectAll, showCheckedStrategy = _this$props7.showCheckedStrategy, topContent = _this$props7.topContent, treeData = _this$props7.treeData, otherProps = _objectWithoutProperties(_this$props7, _excluded2); var restProps = omit(otherProps, ["filterCaseSensitive", "onChange", "onSearch", "onSearchEnter", "defaultValue", "value"]); var _this$state2 = this.state, hash = _this$state2.hash, bottomContentPortalTarget = _this$state2.bottomContentPortalTarget, topContentPortalTarget = _this$state2.topContentPortalTarget, value = _this$state2.value; var classSet = classNames(className, "".concat(prefix, "-").concat(intent), _defineProperty({}, "".concat(prefix, "_resultHidden"), !resultVisible)); var checkbox = multiple; if (multiple) { checkbox = React.createElement("div", null, React.createElement("svg", { width: "12", height: "10", className: "".concat(prefix, "-tree-checkbox-indeterminateSvg") }, React.createElement("rect", { x: "1", y: "4", width: "10", height: "2", rx: ".5", fill: "#fff", fillRule: "evenodd" })), React.createElement("svg", { width: "12", height: "10", className: "".concat(prefix, "-tree-checkbox-checkedSvg") }, React.createElement("path", { d: "M.618 5.827a.463.463 0 0 1-.02-.675l.804-.804a.52.52 0 0 1 .716-.01L4.75 6.75l4.922-5.625a.513.513 0 0 1 .707-.06l.742.62a.478.478 0 0 1 .044.687l-6.08 6.756a.506.506 0 0 1-.703.045L.618 5.827z", fillRule: "evenodd" }))); } if (value !== null) { restProps.value = value; } if (sameValueEnabled) { var trueValue = []; if (restProps.value) { restProps.value.forEach(function (o) { _this2.treeValueFlatten.forEach(function (p) { var splited = p.split(sameValueSplitter); if (splited[splited.length - 1] === o) { trueValue.push(p); } }); }); } restProps.value = trueValue; } if (maxTagCount !== null) { var count = this.getMaxTagCount(); if (count !== null) { restProps.maxTagCount = count; } } if (resultRender) { restProps.maxTagCount = 0; } var treeDataFinal = this.convertTreeData(treeData || this.convertChildrenToData(children), { selectAll: selectAll }) || []; this.treeData = treeDataFinal; if (showCheckedStrategy === "show-parent") { this.treeValueAll = treeDataFinal.map(function (_ref4) { var val = _ref4.value, disabled = _ref4.disabled, disableCheckbox = _ref4.disableCheckbox, checkable = _ref4.checkable; if (val !== undefined && !disabled && !disableCheckbox && checkable !== false) { return val; } return undefined; }).filter(function (o) { return Boolean(o) || o === 0; }); } else { var treeValueAll = []; var getAllValue = function getAllValue(data) { data.forEach(function (_ref5) { var val = _ref5.value, disabled = _ref5.disabled, disableCheckbox = _ref5.disableCheckbox, checkable = _ref5.checkable, child = _ref5.children; if (val !== undefined && !disabled && !disableCheckbox && checkable !== false) { if (showCheckedStrategy === "show-all" || !child) { treeValueAll.push(val); } else { getAllValue(child); } } }); }; getAllValue(treeDataFinal); this.treeValueAll = treeValueAll.filter(function (o) { return Boolean(o) || o === 0; }); } var multiLevel = treeDataFinal.some(function (o) { var _o$children; return (_o$children = o.children) === null || _o$children === void 0 ? void 0 : _o$children.length; }); return React.createElement(ConfigContext.Consumer, null, function (_ref6) { var _classNames2, _classNames3; var getPopupContainerContext = _ref6.getPopupContainer; return React.createElement("div", { className: classNames("".concat(prefix, "-wrapper ").concat(prefix, "-wrapper_").concat(hash), (_classNames2 = {}, _defineProperty(_classNames2, "".concat(prefix, "-wrapper-maxTag"), _this2.getMaxTagCount() !== null), _defineProperty(_classNames2, "".concat(prefix, "-wrapper-resultRender"), !!resultRender), _classNames2)), ref: _this2.saveWrapper }, topContent && topContentPortalTarget && React.createElement(Portal, { container: topContentPortalTarget }, topContent), bottomContent && bottomContentPortalTarget && React.createElement(Portal, { container: bottomContentPortalTarget }, bottomContent), React.createElement(RcTreeSelect, _extends({ autoClearSearchValue: resultVisible ? autoClearSearchValue : false, className: classSet, dropdownClassName: classNames("".concat(prefix, "-dropdown_").concat(hash), (_classNames3 = {}, _defineProperty(_classNames3, "".concat(prefix, "-dropdown-multiple"), multiple), _defineProperty(_classNames3, "".concat(prefix, "-dropdown-single"), !multiple), _defineProperty(_classNames3, "".concat(prefix, "-dropdown-all"), selectAll), _defineProperty(_classNames3, "".concat(prefix, "-dropdown-single-level"), !multiLevel), _classNames3)), filterTreeNode: filterTreeNode || _this2.filterTreeNode, getPopupContainer: getPopupContainer || getPopupContainerContext, inputIcon: React.createElement(Icon, { icon: "triangle-down" }), maxTagPlaceholder: _this2.getMaxTagPlaceholder, notFoundContent: React.createElement(React.Fragment, null, React.createElement(Icon, { icon: "file-outlined", color: "var(--transparent-gray-600)", style: { marginRight: "4px" } }), "\u65E0\u5339\u914D\u9879"), onChange: _this2.handleChange, onSearch: _this2.handleSearch, placeholder: placeholder, prefixCls: prefix, ref: _this2.saveSelect, removeIcon: React.createElement(Icon, { icon: "cancel", interactive: true, size: 16 }), showCheckedStrategy: showCheckedStrategy && strategies[showCheckedStrategy], showSearch: multiple, switcherIcon: _this2.renderSwitcherIcon, transitionName: "slide-up", treeCheckable: checkbox, treeNodeFilterProp: "title", listItemHeight: 32, listHeight: 280, treeData: treeDataFinal, onDropdownVisibleChange: function onDropdownVisibleChange(visible) { if (!visible) { _this2.handleSearch(""); } _this2.handleVisibleChange(visible); if (_onDropdownVisibleChange) { _onDropdownVisibleChange(visible); } } }, restProps)), !!rightIcon && multiple && React.createElement(Icon, { icon: rightIcon, className: "".concat(prefix, "-icon") })); }); } }]); return TreeSelect; }(React.Component); TreeSelect.propTypes = { autoClearSearchValue: PropTypes.bool, bottomContent: PropTypes.node, className: PropTypes.string, defaultValue: PropTypes.oneOfType([PropTypes.string, PropTypes.array]), disabled: PropTypes.bool, filterTreeNode: PropTypes.any, filterCaseSensitive: PropTypes.bool, getPopupContainer: PropTypes.func, intent: PropTypes.oneOf(["normal", "primary", "success", "warning", "danger"]), maxTagCount: PropTypes.number, multiple: PropTypes.bool, onChange: PropTypes.func, onDropdownVisibleChange: PropTypes.func, onSearch: PropTypes.func, onSearchEnter: PropTypes.func, placeholder: PropTypes.string, resultRender: PropTypes.func, resultVisible: PropTypes.bool, rightIcon: PropTypes.string, sameValueEnabled: PropTypes.bool, selectAll: PropTypes.bool, showCheckedStrategy: PropTypes.oneOf(["show-all", "show-parent", "show-child"]), topContent: PropTypes.node, treeData: PropTypes.array, value: PropTypes.oneOfType([PropTypes.string, PropTypes.array]) }; TreeSelect.defaultProps = { autoClearSearchValue: false, bottomContent: undefined, className: undefined, defaultValue: null, disabled: false, filterTreeNode: undefined, filterCaseSensitive: false, getPopupContainer: null, intent: "normal", maxTagCount: null, multiple: true, onChange: noop, onDropdownVisibleChange: noop, onSearch: noop, onSearchEnter: noop, placeholder: "请选择", resultRender: null, resultVisible: true, rightIcon: "list", sameValueEnabled: false, selectAll: false, showCheckedStrategy: "show-parent", topContent: undefined, treeData: undefined, value: null }; TreeSelect.getDerivedStateFromProps = function (_ref7) { var value = _ref7.value; if (value !== null) { return { value: value }; } return null; }; TreeSelect.TreeNode = TreeNode; export default TreeSelect; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIlJjVHJlZVNlbGVjdCIsIlNIT1dfQUxMIiwiU0hPV19QQVJFTlQiLCJTSE9XX0NISUxEIiwiVHJlZU5vZGUiLCJQcm9wVHlwZXMiLCJzaGFsbG93RXF1YWwiLCJjbGFzc05hbWVzIiwidG9BcnJheSIsIm9taXQiLCJDb25maWdDb250ZXh0IiwiQ2hlY2tib3giLCJJY29uIiwiUG9wb3ZlciIsIlBvcnRhbCIsIlNwaW5uZXIiLCJwcmVmaXgiLCJzYW1lVmFsdWVTcGxpdHRlciIsIm5vb3AiLCJzdHJhdGVnaWVzIiwiaXNBcnJheUluY2x1ZGVzIiwiYTEiLCJhMiIsIkFycmF5IiwiaXNBcnJheSIsImV2ZXJ5IiwibyIsImluY2x1ZGVzIiwiVHJlZVNlbGVjdCIsInByb3BzIiwic2VsZWN0IiwicG9ydGFsIiwid3JhcHBlciIsInRyZWVEYXRhIiwidHJlZVZhbHVlQWxsIiwidHJlZVZhbHVlRmxhdHRlbiIsInNob3VsZENvbXBvbmVudFVwZGF0ZSIsIm5leHRQcm9wcyIsIm5leHRTdGF0ZSIsInN0YXRlIiwic2F2ZVNlbGVjdCIsIm5vZGUiLCJzYXZlV3JhcHBlciIsInJlbmRlclN3aXRjaGVySWNvbiIsImlzTGVhZiIsImxvYWRpbmciLCJoYW5kbGVWaXNpYmxlQ2hhbmdlIiwidmlzaWJsZSIsInNldFRpbWVvdXQiLCJmb3JjZVVwZGF0ZSIsImJvdHRvbUNvbnRlbnQiLCJ0b3BDb250ZW50IiwiaGFzaCIsImJvdHRvbUNvbnRlbnRQb3J0YWxUYXJnZXQiLCJ0b3BDb250ZW50UG9ydGFsVGFyZ2V0IiwiZHJvcGRvd24iLCJkb2N1bWVudCIsInF1ZXJ5U2VsZWN0b3IiLCJlbCIsImNyZWF0ZUVsZW1lbnQiLCJvbm1vdXNlZG93biIsImUiLCJwcmV2ZW50RGVmYXVsdCIsInN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbiIsImluc2VydEJlZm9yZSIsImNoaWxkcmVuIiwic2V0U3RhdGUiLCJhcHBlbmRDaGlsZCIsImhhbmRsZUNoYW5nZSIsInZhbHVlIiwidGl0bGVMaXN0IiwidmFsdWVQYXJhbSIsImRpc2FibGVkIiwibXVsdGlwbGUiLCJvbkNoYW5nZSIsInZhbHVlUHJvcCIsInNhbWVWYWx1ZUVuYWJsZWQiLCJ2YWx1ZVN0YXRlIiwiZm9yRWFjaCIsInYiLCJzcGxpdGVkIiwic3BsaXQiLCJ2YWwiLCJsZW5ndGgiLCJmaWx0ZXIiLCJlbmRzV2l0aCIsInB1c2giLCJTZXQiLCJnZXRGaWx0ZXJlZFRyZWVEYXRhIiwic2VhcmNoVmFsdWUiLCJmaWx0ZXJUcmVlTm9kZSIsImZpbHRlck9wdGlvbkZ1bmMiLCJkaWciLCJsaXN0Iiwia2VlcEFsbCIsIm1hcCIsImRhdGFOb2RlIiwibWF0Y2giLCJjaGlsZExpc3QiLCJoYW5kbGVTZWFyY2giLCJvblNlYXJjaCIsImlucHV0IiwidHJlZU5vZGUiLCJmaWx0ZXJDYXNlU2Vuc2l0aXZlIiwia2V5IiwidGl0bGUiLCJkYXRhVGl0bGUiLCJTdHJpbmciLCJ0b0xvY2FsZUxvd2VyQ2FzZSIsImdldE1heFRhZ0NvdW50IiwibWF4VGFnQ291bnQiLCJoYW5kbGVTZWxlY3RBbGwiLCJnZXRNYXhUYWdQbGFjZWhvbGRlciIsIm5vZGVzIiwicmVzdWx0UmVuZGVyIiwiZGlzYWJsZWRQcm9wIiwicGxhY2Vob2xkZXJUZXh0IiwiZGlzcGxheSIsInZlcnRpY2FsQWxpZ24iLCJtYXhXaWR0aCIsIm92ZXJmbG93IiwidGV4dE92ZXJmbG93Iiwid2hpdGVTcGFjZSIsImxhYmVsIiwidW5kZWZpbmVkIiwic3RvcFByb3BhZ2F0aW9uIiwiaSIsInZhbHMiLCJzcGxpY2UiLCJsYWJlbHMiLCJjb252ZXJ0Q2hpbGRyZW5Ub0RhdGEiLCJpc1ZhbGlkRWxlbWVudCIsInR5cGUiLCJwb3BvdmVyIiwicG9wb3ZlclByb3BzIiwicmVzdFByb3BzIiwiZGF0YSIsImNoaWxkRGF0YSIsImNvbnZlcnRUcmVlRGF0YSIsImRhdGFOb2RlUGFyYW0iLCJvcHRpb25zIiwiaXNBbGxTZWxlY3RlZCIsImluZGV0ZXJtaW5hdGUiLCJzZWxlY3RBbGwiLCJwcm9jZXNzIiwicGFyZW50VmFsdWUiLCJkYXRhQ2hpbGRyZW4iLCJuZXdWYWwiLCJ1bnNoaWZ0IiwiY2xhc3NOYW1lIiwiY2hlY2thYmxlIiwiZGlzYWJsZUNoZWNrYm94IiwibGlzdGVuSW5wdXRDaGFuZ2UiLCJvblNlYXJjaEVudGVyIiwidGFyZ2V0IiwiY29tcG9uZW50RGlkTW91bnQiLCJwbGFjZWhvbGRlciIsInJlc3VsdFZpc2libGUiLCJhZGRFdmVudExpc3RlbmVyIiwiY29tcG9uZW50RGlkVXBkYXRlIiwid2luZG93IiwiZGlzcGF0Y2hFdmVudCIsIkV2ZW50IiwiZGVmYXVsdFZhbHVlIiwiTWF0aCIsInJhbmRvbSIsInRvU3RyaW5nIiwic3Vic3RyaW5nIiwiYXV0b0NsZWFyU2VhcmNoVmFsdWUiLCJnZXRQb3B1cENvbnRhaW5lciIsImludGVudCIsIm9uRHJvcGRvd25WaXNpYmxlQ2hhbmdlIiwicmlnaHRJY29uIiwic2hvd0NoZWNrZWRTdHJhdGVneSIsIm90aGVyUHJvcHMiLCJjbGFzc1NldCIsImNoZWNrYm94IiwidHJ1ZVZhbHVlIiwicCIsImNvdW50IiwidHJlZURhdGFGaW5hbCIsIkJvb2xlYW4iLCJnZXRBbGxWYWx1ZSIsImNoaWxkIiwibXVsdGlMZXZlbCIsInNvbWUiLCJnZXRQb3B1cENvbnRhaW5lckNvbnRleHQiLCJtYXJnaW5SaWdodCIsIkNvbXBvbmVudCIsInByb3BUeXBlcyIsImJvb2wiLCJzdHJpbmciLCJvbmVPZlR5cGUiLCJhcnJheSIsImFueSIsImZ1bmMiLCJvbmVPZiIsIm51bWJlciIsImRlZmF1bHRQcm9wcyIsImdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyJdLCJzb3VyY2VzIjpbIi4uLy4uL2NvbXBvbmVudHMvdHJlZS1zZWxlY3QvVHJlZVNlbGVjdC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbWF4LWxlbiAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tZW1wdHkgKi9cbi8qIGVzbGludC1kaXNhYmxlIHJlYWN0L25vLWRpZC11cGRhdGUtc2V0LXN0YXRlICovXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IFJjVHJlZVNlbGVjdCwge1xuICBTSE9XX0FMTCxcbiAgU0hPV19QQVJFTlQsXG4gIFNIT1dfQ0hJTEQsXG4gIFRyZWVOb2RlLFxufSBmcm9tIFwicmMtdHJlZS1zZWxlY3RcIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQgc2hhbGxvd0VxdWFsIGZyb20gXCJzaGFsbG93ZXF1YWxcIlxuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSBcImNsYXNzbmFtZXNcIlxuaW1wb3J0IHRvQXJyYXkgZnJvbSBcInJjLXV0aWwvbGliL0NoaWxkcmVuL3RvQXJyYXlcIlxuaW1wb3J0IG9taXQgZnJvbSBcIi4uL191dGlsL29taXRcIlxuaW1wb3J0IHsgQ29uZmlnQ29udGV4dCB9IGZyb20gXCIuLi9jb25maWctcHJvdmlkZXJcIlxuaW1wb3J0IENoZWNrYm94IGZyb20gXCIuLi9jaGVja2JveFwiXG5pbXBvcnQgSWNvbiBmcm9tIFwiLi4vaWNvblwiXG5pbXBvcnQgUG9wb3ZlciwgeyBJUG9wb3ZlclByb3BzIH0gZnJvbSBcIi4uL3BvcG92ZXJcIlxuaW1wb3J0IFBvcnRhbCBmcm9tIFwiLi4vcG9ydGFsXCJcbmltcG9ydCBTcGlubmVyIGZyb20gXCIuLi9zcGlubmVyXCJcbmltcG9ydCBcIi4vc3R5bGVcIlxuXG5jb25zdCBwcmVmaXggPSBcImFkdWktdHJlZS1zZWxlY3RcIlxuY29uc3Qgc2FtZVZhbHVlU3BsaXR0ZXIgPSBcIl9fQEBfX1wiXG5jb25zdCBub29wID0gKCkgPT4ge31cblxuY29uc3Qgc3RyYXRlZ2llcyA9IHtcbiAgXCJzaG93LWFsbFwiOiBTSE9XX0FMTCxcbiAgXCJzaG93LWNoaWxkXCI6IFNIT1dfQ0hJTEQsXG4gIFwic2hvdy1wYXJlbnRcIjogU0hPV19QQVJFTlQsXG59XG5cbi8qKlxuICogYTEg5piv5ZCm5YyF5ZCrIGEyXG4gKi9cbmNvbnN0IGlzQXJyYXlJbmNsdWRlcyA9IChcbiAgYTE6IFJlYWN0LlJlYWN0VGV4dFtdLFxuICBhMjogUmVhY3QuUmVhY3RUZXh0W11cbik6IGJvb2xlYW4gPT4ge1xuICBpZiAoIUFycmF5LmlzQXJyYXkoYTEpIHx8ICFBcnJheS5pc0FycmF5KGEyKSkge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgcmV0dXJuIGEyLmV2ZXJ5KChvKSA9PiBhMS5pbmNsdWRlcyhvKSlcbn1cblxuZXhwb3J0IHR5cGUgVHJlZU5vZGVWYWx1ZSA9IFJlYWN0LlJlYWN0VGV4dFtdIHwgbnVsbFxuXG5leHBvcnQgaW50ZXJmYWNlIElUcmVlTm9kZSB7XG4gIHZhbHVlOiBzdHJpbmdcbiAgbGFiZWw6IHN0cmluZ1xuICBrZXk6IHN0cmluZ1xuICBkaXNhYmxlZDogYm9vbGVhblxufVxuZXhwb3J0IGludGVyZmFjZSBEYXRhTm9kZSB7XG4gIFtrZXk6IHN0cmluZ106IGFueVxuICB2YWx1ZT86IFJlYWN0LlJlYWN0VGV4dFxuICB0aXRsZT86IFJlYWN0LlJlYWN0Tm9kZVxuICBsYWJlbD86IFJlYWN0LlJlYWN0Tm9kZVxuICBrZXk/OiBSZWFjdC5SZWFjdFRleHRcbiAgZGlzYWJsZWQ/OiBib29sZWFuXG4gIGRpc2FibGVDaGVja2JveD86IGJvb2xlYW5cbiAgY2hlY2thYmxlPzogYm9vbGVhblxuICBwb3BvdmVyPzogUmVhY3QuUmVhY3ROb2RlXG4gIHBvcG92ZXJQcm9wcz86IElQb3BvdmVyUHJvcHNcbiAgY2hpbGRyZW4/OiBEYXRhTm9kZVtdXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmFzZU9wdGlvblR5cGUge1xuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgY2hlY2thYmxlPzogYm9vbGVhblxuICBkaXNhYmxlQ2hlY2tib3g/OiBib29sZWFuXG4gIGNoaWxkcmVuPzogQmFzZU9wdGlvblR5cGVbXVxuICBbbmFtZTogc3RyaW5nXTogYW55XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVmYXVsdE9wdGlvblR5cGUgZXh0ZW5kcyBCYXNlT3B0aW9uVHlwZSB7XG4gIHZhbHVlPzogUmVhY3QuUmVhY3RUZXh0XG4gIHRpdGxlPzogUmVhY3QuUmVhY3ROb2RlXG4gIGxhYmVsPzogUmVhY3QuUmVhY3ROb2RlXG4gIGtleT86IFJlYWN0LktleVxuICBjaGlsZHJlbj86IERlZmF1bHRPcHRpb25UeXBlW11cbn1cblxuZXhwb3J0IHR5cGUgVHJlZURhdGEgPSBEYXRhTm9kZVtdIHwgdW5kZWZpbmVkXG5cbmV4cG9ydCBpbnRlcmZhY2UgSVRyZWVTZWxlY3RQcm9wcyB7XG4gIFtrZXk6IHN0cmluZ106IGFueVxuICBhdXRvQ2xlYXJTZWFyY2hWYWx1ZT86IGJvb2xlYW5cbiAgYm90dG9tQ29udGVudD86IFJlYWN0LlJlYWN0Tm9kZVxuICBjbGFzc05hbWU/OiBzdHJpbmdcbiAgZGVmYXVsdFZhbHVlPzogVHJlZU5vZGVWYWx1ZVxuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgZmlsdGVyVHJlZU5vZGU/OlxuICAgIHwgYm9vbGVhblxuICAgIHwgKChpbnB1dFZhbHVlOiBzdHJpbmcsIHRyZWVOb2RlOiBEZWZhdWx0T3B0aW9uVHlwZSkgPT4gYm9vbGVhbilcbiAgZmlsdGVyQ2FzZVNlbnNpdGl2ZT86IGJvb2xlYW5cbiAgZ2V0UG9wdXBDb250YWluZXI/OiBudWxsIHwgKChub2RlOiBIVE1MRWxlbWVudCkgPT4gSFRNTEVsZW1lbnQpXG4gIGludGVudD86IFwibm9ybWFsXCIgfCBcInByaW1hcnlcIiB8IFwic3VjY2Vzc1wiIHwgXCJ3YXJuaW5nXCIgfCBcImRhbmdlclwiXG4gIG1heFRhZ0NvdW50PzogbnVsbCB8IG51bWJlclxuICBtdWx0aXBsZT86IGJvb2xlYW5cbiAgb25DaGFuZ2U/OiAodmFsdWU6IFRyZWVOb2RlVmFsdWUsIHRpdGxlTGlzdDogUmVhY3QuUmVhY3ROb2RlW10pID0+IHZvaWRcbiAgb25Ecm9wZG93blZpc2libGVDaGFuZ2U/OiAodmlzaWJsZTogYm9vbGVhbikgPT4gdm9pZFxuICBvblNlYXJjaEVudGVyPzogKGU6IEtleWJvYXJkRXZlbnQpID0+IHZvaWRcbiAgb25TZWFyY2g/OiAodmFsdWU6IHN0cmluZywgbm9kZXM6IERhdGFOb2RlW10pID0+IHZvaWRcbiAgcmVzdWx0UmVuZGVyPzogbnVsbCB8ICgodmFsdWVzOiBJVHJlZU5vZGVbXSkgPT4gSlNYLkVsZW1lbnQpXG4gIHJlc3VsdFZpc2libGU/OiBib29sZWFuXG4gIHNhbWVWYWx1ZUVuYWJsZWQ/OiBib29sZWFuXG4gIHNlbGVjdEFsbD86IGJvb2xlYW5cbiAgc2hvd0NoZWNrZWRTdHJhdGVneT86IFwic2hvdy1hbGxcIiB8IFwic2hvdy1jaGlsZFwiIHwgXCJzaG93LXBhcmVudFwiXG4gIHRvcENvbnRlbnQ/OiBSZWFjdC5SZWFjdE5vZGVcbiAgdHJlZURhdGE/OiBUcmVlRGF0YVxuICB2YWx1ZT86IFRyZWVOb2RlVmFsdWVcbn1cblxudHlwZSBHZXRGdW5jVHlwZTxUPiA9IFQgZXh0ZW5kcyBib29sZWFuID8gbmV2ZXIgOiBUXG50eXBlIEZpbHRlckZuID0gR2V0RnVuY1R5cGU8SVRyZWVTZWxlY3RQcm9wc1tcImZpbHRlclRyZWVOb2RlXCJdPlxuXG5leHBvcnQgaW50ZXJmYWNlIElUcmVlU2VsZWN0U3RhdGUge1xuICBoYXNoOiBzdHJpbmdcbiAgYm90dG9tQ29udGVudFBvcnRhbFRhcmdldD86IEhUTUxEaXZFbGVtZW50XG4gIHRvcENvbnRlbnRQb3J0YWxUYXJnZXQ/OiBIVE1MRGl2RWxlbWVudFxuICB2YWx1ZT86IFRyZWVOb2RlVmFsdWVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJVHJlZU5vZGVQcm9wcyB7XG4gIFtrZXk6IHN0cmluZ106IGFueVxuICBjbGFzc05hbWU/OiBzdHJpbmdcbiAgY2hlY2thYmxlPzogYm9vbGVhblxuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgZGlzYWJsZUNoZWNrYm94PzogYm9vbGVhblxuICB0aXRsZT86IHN0cmluZyB8IFJlYWN0LlJlYWN0Tm9kZVxuICBrZXk/OiBzdHJpbmdcbiAgZXZlbnRLZXk/OiBzdHJpbmdcbiAgaXNMZWFmPzogYm9vbGVhblxuICBjaGVja2VkPzogYm9vbGVhblxuICBleHBhbmRlZD86IGJvb2xlYW5cbiAgbG9hZGluZz86IGJvb2xlYW5cbiAgc2VsZWN0ZWQ/OiBib29sZWFuXG4gIHNlbGVjdGFibGU/OiBib29sZWFuXG4gIGNoaWxkcmVuPzogUmVhY3QuUmVhY3ROb2RlXG59XG5cbi8qKlxuICog5qCR5b2i6YCJ5oupXG4gKi9cbmNsYXNzIFRyZWVTZWxlY3QgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQ8SVRyZWVTZWxlY3RQcm9wcywgSVRyZWVTZWxlY3RTdGF0ZT4ge1xuICBwdWJsaWMgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICAvKipcbiAgICAgKiDlgLzooqvpgInmi6nlkI7vvIzmmK/lkKbpnIDopoHmuIXnqbrmkJzntKLmoYZcbiAgICAgKi9cbiAgICBhdXRvQ2xlYXJTZWFyY2hWYWx1ZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgLyoqXG4gICAgICog5LiL5ouJ5qGG5bqV6YOo5pi+56S655qE6Ieq5a6a5LmJ5YWD57SgXG4gICAgICovXG4gICAgYm90dG9tQ29udGVudDogUHJvcFR5cGVzLm5vZGUsXG4gICAgLyoqXG4gICAgICog6ZmE5Yqg57G75ZCNXG4gICAgICovXG4gICAgY2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIC8qKlxuICAgICAqIOm7mOiupOmAieS4reeahCBrZXlcbiAgICAgKi9cbiAgICBkZWZhdWx0VmFsdWU6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5zdHJpbmcsIFByb3BUeXBlcy5hcnJheV0pLFxuICAgIC8qKlxuICAgICAqIOaYr+WQpuemgeeUqFxuICAgICAqL1xuICAgIGRpc2FibGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAvKipcbiAgICAgKiDoh6rlrprkuYnmoJHoioLngrnov4fmu6Tlh73mlbBcbiAgICAgKi9cbiAgICBmaWx0ZXJUcmVlTm9kZTogUHJvcFR5cGVzLmFueSxcbiAgICAvKipcbiAgICAgKiDmmK/lkKblvIDlkK/lpKflsI/lhpnmlY/mhJ/mkJzntKLvvIzpu5jorqTkuLogZmFsc2VcbiAgICAgKi9cbiAgICBmaWx0ZXJDYXNlU2Vuc2l0aXZlOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAvKipcbiAgICAgKiDmjIflrprlvLnlh7rlsYLnmoTniLbnuqfvvIzpu5jorqTkuLogZG9jdW1lbnQuYm9keVxuICAgICAqL1xuICAgIGdldFBvcHVwQ29udGFpbmVyOiBQcm9wVHlwZXMuZnVuYyxcbiAgICAvKipcbiAgICAgKiDnsbvlnotcbiAgICAgKi9cbiAgICBpbnRlbnQ6IFByb3BUeXBlcy5vbmVPZihbXG4gICAgICBcIm5vcm1hbFwiLFxuICAgICAgXCJwcmltYXJ5XCIsXG4gICAgICBcInN1Y2Nlc3NcIixcbiAgICAgIFwid2FybmluZ1wiLFxuICAgICAgXCJkYW5nZXJcIixcbiAgICBdKSxcbiAgICAvKipcbiAgICAgKiDmnIDlpJrmmL7npLrlpJrlsJHkuKogdGFn77yM5aaC5p6c6LaF6L+H5LqG5YiZ5Lul5pS26LW355qE5b2i5byP5Ye6546wXG4gICAgICovXG4gICAgbWF4VGFnQ291bnQ6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgLyoqXG4gICAgICog5piv5ZCm5aSa6YCJ5qih5byPXG4gICAgICovXG4gICAgbXVsdGlwbGU6IFByb3BUeXBlcy5ib29sLFxuICAgIC8qKlxuICAgICAqIOWAvOWPmOWMluaXtueahOWbnuiwg++8jOWPguaVsDogdmFsdWVcbiAgICAgKi9cbiAgICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgLyoqXG4gICAgICog5LiL5ouJIHZpc2libGUg5Y+Y5YyW5pe255qE5Zue6LCD77yM5Y+C5pWwOiBib29sZWFuXG4gICAgICovXG4gICAgb25Ecm9wZG93blZpc2libGVDaGFuZ2U6IFByb3BUeXBlcy5mdW5jLFxuICAgIC8qKlxuICAgICAqIOaQnOe0ouaXtueahOWbnuiwg++8jOWPguaVsDogdmFsdWVcbiAgICAgKi9cbiAgICBvblNlYXJjaDogUHJvcFR5cGVzLmZ1bmMsXG4gICAgLyoqXG4gICAgICog5pCc57Si5Zue6L2m5pe255qE5Zue6LCD77yM5Y+C5pWwOiBlXG4gICAgICovXG4gICAgb25TZWFyY2hFbnRlcjogUHJvcFR5cGVzLmZ1bmMsXG4gICAgLyoqXG4gICAgICog6K6+572u6L6T5YWl5qGG55qE6buY6K6k5YaF5a65XG4gICAgICovXG4gICAgcGxhY2Vob2xkZXI6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgLyoqXG4gICAgICog6K6+572u6Ieq5a6a5LmJ55qE57uT5p6c5riy5p+TXG4gICAgICovXG4gICAgcmVzdWx0UmVuZGVyOiBQcm9wVHlwZXMuZnVuYyxcbiAgICAvKipcbiAgICAgKiDovpPlhaXmoYblhoXnmoTmoIfnrb7mmK/lkKbmmL7npLrvvIzmraQgUHJvcCDnlKjkuo7mg7PopoHlsIbnu5PmnpzljLrlsZXnpLrlnKjliKvnmoTlnLDmlrnnmoTpnIDmsYJcbiAgICAgKi9cbiAgICByZXN1bHRWaXNpYmxlOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAvKipcbiAgICAgKiDlrprliLbmoJHlvaLpgInmi6nlmajnmoRpY29uXG4gICAgICovXG4gICAgcmlnaHRJY29uOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIC8qKlxuICAgICAqIOaYr+WQpuWFgeiuuOebuOWQjOWAvO+8jOS9v+eUqOaDheWGte+8muWmguWQjOS4gOS4quS6uuWPr+iDveWtmOWcqOS6juS4pOS4que7hOe7h+aetuaehOS4re+8jOWmguaenOS9v+eUqOatpCBQcm9w77yM6K+35ZCM5pe25L2/55SoIHJlc3VsdFZpc2libGU9e2ZhbHNlfVxuICAgICAqL1xuICAgIHNhbWVWYWx1ZUVuYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgIC8qKlxuICAgICAqIOaYr+WQpuW8gOWQr+WFqOmAieWKn+iDvVxuICAgICAqL1xuICAgIHNlbGVjdEFsbDogUHJvcFR5cGVzLmJvb2wsXG4gICAgLyoqXG4gICAgICog5a6a5LmJ6YCJ5Lit6aG55Zue5aGr55qE5pa55byP77yaXG4gICAgICogMS4gc2hvdy1hbGzvvJrmmL7npLrljIXmi6zniLboioLngrnnmoTmiYDmnInpgInkuK3oioLngrnvvJtcbiAgICAgKiAyLiBzaG93LXBhcmVudO+8muWPquaYvuekuueItuiKgueCue+8m1xuICAgICAqIDMuIHNob3ctY2hpbGTvvJrlj6rmmL7npLrlrZDoioLngrnjgILpu5jorqTlgLzvvJpzaG93LXBhcmVudFxuICAgICAqL1xuICAgIHNob3dDaGVja2VkU3RyYXRlZ3k6IFByb3BUeXBlcy5vbmVPZihbXG4gICAgICBcInNob3ctYWxsXCIsXG4gICAgICBcInNob3ctcGFyZW50XCIsXG4gICAgICBcInNob3ctY2hpbGRcIixcbiAgICBdKSxcbiAgICAvKipcbiAgICAgKiDkuIvmi4nmoYbpobbpg6jmmL7npLrnmoToh6rlrprkuYnlhYPntKBcbiAgICAgKi9cbiAgICB0b3BDb250ZW50OiBQcm9wVHlwZXMubm9kZSxcbiAgICAvKipcbiAgICAgKiB0cmVlTm9kZXMg5pWw5o2u77yM5qC85byP5Y+C54WnIGludGVyZmFjZSBEYXRhTm9kZVxuICAgICAqL1xuICAgIHRyZWVEYXRhOiBQcm9wVHlwZXMuYXJyYXksXG4gICAgLyoqXG4gICAgICog5aSW6YOo5o6n5Yi277ya6YCJ5Lit55qEIGtleVxuICAgICAqL1xuICAgIHZhbHVlOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuc3RyaW5nLCBQcm9wVHlwZXMuYXJyYXldKSxcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZGVmYXVsdFByb3BzOiBJVHJlZVNlbGVjdFByb3BzID0ge1xuICAgIGF1dG9DbGVhclNlYXJjaFZhbHVlOiBmYWxzZSxcbiAgICBib3R0b21Db250ZW50OiB1bmRlZmluZWQsXG4gICAgY2xhc3NOYW1lOiB1bmRlZmluZWQsXG4gICAgZGVmYXVsdFZhbHVlOiBudWxsLFxuICAgIGRpc2FibGVkOiBmYWxzZSxcbiAgICBmaWx0ZXJUcmVlTm9kZTogdW5kZWZpbmVkLFxuICAgIGZpbHRlckNhc2VTZW5zaXRpdmU6IGZhbHNlLFxuICAgIGdldFBvcHVwQ29udGFpbmVyOiBudWxsLFxuICAgIGludGVudDogXCJub3JtYWxcIixcbiAgICBtYXhUYWdDb3VudDogbnVsbCxcbiAgICBtdWx0aXBsZTogdHJ1ZSxcbiAgICBvbkNoYW5nZTogbm9vcCxcbiAgICBvbkRyb3Bkb3duVmlzaWJsZUNoYW5nZTogbm9vcCxcbiAgICBvblNlYXJjaDogbm9vcCxcbiAgICBvblNlYXJjaEVudGVyOiBub29wLFxuICAgIHBsYWNlaG9sZGVyOiBcIuivt+mAieaLqVwiLFxuICAgIHJlc3VsdFJlbmRlcjogbnVsbCxcbiAgICByZXN1bHRWaXNpYmxlOiB0cnVlLFxuICAgIHJpZ2h0SWNvbjogXCJsaXN0XCIsXG4gICAgc2FtZVZhbHVlRW5hYmxlZDogZmFsc2UsXG4gICAgc2VsZWN0QWxsOiBmYWxzZSxcbiAgICBzaG93Q2hlY2tlZFN0cmF0ZWd5OiBcInNob3ctcGFyZW50XCIsXG4gICAgdG9wQ29udGVudDogdW5kZWZpbmVkLFxuICAgIHRyZWVEYXRhOiB1bmRlZmluZWQsXG4gICAgdmFsdWU6IG51bGwsXG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyA9ICh7IHZhbHVlIH06IElUcmVlU2VsZWN0UHJvcHMpID0+IHtcbiAgICBpZiAodmFsdWUgIT09IG51bGwpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHZhbHVlLFxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgcHVibGljIHN0YXRpYyBUcmVlTm9kZTogdHlwZW9mIFRyZWVOb2RlID0gVHJlZU5vZGVcblxuICBwdWJsaWMgc2VsZWN0OiB0eXB