UNPKG

fx-form-widget

Version:
76 lines (71 loc) 2.37 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports.traverseKeys = exports.transformArryToMap = exports.generateMapfromArray = exports.flattenTreeData = exports.filterTreeKeys = exports.addKeyByArrayMap = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); // 将树扁平化 var flattenTreeData = exports.flattenTreeData = function flattenTreeData(data, arr) { var cloneData = JSON.parse(JSON.stringify(data)); if (!Array.isArray(data)) return []; return cloneData.reduce(function (prev, next) { prev.push(next); var children = next.children; if (Array.isArray(children)) { flattenTreeData(children, arr); } return arr; }, arr); }; // 将数组变成map var transformArryToMap = exports.transformArryToMap = function transformArryToMap(arrs) { var treeDataMap = new Map(); arrs.forEach(function (data) { var id = data.id; if (!id) return; if (treeDataMap.has(id)) { var datas = treeDataMap.get(id); if (!datas) return; datas.push(data); treeDataMap.set(id, datas); } else { treeDataMap.set(id, [data]); } }); return treeDataMap; }; var filterTreeKeys = exports.filterTreeKeys = function filterTreeKeys(key, map) { if (typeof key !== 'string') return []; var arr = key.split('_'); return map.get(arr.length === 2 ? arr[1] : arr[0]); }; // 将所有符合条件的数据放入数组中 var traverseKeys = exports.traverseKeys = function traverseKeys(keys, map) { var arr = []; keys.forEach(function (key) { arr = arr.concat(filterTreeKeys(key, map)); }); // 数据进行去重 return Array.from(new Set(arr)).map(function (item) { return item.key; }); }; // 将数组转化为map var generateMapfromArray = exports.generateMapfromArray = function generateMapfromArray(array) { var map = new Map(); array.filter(function (item) { return item.isLeaf; }).forEach(function (item) { var id = item.id; map.set(id, item); }); return map; }; var addKeyByArrayMap = exports.addKeyByArrayMap = function addKeyByArrayMap(list, isEmployee) { return list.map(function (item) { return (0, _extends2["default"])({}, item, { key: item.id, title: item.name, isEmployee: isEmployee }); }); };