Skip to content
Snippets Groups Projects
Commit 488b0101 authored by buczekp's avatar buczekp
Browse files

[LMS-1415] optionally select sample type and space

SVN: 15088
parent b7f2a6dc
No related branches found
No related tags found
No related merge requests found
Showing
with 135 additions and 52 deletions
...@@ -102,13 +102,18 @@ public final class ComponentProvider ...@@ -102,13 +102,18 @@ public final class ComponentProvider
isCloseConfirmationNeeded); isCloseConfirmationNeeded);
} }
public final ITabItemFactory getSampleBrowser() public ITabItemFactory getSampleBrowser(final String initialGroupOrNull,
final String initialSampleTypeOrNull)
{ {
return new ITabItemFactory() return new ITabItemFactory()
{ {
public ITabItem create() public ITabItem create()
{ {
IDisposableComponent browser = SampleBrowserGrid.create(viewContext); System.err.println(initialGroupOrNull + " " + initialSampleTypeOrNull);
IDisposableComponent browser =
SampleBrowserGrid.create(viewContext, initialGroupOrNull,
initialSampleTypeOrNull);
return createTab(Dict.SAMPLE_BROWSER, browser); return createTab(Dict.SAMPLE_BROWSER, browser);
} }
...@@ -124,6 +129,11 @@ public final class ComponentProvider ...@@ -124,6 +129,11 @@ public final class ComponentProvider
}; };
} }
public final ITabItemFactory getSampleBrowser()
{
return getSampleBrowser(null, null);
}
public final ITabItemFactory getMaterialBrowser() public final ITabItemFactory getMaterialBrowser()
{ {
return new ITabItemFactory() return new ITabItemFactory()
...@@ -783,4 +793,5 @@ public final class ComponentProvider ...@@ -783,4 +793,5 @@ public final class ComponentProvider
{ {
this.mainTabPanelOrNull = mainTabPanel; this.mainTabPanelOrNull = mainTabPanel;
} }
} }
...@@ -21,6 +21,8 @@ public class BrowserLocatorResolver extends AbstractViewLocatorResolver ...@@ -21,6 +21,8 @@ public class BrowserLocatorResolver extends AbstractViewLocatorResolver
public final static String TYPE_PARAMETER_KEY = "type"; public final static String TYPE_PARAMETER_KEY = "type";
public final static String GROUP_PARAMETER_KEY = "space";
public final static String PROJECT_PARAMETER_KEY = "project"; public final static String PROJECT_PARAMETER_KEY = "project";
public BrowserLocatorResolver(IViewContext<ICommonClientServiceAsync> viewContext) public BrowserLocatorResolver(IViewContext<ICommonClientServiceAsync> viewContext)
...@@ -32,15 +34,16 @@ public class BrowserLocatorResolver extends AbstractViewLocatorResolver ...@@ -32,15 +34,16 @@ public class BrowserLocatorResolver extends AbstractViewLocatorResolver
public void resolve(ViewLocator locator) throws UserFailureException public void resolve(ViewLocator locator) throws UserFailureException
{ {
EntityKind entityKind = getEntityKind(locator); EntityKind entityKind = getEntityKind(locator);
final String entityTypeOrNull = locator.getParameters().get(TYPE_PARAMETER_KEY);
switch (entityKind) switch (entityKind)
{ {
case EXPERIMENT: case EXPERIMENT:
final String projectOrNull = locator.getParameters().get(PROJECT_PARAMETER_KEY); final String projectOrNull = locator.getParameters().get(PROJECT_PARAMETER_KEY);
final String experimentTypeOrNull = locator.getParameters().get(TYPE_PARAMETER_KEY); openExperimentBrowser(projectOrNull, entityTypeOrNull);
openExperimentBrowser(projectOrNull, experimentTypeOrNull);
break; break;
case SAMPLE: case SAMPLE:
openSampleBrowser(); final String groupOrNull = locator.getParameters().get(GROUP_PARAMETER_KEY);
openSampleBrowser(groupOrNull, entityTypeOrNull);
break; break;
case MATERIAL: case MATERIAL:
openMaterialBrowser(); openMaterialBrowser();
...@@ -58,15 +61,15 @@ public class BrowserLocatorResolver extends AbstractViewLocatorResolver ...@@ -58,15 +61,15 @@ public class BrowserLocatorResolver extends AbstractViewLocatorResolver
initialProjectOrNull, initialExperimentTypeOrNull)); initialProjectOrNull, initialExperimentTypeOrNull));
} }
private void openSampleBrowser() private void openSampleBrowser(String initialGroupOrNull, String initialSampleTypeOrNull)
{ {
// TODO select sample type and group DispatcherHelper.dispatchNaviEvent(new ComponentProvider(viewContext).getSampleBrowser(
DispatcherHelper.dispatchNaviEvent(new ComponentProvider(viewContext).getSampleBrowser()); initialGroupOrNull, initialSampleTypeOrNull));
} }
private void openMaterialBrowser() private void openMaterialBrowser()
{ {
// TODO select material type // TODO 2010-03-09, Piotr Buczek: optionally select material type
DispatcherHelper.dispatchNaviEvent(new ComponentProvider(viewContext).getMaterialBrowser()); DispatcherHelper.dispatchNaviEvent(new ComponentProvider(viewContext).getMaterialBrowser());
} }
......
...@@ -19,6 +19,7 @@ package ch.systemsx.cisd.openbis.generic.client.web.client.application.ui; ...@@ -19,6 +19,7 @@ package ch.systemsx.cisd.openbis.generic.client.web.client.application.ui;
import java.util.List; import java.util.List;
import com.extjs.gxt.ui.client.store.ListStore; import com.extjs.gxt.ui.client.store.ListStore;
import com.extjs.gxt.ui.client.widget.MessageBox;
import com.extjs.gxt.ui.client.widget.form.ComboBox; import com.extjs.gxt.ui.client.widget.form.ComboBox;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.AbstractAsyncCallback; import ch.systemsx.cisd.openbis.generic.client.web.client.application.AbstractAsyncCallback;
...@@ -86,7 +87,6 @@ public class GroupSelectionWidget extends DropDownList<GroupModel, Space> ...@@ -86,7 +87,6 @@ public class GroupSelectionWidget extends DropDownList<GroupModel, Space>
this.addShared = addShared; this.addShared = addShared;
this.addAll = addAll; this.addAll = addAll;
this.initialGroupOrNull = initialGroupCodeOrNull; this.initialGroupOrNull = initialGroupCodeOrNull;
} }
/** /**
...@@ -135,16 +135,23 @@ public class GroupSelectionWidget extends DropDownList<GroupModel, Space> ...@@ -135,16 +135,23 @@ public class GroupSelectionWidget extends DropDownList<GroupModel, Space>
groupStore.add(new GroupModel(createAllSpaces())); groupStore.add(new GroupModel(createAllSpaces()));
} }
groupStore.add(convertItems(result.getList().extractOriginalObjects())); groupStore.add(convertItems(result.getList().extractOriginalObjects()));
dataLoaded = true;
if (groupStore.getCount() > 0) if (groupStore.getCount() > 0)
{ {
setEmptyText(viewContext.getMessage(Dict.COMBO_BOX_CHOOSE, viewContext setEmptyText(viewContext.getMessage(Dict.COMBO_BOX_CHOOSE, viewContext
.getMessage(Dict.GROUP))); .getMessage(Dict.GROUP)));
setReadOnly(false); setReadOnly(false);
final int homeGroupIndex = getHomeGroupIndex(groupStore); if (initialGroupOrNull != null)
if (homeGroupIndex > -1) {
selectGroupAndUpdateOriginal(initialGroupOrNull);
} else
{ {
setValue(groupStore.getAt(homeGroupIndex)); final int homeGroupIndex = getHomeGroupIndex(groupStore);
setOriginalValue(getValue()); if (homeGroupIndex > -1)
{
setValue(groupStore.getAt(homeGroupIndex));
setOriginalValue(getValue());
}
} }
} else } else
{ {
...@@ -152,8 +159,6 @@ public class GroupSelectionWidget extends DropDownList<GroupModel, Space> ...@@ -152,8 +159,6 @@ public class GroupSelectionWidget extends DropDownList<GroupModel, Space>
.getMessage(Dict.GROUPS))); .getMessage(Dict.GROUPS)));
setReadOnly(true); setReadOnly(true);
} }
dataLoaded = true;
selectGroupAndUpdateOriginal(initialGroupOrNull);
} }
int getHomeGroupIndex(ListStore<GroupModel> groupStore) int getHomeGroupIndex(ListStore<GroupModel> groupStore)
...@@ -180,9 +185,15 @@ public class GroupSelectionWidget extends DropDownList<GroupModel, Space> ...@@ -180,9 +185,15 @@ public class GroupSelectionWidget extends DropDownList<GroupModel, Space>
initialGroupOrNull = group; initialGroupOrNull = group;
if (dataLoaded && initialGroupOrNull != null) if (dataLoaded && initialGroupOrNull != null)
{ {
GWTUtils.setSelectedItem(GroupSelectionWidget.this, ModelDataPropertyNames.CODE, try
initialGroupOrNull); {
setOriginalValue(getValue()); GWTUtils.setSelectedItem(GroupSelectionWidget.this, ModelDataPropertyNames.CODE,
initialGroupOrNull);
} catch (IllegalArgumentException ex)
{
MessageBox.alert("Error", "Space '" + group + "' doesn't exist.", null);
}
updateOriginalValue();
} }
} }
......
...@@ -25,15 +25,15 @@ import com.extjs.gxt.ui.client.widget.form.ComboBox; ...@@ -25,15 +25,15 @@ import com.extjs.gxt.ui.client.widget.form.ComboBox;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.AbstractAsyncCallback; import ch.systemsx.cisd.openbis.generic.client.web.client.application.AbstractAsyncCallback;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.Dict; import ch.systemsx.cisd.openbis.generic.client.web.client.application.Dict;
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.generic.client.web.client.application.model.NonHierarchicalBaseModelData;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.model.ModelDataPropertyNames; import ch.systemsx.cisd.openbis.generic.client.web.client.application.model.ModelDataPropertyNames;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.model.NonHierarchicalBaseModelData;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.widget.DropDownList; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.widget.DropDownList;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.util.GWTUtils; import ch.systemsx.cisd.openbis.generic.client.web.client.application.util.GWTUtils;
import ch.systemsx.cisd.openbis.generic.client.web.client.dto.DefaultResultSetConfig; import ch.systemsx.cisd.openbis.generic.client.web.client.dto.DefaultResultSetConfig;
import ch.systemsx.cisd.openbis.generic.client.web.client.dto.ResultSet; import ch.systemsx.cisd.openbis.generic.client.web.client.dto.ResultSet;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseModificationKind; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseModificationKind;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Space;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Project; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Project;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Space;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseModificationKind.ObjectKind; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseModificationKind.ObjectKind;
/** /**
...@@ -155,11 +155,6 @@ public final class ProjectSelectionWidget extends ...@@ -155,11 +155,6 @@ public final class ProjectSelectionWidget extends
} }
} }
public void updateOriginalValue()
{
setOriginalValue(getValue());
}
@Override @Override
protected List<ProjectComboModel> convertItems(List<Project> projects) protected List<ProjectComboModel> convertItems(List<Project> projects)
{ {
......
...@@ -142,11 +142,6 @@ public class VocabularyTermSelectionWidget extends ...@@ -142,11 +142,6 @@ public class VocabularyTermSelectionWidget extends
GWTUtils.setSelectedItem(this, ModelDataPropertyNames.CODE, termCode); GWTUtils.setSelectedItem(this, ModelDataPropertyNames.CODE, termCode);
} }
public void updateOriginalValue()
{
setOriginalValue(getValue());
}
private class ListTermsCallback extends VocabularyTermSelectionWidget.ListItemsCallback private class ListTermsCallback extends VocabularyTermSelectionWidget.ListItemsCallback
{ {
......
...@@ -165,7 +165,7 @@ public abstract class AbstractEntityBrowserGrid<T extends IEntityPropertiesHolde ...@@ -165,7 +165,7 @@ public abstract class AbstractEntityBrowserGrid<T extends IEntityPropertiesHolde
Boolean refreshColumnsNeeded = updateCriteria(); Boolean refreshColumnsNeeded = updateCriteria();
if (refreshColumnsNeeded != null && refreshColumnsNeeded.booleanValue()) if (refreshColumnsNeeded != null && refreshColumnsNeeded.booleanValue())
{ {
// TODO layout of grid with filters is invoked second time here // TODO 2010-03-09, Piotr Buczek: layout of grid with filters is invoked second time
super.recreateColumnModelAndRefreshColumnsWithFilters(); super.recreateColumnModelAndRefreshColumnsWithFilters();
} }
} }
......
...@@ -25,8 +25,8 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.ICommonClientServiceAs ...@@ -25,8 +25,8 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.ICommonClientServiceAs
import ch.systemsx.cisd.openbis.generic.client.web.client.application.AbstractAsyncCallback; import ch.systemsx.cisd.openbis.generic.client.web.client.application.AbstractAsyncCallback;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.Dict; import ch.systemsx.cisd.openbis.generic.client.web.client.application.Dict;
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.generic.client.web.client.application.model.NonHierarchicalBaseModelData;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.model.ModelDataPropertyNames; import ch.systemsx.cisd.openbis.generic.client.web.client.application.model.ModelDataPropertyNames;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.model.NonHierarchicalBaseModelData;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.renderer.PropertyTypeRenderer; import ch.systemsx.cisd.openbis.generic.client.web.client.application.renderer.PropertyTypeRenderer;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.widget.DropDownList; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.widget.DropDownList;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.util.GWTUtils; import ch.systemsx.cisd.openbis.generic.client.web.client.application.util.GWTUtils;
...@@ -122,11 +122,6 @@ public final class EntityTypePropertyTypeSelectionWidget ...@@ -122,11 +122,6 @@ public final class EntityTypePropertyTypeSelectionWidget
GWTUtils.setSelectedItem(this, ModelDataPropertyNames.CODE, termCode); GWTUtils.setSelectedItem(this, ModelDataPropertyNames.CODE, termCode);
} }
public void updateOriginalValue()
{
setOriginalValue(getValue());
}
public final Long getSelectedEntityTypePropertyTypeOrdinal() public final Long getSelectedEntityTypePropertyTypeOrdinal()
{ {
final EntityTypePropertyTypeComboModel selectedItem = getValue(); final EntityTypePropertyTypeComboModel selectedItem = getValue();
......
...@@ -120,11 +120,16 @@ public class SampleBrowserGrid extends ...@@ -120,11 +120,16 @@ public class SampleBrowserGrid extends
return browserGrid.asDisposableWithToolbar(toolbar); return browserGrid.asDisposableWithToolbar(toolbar);
} }
public static IDisposableComponent create( /**
final IViewContext<ICommonClientServiceAsync> viewContext) * Create a grid with a toolbar with no initial selection and optional initial selection of
* sample type and group.
*/
public static IDisposableComponent create(IViewContext<ICommonClientServiceAsync> viewContext,
String initialGroupOrNull, String initialSampleTypeOrNull)
{ {
final SampleBrowserToolbar toolbar = final SampleBrowserToolbar toolbar =
new SampleBrowserToolbar(viewContext, true, true, false); new SampleBrowserToolbar(viewContext, true, true, false, initialGroupOrNull,
initialSampleTypeOrNull);
ISampleCriteriaProvider criteriaProvider = toolbar; ISampleCriteriaProvider criteriaProvider = toolbar;
final SampleBrowserGrid browserGrid = final SampleBrowserGrid browserGrid =
new SampleBrowserGrid(viewContext, criteriaProvider, GRID_ID, BROWSER_ID, false, new SampleBrowserGrid(viewContext, criteriaProvider, GRID_ID, BROWSER_ID, false,
...@@ -134,6 +139,13 @@ public class SampleBrowserGrid extends ...@@ -134,6 +139,13 @@ public class SampleBrowserGrid extends
return browserGrid.asDisposableWithToolbar(toolbar); return browserGrid.asDisposableWithToolbar(toolbar);
} }
/** Create a grid with a toolbar with no initial selection. */
public static IDisposableComponent create(
final IViewContext<ICommonClientServiceAsync> viewContext)
{
return create(viewContext, null, null);
}
public static IDisposableComponent createGridForContainerSamples( public static IDisposableComponent createGridForContainerSamples(
final IViewContext<ICommonClientServiceAsync> viewContext, final IViewContext<ICommonClientServiceAsync> viewContext,
final TechId containerSampleId, final String gridId, final SampleType sampleType, final TechId containerSampleId, final String gridId, final SampleType sampleType,
......
...@@ -41,10 +41,10 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.widget. ...@@ -41,10 +41,10 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.widget.
import ch.systemsx.cisd.openbis.generic.client.web.client.application.util.IDelegatedAction; import ch.systemsx.cisd.openbis.generic.client.web.client.application.util.IDelegatedAction;
import ch.systemsx.cisd.openbis.generic.client.web.client.dto.ListSampleDisplayCriteria; import ch.systemsx.cisd.openbis.generic.client.web.client.dto.ListSampleDisplayCriteria;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseModificationKind; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseModificationKind;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Space;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ListSampleCriteria; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ListSampleCriteria;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.PropertyType; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.PropertyType;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.SampleType; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.SampleType;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Space;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseModificationKind.ObjectKind; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseModificationKind.ObjectKind;
/** /**
...@@ -71,15 +71,25 @@ final class SampleBrowserToolbar extends ToolBar implements ISampleCriteriaProvi ...@@ -71,15 +71,25 @@ final class SampleBrowserToolbar extends ToolBar implements ISampleCriteriaProvi
private final boolean excludeWithoutExperiment; private final boolean excludeWithoutExperiment;
public SampleBrowserToolbar(final IViewContext<?> viewContext, final boolean addShared, public SampleBrowserToolbar(final IViewContext<?> viewContext, final boolean addShared,
boolean addAll, final boolean excludeWithoutExperiment) boolean addAll, final boolean excludeWithoutExperiment, String initialGroupOrNull,
String initialSampleTypeOrNull)
{ {
this.viewContext = viewContext; this.viewContext = viewContext;
this.excludeWithoutExperiment = excludeWithoutExperiment; this.excludeWithoutExperiment = excludeWithoutExperiment;
selectSampleTypeCombo = new SampleTypeSelectionWidget(viewContext, ID, true, true, false); selectSampleTypeCombo =
selectGroupCombo = new GroupSelectionWidget(viewContext, ID, addShared, addAll); new SampleTypeSelectionWidget(viewContext, ID, true, true, false,
initialSampleTypeOrNull);
selectGroupCombo =
new GroupSelectionWidget(viewContext, ID, addShared, addAll, initialGroupOrNull);
display(); display();
} }
public SampleBrowserToolbar(final IViewContext<?> viewContext, final boolean addShared,
boolean addAll, final boolean excludeWithoutExperiment)
{
this(viewContext, addShared, addAll, excludeWithoutExperiment, null, null);
}
public ListSampleDisplayCriteria tryGetCriteria() public ListSampleDisplayCriteria tryGetCriteria()
{ {
final SampleType selectedType = tryGetSelectedSampleType(); final SampleType selectedType = tryGetSelectedSampleType();
......
...@@ -21,6 +21,7 @@ import static ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseModifica ...@@ -21,6 +21,7 @@ import static ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseModifica
import java.util.List; import java.util.List;
import com.extjs.gxt.ui.client.widget.MessageBox;
import com.extjs.gxt.ui.client.widget.form.ComboBox; import com.extjs.gxt.ui.client.widget.form.ComboBox;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.AbstractAsyncCallback; import ch.systemsx.cisd.openbis.generic.client.web.client.application.AbstractAsyncCallback;
...@@ -52,8 +53,11 @@ public final class SampleTypeSelectionWidget extends DropDownList<SampleTypeMode ...@@ -52,8 +53,11 @@ public final class SampleTypeSelectionWidget extends DropDownList<SampleTypeMode
private final boolean withTypeInFile; private final boolean withTypeInFile;
private final String initialCodeOrNull;
public SampleTypeSelectionWidget(final IViewContext<?> viewContext, final String idSuffix, public SampleTypeSelectionWidget(final IViewContext<?> viewContext, final String idSuffix,
final boolean onlyListable, final boolean withAll, final boolean withTypeInFile) final boolean onlyListable, final boolean withAll, final boolean withTypeInFile,
final String initialCodeOrNull)
{ {
super(viewContext, SUFFIX + idSuffix, Dict.SAMPLE_TYPE, ModelDataPropertyNames.CODE, super(viewContext, SUFFIX + idSuffix, Dict.SAMPLE_TYPE, ModelDataPropertyNames.CODE,
"sample type", "sample types"); "sample type", "sample types");
...@@ -61,11 +65,18 @@ public final class SampleTypeSelectionWidget extends DropDownList<SampleTypeMode ...@@ -61,11 +65,18 @@ public final class SampleTypeSelectionWidget extends DropDownList<SampleTypeMode
this.onlyListable = onlyListable; this.onlyListable = onlyListable;
this.withAll = withAll; this.withAll = withAll;
this.withTypeInFile = withTypeInFile; this.withTypeInFile = withTypeInFile;
setAutoSelectFirst(withAll); this.initialCodeOrNull = initialCodeOrNull;
setAutoSelectFirst(withAll && initialCodeOrNull == null);
setTemplate(GWTUtils.getTooltipTemplate(ModelDataPropertyNames.CODE, setTemplate(GWTUtils.getTooltipTemplate(ModelDataPropertyNames.CODE,
ModelDataPropertyNames.TOOLTIP)); ModelDataPropertyNames.TOOLTIP));
} }
public SampleTypeSelectionWidget(final IViewContext<?> viewContext, final String idSuffix,
final boolean onlyListable, final boolean withAll, final boolean withTypeInFile)
{
this(viewContext, idSuffix, onlyListable, withAll, withTypeInFile, null);
}
public SampleTypeSelectionWidget(final IViewContext<?> viewContext, final String idSuffix, public SampleTypeSelectionWidget(final IViewContext<?> viewContext, final String idSuffix,
final boolean onlyListable) final boolean onlyListable)
{ {
...@@ -108,7 +119,8 @@ public final class SampleTypeSelectionWidget extends DropDownList<SampleTypeMode ...@@ -108,7 +119,8 @@ public final class SampleTypeSelectionWidget extends DropDownList<SampleTypeMode
@Override @Override
protected void loadData(AbstractAsyncCallback<List<SampleType>> callback) protected void loadData(AbstractAsyncCallback<List<SampleType>> callback)
{ {
viewContext.getCommonService().listSampleTypes(callback); viewContext.getCommonService().listSampleTypes(new ListSampleTypesCallback(viewContext));
callback.ignore();
} }
public DatabaseModificationKind[] getRelevantModifications() public DatabaseModificationKind[] getRelevantModifications()
...@@ -118,4 +130,44 @@ public final class SampleTypeSelectionWidget extends DropDownList<SampleTypeMode ...@@ -118,4 +130,44 @@ public final class SampleTypeSelectionWidget extends DropDownList<SampleTypeMode
createOrDelete(ObjectKind.PROPERTY_TYPE_ASSIGNMENT), createOrDelete(ObjectKind.PROPERTY_TYPE_ASSIGNMENT),
edit(ObjectKind.PROPERTY_TYPE_ASSIGNMENT) }; edit(ObjectKind.PROPERTY_TYPE_ASSIGNMENT) };
} }
//
// initial value support
//
private void selectInitialValue()
{
if (initialCodeOrNull != null)
{
trySelectByCode(initialCodeOrNull);
updateOriginalValue();
}
}
private void trySelectByCode(String code)
{
try
{
GWTUtils.setSelectedItem(this, ModelDataPropertyNames.CODE, code);
} catch (IllegalArgumentException ex)
{
MessageBox.alert("Error", "Sample Type '" + code + "' doesn't exist.", null);
}
}
private class ListSampleTypesCallback extends SampleTypeSelectionWidget.ListItemsCallback
{
protected ListSampleTypesCallback(IViewContext<?> viewContext)
{
super(viewContext);
}
@Override
public void process(List<SampleType> result)
{
super.process(result);
selectInitialValue();
}
}
} }
...@@ -321,7 +321,6 @@ public class DatasetLister implements IDatasetLister ...@@ -321,7 +321,6 @@ public class DatasetLister implements IDatasetLister
private ExternalData createPrimaryDataset(DatasetRecord record) private ExternalData createPrimaryDataset(DatasetRecord record)
{ {
ExternalData dataset = createBasicDataset(record); ExternalData dataset = createBasicDataset(record);
// TODO data set type
dataset.setId(record.id); dataset.setId(record.id);
dataset.setComplete(resolve(record.is_complete)); dataset.setComplete(resolve(record.is_complete));
dataset.setDataProducerCode(escapeHtml(record.data_producer_code)); dataset.setDataProducerCode(escapeHtml(record.data_producer_code));
......
...@@ -33,7 +33,7 @@ public class GridRowModel<T> implements IsSerializable ...@@ -33,7 +33,7 @@ public class GridRowModel<T> implements IsSerializable
{ {
private T originalObject; private T originalObject;
// TODO Now that we use GWT 2.0 it should be possible to use map here. // TODO 2010-03-09, Piotr Buczek: Now that we use GWT 2.0 it should be possible to use map here.
// We would like to have a Map field, but we cannot do it because of a bug in // We would like to have a Map field, but we cannot do it because of a bug in
// displaying serialization warnings in GWT 1.5. It was fixed in GWT 1.6 // displaying serialization warnings in GWT 1.5. It was fixed in GWT 1.6
private List<GridCustomColumnValue> calculatedColumnValues; private List<GridCustomColumnValue> calculatedColumnValues;
......
...@@ -38,6 +38,7 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.dto.TableExportCriteri ...@@ -38,6 +38,7 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.dto.TableExportCriteri
import ch.systemsx.cisd.openbis.generic.shared.basic.IColumnDefinition; import ch.systemsx.cisd.openbis.generic.shared.basic.IColumnDefinition;
import ch.systemsx.cisd.openbis.generic.shared.basic.TechId; import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseModificationKind; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseModificationKind;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseModificationKind.ObjectKind;
import ch.systemsx.cisd.openbis.plugin.query.client.web.client.IQueryClientServiceAsync; import ch.systemsx.cisd.openbis.plugin.query.client.web.client.IQueryClientServiceAsync;
import ch.systemsx.cisd.openbis.plugin.query.client.web.client.application.Constants; import ch.systemsx.cisd.openbis.plugin.query.client.web.client.application.Constants;
import ch.systemsx.cisd.openbis.plugin.query.client.web.client.application.Dict; import ch.systemsx.cisd.openbis.plugin.query.client.web.client.application.Dict;
...@@ -191,7 +192,6 @@ public class QueryBrowserGrid extends AbstractSimpleBrowserGrid<QueryExpression> ...@@ -191,7 +192,6 @@ public class QueryBrowserGrid extends AbstractSimpleBrowserGrid<QueryExpression>
public DatabaseModificationKind[] getRelevantModifications() public DatabaseModificationKind[] getRelevantModifications()
{ {
// TODO Auto-generated method stub return DatabaseModificationKind.any(ObjectKind.QUERY);
return new DatabaseModificationKind[] {};
} }
} }
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