UNPKG

@alifd/meet-react

Version:

Fusion Mobile React UI System Component

94 lines (93 loc) 2.17 kB
"use strict"; exports.__esModule = true; exports.formatNewIndexByLast = formatNewIndexByLast; exports.getDataArray = getDataArray; exports.getDataArrayByIndex = getDataArrayByIndex; exports.getIndex = getIndex; function getDataArray(data, value, cascade) { if (data === void 0) { data = []; } if (!cascade) { return data; } if (Array.isArray(data) && data.length === 0) { return data; } var array = [].concat(data); var ret = [data]; var values = [].concat(value); if (values.length === 0 && data.length > 0) { values.push(data[0].value); } var i = 0; while (array.length > 0) { var _ref = array.find(function (it) { return it.value === values[i]; }) || array[0], _ref$children = _ref.children, children = _ref$children === void 0 ? [] : _ref$children; if (children.length > 0) { ret.push(children); } array = children; i++; } return ret; } function getDataArrayByIndex(data, indexList, cascade) { if (indexList === void 0) { indexList = []; } if (!cascade) { return data; } var i = 0; var array = [].concat(data); var ret = [data]; while (array && array.length > 0) { var index = indexList[i] || 0; if (index !== 0 && index >= array.length) { index = array.length - 1; } var children = array[index].children; if (children) { ret.push(children); } array = children; i++; } return ret; } function getIndex(dataArray, value) { return dataArray.reduce(function (rs, arr, index) { arr.forEach(function (obj, j) { if (obj.value === value[index]) { rs = rs.concat(j); } }); return rs; }, []); } function formatNewIndexByLast(newIndex, lastIndex) { if (newIndex === void 0) { newIndex = []; } if (lastIndex === void 0) { lastIndex = []; } var isSame = true; if (!lastIndex.length) { return newIndex; } return newIndex.map(function (val, index) { if (!isSame) { return 0; } else if (lastIndex[index] !== undefined && val === lastIndex[index]) { return val; } else { isSame = false; return val; } }); }