mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-01-15 01:25:36 -05:00
Add loading spinner component (#1580)
This commit is contained in:
@@ -137,6 +137,13 @@ class ModelBuilderImpl implements sqlops.ModelBuilder {
|
||||
return builder;
|
||||
}
|
||||
|
||||
loadingComponent(): sqlops.LoadingComponentBuilder {
|
||||
let id = this.getNextComponentId();
|
||||
let builder = new LoadingComponentBuilder(new LoadingComponentWrapper(this._proxy, this._handle, 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);
|
||||
@@ -299,6 +306,13 @@ class ToolbarContainerBuilder extends ContainerBuilderImpl<sqlops.ToolbarContain
|
||||
}
|
||||
}
|
||||
|
||||
class LoadingComponentBuilder extends ComponentBuilderImpl<sqlops.LoadingComponent> implements sqlops.LoadingComponentBuilder {
|
||||
withItem(component: sqlops.Component) {
|
||||
this.component().component = component;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
class InternalItemConfig {
|
||||
constructor(private _component: ComponentWrapper, public config: any) { }
|
||||
|
||||
@@ -761,6 +775,30 @@ class ButtonWrapper extends ComponentWrapper implements sqlops.ButtonComponent {
|
||||
}
|
||||
}
|
||||
|
||||
class LoadingComponentWrapper extends ComponentWrapper implements sqlops.LoadingComponent {
|
||||
constructor(proxy: MainThreadModelViewShape, handle: number, id: string) {
|
||||
super(proxy, handle, ModelComponentTypes.LoadingComponent, id);
|
||||
this.properties = {};
|
||||
this.loading = true;
|
||||
}
|
||||
|
||||
public get loading(): boolean {
|
||||
return this.properties['loading'];
|
||||
}
|
||||
|
||||
public set loading(value: boolean) {
|
||||
this.setProperty('loading', value);
|
||||
}
|
||||
|
||||
public get component(): sqlops.Component {
|
||||
return this.items[0];
|
||||
}
|
||||
|
||||
public set component(value: sqlops.Component) {
|
||||
this.addItem(value);
|
||||
}
|
||||
}
|
||||
|
||||
class ModelViewImpl implements sqlops.ModelView {
|
||||
|
||||
public onClosedEmitter = new Emitter<any>();
|
||||
|
||||
Reference in New Issue
Block a user