From: Márk Mérész Date: Tue, 17 Jul 2018 07:46:49 +0000 (+0000) Subject: git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube... X-Git-Url: http://git.useribm.hu/?a=commitdiff_plain;h=709b50eacccb358148d1c8247886b95d300a06c0;p=mediacube.git git-tfs-id: [tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube;C31176 --- diff --git a/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/SearchModel.java b/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/SearchModel.java index 0d43bc19..635e3ab9 100644 --- a/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/SearchModel.java +++ b/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/SearchModel.java @@ -29,6 +29,7 @@ import org.zkoss.zk.ui.event.MouseEvent; import org.zkoss.zk.ui.event.SortEvent; import org.zkoss.zk.ui.select.Selectors; import org.zkoss.zk.ui.select.annotation.Wire; +import org.zkoss.zk.ui.util.Clients; import org.zkoss.zul.Button; import org.zkoss.zul.Checkbox; import org.zkoss.zul.Column; @@ -91,6 +92,7 @@ public class SearchModel extends AsyncBaseModel { private int selectedRowIndex; private int selectedPageIndex; private String mediaID; + private boolean showResult; public SearchModel() { typeFilters = new LinkedHashMap<>(); @@ -381,20 +383,35 @@ public class SearchModel extends AsyncBaseModel { } @Command - @NotifyChange("itemsGrid") - public void jumpToPosition(@ContextParam(ContextType.BIND_CONTEXT) BindContext ctx) { - itemsGrid.setActivePage(selectedPageIndex); - } - - @Command - public void onPaging() { + public void onAfterRenderGrid() { + logger.info("onAfterRenderGrid"); if (mediaID != null) { selectedObject = searchResult.getElementAt(0); highlight(selectedObject, true); notifyChange("selectedObject", "hasLowresMediaFile", "hasTSMMediaFile", "lowresMediaFilePath"); + } else if (showResult) { + List children = itemsGrid.getRows().getChildren(); + itemsGrid.setActivePage(selectedPageIndex); + Component pos = children.get(selectedRowIndex - itemsGrid.getPageSize() * itemsGrid.getActivePage()); + Clients.scrollIntoView(pos); + showResult = false; } } + @Command + public void onPagingGrid() { + logger.info("onPagingGrid"); + registerTask(() -> { + List children = itemsGrid.getRows().getChildren(); + if (children.size() > 0) { + int pos = itemsGrid.getPageSize() * itemsGrid.getActivePage(); + Component top = children.get(pos); + Clients.scrollIntoView(top); + } + }); + timer.start(); + } + @Command public void openMetaDataDialog() { String template = "/pages/metadatadetails.zul"; @@ -479,8 +496,11 @@ public class SearchModel extends AsyncBaseModel { } @Command + @NotifyChange("itemsGrid") public void showInResults() { - + logger.info("showInResults"); + showResult = true; + onAfterRenderGrid(); } public void updateAllChecked() {