From d9b2327f35b41b4bebb665794d98879f3ecb5a26 Mon Sep 17 00:00:00 2001 From: Andreas Huber Date: Sun, 10 Nov 2019 16:33:37 +0100 Subject: [PATCH] make default for 'splitBy' configurable --- pdb-js/src/app/plot-view/plot-view.component.ts | 4 +--- pdb-js/src/app/plot.service.ts | 1 + .../visualization-page.component.html | 2 +- .../visualization-page.component.ts | 5 ++--- .../main/java/org/lucares/pdbui/PdbController.java | 10 ++++++---- .../main/java/org/lucares/pdbui/PropertyKeys.java | 2 ++ .../org/lucares/pdbui/domain/FilterDefaults.java | 13 ++++++++++++- 7 files changed, 25 insertions(+), 12 deletions(-) diff --git a/pdb-js/src/app/plot-view/plot-view.component.ts b/pdb-js/src/app/plot-view/plot-view.component.ts index e220aff..5b1df8c 100644 --- a/pdb-js/src/app/plot-view/plot-view.component.ts +++ b/pdb-js/src/app/plot-view/plot-view.component.ts @@ -63,10 +63,8 @@ export class PlotViewComponent implements OnInit { const x= event.clientX - rect.left; const y= event.clientY - rect.top; - //console.log("pos: " + x+"x" +y+ " rect: "+rect.x+"x"+rect.y + " client: "+ event.clientX+"x"+ event.clientY + " offset:" + event.offsetX+"x"+event.offsetY ); - console.log(JSON.stringify(rect)); - + //console.log(JSON.stringify(rect)); return {x: x, y: y}; } diff --git a/pdb-js/src/app/plot.service.ts b/pdb-js/src/app/plot.service.ts index 326ca11..b7a0b2f 100644 --- a/pdb-js/src/app/plot.service.ts +++ b/pdb-js/src/app/plot.service.ts @@ -170,4 +170,5 @@ export class DataSeriesStats { export class FilterDefaults { groupBy: Array; fields: Array; + splitBy: string; } diff --git a/pdb-js/src/app/visualization-page/visualization-page.component.html b/pdb-js/src/app/visualization-page/visualization-page.component.html index 6774d1c..72e1581 100644 --- a/pdb-js/src/app/visualization-page/visualization-page.component.html +++ b/pdb-js/src/app/visualization-page/visualization-page.component.html @@ -81,7 +81,7 @@ mat-button matTooltip="Create Gallery" (click)="plot()" - [disabled]="this.splitBy.value == null"> + [disabled]="this.splitBy == null"> Gallery diff --git a/pdb-js/src/app/visualization-page/visualization-page.component.ts b/pdb-js/src/app/visualization-page/visualization-page.component.ts index 3352671..60ded4d 100644 --- a/pdb-js/src/app/visualization-page/visualization-page.component.ts +++ b/pdb-js/src/app/visualization-page/visualization-page.component.ts @@ -46,9 +46,7 @@ export class VisualizationPageComponent implements OnInit { plotView: PlotViewComponent; enableGallery = false; - splitBy = new FormControl(null, [ - Validators.required - ]); + splitBy = null; constructor(private plotService: PlotService) { } @@ -69,6 +67,7 @@ export class VisualizationPageComponent implements OnInit { }); that.groupBy = that.tagFields.filter(val => filterDefaults.groupBy.includes(val.name)); + that.splitBy = that.tagFields.find(val => filterDefaults.splitBy == val.name); }); this.yAxisScale = "LOG10"; diff --git a/pdb-ui/src/main/java/org/lucares/pdbui/PdbController.java b/pdb-ui/src/main/java/org/lucares/pdbui/PdbController.java index 51ef49f..274a27c 100644 --- a/pdb-ui/src/main/java/org/lucares/pdbui/PdbController.java +++ b/pdb-ui/src/main/java/org/lucares/pdbui/PdbController.java @@ -8,7 +8,6 @@ import java.util.ArrayList; import java.util.Collections; import java.util.EnumSet; import java.util.HashMap; -import java.util.HashSet; import java.util.List; import java.util.Locale; import java.util.Map; @@ -84,6 +83,9 @@ public class PdbController implements HardcodedValues, PropertyKeys { @Value("${"+DEFAULTS_GROUP_BY+":}") private String defaultsGroupBy; + + @Value("${"+DEFAULTS_SPLIT_BY+":}") + private String defaultsSplitBy; public PdbController(final PerformanceDb db, final Plotter plotter) { this.db = db; @@ -305,9 +307,9 @@ public class PdbController implements HardcodedValues, PropertyKeys { ) @ResponseBody public FilterDefaults getFilterDefaults() { - Set groupBy = defaultsGroupBy.isBlank() ? Set.of() : Set.of(defaultsGroupBy.split("\\s*,\\s*")); - List fields = fields(); - return new FilterDefaults(fields, groupBy); + final Set groupBy = defaultsGroupBy.isBlank() ? Set.of() : Set.of(defaultsGroupBy.split("\\s*,\\s*")); + final List fields = fields(); + return new FilterDefaults(fields, groupBy, defaultsSplitBy); } private List toAutocompleteProposals(final List proposals) { diff --git a/pdb-ui/src/main/java/org/lucares/pdbui/PropertyKeys.java b/pdb-ui/src/main/java/org/lucares/pdbui/PropertyKeys.java index d7f1ca7..986ec1d 100644 --- a/pdb-ui/src/main/java/org/lucares/pdbui/PropertyKeys.java +++ b/pdb-ui/src/main/java/org/lucares/pdbui/PropertyKeys.java @@ -21,4 +21,6 @@ public interface PropertyKeys { String DEFAULTS_QUERY_EXAMPLES = "defaults.query.examples"; String DEFAULTS_GROUP_BY = "defaults.groupBy"; + + String DEFAULTS_SPLIT_BY = "defaults.splitBy"; } diff --git a/pdb-ui/src/main/java/org/lucares/pdbui/domain/FilterDefaults.java b/pdb-ui/src/main/java/org/lucares/pdbui/domain/FilterDefaults.java index 02ddb35..9514b93 100644 --- a/pdb-ui/src/main/java/org/lucares/pdbui/domain/FilterDefaults.java +++ b/pdb-ui/src/main/java/org/lucares/pdbui/domain/FilterDefaults.java @@ -10,9 +10,12 @@ public class FilterDefaults { private List fields; - public FilterDefaults(final List fields, final Set groupBy) { + private String splitBy; + + public FilterDefaults(final List fields, final Set groupBy, final String splitBy) { this.fields = new ArrayList(fields); this.groupBy = new HashSet(groupBy); + this.splitBy = splitBy; } public Set getGroupBy() { @@ -30,4 +33,12 @@ public class FilterDefaults { public void setFields(List fields) { this.fields = new ArrayList(fields); } + + public String getSplitBy() { + return splitBy; + } + + public void setSplitBy(String splitBy) { + this.splitBy = splitBy; + } }