Add focus function for modelview components (#8348)

* Add focus method for modelview components

* Remove focus properties from table and radiobutton

* Fix break
This commit is contained in:
Charles Gagnon
2019-11-15 17:36:55 -08:00
committed by GitHub
parent d6ef42c8b0
commit ae8304fc33
17 changed files with 62 additions and 48 deletions

View File

@@ -97,6 +97,10 @@ export class MainThreadModelView extends Disposable implements MainThreadModelVi
return new Promise(resolve => this.execModelViewAction(handle, (modelView) => resolve(modelView.validate(componentId))));
}
$focus(handle: number, componentId: string): Thenable<void> {
return new Promise(resolve => this.execModelViewAction(handle, (modelView) => resolve(modelView.focus(componentId))));
}
private runCustomValidations(handle: number, componentId: string): Thenable<boolean> {
return this._proxy.$runCustomValidations(handle, componentId);
}

View File

@@ -711,6 +711,10 @@ class ComponentWrapper implements azdata.Component {
public get valid(): boolean {
return this._valid;
}
public focus() {
return this._proxy.$focus(this._handle, this._id);
}
}
class ComponentWithIconWrapper extends ComponentWrapper {
@@ -1144,12 +1148,6 @@ class RadioButtonWrapper extends ComponentWrapper implements azdata.RadioButtonC
public set checked(v: boolean) {
this.setProperty('checked', v);
}
public get focused(): boolean {
return this.properties['focused'];
}
public set focused(v: boolean) {
this.setProperty('focused', v);
}
public get onDidClick(): vscode.Event<any> {
let emitter = this._emitterMap.get(ComponentEventType.onDidClick);
@@ -1266,13 +1264,6 @@ class TableComponentWrapper extends ComponentWrapper implements azdata.TableComp
this.setProperty('moveFocusOutWithTab', v);
}
public get focused(): boolean {
return this.properties['focused'];
}
public set focused(v: boolean) {
this.setProperty('focused', v);
}
public get updateCells(): azdata.TableCell[] {
return this.properties['updateCells'];
}

View File

@@ -736,6 +736,7 @@ export interface MainThreadModelViewShape extends IDisposable {
$validate(handle: number, componentId: string): Thenable<boolean>;
$setDataProvider(handle: number, componentId: string): Thenable<void>;
$refreshDataProvider(handle: number, componentId: string, item?: any): Thenable<void>;
$focus(handle: number, componentId: string): Thenable<void>;
}
export interface ExtHostObjectExplorerShape {