mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-01 01:44:08 +00:00
Auto-resizing of the statistic suggest box and other style improvements of the data mining UI
This commit is contained in:
1 parent
23debc649a
commit
ccbb9b7910
4 files changed
+68
-40
No files matched your search
+18
-10
@@ -40,7 +40,10 @@ import com.sap.sse.gwt.client.shared.settings.ComponentContext;
|
||||
public class MultiDimensionalGroupingProvider extends AbstractDataMiningComponent<SerializableSettings>
|
||||
implements GroupingProvider {
|
||||
|
||||
private static final String GROUPING_PROVIDER_ELEMENT_STYLE = "groupingProviderElement";
|
||||
private static final String GroupingProviderStyle = "groupingProvider";
|
||||
private static final String GroupingProviderLabelStyle = "groupingProviderLabel";
|
||||
private static final String GroupingProviderElementStyle = "groupingProviderElement";
|
||||
|
||||
private static final NaturalComparator NaturalComparator = new NaturalComparator();
|
||||
private static final Comparator<FunctionDTO> DimensionComparator = (d1, d2) -> {
|
||||
// Null values (to deselect the dimension) on top
|
||||
@@ -79,10 +82,10 @@ public class MultiDimensionalGroupingProvider extends AbstractDataMiningComponen
|
||||
dimensionToGroupByBoxes = new ArrayList<ValueListBox<FunctionDTO>>();
|
||||
|
||||
mainPanel = new FlowPanel();
|
||||
mainPanel.addStyleName("groupingProvider");
|
||||
mainPanel.addStyleName(GroupingProviderStyle);
|
||||
|
||||
Label groupByLabel = new Label(this.getDataMiningStringMessages().groupBy());
|
||||
groupByLabel.addStyleName(GROUPING_PROVIDER_ELEMENT_STYLE);
|
||||
groupByLabel.addStyleName("queryProviderElementLabel");
|
||||
groupByLabel.addStyleName(GroupingProviderLabelStyle);
|
||||
groupByLabel.addStyleName("emphasizedLabel");
|
||||
mainPanel.add(groupByLabel);
|
||||
|
||||
@@ -161,11 +164,17 @@ public class MultiDimensionalGroupingProvider extends AbstractDataMiningComponen
|
||||
}
|
||||
|
||||
private void clear() {
|
||||
mainPanel.clear();
|
||||
dimensionToGroupByBoxes.clear();
|
||||
clearDimensionBoxes();
|
||||
availableDimensions.clear();
|
||||
}
|
||||
|
||||
private void clearDimensionBoxes() {
|
||||
for (ValueListBox<FunctionDTO> dimensionBox : dimensionToGroupByBoxes) {
|
||||
dimensionBox.removeFromParent();
|
||||
}
|
||||
dimensionToGroupByBoxes.clear();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iterable<FunctionDTO> getAvailableDimensions() {
|
||||
return Collections.unmodifiableList(availableDimensions);
|
||||
@@ -208,7 +217,7 @@ public class MultiDimensionalGroupingProvider extends AbstractDataMiningComponen
|
||||
}
|
||||
|
||||
});
|
||||
dimensionToGroupByBox.addStyleName(GROUPING_PROVIDER_ELEMENT_STYLE);
|
||||
dimensionToGroupByBox.addStyleName(GroupingProviderElementStyle);
|
||||
return dimensionToGroupByBox;
|
||||
}
|
||||
|
||||
@@ -252,7 +261,7 @@ public class MultiDimensionalGroupingProvider extends AbstractDataMiningComponen
|
||||
final ValueListBox<FunctionDTO> dimensionListBox = i.next();
|
||||
if (Util.equalsWithNull(dimension, dimensionListBox.getValue())) {
|
||||
i.remove();
|
||||
mainPanel.remove(dimensionListBox);
|
||||
dimensionListBox.removeFromParent();
|
||||
updateAcceptableValues();
|
||||
notifyListeners();
|
||||
}
|
||||
@@ -265,8 +274,7 @@ public class MultiDimensionalGroupingProvider extends AbstractDataMiningComponen
|
||||
dimensionsToSelect = queryDefinition.getDimensionsToGroupBy();
|
||||
selectionCallback = callback;
|
||||
if (!isAwaitingReload && !isUpdating && currentRetrieverChainDefinition.equals(newRetrieverChain)) {
|
||||
mainPanel.clear();
|
||||
dimensionToGroupByBoxes.clear();
|
||||
clearDimensionBoxes();
|
||||
ValueListBox<FunctionDTO> firstDimensionToGroupByBox = createDimensionToGroupByBox();
|
||||
addDimensionToGroupByBoxAndUpdateAcceptableValues(firstDimensionToGroupByBox);
|
||||
|
||||
|
||||
+9
-7
@@ -69,8 +69,10 @@ import com.sap.sse.gwt.client.shared.settings.ComponentContext;
|
||||
public class QueryDefinitionProviderWithControls extends AbstractQueryDefinitionProvider<AdvancedDataMiningSettings>
|
||||
implements WithControls {
|
||||
|
||||
private static final double HeaderPanelHeight = 45;
|
||||
private static final double FooterPanelHeight = 50;
|
||||
private static final double HeaderPanelHeight = 41;
|
||||
private static final double InitialQueryDefinitionViewerWidth = 600;
|
||||
private static final double InitialStatisticProviderWidth = 800;
|
||||
private static final double FooterPanelHeight = 60;
|
||||
private static final int SplitterSize = 10;
|
||||
|
||||
private final Panel mainPanel;
|
||||
@@ -103,7 +105,7 @@ public class QueryDefinitionProviderWithControls extends AbstractQueryDefinition
|
||||
providerListener = new ProviderListener();
|
||||
// Creating the header panel, that contains the retriever chain provider and the controls
|
||||
controlsPanel = new FlowPanel();
|
||||
controlsPanel.addStyleName("definitionProviderControls");
|
||||
controlsPanel.addStyleName("dataMiningMarginBase");
|
||||
|
||||
this.settingsControl = settingsControl;
|
||||
addControl(this.settingsControl.getEntryWidget());
|
||||
@@ -144,7 +146,8 @@ public class QueryDefinitionProviderWithControls extends AbstractQueryDefinition
|
||||
|
||||
statisticProvider = new SuggestBoxStatisticProvider(parent, context, dataMiningService,
|
||||
errorReporter, settingsControl, settingsManager);
|
||||
statisticProvider.getEntryWidget().addStyleName("statisticProvider");
|
||||
Widget statisticProviderWidget = statisticProvider.getEntryWidget();
|
||||
statisticProviderWidget.addStyleName("dataMiningMarginBase");
|
||||
statisticProvider.addStatisticChangedListener(providerListener);
|
||||
|
||||
groupingProvider = new MultiDimensionalGroupingProvider(parent, context, dataMiningService,
|
||||
@@ -159,7 +162,7 @@ public class QueryDefinitionProviderWithControls extends AbstractQueryDefinition
|
||||
|
||||
filterSplitPanel = new SplitLayoutPanel(SplitterSize);
|
||||
filterSplitPanel.addSouth(groupingProvider.getEntryWidget(), FooterPanelHeight);
|
||||
filterSplitPanel.addEast(queryDefinitionViewer.getEntryWidget(), 600);
|
||||
filterSplitPanel.addEast(queryDefinitionViewer.getEntryWidget(), InitialQueryDefinitionViewerWidth);
|
||||
filterSplitPanel.setWidgetHidden(queryDefinitionViewer.getEntryWidget(), true);
|
||||
filterSplitPanel.add(filterSelectionProvider.getEntryWidget());
|
||||
|
||||
@@ -172,8 +175,7 @@ public class QueryDefinitionProviderWithControls extends AbstractQueryDefinition
|
||||
applyQueryBusyIndicator.add(labeledBusyIndicator);
|
||||
|
||||
SplitLayoutPanel headerPanel = new SplitLayoutPanel(SplitterSize);
|
||||
headerPanel.addStyleName("dataMiningMarginBase");
|
||||
headerPanel.addWest(statisticProvider.getEntryWidget(), 800);
|
||||
headerPanel.addWest(statisticProviderWidget, InitialStatisticProviderWidth);
|
||||
headerPanel.add(controlsPanel);
|
||||
|
||||
DockLayoutPanel contentPanel = new DockLayoutPanel(Unit.PX);
|
||||
|
||||
+15
-7
@@ -21,6 +21,7 @@ import com.google.gwt.user.client.ui.FlowPanel;
|
||||
import com.google.gwt.user.client.ui.Label;
|
||||
import com.google.gwt.user.client.ui.MenuItem;
|
||||
import com.google.gwt.user.client.ui.PopupPanel;
|
||||
import com.google.gwt.user.client.ui.SimplePanel;
|
||||
import com.google.gwt.user.client.ui.SuggestBox.DefaultSuggestionDisplay;
|
||||
import com.google.gwt.user.client.ui.ValueListBox;
|
||||
import com.google.gwt.user.client.ui.Widget;
|
||||
@@ -62,7 +63,10 @@ import com.sap.sse.gwt.client.suggestion.CustomSuggestBox;
|
||||
public class SuggestBoxStatisticProvider extends AbstractDataMiningComponent<CompositeSettings>
|
||||
implements StatisticProvider {
|
||||
|
||||
private static final String STATISTIC_PROVIDER_ELEMENT_STYLE = "statisticProviderElement";
|
||||
private static final String StatisticProviderStyle = "statisticProvider";
|
||||
private static final String StatisticProviderLabelStyle = "statisticProviderLabel";
|
||||
private static final String StatisticProviderElementStyle = "statisticProviderElement";
|
||||
private static final String SuggestBoxContainerStyle = "statisticSuggestBoxContainer";
|
||||
|
||||
private final DataMiningServiceAsync dataMiningService;
|
||||
private final ErrorReporter errorReporter;
|
||||
@@ -103,9 +107,9 @@ public class SuggestBoxStatisticProvider extends AbstractDataMiningComponent<Com
|
||||
retrieverLevelSettingsComponents = new ArrayList<>();
|
||||
|
||||
mainPanel = new FlowPanel();
|
||||
mainPanel.addStyleName(StatisticProviderStyle);
|
||||
Label label = new Label(getDataMiningStringMessages().calculateThe());
|
||||
label.addStyleName(STATISTIC_PROVIDER_ELEMENT_STYLE);
|
||||
label.addStyleName("queryProviderElementLabel");
|
||||
label.addStyleName(StatisticProviderLabelStyle);
|
||||
label.addStyleName("emphasizedLabel");
|
||||
mainPanel.add(label);
|
||||
|
||||
@@ -130,13 +134,17 @@ public class SuggestBoxStatisticProvider extends AbstractDataMiningComponent<Com
|
||||
}
|
||||
});
|
||||
extractionFunctionSuggestBox.setLimit(Integer.MAX_VALUE);
|
||||
extractionFunctionSuggestBox.addStyleName(STATISTIC_PROVIDER_ELEMENT_STYLE);
|
||||
extractionFunctionSuggestBox.setWidth("540px");
|
||||
mainPanel.add(extractionFunctionSuggestBox);
|
||||
extractionFunctionSuggestBox.addStyleName(StatisticProviderElementStyle);
|
||||
extractionFunctionSuggestBox.setWidth("100%");
|
||||
|
||||
SimplePanel suggestBoxContainer = new SimplePanel(extractionFunctionSuggestBox);
|
||||
suggestBoxContainer.addStyleName(StatisticProviderElementStyle);
|
||||
suggestBoxContainer.addStyleName(SuggestBoxContainerStyle);
|
||||
mainPanel.add(suggestBoxContainer);
|
||||
|
||||
availableAggregators = new ArrayList<>();
|
||||
aggregatorListBox = createAggregatorListBox();
|
||||
aggregatorListBox.addStyleName(STATISTIC_PROVIDER_ELEMENT_STYLE);
|
||||
aggregatorListBox.addStyleName(StatisticProviderElementStyle);
|
||||
mainPanel.add(aggregatorListBox);
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user