git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube...
authorVásáry Dániel <daniel.vasary@userrendszerhaz.hu>
Thu, 19 Jul 2018 14:38:47 +0000 (14:38 +0000)
committerVásáry Dániel <daniel.vasary@userrendszerhaz.hu>
Thu, 19 Jul 2018 14:38:47 +0000 (14:38 +0000)
server/user.jobengine.osgi.server/pages/searchitems.zul
server/user.jobengine.osgi.server/src/user/jobengine/zk/model/SearchModel.java

index 736a85a70a9244fcefebeb422390c8fde0f81480..8da043330c1c51d1d7461fefe51532b3c97c1164 100644 (file)
                                                        </columns>\r
                                                        <rows id="rows" style="cursor: pointer;">\r
                                                                <template name="model">\r
-                                                                       <row onClick="@command('selectMediaArchive', selectedObject=each)" onMouseOver="@Command('rowMouseOver', evt=event)"\r
+                                                                       <row onClick="@command('select', selectedObject=each)" onMouseOver="@Command('rowMouseOver', evt=event)"\r
                                                                                onMouseOut="@Command('rowMouseOut', evt=event)" style="background: none;">\r
                                                                                <detail open="@load(vm.rowsExpanded)">\r
                                                                                        <hlayout style="border-bottom: 1px solid #ebebeb; width: 100%;">\r
                                                                                        disabled="@load(not sessionScope.userPrincipal.editor or sessionScope.userPrincipal.anonymous or vm.selectedObject eq null)" label="Szerkesztés" />\r
                                                                        </div>\r
                                                                </toolbar>\r
-                                                               <div width="100%" vflex="true" style="padding: 4px; overflow:auto; background-color: white">\r
+                                                               <div id="mediaDetails" width="100%" vflex="true" style="padding: 4px; overflow:auto; background-color: white">\r
                                                                        <div>\r
                                                                                <label style="font-size:8pt; color: gray" value="Anyag azonosító" />\r
                                                                                <div style="margin: 4px">\r
index 2043af895b001f4f420e84e6f6e75847fc81c691..36579eddb62005fd60ac7805564829bfb629f5a8 100644 (file)
@@ -35,6 +35,7 @@ import org.zkoss.zul.Checkbox;
 import org.zkoss.zul.Column;\r
 import org.zkoss.zul.Combobox;\r
 import org.zkoss.zul.Detail;\r
+import org.zkoss.zul.Div;\r
 import org.zkoss.zul.Grid;\r
 import org.zkoss.zul.Hlayout;\r
 import org.zkoss.zul.ListModelList;\r
@@ -95,6 +96,8 @@ public class SearchModel extends AsyncBaseModel {
        Combobox search;\r
        @Wire\r
        Menupopup searchSettings;\r
+       @Wire\r
+       Div mediaDetails;\r
 \r
        private String orderBy;\r
        private boolean orderAscending;\r
@@ -216,12 +219,12 @@ public class SearchModel extends AsyncBaseModel {
                        searchResult = null;\r
                        itemsGrid.setActivePage(0);\r
                        searchValue = search.getText();\r
+                       setSelectedObject(null);\r
                        if (StringUtils.isBlank(searchValue) || searchValue.length() < 3)\r
                                throw new Exception("Legalább 3 karakter megadása kötelező!");\r
 \r
                        List<String> searchFilters = getSelectedFilters();\r
                        searchResult = new CachedListModel(searchValue, searchFilters, orderBy, orderAscending);\r
-                       setSelectedObject(null);\r
 \r
                        if (!searchHistory.contains(searchValue)) {\r
                                searchHistory.add(0, searchValue);\r
@@ -470,12 +473,14 @@ public class SearchModel extends AsyncBaseModel {
 \r
        @Command\r
        @NotifyChange({ "selectedObject", "hasLowresMediaFile", "hasTSMMediaFile", "lowresMediaFilePath" })\r
-       public void selectMediaArchive(@BindingParam("selectedObject") ArchivedMedia selectedObject, @ContextParam(ContextType.BIND_CONTEXT) BindContext ctx) {\r
+       public void select(@BindingParam("selectedObject") ArchivedMedia selectedObject, @ContextParam(ContextType.BIND_CONTEXT) BindContext ctx) {\r
                Event event = ctx.getTriggerEvent();\r
                selectedRowIndex = ((Row) event.getTarget()).getIndex();\r
                highlight(this.selectedObject, false);\r
-               this.selectedObject = selectedObject;\r
+               setSelectedObject(selectedObject);\r
                highlight(this.selectedObject, true);\r
+               Clients.scrollIntoView(mediaDetails.getFirstChild());\r
+\r
                logger.info("Media was selected. Selected media archive:{}", selectedObject.getMedia().getId());\r
        }\r
 \r
@@ -538,8 +543,10 @@ public class SearchModel extends AsyncBaseModel {
 \r
        @NotifyChange({ "selectedObject", "hasLowresMediaFile", "hasTSMMediaFile", "lowresMediaFilePath" })\r
        public void setSelectedObject(ArchivedMedia selectedObject) {\r
-               selectedObject.setMedia(itemManager.getMedia(selectedObject.getMedia().getId()));\r
-               selectedObject.setItem(itemManager.getItem(selectedObject.getMedia().getItemId()));\r
+               if (selectedObject != null) {\r
+                       selectedObject.setMedia(itemManager.getMedia(selectedObject.getMedia().getId()));\r
+                       selectedObject.setItem(itemManager.getItem(selectedObject.getMedia().getItemId()));\r
+               }\r
                this.selectedObject = selectedObject;\r
        }\r
 \r