git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube...
authorVásáry Dániel <daniel.vasary@userrendszerhaz.hu>
Mon, 16 Jul 2018 11:39:05 +0000 (11:39 +0000)
committerVásáry Dániel <daniel.vasary@userrendszerhaz.hu>
Mon, 16 Jul 2018 11:39:05 +0000 (11:39 +0000)
server/user.jobengine.osgi.server/WEB-INF/zk.xml
server/user.jobengine.osgi.server/pages/searchitems.zul
server/user.jobengine.osgi.server/src/user/jobengine/zk/model/SearchModel.java
server/user.jobengine.osgi.server/src/user/jobengine/zk/util/LogEventInterceptor.java [new file with mode: 0644]

index 8afaaab8223cc8058353eb1661e58562ab134b45..39a1973633a9b7c01e1a04a4e23a57c748d09945 100644 (file)
@@ -19,6 +19,9 @@
        </system-config>\r
        \r
        \r
+<!--   <listener> -->\r
+<!--       <listener-class>user.jobengine.zk.util.LogEventInterceptor</listener-class> -->\r
+<!--   </listener>      -->\r
        <listener>\r
         <description>Monitor the statistic</description>\r
         <listener-class>org.zkoss.zk.ui.util.Statistic</listener-class>\r
index 0e073c61dfcc5231511d29b8ee3e6d54bec59912..b9b484fe4dba9f66268417e366d7a42d28caf570 100644 (file)
                .z-messagebox-window{ top:40% !important; width:30% !important; }\r
        </style>\r
        <div id="scdiv" width="100%" height="100%" apply="org.zkoss.bind.BindComposer" viewModel="@id('vm') @init('user.jobengine.zk.model.SearchModel')">\r
-               <timer id="timer" delay="100" repeats="true" onTimer="@command('uiTick')" />\r
+               <timer id="timer" delay="500" repeats="true" onTimer="@command('uiTick')" />\r
                <borderlayout>\r
                        <west border="none" size="60%" splittable="true" minsize="500">\r
                                <div height="100%" width="100%">\r
                                        <groupbox vflex="min" closable="false">\r
                                                <vlayout>\r
                                                        <hbox pack="left" align="top">\r
-                                                               <toolbar class="toolbar">\r
+                                                               <toolbar class="toolbar" style="width: 40px;">\r
                                                                        <toolbarbutton label="Mind" style="font-size:9px;padding:0px;margin:0px 10px 0px 0px;background:none;" mode="toggle"\r
                                                                                checked="@bind(vm.allChecked)" />\r
                                                                </toolbar>\r
                                                </vlayout>\r
                                        </popup>\r
                                        <groupbox vflex="true" closable="false">\r
-<!--                                                   onAfterRender="@command('onPaging')" -->\r
-                                               <grid id="itemsGrid" sizedByContent="false" span="true" vflex="true" hflex="true" mold="paging" autopaging="false"\r
-                                                       model="@load(vm.searchResult)" emptyMessage="Nincs találat!" \r
+                                       <!-- \r
                                                        onAfterRender='Events.sendEvent("onAfterDataLoading", self, null);'\r
                                                onAfterDataLoading="@command('afterDataLoading')"\r
+\r
+-->\r
+                                               <grid id="itemsGrid" sizedByContent="false" span="true" vflex="true" hflex="true" mold="paging" autopaging="false"\r
+                                                       model="@load(vm.searchResult)" emptyMessage="Nincs találat!" \r
                                                        pageSize="50"\r
+                                                       onAfterRender="@command('onAfterRenderGrid')"\r
                                                        style="border: none; background: white !important;" oddRowSclass="listbox-odd-style">\r
                                                        <columns>\r
                                                                <column hflex="min">\r
index b210ee849c85eac356983891a9cb91eb2441059c..dcf7fd596e40879181539ddd86a0f81487b75c01 100644 (file)
@@ -76,7 +76,6 @@ public class SearchModel extends AsyncBaseModel {
        private boolean allChecked = true;\r
        private boolean rowsExpanded = true;\r
        private boolean allSelected;\r
-       private String baseURL;\r
        private boolean itemSelected;\r
        @Wire\r
        Rows rows;\r
@@ -86,8 +85,6 @@ public class SearchModel extends AsyncBaseModel {
        private boolean orderAscending;\r
 \r
        private Map<String, String> topColorClasses;\r
-       private String[] parameters;\r
-       private String mediaID;\r
 \r
        public SearchModel() {\r
                typeFilters = new LinkedHashMap<>();\r
@@ -151,23 +148,22 @@ public class SearchModel extends AsyncBaseModel {
                Selectors.wireComponents(view, this, false);\r
                Selectors.wireEventListeners(view, this);\r
                itemsGrid.getPagingChild().setAutohide(false);\r
+\r
                for (Component child : itemsGrid.getColumns().getChildren()) {\r
                        Column column = (Column) child;\r
                        column.addEventListener("onSort", evt -> doSort(evt));\r
                }\r
-               String port = (Executions.getCurrent().getServerPort() == 80) ? "" : (":" + Executions.getCurrent().getServerPort());\r
-               baseURL = Executions.getCurrent().getScheme() + "://" + Executions.getCurrent().getServerName() + port + Executions.getCurrent().getContextPath();\r
-               setParameters();\r
-               mediaID = getValueByParameterName(MEDIA_ID);\r
-               if (mediaID != null) {\r
+\r
+               String mediaID = SessionUtil.getQueryParameter(MEDIA_ID);\r
+               if (mediaID != null)\r
                        searchResult = new InitializedCachedListModel(mediaID, searchValue, new ArrayList<String>(), orderBy, orderAscending);\r
-               }\r
-               if (rows != null)\r
-                       Clients.scrollIntoView(rows.getFirstChild());\r
        }\r
 \r
        @Command\r
        public void copyMediaIdToClipboard() {\r
+               String port = (Executions.getCurrent().getServerPort() == 80) ? "" : (":" + Executions.getCurrent().getServerPort());\r
+               String baseURL = Executions.getCurrent().getScheme() + "://" + Executions.getCurrent().getServerName() + port\r
+                               + Executions.getCurrent().getContextPath();\r
                String url = String.format("%s/?%s=%d", baseURL, MEDIA_ID, selectedObject.getMedia().getId());\r
                Toolkit toolkit = Toolkit.getDefaultToolkit();\r
                Clipboard clipboard = toolkit.getSystemClipboard();\r
@@ -176,16 +172,6 @@ public class SearchModel extends AsyncBaseModel {
                Messagebox.show("A médiához szükséges URL a vágólapra másolva, az URL a következő:\n" + url, "", Messagebox.OK, Messagebox.NONE);\r
        }\r
 \r
-       @Command\r
-       public void afterDataLoading() {\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
-\r
        @Command\r
        @NotifyChange({ "searchResult", "selectedObject", "hasLowresMediaFile", "lowresMediaFilePath" })\r
        public void doSearch() {\r
@@ -219,10 +205,7 @@ public class SearchModel extends AsyncBaseModel {
 \r
        @Command\r
        public void doTest() {\r
-               List<Component> children = itemsGrid.getRows().getChildren();\r
-               int pos = itemsGrid.getPageSize() * itemsGrid.getActivePage();\r
-               Component top = children.get(pos);\r
-               Clients.scrollIntoView(top);\r
+               onAfterRenderGrid();\r
        }\r
 \r
        @Command\r
@@ -355,14 +338,6 @@ public class SearchModel extends AsyncBaseModel {
                return typeFilters;\r
        }\r
 \r
-       private String getValueByParameterName(String name) {\r
-               for (String result : parameters) {\r
-                       if (result.contains(name))\r
-                               return result.substring(result.indexOf('=') + 1);\r
-               }\r
-               return null;\r
-       }\r
-\r
        private void highlight(ArchivedMedia am, boolean highlight) {\r
                if (am == null)\r
                        return;\r
@@ -402,6 +377,19 @@ public class SearchModel extends AsyncBaseModel {
                return rowsExpanded;\r
        }\r
 \r
+       @Command\r
+       public void onAfterRenderGrid() {\r
+               registerTask(() -> {\r
+                       logger.info("onAfterRenderGrid");\r
+                       List<Component> children = rows.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
+       }\r
+\r
        @Command\r
        public void openMetaDataDialog() {\r
                String template = "/pages/metadatadetails.zul";\r
@@ -469,10 +457,6 @@ public class SearchModel extends AsyncBaseModel {
                this.itemSelectedValidator = itemSelectedValidator;\r
        }\r
 \r
-       private void setParameters() {\r
-               parameters = SessionUtil.getQueryString().split("&");\r
-       }\r
-\r
        public void setRowsExpanded(boolean rowsExpanded) {\r
                this.rowsExpanded = rowsExpanded;\r
        }\r
diff --git a/server/user.jobengine.osgi.server/src/user/jobengine/zk/util/LogEventInterceptor.java b/server/user.jobengine.osgi.server/src/user/jobengine/zk/util/LogEventInterceptor.java
new file mode 100644 (file)
index 0000000..91fd3c8
--- /dev/null
@@ -0,0 +1,34 @@
+package user.jobengine.zk.util;\r
+\r
+import org.apache.logging.log4j.LogManager;\r
+import org.apache.logging.log4j.Logger;\r
+import org.zkoss.zk.ui.event.Event;\r
+import org.zkoss.zk.ui.util.EventInterceptor;\r
+\r
+public class LogEventInterceptor implements EventInterceptor {\r
+       private static final Logger logger = LogManager.getLogger();\r
+\r
+       @Override\r
+       public void afterProcessEvent(Event event) {\r
+               logger.info("afterProcessEvent {}", event.getName());\r
+\r
+       }\r
+\r
+       @Override\r
+       public Event beforePostEvent(Event event) {\r
+               //              logger.info("beforePostEvent {}", event.getName());\r
+               return event;\r
+       }\r
+\r
+       @Override\r
+       public Event beforeProcessEvent(Event event) {\r
+               //              logger.info("beforeProcessEvent {}", event.getName());\r
+               return event;\r
+       }\r
+\r
+       @Override\r
+       public Event beforeSendEvent(Event event) {\r
+               //              logger.info("beforeSendEvent {}", event.getName());\r
+               return event;\r
+       }\r
+}
\ No newline at end of file