diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/artifacts/smtable/SoftwareModuleAddUpdateWindow.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/artifacts/smtable/SoftwareModuleAddUpdateWindow.java index 70bbd68c8..f766af2d4 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/artifacts/smtable/SoftwareModuleAddUpdateWindow.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/artifacts/smtable/SoftwareModuleAddUpdateWindow.java @@ -38,7 +38,6 @@ import com.vaadin.ui.Label; import com.vaadin.ui.TextArea; import com.vaadin.ui.TextField; import com.vaadin.ui.UI; -import com.vaadin.ui.VerticalLayout; import com.vaadin.ui.Window; import com.vaadin.ui.themes.ValoTheme; @@ -197,10 +196,7 @@ public class SoftwareModuleAddUpdateWindow extends CustomComponent implements Se * The main layout of the window contains mandatory info, textboxes * (controller Id, name & description) and action buttons layout */ - final VerticalLayout mainLayout = new VerticalLayout(); - mainLayout.setSizeUndefined(); - mainLayout.setSpacing(Boolean.TRUE); - mainLayout.addStyleName("lay-color"); + addStyleName("lay-color"); final FormLayout formLayout = new FormLayout(); formLayout.addComponent(typeComboBox); @@ -210,13 +206,12 @@ public class SoftwareModuleAddUpdateWindow extends CustomComponent implements Se formLayout.addComponent(vendorTextField); formLayout.addComponent(descTextArea); - mainLayout.addComponents(formLayout); - setCompositionRoot(mainLayout); + setCompositionRoot(formLayout); /* add main layout to the window */ window = SPUIComponentProvider.getWindow(i18n.get("upload.caption.add.new.swmodule"), null, SPUIDefinitions.CREATE_UPDATE_WINDOW, this, event -> save(), event -> closeThisWindow(), null); - window.removeStyleName("actionButtonsMargin"); + window.getButtonsLayout().removeStyleName("actionButtonsMargin"); nameTextField.focus(); } diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/artifacts/smtype/CreateUpdateSoftwareTypeLayout.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/artifacts/smtype/CreateUpdateSoftwareTypeLayout.java index c122688d8..d23329f37 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/artifacts/smtype/CreateUpdateSoftwareTypeLayout.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/artifacts/smtype/CreateUpdateSoftwareTypeLayout.java @@ -61,6 +61,12 @@ public class CreateUpdateSoftwareTypeLayout extends CreateUpdateTypeLayout private Label multiAssign; private OptionGroup assignOptiongroup; + @Override + protected void addListeners() { + super.addListeners(); + optiongroup.addValueChangeListener(event -> createOptionValueChanged(event)); + } + @Override protected void createRequiredComponents() { @@ -119,7 +125,7 @@ public class CreateUpdateSoftwareTypeLayout extends CreateUpdateTypeLayout super.createOptionValueChanged(event); - if ("Update Type".equals(event.getProperty().getValue())) { + if (updateTypeStr.equals(event.getProperty().getValue())) { assignOptiongroup.setEnabled(false); } else { assignOptiongroup.setEnabled(true); diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/CommonDialogWindow.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/CommonDialogWindow.java index e15fe2ea4..b94869521 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/CommonDialogWindow.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/CommonDialogWindow.java @@ -131,4 +131,8 @@ public class CommonDialogWindow extends Window { cancelButton.setEnabled(enabled); } + public HorizontalLayout getButtonsLayout() { + return buttonsLayout; + } + } diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/distributions/disttype/CreateUpdateDistSetTypeLayout.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/distributions/disttype/CreateUpdateDistSetTypeLayout.java index ceb3f979c..266339050 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/distributions/disttype/CreateUpdateDistSetTypeLayout.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/distributions/disttype/CreateUpdateDistSetTypeLayout.java @@ -486,7 +486,7 @@ public class CreateUpdateDistSetTypeLayout extends CreateUpdateTypeLayout super.createOptionValueChanged(event); - if ("Update Type".equals(event.getProperty().getValue())) { + if (updateTypeStr.equals(event.getProperty().getValue())) { selectedTable.getContainerDataSource().removeAllItems(); getSourceTableData(); distTypeSelectLayout.setEnabled(false); diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/distributions/smtype/DistSMTypeFilterHeader.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/distributions/smtype/DistSMTypeFilterHeader.java index e328b45a4..9f757a7cb 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/distributions/smtype/DistSMTypeFilterHeader.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/distributions/smtype/DistSMTypeFilterHeader.java @@ -66,10 +66,9 @@ public class DistSMTypeFilterHeader extends AbstractFilterHeader { @Override protected void settingsIconClicked(final ClickEvent event) { - final Window addUpdateWindow = createUpdateSWTypeLayout.getWindow(); - UI.getCurrent().addWindow(addUpdateWindow); - addUpdateWindow.setVisible(Boolean.TRUE); - + final Window window = createUpdateSWTypeLayout.getWindow(); + UI.getCurrent().addWindow(window); + window.setVisible(Boolean.TRUE); } @Override diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/layouts/CreateUpdateTagLayout.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/layouts/CreateUpdateTagLayout.java index 60d76ee14..efe629eb7 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/layouts/CreateUpdateTagLayout.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/layouts/CreateUpdateTagLayout.java @@ -221,11 +221,10 @@ public abstract class CreateUpdateTagLayout extends CustomComponent implements C tagName.focus(); } - private void addListeners() { + protected void addListeners() { colorPickerLayout.getColorSelect().addColorChangeListener(this); colorPickerLayout.getSelPreview().addColorChangeListener(this); tagColorPreviewBtn.addClickListener(event -> previewButtonClicked()); - optiongroup.addValueChangeListener(event -> optionValueChanged(event)); tagNameComboBox.addValueChangeListener(event -> tagNameChosen(event)); slidersValueChangeListeners(); } @@ -302,9 +301,9 @@ public abstract class CreateUpdateTagLayout extends CustomComponent implements C * @param event * ValueChangeEvent */ - private void optionValueChanged(final ValueChangeEvent event) { + protected void optionValueChanged(final ValueChangeEvent event) { - if ("Update Tag".equals(event.getProperty().getValue())) { + if (updateTagStr.equals(event.getProperty().getValue())) { tagName.clear(); tagDesc.clear(); tagName.setEnabled(false); @@ -344,8 +343,6 @@ public abstract class CreateUpdateTagLayout extends CustomComponent implements C comboLayout.removeComponent(tagNameComboBox); mainLayout.removeComponent(colorPickerLayout); - optiongroup.select(createTagStr); - // Default green color colorPickerLayout.setSelectedColor(colorPickerLayout.getDefaultColor()); colorPickerLayout.getSelPreview().setColor(colorPickerLayout.getSelectedColor()); @@ -456,13 +453,21 @@ public abstract class CreateUpdateTagLayout extends CustomComponent implements C if (hasCreatePermission) { optiongroup.addItem(createTagStr); - optiongroup.select(createTagStr); } if (hasUpdatePermission) { optiongroup.addItem(updateTagStr); - if (!hasCreatePermission) { - optiongroup.select(updateTagStr); - } + } + + setOptionGroupDefaultValue(hasCreatePermission, hasUpdatePermission); + } + + protected void setOptionGroupDefaultValue(final boolean hasCreatePermission, final boolean hasUpdatePermission) { + + if (hasCreatePermission) { + optiongroup.select(createTagStr); + } + if (hasUpdatePermission && !hasCreatePermission) { + optiongroup.select(updateTagStr); } } diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/layouts/CreateUpdateTypeLayout.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/layouts/CreateUpdateTypeLayout.java index f007b64ce..f73718122 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/layouts/CreateUpdateTypeLayout.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/layouts/CreateUpdateTypeLayout.java @@ -35,6 +35,12 @@ public class CreateUpdateTypeLayout extends CreateUpdateTagLayout { public static final String TYPE_NAME_DYNAMIC_STYLE = "new-tag-name"; private static final String TYPE_DESC_DYNAMIC_STYLE = "new-tag-desc"; + @Override + protected void addListeners() { + super.addListeners(); + optiongroup.addValueChangeListener(event -> createOptionValueChanged(event)); + } + @Override protected void createRequiredComponents() { @@ -107,6 +113,8 @@ public class CreateUpdateTypeLayout extends CreateUpdateTagLayout { super.reset(); typeKey.clear(); restoreComponentStyles(); + setOptionGroupDefaultValue(permChecker.hasCreateDistributionPermission(), + permChecker.hasUpdateDistributionPermission()); } /** @@ -117,7 +125,7 @@ public class CreateUpdateTypeLayout extends CreateUpdateTagLayout { */ protected void createOptionValueChanged(final ValueChangeEvent event) { - if ("Update Type".equals(event.getProperty().getValue())) { + if (updateTypeStr.equals(event.getProperty().getValue())) { tagName.clear(); tagDesc.clear(); typeKey.clear(); @@ -186,13 +194,21 @@ public class CreateUpdateTypeLayout extends CreateUpdateTagLayout { if (hasCreatePermission) { optiongroup.addItem(createTypeStr); - optiongroup.select(createTypeStr); } if (hasUpdatePermission) { optiongroup.addItem(updateTypeStr); - if (!hasCreatePermission) { - optiongroup.select(updateTypeStr); - } + } + setOptionGroupDefaultValue(hasCreatePermission, hasUpdatePermission); + } + + @Override + protected void setOptionGroupDefaultValue(final boolean hasCreatePermission, final boolean hasUpdatePermission) { + + if (hasCreatePermission) { + optiongroup.select(createTypeStr); + } + if (hasUpdatePermission && !hasCreatePermission) { + optiongroup.select(updateTypeStr); } } diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/dstable/DistributionAddUpdateWindowLayout.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/dstable/DistributionAddUpdateWindowLayout.java index 122411376..2ce9f84f5 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/dstable/DistributionAddUpdateWindowLayout.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/dstable/DistributionAddUpdateWindowLayout.java @@ -53,12 +53,12 @@ import com.vaadin.spring.annotation.ViewScope; import com.vaadin.ui.CheckBox; import com.vaadin.ui.ComboBox; import com.vaadin.ui.Component; +import com.vaadin.ui.CustomComponent; import com.vaadin.ui.FormLayout; import com.vaadin.ui.Label; import com.vaadin.ui.TextArea; import com.vaadin.ui.TextField; import com.vaadin.ui.UI; -import com.vaadin.ui.VerticalLayout; import com.vaadin.ui.themes.ValoTheme; /** @@ -67,7 +67,7 @@ import com.vaadin.ui.themes.ValoTheme; */ @SpringComponent @ViewScope -public class DistributionAddUpdateWindowLayout extends VerticalLayout { +public class DistributionAddUpdateWindowLayout extends CustomComponent { private static final long serialVersionUID = -5602182034230568435L; @@ -132,8 +132,6 @@ public class DistributionAddUpdateWindowLayout extends VerticalLayout { * The main layout of the window contains mandatory info, textboxes * (controller Id, name & description) and action buttons layout */ - setSpacing(Boolean.TRUE); - setMargin(Boolean.FALSE); addStyleName("lay-color"); setSizeUndefined(); @@ -145,7 +143,7 @@ public class DistributionAddUpdateWindowLayout extends VerticalLayout { formLayout.addComponent(descTextArea); formLayout.addComponent(reqMigStepCheckbox); - addComponents(formLayout); + setCompositionRoot(formLayout); distNameTextField.focus(); } @@ -518,7 +516,7 @@ public class DistributionAddUpdateWindowLayout extends VerticalLayout { addDistributionWindow = SPUIComponentProvider.getWindow(i18n.get("caption.add.new.dist"), null, SPUIDefinitions.CREATE_UPDATE_WINDOW, this, event -> saveDistribution(), event -> discardDistribution(), null); - addDistributionWindow.removeStyleName("actionButtonsMargin"); + addDistributionWindow.getButtonsLayout().removeStyleName("actionButtonsMargin"); return addDistributionWindow; } diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/dstag/CreateUpdateDistributionTagLayoutWindow.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/dstag/CreateUpdateDistributionTagLayoutWindow.java index f3abbd5bb..1c6372033 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/dstag/CreateUpdateDistributionTagLayoutWindow.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/dstag/CreateUpdateDistributionTagLayoutWindow.java @@ -70,6 +70,12 @@ public class CreateUpdateDistributionTagLayoutWindow extends CreateUpdateTagLayo distTagNameList.forEach(value -> tagNameComboBox.addItem(value.getName())); } + @Override + protected void addListeners() { + super.addListeners(); + optiongroup.addValueChangeListener(event -> optionValueChanged(event)); + } + /** * Update DistributionTag. */ @@ -164,4 +170,11 @@ public class CreateUpdateDistributionTagLayoutWindow extends CreateUpdateTagLayo createOptionGroup(permChecker.hasCreateDistributionPermission(), permChecker.hasUpdateDistributionPermission()); } + @Override + protected void reset() { + + super.reset(); + setOptionGroupDefaultValue(permChecker.hasCreateDistributionPermission(), + permChecker.hasUpdateDistributionPermission()); + } } diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettag/CreateUpdateTargetTagLayoutWindow.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettag/CreateUpdateTargetTagLayoutWindow.java index 4bffe172f..f3f78377a 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettag/CreateUpdateTargetTagLayoutWindow.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettag/CreateUpdateTargetTagLayoutWindow.java @@ -57,6 +57,12 @@ public class CreateUpdateTargetTagLayoutWindow extends CreateUpdateTagLayout { populateTagNameCombo(); } + @Override + protected void addListeners() { + super.addListeners(); + optiongroup.addValueChangeListener(event -> optionValueChanged(event)); + } + /** * Populate target name combo. */ @@ -132,4 +138,11 @@ public class CreateUpdateTargetTagLayoutWindow extends CreateUpdateTagLayout { createOptionGroup(permChecker.hasCreateTargetPermission(), permChecker.hasUpdateTargetPermission()); } + @Override + protected void reset() { + + super.reset(); + setOptionGroupDefaultValue(permChecker.hasCreateTargetPermission(), permChecker.hasUpdateTargetPermission()); + } + } diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/rollout/rollout/AddUpdateRolloutWindowLayout.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/rollout/rollout/AddUpdateRolloutWindowLayout.java index 9920fab74..0f5b00f1a 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/rollout/rollout/AddUpdateRolloutWindowLayout.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/rollout/rollout/AddUpdateRolloutWindowLayout.java @@ -196,7 +196,7 @@ public class AddUpdateRolloutWindowLayout extends GridLayout { setRows(9); setColumns(3); - addComponent(mandatoryLabel, 0, 0, 2, 0); + addComponent(mandatoryLabel, 1, 0, 2, 0); addComponent(getLabel("textfield.name"), 0, 1); addComponent(rolloutName, 1, 1); addComponent(getLabel("prompt.distribution.set"), 0, 2);