UNPKG

fx-form-widget

Version:
71 lines (67 loc) 1.91 kB
import _extends from "@babel/runtime/helpers/extends"; // 将树扁平化 export var 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 export var 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; }; export var filterTreeKeys = function filterTreeKeys(key, map) { if (typeof key !== 'string') return []; var arr = key.split('_'); return map.get(arr.length === 2 ? arr[1] : arr[0]); }; // 将所有符合条件的数据放入数组中 export var 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 export var 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; }; export var addKeyByArrayMap = function addKeyByArrayMap(list, isEmployee) { return list.map(function (item) { return _extends({}, item, { key: item.id, title: item.name, isEmployee: isEmployee }); }); };