UNPKG

acud

Version:

acg react 组件库

132 lines (131 loc) • 5.28 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); var _typeof = require("@babel/runtime/helpers/typeof"); Object.defineProperty(exports, "__esModule", { value: true }); exports.convertChildrenToData = convertChildrenToData; exports.fillAdditionalInfo = fillAdditionalInfo; exports.fillLegacyProps = fillLegacyProps; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var React = _interopRequireWildcard(require("react")); var _toArray = _interopRequireDefault(require("rc-util/lib/Children/toArray")); var _warning = _interopRequireDefault(require("rc-util/lib/warning")); var _TreeNode = _interopRequireDefault(require("../TreeNode")); function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); } var __rest = void 0 && (void 0).__rest || function (s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]]; } return t; }; function convertChildrenToData(nodes) { return (0, _toArray["default"])(nodes).map(function (node) { if (! /*#__PURE__*/React.isValidElement(node) || !node.type) { return null; } var _a = node, key = _a.key, _b = _a.props, children = _b.children, value = _b.value, restProps = __rest(_b, ["children", "value"]); var data = (0, _extends2["default"])({ key: key, value: value }, restProps); var childData = convertChildrenToData(children); if (childData.length) { data.children = childData; } return data; }).filter(function (data) { return data; }); } function fillLegacyProps(dataNode) { if (!dataNode) { return dataNode; } var cloneNode = (0, _extends2["default"])({}, dataNode); if (!('props' in cloneNode)) { Object.defineProperty(cloneNode, 'props', { get: function get() { (0, _warning["default"])(false, 'New `rc-tree-select` not support return node instance as argument anymore. Please consider to remove `props` access.'); return cloneNode; } }); } return cloneNode; } function fillAdditionalInfo(extra, triggerValue, checkedValues, treeData, showPosition, fieldNames) { var triggerNode = null; var nodeList = null; function generateMap() { function dig(list) { var level = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '0'; var parentIncluded = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; return list.map(function (option, index) { var pos = "".concat(level, "-").concat(index); var value = option[fieldNames.value]; var included = checkedValues.includes(value); var children = dig(option[fieldNames.children] || [], pos, included); var node = /*#__PURE__*/React.createElement(_TreeNode["default"], option, children.map(function (child) { return child.node; })); // Link with trigger node if (triggerValue === value) { triggerNode = node; } if (included) { var checkedNode = { pos: pos, node: node, children: children }; if (!parentIncluded) { nodeList.push(checkedNode); } return checkedNode; } return null; }).filter(function (node) { return node; }); } if (!nodeList) { nodeList = []; dig(treeData); // Sort to keep the checked node length nodeList.sort(function (_ref, _ref2) { var val1 = _ref.node.props.value; var val2 = _ref2.node.props.value; var index1 = checkedValues.indexOf(val1); var index2 = checkedValues.indexOf(val2); return index1 - index2; }); } } Object.defineProperty(extra, 'triggerNode', { get: function get() { (0, _warning["default"])(false, '`triggerNode` is deprecated. Please consider decoupling data with node.'); generateMap(); return triggerNode; } }); Object.defineProperty(extra, 'allCheckedNodes', { get: function get() { (0, _warning["default"])(false, '`allCheckedNodes` is deprecated. Please consider decoupling data with node.'); generateMap(); if (showPosition) { return nodeList; } return nodeList.map(function (_ref3) { var node = _ref3.node; return node; }); } }); }