abort plotting on dashboards
This commit is contained in:
@@ -40,7 +40,8 @@ export class DashboardComponent implements OnInit {
|
||||
this.repairArrangement();
|
||||
|
||||
dashboard.plots.forEach(p => {
|
||||
this.plotWidgetRenderData.push(new PlotWidgetRenderData(p));
|
||||
const submitterId = (<any>window).submitterId + (<any>window).randomId();
|
||||
this.plotWidgetRenderData.push(new PlotWidgetRenderData(p, submitterId));
|
||||
});
|
||||
|
||||
this.loadImages(0, this.plotWidgetRenderData);
|
||||
@@ -64,17 +65,25 @@ export class DashboardComponent implements OnInit {
|
||||
loadImages(index: number, plotWidgetQueue: PlotWidgetRenderData[]) {
|
||||
|
||||
if (index < plotWidgetQueue.length){
|
||||
|
||||
const plot = plotWidgetQueue[index];
|
||||
const request = PlotWidget.createPlotRequest(plot.widget);
|
||||
this.plotService.sendPlotRequest(request).subscribe({
|
||||
next: (response: PlotResponse)=> {
|
||||
plot.plotResponse= response;
|
||||
},
|
||||
error: (error:any)=> {},
|
||||
complete: () => {
|
||||
this.loadImages(index +1 , plotWidgetQueue);
|
||||
}
|
||||
});
|
||||
if (plot.isAborted) {
|
||||
this.loadImages(index +1 , plotWidgetQueue);
|
||||
}else{
|
||||
const request = PlotWidget.createPlotRequest(plot.widget, plot.submitterId);
|
||||
this.plotService.sendPlotRequest(request).subscribe({
|
||||
next: (response: PlotResponse)=> {
|
||||
plot.plotResponse= response;
|
||||
},
|
||||
error: (error:any)=> {
|
||||
plot.error = error;
|
||||
this.loadImages(index +1 , plotWidgetQueue);
|
||||
},
|
||||
complete: () => {
|
||||
this.loadImages(index +1 , plotWidgetQueue);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -127,7 +136,7 @@ export class DashboardComponent implements OnInit {
|
||||
const widget = new PlotWidget((<any>window).randomId(), 'MEDIUM', config);
|
||||
this.dashboard!.plots.push(widget);
|
||||
this.dashboard!.arrangement[0].push(widget.id);
|
||||
this.plotWidgetRenderData.push(new PlotWidgetRenderData(widget));
|
||||
this.plotWidgetRenderData.push(new PlotWidgetRenderData(widget, (<any>window).randomId()));
|
||||
this.loadImages(this.plotWidgetRenderData.length-1, this.plotWidgetRenderData);
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user