react-complex-tree
Advanced tools
Comparing version 2.4.0 to 2.4.1
@@ -1,2 +0,1 @@ | ||
/// <reference types="react" /> | ||
import { TreeItemIndex } from '../types'; | ||
@@ -3,0 +2,0 @@ export declare const TreeItemChildren: (props: { |
@@ -1,2 +0,1 @@ | ||
/// <reference types="react" /> | ||
import { TreeItemIndex } from '../types'; | ||
@@ -3,0 +2,0 @@ export declare const TreeItemElement: (props: { |
@@ -179,3 +179,3 @@ "use strict"; | ||
}); }, onDrop: function (items, target) { return __awaiter(void 0, void 0, void 0, function () { | ||
var promises, orderedItems, _loop_1, _i, orderedItems_1, item, state_1; | ||
var promises, itemsIndices, itemsPriorToInsertion, _loop_1, _i, items_1, item, state_1, newParent, newParentChildren; | ||
var _a, _b, _c, _d, _e; | ||
@@ -186,3 +186,4 @@ return __generator(this, function (_f) { | ||
promises = []; | ||
orderedItems = target.targetType === 'between-items' ? __spreadArray([], items, true).reverse() : items; | ||
itemsIndices = items.map(function (i) { return i.index; }); | ||
itemsPriorToInsertion = 0; | ||
_loop_1 = function (item) { | ||
@@ -196,33 +197,24 @@ var parent_1 = Object.values(currentItems).find(function (potentialParent) { var _a; return (_a = potentialParent.children) === null || _a === void 0 ? void 0 : _a.includes(item.index); }); | ||
} | ||
if (target.targetType === 'item' || target.targetType === 'root') { | ||
if (target.targetItem === parent_1.index) { | ||
// NOOP | ||
} | ||
else { | ||
promises.push(dataProvider.onChangeItemChildren(parent_1.index, parent_1.children.filter(function (child) { return child !== item.index; }))); | ||
promises.push(dataProvider.onChangeItemChildren(target.targetItem, __spreadArray(__spreadArray([], ((_a = currentItems[target.targetItem].children) !== null && _a !== void 0 ? _a : []), true), [ | ||
item.index, | ||
], false))); | ||
} | ||
if (target.targetType === 'between-items' && | ||
target.parentItem === item.index) { | ||
return { value: void 0 }; | ||
} | ||
else { | ||
var newParent = currentItems[target.parentItem]; | ||
var newParentChildren = __spreadArray([], ((_b = newParent.children) !== null && _b !== void 0 ? _b : []), true).filter(function (child) { return child !== item.index; }); | ||
if (target.parentItem === item.index) { | ||
return { value: void 0 }; | ||
} | ||
if ((target.targetType === 'item' || target.targetType === 'root') && | ||
target.targetItem !== parent_1.index) { | ||
promises.push(dataProvider.onChangeItemChildren(parent_1.index, parent_1.children.filter(function (child) { return child !== item.index; }))); | ||
} | ||
if (target.targetType === 'between-items') { | ||
if (target.parentItem === parent_1.index) { | ||
var isOldItemPriorToNewItem = ((_d = ((_c = newParent.children) !== null && _c !== void 0 ? _c : []).findIndex(function (child) { return child === item.index; })) !== null && _d !== void 0 ? _d : Infinity) < target.childIndex; | ||
newParentChildren.splice(target.childIndex - (isOldItemPriorToNewItem ? 1 : 0), 0, item.index); | ||
promises.push(dataProvider.onChangeItemChildren(target.parentItem, newParentChildren)); | ||
var newParent = currentItems[target.parentItem]; | ||
var isOldItemPriorToNewItem = ((_b = ((_a = newParent.children) !== null && _a !== void 0 ? _a : []).findIndex(function (child) { return child === item.index; })) !== null && _b !== void 0 ? _b : Infinity) < target.childIndex; | ||
itemsPriorToInsertion += isOldItemPriorToNewItem ? 1 : 0; | ||
} | ||
else { | ||
newParentChildren.splice(target.childIndex, 0, item.index); | ||
promises.push(dataProvider.onChangeItemChildren(parent_1.index, parent_1.children.filter(function (child) { return child !== item.index; }))); | ||
promises.push(dataProvider.onChangeItemChildren(target.parentItem, newParentChildren)); | ||
} | ||
} | ||
}; | ||
for (_i = 0, orderedItems_1 = orderedItems; _i < orderedItems_1.length; _i++) { | ||
item = orderedItems_1[_i]; | ||
// move old items out | ||
for (_i = 0, items_1 = items; _i < items_1.length; _i++) { | ||
item = items_1[_i]; | ||
state_1 = _loop_1(item); | ||
@@ -232,2 +224,13 @@ if (typeof state_1 === "object") | ||
} | ||
// insert new items | ||
if (target.targetType === 'item' || target.targetType === 'root') { | ||
promises.push(dataProvider.onChangeItemChildren(target.targetItem, __spreadArray(__spreadArray([], ((_c = currentItems[target.targetItem].children) !== null && _c !== void 0 ? _c : []).filter(function (i) { return !itemsIndices.includes(i); }), true), itemsIndices, true))); | ||
} | ||
else { | ||
newParent = currentItems[target.parentItem]; | ||
newParentChildren = __spreadArray([], ((_d = newParent.children) !== null && _d !== void 0 ? _d : []), true).filter(function (c) { return !itemsIndices.includes(c); }); | ||
newParentChildren.splice.apply(newParentChildren, __spreadArray([target.childIndex - itemsPriorToInsertion, | ||
0], itemsIndices, false)); | ||
promises.push(dataProvider.onChangeItemChildren(target.parentItem, newParentChildren)); | ||
} | ||
return [4 /*yield*/, Promise.all(promises)]; | ||
@@ -234,0 +237,0 @@ case 1: |
@@ -1,2 +0,1 @@ | ||
/// <reference types="react" /> | ||
export declare const useIsMounted: () => import("react").MutableRefObject<boolean>; |
@@ -153,3 +153,3 @@ var __assign = (this && this.__assign) || function () { | ||
}); }, onDrop: function (items, target) { return __awaiter(void 0, void 0, void 0, function () { | ||
var promises, orderedItems, _loop_1, _i, orderedItems_1, item, state_1; | ||
var promises, itemsIndices, itemsPriorToInsertion, _loop_1, _i, items_1, item, state_1, newParent, newParentChildren; | ||
var _a, _b, _c, _d, _e; | ||
@@ -160,3 +160,4 @@ return __generator(this, function (_f) { | ||
promises = []; | ||
orderedItems = target.targetType === 'between-items' ? __spreadArray([], items, true).reverse() : items; | ||
itemsIndices = items.map(function (i) { return i.index; }); | ||
itemsPriorToInsertion = 0; | ||
_loop_1 = function (item) { | ||
@@ -170,33 +171,24 @@ var parent_1 = Object.values(currentItems).find(function (potentialParent) { var _a; return (_a = potentialParent.children) === null || _a === void 0 ? void 0 : _a.includes(item.index); }); | ||
} | ||
if (target.targetType === 'item' || target.targetType === 'root') { | ||
if (target.targetItem === parent_1.index) { | ||
// NOOP | ||
} | ||
else { | ||
promises.push(dataProvider.onChangeItemChildren(parent_1.index, parent_1.children.filter(function (child) { return child !== item.index; }))); | ||
promises.push(dataProvider.onChangeItemChildren(target.targetItem, __spreadArray(__spreadArray([], ((_a = currentItems[target.targetItem].children) !== null && _a !== void 0 ? _a : []), true), [ | ||
item.index, | ||
], false))); | ||
} | ||
if (target.targetType === 'between-items' && | ||
target.parentItem === item.index) { | ||
return { value: void 0 }; | ||
} | ||
else { | ||
var newParent = currentItems[target.parentItem]; | ||
var newParentChildren = __spreadArray([], ((_b = newParent.children) !== null && _b !== void 0 ? _b : []), true).filter(function (child) { return child !== item.index; }); | ||
if (target.parentItem === item.index) { | ||
return { value: void 0 }; | ||
} | ||
if ((target.targetType === 'item' || target.targetType === 'root') && | ||
target.targetItem !== parent_1.index) { | ||
promises.push(dataProvider.onChangeItemChildren(parent_1.index, parent_1.children.filter(function (child) { return child !== item.index; }))); | ||
} | ||
if (target.targetType === 'between-items') { | ||
if (target.parentItem === parent_1.index) { | ||
var isOldItemPriorToNewItem = ((_d = ((_c = newParent.children) !== null && _c !== void 0 ? _c : []).findIndex(function (child) { return child === item.index; })) !== null && _d !== void 0 ? _d : Infinity) < target.childIndex; | ||
newParentChildren.splice(target.childIndex - (isOldItemPriorToNewItem ? 1 : 0), 0, item.index); | ||
promises.push(dataProvider.onChangeItemChildren(target.parentItem, newParentChildren)); | ||
var newParent = currentItems[target.parentItem]; | ||
var isOldItemPriorToNewItem = ((_b = ((_a = newParent.children) !== null && _a !== void 0 ? _a : []).findIndex(function (child) { return child === item.index; })) !== null && _b !== void 0 ? _b : Infinity) < target.childIndex; | ||
itemsPriorToInsertion += isOldItemPriorToNewItem ? 1 : 0; | ||
} | ||
else { | ||
newParentChildren.splice(target.childIndex, 0, item.index); | ||
promises.push(dataProvider.onChangeItemChildren(parent_1.index, parent_1.children.filter(function (child) { return child !== item.index; }))); | ||
promises.push(dataProvider.onChangeItemChildren(target.parentItem, newParentChildren)); | ||
} | ||
} | ||
}; | ||
for (_i = 0, orderedItems_1 = orderedItems; _i < orderedItems_1.length; _i++) { | ||
item = orderedItems_1[_i]; | ||
// move old items out | ||
for (_i = 0, items_1 = items; _i < items_1.length; _i++) { | ||
item = items_1[_i]; | ||
state_1 = _loop_1(item); | ||
@@ -206,2 +198,13 @@ if (typeof state_1 === "object") | ||
} | ||
// insert new items | ||
if (target.targetType === 'item' || target.targetType === 'root') { | ||
promises.push(dataProvider.onChangeItemChildren(target.targetItem, __spreadArray(__spreadArray([], ((_c = currentItems[target.targetItem].children) !== null && _c !== void 0 ? _c : []).filter(function (i) { return !itemsIndices.includes(i); }), true), itemsIndices, true))); | ||
} | ||
else { | ||
newParent = currentItems[target.parentItem]; | ||
newParentChildren = __spreadArray([], ((_d = newParent.children) !== null && _d !== void 0 ? _d : []), true).filter(function (c) { return !itemsIndices.includes(c); }); | ||
newParentChildren.splice.apply(newParentChildren, __spreadArray([target.childIndex - itemsPriorToInsertion, | ||
0], itemsIndices, false)); | ||
promises.push(dataProvider.onChangeItemChildren(target.parentItem, newParentChildren)); | ||
} | ||
return [4 /*yield*/, Promise.all(promises)]; | ||
@@ -208,0 +211,0 @@ case 1: |
@@ -153,3 +153,3 @@ var __assign = (this && this.__assign) || function () { | ||
}); }, onDrop: function (items, target) { return __awaiter(void 0, void 0, void 0, function () { | ||
var promises, orderedItems, _loop_1, _i, orderedItems_1, item, state_1; | ||
var promises, itemsIndices, itemsPriorToInsertion, _loop_1, _i, items_1, item, state_1, newParent, newParentChildren; | ||
var _a, _b, _c, _d, _e; | ||
@@ -160,3 +160,4 @@ return __generator(this, function (_f) { | ||
promises = []; | ||
orderedItems = target.targetType === 'between-items' ? __spreadArray([], items, true).reverse() : items; | ||
itemsIndices = items.map(function (i) { return i.index; }); | ||
itemsPriorToInsertion = 0; | ||
_loop_1 = function (item) { | ||
@@ -170,33 +171,24 @@ var parent_1 = Object.values(currentItems).find(function (potentialParent) { var _a; return (_a = potentialParent.children) === null || _a === void 0 ? void 0 : _a.includes(item.index); }); | ||
} | ||
if (target.targetType === 'item' || target.targetType === 'root') { | ||
if (target.targetItem === parent_1.index) { | ||
// NOOP | ||
} | ||
else { | ||
promises.push(dataProvider.onChangeItemChildren(parent_1.index, parent_1.children.filter(function (child) { return child !== item.index; }))); | ||
promises.push(dataProvider.onChangeItemChildren(target.targetItem, __spreadArray(__spreadArray([], ((_a = currentItems[target.targetItem].children) !== null && _a !== void 0 ? _a : []), true), [ | ||
item.index, | ||
], false))); | ||
} | ||
if (target.targetType === 'between-items' && | ||
target.parentItem === item.index) { | ||
return { value: void 0 }; | ||
} | ||
else { | ||
var newParent = currentItems[target.parentItem]; | ||
var newParentChildren = __spreadArray([], ((_b = newParent.children) !== null && _b !== void 0 ? _b : []), true).filter(function (child) { return child !== item.index; }); | ||
if (target.parentItem === item.index) { | ||
return { value: void 0 }; | ||
} | ||
if ((target.targetType === 'item' || target.targetType === 'root') && | ||
target.targetItem !== parent_1.index) { | ||
promises.push(dataProvider.onChangeItemChildren(parent_1.index, parent_1.children.filter(function (child) { return child !== item.index; }))); | ||
} | ||
if (target.targetType === 'between-items') { | ||
if (target.parentItem === parent_1.index) { | ||
var isOldItemPriorToNewItem = ((_d = ((_c = newParent.children) !== null && _c !== void 0 ? _c : []).findIndex(function (child) { return child === item.index; })) !== null && _d !== void 0 ? _d : Infinity) < target.childIndex; | ||
newParentChildren.splice(target.childIndex - (isOldItemPriorToNewItem ? 1 : 0), 0, item.index); | ||
promises.push(dataProvider.onChangeItemChildren(target.parentItem, newParentChildren)); | ||
var newParent = currentItems[target.parentItem]; | ||
var isOldItemPriorToNewItem = ((_b = ((_a = newParent.children) !== null && _a !== void 0 ? _a : []).findIndex(function (child) { return child === item.index; })) !== null && _b !== void 0 ? _b : Infinity) < target.childIndex; | ||
itemsPriorToInsertion += isOldItemPriorToNewItem ? 1 : 0; | ||
} | ||
else { | ||
newParentChildren.splice(target.childIndex, 0, item.index); | ||
promises.push(dataProvider.onChangeItemChildren(parent_1.index, parent_1.children.filter(function (child) { return child !== item.index; }))); | ||
promises.push(dataProvider.onChangeItemChildren(target.parentItem, newParentChildren)); | ||
} | ||
} | ||
}; | ||
for (_i = 0, orderedItems_1 = orderedItems; _i < orderedItems_1.length; _i++) { | ||
item = orderedItems_1[_i]; | ||
// move old items out | ||
for (_i = 0, items_1 = items; _i < items_1.length; _i++) { | ||
item = items_1[_i]; | ||
state_1 = _loop_1(item); | ||
@@ -206,2 +198,13 @@ if (typeof state_1 === "object") | ||
} | ||
// insert new items | ||
if (target.targetType === 'item' || target.targetType === 'root') { | ||
promises.push(dataProvider.onChangeItemChildren(target.targetItem, __spreadArray(__spreadArray([], ((_c = currentItems[target.targetItem].children) !== null && _c !== void 0 ? _c : []).filter(function (i) { return !itemsIndices.includes(i); }), true), itemsIndices, true))); | ||
} | ||
else { | ||
newParent = currentItems[target.parentItem]; | ||
newParentChildren = __spreadArray([], ((_d = newParent.children) !== null && _d !== void 0 ? _d : []), true).filter(function (c) { return !itemsIndices.includes(c); }); | ||
newParentChildren.splice.apply(newParentChildren, __spreadArray([target.childIndex - itemsPriorToInsertion, | ||
0], itemsIndices, false)); | ||
promises.push(dataProvider.onChangeItemChildren(target.parentItem, newParentChildren)); | ||
} | ||
return [4 /*yield*/, Promise.all(promises)]; | ||
@@ -208,0 +211,0 @@ case 1: |
{ | ||
"name": "react-complex-tree", | ||
"version": "2.4.0", | ||
"version": "2.4.1", | ||
"main": "lib/cjs/index.js", | ||
@@ -38,3 +38,3 @@ "module": "lib/esm/index.js", | ||
"cpy-cli": "^3.1.1", | ||
"demodata": "^2.4.0", | ||
"demodata": "^2.4.1", | ||
"jest": "^29.2.2", | ||
@@ -71,3 +71,3 @@ "jest-dom": "^4.0.0", | ||
}, | ||
"gitHead": "9f2dc9713551a0c6502dd77fc4aaec6996f06547" | ||
"gitHead": "c3e697cb09021ae7b34bac6c7dc0ec14404a4608" | ||
} |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
1309497
20326