From 35a9f5c7a02109e68ce16dcb5345b9822c09ab39 Mon Sep 17 00:00:00 2001 From: honchar Date: Tue, 17 May 2016 00:04:28 +0200 Subject: [PATCH] Fixing search panel on the self dashboard page --- .../page/admin/resources/PageResources.java | 29 ++++- .../web/page/admin/users/PageUsers.java | 33 ++++- .../self/component/DashboardSearchPanel.html | 5 +- .../self/component/DashboardSearchPanel.java | 119 +++++++++++++----- .../midpoint/web/session/SessionStorage.java | 3 + 5 files changed, 150 insertions(+), 39 deletions(-) diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/resources/PageResources.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/resources/PageResources.java index 3b6430901d9..4cf4569874e 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/resources/PageResources.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/resources/PageResources.java @@ -21,6 +21,10 @@ import java.util.List; import com.evolveum.midpoint.web.component.dialog.ConfirmationPanel; +import com.evolveum.midpoint.web.component.search.*; +import com.evolveum.midpoint.web.session.PageStorage; +import com.evolveum.midpoint.web.session.SessionStorage; +import com.evolveum.midpoint.xml.ns._public.common.common_3.UserType; import org.apache.commons.lang.StringUtils; import org.apache.wicket.Component; import org.apache.wicket.ajax.AjaxRequestTarget; @@ -62,9 +66,6 @@ import com.evolveum.midpoint.web.component.data.column.InlineMenuHeaderColumn; import com.evolveum.midpoint.web.component.data.column.LinkColumn; import com.evolveum.midpoint.web.component.menu.cog.InlineMenuItem; -import com.evolveum.midpoint.web.component.search.Search; -import com.evolveum.midpoint.web.component.search.SearchFactory; -import com.evolveum.midpoint.web.component.search.SearchFormPanel; import com.evolveum.midpoint.web.component.util.SelectableBean; import com.evolveum.midpoint.web.page.admin.configuration.PageDebugView; import com.evolveum.midpoint.web.page.admin.configuration.component.HeaderMenuAction; @@ -111,7 +112,7 @@ public PageResources(String searchText) { this(true, searchText); } - public PageResources(boolean clearSessionPaging, final String searchText) { + public PageResources(boolean clearSessionPaging, String searchText) { searchModel = new LoadableModel(false) { @Override @@ -135,9 +136,27 @@ protected Search load() { } }; - initLayout(); + if (StringUtils.isNotEmpty(searchText)){ + initSearch(searchText); + } + initLayout(); } + private void initSearch(String text){ + PageStorage storage = getSessionStorage().getPageStorageMap().get(SessionStorage.KEY_RESOURCES); + if (storage == null) { + storage = getSessionStorage().initPageStorage(SessionStorage.KEY_RESOURCES); + } + Search search = SearchFactory.createSearch(UserType.class, getPrismContext(), true); + + if (search.getItems() != null && search.getItems().size() > 0){ + SearchItem searchItem = search.getItems().get(0); + searchItem.getValues().add(new SearchValue<>(text)); + } + storage.setSearch(search); + getSessionStorage().getPageStorageMap().put(SessionStorage.KEY_RESOURCES, storage); + } + private void initLayout() { Form mainForm = new Form(ID_MAIN_FORM); add(mainForm); diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/users/PageUsers.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/users/PageUsers.java index 1c716b5581a..61ee73f7404 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/users/PageUsers.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/users/PageUsers.java @@ -20,8 +20,18 @@ import java.util.Collection; import java.util.List; +import com.evolveum.midpoint.prism.PrismObjectDefinition; +import com.evolveum.midpoint.prism.PrismPropertyDefinition; +import com.evolveum.midpoint.prism.schema.SchemaRegistry; +import com.evolveum.midpoint.util.DisplayableValue; import com.evolveum.midpoint.web.component.dialog.ConfirmationPanel; import com.evolveum.midpoint.web.component.dialog.Popupable; +import com.evolveum.midpoint.web.component.search.SearchFactory; +import com.evolveum.midpoint.web.component.search.SearchItem; +import com.evolveum.midpoint.web.component.search.SearchValue; +import com.evolveum.midpoint.web.session.PageStorage; +import com.evolveum.midpoint.web.session.SessionStorage; +import org.apache.commons.lang3.StringUtils; import org.apache.wicket.ajax.AjaxRequestTarget; import org.apache.wicket.extensions.markup.html.repeater.data.grid.ICellPopulator; import org.apache.wicket.extensions.markup.html.repeater.data.table.AbstractColumn; @@ -95,8 +105,7 @@ public class PageUsers extends PageAdminUsers { private static final String ID_TABLE = "table"; private UserType singleDelete; - private LoadableModel searchModel; - private LoadableModel executeOptionsModel; + private LoadableModel executeOptionsModel; public PageUsers() { this(true, null, null); @@ -116,13 +125,31 @@ protected ExecuteChangeOptionsDto load() { } }; - initLayout(); + if (StringUtils.isNotEmpty(text)){ + initSearch(text); + } + initLayout(); } public PageUsers(UsersDto.SearchType type, String text) { this(true, type, text); } + private void initSearch(String text){ + PageStorage storage = getSessionStorage().getPageStorageMap().get(SessionStorage.KEY_USERS); + if (storage == null) { + storage = getSessionStorage().initPageStorage(SessionStorage.KEY_USERS); + } + Search search = SearchFactory.createSearch(UserType.class, getPrismContext(), true); + if (search.getItems() != null && search.getItems().size() > 0){ + SearchItem searchItem = search.getItems().get(0); + searchItem.getValues().add(new SearchValue<>(text)); + } + storage.setSearch(search); + getSessionStorage().getPageStorageMap().put(SessionStorage.KEY_USERS, storage); + + } + private void initLayout() { Form mainForm = new Form(ID_MAIN_FORM); add(mainForm); diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/self/component/DashboardSearchPanel.html b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/self/component/DashboardSearchPanel.html index dc5f52d4e59..beaa731aa5d 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/self/component/DashboardSearchPanel.html +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/self/component/DashboardSearchPanel.html @@ -28,8 +28,9 @@ Toggle Dropdown -