UNPKG

choerodon-ui

Version:

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

70 lines (56 loc) 2.39 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"]; Object.defineProperty(exports, "__esModule", { value: true }); exports.getKey = getKey; exports.getTreeNodes = getTreeNodes; var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray")); var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2")); var _mobx = require("mobx"); function getKey(record, idField) { return String(idField ? record.get(idField) : record.key); } function getTreeNode(record, children, idField, text, treeNodeProps, async, filterText) { var key = getKey(record, idField); return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({ title: text, isLeaf: async ? undefined : filterText ? !children || !children.length : !record.children || !record.children.length, children: children, record: record }, record.get('__treeNodeProps')), {}, { selectable: record.dataSet.selection ? record.selectable : false, eventKey: key, key: key }, treeNodeProps); } function getTreeNodes(dataSet, records, renderer, onTreeNode, async, titleField, optionsFilter, searchMatcher, filterText) { var idField = dataSet.props.idField; if (records) { return records.reduce(function (array, record, index) { if (record.status !== 'delete') { var children = record.children ? getTreeNodes(dataSet, record.children, renderer, onTreeNode, async, titleField, optionsFilter, searchMatcher, filterText) : null; if (!searchMatcher || !filterText || children && children.length || searchMatcher(record, filterText)) { if (!optionsFilter || optionsFilter(record, index, records)) { var node = getTreeNode(record, children, idField, renderer({ dataSet: dataSet, record: record, text: (0, _mobx.toJS)(record.get(titleField)) }), onTreeNode({ dataSet: dataSet, record: record }), async, filterText); if (node) { array.push(node); } } else if (children) { array.push.apply(array, (0, _toConsumableArray2["default"])(children)); } } } return array; }, []); } return null; } //# sourceMappingURL=util.js.map