mirror of
https://github.com/microsoft/vscode.git
synced 2025-12-20 02:08:47 +00:00
* Revert "Fix element already registered (#281000)"
This reverts commit ca3f2212d1.
* skip test
This commit is contained in:
@@ -18,7 +18,7 @@ suite('vscode API - tree', () => {
|
|||||||
assertNoRpc();
|
assertNoRpc();
|
||||||
});
|
});
|
||||||
|
|
||||||
test('TreeView - element already registered', async function () {
|
test.skip('TreeView - element already registered', async function () {
|
||||||
this.timeout(60_000);
|
this.timeout(60_000);
|
||||||
|
|
||||||
type TreeElement = { readonly kind: 'leaf' };
|
type TreeElement = { readonly kind: 'leaf' };
|
||||||
|
|||||||
@@ -863,23 +863,10 @@ class ExtHostTreeView<T> extends Disposable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private _createAndRegisterTreeNode(element: T, extTreeItem: vscode.TreeItem, parentNode: TreeNode | Root): TreeNode {
|
private _createAndRegisterTreeNode(element: T, extTreeItem: vscode.TreeItem, parentNode: TreeNode | Root): TreeNode {
|
||||||
const duplicateHandle = extTreeItem.id ? `${ExtHostTreeView.ID_HANDLE_PREFIX}/${extTreeItem.id}` : undefined;
|
|
||||||
if (duplicateHandle) {
|
|
||||||
const existingElement = this._elements.get(duplicateHandle);
|
|
||||||
if (existingElement) {
|
|
||||||
if (existingElement !== element) {
|
|
||||||
throw new Error(localize('treeView.duplicateElement', 'Element with id {0} is already registered', extTreeItem.id));
|
|
||||||
}
|
|
||||||
const existingNode = this._nodes.get(existingElement);
|
|
||||||
if (existingNode) {
|
|
||||||
const newNode = this._createTreeNode(element, extTreeItem, parentNode);
|
|
||||||
this._updateNodeCache(element, newNode, existingNode, parentNode);
|
|
||||||
existingNode.dispose();
|
|
||||||
return newNode;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
const node = this._createTreeNode(element, extTreeItem, parentNode);
|
const node = this._createTreeNode(element, extTreeItem, parentNode);
|
||||||
|
if (extTreeItem.id && this._elements.has(node.item.handle)) {
|
||||||
|
throw new Error(localize('treeView.duplicateElement', 'Element with id {0} is already registered', extTreeItem.id));
|
||||||
|
}
|
||||||
this._addNodeToCache(element, node);
|
this._addNodeToCache(element, node);
|
||||||
this._addNodeToParentCache(node, parentNode);
|
this._addNodeToParentCache(node, parentNode);
|
||||||
return node;
|
return node;
|
||||||
|
|||||||
Reference in New Issue
Block a user