mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-01-22 01:25:38 -05:00
31 lines
1.2 KiB
TypeScript
31 lines
1.2 KiB
TypeScript
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
|
|
import { DefaultController, ICancelableEvent } from 'vs/base/parts/tree/browser/treeDefaults';
|
|
import { ITree } from 'vs/base/parts/tree/browser/tree';
|
|
import { IKeyboardEvent } from 'vs/base/browser/keyboardEvent';
|
|
|
|
export class SavedConnectionTreeController extends DefaultController {
|
|
constructor(private clickcb: (element: any, eventish: ICancelableEvent, origin: string) => void) {
|
|
super();
|
|
}
|
|
|
|
protected onLeftClick(tree: ITree, element: any, eventish: ICancelableEvent, origin: string = 'mouse'): boolean {
|
|
this.clickcb(element, eventish, origin);
|
|
return super.onLeftClick(tree, element, eventish, origin);
|
|
}
|
|
|
|
protected onEnter(tree: ITree, event: IKeyboardEvent): boolean {
|
|
super.onEnter(tree, event);
|
|
|
|
// grab the current selection for use later
|
|
let selection = tree.getSelection();
|
|
|
|
this.clickcb(selection[0], event, 'keyboard');
|
|
tree.toggleExpansion(selection[0]);
|
|
return true;
|
|
}
|
|
}
|