mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-17 02:51:36 -05:00
remove refreshNode method (#14552)
* remove refreshNode method * fix issue with finding required node handles
This commit is contained in:
@@ -158,21 +158,6 @@ export class ExtHostTreeView<T> extends vsTreeExt.ExtHostTreeView<T> {
|
|||||||
.then(() => Object.keys(itemsToRefresh).length ? this.modelViewProxy.$refreshDataProvider(this.handle, this.componentId, itemsToRefresh) : null);
|
.then(() => Object.keys(itemsToRefresh).length ? this.modelViewProxy.$refreshDataProvider(this.handle, this.componentId, itemsToRefresh) : null);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected refreshNode(treeItemHandle: vsTreeExt.TreeItemHandle): Promise<vsTreeExt.TreeNode> {
|
|
||||||
const extElement = this.getExtensionElement(treeItemHandle);
|
|
||||||
const existing = this.nodes.get(extElement);
|
|
||||||
//this.clearChildren(extElement); // clear children cache
|
|
||||||
return Promise.resolve(this.componentDataProvider.getTreeItem(extElement))
|
|
||||||
.then(extTreeItem => {
|
|
||||||
if (extTreeItem) {
|
|
||||||
const newNode = this.createTreeNode(extElement, extTreeItem, existing.parent);
|
|
||||||
this.updateNodeCache(extElement, newNode, existing, existing.parent);
|
|
||||||
return newNode;
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
protected createTreeNode(element: T, extensionTreeItem: azdata.TreeComponentItem, parent?: vsTreeExt.TreeNode | vsTreeExt.Root): vsTreeExt.TreeNode {
|
protected createTreeNode(element: T, extensionTreeItem: azdata.TreeComponentItem, parent?: vsTreeExt.TreeNode | vsTreeExt.Root): vsTreeExt.TreeNode {
|
||||||
let node = super.createTreeNode(element, extensionTreeItem, parent);
|
let node = super.createTreeNode(element, extensionTreeItem, parent);
|
||||||
if (node.item) {
|
if (node.item) {
|
||||||
|
|||||||
@@ -502,12 +502,12 @@ export class ExtHostTreeView<T> extends Disposable {
|
|||||||
// {{SQL CARBON EDIT}}
|
// {{SQL CARBON EDIT}}
|
||||||
protected getHandlesToRefresh(elements: T[]): TreeItemHandle[] {
|
protected getHandlesToRefresh(elements: T[]): TreeItemHandle[] {
|
||||||
const elementsToUpdate = new Set<TreeItemHandle>();
|
const elementsToUpdate = new Set<TreeItemHandle>();
|
||||||
for (const element of elements) {
|
const elementNodes = elements.map(element => this.nodes.get(element));
|
||||||
const elementNode = this.nodes.get(element);
|
for (const elementNode of elementNodes) {
|
||||||
if (elementNode && !elementsToUpdate.has(elementNode.item.handle)) {
|
if (elementNode && !elementsToUpdate.has(elementNode.item.handle)) {
|
||||||
// check if an ancestor of extElement is already in the elements to update list
|
// check if an ancestor of extElement is already in the elements list
|
||||||
let currentNode: TreeNode | undefined = elementNode;
|
let currentNode: TreeNode | undefined = elementNode;
|
||||||
while (currentNode && currentNode.parent && !elementsToUpdate.has(currentNode.parent.item.handle)) {
|
while (currentNode && currentNode.parent && elementNodes.findIndex(node => currentNode && currentNode.parent && node && node.item.handle === currentNode.parent.item.handle) === -1) {
|
||||||
const parentElement: T | undefined = this.elements.get(currentNode.parent.item.handle);
|
const parentElement: T | undefined = this.elements.get(currentNode.parent.item.handle);
|
||||||
currentNode = parentElement ? this.nodes.get(parentElement) : undefined;
|
currentNode = parentElement ? this.nodes.get(parentElement) : undefined;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user