expand the detail section by selecting the headers (#6130)

* expand the detail section by selecting the headers

* use methods

* address comments
This commit is contained in:
Alan Ren
2019-06-22 00:29:02 -07:00
committed by GitHub
parent 4c1af148c7
commit 08cf731c87
3 changed files with 27 additions and 3 deletions

View File

@@ -39,6 +39,7 @@ export interface IPanelTab {
title: string;
identifier: string;
view: IPanelView;
tabSelectedHandler?(): void;
}
interface IInternalPanelTab {
@@ -148,11 +149,21 @@ export class TabbedPanel extends Disposable {
let tabLabel = DOM.$('a.tabLabel');
tabLabel.innerText = tab.tab.title;
tabElement.appendChild(tabLabel);
tab.disposables.push(DOM.addDisposableListener(tabHeaderElement, DOM.EventType.CLICK, e => this.showTab(tab.tab.identifier)));
const invokeTabSelectedHandler = () => {
if (tab.tab.tabSelectedHandler) {
tab.tab.tabSelectedHandler();
}
};
tab.disposables.push(DOM.addDisposableListener(tabHeaderElement, DOM.EventType.CLICK, e => {
this.showTab(tab.tab.identifier);
invokeTabSelectedHandler();
}));
tab.disposables.push(DOM.addDisposableListener(tabHeaderElement, DOM.EventType.KEY_UP, (e: KeyboardEvent) => {
let event = new StandardKeyboardEvent(e);
if (event.equals(KeyCode.Enter)) {
this.showTab(tab.tab.identifier);
invokeTabSelectedHandler();
e.stopImmediatePropagation();
}
}));