Warning: The final argument passed to useMemo changed size between renders. The order and size of this array must remain constant.
Previous: [props => /*#__PURE__*/Object(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_2__["jsxDEV"])("div", {
className: cx(_blueprintjs_core__WEBPACK_IMPORTED_MODULE_0__["Classes"].TREE),
children: /*#__PURE__*/Object(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_2__["jsxDEV"])("ul", {
className: cx(_blueprintjs_core__WEBPACK_IMPORTED_MODULE_0__["Classes"].TREE_ROOT, _blueprintjs_core__WEBPACK_IMPORTED_MODULE_0__["Classes"].TREE_NODE_LIST),
...props.containerProps,
children: props.children
}, void 0, false, {
fileName: _jsxFileName,
lineNumber: 18,
columnNumber: 13
}, undefined)
}, void 0, false, {
fileName: _jsxFileName,
lineNumber: 17,
columnNumber: 9
}, undefined), props => /*#__PURE__*/Object(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_2__["jsxDEV"])("ul", {
className: cx(_blueprintjs_core__WEBPACK_IMPORTED_MODULE_0__["Classes"].TREE_NODE_LIST),
...props.containerProps,
children: props.children
}, void 0, false, {
fileName: _jsxFileName,
lineNumber: 28,
columnNumber: 9
}, undefined), props => /*#__PURE__*/Object(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_2__["jsxDEV"])("li", {
className: cx(_blueprintjs_core__WEBPACK_IMPORTED_MODULE_0__["Classes"].TREE_NODE, (props.context.isSelected || props.context.isDraggingOver) && _blueprintjs_core__WEBPACK_IMPORTED_MODULE_0__["Classes"].TREE_NODE_SELECTED),
...props.context.itemContainerWithChildrenProps,
children: [/*#__PURE__*/Object(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_2__["jsxDEV"])("div", {
className: cx(_blueprintjs_core__WEBPACK_IMPORTED_MODULE_0__["Classes"].TREE_NODE_CONTENT, `${_blueprintjs_core__WEBPACK_IMPORTED_MODULE_0__["Classes"].TREE_NODE_CONTENT}-${props.depth}`),
...props.context.itemContainerWithoutChildrenProps,
...props.context.interactiveElementProps,
children: [props.item.hasChildren ? props.arrow : /*#__PURE__*/Object(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_2__["jsxDEV"])("span", {
className: _blueprintjs_core__WEBPACK_IMPORTED_MODULE_0__["Classes"].TREE_NODE_CARET_NONE
}, void 0, false, {
fileName: _jsxFileName,
lineNumber: 53,
columnNumber: 21
}, undefined), props.item.data.icon !== undefined ? props.item.data.icon === null ? null : /*#__PURE__*/Object(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_2__["jsxDEV"])(_blueprintjs_core__WEBPACK_IMPORTED_MODULE_0__["Icon"], {
icon: props.item.data.icon,
className: _blueprintjs_core__WEBPACK_IMPORTED_MODULE_0__["Classes"].TREE_NODE_ICON
}, void 0, false, {
fileName: _jsxFileName,
lineNumber: 57,
columnNumber: 25
}, undefined) : (() => {
const icon = !props.item.hasChildren ? 'document' : props.context.isExpanded ? 'folder-open' : 'folder-close';
return /*#__PURE__*/Object(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_2__["jsxDEV"])(_blueprintjs_core__WEBPACK_IMPORTED_MODULE_0__["Icon"], {
icon: icon,
className: _blueprintjs_core__WEBPACK_IMPORTED_MODULE_0__["Classes"].TREE_NODE_ICON
}, void 0, false, {
fileName: _jsxFileName,
lineNumber: 69,
columnNumber: 32
}, undefined);
})(), props.title]
}, void 0, true, {
fileName: _jsxFileName,
lineNumber: 42,
columnNumber: 13
}, undefined), /*#__PURE__*/Object(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_2__["jsxDEV"])("div", {
className: cx(_blueprintjs_core__WEBPACK_IMPORTED_MODULE_0__["Classes"].COLLAPSE),
style: props.context.isExpanded ? {
height: 'auto',
overflowY: 'visible',
transition: 'none 0s ease 0s'
} : {},
children: /*#__PURE__*/Object(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_2__["jsxDEV"])(_blueprintjs_core__WEBPACK_IMPORTED_MODULE_0__["Collapse"], {
isOpen: props.context.isExpanded,
transitionDuration: 0,
children: props.children
}, void 0, false, {
fileName: _jsxFileName,
lineNumber: 86,
columnNumber: 17
}, undefined)
}, void 0, false, {
fileName: _jsxFileName,
lineNumber: 74,
columnNumber: 13
}, undefined)]
}, void 0, true, {
fileName: _jsxFileName,
lineNumber: 34,
columnNumber: 9
}, undefined), props => /*#__PURE__*/Object(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_2__["jsxDEV"])(_blueprintjs_core__WEBPACK_IMPORTED_MODULE_0__["Icon"], {
icon: "chevron-right",
className: cx(_blueprintjs_core__WEBPACK_IMPORTED_MODULE_0__["Classes"].TREE_NODE_CARET, props.context.isExpanded ? _blueprintjs_core__WEBPACK_IMPORTED_MODULE_0__["Classes"].TREE_NODE_CARET_OPEN : _blueprintjs_core__WEBPACK_IMPORTED_MODULE_0__["Classes"].TREE_NODE_CARET_CLOSED),
...props.context.arrowProps
}, void 0, false, {
fileName: _jsxFileName,
lineNumber: 94,
columnNumber: 9
}, undefined), _ref => {
let {
title,
context,
info
} = _ref;
if (!info.isSearching || !context.isSearchMatching || !info.search) {
return /*#__PURE__*/Object(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_2__["jsxDEV"])("span", {
className: _blueprintjs_core__WEBPACK_IMPORTED_MODULE_0__["Classes"].TREE_NODE_LABEL,
children: title
}, void 0, false, {
fileName: _jsxFileName,
lineNumber: 108,
columnNumber: 20
}, undefined);
} else {
const startIndex = title.toLowerCase().indexOf(info.search.toLowerCase());
return /*#__PURE__*/Object(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_2__["jsxDEV"])(react__WEBPACK_IMPORTED_MODULE_1___default.a.Fragment, {
children: [startIndex > 0 && /*#__PURE__*/Object(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_2__["jsxDEV"])("span", {
children: title.slice(0, startIndex)
}, void 0, false, {
fileName: _jsxFileName,
lineNumber: 113,
columnNumber: 40
}, undefined), /*#__PURE__*/Object(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_2__["jsxDEV"])("span", {
className: "rct-tree-item-search-highlight",
children: title.slice(startIndex, startIndex + info.search.length)
}, void 0, false, {
fileName: _jsxFileName,
lineNumber: 114,
columnNumber: 21
}, undefined), startIndex + info.search.length < title.length && /*#__PURE__*/Object(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_2__["jsxDEV"])("span", {
children: title.slice(startIndex + info.search.length, title.length)
}, void 0, false, {
fileName: _jsxFileName,
lineNumber: 118,
columnNumber: 25
}, undefined)]
}, void 0, true, {
fileName: _jsxFileName,
lineNumber: 112,
columnNumber: 17
}, undefined);
}
}, _ref2 => {
let {
draggingPosition,
lineProps
} = _ref2;
return /*#__PURE__*/Object(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_2__["jsxDEV"])("div", { ...lineProps,
style: {
position: 'absolute',
right: '0',
top: draggingPosition.targetType === 'between-items' && draggingPosition.linePosition === 'top' ? '0px' : draggingPosition.targetType === 'between-items' && draggingPosition.linePosition === 'bottom' ? '-4px' : '-2px',
left: `${draggingPosition.depth * 23}px`,
height: '4px',
backgroundColor: _blueprintjs_core__WEBPACK_IMPORTED_MODULE_0__["Colors"].BLUE3
}
}, void 0, false, {
fileName: _jsxFileName,
lineNumber: 128,
columnNumber: 9
}, undefined);
}, props => /*#__PURE__*/Object(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_2__["jsxDEV"])("form", { ...props.formProps,
style: {
display: 'contents'
},
children: [/*#__PURE__*/Object(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_2__["jsxDEV"])("span", {
className: _blueprintjs_core__WEBPACK_IMPORTED_MODULE_0__["Classes"].TREE_NODE_LABEL,
children: /*#__PURE__*/Object(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_2__["jsxDEV"])("input", { ...props.inputProps,
ref: props.inputRef,
className: "rct-tree-item-renaming-input"
}, void 0, false, {
fileName: _jsxFileName,
lineNumber: 151,
columnNumber: 17
}, undefined)
}, void 0, false, {
fileName: _jsxFileName,
lineNumber: 150,
columnNumber: 13
}, undefined), /*#__PURE__*/Object(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_2__["jsxDEV"])("span", {
className: _blueprintjs_core__WEBPACK_IMPORTED_MODULE_0__["Classes"].TREE_NODE_SECONDARY_LABEL,
children: /*#__PURE__*/Object(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_2__["jsxDEV"])(_blueprintjs_core__WEBPACK_IMPORTED_MODULE_0__["Button"], {
icon: "tick",
...props.submitButtonProps,
type: "submit",
minimal: true,
small: true
}, void 0, false, {
fileName: _jsxFileName,
lineNumber: 158,
columnNumber: 17
}, undefined)
}, void 0, false, {
fileName: _jsxFileName,
lineNumber: 157,
columnNumber: 13
}, undefined)]
}, void 0, true, {
fileName: _jsxFileName,
lineNumber: 149,
columnNumber: 9
}, undefined), props => /*#__PURE__*/Object(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_2__["jsxDEV"])("div", {
className: cx('rct-tree-search-input-container'),
children: /*#__PURE__*/Object(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_2__["jsxDEV"])(_blueprintjs_core__WEBPACK_IMPORTED_MODULE_0__["InputGroup"], { ...props.inputProps,
placeholder: "Search..."
}, void 0, false, {
fileName: _jsxFileName,
lineNumber: 171,
columnNumber: 13
}, undefined)
}, void 0, false, {
fileName: _jsxFileName,
lineNumber: 170,
columnNumber: 9
}, undefined), 1, [object Object], item => item.data, [object Object], [object Object], [object Object], function (item, treeId) {
var _a;
amendViewState(treeId, function (old) {
var _a;
return __assign(__assign({}, old), {
expandedItems: __spreadArray(__spreadArray([], (_a = old.expandedItems) !== null && _a !== void 0 ? _a : []), [item.index])
});
});
(_a = props.onExpandItem) === null || _a === void 0 ? void 0 : _a.call(props, item, treeId); //const itemsToLoad = item.children?.filter(itemId => currentItems[itemId] === undefined) ?? [];
//dataProvider.getTreeItems(itemsToLoad).then(items => {
// writeItems(items.map(item => ({ [item.index]: item })).reduce((a, b) => ({...a, ...b}), {}));
// setViewState(viewState => ({ ...viewState, expandedItems: [...viewState.expandedItems ?? [], item.index] }));
//});
}, function (item, treeId) {
var _a;
amendViewState(treeId, function (old) {
var _a;
return __assign(__assign({}, old), {
expandedItems: (_a = old.expandedItems) === null || _a === void 0 ? void 0 : _a.filter(function (id) {
return id !== item.index;
})
});
});
(_a = props.onCollapseItem) === null || _a === void 0 ? void 0 : _a.call(props, item, treeId);
}, function (items, treeId) {
var _a;
amendViewState(treeId, function (old) {
return __assign(__assign({}, old), {
selectedItems: items
});
});
(_a = props.onSelectItems) === null || _a === void 0 ? void 0 : _a.call(props, items, treeId);
}, function (item, treeId) {
var _a;
amendViewState(treeId, function (old) {
return __assign(__assign({}, old), {
focusedItem: item.index
});
});
(_a = props.onFocusItem) === null || _a === void 0 ? void 0 : _a.call(props, item, treeId);
}, function (item, treeId) {
var _a;
amendViewState(treeId, function (old) {
return __assign(__assign({}, old), {
renamingItem: item.index
});
});
(_a = props.onStartRenamingItem) === null || _a === void 0 ? void 0 : _a.call(props, item, treeId);
}, function (item, treeId) {
var _a;
amendViewState(treeId, function (old) {
return __assign(__assign({}, old), {
renamingItem: undefined
});
});
(_a = props.onAbortRenamingItem) === null || _a === void 0 ? void 0 : _a.call(props, item, treeId);
}, function (item, name, treeId) {
return __awaiter(void 0, void 0, void 0, function () {
var newItem;
var _a;
var _b;
return __generator(this, function (_c) {
switch (_c.label) {
case 0:
return [4
/*yield*/
, dataProvider.onRenameItem(item, name)];
case 1:
_c.sent();
amendViewState(treeId, function (old) {
return __assign(__assign({}, old), {
renamingItem: undefined
});
});
return [4
/*yield*/
, dataProvider.getTreeItem(item.index)];
case 2:
newItem = _c.sent();
writeItems((_a = {}, _a[item.index] = newItem, _a));
(_b = props.onRenameItem) === null || _b === void 0 ? void 0 : _b.call(props, item, name, treeId);
return [2
/*return*/
];
}
});
});
}, function (items, target) {
return __awaiter(void 0, void 0, void 0, function () {
var _loop_1, _i, items_1, item;
var _a, _b, _c, _d, _e;
return __generator(this, function (_f) {
switch (_f.label) {
case 0:
_loop_1 = function (item) {
var parent_1, newParent, newParentChildren, isOldItemPriorToNewItem;
return __generator(this, function (_g) {
switch (_g.label) {
case 0:
parent_1 = Object.values(currentItems).find(function (potentialParent) {
var _a;
return (_a = potentialParent.children) === null || _a === void 0 ? void 0 : _a.includes(item.index);
});
newParent = currentItems[target.parentItem];
if (!parent_1) {
throw Error("Could not find parent of item \"" + item.index + "\"");
}
if (!parent_1.children) {
throw Error("Parent \"" + parent_1.index + "\" of item \"" + item.index + "\" did not have any children");
}
if (!(target.targetType === 'item')) return [3
/*break*/
, 5];
if (!(target.targetItem === parent_1.index)) return [3
/*break*/
, 1];
return [3
/*break*/
, 4];
case 1:
return [4
/*yield*/
, dataProvider.onChangeItemChildren(parent_1.index, parent_1.children.filter(function (child) {
return child !== item.index;
}))];
case 2:
_g.sent();
return [4
/*yield*/
, dataProvider.onChangeItemChildren(target.targetItem, __spreadArray(__spreadArray([], (_a = currentItems[target.targetItem].children) !== null && _a !== void 0 ? _a : []), [item.index]))];
case 3:
_g.sent();
_g.label = 4;
case 4:
return [3
/*break*/
, 10];
case 5:
newParentChildren = __spreadArray([], (_b = newParent.children) !== null && _b !== void 0 ? _b : []).filter(function (child) {
return child !== item.index;
});
if (!(target.parentItem === parent_1.index)) return [3
/*break*/
, 7];
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);
return [4
/*yield*/
, dataProvider.onChangeItemChildren(target.parentItem, newParentChildren)];
case 6:
_g.sent();
return [3
/*break*/
, 10];
case 7:
newParentChildren.splice(target.childIndex, 0, item.index);
return [4
/*yield*/
, dataProvider.onChangeItemChildren(parent_1.index, parent_1.children.filter(function (child) {
return child !== item.index;
}))];
case 8:
_g.sent();
return [4
/*yield*/
, dataProvider.onChangeItemChildren(target.parentItem, newParentChildren)];
case 9:
_g.sent();
_g.label = 10;
case 10:
return [2
/*return*/
];
}
});
};
_i = 0, items_1 = items;
_f.label = 1;
case 1:
if (!(_i < items_1.length)) return [3
/*break*/
, 4];
item = items_1[_i];
return [5
/*yield**/
, _loop_1(item)];
case 2:
_f.sent();
_f.label = 3;
case 3:
_i++;
return [3
/*break*/
, 1];
case 4:
(_e = props.onDrop) === null || _e === void 0 ? void 0 : _e.call(props, items, target);
return [2
/*return*/
];
}
});
});
}, function (itemIds) {
var _a;
var _b; // Batch individual fetch-item-calls together
if (missingItemIds.current.length === 0) {
setTimeout(function () {
dataProvider.getTreeItems(missingItemIds.current).then(function (items) {
writeItems(items.map(function (item) {
var _a;
return _a = {}, _a[item.index] = item, _a;
}).reduce(function (a, b) {
return __assign(__assign({}, a), b);
}, {}));
});
missingItemIds.current = [];
});
}
(_a = missingItemIds.current).push.apply(_a, itemIds);
(_b = props.onMissingItems) === null || _b === void 0 ? void 0 : _b.call(props, itemIds);
}]
Incoming: [props => /*#__PURE__*/Object(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_2__["jsxDEV"])("div", {
className: cx(_blueprintjs_core__WEBPACK_IMPORTED_MODULE_0__["Classes"].TREE),
children: /*#__PURE__*/Object(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_2__["jsxDEV"])("ul", {
className: cx(_blueprintjs_core__WEBPACK_IMPORTED_MODULE_0__["Classes"].TREE_ROOT, _blueprintjs_core__WEBPACK_IMPORTED_MODULE_0__["Classes"].TREE_NODE_LIST),
...props.containerProps,
children: props.children
}, void 0, false, {
fileName: _jsxFileName,
lineNumber: 18,
columnNumber: 13
}, undefined)
}, void 0, false, {
fileName: _jsxFileName,
lineNumber: 17,
columnNumber: 9
}, undefined), props => /*#__PURE__*/Object(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_2__["jsxDEV"])("ul", {
className: cx(_blueprintjs_core__WEBPACK_IMPORTED_MODULE_0__["Classes"].TREE_NODE_LIST),
...props.containerProps,
children: props.children
}, void 0, false, {
fileName: _jsxFileName,
lineNumber: 28,
columnNumber: 9
}, undefined), props => /*#__PURE__*/Object(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_2__["jsxDEV"])("li", {
className: cx(_blueprintjs_core__WEBPACK_IMPORTED_MODULE_0__["Classes"].TREE_NODE, (props.context.isSelected || props.context.isDraggingOver) && _blueprintjs_core__WEBPACK_IMPORTED_MODULE_0__["Classes"].TREE_NODE_SELECTED),
...props.context.itemContainerWithChildrenProps,
children: [/*#__PURE__*/Object(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_2__["jsxDEV"])("div", {
className: cx(_blueprintjs_core__WEBPACK_IMPORTED_MODULE_0__["Classes"].TREE_NODE_CONTENT, `${_blueprintjs_core__WEBPACK_IMPORTED_MODULE_0__["Classes"].TREE_NODE_CONTENT}-${props.depth}`),
...props.context.itemContainerWithoutChildrenProps,
...props.context.interactiveElementProps,
children: [props.item.hasChildren ? props.arrow : /*#__PURE__*/Object(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_2__["jsxDEV"])("span", {
className: _blueprintjs_core__WEBPACK_IMPORTED_MODULE_0__["Classes"].TREE_NODE_CARET_NONE
}, void 0, false, {
fileName: _jsxFileName,
lineNumber: 53,
columnNumber: 21
}, undefined), props.item.data.icon !== undefined ? props.item.data.icon === null ? null : /*#__PURE__*/Object(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_2__["jsxDEV"])(_blueprintjs_core__WEBPACK_IMPORTED_MODULE_0__["Icon"], {
icon: props.item.data.icon,
className: _blueprintjs_core__WEBPACK_IMPORTED_MODULE_0__["Classes"].TREE_NODE_ICON
}, void 0, false, {
fileName: _jsxFileName,
lineNumber: 57,
columnNumber: 25
}, undefined) : (() => {
const icon = !props.item.hasChildren ? 'document' : props.context.isExpanded ? 'folder-open' : 'folder-close';
return /*#__PURE__*/Object(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_2__["jsxDEV"])(_blueprintjs_core__WEBPACK_IMPORTED_MODULE_0__["Icon"], {
icon: icon,
className: _blueprintjs_core__WEBPACK_IMPORTED_MODULE_0__["Classes"].TREE_NODE_ICON
}, void 0, false, {
fileName: _jsxFileName,
lineNumber: 69,
columnNumber: 32
}, undefined);
})(), props.title]
}, void 0, true, {
fileName: _jsxFileName,
lineNumber: 42,
columnNumber: 13
}, undefined), /*#__PURE__*/Object(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_2__["jsxDEV"])("div", {
className: cx(_blueprintjs_core__WEBPACK_IMPORTED_MODULE_0__["Classes"].COLLAPSE),
style: props.context.isExpanded ? {
height: 'auto',
overflowY: 'visible',
transition: 'none 0s ease 0s'
} : {},
children: /*#__PURE__*/Object(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_2__["jsxDEV"])(_blueprintjs_core__WEBPACK_IMPORTED_MODULE_0__["Collapse"], {
isOpen: props.context.isExpanded,
transitionDuration: 0,
children: props.children
}, void 0, false, {
fileName: _jsxFileName,
lineNumber: 86,
columnNumber: 17
}, undefined)
}, void 0, false, {
fileName: _jsxFileName,
lineNumber: 74,
columnNumber: 13
}, undefined)]
}, void 0, true, {
fileName: _jsxFileName,
lineNumber: 34,
columnNumber: 9
}, undefined), props => /*#__PURE__*/Object(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_2__["jsxDEV"])(_blueprintjs_core__WEBPACK_IMPORTED_MODULE_0__["Icon"], {
icon: "chevron-right",
className: cx(_blueprintjs_core__WEBPACK_IMPORTED_MODULE_0__["Classes"].TREE_NODE_CARET, props.context.isExpanded ? _blueprintjs_core__WEBPACK_IMPORTED_MODULE_0__["Classes"].TREE_NODE_CARET_OPEN : _blueprintjs_core__WEBPACK_IMPORTED_MODULE_0__["Classes"].TREE_NODE_CARET_CLOSED),
...props.context.arrowProps
}, void 0, false, {
fileName: _jsxFileName,
lineNumber: 94,
columnNumber: 9
}, undefined), _ref => {
let {
title,
context,
info
} = _ref;
if (!info.isSearching || !context.isSearchMatching || !info.search) {
return /*#__PURE__*/Object(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_2__["jsxDEV"])("span", {
className: _blueprintjs_core__WEBPACK_IMPORTED_MODULE_0__["Classes"].TREE_NODE_LABEL,
children: title
}, void 0, false, {
fileName: _jsxFileName,
lineNumber: 108,
columnNumber: 20
}, undefined);
} else {
const startIndex = title.toLowerCase().indexOf(info.search.toLowerCase());
return /*#__PURE__*/Object(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_2__["jsxDEV"])(react__WEBPACK_IMPORTED_MODULE_1___default.a.Fragment, {
children: [startIndex > 0 && /*#__PURE__*/Object(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_2__["jsxDEV"])("span", {
children: title.slice(0, startIndex)
}, void 0, false, {
fileName: _jsxFileName,
lineNumber: 113,
columnNumber: 40
}, undefined), /*#__PURE__*/Object(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_2__["jsxDEV"])("span", {
className: "rct-tree-item-search-highlight",
children: title.slice(startIndex, startIndex + info.search.length)
}, void 0, false, {
fileName: _jsxFileName,
lineNumber: 114,
columnNumber: 21
}, undefined), startIndex + info.search.length < title.length && /*#__PURE__*/Object(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_2__["jsxDEV"])("span", {
children: title.slice(startIndex + info.search.length, title.length)
}, void 0, false, {
fileName: _jsxFileName,
lineNumber: 118,
columnNumber: 25
}, undefined)]
}, void 0, true, {
fileName: _jsxFileName,
lineNumber: 112,
columnNumber: 17
}, undefined);
}
}, _ref2 => {
let {
draggingPosition,
lineProps
} = _ref2;
return /*#__PURE__*/Object(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_2__["jsxDEV"])("div", { ...lineProps,
style: {
position: 'absolute',
right: '0',
top: draggingPosition.targetType === 'between-items' && draggingPosition.linePosition === 'top' ? '0px' : draggingPosition.targetType === 'between-items' && draggingPosition.linePosition === 'bottom' ? '-4px' : '-2px',
left: `${draggingPosition.depth * 23}px`,
height: '4px',
backgroundColor: _blueprintjs_core__WEBPACK_IMPORTED_MODULE_0__["Colors"].BLUE3
}
}, void 0, false, {
fileName: _jsxFileName,
lineNumber: 128,
columnNumber: 9
}, undefined);
}, props => /*#__PURE__*/Object(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_2__["jsxDEV"])("form", { ...props.formProps,
style: {
display: 'contents'
},
children: [/*#__PURE__*/Object(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_2__["jsxDEV"])("span", {
className: _blueprintjs_core__WEBPACK_IMPORTED_MODULE_0__["Classes"].TREE_NODE_LABEL,
children: /*#__PURE__*/Object(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_2__["jsxDEV"])("input", { ...props.inputProps,
ref: props.inputRef,
className: "rct-tree-item-renaming-input"
}, void 0, false, {
fileName: _jsxFileName,
lineNumber: 151,
columnNumber: 17
}, undefined)
}, void 0, false, {
fileName: _jsxFileName,
lineNumber: 150,
columnNumber: 13
}, undefined), /*#__PURE__*/Object(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_2__["jsxDEV"])("span", {
className: _blueprintjs_core__WEBPACK_IMPORTED_MODULE_0__["Classes"].TREE_NODE_SECONDARY_LABEL,
children: /*#__PURE__*/Object(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_2__["jsxDEV"])(_blueprintjs_core__WEBPACK_IMPORTED_MODULE_0__["Button"], {
icon: "tick",
...props.submitButtonProps,
type: "submit",
minimal: true,
small: true
}, void 0, false, {
fileName: _jsxFileName,
lineNumber: 158,
columnNumber: 17
}, undefined)
}, void 0, false, {
fileName: _jsxFileName,
lineNumber: 157,
columnNumber: 13
}, undefined)]
}, void 0, true, {
fileName: _jsxFileName,
lineNumber: 149,
columnNumber: 9
}, undefined), props => /*#__PURE__*/Object(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_2__["jsxDEV"])("div", {
className: cx('rct-tree-search-input-container'),
children: /*#__PURE__*/Object(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_2__["jsxDEV"])(_blueprintjs_core__WEBPACK_IMPORTED_MODULE_0__["InputGroup"], { ...props.inputProps,
placeholder: "Search..."
}, void 0, false, {
fileName: _jsxFileName,
lineNumber: 171,
columnNumber: 13
}, undefined)
}, void 0, false, {
fileName: _jsxFileName,
lineNumber: 170,
columnNumber: 9
}, undefined), 1, [object Object], item => item.data, false, [object Object], [object Object], [object Object], function (item, treeId) {
var _a;
amendViewState(treeId, function (old) {
var _a;
return __assign(__assign({}, old), {
expandedItems: __spreadArray(__spreadArray([], (_a = old.expandedItems) !== null && _a !== void 0 ? _a : []), [item.index])
});
});
(_a = props.onExpandItem) === null || _a === void 0 ? void 0 : _a.call(props, item, treeId); //const itemsToLoad = item.children?.filter(itemId => currentItems[itemId] === undefined) ?? [];
//dataProvider.getTreeItems(itemsToLoad).then(items => {
// writeItems(items.map(item => ({ [item.index]: item })).reduce((a, b) => ({...a, ...b}), {}));
// setViewState(viewState => ({ ...viewState, expandedItems: [...viewState.expandedItems ?? [], item.index] }));
//});
}, function (item, treeId) {
var _a;
amendViewState(treeId, function (old) {
var _a;
return __assign(__assign({}, old), {
expandedItems: (_a = old.expandedItems) === null || _a === void 0 ? void 0 : _a.filter(function (id) {
return id !== item.index;
})
});
});
(_a = props.onCollapseItem) === null || _a === void 0 ? void 0 : _a.call(props, item, treeId);
}, function (items, treeId) {
var _a;
amendViewState(treeId, function (old) {
return __assign(__assign({}, old), {
selectedItems: items
});
});
(_a = props.onSelectItems) === null || _a === void 0 ? void 0 : _a.call(props, items, treeId);
}, function (item, treeId) {
var _a;
amendViewState(treeId, function (old) {
return __assign(__assign({}, old), {
focusedItem: item.index
});
});
(_a = props.onFocusItem) === null || _a === void 0 ? void 0 : _a.call(props, item, treeId);
}, function (item, treeId) {
var _a;
amendViewState(treeId, function (old) {
return __assign(__assign({}, old), {
renamingItem: item.index
});
});
(_a = props.onStartRenamingItem) === null || _a === void 0 ? void 0 : _a.call(props, item, treeId);
}, function (item, treeId) {
var _a;
amendViewState(treeId, function (old) {
return __assign(__assign({}, old), {
renamingItem: undefined
});
});
(_a = props.onAbortRenamingItem) === null || _a === void 0 ? void 0 : _a.call(props, item, treeId);
}, function (item, name, treeId) {
return __awaiter(void 0, void 0, void 0, function () {
var newItem;
var _a;
var _b;
return __generator(this, function (_c) {
switch (_c.label) {
case 0:
return [4
/*yield*/
, dataProvider.onRenameItem(item, name)];
case 1:
_c.sent();
amendViewState(treeId, function (old) {
return __assign(__assign({}, old), {
renamingItem: undefined
});
});
return [4
/*yield*/
, dataProvider.getTreeItem(item.index)];
case 2:
newItem = _c.sent();
writeItems((_a = {}, _a[item.index] = newItem, _a));
(_b = props.onRenameItem) === null || _b === void 0 ? void 0 : _b.call(props, item, name, treeId);
return [2
/*return*/
];
}
});
});
}, function (items, target) {
return __awaiter(void 0, void 0, void 0, function () {
var _loop_1, _i, items_1, item;
var _a, _b, _c, _d, _e;
return __generator(this, function (_f) {
switch (_f.label) {
case 0:
_loop_1 = function (item) {
var parent_1, newParent, newParentChildren, isOldItemPriorToNewItem;
return __generator(this, function (_g) {
switch (_g.label) {
case 0:
parent_1 = Object.values(currentItems).find(function (potentialParent) {
var _a;
return (_a = potentialParent.children) === null || _a === void 0 ? void 0 : _a.includes(item.index);
});
newParent = currentItems[target.parentItem];
if (!parent_1) {
throw Error("Could not find parent of item \"" + item.index + "\"");
}
if (!parent_1.children) {
throw Error("Parent \"" + parent_1.index + "\" of item \"" + item.index + "\" did not have any children");
}
if (!(target.targetType === 'item')) return [3
/*break*/
, 5];
if (!(target.targetItem === parent_1.index)) return [3
/*break*/
, 1];
return [3
/*break*/
, 4];
case 1:
return [4
/*yield*/
, dataProvider.onChangeItemChildren(parent_1.index, parent_1.children.filter(function (child) {
return child !== item.index;
}))];
case 2:
_g.sent();
return [4
/*yield*/
, dataProvider.onChangeItemChildren(target.targetItem, __spreadArray(__spreadArray([], (_a = currentItems[target.targetItem].children) !== null && _a !== void 0 ? _a : []), [item.index]))];
case 3:
_g.sent();
_g.label = 4;
case 4:
return [3
/*break*/
, 10];
case 5:
newParentChildren = __spreadArray([], (_b = newParent.children) !== null && _b !== void 0 ? _b : []).filter(function (child) {
return child !== item.index;
});
if (!(target.parentItem === parent_1.index)) return [3
/*break*/
, 7];
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);
return [4
/*yield*/
, dataProvider.onChangeItemChildren(target.parentItem, newParentChildren)];
case 6:
_g.sent();
return [3
/*break*/
, 10];
case 7:
newParentChildren.splice(target.childIndex, 0, item.index);
return [4
/*yield*/
, dataProvider.onChangeItemChildren(parent_1.index, parent_1.children.filter(function (child) {
return child !== item.index;
}))];
case 8:
_g.sent();
return [4
/*yield*/
, dataProvider.onChangeItemChildren(target.parentItem, newParentChildren)];
case 9:
_g.sent();
_g.label = 10;
case 10:
return [2
/*return*/
];
}
});
};
_i = 0, items_1 = items;
_f.label = 1;
case 1:
if (!(_i < items_1.length)) return [3
/*break*/
, 4];
item = items_1[_i];
return [5
/*yield**/
, _loop_1(item)];
case 2:
_f.sent();
_f.label = 3;
case 3:
_i++;
return [3
/*break*/
, 1];
case 4:
(_e = props.onDrop) === null || _e === void 0 ? void 0 : _e.call(props, items, target);
return [2
/*return*/
];
}
});
});
}, function (itemIds) {
var _a;
var _b; // Batch individual fetch-item-calls together
if (missingItemIds.current.length === 0) {
setTimeout(function () {
dataProvider.getTreeItems(missingItemIds.current).then(function (items) {
writeItems(items.map(function (item) {
var _a;
return _a = {}, _a[item.index] = item, _a;
}).reduce(function (a, b) {
return __assign(__assign({}, a), b);
}, {}));
});
missingItemIds.current = [];
});
}
(_a = missingItemIds.current).push.apply(_a, itemIds);
(_b = props.onMissingItems) === null || _b === void 0 ? void 0 : _b.call(props, itemIds);
}]
in ForwardRef (created by ForwardRef)
in ForwardRef (at Explorer.tsx:192)
in FileTree (at Explorer.tsx:209)
in div (at Explorer.tsx:206)
in Explorer (at App.tsx:161)
in div (at App.tsx:157)
in div (at App.tsx:155)
in App (at src/index.tsx:57)
in Provider (at src/index.tsx:54)
in StrictMode (at src/index.tsx:53)