提交 90cedfc1 编写于 作者: J Joao Moreno

markers panel: collapse all

上级 9b1013ac
......@@ -259,6 +259,10 @@ export abstract class AbstractTree<T, TFilterData, TRef> implements IDisposable
this.model.toggleCollapsed(ref);
}
collapseAll(): void {
this.model.collapseAll();
}
isCollapsed(ref: TRef): boolean {
return this.model.isCollapsed(ref);
}
......
......@@ -129,22 +129,21 @@ export class IndexTreeModel<T, TFilterData = void> implements ITreeModel<T, TFil
this.eventBufferer.bufferEvents(() => this._setCollapsed(node, listIndex, revealed));
}
// // TODO@joao cleanup
// setCollapsedAll(collapsed: boolean): void {
// if (collapsed) {
// const queue = [...this.root.children]; // TODO@joao use a linked list
// let listIndex = 0;
// while (queue.length > 0) {
// const node = queue.shift();
// const revealed = listIndex < this.root.children.length;
// this._setCollapsed(node, listIndex, revealed, collapsed);
// queue.push(...node.children);
// listIndex++;
// }
// }
// }
collapseAll(): void {
const queue = [...this.root.children]; // TODO@joao use a linked list
let listIndex = 0;
this.eventBufferer.bufferEvents(() => {
while (queue.length > 0) {
const node = queue.shift();
const revealed = listIndex < this.root.children.length;
this._setCollapsed(node, listIndex, revealed, true);
queue.push(...node.children);
listIndex++;
}
});
}
isCollapsed(location: number[]): boolean {
return this.getNode(location).collapsed;
......
......@@ -77,6 +77,10 @@ export class ObjectTreeModel<T extends NonNullable<any>, TFilterData = void> imp
this.model.toggleCollapsed(location);
}
collapseAll(): void {
this.model.collapseAll();
}
isCollapsed(element: T): boolean {
const location = this.getElementLocation(element);
return this.model.isCollapsed(location);
......
......@@ -54,6 +54,7 @@ export interface ITreeModel<T, TFilterData, TRef> {
getListIndex(ref: TRef): number;
setCollapsed(ref: TRef, collapsed: boolean): boolean;
toggleCollapsed(ref: TRef): void;
collapseAll(): void;
isCollapsed(ref: TRef): boolean;
refilter(): void;
......
......@@ -327,10 +327,9 @@ export class MarkersPanel extends Panel {
this.tree.onContextMenu(this.onContextMenu, this, this._toDispose);
}
// TODO@joao
private createActions(): void {
this.collapseAllAction = new Action('vs.tree.collapse', localize('collapse', "Collapse"), 'monaco-tree-action collapse-all', true, async () => {
// this.tree.collapseAll();
this.tree.collapseAll();
this.tree.setSelection([]);
this.tree.setFocus([]);
this.tree.getHTMLElement().focus();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册