prepare sending of plot requests
- values for query and date range were not propagated to the model
This commit is contained in:
@@ -15,22 +15,23 @@ export class PlotService {
|
||||
constructor(private http: HttpClient) {
|
||||
this.plotTypes = new Array<PlotType>();
|
||||
this.plotTypes.push(new PlotType(
|
||||
"SCATTER",
|
||||
"Scatter",
|
||||
"scatter-chart2",
|
||||
true,
|
||||
DataType.Time,
|
||||
DataType.Duration));
|
||||
this.plotTypes.push(new PlotType("Heatmap", "heatmap", false, DataType.Other, DataType.Other));
|
||||
this.plotTypes.push(new PlotType("Contour", "contour-chart", false, DataType.Time, DataType.Duration));
|
||||
this.plotTypes.push(new PlotType("Cumulative Distribution", "cumulative-distribution-chart", true, DataType.Percent, DataType.Duration));
|
||||
this.plotTypes.push(new PlotType("Histogram", "histogram", false, DataType.Group, DataType.Duration));
|
||||
this.plotTypes.push(new PlotType("Ridgelines", "ridgelines", false, DataType.Other, DataType.Other));
|
||||
this.plotTypes.push(new PlotType("Quantile-Quantile", "quantile-quantile", false, DataType.Other, DataType.Other));
|
||||
this.plotTypes.push(new PlotType("Parallel Requests", "parallel-requests-chart", true, DataType.Time, DataType.Count));
|
||||
this.plotTypes.push(new PlotType("Violin", "violin-chart", false, DataType.Group, DataType.Duration));
|
||||
this.plotTypes.push(new PlotType("Strip", "strip-chart", false, DataType.Group, DataType.Duration));
|
||||
this.plotTypes.push(new PlotType("Pie", "pie-chart", false, DataType.Other, DataType.Other));
|
||||
this.plotTypes.push(new PlotType("Bar", "bar-chart", false, DataType.Other, DataType.Other));
|
||||
this.plotTypes.push(new PlotType("HEATMAP", "Heatmap", "heatmap", false, DataType.Other, DataType.Other));
|
||||
this.plotTypes.push(new PlotType("CONTOUR", "Contour", "contour-chart", false, DataType.Time, DataType.Duration));
|
||||
this.plotTypes.push(new PlotType("CUM_DISTRIBUTION", "Cumulative Distribution", "cumulative-distribution-chart", true, DataType.Percent, DataType.Duration));
|
||||
this.plotTypes.push(new PlotType("HISTOGRAM", "Histogram", "histogram", false, DataType.Group, DataType.Duration));
|
||||
this.plotTypes.push(new PlotType("RIDGELINES", "Ridgelines", "ridgelines", false, DataType.Other, DataType.Other));
|
||||
this.plotTypes.push(new PlotType("QQ", "Quantile-Quantile", "quantile-quantile", false, DataType.Other, DataType.Other));
|
||||
this.plotTypes.push(new PlotType("PARALLEL", "Parallel Requests", "parallel-requests-chart", true, DataType.Time, DataType.Count));
|
||||
this.plotTypes.push(new PlotType("VIOLIN", "Violin", "violin-chart", false, DataType.Group, DataType.Duration));
|
||||
this.plotTypes.push(new PlotType("STRIP", "Strip", "strip-chart", false, DataType.Group, DataType.Duration));
|
||||
this.plotTypes.push(new PlotType("PIE", "Pie", "pie-chart", false, DataType.Other, DataType.Other));
|
||||
this.plotTypes.push(new PlotType("BAR", "Bar", "bar-chart", false, DataType.Other, DataType.Other));
|
||||
|
||||
this.tagFields = new Array<TagField>();
|
||||
}
|
||||
@@ -64,17 +65,25 @@ export class PlotService {
|
||||
};
|
||||
return this.http.get<AutocompleteResult>('//'+window.location.hostname+':8080/autocomplete', options);
|
||||
}
|
||||
|
||||
sendPlotRequest(plotRequest: PlotRequest): Observable<PlotResponse>{
|
||||
|
||||
console.log("send plot request: "+ JSON.stringify(plotRequest));
|
||||
return this.http.post<PlotResponse>('//'+window.location.hostname+':8080/plots', plotRequest);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
export class PlotType {
|
||||
id: string;
|
||||
name: string;
|
||||
icon: string
|
||||
active: boolean;
|
||||
xAxis: DataType;
|
||||
yAxis: DataType;
|
||||
|
||||
constructor(name: string, icon: string, active: boolean, xAxis: DataType, yAxis: DataType) {
|
||||
constructor(id: string, name: string, icon: string, active: boolean, xAxis: DataType, yAxis: DataType) {
|
||||
this.id = id;
|
||||
this.name = name;
|
||||
this.icon = icon;
|
||||
this.active = active;
|
||||
@@ -131,6 +140,43 @@ export class AutocompleteResult{
|
||||
proposals: Array<Suggestion>;
|
||||
}
|
||||
|
||||
export class PlotRequest {
|
||||
query : string;
|
||||
height : number;
|
||||
width : number;
|
||||
thumbnailMaxWidth : number = 300;
|
||||
thumbnailMaxHeight : number = 200;
|
||||
groupBy : Array<string>;
|
||||
limitBy : string;
|
||||
yAxis : string;
|
||||
limit : number;
|
||||
dateRange : string;
|
||||
aggregates : Array<string>;
|
||||
yRangeMin : number;
|
||||
yRangeMax : number;
|
||||
yRangeUnit : string;
|
||||
keyOutside : boolean = false;
|
||||
generateThumbnail : boolean;
|
||||
}
|
||||
|
||||
export class PlotResponse {
|
||||
imageUrl : string;
|
||||
stats : PlotResponseStats;
|
||||
thumbnailUrl : string;
|
||||
}
|
||||
|
||||
export class PlotResponseStats {
|
||||
maxValue : number;
|
||||
values : number;
|
||||
average : number ;
|
||||
plottedValues : number;
|
||||
dataSeriesStats : Array<DataSeriesStats>;
|
||||
}
|
||||
|
||||
export class DataSeriesStats {
|
||||
values : number;
|
||||
maxValue : number;
|
||||
average : number;
|
||||
plottedValues : number;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user