private boolean orderAscending;\r
\r
private Map<String, String> topColorClasses;\r
- private int selectedRowIndex;\r
- private int selectedPageIndex;\r
+ private int selectedRowIndex = -1;\r
private volatile boolean preventAfterRender;\r
- private Row lastSelectedRow;\r
- private int positionToScroll;\r
+ private int positionToScroll = -1;\r
private ListModelList<String> searchHistory;\r
\r
public SearchModel() {\r
clipboard.setContents(strSel, null);\r
String email = String.format("mailto:?subject=Média címe: %s &body=A média itt tekinthető meg: %s", selectedObject.getMedia().getTitle(), url);\r
// Messagebox.show("A médiához szükséges URL a vágólapra másolva, az URL a következő:\n" + email, "", Messagebox.OK, Messagebox.NONE);\r
- Executions.getCurrent().sendRedirect(email, "_blank");\r
+ Executions.getCurrent().sendRedirect(email);\r
}\r
\r
@Command\r
if (children.size() > 0) {\r
Component top = children.get(pos);\r
Clients.scrollIntoView(top);\r
+ logger.info("Scrolled into the {}. row on the page.", pos);\r
}\r
});\r
timer.start();\r
List<Component> components = itemsGrid.getRows().getChildren();\r
for (int i = 0; i < components.size(); i++) {\r
Row row = (Row) components.get(i);\r
- if (am == row.getValue()) {\r
+ ArchivedMedia archivedMedia = (ArchivedMedia) row.getValue();\r
+ if (archivedMedia != null && am.getMedia().getId() == archivedMedia.getMedia().getId()) {\r
Detail detail = (Detail) row.getChildren().get(0);\r
Hlayout hlayout = (Hlayout) detail.getChildren().get(0);\r
if (highlight) {\r
\r
}\r
}\r
+ }\r
\r
+ private void highlight(int index, boolean highlight) {\r
+ if (index >= itemsGrid.getRows().getChildren().size())\r
+ return;\r
+ List<Component> components = itemsGrid.getRows().getChildren();\r
+ Row row = (Row) components.get(index);\r
+ Detail detail = (Detail) row.getChildren().get(0);\r
+ Hlayout hlayout = (Hlayout) detail.getChildren().get(0);\r
+ if (highlight) {\r
+ row.setStyle("background: #F1F8E9;");\r
+ hlayout.setStyle("border-bottom: 1px solid #C5E1A5; background: #F1F8E9;");\r
+ } else {\r
+ row.setStyle("background: none;");\r
+ hlayout.setStyle("border-bottom: 1px solid #ebebeb; background: none;");\r
+ }\r
}\r
\r
public boolean isAllChecked() {\r
\r
@Command\r
public void onAfterRenderGrid() {\r
- if (preventAfterRender)\r
- return;\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
- preventAfterRender = true;\r
- if (positionToScroll > -1) {\r
- ensureVisible(positionToScroll - itemsGrid.getPageSize() * itemsGrid.getActivePage());\r
+ if (!preventAfterRender) {\r
+ preventAfterRender = false;\r
+ return;\r
+ }\r
+ if (mediaID != null) {\r
+ selectedObject = searchResult.getElementAt(0);\r
+ highlight(selectedObject, true);\r
+ notifyChange("selectedObject", "hasLowresMediaFile", "hasTSMMediaFile", "lowresMediaFilePath");\r
+ }\r
+ if (positionToScroll != -1) {\r
+ ensureVisible(positionToScroll);\r
+ highlight(selectedObject, true);\r
positionToScroll = -1;\r
} else\r
ensureVisible(itemsGrid.getPageSize() * itemsGrid.getActivePage());\r
preventAfterRender = false;\r
}\r
\r
+ @Command\r
+ public void onPaging() {\r
+ logger.info("onPaging");\r
+ preventAfterRender = true;\r
+ }\r
+\r
@Command\r
public void openMetaDataDialog() {\r
String template = "/pages/metadatadetails.zul";\r
selectedRowIndex = ((Row) event.getTarget()).getIndex();\r
highlight(this.selectedObject, false);\r
this.selectedObject = selectedObject;\r
- selectedPageIndex = itemsGrid.getActivePage();\r
highlight(this.selectedObject, true);\r
-\r
- List<Component> components = itemsGrid.getRows().getChildren();\r
- for (Component obj : components) {\r
- Row row = (Row) obj;\r
- if (selectedObject.equals(row.getValue())) {\r
- lastSelectedRow = row;\r
- break;\r
- }\r
- }\r
- //lastSelectedRow.getUuid()\r
- logger.info(itemsGrid.getActivePage());\r
+ logger.info("Media was selected. Selected media archive:{}", selectedObject.getMedia().getId());\r
}\r
\r
@NotifyChange("typeFilters")\r
}\r
\r
@Command\r
- // @NotifyChange("itemsGrid")\r
+ @NotifyChange("itemsGrid")\r
public void showInResults() {\r
- if (lastSelectedRow == null)\r
+ if (selectedObject == null)\r
return;\r
-\r
- List<Component> components = itemsGrid.getRows().getChildren();\r
- positionToScroll = components.indexOf(lastSelectedRow);\r
- if (positionToScroll > -1) {\r
- int page = positionToScroll / itemsGrid.getPageSize();\r
- itemsGrid.setActivePage(page);\r
+ int activePageIndex = selectedRowIndex / itemsGrid.getPageSize();\r
+ positionToScroll = selectedRowIndex - itemsGrid.getPageSize() * activePageIndex;\r
+ preventAfterRender = true;\r
+ if (activePageIndex != itemsGrid.getActivePage()) {\r
+ itemsGrid.setActivePage(activePageIndex);\r
+ logger.info("Selected media is shown in the results, which can be found on {} page and also it will be highlighted.", activePageIndex + 1);\r
+ } else {\r
+ onAfterRenderGrid();\r
+ logger.info("Selected media is shown in the results, which can be found on opened page.");\r
}\r
}\r
\r