Merge pull request #166 from bsinno/fix_Consitent_breadcrumb_usage

Consistent breadcrumb usage
This commit is contained in:
Michael Hirsch
2016-05-17 08:37:32 +02:00
11 changed files with 72 additions and 20 deletions

View File

@@ -68,6 +68,8 @@ public class CreateOrUpdateFilterHeader extends VerticalLayout implements Button
private static final long serialVersionUID = 7474232427119031474L;
private static final String breadcrumbCustomFilters = "breadcrumb.target.filter.custom.filters";
@Autowired
private I18N i18n;
@@ -93,6 +95,12 @@ public class CreateOrUpdateFilterHeader extends VerticalLayout implements Button
@Qualifier("uiExecutor")
private transient Executor executor;
private HorizontalLayout breadcrumbLayout;
private Button breadcrumbButton;
private Label breadcrumbName;
private Label headerCaption;
private TextField queryTextField;
@@ -169,6 +177,7 @@ public class CreateOrUpdateFilterHeader extends VerticalLayout implements Button
oldFilterName = filterManagementUIState.getTfQuery().get().getName();
oldFilterQuery = filterManagementUIState.getTfQuery().get().getQuery();
}
breadcrumbName.setValue(nameLabel.getValue());
showValidationSuccesIcon();
titleFilterIconsLayout.addStyleName(SPUIStyleDefinitions.TARGET_FILTER_CAPTION_LAYOUT);
headerCaption.setVisible(false);
@@ -177,6 +186,7 @@ public class CreateOrUpdateFilterHeader extends VerticalLayout implements Button
private void resetComponents() {
headerCaption.setVisible(true);
breadcrumbName.setValue(headerCaption.getValue());
nameLabel.setValue("");
queryTextField.setValue("");
setInitialStatusIconStyle(validationIcon);
@@ -201,6 +211,9 @@ public class CreateOrUpdateFilterHeader extends VerticalLayout implements Button
}
private void createComponents() {
breadcrumbButton = createBreadcrumbButton();
headerCaption = SPUIComponentProvider.getLabel(SPUILabelDefinitions.VAR_CREATE_FILTER,
SPUILabelDefinitions.SP_WIDGET_CAPTION);
@@ -221,12 +234,23 @@ public class CreateOrUpdateFilterHeader extends VerticalLayout implements Button
closeIcon = createSearchResetIcon();
}
private Button createBreadcrumbButton() {
final Button createFilterViewLink = SPUIComponentProvider.getButton(null, "", "", null, false, null,
SPUIButtonStyleSmallNoBorder.class);
createFilterViewLink.setStyleName(ValoTheme.LINK_SMALL + " " + "on-focus-no-border link rollout-caption-links");
createFilterViewLink.setDescription(i18n.get(breadcrumbCustomFilters));
createFilterViewLink.setCaption(i18n.get(breadcrumbCustomFilters));
createFilterViewLink.addClickListener(value -> showCustomFiltersView());
return createFilterViewLink;
}
private TextField createNameTextField() {
final TextField nameField = SPUIComponentProvider.getTextField("", ValoTheme.TEXTFIELD_TINY, false, null,
i18n.get("textfield.customfiltername"), true, SPUILabelDefinitions.TEXT_FIELD_MAX_LENGTH);
nameField.setId(SPUIComponetIdProvider.CUSTOM_FILTER_ADD_NAME);
nameField.setPropertyDataSource(nameLabel);
nameField.addTextChangeListener(event -> onFiterNameChange(event));
nameField.addTextChangeListener(event -> onFilterNameChange(event));
return nameField;
}
@@ -256,7 +280,7 @@ public class CreateOrUpdateFilterHeader extends VerticalLayout implements Button
};
}
private void onFiterNameChange(final TextChangeEvent event) {
private void onFilterNameChange(final TextChangeEvent event) {
if (isNameAndQueryEmpty(event.getText(), queryTextField.getValue())
|| (event.getText().equals(oldFilterName) && queryTextField.getValue().equals(oldFilterQuery))) {
saveButton.setEnabled(false);
@@ -276,6 +300,13 @@ public class CreateOrUpdateFilterHeader extends VerticalLayout implements Button
titleFilterIconsLayout.addComponents(headerCaption, captionLayout);
titleFilterIconsLayout.setSpacing(true);
breadcrumbLayout = new HorizontalLayout();
breadcrumbLayout.addComponent(breadcrumbButton);
breadcrumbLayout.addComponent(new Label(">"));
breadcrumbName = SPUIComponentProvider.getLabel(null, SPUILabelDefinitions.SP_WIDGET_CAPTION);
breadcrumbLayout.addComponent(breadcrumbName);
breadcrumbName.addStyleName("breadcrumbPaddingLeft");
final HorizontalLayout titleFilterLayout = new HorizontalLayout();
titleFilterLayout.setSizeFull();
titleFilterLayout.addComponents(titleFilterIconsLayout, closeIcon);
@@ -302,10 +333,12 @@ public class CreateOrUpdateFilterHeader extends VerticalLayout implements Button
queryLayout.setSpacing(true);
queryLayout.addComponents(searchLayout, iconLayout);
addComponent(breadcrumbLayout);
addComponent(titleFilterLayout);
addComponent(queryLayout);
setSpacing(true);
addStyleName(SPUIStyleDefinitions.WIDGET_TITLE);
addStyleName("bordered-layout");
}
private void setUpCaptionLayout(final boolean isCreateView) {
@@ -524,4 +557,8 @@ public class CreateOrUpdateFilterHeader extends VerticalLayout implements Button
}
}
private void showCustomFiltersView() {
eventBus.publish(this, CustomFilterUIEvent.SHOW_FILTER_MANAGEMENT);
}
}

View File

@@ -96,7 +96,8 @@ public class FilterManagementView extends VerticalLayout implements View {
} else if (custFilterUIEvent == CustomFilterUIEvent.CREATE_NEW_FILTER_CLICK
|| custFilterUIEvent == CustomFilterUIEvent.FILTER_TARGET_BY_QUERY) {
this.getUI().access(() -> viewCreateTargetFilterLayout());
} else if (custFilterUIEvent == CustomFilterUIEvent.EXIT_CREATE_OR_UPDATE_FILTRER_VIEW) {
} else if (custFilterUIEvent == CustomFilterUIEvent.EXIT_CREATE_OR_UPDATE_FILTRER_VIEW
|| custFilterUIEvent == CustomFilterUIEvent.SHOW_FILTER_MANAGEMENT) {
UI.getCurrent().access(() -> viewListView());
}
}
@@ -121,11 +122,11 @@ public class FilterManagementView extends VerticalLayout implements View {
tableHeaderLayout.setComponentAlignment(createNewFilterHeader, Alignment.TOP_CENTER);
tableHeaderLayout.addComponent(createNewFilterTable);
tableHeaderLayout.setComponentAlignment(createNewFilterTable, Alignment.TOP_CENTER);
tableHeaderLayout.setExpandRatio(createNewFilterTable, 1.0f);
tableHeaderLayout.setExpandRatio(createNewFilterTable, 1.0F);
addComponent(tableHeaderLayout);
setComponentAlignment(tableHeaderLayout, Alignment.TOP_CENTER);
setExpandRatio(tableHeaderLayout, 1.0f);
setExpandRatio(tableHeaderLayout, 1.0F);
final HorizontalLayout targetsCountmessageLabelLayout = addTargetFilterMessageLabel();
addComponent(targetsCountmessageLabelLayout);
@@ -135,17 +136,17 @@ public class FilterManagementView extends VerticalLayout implements View {
private void viewListView() {
removeAllComponents();
final VerticalLayout tableHeaderLayout = new VerticalLayout();
tableHeaderLayout.setSizeFull();
tableHeaderLayout.setSpacing(false);
tableHeaderLayout.setMargin(false);
tableHeaderLayout.setStyleName("table-layout");
tableHeaderLayout.addComponent(targetFilterHeader);
tableHeaderLayout.setComponentAlignment(targetFilterHeader, Alignment.TOP_CENTER);
tableHeaderLayout.addComponent(targetFilterTable);
tableHeaderLayout.setComponentAlignment(targetFilterTable, Alignment.TOP_CENTER);
tableHeaderLayout.setExpandRatio(targetFilterTable, 1.0f);
addComponent(tableHeaderLayout);
final VerticalLayout tableListViewLayout = new VerticalLayout();
tableListViewLayout.setSizeFull();
tableListViewLayout.setSpacing(false);
tableListViewLayout.setMargin(false);
tableListViewLayout.setStyleName("table-layout");
tableListViewLayout.addComponent(targetFilterHeader);
tableListViewLayout.setComponentAlignment(targetFilterHeader, Alignment.TOP_CENTER);
tableListViewLayout.addComponent(targetFilterTable);
tableListViewLayout.setComponentAlignment(targetFilterTable, Alignment.TOP_CENTER);
tableListViewLayout.setExpandRatio(targetFilterTable, 1.0F);
addComponent(tableListViewLayout);
}
private HorizontalLayout addTargetFilterMessageLabel() {

View File

@@ -15,5 +15,5 @@ package org.eclipse.hawkbit.ui.filtermanagement.event;
*
*/
public enum CustomFilterUIEvent {
FILTER_TARGET_BY_QUERY, FILTER_BY_CUST_FILTER_TEXT, FILTER_BY_CUST_FILTER_TEXT_REMOVE, CREATE_NEW_FILTER_CLICK, EXIT_CREATE_OR_UPDATE_FILTRER_VIEW, TARGET_FILTER_DETAIL_VIEW, TARGET_DETAILS_VIEW, CREATE_TARGET_FILTER_QUERY, UPDATED_TARGET_FILTER_QUERY, UPDATE_TARGET_FILTER_SEARCH_ICON
FILTER_TARGET_BY_QUERY, FILTER_BY_CUST_FILTER_TEXT, FILTER_BY_CUST_FILTER_TEXT_REMOVE, CREATE_NEW_FILTER_CLICK, EXIT_CREATE_OR_UPDATE_FILTRER_VIEW, TARGET_FILTER_DETAIL_VIEW, TARGET_DETAILS_VIEW, CREATE_TARGET_FILTER_QUERY, UPDATED_TARGET_FILTER_QUERY, UPDATE_TARGET_FILTER_SEARCH_ICON, SHOW_FILTER_MANAGEMENT
}

View File

@@ -225,7 +225,7 @@ public class LoginView extends VerticalLayout implements View {
final String linkStyle = "v-link";
if (!uiProperties.getLinks().getDocumentation().getRoot().isEmpty()) {
final Link docuLink = SPUIComponentProvider.getLink(SPUIComponetIdProvider.LINK_DOCUMENATION,
final Link docuLink = SPUIComponentProvider.getLink(SPUIComponetIdProvider.LINK_DOCUMENTATION,
i18n.get("link.documentation.name"), uiProperties.getLinks().getDocumentation().getRoot(),
FontAwesome.QUESTION_CIRCLE, "_blank", linkStyle, true);
links.addComponent(docuLink);

View File

@@ -148,7 +148,7 @@ public final class DashboardMenu extends CustomComponent {
final String linkStyle = "v-link";
if (!uiProperties.getLinks().getDocumentation().getRoot().isEmpty()) {
final Link docuLink = SPUIComponentProvider.getLink(SPUIComponetIdProvider.LINK_DOCUMENATION,
final Link docuLink = SPUIComponentProvider.getLink(SPUIComponetIdProvider.LINK_DOCUMENTATION,
i18n.get("link.documentation.name"), uiProperties.getLinks().getDocumentation().getRoot(),
FontAwesome.QUESTION_CIRCLE, "_blank", linkStyle, true);
docuLink.setDescription(i18n.get("link.documentation.name"));

View File

@@ -161,6 +161,7 @@ public class RolloutGroupsListHeader extends AbstractGridHeader {
final HorizontalLayout headerCaptionLayout = new HorizontalLayout();
headerCaptionLayout.addComponent(rolloutsListViewLink);
headerCaptionLayout.addComponent(new Label(">"));
headerCaption.addStyleName("breadcrumbPaddingLeft");
headerCaptionLayout.addComponent(headerCaption);
return headerCaptionLayout;

View File

@@ -599,7 +599,7 @@ public final class SPUIComponetIdProvider {
/**
* Documentation Link in Login view and menu.
*/
public static final String LINK_DOCUMENATION = "link.documentation";
public static final String LINK_DOCUMENTATION = "link.documentation";
/**
* Demo Link in Login view and menu.

View File

@@ -228,4 +228,8 @@
.v-tooltip{
max-width:43em;
}
.breadcrumbPaddingLeft{
padding-left: 3px !important;
}
}

View File

@@ -487,3 +487,6 @@ message.error.starting.rollout = Server error. Error starting rollout. Please co
#Menu
menu.title = Software Provisioning
#Target Filter Management
breadcrumb.target.filter.custom.filters = Custom Filters

View File

@@ -473,3 +473,6 @@ label.target.per.group = Targets per group :
message.dist.already.assigned = Distribution {0} is already assigned to target
message.error.creating.rollout = Server error. Error creating rollout. Please contact the administrator
message.error.starting.rollout = Server error. Error starting rollout. Please contact the administrator
#Target Filter Management
breadcrumb.target.filter.custom.filters = Custom Filters

View File

@@ -464,3 +464,6 @@ label.target.per.group = Targets per group :
message.dist.already.assigned = Distribution {0} is already assigned to target
message.error.creating.rollout = Server error. Error creating rollout. Please contact the administrator
message.error.starting.rollout = Server error. Error starting rollout. Please contact the administrator
#Target Filter Management
breadcrumb.target.filter.custom.filters = Custom Filters