UNPKG

choerodon-ui

Version:

An enterprise-class UI design language and React-based implementation

86 lines (67 loc) 2.9 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"]; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = normalizeTreeNodes; var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); var _react = require("react"); var _DataSet = _interopRequireDefault(require("../data-set/DataSet")); var _enum = require("../data-set/enum"); var _excluded = ["value", "title", "children", "disabled"]; function getOptionsFromChildren(elements, data, fields, textField, valueField, parentField, idField, disabledField, parent) { if (elements) { _react.Children.forEach(elements, function (child) { if ( /*#__PURE__*/(0, _react.isValidElement)(child)) { var type = child.type; if (type.__PRO_TREE_SELECT_NODE) { var _data$push; var props = child.props; var value = props.value, title = props.title, children = props.children, disabled = props.disabled, __treeNodeProps = (0, _objectWithoutProperties2["default"])(props, _excluded); data.push((_data$push = {}, (0, _defineProperty2["default"])(_data$push, textField, title), (0, _defineProperty2["default"])(_data$push, valueField, value), (0, _defineProperty2["default"])(_data$push, disabledField, disabled), (0, _defineProperty2["default"])(_data$push, parentField, parent), (0, _defineProperty2["default"])(_data$push, "__treeNodeProps", __treeNodeProps), _data$push)); if (idField !== valueField) { data[idField] = props[idField] || value; } getOptionsFromChildren(children, data, fields, textField, valueField, parentField, idField, disabledField, props[idField] || value); } } }); } } function normalizeTreeNodes(_ref) { var textField = _ref.textField, valueField = _ref.valueField, disabledField = _ref.disabledField, parentField = _ref.parentField, idField = _ref.idField, multiple = _ref.multiple, children = _ref.children; var data = []; var fields = [{ name: textField, type: _enum.FieldType.reactNode }, { name: valueField }, { name: disabledField, type: _enum.FieldType["boolean"] }]; if (children) { getOptionsFromChildren(children, data, fields, textField, valueField, parentField, idField, disabledField); } return new _DataSet["default"]({ data: data, fields: fields, paging: false, selection: multiple ? _enum.DataSetSelection.multiple : _enum.DataSetSelection.single, autoLocateFirst: false, parentField: parentField, idField: idField }); } //# sourceMappingURL=normalizeTreeNodes.js.map