From c83939805cc42c986e8c7a305d4bd0c0c20addd7 Mon Sep 17 00:00:00 2001 From: venu1278 Date: Thu, 28 Jan 2016 19:06:04 +0530 Subject: [PATCH 1/6] MECS-1454_Search_filter_improvements Signed-off-by: venu1278 --- .../CreateOrUpdateFilterHeader.java | 43 +++++- .../CreateOrUpdateFilterTable.java | 8 + .../FilterManagementView.java | 38 ++++- .../footer/TargetFilterCountMessageLabel.java | 141 ++++++++++++++++++ .../ui/utils/SPUIComponetIdProvider.java | 5 + .../ui/utils/SPUIStyleDefinitions.java | 5 + .../hawkbit/customstyles/footer-common.scss | 2 +- .../src/main/resources/messages.properties | 1 + .../src/main/resources/messages_de.properties | 1 + .../src/main/resources/messages_en.properties | 1 + 10 files changed, 239 insertions(+), 6 deletions(-) create mode 100644 hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/footer/TargetFilterCountMessageLabel.java diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/CreateOrUpdateFilterHeader.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/CreateOrUpdateFilterHeader.java index 967ceee1c..3aa994aa9 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/CreateOrUpdateFilterHeader.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/CreateOrUpdateFilterHeader.java @@ -16,6 +16,7 @@ import org.eclipse.hawkbit.repository.TargetFilterQueryManagement; import org.eclipse.hawkbit.repository.model.TargetFilterQuery; import org.eclipse.hawkbit.ui.components.SPUIButton; import org.eclipse.hawkbit.ui.components.SPUIComponentProvider; +import org.eclipse.hawkbit.ui.decorators.SPUIButtonStyleSmall; import org.eclipse.hawkbit.ui.decorators.SPUIButtonStyleSmallNoBorder; import org.eclipse.hawkbit.ui.documentation.DocumentationPageLink; import org.eclipse.hawkbit.ui.filtermanagement.event.CustomFilterUIEvent; @@ -37,10 +38,12 @@ import com.vaadin.event.FieldEvents.TextChangeEvent; import com.vaadin.event.FieldEvents.TextChangeListener; import com.vaadin.event.LayoutEvents.LayoutClickEvent; import com.vaadin.event.LayoutEvents.LayoutClickListener; +import com.vaadin.event.ShortcutAction.KeyCode; import com.vaadin.server.FontAwesome; import com.vaadin.shared.ui.label.ContentMode; import com.vaadin.spring.annotation.SpringComponent; import com.vaadin.spring.annotation.ViewScope; +import com.vaadin.ui.AbstractField; import com.vaadin.ui.AbstractTextField.TextChangeEventMode; import com.vaadin.ui.Alignment; import com.vaadin.ui.Button; @@ -110,6 +113,8 @@ public class CreateOrUpdateFilterHeader extends VerticalLayout implements Button private LayoutClickListener nameLayoutClickListner; + private Button targetFilterStatusButton; + /** * Initialize the Campaign Status History Header. */ @@ -195,11 +200,25 @@ public class CreateOrUpdateFilterHeader extends VerticalLayout implements Button validationIcon = createStatusIcon(); saveButton = createSaveButton(); + targetFilterStatusButton = createTargetFilterStatusButton(); + helpLink = DocumentationPageLink.TARGET_FILTER_VIEW.getLink(); closeIcon = createSearchResetIcon(); } + private Button createTargetFilterStatusButton() { + targetFilterStatusButton = SPUIComponentProvider.getButton(SPUIComponetIdProvider.TARGET_FILTER_STATUS_BUTTON, + "", "", "", false, null, SPUIButtonStyleSmall.class); + targetFilterStatusButton.addStyleName(SPUIStyleDefinitions.BULK_UPLOAD_PROGRESS_INDICATOR_STYLE); + targetFilterStatusButton.addStyleName(ValoTheme.BUTTON_BORDERLESS); + targetFilterStatusButton.setWidth("100px"); + targetFilterStatusButton.setHtmlContentAllowed(true); + targetFilterStatusButton.setVisible(false); + targetFilterStatusButton.setImmediate(true); + return targetFilterStatusButton; + } + /** * @return */ @@ -280,7 +299,9 @@ public class CreateOrUpdateFilterHeader extends VerticalLayout implements Button final HorizontalLayout iconLayout = new HorizontalLayout(); iconLayout.setSizeUndefined(); iconLayout.setSpacing(false); - iconLayout.addComponents(helpLink, saveButton); + iconLayout.setStyleName(SPUIStyleDefinitions.TARGET_FILTER_SEARCH_PROGRESS_INDICATOR_STYLE); + iconLayout.addComponents(helpLink, saveButton, targetFilterStatusButton); + iconLayout.setComponentAlignment(targetFilterStatusButton, Alignment.MIDDLE_CENTER); final HorizontalLayout queryLayout = new HorizontalLayout(); queryLayout.setSizeUndefined(); @@ -310,6 +331,8 @@ public class CreateOrUpdateFilterHeader extends VerticalLayout implements Button queryTextField.addTextChangeListener(new TextChangeListener() { @Override public void textChange(final TextChangeEvent event) { + enableTargetFilterStatusButton(); + updateTargetFilterStatusToProgressIndicator(); onQueryChange(event.getText()); eventBus.publish(this, CustomFilterUIEvent.FILTER_TARGET_BY_QUERY); } @@ -393,6 +416,8 @@ public class CreateOrUpdateFilterHeader extends VerticalLayout implements Button textField.setWidth(900.0F, Unit.PIXELS); textField.setTextChangeEventMode(TextChangeEventMode.LAZY); textField.setTextChangeTimeout(1000); + + textField.addShortcutListener(new AbstractField.FocusShortcut(textField, KeyCode.ENTER)); return textField; } @@ -493,4 +518,20 @@ public class CreateOrUpdateFilterHeader extends VerticalLayout implements Button return true; } + protected void enableTargetFilterStatusButton() { + targetFilterStatusButton.setVisible(true); + + } + + protected void updateTargetFilterStatusToComplete() { + targetFilterStatusButton.removeStyleName(SPUIStyleDefinitions.BULK_UPLOAD_PROGRESS_INDICATOR_STYLE); + targetFilterStatusButton.setVisible(false); + + } + + protected void updateTargetFilterStatusToProgressIndicator() { + targetFilterStatusButton.addStyleName(SPUIStyleDefinitions.BULK_UPLOAD_PROGRESS_INDICATOR_STYLE); + targetFilterStatusButton.setIcon(null); + } + } diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/CreateOrUpdateFilterTable.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/CreateOrUpdateFilterTable.java index 8538014d5..932fa848c 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/CreateOrUpdateFilterTable.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/CreateOrUpdateFilterTable.java @@ -63,6 +63,9 @@ public class CreateOrUpdateFilterTable extends Table { @Autowired private FilterManagementUIState filterManagementUIState; + @Autowired + private CreateOrUpdateFilterHeader createOrUpdateFilterHeader; + private LazyQueryContainer container; private static final int PROPERTY_DEPT = 3; @@ -93,6 +96,7 @@ public class CreateOrUpdateFilterTable extends Table { || custFUIEvent == CustomFilterUIEvent.TARGET_DETAILS_VIEW || custFUIEvent == CustomFilterUIEvent.CREATE_NEW_FILTER_CLICK) { populateTableData(); + // createOrUpdateFilterHeader.updateTargetFilterStatusToComplete(); } } @@ -234,4 +238,8 @@ public class CreateOrUpdateFilterTable extends Table { addGeneratedColumn(SPUILabelDefinitions.STATUS_ICON, (source, itemId, columnId) -> getStatusIcon(itemId)); } + protected void onValueChange() { + createOrUpdateFilterHeader.updateTargetFilterStatusToComplete(); + } + } diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/FilterManagementView.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/FilterManagementView.java index 2c38cc030..287bfaffd 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/FilterManagementView.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/FilterManagementView.java @@ -12,6 +12,7 @@ import javax.annotation.PreDestroy; import org.eclipse.hawkbit.ui.HawkbitUI; import org.eclipse.hawkbit.ui.filtermanagement.event.CustomFilterUIEvent; +import org.eclipse.hawkbit.ui.filtermanagement.footer.TargetFilterCountMessageLabel; import org.eclipse.hawkbit.ui.filtermanagement.state.FilterManagementUIState; import org.springframework.beans.factory.annotation.Autowired; import org.vaadin.spring.events.EventBus; @@ -23,6 +24,7 @@ import com.vaadin.navigator.ViewChangeListener.ViewChangeEvent; import com.vaadin.spring.annotation.SpringView; import com.vaadin.spring.annotation.ViewScope; import com.vaadin.ui.Alignment; +import com.vaadin.ui.HorizontalLayout; import com.vaadin.ui.UI; import com.vaadin.ui.VerticalLayout; @@ -55,9 +57,14 @@ public class FilterManagementView extends VerticalLayout implements View { @Autowired private FilterManagementUIState filterManagementUIState; + @Autowired + private TargetFilterCountMessageLabel targetFilterCountMessageLabel; + @Autowired private transient EventBus.SessionEventBus eventBus; + private HorizontalLayout messageLabelLayout; + @Override public void enter(final ViewChangeEvent event) { setSizeFull(); @@ -107,10 +114,25 @@ public class FilterManagementView extends VerticalLayout implements View { private void buildFilterDetailOrCreateView() { removeAllComponents(); - addComponents(createNewFilterHeader, createNewFilterTable); - setComponentAlignment(createNewFilterHeader, Alignment.TOP_LEFT); - setComponentAlignment(createNewFilterTable, Alignment.TOP_LEFT); - setExpandRatio(createNewFilterTable, 1.0f); + final VerticalLayout tableHeaderLayout = new VerticalLayout(); + tableHeaderLayout.setSizeFull(); + tableHeaderLayout.setSpacing(false); + tableHeaderLayout.setMargin(false); + tableHeaderLayout.setStyleName("table-layout"); + tableHeaderLayout.addComponent(createNewFilterHeader); + tableHeaderLayout.setComponentAlignment(createNewFilterHeader, Alignment.TOP_CENTER); + tableHeaderLayout.addComponent(createNewFilterTable); + tableHeaderLayout.setComponentAlignment(createNewFilterTable, Alignment.TOP_CENTER); + tableHeaderLayout.setExpandRatio(createNewFilterTable, 1.0f); + + addComponent(tableHeaderLayout); + setComponentAlignment(tableHeaderLayout, Alignment.TOP_CENTER); + setExpandRatio(tableHeaderLayout, 1.0f); + + final HorizontalLayout targetsCountmessageLabelLayout = addTargetFilterMessageLabel(); + addComponent(targetsCountmessageLabelLayout); + setComponentAlignment(targetsCountmessageLabelLayout, Alignment.BOTTOM_CENTER); + } private void viewListView() { @@ -121,4 +143,12 @@ public class FilterManagementView extends VerticalLayout implements View { setExpandRatio(targetFilterTable, 1.0f); } + private HorizontalLayout addTargetFilterMessageLabel() { + messageLabelLayout = new HorizontalLayout(); + messageLabelLayout.addComponent(targetFilterCountMessageLabel); + messageLabelLayout.addStyleName("footer-layout"); + messageLabelLayout.setWidth("100%"); + return messageLabelLayout; + } + } diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/footer/TargetFilterCountMessageLabel.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/footer/TargetFilterCountMessageLabel.java new file mode 100644 index 000000000..6dcaf5266 --- /dev/null +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/footer/TargetFilterCountMessageLabel.java @@ -0,0 +1,141 @@ +/** + * Copyright (c) 2011-2016 Bosch Software Innovations GmbH, Germany. All rights reserved. + */ +package org.eclipse.hawkbit.ui.filtermanagement.footer; + +import javax.annotation.PostConstruct; +import javax.annotation.PreDestroy; + +import org.eclipse.hawkbit.repository.TargetManagement; +import org.eclipse.hawkbit.ui.filtermanagement.CreateOrUpdateFilterTable; +import org.eclipse.hawkbit.ui.filtermanagement.TargetFilterTable; +import org.eclipse.hawkbit.ui.filtermanagement.event.CustomFilterUIEvent; +import org.eclipse.hawkbit.ui.filtermanagement.state.FilterManagementUIState; +import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil; +import org.eclipse.hawkbit.ui.utils.I18N; +import org.eclipse.hawkbit.ui.utils.SPUIComponetIdProvider; +import org.eclipse.hawkbit.ui.utils.SPUIDefinitions; +import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions; +import org.springframework.beans.factory.annotation.Autowired; +import org.vaadin.spring.events.EventBus; +import org.vaadin.spring.events.EventScope; +import org.vaadin.spring.events.annotation.EventBusListenerMethod; + +import com.vaadin.server.FontAwesome; +import com.vaadin.shared.ui.label.ContentMode; +import com.vaadin.spring.annotation.SpringComponent; +import com.vaadin.spring.annotation.ViewScope; +import com.vaadin.ui.Label; + +/** + * @author Venugopal Boodidadinne(RBEI/BSJ) + * + * Count message label which display current filter details and details + * on pinning. + */ +@SpringComponent +@ViewScope +public class TargetFilterCountMessageLabel extends Label { + + private static final long serialVersionUID = -7188528790042766877L; + + @Autowired + private CreateOrUpdateFilterTable createNewFilterTable; + + @Autowired + private TargetFilterTable targetFilterTable; + + @Autowired + private FilterManagementUIState filterManagementUIState; + + @Autowired + private transient TargetManagement targetManagement; + + @Autowired + private I18N i18n; + + @Autowired + private transient EventBus.SessionEventBus eventBus; + + /** + * PostConstruct method called by spring after bean has been initialized. + */ + @PostConstruct + public void postConstruct() { + applyStyle(); + displayTargetFilterMessage(); + eventBus.subscribe(this); + } + + @PreDestroy + void destroy() { + eventBus.unsubscribe(this); + } + + @EventBusListenerMethod(scope = EventScope.SESSION) + void onEvent(final CustomFilterUIEvent custFUIEvent) { + if (custFUIEvent == CustomFilterUIEvent.FILTER_TARGET_BY_QUERY + || custFUIEvent == CustomFilterUIEvent.TARGET_DETAILS_VIEW + || custFUIEvent == CustomFilterUIEvent.CREATE_NEW_FILTER_CLICK + || custFUIEvent == CustomFilterUIEvent.EXIT_CREATE_OR_UPDATE_FILTRER_VIEW) { + displayTargetFilterMessage(); + } + } + + private void applyStyle() { + addStyleName(SPUILabelDefinitions.SP_LABEL_MESSAGE_STYLE); + setContentMode(ContentMode.HTML); + setId(SPUIComponetIdProvider.COUNT_LABEL); + } + + private void displayTargetFilterMessage() { + long totalTargets = 0; + long shownTargets = 0; + if (filterManagementUIState.isCreateFilterViewDisplayed() || filterManagementUIState.isEditViewDisplayed()) { + if (null != filterManagementUIState.getFilterQueryValue()) { + totalTargets = targetManagement.countTargetByTargetFilterQuery(filterManagementUIState + .getFilterQueryValue()); + shownTargets = createNewFilterTable.size(); + } + final StringBuilder targetMessage = new StringBuilder(i18n.get("label.target.filtered.total")); + if (filterManagementUIState.getTargetsTruncated() != null) { + // set the icon + setIcon(FontAwesome.INFO_CIRCLE); + setDescription(i18n.get("label.target.filter.truncated", filterManagementUIState.getTargetsTruncated(), + SPUIDefinitions.MAX_TARGET_TABLE_ENTRIES)); + + } else { + setIcon(null); + setDescription(null); + } + targetMessage.append(totalTargets); + targetMessage.append(HawkbitCommonUtil.SP_STRING_SPACE); + if (totalTargets > SPUIDefinitions.MAX_TARGET_TABLE_ENTRIES) { + targetMessage.append(i18n.get("label.filter.shown")); + targetMessage.append(SPUIDefinitions.MAX_TARGET_TABLE_ENTRIES); + } else { + targetMessage.append(HawkbitCommonUtil.SP_STRING_SPACE); + targetMessage.append(i18n.get("label.filter.shown")); + targetMessage.append(shownTargets); + } + + setCaption(targetMessage.toString()); + } else { + final StringBuilder tarFilterMessage = new StringBuilder(i18n.get("label.custom.filter.target.count")); + createMsgLable(targetFilterTable.size(), tarFilterMessage); + } + + } + + private void createMsgLable(final long totalCount, final StringBuilder message) { + message.append(totalCount); + message.append(HawkbitCommonUtil.SP_STRING_SPACE); + if (totalCount > SPUIDefinitions.MAX_TARGET_TABLE_ENTRIES) { + message.append(i18n.get("label.filter.shown")); + message.append(SPUIDefinitions.MAX_TARGET_TABLE_ENTRIES); + } + message.append(HawkbitCommonUtil.SP_STRING_SPACE); + setCaption(message.toString()); + } + +} diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/utils/SPUIComponetIdProvider.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/utils/SPUIComponetIdProvider.java index 170c7ab32..8aa1cbd0f 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/utils/SPUIComponetIdProvider.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/utils/SPUIComponetIdProvider.java @@ -706,6 +706,11 @@ public final class SPUIComponetIdProvider { */ public static final String BULK_UPLOAD_STATUS_BUTTON = "bulk.upload.notification.id"; + /** + * Target Filter Status button id. + */ + public static final String TARGET_FILTER_STATUS_BUTTON = "target.filter.status.button.id"; + /** * Target bulk upload minimize button id. */ diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/utils/SPUIStyleDefinitions.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/utils/SPUIStyleDefinitions.java index ab6b93c39..a7cede113 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/utils/SPUIStyleDefinitions.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/utils/SPUIStyleDefinitions.java @@ -231,6 +231,11 @@ public final class SPUIStyleDefinitions { */ public static final String BULK_UPLOAD_PROGRESS_INDICATOR_STYLE = "app-loading"; + /** + * Target filter search progress indicator style. + */ + public static final String TARGET_FILTER_SEARCH_PROGRESS_INDICATOR_STYLE = "target-filter-search-layout"; + /** * Constructor. */ diff --git a/hawkbit-ui/src/main/resources/VAADIN/themes/hawkbit/customstyles/footer-common.scss b/hawkbit-ui/src/main/resources/VAADIN/themes/hawkbit/customstyles/footer-common.scss index 1b58fb0c8..3738599d1 100644 --- a/hawkbit-ui/src/main/resources/VAADIN/themes/hawkbit/customstyles/footer-common.scss +++ b/hawkbit-ui/src/main/resources/VAADIN/themes/hawkbit/customstyles/footer-common.scss @@ -87,7 +87,7 @@ } - .footer-layout{ + .footer-layout , .target-filter-search-layout{ .app-loading { background-position: bottom; background-repeat: no-repeat; diff --git a/hawkbit-ui/src/main/resources/messages.properties b/hawkbit-ui/src/main/resources/messages.properties index 57b807b01..1579f888f 100644 --- a/hawkbit-ui/src/main/resources/messages.properties +++ b/hawkbit-ui/src/main/resources/messages.properties @@ -125,6 +125,7 @@ label.choose.tag = Choose Tag to update label.choose.tag.color = Choose Tag Color label.filter = Filter: label.target.filter.count = Total Targets: +label.target.filtered.total = Total filtered targets : label.filter.selected = Selected: label.filter.shown = Shown: label.filter.targets = Filtered targets : diff --git a/hawkbit-ui/src/main/resources/messages_de.properties b/hawkbit-ui/src/main/resources/messages_de.properties index ffb753c58..b5a254b2a 100644 --- a/hawkbit-ui/src/main/resources/messages_de.properties +++ b/hawkbit-ui/src/main/resources/messages_de.properties @@ -124,6 +124,7 @@ label.choose.tag = Choose Tag to update label.choose.tag.color = Choose Tag Color label.filter = Filter: label.target.filter.count = Total Targets: +label.target.filtered.total = Total filtered targets : label.filter.selected = Selected: label.filter.shown = Shown: label.filter.status = Status, diff --git a/hawkbit-ui/src/main/resources/messages_en.properties b/hawkbit-ui/src/main/resources/messages_en.properties index 32e7cf0e2..e1f80e6cb 100644 --- a/hawkbit-ui/src/main/resources/messages_en.properties +++ b/hawkbit-ui/src/main/resources/messages_en.properties @@ -125,6 +125,7 @@ label.choose.tag = Choose Tag to update label.choose.tag.color = Choose Tag Color label.filter = Filter: label.target.filter.count = Total Targets: +label.target.filtered.total = Total filtered targets : label.filter.selected = Selected: label.filter.shown = Shown: label.filter.targets = Filtered targets : From 9115b01461d9cec13cee2e04a782cf9971e79b7d Mon Sep 17 00:00:00 2001 From: venu1278 Date: Fri, 29 Jan 2016 14:07:45 +0530 Subject: [PATCH 2/6] MECS-1454_Search_filter_improvements Signed-off-by: venu1278 --- .../CreateOrUpdateFilterTable.java | 39 ++++++++++--------- .../footer/TargetFilterCountMessageLabel.java | 7 +++- 2 files changed, 27 insertions(+), 19 deletions(-) diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/CreateOrUpdateFilterTable.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/CreateOrUpdateFilterTable.java index 9af13b8f6..1282c5013 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/CreateOrUpdateFilterTable.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/CreateOrUpdateFilterTable.java @@ -96,7 +96,6 @@ public class CreateOrUpdateFilterTable extends Table { || custFUIEvent == CustomFilterUIEvent.TARGET_DETAILS_VIEW || custFUIEvent == CustomFilterUIEvent.CREATE_NEW_FILTER_CLICK) { populateTableData(); - // createOrUpdateFilterHeader.updateTargetFilterStatusToComplete(); } } @@ -104,8 +103,8 @@ public class CreateOrUpdateFilterTable extends Table { if (filterManagementUIState.isCreateFilterViewDisplayed()) { filterManagementUIState.setFilterQueryValue(null); } else { - filterManagementUIState.getTfQuery() - .ifPresent(value -> filterManagementUIState.setFilterQueryValue(value.getQuery())); + filterManagementUIState.getTfQuery().ifPresent( + value -> filterManagementUIState.setFilterQueryValue(value.getQuery())); } } @@ -121,9 +120,8 @@ public class CreateOrUpdateFilterTable extends Table { targetQF.setQueryConfiguration(queryConfig); // create lazy query container with lazy defination and query - final LazyQueryContainer targetTableContainer = new LazyQueryContainer( - new LazyQueryDefinition(true, SPUIDefinitions.PAGE_SIZE, SPUILabelDefinitions.VAR_CONT_ID_NAME), - targetQF); + final LazyQueryContainer targetTableContainer = new LazyQueryContainer(new LazyQueryDefinition(true, + SPUIDefinitions.PAGE_SIZE, SPUILabelDefinitions.VAR_CONT_ID_NAME), targetQF); targetTableContainer.getQueryView().getQueryDefinition().setMaxNestedPropertyDepth(PROPERTY_DEPT); return targetTableContainer; @@ -151,6 +149,15 @@ public class CreateOrUpdateFilterTable extends Table { setColumnProperties(); setPageLength(30); setCollapsibleColumns(); + this.addValueChangeListener(new ValueChangeListener() { + private static final long serialVersionUID = 1236358037766785663L; + + @Override + public void valueChange(final com.vaadin.data.Property.ValueChangeEvent event) { + createOrUpdateFilterHeader.updateTargetFilterStatusToComplete(); + + } + }); } /** @@ -183,12 +190,12 @@ public class CreateOrUpdateFilterTable extends Table { columnList.add(new TableColumn(SPUILabelDefinitions.VAR_CREATED_BY, i18n.get("header.createdBy"), 0.1F)); columnList.add(new TableColumn(SPUILabelDefinitions.VAR_CREATED_DATE, i18n.get("header.createdDate"), 0.1F)); columnList.add(new TableColumn(SPUILabelDefinitions.VAR_LAST_MODIFIED_BY, i18n.get("header.modifiedBy"), 0.1F)); - columnList.add( - new TableColumn(SPUILabelDefinitions.VAR_LAST_MODIFIED_DATE, i18n.get("header.modifiedDate"), 0.1F)); - columnList.add(new TableColumn(SPUILabelDefinitions.ASSIGNED_DISTRIBUTION_NAME_VER, - i18n.get("header.assigned.ds"), 0.125F)); - columnList.add(new TableColumn(SPUILabelDefinitions.INSTALLED_DISTRIBUTION_NAME_VER, - i18n.get("header.installed.ds"), 0.125F)); + columnList.add(new TableColumn(SPUILabelDefinitions.VAR_LAST_MODIFIED_DATE, i18n.get("header.modifiedDate"), + 0.1F)); + columnList.add(new TableColumn(SPUILabelDefinitions.ASSIGNED_DISTRIBUTION_NAME_VER, i18n + .get("header.assigned.ds"), 0.125F)); + columnList.add(new TableColumn(SPUILabelDefinitions.INSTALLED_DISTRIBUTION_NAME_VER, i18n + .get("header.installed.ds"), 0.125F)); columnList.add(new TableColumn(SPUILabelDefinitions.VAR_DESC, i18n.get("header.description"), 0.1F)); columnList.add(new TableColumn(SPUILabelDefinitions.STATUS_ICON, i18n.get("header.target.status"), 0.1F)); return columnList; @@ -196,8 +203,8 @@ public class CreateOrUpdateFilterTable extends Table { private Component getStatusIcon(final Object itemId) { final Item row1 = getItem(itemId); - final TargetUpdateStatus targetStatus = (TargetUpdateStatus) row1 - .getItemProperty(SPUILabelDefinitions.VAR_TARGET_STATUS).getValue(); + final TargetUpdateStatus targetStatus = (TargetUpdateStatus) row1.getItemProperty( + SPUILabelDefinitions.VAR_TARGET_STATUS).getValue(); final Label label = SPUIComponentProvider.getLabel("", SPUILabelDefinitions.SP_LABEL_SIMPLE); label.setContentMode(ContentMode.HTML); if (targetStatus == TargetUpdateStatus.PENDING) { @@ -239,8 +246,4 @@ public class CreateOrUpdateFilterTable extends Table { addGeneratedColumn(SPUILabelDefinitions.STATUS_ICON, (source, itemId, columnId) -> getStatusIcon(itemId)); } - protected void onValueChange() { - createOrUpdateFilterHeader.updateTargetFilterStatusToComplete(); - } - } diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/footer/TargetFilterCountMessageLabel.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/footer/TargetFilterCountMessageLabel.java index 6dcaf5266..786e9bb3e 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/footer/TargetFilterCountMessageLabel.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/footer/TargetFilterCountMessageLabel.java @@ -1,5 +1,10 @@ /** - * Copyright (c) 2011-2016 Bosch Software Innovations GmbH, Germany. All rights reserved. + * 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.filtermanagement.footer; From 973a5dd72a0ae69ace5255529293c100b868391d Mon Sep 17 00:00:00 2001 From: venu1278 Date: Wed, 3 Feb 2016 12:46:12 +0530 Subject: [PATCH 3/6] MECS-1454: Minor_improvements_in_search_filter_New Signed-off-by: venu1278 --- .../CreateOrUpdateFilterHeader.java | 99 ++++++++++--------- .../CreateOrUpdateFilterTable.java | 34 ++++--- .../FilterManagementView.java | 21 ++-- .../filtermanagement/TargetFilterTable.java | 26 +++-- .../event/CustomFilterUIEvent.java | 2 +- .../footer/TargetFilterCountMessageLabel.java | 30 +----- .../ui/utils/SPUIStyleDefinitions.java | 2 +- .../hawkbit/customstyles/footer-common.scss | 2 +- .../customstyles/target-filter-query.scss | 8 ++ 9 files changed, 113 insertions(+), 111 deletions(-) diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/CreateOrUpdateFilterHeader.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/CreateOrUpdateFilterHeader.java index 5d3fd05ca..328b47b0b 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/CreateOrUpdateFilterHeader.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/CreateOrUpdateFilterHeader.java @@ -8,6 +8,8 @@ */ package org.eclipse.hawkbit.ui.filtermanagement; +import java.util.concurrent.Executor; + import javax.annotation.PostConstruct; import javax.annotation.PreDestroy; @@ -16,7 +18,6 @@ import org.eclipse.hawkbit.repository.TargetFilterQueryManagement; import org.eclipse.hawkbit.repository.model.TargetFilterQuery; import org.eclipse.hawkbit.ui.components.SPUIButton; import org.eclipse.hawkbit.ui.components.SPUIComponentProvider; -import org.eclipse.hawkbit.ui.decorators.SPUIButtonStyleSmall; import org.eclipse.hawkbit.ui.decorators.SPUIButtonStyleSmallNoBorder; import org.eclipse.hawkbit.ui.documentation.DocumentationPageLink; import org.eclipse.hawkbit.ui.filtermanagement.event.CustomFilterUIEvent; @@ -25,6 +26,7 @@ import org.eclipse.hawkbit.ui.utils.I18N; import org.eclipse.hawkbit.ui.utils.SPUIComponetIdProvider; import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions; import org.eclipse.hawkbit.ui.utils.SPUIStyleDefinitions; +import org.eclipse.hawkbit.ui.utils.SpringContextHelper; import org.eclipse.hawkbit.ui.utils.UINotification; import org.springframework.beans.factory.annotation.Autowired; import org.vaadin.spring.events.EventBus; @@ -83,6 +85,8 @@ public class CreateOrUpdateFilterHeader extends VerticalLayout implements Button @Autowired private UINotification notification; + private transient Executor executor; + private Label headerCaption; private TextField queryTextField; @@ -113,7 +117,9 @@ public class CreateOrUpdateFilterHeader extends VerticalLayout implements Button private LayoutClickListener nameLayoutClickListner; - private Button targetFilterStatusButton; + private Label targetFilterStatusLabel; + + private String newFilterQuery; /** * Initialize the Campaign Status History Header. @@ -126,6 +132,7 @@ public class CreateOrUpdateFilterHeader extends VerticalLayout implements Button restoreOnLoad(); setUpCaptionLayout(filterManagementUIState.isCreateFilterViewDisplayed()); eventBus.subscribe(this); + executor = (Executor) SpringContextHelper.getBean("uiExecutor"); } /** @@ -150,6 +157,8 @@ public class CreateOrUpdateFilterHeader extends VerticalLayout implements Button } else if (custFUIEvent == CustomFilterUIEvent.CREATE_NEW_FILTER_CLICK) { setUpCaptionLayout(true); resetComponents(); + } else if (custFUIEvent == CustomFilterUIEvent.TARGET_FILTER_STATUS_HIDE) { + this.getUI().access(() -> targetFilterStatusLabel.setVisible(false)); } } @@ -194,31 +203,22 @@ public class CreateOrUpdateFilterHeader extends VerticalLayout implements Button nameTextField = createNameTextField(); nameTextField.setWidth(380, Unit.PIXELS); + targetFilterStatusLabel = new Label(); + targetFilterStatusLabel.addStyleName(SPUIStyleDefinitions.TARGET_FILTER_SEARCH_PROGRESS_INDICATOR_STYLE); + targetFilterStatusLabel.setVisible(false); + targetFilterStatusLabel.setImmediate(true); + queryTextField = createSearchField(); addSearchLisenter(); validationIcon = createStatusIcon(); saveButton = createSaveButton(); - targetFilterStatusButton = createTargetFilterStatusButton(); - helpLink = DocumentationPageLink.TARGET_FILTER_VIEW.getLink(); closeIcon = createSearchResetIcon(); } - private Button createTargetFilterStatusButton() { - targetFilterStatusButton = SPUIComponentProvider.getButton(SPUIComponetIdProvider.TARGET_FILTER_STATUS_BUTTON, - "", "", "", false, null, SPUIButtonStyleSmall.class); - targetFilterStatusButton.addStyleName(SPUIStyleDefinitions.BULK_UPLOAD_PROGRESS_INDICATOR_STYLE); - targetFilterStatusButton.addStyleName(ValoTheme.BUTTON_BORDERLESS); - targetFilterStatusButton.setWidth("100px"); - targetFilterStatusButton.setHtmlContentAllowed(true); - targetFilterStatusButton.setVisible(false); - targetFilterStatusButton.setImmediate(true); - return targetFilterStatusButton; - } - /** * @return */ @@ -299,9 +299,7 @@ public class CreateOrUpdateFilterHeader extends VerticalLayout implements Button final HorizontalLayout iconLayout = new HorizontalLayout(); iconLayout.setSizeUndefined(); iconLayout.setSpacing(false); - iconLayout.setStyleName(SPUIStyleDefinitions.TARGET_FILTER_SEARCH_PROGRESS_INDICATOR_STYLE); - iconLayout.addComponents(helpLink, saveButton, targetFilterStatusButton); - iconLayout.setComponentAlignment(targetFilterStatusButton, Alignment.MIDDLE_CENTER); + iconLayout.addComponents(helpLink, saveButton); final HorizontalLayout queryLayout = new HorizontalLayout(); queryLayout.setSizeUndefined(); @@ -329,22 +327,50 @@ public class CreateOrUpdateFilterHeader extends VerticalLayout implements Button private void addSearchLisenter() { queryTextField.addTextChangeListener(new TextChangeListener() { + private static final long serialVersionUID = -6668604418942689391L; + @Override public void textChange(final TextChangeEvent event) { - enableTargetFilterStatusButton(); - updateTargetFilterStatusToProgressIndicator(); - onQueryChange(event.getText()); - eventBus.publish(this, CustomFilterUIEvent.FILTER_TARGET_BY_QUERY); + newFilterQuery = event.getText(); + executor.execute(new StatusCircledAsync(event)); } }); } + class StatusCircledAsync implements Runnable { + final TextChangeEvent event; + + /** + * + * @param event + */ + public StatusCircledAsync(final TextChangeEvent event) { + this.event = event; + } + + @Override + public void run() { + processQueryChange(); + eventBus.publish(this, CustomFilterUIEvent.FILTER_TARGET_BY_QUERY); + } + } + + private void processQueryChange() { + this.getUI().access(() -> { + targetFilterStatusLabel.setVisible(true); + onQueryChange(newFilterQuery); + + }); + } + private void onQueryChange(final String text) { boolean validationFailed = false; if (!Strings.isNullOrEmpty(text)) { final String input = text.toLowerCase(); - searchLayout.addComponentAsFirst(validationIcon); + searchLayout.addComponentAsFirst(targetFilterStatusLabel); + searchLayout.setComponentAlignment(targetFilterStatusLabel, Alignment.MIDDLE_CENTER); + searchLayout.addComponent(validationIcon, 2); final ValidationResult validationResult = FilterQueryValidation.getExpectedTokens(input); if (!validationResult.getIsValidationFailed()) { showValidationSuccesIcon(); @@ -366,8 +392,9 @@ public class CreateOrUpdateFilterHeader extends VerticalLayout implements Button } private void enableDisableSaveButton(final boolean validationFailed, final String query) { - if (validationFailed || (isNameAndQueryEmpty(nameTextField.getValue(), query) - || (query.equals(oldFilterQuery) && nameTextField.getValue().equals(oldFilterName)))) { + if (validationFailed + || (isNameAndQueryEmpty(nameTextField.getValue(), query) || (query.equals(oldFilterQuery) && nameTextField + .getValue().equals(oldFilterName)))) { saveButton.setEnabled(false); } else { if (hasSavePermission()) { @@ -468,8 +495,8 @@ public class CreateOrUpdateFilterHeader extends VerticalLayout implements Button targetFilterQuery.setName(nameTextField.getValue()); targetFilterQuery.setQuery(queryTextField.getValue()); targetFilterQueryManagement.createTargetFilterQuery(targetFilterQuery); - notification.displaySuccess( - i18n.get("message.create.filter.success", new Object[] { targetFilterQuery.getName() })); + notification.displaySuccess(i18n.get("message.create.filter.success", + new Object[] { targetFilterQuery.getName() })); eventBus.publish(this, CustomFilterUIEvent.CREATE_TARGET_FILTER_QUERY); } @@ -517,20 +544,4 @@ public class CreateOrUpdateFilterHeader extends VerticalLayout implements Button return true; } - protected void enableTargetFilterStatusButton() { - targetFilterStatusButton.setVisible(true); - - } - - protected void updateTargetFilterStatusToComplete() { - targetFilterStatusButton.removeStyleName(SPUIStyleDefinitions.BULK_UPLOAD_PROGRESS_INDICATOR_STYLE); - targetFilterStatusButton.setVisible(false); - - } - - protected void updateTargetFilterStatusToProgressIndicator() { - targetFilterStatusButton.addStyleName(SPUIStyleDefinitions.BULK_UPLOAD_PROGRESS_INDICATOR_STYLE); - targetFilterStatusButton.setIcon(null); - } - } diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/CreateOrUpdateFilterTable.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/CreateOrUpdateFilterTable.java index 1282c5013..7b821f4b5 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/CreateOrUpdateFilterTable.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/CreateOrUpdateFilterTable.java @@ -43,6 +43,7 @@ import com.vaadin.spring.annotation.ViewScope; import com.vaadin.ui.Component; import com.vaadin.ui.Label; import com.vaadin.ui.Table; +import com.vaadin.ui.UI; /** * @@ -63,9 +64,6 @@ public class CreateOrUpdateFilterTable extends Table { @Autowired private FilterManagementUIState filterManagementUIState; - @Autowired - private CreateOrUpdateFilterHeader createOrUpdateFilterHeader; - private LazyQueryContainer container; private static final int PROPERTY_DEPT = 3; @@ -82,7 +80,20 @@ public class CreateOrUpdateFilterTable extends Table { populateTableData(); setStyleName("sp-table"); setId(SPUIComponetIdProvider.CUSTOM_FILTER_TARGET_TABLE_ID); + setSelectable(false); eventBus.subscribe(this); + addItemSetChangeListener(new ItemSetChangeListener() { + private static final long serialVersionUID = 9006291573733911656L; + + @Override + public void containerItemSetChange(final com.vaadin.data.Container.ItemSetChangeEvent event) { + if (size() > 0) { + eventBus.publish(this, CustomFilterUIEvent.TARGET_FILTER_STATUS_HIDE); + } + + } + + }); } @PreDestroy @@ -92,10 +103,12 @@ public class CreateOrUpdateFilterTable extends Table { @EventBusListenerMethod(scope = EventScope.SESSION) void onEvent(final CustomFilterUIEvent custFUIEvent) { - if (custFUIEvent == CustomFilterUIEvent.FILTER_TARGET_BY_QUERY - || custFUIEvent == CustomFilterUIEvent.TARGET_DETAILS_VIEW + if (custFUIEvent == CustomFilterUIEvent.TARGET_DETAILS_VIEW || custFUIEvent == CustomFilterUIEvent.CREATE_NEW_FILTER_CLICK) { - populateTableData(); + UI.getCurrent().access(() -> populateTableData()); + } else if (custFUIEvent == CustomFilterUIEvent.FILTER_TARGET_BY_QUERY) { + this.getUI().access(() -> populateTableData()); + eventBus.publish(this, CustomFilterUIEvent.TARGET_FILTER_STATUS_HIDE); } } @@ -149,15 +162,6 @@ public class CreateOrUpdateFilterTable extends Table { setColumnProperties(); setPageLength(30); setCollapsibleColumns(); - this.addValueChangeListener(new ValueChangeListener() { - private static final long serialVersionUID = 1236358037766785663L; - - @Override - public void valueChange(final com.vaadin.data.Property.ValueChangeEvent event) { - createOrUpdateFilterHeader.updateTargetFilterStatusToComplete(); - - } - }); } /** diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/FilterManagementView.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/FilterManagementView.java index 287bfaffd..072256203 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/FilterManagementView.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/FilterManagementView.java @@ -82,7 +82,6 @@ public class FilterManagementView extends VerticalLayout implements View { setSizeFull(); setSpacing(false); setMargin(false); - addStyleName("table-layout"); if (filterManagementUIState.isCreateFilterViewDisplayed()) { viewCreateTargetFilterLayout(); } else if (filterManagementUIState.isEditViewDisplayed()) { @@ -96,8 +95,9 @@ public class FilterManagementView extends VerticalLayout implements View { void onEvent(final CustomFilterUIEvent custFilterUIEvent) { if (custFilterUIEvent == CustomFilterUIEvent.TARGET_FILTER_DETAIL_VIEW) { viewTargetFilterDetailLayout(); - } else if (custFilterUIEvent == CustomFilterUIEvent.CREATE_NEW_FILTER_CLICK) { - UI.getCurrent().access(() -> viewCreateTargetFilterLayout()); + } 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) { UI.getCurrent().access(() -> viewListView()); } @@ -137,10 +137,17 @@ public class FilterManagementView extends VerticalLayout implements View { private void viewListView() { removeAllComponents(); - addComponents(targetFilterHeader, targetFilterTable); - setComponentAlignment(targetFilterHeader, Alignment.TOP_LEFT); - setComponentAlignment(targetFilterTable, Alignment.TOP_LEFT); - setExpandRatio(targetFilterTable, 1.0f); + 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); } private HorizontalLayout addTargetFilterMessageLabel() { diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/TargetFilterTable.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/TargetFilterTable.java index 765ce13a2..de88a1423 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/TargetFilterTable.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/TargetFilterTable.java @@ -103,14 +103,12 @@ public class TargetFilterTable extends Table { @EventBusListenerMethod(scope = EventScope.SESSION) void onEvent(final CustomFilterUIEvent filterEvent) { - UI.getCurrent().access(() -> { - if (filterEvent == CustomFilterUIEvent.FILTER_BY_CUST_FILTER_TEXT - || filterEvent == CustomFilterUIEvent.FILTER_BY_CUST_FILTER_TEXT_REMOVE - || filterEvent == CustomFilterUIEvent.CREATE_TARGET_FILTER_QUERY - || filterEvent == CustomFilterUIEvent.UPDATED_TARGET_FILTER_QUERY) { - refreshContainer(); - } - }); + if (filterEvent == CustomFilterUIEvent.FILTER_BY_CUST_FILTER_TEXT + || filterEvent == CustomFilterUIEvent.FILTER_BY_CUST_FILTER_TEXT_REMOVE + || filterEvent == CustomFilterUIEvent.CREATE_TARGET_FILTER_QUERY + || filterEvent == CustomFilterUIEvent.UPDATED_TARGET_FILTER_QUERY) { + UI.getCurrent().access(() -> refreshContainer()); + } } /** @@ -125,8 +123,8 @@ public class TargetFilterTable extends Table { targetQF.setQueryConfiguration(queryConfig); // create lazy query container with lazy defination and query - final LazyQueryContainer targetFilterContainer = new LazyQueryContainer( - new LazyQueryDefinition(true, SPUIDefinitions.PAGE_SIZE, SPUILabelDefinitions.VAR_ID), targetQF); + final LazyQueryContainer targetFilterContainer = new LazyQueryContainer(new LazyQueryDefinition(true, + SPUIDefinitions.PAGE_SIZE, SPUILabelDefinitions.VAR_ID), targetQF); targetFilterContainer.getQueryView().getQueryDefinition().setMaxNestedPropertyDepth(PROPERTY_DEPT); return targetFilterContainer; @@ -135,8 +133,8 @@ public class TargetFilterTable extends Table { private Map prepareQueryConfigFilters() { final Map queryConfig = new HashMap(); - filterManagementUIState.getCustomFilterSearchText() - .ifPresent(value -> queryConfig.put(SPUIDefinitions.FILTER_BY_TEXT, value)); + filterManagementUIState.getCustomFilterSearchText().ifPresent( + value -> queryConfig.put(SPUIDefinitions.FILTER_BY_TEXT, value)); return queryConfig; } @@ -205,8 +203,8 @@ public class TargetFilterTable extends Table { * of the deleted custom filter. */ - notification.displaySuccess( - i18n.get("message.delete.filter.success", new Object[] { deletedFilterName })); + notification.displaySuccess(i18n.get("message.delete.filter.success", + new Object[] { deletedFilterName })); refreshContainer(); } }); diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/event/CustomFilterUIEvent.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/event/CustomFilterUIEvent.java index 179618918..fa9b24dc8 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/event/CustomFilterUIEvent.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/event/CustomFilterUIEvent.java @@ -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, + 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, TARGET_FILTER_STATUS_HIDE } diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/footer/TargetFilterCountMessageLabel.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/footer/TargetFilterCountMessageLabel.java index 786e9bb3e..1c8382223 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/footer/TargetFilterCountMessageLabel.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/footer/TargetFilterCountMessageLabel.java @@ -12,8 +12,6 @@ import javax.annotation.PostConstruct; import javax.annotation.PreDestroy; import org.eclipse.hawkbit.repository.TargetManagement; -import org.eclipse.hawkbit.ui.filtermanagement.CreateOrUpdateFilterTable; -import org.eclipse.hawkbit.ui.filtermanagement.TargetFilterTable; import org.eclipse.hawkbit.ui.filtermanagement.event.CustomFilterUIEvent; import org.eclipse.hawkbit.ui.filtermanagement.state.FilterManagementUIState; import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil; @@ -44,12 +42,6 @@ public class TargetFilterCountMessageLabel extends Label { private static final long serialVersionUID = -7188528790042766877L; - @Autowired - private CreateOrUpdateFilterTable createNewFilterTable; - - @Autowired - private TargetFilterTable targetFilterTable; - @Autowired private FilterManagementUIState filterManagementUIState; @@ -95,12 +87,10 @@ public class TargetFilterCountMessageLabel extends Label { private void displayTargetFilterMessage() { long totalTargets = 0; - long shownTargets = 0; if (filterManagementUIState.isCreateFilterViewDisplayed() || filterManagementUIState.isEditViewDisplayed()) { if (null != filterManagementUIState.getFilterQueryValue()) { totalTargets = targetManagement.countTargetByTargetFilterQuery(filterManagementUIState .getFilterQueryValue()); - shownTargets = createNewFilterTable.size(); } final StringBuilder targetMessage = new StringBuilder(i18n.get("label.target.filtered.total")); if (filterManagementUIState.getTargetsTruncated() != null) { @@ -115,32 +105,16 @@ public class TargetFilterCountMessageLabel extends Label { } targetMessage.append(totalTargets); targetMessage.append(HawkbitCommonUtil.SP_STRING_SPACE); + targetMessage.append(i18n.get("label.filter.shown")); if (totalTargets > SPUIDefinitions.MAX_TARGET_TABLE_ENTRIES) { - targetMessage.append(i18n.get("label.filter.shown")); targetMessage.append(SPUIDefinitions.MAX_TARGET_TABLE_ENTRIES); } else { targetMessage.append(HawkbitCommonUtil.SP_STRING_SPACE); - targetMessage.append(i18n.get("label.filter.shown")); - targetMessage.append(shownTargets); + targetMessage.append(totalTargets); } setCaption(targetMessage.toString()); - } else { - final StringBuilder tarFilterMessage = new StringBuilder(i18n.get("label.custom.filter.target.count")); - createMsgLable(targetFilterTable.size(), tarFilterMessage); } } - - private void createMsgLable(final long totalCount, final StringBuilder message) { - message.append(totalCount); - message.append(HawkbitCommonUtil.SP_STRING_SPACE); - if (totalCount > SPUIDefinitions.MAX_TARGET_TABLE_ENTRIES) { - message.append(i18n.get("label.filter.shown")); - message.append(SPUIDefinitions.MAX_TARGET_TABLE_ENTRIES); - } - message.append(HawkbitCommonUtil.SP_STRING_SPACE); - setCaption(message.toString()); - } - } diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/utils/SPUIStyleDefinitions.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/utils/SPUIStyleDefinitions.java index a7cede113..fa53e54bf 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/utils/SPUIStyleDefinitions.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/utils/SPUIStyleDefinitions.java @@ -234,7 +234,7 @@ public final class SPUIStyleDefinitions { /** * Target filter search progress indicator style. */ - public static final String TARGET_FILTER_SEARCH_PROGRESS_INDICATOR_STYLE = "target-filter-search-layout"; + public static final String TARGET_FILTER_SEARCH_PROGRESS_INDICATOR_STYLE = "target-filter-spinner"; /** * Constructor. diff --git a/hawkbit-ui/src/main/resources/VAADIN/themes/hawkbit/customstyles/footer-common.scss b/hawkbit-ui/src/main/resources/VAADIN/themes/hawkbit/customstyles/footer-common.scss index 3738599d1..1b58fb0c8 100644 --- a/hawkbit-ui/src/main/resources/VAADIN/themes/hawkbit/customstyles/footer-common.scss +++ b/hawkbit-ui/src/main/resources/VAADIN/themes/hawkbit/customstyles/footer-common.scss @@ -87,7 +87,7 @@ } - .footer-layout , .target-filter-search-layout{ + .footer-layout{ .app-loading { background-position: bottom; background-repeat: no-repeat; diff --git a/hawkbit-ui/src/main/resources/VAADIN/themes/hawkbit/customstyles/target-filter-query.scss b/hawkbit-ui/src/main/resources/VAADIN/themes/hawkbit/customstyles/target-filter-query.scss index acb2e0039..b231802af 100644 --- a/hawkbit-ui/src/main/resources/VAADIN/themes/hawkbit/customstyles/target-filter-query.scss +++ b/hawkbit-ui/src/main/resources/VAADIN/themes/hawkbit/customstyles/target-filter-query.scss @@ -41,5 +41,13 @@ box-shadow:none !important; } +.target-filter-spinner{ + @include valo-spinner( + $size: $v-font-size--small, + $color: $bosch-color-light-blue + ); +} + + } \ No newline at end of file From 84830ba5d200b142027c2d457b87c6709002fd1f Mon Sep 17 00:00:00 2001 From: venu1278 Date: Thu, 4 Feb 2016 11:19:45 +0530 Subject: [PATCH 4/6] MECS-1454_Search_filter_improvements Signed-off-by: venu1278 --- .../CreateOrUpdateFilterHeader.java | 38 ++++++++++--------- .../FilterManagementView.java | 4 +- 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/CreateOrUpdateFilterHeader.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/CreateOrUpdateFilterHeader.java index 328b47b0b..c7ec3c008 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/CreateOrUpdateFilterHeader.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/CreateOrUpdateFilterHeader.java @@ -117,8 +117,6 @@ public class CreateOrUpdateFilterHeader extends VerticalLayout implements Button private LayoutClickListener nameLayoutClickListner; - private Label targetFilterStatusLabel; - private String newFilterQuery; /** @@ -158,7 +156,7 @@ public class CreateOrUpdateFilterHeader extends VerticalLayout implements Button setUpCaptionLayout(true); resetComponents(); } else if (custFUIEvent == CustomFilterUIEvent.TARGET_FILTER_STATUS_HIDE) { - this.getUI().access(() -> targetFilterStatusLabel.setVisible(false)); + this.getUI().access(() -> showValidationSuccesIcon()); } } @@ -188,8 +186,10 @@ public class CreateOrUpdateFilterHeader extends VerticalLayout implements Button private Label createStatusIcon() { final Label statusIcon = new Label(FontAwesome.CHECK_CIRCLE.getHtml(), ContentMode.HTML); - statusIcon.addStyleName(SPUIStyleDefinitions.SUCCESS_ICON); - statusIcon.setSizeUndefined(); + statusIcon.setValue(null); + statusIcon.addStyleName(SPUIStyleDefinitions.TARGET_FILTER_SEARCH_PROGRESS_INDICATOR_STYLE); + statusIcon.setVisible(false); + statusIcon.setImmediate(true); return statusIcon; } @@ -203,11 +203,6 @@ public class CreateOrUpdateFilterHeader extends VerticalLayout implements Button nameTextField = createNameTextField(); nameTextField.setWidth(380, Unit.PIXELS); - targetFilterStatusLabel = new Label(); - targetFilterStatusLabel.addStyleName(SPUIStyleDefinitions.TARGET_FILTER_SEARCH_PROGRESS_INDICATOR_STYLE); - targetFilterStatusLabel.setVisible(false); - targetFilterStatusLabel.setImmediate(true); - queryTextField = createSearchField(); addSearchLisenter(); @@ -358,7 +353,7 @@ public class CreateOrUpdateFilterHeader extends VerticalLayout implements Button private void processQueryChange() { this.getUI().access(() -> { - targetFilterStatusLabel.setVisible(true); + validationIcon.setVisible(true); onQueryChange(newFilterQuery); }); @@ -368,12 +363,11 @@ public class CreateOrUpdateFilterHeader extends VerticalLayout implements Button boolean validationFailed = false; if (!Strings.isNullOrEmpty(text)) { final String input = text.toLowerCase(); - searchLayout.addComponentAsFirst(targetFilterStatusLabel); - searchLayout.setComponentAlignment(targetFilterStatusLabel, Alignment.MIDDLE_CENTER); - searchLayout.addComponent(validationIcon, 2); + searchLayout.addComponentAsFirst(validationIcon); + searchLayout.setComponentAlignment(validationIcon, Alignment.MIDDLE_CENTER); + showValidationInProgress(); final ValidationResult validationResult = FilterQueryValidation.getExpectedTokens(input); if (!validationResult.getIsValidationFailed()) { - showValidationSuccesIcon(); filterManagementUIState.setFilterQueryValue(input); filterManagementUIState.setIsFilterByInvalidFilterQuery(Boolean.FALSE); } else { @@ -417,14 +411,22 @@ public class CreateOrUpdateFilterHeader extends VerticalLayout implements Button } private void showValidationSuccesIcon() { - validationIcon.setValue(FontAwesome.CHECK_CIRCLE.getHtml()); - validationIcon.setStyleName(SPUIStyleDefinitions.SUCCESS_ICON); - validationIcon.setDescription(""); + if (null != filterManagementUIState.getFilterQueryValue()) { + validationIcon.setValue(FontAwesome.CHECK_CIRCLE.getHtml()); + validationIcon.setStyleName(SPUIStyleDefinitions.SUCCESS_ICON); + validationIcon.setDescription(""); + } } private void showValidationFailureIcon() { validationIcon.setValue(FontAwesome.TIMES_CIRCLE.getHtml()); validationIcon.setStyleName(SPUIStyleDefinitions.ERROR_ICON); + + } + + private void showValidationInProgress() { + validationIcon.setValue(null); + validationIcon.setStyleName(SPUIStyleDefinitions.TARGET_FILTER_SEARCH_PROGRESS_INDICATOR_STYLE); } private SPUIButton createSearchResetIcon() { diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/FilterManagementView.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/FilterManagementView.java index 072256203..606417311 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/FilterManagementView.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/FilterManagementView.java @@ -63,8 +63,6 @@ public class FilterManagementView extends VerticalLayout implements View { @Autowired private transient EventBus.SessionEventBus eventBus; - private HorizontalLayout messageLabelLayout; - @Override public void enter(final ViewChangeEvent event) { setSizeFull(); @@ -151,7 +149,7 @@ public class FilterManagementView extends VerticalLayout implements View { } private HorizontalLayout addTargetFilterMessageLabel() { - messageLabelLayout = new HorizontalLayout(); + final HorizontalLayout messageLabelLayout = new HorizontalLayout(); messageLabelLayout.addComponent(targetFilterCountMessageLabel); messageLabelLayout.addStyleName("footer-layout"); messageLabelLayout.setWidth("100%"); From f6ae3cbfe5a8b624c13e881bfe1b0941eecffb5f Mon Sep 17 00:00:00 2001 From: venu1278 Date: Fri, 5 Feb 2016 11:41:02 +0530 Subject: [PATCH 5/6] MECS-145_Minor_improvements_in_search_filter_New. Signed-off-by: venu1278 --- .../CreateOrUpdateFilterHeader.java | 62 +++++++------------ .../CreateOrUpdateFilterTable.java | 12 ---- .../customstyles/target-filter-query.scss | 8 +++ 3 files changed, 30 insertions(+), 52 deletions(-) diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/CreateOrUpdateFilterHeader.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/CreateOrUpdateFilterHeader.java index c7ec3c008..76578274d 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/CreateOrUpdateFilterHeader.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/CreateOrUpdateFilterHeader.java @@ -117,7 +117,7 @@ public class CreateOrUpdateFilterHeader extends VerticalLayout implements Button private LayoutClickListener nameLayoutClickListner; - private String newFilterQuery; + boolean validationFailed = false; /** * Initialize the Campaign Status History Header. @@ -133,9 +133,6 @@ public class CreateOrUpdateFilterHeader extends VerticalLayout implements Button executor = (Executor) SpringContextHelper.getBean("uiExecutor"); } - /** - * - */ private void restoreOnLoad() { if (filterManagementUIState.isEditViewDisplayed()) { populateComponents(); @@ -168,7 +165,6 @@ public class CreateOrUpdateFilterHeader extends VerticalLayout implements Button oldFilterName = filterManagementUIState.getTfQuery().get().getName(); oldFilterQuery = filterManagementUIState.getTfQuery().get().getQuery(); } - searchLayout.addComponentAsFirst(validationIcon); showValidationSuccesIcon(); titleFilterIconsLayout.addStyleName(SPUIStyleDefinitions.TARGET_FILTER_CAPTION_LAYOUT); headerCaption.setVisible(false); @@ -179,20 +175,26 @@ public class CreateOrUpdateFilterHeader extends VerticalLayout implements Button headerCaption.setVisible(true); nameLabel.setValue(""); queryTextField.setValue(""); - removeStatusIcon(); + setInitialStatusIconStyle(validationIcon); + validationFailed = false; saveButton.setEnabled(false); titleFilterIconsLayout.removeStyleName(SPUIStyleDefinitions.TARGET_FILTER_CAPTION_LAYOUT); } private Label createStatusIcon() { - final Label statusIcon = new Label(FontAwesome.CHECK_CIRCLE.getHtml(), ContentMode.HTML); - statusIcon.setValue(null); - statusIcon.addStyleName(SPUIStyleDefinitions.TARGET_FILTER_SEARCH_PROGRESS_INDICATOR_STYLE); - statusIcon.setVisible(false); - statusIcon.setImmediate(true); + final Label statusIcon = new Label(); + setInitialStatusIconStyle(statusIcon); return statusIcon; } + private void setInitialStatusIconStyle(final Label statusIcon) { + statusIcon.setContentMode(ContentMode.HTML); + statusIcon.setValue(FontAwesome.CHECK_CIRCLE.getHtml()); + statusIcon.setImmediate(true); + statusIcon.setStyleName("hide-status-label"); + statusIcon.setSizeFull(); + } + private void createComponents() { headerCaption = SPUIComponentProvider.getLabel(SPUILabelDefinitions.VAR_CREATE_FILTER, SPUILabelDefinitions.SP_WIDGET_CAPTION); @@ -288,8 +290,9 @@ public class CreateOrUpdateFilterHeader extends VerticalLayout implements Button searchLayout = new HorizontalLayout(); searchLayout.setSizeUndefined(); searchLayout.setSpacing(false); - searchLayout.addComponent(queryTextField); + searchLayout.addComponents(validationIcon, queryTextField); searchLayout.addStyleName("custom-search-layout"); + searchLayout.setComponentAlignment(validationIcon, Alignment.MIDDLE_CENTER); final HorizontalLayout iconLayout = new HorizontalLayout(); iconLayout.setSizeUndefined(); @@ -326,50 +329,30 @@ public class CreateOrUpdateFilterHeader extends VerticalLayout implements Button @Override public void textChange(final TextChangeEvent event) { - newFilterQuery = event.getText(); - executor.execute(new StatusCircledAsync(event)); + validationIcon.addStyleName("show-status-label"); + showValidationInProgress(); + onQueryChange(event.getText()); + executor.execute(new StatusCircledAsync()); } }); } class StatusCircledAsync implements Runnable { - final TextChangeEvent event; - - /** - * - * @param event - */ - public StatusCircledAsync(final TextChangeEvent event) { - this.event = event; - } - @Override public void run() { - processQueryChange(); eventBus.publish(this, CustomFilterUIEvent.FILTER_TARGET_BY_QUERY); } } - private void processQueryChange() { - this.getUI().access(() -> { - validationIcon.setVisible(true); - onQueryChange(newFilterQuery); - - }); - } - private void onQueryChange(final String text) { - boolean validationFailed = false; if (!Strings.isNullOrEmpty(text)) { final String input = text.toLowerCase(); - searchLayout.addComponentAsFirst(validationIcon); - searchLayout.setComponentAlignment(validationIcon, Alignment.MIDDLE_CENTER); - showValidationInProgress(); final ValidationResult validationResult = FilterQueryValidation.getExpectedTokens(input); if (!validationResult.getIsValidationFailed()) { filterManagementUIState.setFilterQueryValue(input); filterManagementUIState.setIsFilterByInvalidFilterQuery(Boolean.FALSE); + validationFailed = false; } else { validationFailed = true; filterManagementUIState.setFilterQueryValue(null); @@ -383,6 +366,7 @@ public class CreateOrUpdateFilterHeader extends VerticalLayout implements Button filterManagementUIState.setFilterQueryValue(null); filterManagementUIState.setIsFilterByInvalidFilterQuery(Boolean.TRUE); } + queryTextField.setValue(text); } private void enableDisableSaveButton(final boolean validationFailed, final String query) { @@ -411,17 +395,15 @@ public class CreateOrUpdateFilterHeader extends VerticalLayout implements Button } private void showValidationSuccesIcon() { - if (null != filterManagementUIState.getFilterQueryValue()) { + if (!validationFailed) { validationIcon.setValue(FontAwesome.CHECK_CIRCLE.getHtml()); validationIcon.setStyleName(SPUIStyleDefinitions.SUCCESS_ICON); - validationIcon.setDescription(""); } } private void showValidationFailureIcon() { validationIcon.setValue(FontAwesome.TIMES_CIRCLE.getHtml()); validationIcon.setStyleName(SPUIStyleDefinitions.ERROR_ICON); - } private void showValidationInProgress() { diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/CreateOrUpdateFilterTable.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/CreateOrUpdateFilterTable.java index 7b821f4b5..5fc6a41e0 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/CreateOrUpdateFilterTable.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/CreateOrUpdateFilterTable.java @@ -82,18 +82,6 @@ public class CreateOrUpdateFilterTable extends Table { setId(SPUIComponetIdProvider.CUSTOM_FILTER_TARGET_TABLE_ID); setSelectable(false); eventBus.subscribe(this); - addItemSetChangeListener(new ItemSetChangeListener() { - private static final long serialVersionUID = 9006291573733911656L; - - @Override - public void containerItemSetChange(final com.vaadin.data.Container.ItemSetChangeEvent event) { - if (size() > 0) { - eventBus.publish(this, CustomFilterUIEvent.TARGET_FILTER_STATUS_HIDE); - } - - } - - }); } @PreDestroy diff --git a/hawkbit-ui/src/main/resources/VAADIN/themes/hawkbit/customstyles/target-filter-query.scss b/hawkbit-ui/src/main/resources/VAADIN/themes/hawkbit/customstyles/target-filter-query.scss index b231802af..b29483da1 100644 --- a/hawkbit-ui/src/main/resources/VAADIN/themes/hawkbit/customstyles/target-filter-query.scss +++ b/hawkbit-ui/src/main/resources/VAADIN/themes/hawkbit/customstyles/target-filter-query.scss @@ -48,6 +48,14 @@ ); } +.hide-status-label { + visibility: hidden; +} + + .show-status-label { + visibility: visible; +} + } \ No newline at end of file From def0a00cf610621fc319a6e27e01dd0056d0200b Mon Sep 17 00:00:00 2001 From: venu1278 Date: Fri, 5 Feb 2016 19:21:27 +0530 Subject: [PATCH 6/6] MECS-145_Minor_improvements_in_search_filter_New Signed-off-by: venu1278 --- .../ui/filtermanagement/CreateOrUpdateFilterHeader.java | 5 +++-- hawkbit-ui/src/main/resources/messages.properties | 3 --- hawkbit-ui/src/main/resources/messages_de.properties | 3 --- hawkbit-ui/src/main/resources/messages_en.properties | 3 --- 4 files changed, 3 insertions(+), 11 deletions(-) diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/CreateOrUpdateFilterHeader.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/CreateOrUpdateFilterHeader.java index 76578274d..723d5202d 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/CreateOrUpdateFilterHeader.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/CreateOrUpdateFilterHeader.java @@ -26,9 +26,9 @@ import org.eclipse.hawkbit.ui.utils.I18N; import org.eclipse.hawkbit.ui.utils.SPUIComponetIdProvider; import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions; import org.eclipse.hawkbit.ui.utils.SPUIStyleDefinitions; -import org.eclipse.hawkbit.ui.utils.SpringContextHelper; import org.eclipse.hawkbit.ui.utils.UINotification; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; import org.vaadin.spring.events.EventBus; import org.vaadin.spring.events.EventScope; import org.vaadin.spring.events.annotation.EventBusListenerMethod; @@ -85,6 +85,8 @@ public class CreateOrUpdateFilterHeader extends VerticalLayout implements Button @Autowired private UINotification notification; + @Autowired + @Qualifier("uiExecutor") private transient Executor executor; private Label headerCaption; @@ -130,7 +132,6 @@ public class CreateOrUpdateFilterHeader extends VerticalLayout implements Button restoreOnLoad(); setUpCaptionLayout(filterManagementUIState.isCreateFilterViewDisplayed()); eventBus.subscribe(this); - executor = (Executor) SpringContextHelper.getBean("uiExecutor"); } private void restoreOnLoad() { diff --git a/hawkbit-ui/src/main/resources/messages.properties b/hawkbit-ui/src/main/resources/messages.properties index c39b52d2c..08617bd58 100644 --- a/hawkbit-ui/src/main/resources/messages.properties +++ b/hawkbit-ui/src/main/resources/messages.properties @@ -123,18 +123,15 @@ label.combobox.type = Select Type label.combobox.tag = Select Tag label.choose.tag = Choose Tag to update label.choose.tag.color = Choose Tag Color -<<<<<<< HEAD label.filter = Filter: label.target.filter.count = Total Targets: label.target.filtered.total = Total filtered targets : label.filter.selected = Selected: label.filter.shown = Shown: -======= label.filter = Filter : label.target.filter.count = Total Targets : label.filter.selected = Selected : label.filter.shown = Shown : ->>>>>>> refs/heads/master label.filter.targets = Filtered targets : label.filter.status = Status, label.filter.tags = Tags, diff --git a/hawkbit-ui/src/main/resources/messages_de.properties b/hawkbit-ui/src/main/resources/messages_de.properties index b34718f53..c1d9a850f 100644 --- a/hawkbit-ui/src/main/resources/messages_de.properties +++ b/hawkbit-ui/src/main/resources/messages_de.properties @@ -122,18 +122,15 @@ label.combobox.type = Select Type label.combobox.tag = Select Tag label.choose.tag = Choose Tag to update label.choose.tag.color = Choose Tag Color -<<<<<<< HEAD label.filter = Filter: label.target.filter.count = Total Targets: label.target.filtered.total = Total filtered targets : label.filter.selected = Selected: label.filter.shown = Shown: -======= label.filter = Filter : label.target.filter.count = Total Targets : label.filter.selected = Selected : label.filter.shown = Shown : ->>>>>>> refs/heads/master label.filter.status = Status, label.filter.tags = Tags, label.filter.text = Search Text diff --git a/hawkbit-ui/src/main/resources/messages_en.properties b/hawkbit-ui/src/main/resources/messages_en.properties index 59f026526..b1f95cb45 100644 --- a/hawkbit-ui/src/main/resources/messages_en.properties +++ b/hawkbit-ui/src/main/resources/messages_en.properties @@ -122,19 +122,16 @@ label.combobox.type = Select Type label.combobox.tag = Select Tag label.choose.tag = Choose Tag to update label.choose.tag.color = Choose Tag Color -<<<<<<< HEAD label.filter = Filter: label.target.filter.count = Total Targets: label.target.filtered.total = Total filtered targets : label.filter.selected = Selected: label.filter.shown = Shown: label.filter.targets = Filtered targets : -======= label.filter = Filter : label.target.filter.count = Total Targets : label.filter.selected = Selected : label.filter.shown = Shown : ->>>>>>> refs/heads/master label.filter.status = Status, label.filter.tags = Tags, label.filter.text = Search Text