import org.zkoss.zul.Checkbox;\r
import org.zkoss.zul.Column;\r
import org.zkoss.zul.Combobox;\r
-import org.zkoss.zul.Detail;\r
import org.zkoss.zul.Hbox;\r
-import org.zkoss.zul.Hlayout;\r
import org.zkoss.zul.ListModelList;\r
import org.zkoss.zul.Listbox;\r
import org.zkoss.zul.Listitem;\r
\r
private boolean orderAscending;\r
private Map<String, String> topColorClasses;\r
- private int selectedRowIndex = -1;\r
+ private int selectedListItemIndex = -1;\r
private volatile boolean preventAfterRender;\r
private int positionToScroll = -1;\r
private ListModelList<String> searchHistory;\r
SessionUtil.putUserSearchHistory(searchHistory);\r
}\r
\r
- List<String> searchFilters = getSelectedFilters();\r
- SessionUtil.putUserSearchFilter(searchFilters);\r
-\r
- if (SessionUtil.getUserColumnOrder() != null) {\r
- orderBy = columnHeaders.get(columnOrder.entrySet().iterator().next().getKey());\r
- orderAscending = columnOrder.entrySet().iterator().next().getValue().equals("ascending");\r
- }\r
+ List<String> searchFilters = getColumnOrder();\r
\r
if (searchFilters == null || searchFilters.size() == 0)\r
throw new Exception("Anyag típus kiválasztása kötelező!");\r
.setTags(searchTags).setFrom(searchFrom).setTo(searchTo).setMissingProxy(missingProxy)\r
.setDescLength(descLength).setOrder(orderBy, orderAscending);\r
\r
- if (!options.isValid())\r
- throw new Exception(\r
- "Legalább egy keresési opció használata kötelező: 3 karakter, hiányzó proxy, dátum, típus, cimke!");\r
+ validateSearchOptions(options);\r
searchResult = new CachedListModel(options);\r
searchResult.addEventListener(e -> {\r
if (e.getName().equals(Events.ON_ERROR)) {\r
}\r
}\r
\r
+ private void validateSearchOptions(SearchOptions options) throws Exception {\r
+ if (!options.isValid())\r
+ throw new Exception(\r
+ "Legalább egy keresési opció használata kötelező: 3 karakter, hiányzó proxy, dátum, típus, cimke!");\r
+ }\r
+\r
+ private List<String> getColumnOrder() {\r
+ List<String> searchFilters = getSelectedFilters();\r
+ SessionUtil.putUserSearchFilter(searchFilters);\r
+\r
+ if (SessionUtil.getUserColumnOrder() != null) {\r
+ orderBy = columnHeaders.get(columnOrder.entrySet().iterator().next().getKey());\r
+ orderAscending = columnOrder.entrySet().iterator().next().getValue().equals("ascending");\r
+ }\r
+\r
+ return searchFilters;\r
+ }\r
+\r
public void doSort(Event event) throws Exception {\r
if (itemsListbox.getItemCount() > 0) {\r
itemsListbox.getHeads().forEach(c -> ((Column) c).setSortDirection("natural"));\r
List<Listitem> components = itemsListbox.getItems();\r
for (int i = 0; i < components.size(); i++) {\r
Listitem listitem = components.get(i);\r
- ArchivedMedia archivedMedia = (ArchivedMedia) listitem.getValue();\r
- if (archivedMedia != null && am.getMedia().getId() == archivedMedia.getMedia().getId()) {\r
- Detail detail = (Detail) listitem.getChildren().get(0);\r
- Hlayout hlayout = (Hlayout) detail.getChildren().get(0);\r
+ ArchivedMedia currentArchivedMedia = (ArchivedMedia) listitem.getValue();\r
+ if (currentArchivedMedia != null && am.getMedia().getId() == currentArchivedMedia.getMedia().getId()) {\r
+\r
if (highlight) {\r
- selectedRowIndex = i;\r
+ selectedListItemIndex = i;\r
listitem.setStyle("background: #F1F8E9;");\r
- hlayout.setStyle("border-bottom: 1px solid #C5E1A5; background: #F1F8E9;");\r
} else {\r
listitem.setStyle("background: none;");\r
- hlayout.setStyle("border-bottom: 1px solid #ebebeb; background: none;");\r
}\r
break;\r
-\r
}\r
}\r
}\r
@NotifyChange({ "selectedObject", "hasLowresMediaFile", "hasTSMMediaFile", "lowresMediaFilePath" })\r
public void select(@BindingParam("selectedObject") ArchivedMedia selectedObject,\r
@ContextParam(ContextType.BIND_CONTEXT) BindContext ctx) {\r
- Event event = ctx.getTriggerEvent();\r
- // Nem mindig a row a target, ha a kepre kattintunk akkor az image\r
- // selectedRowIndex = ((Row) event.getTarget()).getIndex();\r
highlight(this.selectedObject, false);\r
setSelectedObject(selectedObject);\r
highlight(this.selectedObject, true);\r
+\r
+ // scrolls the ancestor elements to make the specified element visible\r
Clients.scrollIntoView(mediaDetails.getFirstChild());\r
+\r
logger.info("Media was selected. Selected media archive:{}", selectedObject.getMedia().getId());\r
}\r
\r
if (mediaId > 0)\r
mediaTags = itemManager.getMediaTags(mediaId);\r
\r
- // inicializaljuk, hogy az addTag event ezeket mar ne akarja meg 1x hozzadni\r
+ // inicializaljuk, hogy az addTag event ezeket mar ne akarja meg 1x hozzaadni\r
StringBuilder sb = new StringBuilder();\r
+ sb.insert(0, "addMediaTags([");\r
if (mediaTags != null) {\r
- for (String tag : mediaTags) {\r
- selectedObject.getTags().add(tag.toLowerCase());\r
- if (tag.contains("'"))\r
- continue;\r
- if (sb.length() > 0)\r
- sb.append(",");\r
- sb.append(String.format("'%s'", tag));\r
+ if (!mediaTags.isEmpty()) {\r
+ for (String tag : mediaTags) {\r
+ selectedObject.getTags().add(tag.toLowerCase());\r
+ if (tag.contains("'")) {\r
+ continue;\r
+ }\r
+ if (sb.length() > 0) {\r
+ sb.append(",");\r
+ }\r
+ sb.append(String.format("'%s'", tag));\r
+ }\r
}\r
}\r
- sb.insert(0, "addMediaTags([");\r
sb.append("]);");\r
\r
String js = sb.toString();\r
- logger.info(js);\r
+ logger.info("js: {}", js);\r
Clients.evalJavaScript(js);\r
}\r
\r
logger.error(e);\r
}\r
\r
- } else\r
+ } else {\r
Clients.evalJavaScript("addMediaTags([]);");\r
-\r
+ }\r
}\r
\r
private void setSettingsPageSize(int pageSize) {\r
public void showInResults() {\r
if (selectedObject == null)\r
return;\r
- int activePageIndex = selectedRowIndex / itemsListbox.getPageSize();\r
- positionToScroll = selectedRowIndex - itemsListbox.getPageSize() * activePageIndex;\r
+ int activePageIndex = selectedListItemIndex / itemsListbox.getPageSize();\r
+ positionToScroll = selectedListItemIndex - itemsListbox.getPageSize() * activePageIndex;\r
// preventAfterRender = true;\r
if (activePageIndex != itemsListbox.getActivePage()) {\r
itemsListbox.setActivePage(activePageIndex);\r