UNPKG

antd

Version:

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

76 lines (63 loc) 2.41 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.flatArray = flatArray; exports.treeMap = treeMap; exports.normalizeColumns = normalizeColumns; var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _objectAssign = require('object-assign'); var _objectAssign2 = _interopRequireDefault(_objectAssign); var _Column = require('./Column'); var _Column2 = _interopRequireDefault(_Column); var _ColumnGroup = require('./ColumnGroup'); var _ColumnGroup2 = _interopRequireDefault(_ColumnGroup); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function flatArray() { var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; var childrenName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'children'; var result = []; var loop = function loop(array) { array.forEach(function (item) { var newItem = (0, _objectAssign2["default"])({}, item); delete newItem[childrenName]; result.push(newItem); if (item[childrenName] && item[childrenName].length > 0) { loop(item[childrenName]); } }); }; loop(data); return result; } function treeMap(tree, mapper) { var childrenName = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'children'; return tree.map(function (node, index) { var extra = {}; if (node[childrenName]) { extra[childrenName] = treeMap(node[childrenName], mapper, childrenName); } return (0, _objectAssign2["default"])({}, mapper(node, index), extra); }); } function normalizeColumns(elements) { var columns = []; _react2["default"].Children.forEach(elements, function (element) { if (!isColumnElement(element)) { return; } var column = (0, _objectAssign2["default"])({}, element.props); if (element.key) { column.key = element.key; } if (element.type === _ColumnGroup2["default"]) { column.children = normalizeColumns(column.children); } columns.push(column); }); return columns; } function isColumnElement(element) { return element && (element.type === _Column2["default"] || element.type === _ColumnGroup2["default"]); }