From 6e596ab491e3f0cf453c953ae7655b8d6b49036f Mon Sep 17 00:00:00 2001 From: izabel <izabel> Date: Tue, 29 Sep 2009 17:38:48 +0000 Subject: [PATCH] add tooltip to vocabulary term list SVN: 12772 --- .../model/ModelDataPropertyNames.java | 2 ++ .../application/model/VocabularyTermModel.java | 2 ++ .../VocabularyPropertyColRenderer.java | 17 +++++++++++++++++ .../field/VocabularyTermSelectionWidget.java | 18 ++++++++++++++++-- .../application/ui/widget/DropDownList.java | 3 ++- 5 files changed, 39 insertions(+), 3 deletions(-) diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/model/ModelDataPropertyNames.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/model/ModelDataPropertyNames.java index 18354c8e00e..3a0b8d1ad80 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/model/ModelDataPropertyNames.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/model/ModelDataPropertyNames.java @@ -40,6 +40,8 @@ public final class ModelDataPropertyNames public static final String CODE_WITH_LABEL = "code_with_label"; + public static final String TOOLTIP = "tooltip"; + public static final String LABEL = "label"; public static final String DATA_SET_TYPES = "data_set_types"; diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/model/VocabularyTermModel.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/model/VocabularyTermModel.java index c943456ba71..ee3b450754f 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/model/VocabularyTermModel.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/model/VocabularyTermModel.java @@ -40,6 +40,8 @@ public class VocabularyTermModel extends BaseModel implements Comparable<Vocabul { set(ModelDataPropertyNames.CODE, term.getCode()); set(ModelDataPropertyNames.CODE_WITH_LABEL, getCodeWithLabel(term)); + set(ModelDataPropertyNames.TOOLTIP, VocabularyPropertyColRenderer + .renderAsTooltip(term)); set(ModelDataPropertyNames.OBJECT, term); } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/model/renderer/VocabularyPropertyColRenderer.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/model/renderer/VocabularyPropertyColRenderer.java index 9e944c722bf..d8d3ddcf1ef 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/model/renderer/VocabularyPropertyColRenderer.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/model/renderer/VocabularyPropertyColRenderer.java @@ -84,4 +84,21 @@ public class VocabularyPropertyColRenderer<T extends IEntityPropertiesHolder> ex return label + " [" + code + "]"; } } + + public static final String renderAsTooltip(VocabularyTerm term) + { + final String code = term.getCode(); + final String label = term.getLabel(); + final String description = term.getDescription(); + String result = "<b>" + code + "</b>"; + if (label != null) + { + result += "<br>" + label; + } + if (description != null) + { + result += "<br><i>" + description + "</i>"; + } + return result.replace(".", ". "); + } } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/field/VocabularyTermSelectionWidget.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/field/VocabularyTermSelectionWidget.java index 07c88bc3cdd..5652987820b 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/field/VocabularyTermSelectionWidget.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/field/VocabularyTermSelectionWidget.java @@ -49,7 +49,7 @@ public class VocabularyTermSelectionWidget extends private final IViewContext<?> viewContextOrNull; private Vocabulary vocabularyOrNull; - + private String initialTermCodeOrNull; private boolean dataLoaded = false; @@ -90,8 +90,10 @@ public class VocabularyTermSelectionWidget extends { setTerms(termsOrNull); } + setTemplate(getTooltipTemplate(ModelDataPropertyNames.CODE_WITH_LABEL, + ModelDataPropertyNames.TOOLTIP)); } - + public void setVocabulary(Vocabulary vocabulary) { vocabularyOrNull = vocabulary; @@ -165,4 +167,16 @@ public class VocabularyTermSelectionWidget extends } } + private native String getTooltipTemplate(String displayField, String tooltipField) /*-{ + return [ + '<tpl for=".">', + '<div class="x-combo-list-item" qtip="{[values.', + tooltipField, + ']}">{[values.', + displayField, + ']}</div>', + '</tpl>' + ].join(""); + }-*/; + } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/widget/DropDownList.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/widget/DropDownList.java index 43406463a62..e076f0873e2 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/widget/DropDownList.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/widget/DropDownList.java @@ -50,7 +50,7 @@ abstract public class DropDownList<M extends ModelData, E> extends ComboBox<M> i // ---------- - private static final int DEFAULT_WIDTH = 150; + private static final int DEFAULT_WIDTH = 200; private static final String PREFIX = "select_"; @@ -434,4 +434,5 @@ abstract public class DropDownList<M extends ModelData, E> extends ComboBox<M> i refreshStore(); } } + } -- GitLab