@nodeject/ui-components
Version:
UI library for non-trivial components
17 lines (16 loc) • 894 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.insertParentLocal = void 0;
var immer_1 = require("immer");
var insertParentLocal = function (args) {
var currentNodeWithNewParent = args.currentNodeWithNewParent, cytoGraph = args.cytoGraph, newNode = args.newNode, setCytoGraph = args.setCytoGraph;
var beforeIndex = cytoGraph.nodes.findIndex(function (n) { return n.data.id === currentNodeWithNewParent.data.id; });
var nextNodes = immer_1.default(cytoGraph.nodes, function (draft) {
draft.splice(beforeIndex, 0, newNode);
var index = draft.findIndex(function (n) { return n.data.id === currentNodeWithNewParent.data.id; });
draft.splice(index, 1);
draft.splice(index, 0, currentNodeWithNewParent);
});
setCytoGraph({ nodes: nextNodes });
};
exports.insertParentLocal = insertParentLocal;