import org.zkoss.zk.ui.event.SortEvent;\r
import org.zkoss.zk.ui.select.Selectors;\r
import org.zkoss.zk.ui.select.annotation.Wire;\r
+import org.zkoss.zk.ui.util.Clients;\r
import org.zkoss.zul.Button;\r
import org.zkoss.zul.Checkbox;\r
import org.zkoss.zul.Column;\r
private int selectedRowIndex;\r
private int selectedPageIndex;\r
private String mediaID;\r
+ private boolean showResult;\r
\r
public SearchModel() {\r
typeFilters = new LinkedHashMap<>();\r
}\r
\r
@Command\r
- @NotifyChange("itemsGrid")\r
- public void jumpToPosition(@ContextParam(ContextType.BIND_CONTEXT) BindContext ctx) {\r
- itemsGrid.setActivePage(selectedPageIndex);\r
- }\r
-\r
- @Command\r
- public void onPaging() {\r
+ public void onAfterRenderGrid() {\r
+ logger.info("onAfterRenderGrid");\r
if (mediaID != null) {\r
selectedObject = searchResult.getElementAt(0);\r
highlight(selectedObject, true);\r
notifyChange("selectedObject", "hasLowresMediaFile", "hasTSMMediaFile", "lowresMediaFilePath");\r
+ } else if (showResult) {\r
+ List<Component> children = itemsGrid.getRows().getChildren();\r
+ itemsGrid.setActivePage(selectedPageIndex);\r
+ Component pos = children.get(selectedRowIndex - itemsGrid.getPageSize() * itemsGrid.getActivePage());\r
+ Clients.scrollIntoView(pos);\r
+ showResult = false;\r
}\r
}\r
\r
+ @Command\r
+ public void onPagingGrid() {\r
+ logger.info("onPagingGrid");\r
+ registerTask(() -> {\r
+ List<Component> children = itemsGrid.getRows().getChildren();\r
+ if (children.size() > 0) {\r
+ int pos = itemsGrid.getPageSize() * itemsGrid.getActivePage();\r
+ Component top = children.get(pos);\r
+ Clients.scrollIntoView(top);\r
+ }\r
+ });\r
+ timer.start();\r
+ }\r
+\r
@Command\r
public void openMetaDataDialog() {\r
String template = "/pages/metadatadetails.zul";\r
}\r
\r
@Command\r
+ @NotifyChange("itemsGrid")\r
public void showInResults() {\r
-\r
+ logger.info("showInResults");\r
+ showResult = true;\r
+ onAfterRenderGrid();\r
}\r
\r
public void updateAllChecked() {\r