acud
Version:
acg react 组件库
129 lines • 3.24 kB
JavaScript
import update from 'immutability-helper';
import guid from "rc-util/es/guid";
var _getParentKey = function getParentKey(key, tree) {
var parentKey;
for (var i = 0; i < tree.length; i++) {
var node = tree[i];
if (node.children) {
if (node.children.some(function (item) {
return item.key === key;
})) {
parentKey = node.key;
} else if (_getParentKey(key, node.children)) {
parentKey = _getParentKey(key, node.children);
}
}
}
return parentKey;
};
export { _getParentKey as getParentKey };
var _editNode = function editNode(node, data) {
return data === null || data === void 0 ? void 0 : data.map(function (item) {
if (item.key === node.key) {
return update(item, {
$merge: {
isEditable: true,
title: item.title
}
});
}
var _children = item.children;
if (_children) {
return update(item, {
children: function children() {
return _editNode(node, _children);
}
});
}
return item;
});
};
export { _editNode as editNode };
var _saveNode = function saveNode(node, data) {
return data.map(function (item) {
if (item.key === node.key) {
return update(item, {
$merge: {
title: item.title,
isEditable: false,
disabled: false
}
});
}
var _children2 = item.children;
if (_children2) {
return update(item, {
children: function children() {
return _saveNode(node, _children2);
}
});
}
return item;
});
};
export { _saveNode as saveNode };
var _deleteNode = function deleteNode(node, data) {
return data.map(function (item) {
if (item.key === node.key) {
return null;
}
var _children3 = item.children;
if (_children3) {
return update(item, {
children: function children() {
return _deleteNode(node, _children3).filter(function (x) {
return x !== null;
});
}
});
}
return item;
});
};
export { _deleteNode as deleteNode };
var _changeNode = function changeNode(node, newNodeObj, data) {
return data.map(function (item) {
if (item.key === node.key) {
return update(item, {
$merge: newNodeObj
});
}
var _children4 = item.children;
if (_children4) {
return update(item, {
children: function children() {
return _changeNode(node, newNodeObj, _children4);
}
});
}
return item;
});
};
export { _changeNode as changeNode };
var _addNode = function addNode(node, data) {
return data.map(function (item) {
if (item.key === node.key) {
var dataNode = {
key: "".concat(node.key).concat(guid()),
title: '',
isEditable: true
};
return update(item, {
children: function children(_children5) {
return update(_children5 || [], {
$push: [dataNode]
});
}
});
}
if (item.children) {
return update(item, {
children: function children() {
return _addNode(node, item.children);
}
});
}
return item;
});
};
export { _addNode as addNode };