Insert helpLink next to the action buttons on the right side

Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com>
This commit is contained in:
Melanie Retter
2016-05-25 13:28:58 +02:00
parent 96baddeaee
commit 6c7f0482b4
11 changed files with 42 additions and 135 deletions

View File

@@ -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();
}

View File

@@ -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);
}
/**

View File

@@ -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);
}
}

View File

@@ -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);
}
}

View File

@@ -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);
}
/**

View File

@@ -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);

View File

@@ -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

View File

@@ -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));
}
/**

View File

@@ -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;

View File

@@ -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;
}

View File

@@ -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;
}