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:
@@ -193,7 +193,7 @@ public class SoftwareModuleAddUpdateWindow extends CustomComponent implements Se
|
|||||||
oldVendorValue = null;
|
oldVendorValue = null;
|
||||||
|
|
||||||
if (window != 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 */
|
/* add main layout to the window */
|
||||||
window = SPUIComponentProvider.getWindow(i18n.get("upload.caption.add.new.swmodule"), null,
|
window = SPUIComponentProvider.getWindow(i18n.get("upload.caption.add.new.swmodule"), null,
|
||||||
SPUIDefinitions.CREATE_UPDATE_WINDOW, this, event -> saveOrUpdate(), event -> closeThisWindow(), null,
|
SPUIDefinitions.CREATE_UPDATE_WINDOW, this, event -> saveOrUpdate(), event -> closeThisWindow(), null,
|
||||||
getMandatoryFields(formLayout));
|
getMandatoryFields(formLayout), null);
|
||||||
window.getButtonsLayout().removeStyleName("actionButtonsMargin");
|
window.getButtonsLayout().removeStyleName("actionButtonsMargin");
|
||||||
nameTextField.focus();
|
nameTextField.focus();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -132,7 +132,8 @@ public class CreateUpdateSoftwareTypeLayout extends CreateUpdateTypeLayout
|
|||||||
public void createWindow() {
|
public void createWindow() {
|
||||||
reset();
|
reset();
|
||||||
window = SPUIComponentProvider.getWindow(i18n.get("caption.add.type"), null,
|
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() {
|
private Map<String, Boolean> getMandatoryFields() {
|
||||||
|
|||||||
@@ -74,6 +74,8 @@ public class CommonDialogWindow extends Window implements Serializable {
|
|||||||
|
|
||||||
private Map<String, Boolean> requiredFields;
|
private Map<String, Boolean> requiredFields;
|
||||||
|
|
||||||
|
private final Map<String, Boolean> editedFields;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private I18N i18n;
|
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,
|
public CommonDialogWindow(final String caption, final Component content, final String helpLink,
|
||||||
final ClickListener saveButtonClickListener, final ClickListener cancelButtonClickListener,
|
final ClickListener saveButtonClickListener, final ClickListener cancelButtonClickListener,
|
||||||
final Map<String, Boolean> requiredFields) {
|
final Map<String, Boolean> requiredFields, final Map<String, Boolean> editedFields) {
|
||||||
checkNotNull(saveButtonClickListener);
|
checkNotNull(saveButtonClickListener);
|
||||||
checkNotNull(cancelButtonClickListener);
|
checkNotNull(cancelButtonClickListener);
|
||||||
this.caption = caption;
|
this.caption = caption;
|
||||||
@@ -102,6 +104,7 @@ public class CommonDialogWindow extends Window implements Serializable {
|
|||||||
this.saveButtonClickListener = saveButtonClickListener;
|
this.saveButtonClickListener = saveButtonClickListener;
|
||||||
this.cancelButtonClickListener = cancelButtonClickListener;
|
this.cancelButtonClickListener = cancelButtonClickListener;
|
||||||
this.requiredFields = requiredFields;
|
this.requiredFields = requiredFields;
|
||||||
|
this.editedFields = editedFields;
|
||||||
|
|
||||||
init();
|
init();
|
||||||
}
|
}
|
||||||
@@ -110,32 +113,32 @@ public class CommonDialogWindow extends Window implements Serializable {
|
|||||||
|
|
||||||
if (StringUtils.isNotBlank(event.getText())) {
|
if (StringUtils.isNotBlank(event.getText())) {
|
||||||
if (StringUtils.isNotBlank(textfield.getCaption())) {
|
if (StringUtils.isNotBlank(textfield.getCaption())) {
|
||||||
getRequiredFields().put(textfield.getCaption(), Boolean.TRUE);
|
requiredFields.put(textfield.getCaption(), Boolean.TRUE);
|
||||||
}
|
}
|
||||||
getRequiredFields().put(textfield.getId(), Boolean.TRUE);
|
getRequiredFields().put(textfield.getId(), Boolean.TRUE);
|
||||||
} else {
|
} else {
|
||||||
if (StringUtils.isNotBlank(textfield.getCaption())) {
|
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) {
|
public void checkMandatoryComboBox(final ValueChangeEvent event, final AbstractSelect select) {
|
||||||
|
|
||||||
if (event.getProperty().getValue() != null) {
|
if (event.getProperty().getValue() != null) {
|
||||||
if (StringUtils.isNotBlank(select.getCaption())) {
|
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 {
|
} else {
|
||||||
if (StringUtils.isNotBlank(select.getCaption())) {
|
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
|
* mandatory fields are filled the save button is enabled. Otherwise the
|
||||||
* save button is disabled.
|
* save button is disabled.
|
||||||
*/
|
*/
|
||||||
private void checkMandatoryFields() {
|
private void checkMandatoryFieldsFilled() {
|
||||||
|
|
||||||
for (final Map.Entry<String, Boolean> entry : requiredFields.entrySet()) {
|
for (final Map.Entry<String, Boolean> entry : requiredFields.entrySet()) {
|
||||||
if (entry.getValue() == null || entry.getValue().equals(Boolean.FALSE)) {
|
if (entry.getValue() == null || entry.getValue().equals(Boolean.FALSE)) {
|
||||||
@@ -154,35 +157,56 @@ public class CommonDialogWindow extends Window implements Serializable {
|
|||||||
saveButton.setEnabled(true);
|
saveButton.setEnabled(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void updateRequiredFields(final String fieldId, final Boolean filled) {
|
private void checkExistsChanges() {
|
||||||
|
|
||||||
getRequiredFields().put(fieldId, filled);
|
if (editedFields == null) {
|
||||||
checkMandatoryFields();
|
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))
|
if ((StringUtils.isNotBlank(newText) && !newText.equals(oldText))
|
||||||
|| (StringUtils.isNotBlank(oldText) && !oldText.equals(newText))) {
|
|| (StringUtils.isNotBlank(oldText) && !oldText.equals(newText))) {
|
||||||
saveButton.setEnabled(true);
|
editedFields.put(fieldName, Boolean.TRUE);
|
||||||
} else {
|
} 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)) {
|
if (newColor.equals(oldColor)) {
|
||||||
setSaveButtonEnabled(false);
|
editedFields.put(fieldName, Boolean.FALSE);
|
||||||
} else {
|
} else {
|
||||||
setSaveButtonEnabled(true);
|
editedFields.put(fieldName, Boolean.TRUE);
|
||||||
}
|
}
|
||||||
|
checkExistsChanges();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void resetRequiredFieldsValues() {
|
public void resetMandatoryAndEditedFields() {
|
||||||
// Reset mandatory fields are filled marker
|
resetFields(requiredFields);
|
||||||
if (getRequiredFields() != null) {
|
resetFields(editedFields);
|
||||||
for (final Map.Entry<String, Boolean> entry : getRequiredFields().entrySet()) {
|
}
|
||||||
|
|
||||||
|
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);
|
entry.setValue(null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -154,9 +154,9 @@ public final class SPUIComponentProvider {
|
|||||||
public static CommonDialogWindow getWindow(final String caption, final String id, final String type,
|
public static CommonDialogWindow getWindow(final String caption, final String id, final String type,
|
||||||
final Component content, final ClickListener saveButtonClickListener,
|
final Component content, final ClickListener saveButtonClickListener,
|
||||||
final ClickListener cancelButtonClickListener, final String helpLink,
|
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,
|
return SPUIWindowDecorator.getDeocratedWindow(caption, id, type, content, saveButtonClickListener,
|
||||||
cancelButtonClickListener, helpLink, requiredFields);
|
cancelButtonClickListener, helpLink, requiredFields, editedFields);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -47,10 +47,10 @@ public final class SPUIWindowDecorator {
|
|||||||
public static CommonDialogWindow getDeocratedWindow(final String caption, final String id, final String type,
|
public static CommonDialogWindow getDeocratedWindow(final String caption, final String id, final String type,
|
||||||
final Component content, final ClickListener saveButtonClickListener,
|
final Component content, final ClickListener saveButtonClickListener,
|
||||||
final ClickListener cancelButtonClickListener, final String helpLink,
|
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,
|
final CommonDialogWindow window = new CommonDialogWindow(caption, content, helpLink, saveButtonClickListener,
|
||||||
cancelButtonClickListener, requiredFields);
|
cancelButtonClickListener, requiredFields, editedFields);
|
||||||
if (null != id) {
|
if (null != id) {
|
||||||
window.setId(id);
|
window.setId(id);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -677,7 +677,8 @@ public class CreateUpdateDistSetTypeLayout extends CreateUpdateTypeLayout
|
|||||||
public void createWindow() {
|
public void createWindow() {
|
||||||
reset();
|
reset();
|
||||||
window = SPUIComponentProvider.getWindow(i18n.get("caption.add.type"), null,
|
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() {
|
private Map<String, Boolean> getMandatoryFields() {
|
||||||
|
|||||||
@@ -115,8 +115,9 @@ public abstract class AbstractCreateUpdateTagLayout extends CustomComponent
|
|||||||
|
|
||||||
protected void createWindow() {
|
protected void createWindow() {
|
||||||
reset();
|
reset();
|
||||||
setWindow(SPUIComponentProvider.getWindow(i18n.get("caption.add.tag"), null,
|
setWindow(
|
||||||
SPUIDefinitions.CREATE_UPDATE_WINDOW, this, this::save, this::discard, null, getMandatoryFields()));
|
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() {
|
private Map<String, Boolean> getMandatoryFields() {
|
||||||
@@ -131,6 +132,13 @@ public abstract class AbstractCreateUpdateTagLayout extends CustomComponent
|
|||||||
return requiredFields;
|
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.
|
* Save new tag / update new tag.
|
||||||
*
|
*
|
||||||
@@ -213,7 +221,7 @@ public abstract class AbstractCreateUpdateTagLayout extends CustomComponent
|
|||||||
|
|
||||||
protected void listenerTagDescTextAreaChanged(final TextChangeEvent event) {
|
protected void listenerTagDescTextAreaChanged(final TextChangeEvent event) {
|
||||||
|
|
||||||
window.checkChanges(event.getText(), tagDescOriginal);
|
window.checkChanges(tagDesc.getCaption(), event.getText(), tagDescOriginal);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void buildLayout() {
|
protected void buildLayout() {
|
||||||
@@ -375,7 +383,7 @@ public abstract class AbstractCreateUpdateTagLayout extends CustomComponent
|
|||||||
tagPreviewBtnClicked = false;
|
tagPreviewBtnClicked = false;
|
||||||
|
|
||||||
if (window != null) {
|
if (window != null) {
|
||||||
window.resetRequiredFieldsValues();
|
window.resetMandatoryAndEditedFields();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -466,7 +474,7 @@ public abstract class AbstractCreateUpdateTagLayout extends CustomComponent
|
|||||||
colorPickerLayout.getColorSelect().setColor(colorPickerLayout.getSelPreview().getColor());
|
colorPickerLayout.getColorSelect().setColor(colorPickerLayout.getSelPreview().getColor());
|
||||||
}
|
}
|
||||||
|
|
||||||
window.checkColorChange(colorPickerLayout.getSelectedColor(), selectedColorOriginal);
|
window.checkColorChange(colorPickerLayout.getId(), colorPickerLayout.getSelectedColor(), selectedColorOriginal);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void closeWindow() {
|
protected void closeWindow() {
|
||||||
|
|||||||
@@ -186,7 +186,7 @@ public class CreateUpdateTypeLayout extends AbstractCreateUpdateTagLayout {
|
|||||||
createDynamicStyleForComponents(tagName, typeKey, tagDesc, colorPickedPreview);
|
createDynamicStyleForComponents(tagName, typeKey, tagDesc, colorPickedPreview);
|
||||||
getColorPickerLayout().getColorSelect().setColor(getColorPickerLayout().getSelPreview().getColor());
|
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) {
|
protected void createOptionGroup(final boolean hasCreatePermission, final boolean hasUpdatePermission) {
|
||||||
|
|
||||||
optiongroup = new OptionGroup("Select Action");
|
optiongroup = new OptionGroup("Select Action");
|
||||||
|
optiongroup.setId(SPUIComponentIdProvider.OPTION_GROUP);
|
||||||
optiongroup.addStyleName(ValoTheme.OPTIONGROUP_SMALL);
|
optiongroup.addStyleName(ValoTheme.OPTIONGROUP_SMALL);
|
||||||
optiongroup.addStyleName("custom-option-group");
|
optiongroup.addStyleName("custom-option-group");
|
||||||
optiongroup.setNullSelectionAllowed(false);
|
optiongroup.setNullSelectionAllowed(false);
|
||||||
|
|||||||
@@ -179,12 +179,16 @@ public class DistributionAddUpdateWindowLayout extends CustomComponent {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void listenerDistNameTextFieldChanged(final TextChangeEvent event) {
|
private void listenerDistNameTextFieldChanged(final TextChangeEvent event) {
|
||||||
|
if (!editDistribution) {
|
||||||
window.checkMandatoryTextField(event, distNameTextField);
|
window.checkMandatoryTextField(event, distNameTextField);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void listenerDistVersionTextFieldChanged(final TextChangeEvent event) {
|
private void listenerDistVersionTextFieldChanged(final TextChangeEvent event) {
|
||||||
|
if (!editDistribution) {
|
||||||
window.checkMandatoryTextField(event, distVersionTextField);
|
window.checkMandatoryTextField(event, distVersionTextField);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the LazyQueryContainer instance for DistributionSetTypes.
|
* Get the LazyQueryContainer instance for DistributionSetTypes.
|
||||||
@@ -410,7 +414,7 @@ public class DistributionAddUpdateWindowLayout extends CustomComponent {
|
|||||||
changedComponents.clear();
|
changedComponents.clear();
|
||||||
|
|
||||||
if (window != null) {
|
if (window != null) {
|
||||||
window.resetRequiredFieldsValues();
|
window.resetMandatoryAndEditedFields();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -519,9 +523,8 @@ public class DistributionAddUpdateWindowLayout extends CustomComponent {
|
|||||||
resetComponents();
|
resetComponents();
|
||||||
window = SPUIComponentProvider.getWindow(i18n.get("caption.add.new.dist"), null,
|
window = 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, getMandatoryFields());
|
null, getMandatoryFields(), null);
|
||||||
window.getButtonsLayout().removeStyleName("actionButtonsMargin");
|
window.getButtonsLayout().removeStyleName("actionButtonsMargin");
|
||||||
|
|
||||||
return window;
|
return window;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ import javax.annotation.PostConstruct;
|
|||||||
import org.eclipse.hawkbit.repository.model.Action.ActionType;
|
import org.eclipse.hawkbit.repository.model.Action.ActionType;
|
||||||
import org.eclipse.hawkbit.ui.utils.I18N;
|
import org.eclipse.hawkbit.ui.utils.I18N;
|
||||||
import org.eclipse.hawkbit.ui.utils.SPDateTimeUtil;
|
import org.eclipse.hawkbit.ui.utils.SPDateTimeUtil;
|
||||||
|
import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.vaadin.hene.flexibleoptiongroup.FlexibleOptionGroup;
|
import org.vaadin.hene.flexibleoptiongroup.FlexibleOptionGroup;
|
||||||
import org.vaadin.hene.flexibleoptiongroup.FlexibleOptionGroupItemComponent;
|
import org.vaadin.hene.flexibleoptiongroup.FlexibleOptionGroupItemComponent;
|
||||||
@@ -78,6 +79,7 @@ public class ActionTypeOptionGroupLayout extends HorizontalLayout {
|
|||||||
|
|
||||||
private void createOptionGroup() {
|
private void createOptionGroup() {
|
||||||
actionTypeOptionGroup = new FlexibleOptionGroup();
|
actionTypeOptionGroup = new FlexibleOptionGroup();
|
||||||
|
actionTypeOptionGroup.setId(SPUIComponentIdProvider.ROLLOUT_ACTION_BUTTON_ID);
|
||||||
actionTypeOptionGroup.addItem(ActionTypeOption.SOFT);
|
actionTypeOptionGroup.addItem(ActionTypeOption.SOFT);
|
||||||
actionTypeOptionGroup.addItem(ActionTypeOption.FORCED);
|
actionTypeOptionGroup.addItem(ActionTypeOption.FORCED);
|
||||||
actionTypeOptionGroup.addItem(ActionTypeOption.AUTO_FORCED);
|
actionTypeOptionGroup.addItem(ActionTypeOption.AUTO_FORCED);
|
||||||
|
|||||||
@@ -244,7 +244,7 @@ public class TargetAddUpdateWindowLayout extends CustomComponent {
|
|||||||
public Window getWindow() {
|
public Window getWindow() {
|
||||||
eventBus.publish(this, DragEvent.HIDE_DROP_HINT);
|
eventBus.publish(this, DragEvent.HIDE_DROP_HINT);
|
||||||
window = SPUIComponentProvider.getWindow(i18n.get("caption.add.new.target"), null,
|
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;
|
return window;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -274,7 +274,7 @@ public class TargetAddUpdateWindowLayout extends CustomComponent {
|
|||||||
editTarget = Boolean.FALSE;
|
editTarget = Boolean.FALSE;
|
||||||
|
|
||||||
if (window != null) {
|
if (window != null) {
|
||||||
window.resetRequiredFieldsValues();
|
window.resetMandatoryAndEditedFields();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -150,26 +150,47 @@ public class AddUpdateRolloutWindowLayout extends GridLayout {
|
|||||||
|
|
||||||
private TextArea targetFilterQuery;
|
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.
|
* Create components and layout.
|
||||||
*/
|
*/
|
||||||
public void init() {
|
public void init() {
|
||||||
|
|
||||||
setSizeUndefined();
|
setSizeUndefined();
|
||||||
createRequiredComponents();
|
createRequiredComponents();
|
||||||
buildLayout();
|
buildLayout();
|
||||||
}
|
}
|
||||||
|
|
||||||
public CommonDialogWindow getWindow() {
|
public CommonDialogWindow getWindow() {
|
||||||
|
|
||||||
window = SPUIComponentProvider.getWindow(i18n.get("caption.configure.rollout"), null,
|
window = 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(), getMandatoryFields());
|
uiProperties.getLinks().getDocumentation().getRolloutView(), getMandatoryFields(), getEditedFields());
|
||||||
return window;
|
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<>();
|
final Map<String, Boolean> requiredFields = new HashMap<>();
|
||||||
requiredFields.put(rolloutName.getId(), null);
|
requiredFields.put(rolloutName.getId(), null);
|
||||||
requiredFields.put(distributionSet.getId(), null);
|
requiredFields.put(distributionSet.getId(), null);
|
||||||
@@ -195,16 +216,14 @@ public class AddUpdateRolloutWindowLayout extends GridLayout {
|
|||||||
setDefaultSaveStartGroupOption();
|
setDefaultSaveStartGroupOption();
|
||||||
totalTargetsLabel.setVisible(false);
|
totalTargetsLabel.setVisible(false);
|
||||||
groupSizeLabel.setVisible(false);
|
groupSizeLabel.setVisible(false);
|
||||||
removeComponent(targetFilterQuery);
|
removeComponent(1, 2);
|
||||||
if (getComponent(1, 3) == null) {
|
addComponent(targetFilterQueryCombo, 1, 2);
|
||||||
addComponent(targetFilterQueryCombo, 1, 3);
|
|
||||||
}
|
|
||||||
actionTypeOptionGroupLayout.selectDefaultOption();
|
actionTypeOptionGroupLayout.selectDefaultOption();
|
||||||
totalTargetsCount = 0L;
|
totalTargetsCount = 0L;
|
||||||
rolloutForEdit = null;
|
rolloutForEdit = null;
|
||||||
|
|
||||||
if (window != null) {
|
if (window != null) {
|
||||||
window.resetRequiredFieldsValues();
|
window.resetMandatoryAndEditedFields();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -284,7 +303,7 @@ public class AddUpdateRolloutWindowLayout extends GridLayout {
|
|||||||
|
|
||||||
noOfGroups = createNoOfGroupsField();
|
noOfGroups = createNoOfGroupsField();
|
||||||
groupSizeLabel = createGroupSizeLabel();
|
groupSizeLabel = createGroupSizeLabel();
|
||||||
triggerThreshold = createTriggerThresold();
|
triggerThreshold = createTriggerThreshold();
|
||||||
errorThreshold = createErrorThreshold();
|
errorThreshold = createErrorThreshold();
|
||||||
description = createDescription();
|
description = createDescription();
|
||||||
errorThresholdOptionGroup = createErrorThresholdOptionGroup();
|
errorThresholdOptionGroup = createErrorThresholdOptionGroup();
|
||||||
@@ -293,6 +312,20 @@ public class AddUpdateRolloutWindowLayout extends GridLayout {
|
|||||||
totalTargetsLabel = createTotalTargetsLabel();
|
totalTargetsLabel = createTotalTargetsLabel();
|
||||||
targetFilterQuery = createTargetFilterQuery();
|
targetFilterQuery = createTargetFilterQuery();
|
||||||
actionTypeOptionGroupLayout.addStyleName(SPUIStyleDefinitions.ROLLOUT_ACTION_TYPE_LAYOUT);
|
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() {
|
private Label createGroupSizeLabel() {
|
||||||
@@ -578,9 +611,20 @@ public class AddUpdateRolloutWindowLayout extends GridLayout {
|
|||||||
descriptionField.setId(SPUIComponentIdProvider.ROLLOUT_DESCRIPTION_ID);
|
descriptionField.setId(SPUIComponentIdProvider.ROLLOUT_DESCRIPTION_ID);
|
||||||
descriptionField.setNullRepresentation(HawkbitCommonUtil.SP_STRING_EMPTY);
|
descriptionField.setNullRepresentation(HawkbitCommonUtil.SP_STRING_EMPTY);
|
||||||
descriptionField.setSizeUndefined();
|
descriptionField.setSizeUndefined();
|
||||||
|
descriptionField.addTextChangeListener(this::listenerDescriptionTextFieldChanged);
|
||||||
return descriptionField;
|
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() {
|
private TextField createErrorThreshold() {
|
||||||
final TextField errorField = getTextfield("prompt.error.threshold");
|
final TextField errorField = getTextfield("prompt.error.threshold");
|
||||||
errorField.addValidator(new ThresholdFieldValidator());
|
errorField.addValidator(new ThresholdFieldValidator());
|
||||||
@@ -592,11 +636,16 @@ public class AddUpdateRolloutWindowLayout extends GridLayout {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void listenerErrorThresholdTextFieldChanged(final TextChangeEvent event) {
|
private void listenerErrorThresholdTextFieldChanged(final TextChangeEvent event) {
|
||||||
|
if (window != null) {
|
||||||
|
if (!updateMode) {
|
||||||
window.checkMandatoryTextField(event, errorThreshold);
|
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");
|
final TextField thresholdField = getTextfield("prompt.tigger.threshold");
|
||||||
thresholdField.setId(SPUIComponentIdProvider.ROLLOUT_TRIGGER_THRESOLD_ID);
|
thresholdField.setId(SPUIComponentIdProvider.ROLLOUT_TRIGGER_THRESOLD_ID);
|
||||||
thresholdField.addValidator(new ThresholdFieldValidator());
|
thresholdField.addValidator(new ThresholdFieldValidator());
|
||||||
@@ -607,7 +656,13 @@ public class AddUpdateRolloutWindowLayout extends GridLayout {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void listenerTriggerThresholdTextFieldChanged(final TextChangeEvent event) {
|
private void listenerTriggerThresholdTextFieldChanged(final TextChangeEvent event) {
|
||||||
|
if (window != null) {
|
||||||
|
if (!updateMode) {
|
||||||
window.checkMandatoryTextField(event, triggerThreshold);
|
window.checkMandatoryTextField(event, triggerThreshold);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
window.checkChanges(triggerThreshold.getId(), event.getText(), triggerThresholdOriginal);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private TextField createNoOfGroupsField() {
|
private TextField createNoOfGroupsField() {
|
||||||
@@ -622,7 +677,13 @@ public class AddUpdateRolloutWindowLayout extends GridLayout {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void listenerNoOfGroupsTextFieldChanged(final TextChangeEvent event) {
|
private void listenerNoOfGroupsTextFieldChanged(final TextChangeEvent event) {
|
||||||
|
if (window != null) {
|
||||||
|
if (!updateMode) {
|
||||||
window.checkMandatoryTextField(event, noOfGroups);
|
window.checkMandatoryTextField(event, noOfGroups);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
window.checkChanges(noOfGroups.getId(), event.getText(), noOfGroups.getValue());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void onGroupNumberChange() {
|
private void onGroupNumberChange() {
|
||||||
@@ -647,7 +708,16 @@ public class AddUpdateRolloutWindowLayout extends GridLayout {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void listenerDistributionSetChanged(final ValueChangeEvent event) {
|
private void listenerDistributionSetChanged(final ValueChangeEvent event) {
|
||||||
|
if (window != null) {
|
||||||
|
if (!updateMode) {
|
||||||
window.checkMandatoryComboBox(event, distributionSet);
|
window.checkMandatoryComboBox(event, distributionSet);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (event.getProperty().getValue() != null) {
|
||||||
|
window.checkChanges(distributionSet.getId(), event.getProperty().getValue().toString(),
|
||||||
|
distributionSetOriginal);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void populateDistributionSet() {
|
private void populateDistributionSet() {
|
||||||
@@ -673,7 +743,13 @@ public class AddUpdateRolloutWindowLayout extends GridLayout {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void listenerRolloutNameTextFieldChanged(final TextChangeEvent event) {
|
private void listenerRolloutNameTextFieldChanged(final TextChangeEvent event) {
|
||||||
|
if (window != null) {
|
||||||
|
if (!updateMode) {
|
||||||
window.checkMandatoryTextField(event, rolloutName);
|
window.checkMandatoryTextField(event, rolloutName);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
window.checkChanges(rolloutName.getId(), event.getText(), rolloutNameOriginal);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getRolloutName() {
|
private String getRolloutName() {
|
||||||
@@ -691,7 +767,8 @@ public class AddUpdateRolloutWindowLayout extends GridLayout {
|
|||||||
public void validate(final Object value) {
|
public void validate(final Object value) {
|
||||||
try {
|
try {
|
||||||
if (HawkbitCommonUtil.trimAndNullIfEmpty(noOfGroups.getValue()) == null
|
if (HawkbitCommonUtil.trimAndNullIfEmpty(noOfGroups.getValue()) == null
|
||||||
|| HawkbitCommonUtil.trimAndNullIfEmpty((String) targetFilterQueryCombo.getValue()) == null) {
|
|| (HawkbitCommonUtil.trimAndNullIfEmpty((String) targetFilterQueryCombo.getValue()) == null
|
||||||
|
&& targetFilterQuery.getValue() == null)) {
|
||||||
uiNotification
|
uiNotification
|
||||||
.displayValidationError(i18n.get("message.rollout.noofgroups.or.targetfilter.missing"));
|
.displayValidationError(i18n.get("message.rollout.noofgroups.or.targetfilter.missing"));
|
||||||
} else {
|
} else {
|
||||||
@@ -781,12 +858,42 @@ public class AddUpdateRolloutWindowLayout extends GridLayout {
|
|||||||
|
|
||||||
noOfGroups.setEnabled(false);
|
noOfGroups.setEnabled(false);
|
||||||
targetFilterQuery.setValue(rolloutForEdit.getTargetFilterQuery());
|
targetFilterQuery.setValue(rolloutForEdit.getTargetFilterQuery());
|
||||||
removeComponent(targetFilterQueryCombo);
|
removeComponent(1, 2);
|
||||||
addComponent(targetFilterQuery, 1, 3);
|
addComponent(targetFilterQuery, 1, 2);
|
||||||
|
|
||||||
totalTargetsCount = targetManagement.countTargetByTargetFilterQuery(rolloutForEdit.getTargetFilterQuery());
|
totalTargetsCount = targetManagement.countTargetByTargetFilterQuery(rolloutForEdit.getTargetFilterQuery());
|
||||||
totalTargetsLabel.setValue(getTotalTargetMessage());
|
totalTargetsLabel.setValue(getTotalTargetMessage());
|
||||||
totalTargetsLabel.setVisible(true);
|
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() {
|
private void disableRequiredFieldsOnEdit() {
|
||||||
@@ -852,7 +959,6 @@ public class AddUpdateRolloutWindowLayout extends GridLayout {
|
|||||||
public String getValue() {
|
public String getValue() {
|
||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
enum ERRORTHRESOLDOPTIONS {
|
enum ERRORTHRESOLDOPTIONS {
|
||||||
@@ -870,6 +976,6 @@ public class AddUpdateRolloutWindowLayout extends GridLayout {
|
|||||||
public String getValue() {
|
public String getValue() {
|
||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|||||||
@@ -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.Rollout.RolloutStatus;
|
||||||
import org.eclipse.hawkbit.repository.model.SoftwareModule;
|
import org.eclipse.hawkbit.repository.model.SoftwareModule;
|
||||||
import org.eclipse.hawkbit.repository.model.TotalTargetCountStatus;
|
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.common.grid.AbstractGrid;
|
||||||
import org.eclipse.hawkbit.ui.customrenderers.client.renderers.RolloutRendererData;
|
import org.eclipse.hawkbit.ui.customrenderers.client.renderers.RolloutRendererData;
|
||||||
import org.eclipse.hawkbit.ui.customrenderers.renderers.HtmlButtonRenderer;
|
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.SpringComponent;
|
||||||
import com.vaadin.spring.annotation.ViewScope;
|
import com.vaadin.spring.annotation.ViewScope;
|
||||||
import com.vaadin.ui.UI;
|
import com.vaadin.ui.UI;
|
||||||
import com.vaadin.ui.Window;
|
|
||||||
import com.vaadin.ui.renderers.ClickableRenderer.RendererClickEvent;
|
import com.vaadin.ui.renderers.ClickableRenderer.RendererClickEvent;
|
||||||
import com.vaadin.ui.renderers.HtmlRenderer;
|
import com.vaadin.ui.renderers.HtmlRenderer;
|
||||||
|
|
||||||
@@ -438,7 +438,7 @@ public class RolloutListGrid extends AbstractGrid {
|
|||||||
|
|
||||||
private void onUpdate(final ContextMenuData contextMenuData) {
|
private void onUpdate(final ContextMenuData contextMenuData) {
|
||||||
addUpdateRolloutWindow.populateData(contextMenuData.getRolloutId());
|
addUpdateRolloutWindow.populateData(contextMenuData.getRolloutId());
|
||||||
final Window addTargetWindow = addUpdateRolloutWindow.getWindow();
|
final CommonDialogWindow addTargetWindow = addUpdateRolloutWindow.createUpdateWindow();
|
||||||
addTargetWindow.setCaption(i18n.get("caption.update.rollout"));
|
addTargetWindow.setCaption(i18n.get("caption.update.rollout"));
|
||||||
UI.getCurrent().addWindow(addTargetWindow);
|
UI.getCurrent().addWindow(addTargetWindow);
|
||||||
addTargetWindow.setVisible(Boolean.TRUE);
|
addTargetWindow.setVisible(Boolean.TRUE);
|
||||||
|
|||||||
@@ -92,7 +92,7 @@ public class RolloutListHeader extends AbstractGridHeader {
|
|||||||
@Override
|
@Override
|
||||||
protected void addNewItem(final ClickEvent event) {
|
protected void addNewItem(final ClickEvent event) {
|
||||||
addUpdateRolloutWindow.resetComponents();
|
addUpdateRolloutWindow.resetComponents();
|
||||||
final Window addTargetWindow = addUpdateRolloutWindow.getWindow();
|
final Window addTargetWindow = addUpdateRolloutWindow.createAddWindow();
|
||||||
UI.getCurrent().addWindow(addTargetWindow);
|
UI.getCurrent().addWindow(addTargetWindow);
|
||||||
addTargetWindow.setVisible(Boolean.TRUE);
|
addTargetWindow.setVisible(Boolean.TRUE);
|
||||||
|
|
||||||
|
|||||||
@@ -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.number.of.groups = Number of groups
|
||||||
prompt.tigger.threshold = Trigger threshold
|
prompt.tigger.threshold = Trigger threshold
|
||||||
prompt.error.threshold = Error threshold
|
prompt.error.threshold = Error threshold
|
||||||
prompt.distribution.set = Distribution set
|
prompt.distribution.set = Distribution Set
|
||||||
caption.configure.rollout = Configure Rollout
|
caption.configure.rollout = Configure Rollout
|
||||||
caption.update.rollout = Update 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.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.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.
|
message.rollout.duplicate.check = Rollout [ {0} ] must be unique, entered value already exists.
|
||||||
|
|||||||
@@ -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}
|
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
|
target.details.header = Target
|
||||||
header.caption.mandatory = Mandatory
|
header.caption.mandatory = Mandatory
|
||||||
header.caption.typename = SoftwareModuleType
|
header.caption.typename = SoftwareModuleType
|
||||||
@@ -461,7 +461,7 @@ prompt.error.threshold = Error threshold
|
|||||||
prompt.distribution.set = Distribution Set
|
prompt.distribution.set = Distribution Set
|
||||||
caption.configure.rollout = Configure Rollout
|
caption.configure.rollout = Configure Rollout
|
||||||
caption.update.rollout = Update 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.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.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.
|
message.rollout.duplicate.check = Rollout [ {0} ] must be unique, entered value already exists.
|
||||||
|
|||||||
@@ -448,10 +448,10 @@ menu.title = Software Provisioning
|
|||||||
prompt.number.of.groups = Number of groups
|
prompt.number.of.groups = Number of groups
|
||||||
prompt.tigger.threshold = Trigger threshold
|
prompt.tigger.threshold = Trigger threshold
|
||||||
prompt.error.threshold = Error threshold
|
prompt.error.threshold = Error threshold
|
||||||
prompt.distribution.set = Distribution set
|
prompt.distribution.set = Distribution Set
|
||||||
caption.configure.rollout = Configure Rollout
|
caption.configure.rollout = Configure Rollout
|
||||||
caption.update.rollout = Update 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.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.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.
|
message.rollout.duplicate.check = Rollout [ {0} ] must be unique, entered value already exists.
|
||||||
|
|||||||
Reference in New Issue
Block a user