git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube...
authorVásáry Dániel <daniel.vasary@userrendszerhaz.hu>
Tue, 17 Jul 2018 14:09:42 +0000 (14:09 +0000)
committerVásáry Dániel <daniel.vasary@userrendszerhaz.hu>
Tue, 17 Jul 2018 14:09:42 +0000 (14:09 +0000)
server/user.jobengine.osgi.server/img/baseline_expand_more_black_18dp.png [new file with mode: 0644]
server/user.jobengine.osgi.server/pages/searchitems.zul
server/user.jobengine.osgi.server/src/user/jobengine/zk/model/CachedListModel.java
server/user.jobengine.osgi.server/src/user/jobengine/zk/model/SearchModel.java

diff --git a/server/user.jobengine.osgi.server/img/baseline_expand_more_black_18dp.png b/server/user.jobengine.osgi.server/img/baseline_expand_more_black_18dp.png
new file mode 100644 (file)
index 0000000..6535430
Binary files /dev/null and b/server/user.jobengine.osgi.server/img/baseline_expand_more_black_18dp.png differ
index f36c53f5efa5cb8bf4c3da3920da66e556934033..3e1bd3b2d7eea4357e3da96f69bb40a9abb73e1a 100644 (file)
@@ -7,8 +7,8 @@
 <zk xmlns:w="http://www.zkoss.org/2005/zk/client">\r
        <!-- csak igy jo a list sebessege -->\r
        <custom-attributes org.zkoss.zul.listbox.rod="true" />\r
-       <custom-attributes org.zkoss.zul.listbox.initRodSize="50" />\r
-       <custom-attributes org.zkoss.zul.listbox.preloadSize="50" />\r
+<!--   <custom-attributes org.zkoss.zul.listbox.initRodSize="50" /> -->\r
+<!--   <custom-attributes org.zkoss.zul.listbox.preloadSize="50" /> -->\r
        <style>\r
                .myimg { margin: 5px; border: 1px solid #CFCFCF; } div.z-row-content span { font-family: Tahoma,Arial,serif; } .z-row .z-detail-outer { padding: 3px\r
                6px; } .heavy { font-weight: bold; font-family: Tahoma,Arial,serif; } .ir { font-weight: bold; font-family: Tahoma,Arial,serif; text-color: green; }\r
                                                                </template>\r
                                                        </combobox>\r
                                                        <button hflex="min" image="/img/ic_search_black_18dp.png" onClick="@command('doSearch')" />\r
-<!--                                                   <spinner inplace="true" value="50" width="50px"/> -->\r
-                                                       <a onClick="@command('clearHistory')" style="font-size: 9px;">előzmények törlése</a>\r
+                                                       <button dir="reverse" image="/img/baseline_expand_more_black_18dp.png"\r
+                                                               popup="searchSettings, after_start" iconSclass="caret">\r
+                                                       </button>\r
+                                                       <menupopup id="searchSettings">\r
+                                                               <menuitem label="10 találat oldalanként" value="10" checked="true" onClick="@command('setPageSize', source=self)" />\r
+                                                               <menuitem label="25 találat oldalanként" value="25" checked="true" onClick="@command('setPageSize', source=self)" />\r
+                                                               <menuitem label="50 találat oldalanként" value="50" checked="true" onClick="@command('setPageSize', source=self)" />\r
+                                                               <menuitem label="100 találat oldalanként" value="100" checked="true" onClick="@command('setPageSize', source=self)" />\r
+                                                               <menuitem label="200 találat oldalanként" value="200" checked="true" onClick="@command('setPageSize', source=self)" />\r
+                                                               <menuseparator />\r
+                                                               <menuitem label="Előzmények törlése" onClick="@command('clearHistory')" />\r
+                                                       </menupopup>\r
                                                </hbox>\r
                                        </groupbox>\r
                                        <popup id="sortOther">\r
index 3b9977512d22910b44793b98c46b7e6bd534f6fa..4bee35967e202098425b07abd98feb6d9035312e 100644 (file)
@@ -24,7 +24,7 @@ import user.jobengine.db.SearchResult;
  */\r
 public class CachedListModel extends ListModelList<ArchivedMedia> {\r
        private static final Logger logger = LogManager.getLogger();\r
-       private int cacheSize = 100;\r
+       private int cacheSize = 200;\r
        private HashMap<Integer, ArchivedMedia> cache = new HashMap<Integer, ArchivedMedia>();\r
 \r
        private String searchValue = null;\r
index c55817655dbf6887e0db8064c9238a1e830db4d1..9f96b5787360ca19f46570ef07d9c3505856b82d 100644 (file)
@@ -38,6 +38,8 @@ import org.zkoss.zul.Detail;
 import org.zkoss.zul.Grid;\r
 import org.zkoss.zul.Hlayout;\r
 import org.zkoss.zul.ListModelList;\r
+import org.zkoss.zul.Menuitem;\r
+import org.zkoss.zul.Menupopup;\r
 import org.zkoss.zul.Messagebox;\r
 import org.zkoss.zul.Paging;\r
 import org.zkoss.zul.Row;\r
@@ -90,6 +92,8 @@ public class SearchModel extends AsyncBaseModel {
        Button backToVideoButton;\r
        @Wire\r
        Combobox search;\r
+       @Wire\r
+       Menupopup searchSettings;\r
 \r
        private String orderBy;\r
        private boolean orderAscending;\r
@@ -97,7 +101,6 @@ public class SearchModel extends AsyncBaseModel {
        private Map<String, String> topColorClasses;\r
        private int selectedRowIndex;\r
        private int selectedPageIndex;\r
-       private String mediaID;\r
        private volatile boolean preventAfterRender;\r
        private Row lastSelectedRow;\r
        private int positionToScroll;\r
@@ -166,17 +169,9 @@ public class SearchModel extends AsyncBaseModel {
        public void afterCompose(@ContextParam(ContextType.VIEW) Component view) {\r
                Selectors.wireComponents(view, this, false);\r
                Selectors.wireEventListeners(view, this);\r
-               Paging paging = itemsGrid.getPagingChild();\r
-               paging.setAutohide(false);\r
-\r
-               for (Component child : itemsGrid.getColumns().getChildren()) {\r
-                       Column column = (Column) child;\r
-                       column.addEventListener("onSort", evt -> doSort(evt));\r
-               }\r
-\r
-               mediaID = SessionUtil.getQueryParameter(MEDIA_ID);\r
-               if (mediaID != null)\r
-                       searchResult = new InitializedCachedListModel(mediaID, searchValue, new ArrayList<String>(), orderBy, orderAscending);\r
+               configureSearchResultGrid();\r
+               showExternalMediaID();\r
+               setSettingsPageSize(itemsGrid.getPageSize());\r
        }\r
 \r
        @Command\r
@@ -186,6 +181,16 @@ public class SearchModel extends AsyncBaseModel {
                SessionUtil.putUserSearchHistory(searchHistory);\r
        }\r
 \r
+       private void configureSearchResultGrid() {\r
+               Paging paging = itemsGrid.getPagingChild();\r
+               paging.setAutohide(false);\r
+\r
+               for (Component child : itemsGrid.getColumns().getChildren()) {\r
+                       Column column = (Column) child;\r
+                       column.addEventListener("onSort", evt -> doSort(evt));\r
+               }\r
+       }\r
+\r
        @Command\r
        public void copyMediaIdToClipboard() {\r
                String port = (Executions.getCurrent().getServerPort() == 80) ? "" : (":" + Executions.getCurrent().getServerPort());\r
@@ -524,6 +529,15 @@ public class SearchModel extends AsyncBaseModel {
                this.itemSelectedValidator = itemSelectedValidator;\r
        }\r
 \r
+       @Command\r
+       public void setPageSize(@BindingParam("source") Menuitem source) {\r
+               if (source.isChecked())\r
+                       return;\r
+               int pageSize = Integer.parseInt(source.getValue());\r
+               setSettingsPageSize(pageSize);\r
+               itemsGrid.setPageSize(pageSize);\r
+       }\r
+\r
        public void setRowsExpanded(boolean rowsExpanded) {\r
                this.rowsExpanded = rowsExpanded;\r
        }\r
@@ -537,6 +551,26 @@ public class SearchModel extends AsyncBaseModel {
                this.selectedObject = selectedObject;\r
        }\r
 \r
+       private void setSettingsPageSize(int pageSize) {\r
+               List<Component> searchSettingItems = searchSettings.getChildren();\r
+               for (Component c : searchSettingItems) {\r
+                       if (!(c instanceof Menuitem))\r
+                               continue;\r
+                       Menuitem menuItem = (Menuitem) c;\r
+                       String value = menuItem.getValue();\r
+                       if (String.valueOf(pageSize).equals(value))\r
+                               menuItem.setChecked(true);\r
+                       else\r
+                               menuItem.setChecked(false);\r
+               }\r
+       }\r
+\r
+       private void showExternalMediaID() {\r
+               String mediaID = SessionUtil.getQueryParameter(MEDIA_ID);\r
+               if (mediaID != null)\r
+                       searchResult = new InitializedCachedListModel(mediaID, searchValue, new ArrayList<String>(), orderBy, orderAscending);\r
+       }\r
+\r
        @Command\r
        //      @NotifyChange("itemsGrid")\r
        public void showInResults() {\r