Agent : New Step dialog (#1834)

* added file browser tree to API and dialog

* added callbacks for selected files

* added file browser to step dialog

* remove commented code

* fixed file name bug
This commit is contained in:
Aditya Bist
2018-07-03 13:07:02 -07:00
committed by GitHub
parent bf7c1306b1
commit 6f402ac79f
7 changed files with 260 additions and 12 deletions

View File

@@ -158,6 +158,13 @@ class ModelBuilderImpl implements sqlops.ModelBuilder {
return builder;
}
fileBrowserTree(): sqlops.ComponentBuilder<sqlops.FileBrowserTreeComponent> {
let id = this.getNextComponentId();
let builder: ComponentBuilderImpl<sqlops.FileBrowserTreeComponent> = this.getComponentBuilder(new FileBrowserTreeComponentWrapper(this._proxy, this._handle, id), id);
this._componentBuilders.set(id, builder);
return builder;
}
getComponentBuilder<T extends sqlops.Component>(component: ComponentWrapper, id: string): ComponentBuilderImpl<T> {
let componentBuilder: ComponentBuilderImpl<T> = new ComponentBuilderImpl<T>(component);
this._componentBuilders.set(id, componentBuilder);
@@ -960,6 +967,28 @@ class LoadingComponentWrapper extends ComponentWrapper implements sqlops.Loading
}
}
class FileBrowserTreeComponentWrapper extends ComponentWrapper implements sqlops.FileBrowserTreeComponent {
constructor(proxy: MainThreadModelViewShape, handle: number, id: string) {
super(proxy, handle, ModelComponentTypes.FileBrowserTree, id);
this.properties = {};
this._emitterMap.set(ComponentEventType.onDidChange, new Emitter<any>());
}
public get ownerUri(): string {
return this.properties['ownerUri'];
}
public set ownerUri(value: string) {
this.setProperty('ownerUri', value);
}
public get onDidChange(): vscode.Event<any> {
let emitter = this._emitterMap.get(ComponentEventType.onDidChange);
return emitter && emitter.event;
}
}
class ModelViewImpl implements sqlops.ModelView {
public onClosedEmitter = new Emitter<any>();