Skip to content
Snippets Groups Projects
Commit c7868853 authored by kaloyane's avatar kaloyane
Browse files

[LMS-2383] auto-select the last viewed analysis procedure (kept in screening display settings)

SVN: 22156
parent 9ba55089
No related branches found
No related tags found
No related merge requests found
...@@ -34,6 +34,7 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.application.GenericCon ...@@ -34,6 +34,7 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.application.GenericCon
import ch.systemsx.cisd.openbis.generic.client.web.client.application.IViewContext; import ch.systemsx.cisd.openbis.generic.client.web.client.application.IViewContext;
import ch.systemsx.cisd.openbis.plugin.screening.client.web.client.IScreeningClientServiceAsync; import ch.systemsx.cisd.openbis.plugin.screening.client.web.client.IScreeningClientServiceAsync;
import ch.systemsx.cisd.openbis.plugin.screening.client.web.client.application.Dict; import ch.systemsx.cisd.openbis.plugin.screening.client.web.client.application.Dict;
import ch.systemsx.cisd.openbis.plugin.screening.client.web.client.application.ScreeningDisplaySettingsManager;
/** /**
* An UI panel for selecting analysis procedures. * An UI panel for selecting analysis procedures.
...@@ -143,14 +144,24 @@ class AnalysisProcedureChooser extends HorizontalPanel ...@@ -143,14 +144,24 @@ class AnalysisProcedureChooser extends HorizontalPanel
} }
} }
private void setInitialSelection(String analysisProcedureOrNull) private void setInitialSelection(String value)
{ {
String analysisProcedureOrNull = value;
if (StringUtils.isBlank(analysisProcedureOrNull))
{
analysisProcedureOrNull = getDefaultAnalysisProcedure();
}
String comboBoxValue = analysisCodeToComboBoxValue(analysisProcedureOrNull); String comboBoxValue = analysisCodeToComboBoxValue(analysisProcedureOrNull);
if (UNSPECIFIED_ANALYSIS_PROCEDURE.equals(comboBoxValue))
if (UNSPECIFIED_ANALYSIS_PROCEDURE.equals(comboBoxValue)
|| analysisProceduresComboBox.findModel(comboBoxValue) == null)
{ {
comboBoxValue = getFirstValueFromCombo(); comboBoxValue = getFirstValueFromCombo();
} }
analysisProceduresComboBox.setSimpleValue(comboBoxValue); analysisProceduresComboBox.setSimpleValue(comboBoxValue);
} }
private String getFirstValueFromCombo() private String getFirstValueFromCombo()
...@@ -161,15 +172,33 @@ class AnalysisProcedureChooser extends HorizontalPanel ...@@ -161,15 +172,33 @@ class AnalysisProcedureChooser extends HorizontalPanel
private void selectionChanged() private void selectionChanged()
{ {
String selection = analysisProceduresComboBox.getSimpleValue(); String selection = analysisProceduresComboBox.getSimpleValue();
notifySelectionListener(selection); String analysisProcedureOrNull = comboBoxValueToAnalysisProcedure(selection);
notifySelectionListener(analysisProcedureOrNull);
setDefaultAnalysisProcedure(analysisProcedureOrNull);
} }
private void notifySelectionListener(String selection) private void notifySelectionListener(String analysisProcedureOrNull)
{ {
String analysisProcedureOrNull = comboBoxValueToAnalysisProcedure(selection);
selectionListener.analysisProcedureSelected(analysisProcedureOrNull); selectionListener.analysisProcedureSelected(analysisProcedureOrNull);
} }
private String getDefaultAnalysisProcedure()
{
ScreeningDisplaySettingsManager screeningDisplaySettingsManager =
new ScreeningDisplaySettingsManager(viewContext);
return screeningDisplaySettingsManager.getDefaultAnalysisProcedure();
}
private void setDefaultAnalysisProcedure(String analysisProcedureOrNull)
{
if (StringUtils.isNotBlank(analysisProcedureOrNull))
{
ScreeningDisplaySettingsManager screeningDisplaySettingsManager =
new ScreeningDisplaySettingsManager(viewContext);
screeningDisplaySettingsManager.setDefaultAnalysisProcedure(analysisProcedureOrNull);
}
}
private String analysisCodeToComboBoxValue(String analysisProcedureOrNull) private String analysisCodeToComboBoxValue(String analysisProcedureOrNull)
{ {
return StringUtils.isBlank(analysisProcedureOrNull) ? UNSPECIFIED_ANALYSIS_PROCEDURE return StringUtils.isBlank(analysisProcedureOrNull) ? UNSPECIFIED_ANALYSIS_PROCEDURE
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment