correct save button enabled when changes exists. Changed lower/uppercase

spelling

Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com>
This commit is contained in:
Melanie Retter
2016-06-23 09:33:43 +02:00
parent 8507626b69
commit f567461993
17 changed files with 223 additions and 77 deletions

View File

@@ -193,7 +193,7 @@ public class SoftwareModuleAddUpdateWindow extends CustomComponent implements Se
oldVendorValue = null;
if (window != null) {
window.resetRequiredFieldsValues();
window.resetMandatoryAndEditedFields();
}
}
@@ -223,7 +223,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 -> saveOrUpdate(), event -> closeThisWindow(), null,
getMandatoryFields(formLayout));
getMandatoryFields(formLayout), null);
window.getButtonsLayout().removeStyleName("actionButtonsMargin");
nameTextField.focus();
}

View File

@@ -132,7 +132,8 @@ public class CreateUpdateSoftwareTypeLayout extends CreateUpdateTypeLayout
public void createWindow() {
reset();
window = SPUIComponentProvider.getWindow(i18n.get("caption.add.type"), null,
SPUIDefinitions.CREATE_UPDATE_WINDOW, this, this::save, this::discard, null, getMandatoryFields());
SPUIDefinitions.CREATE_UPDATE_WINDOW, this, this::save, this::discard, null, getMandatoryFields(),
getEditedFields());
}
private Map<String, Boolean> getMandatoryFields() {

View File

@@ -74,6 +74,8 @@ public class CommonDialogWindow extends Window implements Serializable {
private Map<String, Boolean> requiredFields;
private final Map<String, Boolean> editedFields;
@Autowired
private I18N i18n;
@@ -93,7 +95,7 @@ public class CommonDialogWindow extends Window implements Serializable {
*/
public CommonDialogWindow(final String caption, final Component content, final String helpLink,
final ClickListener saveButtonClickListener, final ClickListener cancelButtonClickListener,
final Map<String, Boolean> requiredFields) {
final Map<String, Boolean> requiredFields, final Map<String, Boolean> editedFields) {
checkNotNull(saveButtonClickListener);
checkNotNull(cancelButtonClickListener);
this.caption = caption;
@@ -102,6 +104,7 @@ public class CommonDialogWindow extends Window implements Serializable {
this.saveButtonClickListener = saveButtonClickListener;
this.cancelButtonClickListener = cancelButtonClickListener;
this.requiredFields = requiredFields;
this.editedFields = editedFields;
init();
}
@@ -110,32 +113,32 @@ public class CommonDialogWindow extends Window implements Serializable {
if (StringUtils.isNotBlank(event.getText())) {
if (StringUtils.isNotBlank(textfield.getCaption())) {
getRequiredFields().put(textfield.getCaption(), Boolean.TRUE);
requiredFields.put(textfield.getCaption(), Boolean.TRUE);
}
getRequiredFields().put(textfield.getId(), Boolean.TRUE);
} else {
if (StringUtils.isNotBlank(textfield.getCaption())) {
getRequiredFields().put(textfield.getCaption(), Boolean.FALSE);
requiredFields.put(textfield.getCaption(), Boolean.FALSE);
}
getRequiredFields().put(textfield.getId(), Boolean.FALSE);
requiredFields.put(textfield.getId(), Boolean.FALSE);
}
checkMandatoryFields();
checkMandatoryFieldsFilled();
}
public void checkMandatoryComboBox(final ValueChangeEvent event, final AbstractSelect select) {
if (event.getProperty().getValue() != null) {
if (StringUtils.isNotBlank(select.getCaption())) {
getRequiredFields().put(select.getCaption(), Boolean.TRUE);
requiredFields.put(select.getCaption(), Boolean.TRUE);
}
getRequiredFields().put(select.getId(), Boolean.TRUE);
requiredFields.put(select.getId(), Boolean.TRUE);
} else {
if (StringUtils.isNotBlank(select.getCaption())) {
getRequiredFields().put(select.getCaption(), Boolean.FALSE);
requiredFields.put(select.getCaption(), Boolean.FALSE);
}
getRequiredFields().put(select.getId(), Boolean.FALSE);
requiredFields.put(select.getId(), Boolean.FALSE);
}
checkMandatoryFields();
checkMandatoryFieldsFilled();
}
/**
@@ -143,7 +146,7 @@ public class CommonDialogWindow extends Window implements Serializable {
* mandatory fields are filled the save button is enabled. Otherwise the
* save button is disabled.
*/
private void checkMandatoryFields() {
private void checkMandatoryFieldsFilled() {
for (final Map.Entry<String, Boolean> entry : requiredFields.entrySet()) {
if (entry.getValue() == null || entry.getValue().equals(Boolean.FALSE)) {
@@ -154,35 +157,56 @@ public class CommonDialogWindow extends Window implements Serializable {
saveButton.setEnabled(true);
}
public void updateRequiredFields(final String fieldId, final Boolean filled) {
private void checkExistsChanges() {
getRequiredFields().put(fieldId, filled);
checkMandatoryFields();
if (editedFields == null) {
return;
}
for (final Map.Entry<String, Boolean> entry : editedFields.entrySet()) {
if (entry.getValue() != null && entry.getValue().equals(Boolean.TRUE)) {
saveButton.setEnabled(true);
return;
}
}
saveButton.setEnabled(false);
}
public void checkChanges(final String newText, final String oldText) {
public void updateRequiredFields(final String fieldId, final Boolean filled) {
requiredFields.put(fieldId, filled);
checkMandatoryFieldsFilled();
}
public void checkChanges(final String fieldName, final String newText, final String oldText) {
if ((StringUtils.isNotBlank(newText) && !newText.equals(oldText))
|| (StringUtils.isNotBlank(oldText) && !oldText.equals(newText))) {
saveButton.setEnabled(true);
editedFields.put(fieldName, Boolean.TRUE);
} else {
saveButton.setEnabled(false);
editedFields.put(fieldName, Boolean.FALSE);
}
checkExistsChanges();
}
public void checkColorChange(final Color newColor, final Color oldColor) {
public void checkColorChange(final String fieldName, final Color newColor, final Color oldColor) {
if (newColor.equals(oldColor)) {
setSaveButtonEnabled(false);
editedFields.put(fieldName, Boolean.FALSE);
} else {
setSaveButtonEnabled(true);
editedFields.put(fieldName, Boolean.TRUE);
}
checkExistsChanges();
}
public void resetRequiredFieldsValues() {
// Reset mandatory fields are filled marker
if (getRequiredFields() != null) {
for (final Map.Entry<String, Boolean> entry : getRequiredFields().entrySet()) {
public void resetMandatoryAndEditedFields() {
resetFields(requiredFields);
resetFields(editedFields);
}
private void resetFields(final Map<String, Boolean> fields) {
// Reset mandatory fields are filled marker / fields are edited marker
if (fields != null) {
for (final Map.Entry<String, Boolean> entry : fields.entrySet()) {
entry.setValue(null);
}
}

View File

@@ -154,9 +154,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 String helpLink,
final Map<String, Boolean> requiredFields) {
final Map<String, Boolean> requiredFields, final Map<String, Boolean> editedFields) {
return SPUIWindowDecorator.getDeocratedWindow(caption, id, type, content, saveButtonClickListener,
cancelButtonClickListener, helpLink, requiredFields);
cancelButtonClickListener, helpLink, requiredFields, editedFields);
}
/**

View File

@@ -47,10 +47,10 @@ 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 String helpLink,
final Map<String, Boolean> requiredFields) {
final Map<String, Boolean> requiredFields, final Map<String, Boolean> editedFields) {
final CommonDialogWindow window = new CommonDialogWindow(caption, content, helpLink, saveButtonClickListener,
cancelButtonClickListener, requiredFields);
cancelButtonClickListener, requiredFields, editedFields);
if (null != id) {
window.setId(id);
}

View File

@@ -677,7 +677,8 @@ public class CreateUpdateDistSetTypeLayout extends CreateUpdateTypeLayout
public void createWindow() {
reset();
window = SPUIComponentProvider.getWindow(i18n.get("caption.add.type"), null,
SPUIDefinitions.CREATE_UPDATE_WINDOW, this, this::save, this::discard, null, getMandatoryFields());
SPUIDefinitions.CREATE_UPDATE_WINDOW, this, this::save, this::discard, null, getMandatoryFields(),
getEditedFields());
}
private Map<String, Boolean> getMandatoryFields() {

View File

@@ -115,8 +115,9 @@ public abstract class AbstractCreateUpdateTagLayout extends CustomComponent
protected void createWindow() {
reset();
setWindow(SPUIComponentProvider.getWindow(i18n.get("caption.add.tag"), null,
SPUIDefinitions.CREATE_UPDATE_WINDOW, this, this::save, this::discard, null, getMandatoryFields()));
setWindow(
SPUIComponentProvider.getWindow(i18n.get("caption.add.tag"), null, SPUIDefinitions.CREATE_UPDATE_WINDOW,
this, this::save, this::discard, null, getMandatoryFields(), getEditedFields()));
}
private Map<String, Boolean> getMandatoryFields() {
@@ -131,6 +132,13 @@ public abstract class AbstractCreateUpdateTagLayout extends CustomComponent
return requiredFields;
}
protected Map<String, Boolean> getEditedFields() {
final Map<String, Boolean> changeMap = new HashMap<>();
changeMap.put(tagDesc.getCaption(), Boolean.FALSE);
changeMap.put(colorPickerLayout.getId(), Boolean.FALSE);
return changeMap;
}
/**
* Save new tag / update new tag.
*
@@ -213,7 +221,7 @@ public abstract class AbstractCreateUpdateTagLayout extends CustomComponent
protected void listenerTagDescTextAreaChanged(final TextChangeEvent event) {
window.checkChanges(event.getText(), tagDescOriginal);
window.checkChanges(tagDesc.getCaption(), event.getText(), tagDescOriginal);
}
protected void buildLayout() {
@@ -375,7 +383,7 @@ public abstract class AbstractCreateUpdateTagLayout extends CustomComponent
tagPreviewBtnClicked = false;
if (window != null) {
window.resetRequiredFieldsValues();
window.resetMandatoryAndEditedFields();
}
}
@@ -466,7 +474,7 @@ public abstract class AbstractCreateUpdateTagLayout extends CustomComponent
colorPickerLayout.getColorSelect().setColor(colorPickerLayout.getSelPreview().getColor());
}
window.checkColorChange(colorPickerLayout.getSelectedColor(), selectedColorOriginal);
window.checkColorChange(colorPickerLayout.getId(), colorPickerLayout.getSelectedColor(), selectedColorOriginal);
}
protected void closeWindow() {

View File

@@ -186,7 +186,7 @@ public class CreateUpdateTypeLayout extends AbstractCreateUpdateTagLayout {
createDynamicStyleForComponents(tagName, typeKey, tagDesc, colorPickedPreview);
getColorPickerLayout().getColorSelect().setColor(getColorPickerLayout().getSelPreview().getColor());
}
window.checkColorChange(colorPickerLayout.getSelectedColor(), selectedColorOriginal);
window.checkColorChange(colorPickerLayout.getId(), colorPickerLayout.getSelectedColor(), selectedColorOriginal);
}
/**
@@ -206,6 +206,7 @@ public class CreateUpdateTypeLayout extends AbstractCreateUpdateTagLayout {
protected void createOptionGroup(final boolean hasCreatePermission, final boolean hasUpdatePermission) {
optiongroup = new OptionGroup("Select Action");
optiongroup.setId(SPUIComponentIdProvider.OPTION_GROUP);
optiongroup.addStyleName(ValoTheme.OPTIONGROUP_SMALL);
optiongroup.addStyleName("custom-option-group");
optiongroup.setNullSelectionAllowed(false);

View File

@@ -179,11 +179,15 @@ public class DistributionAddUpdateWindowLayout extends CustomComponent {
}
private void listenerDistNameTextFieldChanged(final TextChangeEvent event) {
window.checkMandatoryTextField(event, distNameTextField);
if (!editDistribution) {
window.checkMandatoryTextField(event, distNameTextField);
}
}
private void listenerDistVersionTextFieldChanged(final TextChangeEvent event) {
window.checkMandatoryTextField(event, distVersionTextField);
if (!editDistribution) {
window.checkMandatoryTextField(event, distVersionTextField);
}
}
/**
@@ -410,7 +414,7 @@ public class DistributionAddUpdateWindowLayout extends CustomComponent {
changedComponents.clear();
if (window != null) {
window.resetRequiredFieldsValues();
window.resetMandatoryAndEditedFields();
}
}
@@ -519,9 +523,8 @@ public class DistributionAddUpdateWindowLayout extends CustomComponent {
resetComponents();
window = SPUIComponentProvider.getWindow(i18n.get("caption.add.new.dist"), null,
SPUIDefinitions.CREATE_UPDATE_WINDOW, this, event -> saveDistribution(), event -> discardDistribution(),
null, getMandatoryFields());
null, getMandatoryFields(), null);
window.getButtonsLayout().removeStyleName("actionButtonsMargin");
return window;
}

View File

@@ -17,6 +17,7 @@ import javax.annotation.PostConstruct;
import org.eclipse.hawkbit.repository.model.Action.ActionType;
import org.eclipse.hawkbit.ui.utils.I18N;
import org.eclipse.hawkbit.ui.utils.SPDateTimeUtil;
import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider;
import org.springframework.beans.factory.annotation.Autowired;
import org.vaadin.hene.flexibleoptiongroup.FlexibleOptionGroup;
import org.vaadin.hene.flexibleoptiongroup.FlexibleOptionGroupItemComponent;
@@ -78,6 +79,7 @@ public class ActionTypeOptionGroupLayout extends HorizontalLayout {
private void createOptionGroup() {
actionTypeOptionGroup = new FlexibleOptionGroup();
actionTypeOptionGroup.setId(SPUIComponentIdProvider.ROLLOUT_ACTION_BUTTON_ID);
actionTypeOptionGroup.addItem(ActionTypeOption.SOFT);
actionTypeOptionGroup.addItem(ActionTypeOption.FORCED);
actionTypeOptionGroup.addItem(ActionTypeOption.AUTO_FORCED);

View File

@@ -244,7 +244,7 @@ public class TargetAddUpdateWindowLayout extends CustomComponent {
public Window getWindow() {
eventBus.publish(this, DragEvent.HIDE_DROP_HINT);
window = SPUIComponentProvider.getWindow(i18n.get("caption.add.new.target"), null,
SPUIDefinitions.CREATE_UPDATE_WINDOW, this, event -> saveTargetListner(), event -> discardTargetListner(), null, getMandatoryFields());
SPUIDefinitions.CREATE_UPDATE_WINDOW, this, event -> saveTargetListner(), event -> discardTargetListner(), null, getMandatoryFields(), null);
return window;
}
@@ -259,7 +259,7 @@ public class TargetAddUpdateWindowLayout extends CustomComponent {
}
return requiredFields;
}
/**
* clear all fields of Target Edit Window.
*/
@@ -274,7 +274,7 @@ public class TargetAddUpdateWindowLayout extends CustomComponent {
editTarget = Boolean.FALSE;
if (window != null) {
window.resetRequiredFieldsValues();
window.resetMandatoryAndEditedFields();
}
}

View File

@@ -150,26 +150,47 @@ public class AddUpdateRolloutWindowLayout extends GridLayout {
private TextArea targetFilterQuery;
private Boolean updateMode = Boolean.FALSE;
private String distributionSetOriginal;
private Object actionGroupOriginal;
private String rolloutNameOriginal;
private String errorThresholdOriginal;;
private String triggerThresholdOriginal;
private String descriptionOriginal;
/**
* Create components and layout.
*/
public void init() {
setSizeUndefined();
createRequiredComponents();
buildLayout();
}
public CommonDialogWindow getWindow() {
window = SPUIComponentProvider.getWindow(i18n.get("caption.configure.rollout"), null,
SPUIDefinitions.CREATE_UPDATE_WINDOW, this, event -> onRolloutSave(), event -> onDiscard(),
uiProperties.getLinks().getDocumentation().getRolloutView(), getMandatoryFields());
uiProperties.getLinks().getDocumentation().getRolloutView(), getMandatoryFields(), getEditedFields());
return window;
}
private Map<String, Boolean> getMandatoryFields() {
public CommonDialogWindow createUpdateWindow() {
updateMode = Boolean.TRUE;
return getWindow();
}
public CommonDialogWindow createAddWindow() {
updateMode = Boolean.FALSE;
return getWindow();
}
private Map<String, Boolean> getMandatoryFields() {
final Map<String, Boolean> requiredFields = new HashMap<>();
requiredFields.put(rolloutName.getId(), null);
requiredFields.put(distributionSet.getId(), null);
@@ -195,16 +216,14 @@ public class AddUpdateRolloutWindowLayout extends GridLayout {
setDefaultSaveStartGroupOption();
totalTargetsLabel.setVisible(false);
groupSizeLabel.setVisible(false);
removeComponent(targetFilterQuery);
if (getComponent(1, 3) == null) {
addComponent(targetFilterQueryCombo, 1, 3);
}
removeComponent(1, 2);
addComponent(targetFilterQueryCombo, 1, 2);
actionTypeOptionGroupLayout.selectDefaultOption();
totalTargetsCount = 0L;
rolloutForEdit = null;
if (window != null) {
window.resetRequiredFieldsValues();
window.resetMandatoryAndEditedFields();
}
}
@@ -284,7 +303,7 @@ public class AddUpdateRolloutWindowLayout extends GridLayout {
noOfGroups = createNoOfGroupsField();
groupSizeLabel = createGroupSizeLabel();
triggerThreshold = createTriggerThresold();
triggerThreshold = createTriggerThreshold();
errorThreshold = createErrorThreshold();
description = createDescription();
errorThresholdOptionGroup = createErrorThresholdOptionGroup();
@@ -293,6 +312,20 @@ public class AddUpdateRolloutWindowLayout extends GridLayout {
totalTargetsLabel = createTotalTargetsLabel();
targetFilterQuery = createTargetFilterQuery();
actionTypeOptionGroupLayout.addStyleName(SPUIStyleDefinitions.ROLLOUT_ACTION_TYPE_LAYOUT);
actionTypeOptionGroupLayout.getActionTypeOptionGroup()
.addValueChangeListener(this::listenerActionGroupValueChanged);
}
private void listenerActionGroupValueChanged(final ValueChangeEvent event) {
if (window != null) {
if (!updateMode) {
window.checkMandatoryComboBox(event, actionTypeOptionGroupLayout.getActionTypeOptionGroup());
}
if (event.getProperty().getValue() != null) {
window.checkChanges(actionTypeOptionGroupLayout.getActionTypeOptionGroup().getId(),
event.getProperty().getValue().toString(), actionGroupOriginal.toString());
}
}
}
private Label createGroupSizeLabel() {
@@ -578,9 +611,20 @@ public class AddUpdateRolloutWindowLayout extends GridLayout {
descriptionField.setId(SPUIComponentIdProvider.ROLLOUT_DESCRIPTION_ID);
descriptionField.setNullRepresentation(HawkbitCommonUtil.SP_STRING_EMPTY);
descriptionField.setSizeUndefined();
descriptionField.addTextChangeListener(this::listenerDescriptionTextFieldChanged);
return descriptionField;
}
private void listenerDescriptionTextFieldChanged(final TextChangeEvent event) {
if (window != null) {
if (!updateMode) {
window.checkMandatoryTextField(event, description);
return;
}
window.checkChanges(description.getId(), event.getText(), descriptionOriginal);
}
}
private TextField createErrorThreshold() {
final TextField errorField = getTextfield("prompt.error.threshold");
errorField.addValidator(new ThresholdFieldValidator());
@@ -592,11 +636,16 @@ public class AddUpdateRolloutWindowLayout extends GridLayout {
}
private void listenerErrorThresholdTextFieldChanged(final TextChangeEvent event) {
window.checkMandatoryTextField(event, errorThreshold);
if (window != null) {
if (!updateMode) {
window.checkMandatoryTextField(event, errorThreshold);
return;
}
window.checkChanges(errorThreshold.getId(), event.getText(), errorThresholdOriginal);
}
}
private TextField createTriggerThresold() {
private TextField createTriggerThreshold() {
final TextField thresholdField = getTextfield("prompt.tigger.threshold");
thresholdField.setId(SPUIComponentIdProvider.ROLLOUT_TRIGGER_THRESOLD_ID);
thresholdField.addValidator(new ThresholdFieldValidator());
@@ -607,7 +656,13 @@ public class AddUpdateRolloutWindowLayout extends GridLayout {
}
private void listenerTriggerThresholdTextFieldChanged(final TextChangeEvent event) {
window.checkMandatoryTextField(event, triggerThreshold);
if (window != null) {
if (!updateMode) {
window.checkMandatoryTextField(event, triggerThreshold);
return;
}
window.checkChanges(triggerThreshold.getId(), event.getText(), triggerThresholdOriginal);
}
}
private TextField createNoOfGroupsField() {
@@ -622,7 +677,13 @@ public class AddUpdateRolloutWindowLayout extends GridLayout {
}
private void listenerNoOfGroupsTextFieldChanged(final TextChangeEvent event) {
window.checkMandatoryTextField(event, noOfGroups);
if (window != null) {
if (!updateMode) {
window.checkMandatoryTextField(event, noOfGroups);
return;
}
window.checkChanges(noOfGroups.getId(), event.getText(), noOfGroups.getValue());
}
}
private void onGroupNumberChange() {
@@ -647,7 +708,16 @@ public class AddUpdateRolloutWindowLayout extends GridLayout {
}
private void listenerDistributionSetChanged(final ValueChangeEvent event) {
window.checkMandatoryComboBox(event, distributionSet);
if (window != null) {
if (!updateMode) {
window.checkMandatoryComboBox(event, distributionSet);
return;
}
if (event.getProperty().getValue() != null) {
window.checkChanges(distributionSet.getId(), event.getProperty().getValue().toString(),
distributionSetOriginal);
}
}
}
private void populateDistributionSet() {
@@ -673,7 +743,13 @@ public class AddUpdateRolloutWindowLayout extends GridLayout {
}
private void listenerRolloutNameTextFieldChanged(final TextChangeEvent event) {
window.checkMandatoryTextField(event, rolloutName);
if (window != null) {
if (!updateMode) {
window.checkMandatoryTextField(event, rolloutName);
return;
}
window.checkChanges(rolloutName.getId(), event.getText(), rolloutNameOriginal);
}
}
private String getRolloutName() {
@@ -691,7 +767,8 @@ public class AddUpdateRolloutWindowLayout extends GridLayout {
public void validate(final Object value) {
try {
if (HawkbitCommonUtil.trimAndNullIfEmpty(noOfGroups.getValue()) == null
|| HawkbitCommonUtil.trimAndNullIfEmpty((String) targetFilterQueryCombo.getValue()) == null) {
|| (HawkbitCommonUtil.trimAndNullIfEmpty((String) targetFilterQueryCombo.getValue()) == null
&& targetFilterQuery.getValue() == null)) {
uiNotification
.displayValidationError(i18n.get("message.rollout.noofgroups.or.targetfilter.missing"));
} else {
@@ -781,12 +858,42 @@ public class AddUpdateRolloutWindowLayout extends GridLayout {
noOfGroups.setEnabled(false);
targetFilterQuery.setValue(rolloutForEdit.getTargetFilterQuery());
removeComponent(targetFilterQueryCombo);
addComponent(targetFilterQuery, 1, 3);
removeComponent(1, 2);
addComponent(targetFilterQuery, 1, 2);
totalTargetsCount = targetManagement.countTargetByTargetFilterQuery(rolloutForEdit.getTargetFilterQuery());
totalTargetsLabel.setValue(getTotalTargetMessage());
totalTargetsLabel.setVisible(true);
setOriginalValues();
}
private void setOriginalValues() {
distributionSetOriginal = distributionSet.getValue().toString();
actionGroupOriginal = actionTypeOptionGroupLayout.getActionTypeOptionGroup().getValue();
rolloutNameOriginal = rolloutName.getValue();
triggerThresholdOriginal = triggerThreshold.getValue();
errorThresholdOriginal = errorThreshold.getValue();
descriptionOriginal = description.getValue();
}
private Map<String, Boolean> getEditedFields() {
final Map<String, Boolean> changeMap = new HashMap<>();
if (rolloutForEdit == null) {
return changeMap;
}
if (rolloutForEdit.getStatus() != RolloutStatus.READY) {
changeMap.put(rolloutName.getId(), Boolean.FALSE);
changeMap.put(description.getId(), Boolean.FALSE);
} else {
changeMap.put(rolloutName.getId(), Boolean.FALSE);
changeMap.put(distributionSet.getId(), Boolean.FALSE);
changeMap.put(triggerThreshold.getId(), Boolean.FALSE);
changeMap.put(errorThreshold.getId(), Boolean.FALSE);
changeMap.put(description.getId(), Boolean.FALSE);
changeMap.put(actionTypeOptionGroupLayout.getActionTypeOptionGroup().getId(), Boolean.FALSE);
}
return changeMap;
}
private void disableRequiredFieldsOnEdit() {
@@ -852,7 +959,6 @@ public class AddUpdateRolloutWindowLayout extends GridLayout {
public String getValue() {
return value;
}
}
enum ERRORTHRESOLDOPTIONS {
@@ -870,6 +976,6 @@ public class AddUpdateRolloutWindowLayout extends GridLayout {
public String getValue() {
return value;
}
}
}

View File

@@ -28,6 +28,7 @@ import org.eclipse.hawkbit.repository.model.Rollout;
import org.eclipse.hawkbit.repository.model.Rollout.RolloutStatus;
import org.eclipse.hawkbit.repository.model.SoftwareModule;
import org.eclipse.hawkbit.repository.model.TotalTargetCountStatus;
import org.eclipse.hawkbit.ui.common.CommonDialogWindow;
import org.eclipse.hawkbit.ui.common.grid.AbstractGrid;
import org.eclipse.hawkbit.ui.customrenderers.client.renderers.RolloutRendererData;
import org.eclipse.hawkbit.ui.customrenderers.renderers.HtmlButtonRenderer;
@@ -62,7 +63,6 @@ import com.vaadin.server.FontAwesome;
import com.vaadin.spring.annotation.SpringComponent;
import com.vaadin.spring.annotation.ViewScope;
import com.vaadin.ui.UI;
import com.vaadin.ui.Window;
import com.vaadin.ui.renderers.ClickableRenderer.RendererClickEvent;
import com.vaadin.ui.renderers.HtmlRenderer;
@@ -438,7 +438,7 @@ public class RolloutListGrid extends AbstractGrid {
private void onUpdate(final ContextMenuData contextMenuData) {
addUpdateRolloutWindow.populateData(contextMenuData.getRolloutId());
final Window addTargetWindow = addUpdateRolloutWindow.getWindow();
final CommonDialogWindow addTargetWindow = addUpdateRolloutWindow.createUpdateWindow();
addTargetWindow.setCaption(i18n.get("caption.update.rollout"));
UI.getCurrent().addWindow(addTargetWindow);
addTargetWindow.setVisible(Boolean.TRUE);

View File

@@ -92,7 +92,7 @@ public class RolloutListHeader extends AbstractGridHeader {
@Override
protected void addNewItem(final ClickEvent event) {
addUpdateRolloutWindow.resetComponents();
final Window addTargetWindow = addUpdateRolloutWindow.getWindow();
final Window addTargetWindow = addUpdateRolloutWindow.createAddWindow();
UI.getCurrent().addWindow(addTargetWindow);
addTargetWindow.setVisible(Boolean.TRUE);

View File

@@ -468,10 +468,10 @@ rollout.group.label.target.truncated = {0} targets has been truncated in the lis
prompt.number.of.groups = Number of groups
prompt.tigger.threshold = Trigger threshold
prompt.error.threshold = Error threshold
prompt.distribution.set = Distribution set
prompt.distribution.set = Distribution Set
caption.configure.rollout = Configure Rollout
caption.update.rollout = Update Rollout
prompt.target.filter = Custom target filter
prompt.target.filter = Custom Target Filter
message.rollout.nonzero.group.number = Number of groups must be greater than zero
message.rollout.max.group.number = Number of groups must not be greater than 500
message.rollout.duplicate.check = Rollout [ {0} ] must be unique, entered value already exists.

View File

@@ -436,7 +436,7 @@ header.rolloutgroup.target.message = Messages
rollout.group.label.target.truncated = {0} targets has been truncated in the list due the target size limit of {1}
distribution.details.header = Distribution set
distribution.details.header = Distribution Set
target.details.header = Target
header.caption.mandatory = Mandatory
header.caption.typename = SoftwareModuleType
@@ -461,7 +461,7 @@ prompt.error.threshold = Error threshold
prompt.distribution.set = Distribution Set
caption.configure.rollout = Configure Rollout
caption.update.rollout = Update Rollout
prompt.target.filter = Custom target filter
prompt.target.filter = Custom Target Filter
message.rollout.nonzero.group.number = Number of groups must be greater than zero
message.rollout.max.group.number = Number of groups must not be greater than 500
message.rollout.duplicate.check = Rollout [ {0} ] must be unique, entered value already exists.

View File

@@ -448,10 +448,10 @@ menu.title = Software Provisioning
prompt.number.of.groups = Number of groups
prompt.tigger.threshold = Trigger threshold
prompt.error.threshold = Error threshold
prompt.distribution.set = Distribution set
prompt.distribution.set = Distribution Set
caption.configure.rollout = Configure Rollout
caption.update.rollout = Update Rollout
prompt.target.filter = Custom target filter
prompt.target.filter = Custom Target Filter
message.rollout.nonzero.group.number = Number of groups must be greater than zero
message.rollout.max.group.number = Number of groups must not be greater than 500
message.rollout.duplicate.check = Rollout [ {0} ] must be unique, entered value already exists.