From 6c7f0482b482529b2ac94e3ff1b915ad10dd6a84 Mon Sep 17 00:00:00 2001 From: Melanie Retter Date: Wed, 25 May 2016 13:28:58 +0200 Subject: [PATCH] Insert helpLink next to the action buttons on the right side Signed-off-by: Melanie Retter --- .../SoftwareModuleAddUpdateWindow.java | 2 +- .../CreateUpdateSoftwareTypeLayout.java | 2 +- .../hawkbit/ui/common/CommonDialogWindow.java | 43 +++++++----- .../hawkbit/ui/common/PopupWindowHelp.java | 69 ------------------- .../ui/components/SPUIComponentProvider.java | 4 +- .../ui/decorators/SPUIWindowDecorator.java | 4 +- .../CreateUpdateDistSetTypeLayout.java | 3 +- .../ui/layouts/CreateUpdateTagLayout.java | 2 +- .../DistributionAddUpdateWindowLayout.java | 6 +- .../TargetAddUpdateWindowLayout.java | 37 +--------- .../rollout/AddUpdateRolloutWindowLayout.java | 5 +- 11 files changed, 42 insertions(+), 135 deletions(-) delete mode 100644 hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/PopupWindowHelp.java 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 7cf95e4b2..70bbd68c8 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 @@ -215,7 +215,7 @@ public class SoftwareModuleAddUpdateWindow extends CustomComponent implements Se /* 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()); + SPUIDefinitions.CREATE_UPDATE_WINDOW, this, event -> save(), event -> closeThisWindow(), null); window.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 8d34993c9..c122688d8 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 @@ -105,7 +105,7 @@ public class CreateUpdateSoftwareTypeLayout extends CreateUpdateTypeLayout public void createWindow() { reset(); window = SPUIComponentProvider.getWindow(i18n.get("caption.add.type"), null, - SPUIDefinitions.CREATE_UPDATE_WINDOW, this, event -> save(event), event -> discard(event)); + SPUIDefinitions.CREATE_UPDATE_WINDOW, this, event -> save(event), event -> discard(event), null); } /** 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 58ce52e7e..e15fe2ea4 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 @@ -38,6 +38,8 @@ public class CommonDialogWindow extends Window { private Button cancelButton; + private HorizontalLayout buttonsLayout; + public CommonDialogWindow() { init(null, null); @@ -60,16 +62,13 @@ public class CommonDialogWindow extends Window { ((AbstractOrderedLayout) content).setMargin(true); } - if (StringUtils.isNotEmpty(helpLink)) { - mainLayout.addComponent(createLinkToHelp(helpLink)); - } if (null != content) { mainLayout.addComponent(content); } final HorizontalLayout buttonLayout = createActionButtonsLayout(saveButtonClickListener, cancelButtonClickListener); mainLayout.addComponent(buttonLayout); - mainLayout.setComponentAlignment(buttonLayout, Alignment.MIDDLE_CENTER); + mainLayout.setComponentAlignment(buttonLayout, Alignment.TOP_CENTER); setCaption(caption); setContent(mainLayout); @@ -81,31 +80,47 @@ public class CommonDialogWindow extends Window { private HorizontalLayout createActionButtonsLayout(final ClickListener saveButtonClickListener, final ClickListener cancelButtonClickListener) { - final HorizontalLayout hlayout = new HorizontalLayout(); - hlayout.setSpacing(true); + buttonsLayout = new HorizontalLayout(); + buttonsLayout.setSizeFull(); + buttonsLayout.setSpacing(true); saveButton = SPUIComponentProvider.getButton(SPUIComponetIdProvider.SYSTEM_CONFIGURATION_SAVE, "save", "", "", true, FontAwesome.SAVE, SPUIButtonStyleBorderWithIcon.class); + saveButton.setSizeUndefined(); if (null != saveButtonClickListener) { saveButton.addClickListener(saveButtonClickListener); } else { LOG.warn("No ClickListener for saveButton specified"); } - hlayout.addComponent(saveButton); - hlayout.setComponentAlignment(saveButton, Alignment.MIDDLE_LEFT); + buttonsLayout.addComponent(saveButton); + buttonsLayout.setComponentAlignment(saveButton, Alignment.MIDDLE_RIGHT); + buttonsLayout.setExpandRatio(saveButton, 1.0F); cancelButton = SPUIComponentProvider.getButton(SPUIComponetIdProvider.SYSTEM_CONFIGURATION_CANCEL, "cancel", "", "", true, FontAwesome.TIMES, SPUIButtonStyleBorderWithIcon.class); + cancelButton.setSizeUndefined(); if (null != cancelButtonClickListener) { cancelButton.addClickListener(cancelButtonClickListener); } else { LOG.warn("No ClickListener for cancelButton specified"); } - hlayout.addComponent(cancelButton); - hlayout.setComponentAlignment(cancelButton, Alignment.MIDDLE_RIGHT); - hlayout.addStyleName("actionButtonsMargin"); + buttonsLayout.addComponent(cancelButton); + buttonsLayout.setComponentAlignment(cancelButton, Alignment.MIDDLE_LEFT); + buttonsLayout.setExpandRatio(cancelButton, 1.0F); + buttonsLayout.addStyleName("actionButtonsMargin"); - return hlayout; + addHelpLink(); + + return buttonsLayout; + } + + private void addHelpLink() { + + if (StringUtils.isNotEmpty(helpLink)) { + final Link helpLinkComponent = SPUIComponentProvider.getHelpLink(helpLink); + buttonsLayout.addComponent(helpLinkComponent); + buttonsLayout.setComponentAlignment(helpLinkComponent, Alignment.MIDDLE_RIGHT); + } } public void setSaveButtonEnabled(final boolean enabled) { @@ -116,8 +131,4 @@ public class CommonDialogWindow extends Window { cancelButton.setEnabled(enabled); } - private Link createLinkToHelp(final String link) { - return SPUIComponentProvider.getHelpLink(link); - } - } diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/PopupWindowHelp.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/PopupWindowHelp.java deleted file mode 100644 index 1ee505dec..000000000 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/PopupWindowHelp.java +++ /dev/null @@ -1,69 +0,0 @@ -/** - * Copyright (c) 2015 Bosch Software Innovations GmbH and others. - * - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - */ -package org.eclipse.hawkbit.ui.common; - -import org.eclipse.hawkbit.ui.components.SPUIComponentProvider; - -import com.vaadin.ui.Alignment; -import com.vaadin.ui.HorizontalLayout; -import com.vaadin.ui.Link; - -/** - * - * Helper class that provides the help icon layout in the right upper corner of - * a popup window - * - */ -public class PopupWindowHelp extends HorizontalLayout { - - private static final long serialVersionUID = 5377482512908004826L; - - private Link linkToHelp; - - /** - * Provides a horizontalLayout with a help icon in the right corner. The - * layout is shown by default. - * - * @param link - * link to the help page in the wiki or on github - */ - public PopupWindowHelp(final String link) { - createLinkToHelp(link); - init(); - } - - /** - * Provides a horizontalLayout with a help icon in the right corner. The - * layout is shown by default. The visibility of the layout can be set. If - * visibility is false the layout is not shown and the space is not - * reserved. - * - * @param link - * link to the help page in the wiki or on github - * @param visible - * false == layout is not shown - */ - public PopupWindowHelp(final String link, final boolean visible) { - createLinkToHelp(link); - init(); - setVisible(visible); - } - - public void init() { - setSizeFull(); - addComponent(linkToHelp); - setComponentAlignment(linkToHelp, Alignment.MIDDLE_RIGHT); - addStyleName("window-style"); - } - - private void createLinkToHelp(final String link) { - linkToHelp = SPUIComponentProvider.getHelpLink(link); - } - -} diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/components/SPUIComponentProvider.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/components/SPUIComponentProvider.java index 6aa0f9837..170ea8dcc 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/components/SPUIComponentProvider.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/components/SPUIComponentProvider.java @@ -153,9 +153,9 @@ public final class SPUIComponentProvider { */ public static CommonDialogWindow getWindow(final String caption, final String id, final String type, final Component content, final ClickListener saveButtonClickListener, - final ClickListener cancelButtonClickListener) { + final ClickListener cancelButtonClickListener, final String helpLink) { return SPUIWindowDecorator.getDeocratedWindow(caption, id, type, content, saveButtonClickListener, - cancelButtonClickListener); + cancelButtonClickListener, helpLink); } /** diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/decorators/SPUIWindowDecorator.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/decorators/SPUIWindowDecorator.java index 539215c7d..f5af72abd 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/decorators/SPUIWindowDecorator.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/decorators/SPUIWindowDecorator.java @@ -44,9 +44,9 @@ public final class SPUIWindowDecorator { */ public static CommonDialogWindow getDeocratedWindow(final String caption, final String id, final String type, final Component content, final ClickListener saveButtonClickListener, - final ClickListener CancelButtonClickListener) { + final ClickListener CancelButtonClickListener, final String helpLink) { // TODO helpLink - final CommonDialogWindow window = new CommonDialogWindow(caption, content, null, saveButtonClickListener, + final CommonDialogWindow window = new CommonDialogWindow(caption, content, helpLink, saveButtonClickListener, CancelButtonClickListener); if (null != id) { window.setId(id); 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 ebb30bb18..addf4736f 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 @@ -16,7 +16,6 @@ import org.eclipse.hawkbit.repository.DistributionSetRepository; import org.eclipse.hawkbit.repository.SoftwareManagement; import org.eclipse.hawkbit.repository.model.DistributionSetType; import org.eclipse.hawkbit.repository.model.SoftwareModuleType; -import org.eclipse.hawkbit.ui.UiProperties; import org.eclipse.hawkbit.ui.colorPicker.ColorPickerConstants; import org.eclipse.hawkbit.ui.colorPicker.ColorPickerHelper; import org.eclipse.hawkbit.ui.common.DistributionSetTypeBeanQuery; @@ -624,7 +623,7 @@ public class CreateUpdateDistSetTypeLayout extends CreateUpdateTypeLayout public void createWindow() { reset(); window = SPUIComponentProvider.getWindow(i18n.get("caption.add.type"), null, - SPUIDefinitions.CREATE_UPDATE_WINDOW, this, event -> save(event), event -> discard(event)); + SPUIDefinitions.CREATE_UPDATE_WINDOW, this, event -> save(event), event -> discard(event), null); } @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 740a0917f..cebce7105 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 @@ -110,7 +110,7 @@ public abstract class CreateUpdateTagLayout extends CustomComponent implements C protected void createWindow() { reset(); setWindow(SPUIComponentProvider.getWindow(i18n.get("caption.add.tag"), null, - SPUIDefinitions.CREATE_UPDATE_WINDOW, this, event -> save(event), event -> discard(event))); + SPUIDefinitions.CREATE_UPDATE_WINDOW, this, event -> save(event), event -> discard(event), null)); } /** 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 94f56ba07..122411376 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 @@ -133,6 +133,7 @@ public class DistributionAddUpdateWindowLayout extends VerticalLayout { * (controller Id, name & description) and action buttons layout */ setSpacing(Boolean.TRUE); + setMargin(Boolean.FALSE); addStyleName("lay-color"); setSizeUndefined(); @@ -184,7 +185,6 @@ public class DistributionAddUpdateWindowLayout extends VerticalLayout { "dist-checkbox-style", null, false, ""); reqMigStepCheckbox.addStyleName(ValoTheme.CHECKBOX_SMALL); reqMigStepCheckbox.setId(SPUIComponetIdProvider.DIST_ADD_MIGRATION_CHECK); - } /** @@ -516,8 +516,8 @@ public class DistributionAddUpdateWindowLayout extends VerticalLayout { populateRequiredComponents(); resetComponents(); addDistributionWindow = SPUIComponentProvider.getWindow(i18n.get("caption.add.new.dist"), null, - SPUIDefinitions.CREATE_UPDATE_WINDOW, this, event -> saveDistribution(), - event -> discardDistribution()); + SPUIDefinitions.CREATE_UPDATE_WINDOW, this, event -> saveDistribution(), event -> discardDistribution(), + null); addDistributionWindow.removeStyleName("actionButtonsMargin"); return addDistributionWindow; diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettable/TargetAddUpdateWindowLayout.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettable/TargetAddUpdateWindowLayout.java index 1fed8fe22..87c9abfc9 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettable/TargetAddUpdateWindowLayout.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettable/TargetAddUpdateWindowLayout.java @@ -14,12 +14,9 @@ import java.util.Set; import org.eclipse.hawkbit.repository.TargetManagement; import org.eclipse.hawkbit.repository.model.Target; import org.eclipse.hawkbit.repository.model.TargetIdName; -import org.eclipse.hawkbit.ui.UiProperties; import org.eclipse.hawkbit.ui.common.CommonDialogWindow; -import org.eclipse.hawkbit.ui.common.PopupWindowHelp; import org.eclipse.hawkbit.ui.common.table.BaseEntityEventType; import org.eclipse.hawkbit.ui.components.SPUIComponentProvider; -import org.eclipse.hawkbit.ui.decorators.SPUIButtonStyleSmallNoBorder; import org.eclipse.hawkbit.ui.management.event.DragEvent; import org.eclipse.hawkbit.ui.management.event.TargetTableEvent; import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil; @@ -35,15 +32,10 @@ import org.vaadin.spring.events.EventBus; import com.vaadin.event.FieldEvents.TextChangeEvent; import com.vaadin.event.FieldEvents.TextChangeListener; -import com.vaadin.server.FontAwesome; import com.vaadin.spring.annotation.SpringComponent; import com.vaadin.spring.annotation.VaadinSessionScope; -import com.vaadin.ui.AbstractOrderedLayout; -import com.vaadin.ui.Alignment; -import com.vaadin.ui.Button; import com.vaadin.ui.CustomComponent; import com.vaadin.ui.FormLayout; -import com.vaadin.ui.HorizontalLayout; import com.vaadin.ui.Label; import com.vaadin.ui.TextArea; import com.vaadin.ui.TextField; @@ -75,15 +67,10 @@ public class TargetAddUpdateWindowLayout extends CustomComponent { @Autowired private transient UINotification uINotification; - @Autowired - private transient UiProperties uiProperties; - private TextField controllerIDTextField; private TextField nameTextField; private TextArea descTextArea; private Label madatoryLabel; -// private Button saveTarget; -// private Button discardTarget; private boolean editTarget = Boolean.FALSE; private String controllerId; private VerticalLayout mainLayout; @@ -125,26 +112,9 @@ public class TargetAddUpdateWindowLayout extends CustomComponent { /* Label for mandatory symbol */ madatoryLabel = new Label(i18n.get("label.mandatory.field")); madatoryLabel.setStyleName(SPUIStyleDefinitions.SP_TEXTFIELD_ERROR + " " + ValoTheme.LABEL_SMALL); - -// /* save or update button */ -// saveTarget = SPUIComponentProvider.getButton(SPUIDefinitions.NEW_TARGET_SAVE, "", "", "", true, -// FontAwesome.SAVE, SPUIButtonStyleSmallNoBorder.class); -// saveTarget.addClickListener(event -> saveTargetListner()); - -// /* close button */ -// discardTarget = SPUIComponentProvider.getButton(SPUIDefinitions.NEW_TARGET_DISCARD, "", "", "", true, -// FontAwesome.TIMES, SPUIButtonStyleSmallNoBorder.class); -// discardTarget.addClickListener(event -> discardTargetListner()); } private void buildLayout() { - /* action button layout (save & dicard) */ -// final HorizontalLayout buttonsLayout = new HorizontalLayout(); -// buttonsLayout.setSizeFull(); -// buttonsLayout.addComponents(saveTarget, discardTarget); -// buttonsLayout.setComponentAlignment(saveTarget, Alignment.BOTTOM_LEFT); -// buttonsLayout.setComponentAlignment(discardTarget, Alignment.BOTTOM_RIGHT); -// buttonsLayout.addStyleName("window-style"); /* * The main layout of the window contains mandatory info, textboxes @@ -154,9 +124,6 @@ public class TargetAddUpdateWindowLayout extends CustomComponent { mainLayout.setSpacing(Boolean.TRUE); mainLayout.addStyleName("lay-color"); mainLayout.setSizeUndefined(); -// mainLayout.addComponent(new PopupWindowHelp(uiProperties.getLinks().getDocumentation().getRoot())); -// mainLayout.addComponent(madatoryLabel); -// mainLayout.setComponentAlignment(madatoryLabel, Alignment.MIDDLE_LEFT); FormLayout formLayout = new FormLayout(); formLayout.addComponent(madatoryLabel); @@ -168,7 +135,6 @@ public class TargetAddUpdateWindowLayout extends CustomComponent { if (Boolean.TRUE.equals(editTarget)) { madatoryLabel.setVisible(Boolean.FALSE); } -// mainLayout.addComponents(madatoryLabel, controllerIDTextField, nameTextField, descTextArea, buttonsLayout); nameTextField.focus(); } @@ -197,7 +163,6 @@ public class TargetAddUpdateWindowLayout extends CustomComponent { } }); - } private void addTargetDescChangeListner() { @@ -282,7 +247,7 @@ public class TargetAddUpdateWindowLayout extends CustomComponent { public Window getWindow() { eventBus.publish(this, DragEvent.HIDE_DROP_HINT); addTargetWindow = SPUIComponentProvider.getWindow(i18n.get("caption.add.new.target"), null, - SPUIDefinitions.CREATE_UPDATE_WINDOW, this, event -> saveTargetListner(),event -> discardTargetListner()); + SPUIDefinitions.CREATE_UPDATE_WINDOW, this, event -> saveTargetListner(),event -> discardTargetListner(), null); return addTargetWindow; } 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 9a2e060db..fc5965756 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 @@ -145,7 +145,7 @@ public class AddUpdateRolloutWindowLayout extends GridLayout { */ public void init() { - setSizeFull(); + setSizeUndefined(); createRequiredComponents(); buildLayout(); } @@ -153,7 +153,8 @@ public class AddUpdateRolloutWindowLayout extends GridLayout { public CommonDialogWindow getWindow() { addUpdateRolloutWindow = SPUIComponentProvider.getWindow(i18n.get("caption.configure.rollout"), null, - SPUIDefinitions.CREATE_UPDATE_WINDOW, this, event -> onRolloutSave(), event -> onDiscard()); + SPUIDefinitions.CREATE_UPDATE_WINDOW, this, event -> onRolloutSave(), event -> onDiscard(), + uiProperties.getLinks().getDocumentation().getRolloutView()); return addUpdateRolloutWindow; }