diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/amc/AddPropertyTypeDialog.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/amc/AddPropertyTypeDialog.java index dd34415c983edc19f91dabb096b82e9e542de8ff..9d02006a156b6c1e447437f31c4e25af98aab67e 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/amc/AddPropertyTypeDialog.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/amc/AddPropertyTypeDialog.java @@ -894,31 +894,41 @@ public class AddPropertyTypeDialog extends AbstractRegistrationDialog if (propertyType != null && entityType != null && propertyType.getDataType() != null) { final List<EntityTypePropertyType<?>> etpts = new ArrayList<EntityTypePropertyType<?>>(entityType.getAssignedPropertyTypes()); - sectionSelectionWidget = SectionSelectionWidget.create(viewContext, etpts); - this.addField(sectionSelectionWidget); - etptSelectionWidget = createETPTSelectionWidget(etpts); - this.addField(etptSelectionWidget); + this.addField(getSectionSelectionWidget(etpts)); + this.addField(getETPTSelectionWidget(etpts)); } fixLayout(); } + private EntityTypePropertyTypeSelectionWidget getETPTSelectionWidget(final List<EntityTypePropertyType<?>> etpts) + { + if (etptSelectionWidget == null) + { + etptSelectionWidget = createETPTSelectionWidget(etpts); + } + return etptSelectionWidget; + } + + private SectionSelectionWidget getSectionSelectionWidget(final List<EntityTypePropertyType<?>> etpts) + { + if (sectionSelectionWidget == null) + { + sectionSelectionWidget = SectionSelectionWidget.create(viewContext, etpts); + } + return sectionSelectionWidget; + } + private void hideEntityTypePropertyTypeRelatedFields() { - if (sectionSelectionWidget != null - && this.getFormPanel().getFields().contains(sectionSelectionWidget)) + if (sectionSelectionWidget != null && this.getFormPanel().getFields().contains(sectionSelectionWidget)) { - sectionSelectionWidget.hide(); this.removeField(sectionSelectionWidget); - sectionSelectionWidget = null; } - if (etptSelectionWidget != null - && this.getFormPanel().getFields().contains(etptSelectionWidget)) + if (etptSelectionWidget != null && this.getFormPanel().getFields().contains(etptSelectionWidget)) { - etptSelectionWidget.hide(); this.removeField(etptSelectionWidget); - etptSelectionWidget = null; } }