mirror of
https://github.com/Microsoft/vscode
synced 2024-10-04 02:14:06 +00:00
fix #52080
This commit is contained in:
parent
da4e1c3768
commit
d32c949d4a
|
@ -281,7 +281,7 @@ export class OutlineTreeState {
|
|||
return { selected, focused, expanded };
|
||||
}
|
||||
|
||||
static async restore(tree: ITree, state: OutlineTreeState): TPromise<void> {
|
||||
static async restore(tree: ITree, state: OutlineTreeState, eventPayload: any): TPromise<void> {
|
||||
let model = <OutlineModel>tree.getInput();
|
||||
if (!state || !(model instanceof OutlineModel)) {
|
||||
return TPromise.as(undefined);
|
||||
|
@ -301,8 +301,8 @@ export class OutlineTreeState {
|
|||
// selection & focus
|
||||
let selected = model.getItemById(state.selected);
|
||||
let focused = model.getItemById(state.focused);
|
||||
tree.setSelection([selected]);
|
||||
tree.setFocus(focused);
|
||||
tree.setSelection([selected], eventPayload);
|
||||
tree.setFocus(focused, eventPayload);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -506,7 +506,7 @@ export class OutlinePanel extends ViewletPanel {
|
|||
}
|
||||
await this._tree.setInput(model);
|
||||
let state = this._treeStates.get(model.textModel.uri.toString());
|
||||
OutlineTreeState.restore(this._tree, state);
|
||||
OutlineTreeState.restore(this._tree, state, this);
|
||||
}
|
||||
|
||||
this._input.enable();
|
||||
|
@ -521,7 +521,7 @@ export class OutlinePanel extends ViewletPanel {
|
|||
|
||||
this._contextKeyFiltered.set(pattern.length > 0);
|
||||
|
||||
if (!beforePatternState) {
|
||||
if (pattern && !beforePatternState) {
|
||||
beforePatternState = OutlineTreeState.capture(this._tree);
|
||||
}
|
||||
let item = model.updateMatches(pattern);
|
||||
|
@ -534,7 +534,7 @@ export class OutlinePanel extends ViewletPanel {
|
|||
}
|
||||
|
||||
if (!pattern && beforePatternState) {
|
||||
await OutlineTreeState.restore(this._tree, beforePatternState);
|
||||
await OutlineTreeState.restore(this._tree, beforePatternState, this);
|
||||
beforePatternState = undefined;
|
||||
}
|
||||
};
|
||||
|
|
Loading…
Reference in a new issue