From 68eb4cf7bf0f880f2a631d8e79e5c0179e54b4ec Mon Sep 17 00:00:00 2001 From: izabel <izabel> Date: Thu, 16 Sep 2010 13:10:27 +0000 Subject: [PATCH] [LMS-1757] hide smart view and file view SVN: 17872 --- openbis/etc/web-client.properties | 22 +++++----- .../web/client/application/TabContent.java | 12 ++++++ .../application/ui/widget/SectionsPanel.java | 4 +- .../application/dataset/DataViewSection.java | 32 ++++++++++++-- screening/etc/web-client.properties | 42 +++++++++++++++++++ .../application/DisplayTypeIDGenerator.java | 10 ++++- .../ExperimentPlateLocationsSection.java | 2 +- .../ExperimentWellMaterialsSection.java | 3 +- .../PlateLayoutDatasetSection.java | 4 +- .../PlateLayoutSampleSection.java | 5 +-- .../PlateLocationsMaterialSection.java | 4 +- screening/source/java/service.properties | 6 ++- 12 files changed, 118 insertions(+), 28 deletions(-) create mode 100644 screening/etc/web-client.properties diff --git a/openbis/etc/web-client.properties b/openbis/etc/web-client.properties index 56e30802c25..72b46e0a527 100644 --- a/openbis/etc/web-client.properties +++ b/openbis/etc/web-client.properties @@ -25,18 +25,18 @@ # # Example: # -#detail-views = sample-view, experiment-view, data-view +detail-views = sample-view, experiment-view, data-view -#sample-view.view = generic_sample_viewer -#sample-view.types = CELL_PLATE, CONTROL_LAYOUT -#sample-view.hide-sections = attachment-section, container-sample-section, derived-samples-section +sample-view.view = generic_sample_viewer +sample-view.types = CELL_PLATE, CONTROL_LAYOUT +sample-view.hide-sections = attachment-section, container-sample-section, derived-samples-section -#experiment-view.view = generic_sample_viewer -#experiment-view.types = SIRNA_HCS -#experiment-view.hide-sections = attachment-section +experiment-view.view = generic_sample_viewer +experiment-view.types = SIRNA_HCS +experiment-view.hide-sections = attachment-section -#data-view.view = generic-dataset-viewer -#data-view.types = HCS_IMAGE -#data-view.hide-smart-view = true -#data-view.hide-file-view = false +data-view.view = generic-dataset-viewer +data-view.types = HCS_IMAGE +data-view.hide-smart-view = true +data-view.hide-file-view = false diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/TabContent.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/TabContent.java index 91fb45ebce8..0a16bce05df 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/TabContent.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/TabContent.java @@ -49,6 +49,8 @@ abstract public class TabContent extends ContentPanel */ private boolean autoDisposeComponents = true; + private String parentDisplayID; + public TabContent(final String header, IViewContext<?> viewContext) { this.viewContext = viewContext; @@ -60,6 +62,16 @@ abstract public class TabContent extends ContentPanel setLayout(new FitLayout()); } + public String getParentDisplayID() + { + return parentDisplayID; + } + + public void setParentDisplayID(String parentDisplayID) + { + this.parentDisplayID = parentDisplayID; + } + public void setDisplayID(IDisplayTypeIDGenerator generator) { this.displayId = generator.createID(); diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/widget/SectionsPanel.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/widget/SectionsPanel.java index 9cd0a3914ac..e91e651a500 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/widget/SectionsPanel.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/widget/SectionsPanel.java @@ -121,9 +121,10 @@ public class SectionsPanel extends LayoutContainer { DetailViewConfiguration viewSettingsOrNull = viewContext.getDisplaySettingsManager().tryGetDetailViewSettings(getDisplayID()); + String panelDisplayId = panel.getDisplayID().toUpperCase(); if (viewSettingsOrNull != null && viewSettingsOrNull.getDisabledTabs() - .contains(panel.getDisplayID().toUpperCase())) + .contains(panelDisplayId)) { return; } @@ -133,6 +134,7 @@ public class SectionsPanel extends LayoutContainer panel.disableAutoDisposeComponents(); elements.add(element); addToToolbar(element); + panel.setParentDisplayID(getDisplayID()); } @Override diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/dataset/DataViewSection.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/dataset/DataViewSection.java index 0bcd3847feb..c22229b2277 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/dataset/DataViewSection.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/dataset/DataViewSection.java @@ -46,6 +46,7 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.dto.DisplayedOrSelecte import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataStoreServiceKind; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseModificationKind; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatastoreServiceDescription; +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DetailViewConfiguration; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExternalData; /** @@ -89,8 +90,19 @@ public class DataViewSection extends TabContent @Override protected void showContent() { + boolean hideFileView = false; + boolean hideSmartView = false; + DetailViewConfiguration viewSettingsOrNull = + viewContext.getDisplaySettingsManager().tryGetDetailViewSettings( + getParentDisplayID()); + if (viewSettingsOrNull != null) + { + hideFileView = viewSettingsOrNull.isHideFileView(); + hideSmartView = viewSettingsOrNull.isHideSmartView(); + } final DatastoreServiceSelectionWidget serviceSelectionWidget = - new DatastoreServiceSelectionWidget(viewContext, dataset); + new DatastoreServiceSelectionWidget(viewContext, dataset, hideFileView, + hideSmartView); getHeader().addTool(new LabelToolItem(serviceSelectionWidget.getFieldLabel() + ": ")); getHeader().addTool(serviceSelectionWidget); serviceSelectionWidget.addSelectionChangedListener(createServiceSelectionChangedListener()); @@ -203,13 +215,19 @@ public class DataViewSection extends TabContent private DatastoreServiceDescriptionModel defaultModel; + private final boolean hideFileView; + + private final boolean hideSmartView; + public DatastoreServiceSelectionWidget(final IViewContext<?> viewContext, - final ExternalData dataset) + final ExternalData dataset, boolean hideFileView, boolean hideSmartView) { super(viewContext, ("data-set_" + dataset.getCode() + "_viewer"), Dict.BUTTON_SHOW, ModelDataPropertyNames.LABEL, "viewer", "viewers"); this.viewContext = viewContext; this.dataset = dataset; + this.hideFileView = hideFileView; + this.hideSmartView = hideSmartView; if (dataset.getStatus().isAvailable()) { addPostRefreshCallback(createDefaultServiceSelectionAction()); @@ -251,8 +269,14 @@ public class DataViewSection extends TabContent { List<DatastoreServiceDescriptionModel> models = DatastoreServiceDescriptionModel.convert(result, dataset); - models.add(0, defaultModel = createFilesServiceDescription(FILES_SMART_VIEW)); - models.add(1, createFilesServiceDescription(FILES_HOME_VIEW)); + if (hideFileView == false) + { + models.add(0, createFilesServiceDescription(FILES_HOME_VIEW)); + } + if (hideSmartView == false) + { + models.add(0, defaultModel = createFilesServiceDescription(FILES_SMART_VIEW)); + } return models; } diff --git a/screening/etc/web-client.properties b/screening/etc/web-client.properties new file mode 100644 index 00000000000..68a1de8c85f --- /dev/null +++ b/screening/etc/web-client.properties @@ -0,0 +1,42 @@ +# Configuration of entity (experiment, sample, data set, material) detail views. +# +# Mandatory properties: +# - view (entity detail view id) +# - types (list of entity type codes) +# Optional properties: +# - hide-sections (list of section ids) +# - hide-smart-view (removes "Smart View" from Data Set Detail View -> Data View) (generic_dataset_viewer) +# - hide-file-view (removes "File View" from Data Set Detail View -> Data View) (generic_dataset_viewer) +# Available entity-detail-views: +# generic_dataset_viewer +# generic_experiment_viewer +# generic_sample_viewer +# generic_material_viewer +# Available sections: +# attachment-section +# container-sample-section +# derived-samples-section +# parent-samples-section +# data-set-section +# data-set-parents-section +# data-set-children-section +# data-set-data-section +# module-section +# +# Example: +# +detail-views = sample-view, experiment-view, data-view + +sample-view.view = generic_sample_viewer +sample-view.types = PLATE +sample-view.hide-sections = + +experiment-view.view = generic_sample_viewer +experiment-view.types = SIRNA_HCS +experiment-view.hide-sections = attachment-section + +data-view.view = generic_dataset_viewer +data-view.types = HCS_IMAGE +data-view.hide-smart-view = true +data-view.hide-file-view = true + diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/DisplayTypeIDGenerator.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/DisplayTypeIDGenerator.java index 05e2c019822..565f57fd6a9 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/DisplayTypeIDGenerator.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/DisplayTypeIDGenerator.java @@ -25,7 +25,15 @@ public enum DisplayTypeIDGenerator implements IDisplayTypeIDGenerator { PLATE_MATERIAL_REVIEWER("plate-material-reviewer"), - PLATE_MATERIAL_BROWSER("plate-material-browser") + PLATE_LAYOUT_SAMPLE_SECTION("plate-layout-sample-section"), + + PLATE_LAYOUT_DATASET_SECTION("plate-layout-dataset-section"), + + PLATE_LOCATIONS_MATERIAL_SECTION("plate-locations-material-section"), + + EXPERIMENT_PLATE_LOCATIONS_SECTION("plate-locations-experiment-section"), + + EXPERIMENT_WELL_MATERIALS_SECTION("experiment-well-materials-section"), ; diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/ExperimentPlateLocationsSection.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/ExperimentPlateLocationsSection.java index f000886801c..5d234deb064 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/ExperimentPlateLocationsSection.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/ExperimentPlateLocationsSection.java @@ -66,7 +66,7 @@ public class ExperimentPlateLocationsSection extends TabContent new CheckBoxField(screeningViewContext.getMessage(Dict.EXACT_MATCH_ONLY), false); exactMatchOnly.setBoxLabel(screeningViewContext.getMessage(Dict.EXACT_MATCH_ONLY)); exactMatchOnly.setValue(true); - setDisplayID(DisplayTypeIDGenerator.PLATE_MATERIAL_REVIEWER); + setDisplayID(DisplayTypeIDGenerator.EXPERIMENT_PLATE_LOCATIONS_SECTION); screeningViewContext.getCommonService().listMaterialTypes( new AbstractAsyncCallback<List<MaterialType>>(screeningViewContext) { diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/ExperimentWellMaterialsSection.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/ExperimentWellMaterialsSection.java index d47566f1bda..7b6bbd36aaa 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/ExperimentWellMaterialsSection.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/ExperimentWellMaterialsSection.java @@ -15,7 +15,6 @@ import ch.systemsx.cisd.openbis.plugin.screening.client.web.client.application.D */ public class ExperimentWellMaterialsSection extends DisposableTabContent { - public static final String ID_SUFFIX = "ExperimentWellMaterialsSection"; private final IViewContext<IScreeningClientServiceAsync> screeningViewContext; @@ -29,7 +28,7 @@ public class ExperimentWellMaterialsSection extends DisposableTabContent screeningViewContext); this.screeningViewContext = screeningViewContext; this.experiment = experiment; - setDisplayID(DisplayTypeIDGenerator.PLATE_MATERIAL_BROWSER); + setDisplayID(DisplayTypeIDGenerator.EXPERIMENT_WELL_MATERIALS_SECTION); } @Override diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/PlateLayoutDatasetSection.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/PlateLayoutDatasetSection.java index d31b32d34b6..d64a06cde0a 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/PlateLayoutDatasetSection.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/PlateLayoutDatasetSection.java @@ -25,10 +25,10 @@ import com.google.gwt.user.client.rpc.AsyncCallback; import ch.systemsx.cisd.openbis.generic.client.web.client.application.AbstractAsyncCallback; import ch.systemsx.cisd.openbis.generic.client.web.client.application.TabContent; -import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.DisplayTypeIDGenerator; import ch.systemsx.cisd.openbis.generic.shared.basic.TechId; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Sample; import ch.systemsx.cisd.openbis.plugin.screening.client.web.client.application.Dict; +import ch.systemsx.cisd.openbis.plugin.screening.client.web.client.application.DisplayTypeIDGenerator; import ch.systemsx.cisd.openbis.plugin.screening.client.web.client.application.ScreeningViewContext; import ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto.PlateImages; @@ -51,7 +51,7 @@ public class PlateLayoutDatasetSection extends TabContent super("Plate Layout", viewContext); this.viewContext = viewContext; this.datasetId = datasetId; - setDisplayID(DisplayTypeIDGenerator.CONTAINER_SAMPLES_SECTION); + setDisplayID(DisplayTypeIDGenerator.PLATE_LAYOUT_DATASET_SECTION); } @Override diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/PlateLayoutSampleSection.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/PlateLayoutSampleSection.java index 50f08894f81..881462d2945 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/PlateLayoutSampleSection.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/PlateLayoutSampleSection.java @@ -31,12 +31,12 @@ import com.google.gwt.user.client.ui.Widget; import ch.systemsx.cisd.openbis.generic.client.web.client.application.AbstractAsyncCallback; import ch.systemsx.cisd.openbis.generic.client.web.client.application.TabContent; -import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.DisplayTypeIDGenerator; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.data.DataSetReportGenerator; import ch.systemsx.cisd.openbis.generic.client.web.client.dto.DisplayedOrSelectedDatasetCriteria; import ch.systemsx.cisd.openbis.generic.shared.basic.TechId; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatastoreServiceDescription; import ch.systemsx.cisd.openbis.plugin.screening.client.web.client.application.Dict; +import ch.systemsx.cisd.openbis.plugin.screening.client.web.client.application.DisplayTypeIDGenerator; import ch.systemsx.cisd.openbis.plugin.screening.client.web.client.application.ScreeningViewContext; import ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto.DatasetReference; import ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto.PlateContent; @@ -50,7 +50,6 @@ import ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto.ScreeningConst */ public class PlateLayoutSampleSection extends TabContent { - public static final String ID_SUFFIX = "PlateLayoutSection"; private final ScreeningViewContext viewContext; @@ -61,7 +60,7 @@ public class PlateLayoutSampleSection extends TabContent super("Plate Layout", viewContext); this.viewContext = viewContext; this.sampleId = sampleId; - setDisplayID(DisplayTypeIDGenerator.CONTAINER_SAMPLES_SECTION); + setDisplayID(DisplayTypeIDGenerator.PLATE_LAYOUT_SAMPLE_SECTION); } @Override diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/PlateLocationsMaterialSection.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/PlateLocationsMaterialSection.java index 5eaf6ba06ec..d0f8b29df39 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/PlateLocationsMaterialSection.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/PlateLocationsMaterialSection.java @@ -2,10 +2,10 @@ package ch.systemsx.cisd.openbis.plugin.screening.client.web.client.application. import ch.systemsx.cisd.openbis.generic.client.web.client.application.IViewContext; import ch.systemsx.cisd.openbis.generic.client.web.client.application.TabContent; -import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.DisplayTypeIDGenerator; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.IDisposableComponent; import ch.systemsx.cisd.openbis.generic.shared.basic.TechId; import ch.systemsx.cisd.openbis.plugin.screening.client.web.client.IScreeningClientServiceAsync; +import ch.systemsx.cisd.openbis.plugin.screening.client.web.client.application.DisplayTypeIDGenerator; import ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto.PlateMaterialsSearchCriteria.ExperimentSearchCriteria; /** @@ -32,7 +32,7 @@ class PlateLocationsMaterialSection extends TabContent this.reviewer = PlateMaterialReviewer.create(screeningViewContext, experimentCriteriaOrNull, materialId); - setDisplayID(DisplayTypeIDGenerator.CONTAINER_SAMPLES_SECTION); + setDisplayID(DisplayTypeIDGenerator.PLATE_LOCATIONS_MATERIAL_SECTION); } @Override diff --git a/screening/source/java/service.properties b/screening/source/java/service.properties index 699cb58d957..71c7e68f196 100644 --- a/screening/source/java/service.properties +++ b/screening/source/java/service.properties @@ -16,6 +16,7 @@ database.create-from-scratch = false database.script-single-step-mode = false database.url-host-part = database.kind = screening_demo +#database.kind = lmc_mig database.owner = database.owner-password = database.admin-user = @@ -60,4 +61,7 @@ hibernate.search.index-mode = NO_INDEX # Default is 1000. hibernate.search.batch-size = 1000 # If 'async', the update of indices will be done in a separate thread. -hibernate.search.worker.execution=async \ No newline at end of file +hibernate.search.worker.execution=async + +# Name of the file that stores Web Client configuration +web-client-configuration-file = etc/web-client.properties \ No newline at end of file -- GitLab