diff --git a/src/sql/workbench/browser/modal/modal.ts b/src/sql/workbench/browser/modal/modal.ts index 5408a19139..cd391e9ac0 100644 --- a/src/sql/workbench/browser/modal/modal.ts +++ b/src/sql/workbench/browser/modal/modal.ts @@ -449,6 +449,7 @@ export abstract class Modal extends Disposable implements IThemable { if (context[context.length - 1] === this._staticKey) { let event = new StandardKeyboardEvent(e); if (event.equals(KeyCode.Enter)) { + DOM.EventHelper.stop(e, true); this.onAccept(event); } else if (event.equals(KeyCode.Escape)) { DOM.EventHelper.stop(e, true); diff --git a/src/sql/workbench/browser/modelComponents/declarativeTable.component.html b/src/sql/workbench/browser/modelComponents/declarativeTable.component.html index 52f58909b3..a8538059d8 100644 --- a/src/sql/workbench/browser/modelComponents/declarativeTable.component.html +++ b/src/sql/workbench/browser/modelComponents/declarativeTable.component.html @@ -45,7 +45,7 @@ - diff --git a/src/sql/workbench/browser/modelComponents/declarativeTable.component.ts b/src/sql/workbench/browser/modelComponents/declarativeTable.component.ts index f469fd99eb..556ee78278 100644 --- a/src/sql/workbench/browser/modelComponents/declarativeTable.component.ts +++ b/src/sql/workbench/browser/modelComponents/declarativeTable.component.ts @@ -361,7 +361,20 @@ export default class DeclarativeTableComponent extends ContainerBase +
diff --git a/src/sql/workbench/browser/modelComponents/hyperlink.component.ts b/src/sql/workbench/browser/modelComponents/hyperlink.component.ts index c6d0d6defb..e36fab3b0a 100644 --- a/src/sql/workbench/browser/modelComponents/hyperlink.component.ts +++ b/src/sql/workbench/browser/modelComponents/hyperlink.component.ts @@ -18,6 +18,10 @@ import { textLinkForeground, textLinkActiveForeground, focusBorder } from 'vs/pl import { IOpenerService } from 'vs/platform/opener/common/opener'; import * as DOM from 'vs/base/browser/dom'; import { ILogService } from 'vs/platform/log/common/log'; +import { domEvent } from 'vs/base/browser/event'; +import { Event } from 'vs/base/common/event'; +import { StandardKeyboardEvent } from 'vs/base/browser/keyboardEvent'; +import { KeyCode } from 'vs/base/common/keyCodes'; @Component({ selector: 'modelview-hyperlink', @@ -37,7 +41,16 @@ export default class HyperlinkComponent extends TitledComponent this.onClick(e))); + const onClick = domEvent(this._el.nativeElement, 'click'); + const onEnter = Event.chain(domEvent(this._el.nativeElement, 'keydown')) + .map(e => new StandardKeyboardEvent(e)) + .filter(e => e.keyCode === KeyCode.Enter) + .event; + const onOpen = Event.any(onClick, onEnter); + + this._register(onOpen(e => { + this.open(e); + })); this.baseInit(); } @@ -77,7 +90,7 @@ export default class HyperlinkComponent extends TitledComponent