typeFilters modification
authorDénes Horváth <USER\denes.horvath>
Thu, 26 Sep 2019 12:18:17 +0000 (12:18 +0000)
committerDénes Horváth <USER\denes.horvath>
Thu, 26 Sep 2019 12:18:17 +0000 (12:18 +0000)
git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube;C31549

server/-configuration/mediacube.json
server/user.jobengine.osgi.commons/src/user/commons/NamedStoreUri.java [new file with mode: 0644]
server/user.jobengine.osgi.server/pages/searchitems.zul
server/user.jobengine.osgi.server/src/user/jobengine/zk/model/MediaCubeConfig.java
server/user.jobengine.osgi.server/src/user/jobengine/zk/model/SearchModel.java

index d0b8864c48d167d7aa61796ccb10fb566424a5cf..4f38637d7918b4f3ec1b4a28c0b9b06b9a8dea10 100644 (file)
@@ -9,10 +9,69 @@
                        "name": "Hír nyers",\r
                        "color": "RED100",\r
                        "icon": "ic_perm_camera_mic_black_18dp.png"\r
+               },\r
+               {\r
+                       "name": "ECHO visszarögzített",\r
+                       "color": "BROWN100",\r
+                       "icon": "ic_group_work_black_18dp.png"\r
+               },\r
+               {\r
+                       "name": "Visszarögzített",\r
+                       "color": "BROWN100",\r
+                       "icon": "ic_group_work_black_18dp.png"\r
+               },\r
+               {\r
+                       "name": "Egyéb",\r
+                       "color": "YELLOW200",\r
+                       "icon": "ic_view_quilt_black_18dp.png"\r
                }\r
        ],\r
        "bottomTypeFilters": [\r
-               \r
+               {\r
+                       "name": "ECHO műsor",\r
+                       "color": "TEAL200",\r
+                       "icon": "ic_theaters_black_18dp.png"\r
+               },\r
+               {\r
+                       "name": "Műsor",\r
+                       "color": "TEAL200",\r
+                       "icon": "ic_theaters_black_18dp.png"\r
+               },\r
+               {\r
+                       "name": "Műsor nyers",\r
+                       "color": "TEAL100",\r
+                       "icon": "ic_invert_colors_black_18dp.png"\r
+               },\r
+               {\r
+                       "name": "ECHO promo",\r
+                       "color": "INDIGO200",\r
+                       "icon": "ic_picture_in_picture_black_18dp.png"\r
+               },\r
+               {\r
+                       "name": "Promo",\r
+                       "color": "INDIGO200",\r
+                       "icon": "ic_picture_in_picture_black_18dp.png"\r
+               },\r
+               {\r
+                       "name": "Promo nyers",\r
+                       "color": "INDIGO100",\r
+                       "icon": "ic_bug_report_black_18dp.png"\r
+               },\r
+               {\r
+                       "name": "ECHO reklám",\r
+                       "color": "BLUE200",\r
+                       "icon": "ic_picture_in_picture_alt_black_18dp.png"\r
+               },\r
+               {\r
+                       "name": "Reklám",\r
+                       "color": "BLUE200",\r
+                       "icon": "ic_picture_in_picture_alt_black_18dp.png"\r
+               },\r
+               {\r
+                       "name": "Reklám nyers",\r
+                       "color": "BLUE100",\r
+                       "icon": "ic_settings_brightness_black_18dp.png"\r
+               }\r
        ],\r
        "authentication": {\r
                "authEnabled": true,\r
diff --git a/server/user.jobengine.osgi.commons/src/user/commons/NamedStoreUri.java b/server/user.jobengine.osgi.commons/src/user/commons/NamedStoreUri.java
new file mode 100644 (file)
index 0000000..b01c7fa
--- /dev/null
@@ -0,0 +1,13 @@
+package user.commons;\r
+\r
+public class NamedStoreUri extends StoreUri {\r
+       private String name = null;\r
+\r
+       public String getName() {\r
+               return name;\r
+       }\r
+\r
+       public void setName(String name) {\r
+               this.name = name;\r
+       }\r
+}\r
index f553c7d46e867573425a9b8ba9312798fe73190d..0f4feb46df6035451b4fc47600510becdc88214e 100644 (file)
                                                                </toolbar>\r
                                                                <vlayout>\r
                                                                        <toolbar class="toolbar">\r
-                                                                               <forEach items="@load(vm.topTypeFilterNames)">\r
-                                                                                       <toolbarbutton label="@load(each)" mode="toggle" image="@load(c:cat('/img/types/', vm.typeFilters[each].icon))"\r
-                                                                                               checked="@bind(vm.typeFilters[each].checked) @validator(vm.allFilterCheckedValidator)"\r
-                                                                                               class="@load(c:cat(vm.typeFilters[each].color, ' typefilter'))" />\r
+                                                                               <forEach items="@load(vm.topTypeFilters)">\r
+                                                                                       <toolbarbutton label="@load(each.getName())" mode="toggle" image="@load(c:cat('/img/types/', each.getIcon()))"\r
+                                                                                               checked="@bind(each.checked) @validator(vm.allFilterCheckedValidator)"\r
+                                                                                               class="@load(c:cat(each.getColor(), ' typefilter'))" />\r
                                                                                </forEach>\r
                                                                        </toolbar>\r
                                                                        <toolbar class="toolbar">\r
-                                                                               <forEach items="@load(vm.bottomTypeFilterNames)">\r
-                                                                                       <toolbarbutton label="@load(each)" mode="toggle" image="@load(c:cat('/img/types/', vm.typeFilters[each].icon))"\r
-                                                                                               checked="@bind(vm.typeFilters[each].checked) @validator(vm.allFilterCheckedValidator)"\r
-                                                                                               class="@load(c:cat(vm.typeFilters[each].color, ' typefilter'))" />\r
+                                                                               <forEach items="@load(vm.bottomTypeFilters)">\r
+                                                                                       <toolbarbutton label="@load(each.getName())" mode="toggle" image="@load(c:cat('/img/types/', each.getIcon()))"\r
+                                                                                               checked="@bind(each.checked) @validator(vm.allFilterCheckedValidator)"\r
+                                                                                               class="@load(c:cat(each.getColor(), ' typefilter'))" />\r
                                                                                </forEach>\r
                                                                        </toolbar>\r
                                                                </vlayout>\r
index d56b5e7c33176f691a54119ee9ad6986e2d007b1..c64ec627a67052f87e67f27619c9e0ff0be81609 100644 (file)
@@ -1,14 +1,34 @@
 package user.jobengine.zk.model;\r
 \r
+import java.util.List;\r
+\r
 public class MediaCubeConfig {\r
        private MediaCubeAuthentication authentication;\r
+       private List<TypeFilter> topTypeFilters;\r
+       private List<TypeFilter> bottomTypeFilters;\r
 \r
        public MediaCubeAuthentication getAuthentication() {\r
                return authentication;\r
        }\r
 \r
+       public List<TypeFilter> getBottomTypeFilters() {\r
+               return bottomTypeFilters;\r
+       }\r
+\r
+       public List<TypeFilter> getTopTypeFilters() {\r
+               return topTypeFilters;\r
+       }\r
+\r
        public void setAuthentication(MediaCubeAuthentication authentication) {\r
                this.authentication = authentication;\r
        }\r
 \r
+       public void setBottomTypeFilters(List<TypeFilter> bottomTypeFilters) {\r
+               this.bottomTypeFilters = bottomTypeFilters;\r
+       }\r
+\r
+       public void setTopTypeFilters(List<TypeFilter> topTypeFilters) {\r
+               this.topTypeFilters = topTypeFilters;\r
+       }\r
+\r
 }\r
index 6734cd637a1246840a38ec367e926929740a9b16..6af45af219482356aa5a44a4c6c6537301edd80d 100644 (file)
@@ -61,27 +61,13 @@ import user.jobengine.zk.util.SessionUtil;
 \r
 public class SearchModel extends AsyncBaseModel {\r
 \r
-       private static final String GENERIC_ORIGINAL = "Generic";\r
        private static final String ARG = "arg";\r
        private static final String MEDIA_ID = "showMediaID";\r
-       private static final String GENERIC = "Egyéb";\r
-       private static final String ECHO_RECORDING = "ECHO visszarögzített";\r
-       private static final String RECORDING = "Visszarögzített";\r
-       private static final String RAW_AD = "Reklám nyers";\r
-       private static final String ECHO_AD = "ECHO reklám";\r
-       private static final String AD = "Reklám";\r
-       private static final String RAW_PROMO = "Promo nyers";\r
-       private static final String ECHO_PROMO = "ECHO promo";\r
-       private static final String PROMO = "Promo";\r
-       private static final String RAW_MATERIAL = "Műsor nyers";\r
-       private static final String ECHO_MATERIAL = "ECHO műsor";\r
-       private static final String MATERIAL = "Műsor";\r
-       private static final String RAW_NEWS_MATERIAL = "Hír nyers";\r
-       private static final String NEWS_MATERIAL = "Hír bejátszó";\r
        private static final Logger logger = LogManager.getLogger();\r
        private static final String PAGES_MEDIAPLAYER = "/pages/mediaplayer.jsp?mediaurl=";\r
-       private String[] topTypeFilterNames;\r
-       private String[] bottomTypeFilterNames;\r
+       private static MediaCubeConfig mediaCubeConfig = SessionUtil.getMediaCubeConfig();\r
+       private List<TypeFilter> topTypeFilters;\r
+       private List<TypeFilter> bottomTypeFilters;\r
        private Map<String, TypeFilter> typeFilters;\r
        private Map<String, String> columnHeaders;\r
        private String searchValue = null;\r
@@ -124,23 +110,8 @@ public class SearchModel extends AsyncBaseModel {
        public SearchModel() {\r
                this.itemManager = ItemManager.getInstance();\r
                typeFilters = new LinkedHashMap<>();\r
-               addTypeFilter(TypeFilter.as(NEWS_MATERIAL, "RED200", "ic_language_black_18dp.png"));\r
-               addTypeFilter(TypeFilter.as(RAW_NEWS_MATERIAL, "RED100", "ic_perm_camera_mic_black_18dp.png"));\r
-               addTypeFilter(TypeFilter.as(MATERIAL, "TEAL200", "ic_theaters_black_18dp.png"));\r
-               addTypeFilter(TypeFilter.as(ECHO_MATERIAL, "TEAL200", "ic_theaters_black_18dp.png"));\r
-               addTypeFilter(TypeFilter.as(RAW_MATERIAL, "TEAL100", "ic_invert_colors_black_18dp.png"));\r
-               addTypeFilter(TypeFilter.as(PROMO, "INDIGO200", "ic_picture_in_picture_black_18dp.png"));\r
-               addTypeFilter(TypeFilter.as(ECHO_PROMO, "INDIGO200", "ic_picture_in_picture_black_18dp.png"));\r
-               addTypeFilter(TypeFilter.as(RAW_PROMO, "INDIGO100", "ic_bug_report_black_18dp.png"));\r
-               addTypeFilter(TypeFilter.as(AD, "BLUE200", "ic_picture_in_picture_alt_black_18dp.png"));\r
-               addTypeFilter(TypeFilter.as(ECHO_AD, "BLUE200", "ic_picture_in_picture_alt_black_18dp.png"));\r
-               addTypeFilter(TypeFilter.as(RAW_AD, "BLUE100", "ic_settings_brightness_black_18dp.png"));\r
-               addTypeFilter(TypeFilter.as(RECORDING, "BROWN100", "ic_group_work_black_18dp.png"));\r
-               addTypeFilter(TypeFilter.as(ECHO_RECORDING, "BROWN100", "ic_group_work_black_18dp.png"));\r
-               addTypeFilter(TypeFilter.as(GENERIC, "YELLOW200", "ic_view_quilt_black_18dp.png"));\r
-               addTypeFilter(TypeFilter.as(GENERIC_ORIGINAL, "YELLOW200", "ic_view_quilt_black_18dp.png"));\r
-               topTypeFilterNames = new String[] { NEWS_MATERIAL, RAW_NEWS_MATERIAL, ECHO_RECORDING, RECORDING, GENERIC };\r
-               bottomTypeFilterNames = new String[] { ECHO_MATERIAL, MATERIAL, RAW_MATERIAL, ECHO_PROMO, PROMO, RAW_PROMO, ECHO_AD, AD, RAW_AD };\r
+               setTopTypeFilters(mediaCubeConfig.getTopTypeFilters());\r
+               setBottomTypeFilters(mediaCubeConfig.getBottomTypeFilters());\r
 \r
                columnHeaders = new LinkedHashMap<>();\r
                columnHeaders.put("ID", "mediahouseid");\r
@@ -336,8 +307,8 @@ public class SearchModel extends AsyncBaseModel {
                return allFilterCheckedValidator;\r
        }\r
 \r
-       public String[] getBottomTypeFilterNames() {\r
-               return bottomTypeFilterNames;\r
+       public List<TypeFilter> getBottomTypeFilters() {\r
+               return bottomTypeFilters;\r
        }\r
 \r
        public boolean getHasLowresMediaFile() {\r
@@ -414,8 +385,8 @@ public class SearchModel extends AsyncBaseModel {
                return topColorClasses;\r
        }\r
 \r
-       public String[] getTopTypeFilterNames() {\r
-               return topTypeFilterNames;\r
+       public List<TypeFilter> getTopTypeFilters() {\r
+               return topTypeFilters;\r
        }\r
 \r
        public String getTSMMediaFilePath() throws Exception {\r
@@ -509,12 +480,6 @@ public class SearchModel extends AsyncBaseModel {
 \r
        @Command\r
        public void onTcIn(@ContextParam(ContextType.TRIGGER_EVENT) Event event) throws Exception {\r
-               ////////////Végén törölni innen!!!\r
-               if (selectedObject == null) {\r
-                       selectedObject = new ArchivedMedia();\r
-               }\r
-               ////////////Végén törölni eddig!!!\r
-\r
                JSONObject jsObject = (JSONObject) event.getData();\r
                Double doubleVar = 0.0;\r
                if (!jsObject.get("meta").equals(0)) {\r
@@ -530,12 +495,6 @@ public class SearchModel extends AsyncBaseModel {
 \r
        @Command\r
        public void onTcOut(@ContextParam(ContextType.TRIGGER_EVENT) Event event) throws Exception {\r
-               ////////////Végén törölni innen!!!\r
-               if (selectedObject == null) {\r
-                       selectedObject = new ArchivedMedia();\r
-               }\r
-               ////////////Végén törölni eddig!!!\r
-\r
                JSONObject jsObject = (JSONObject) event.getData();\r
                Double doubleVar = 0.0;\r
                if (!jsObject.get("meta").equals(0)) {\r
@@ -586,19 +545,15 @@ public class SearchModel extends AsyncBaseModel {
                logger.info("Media was selected. Selected media archive:{}", selectedObject.getMedia().getId());\r
        }\r
 \r
-       @NotifyChange("typeFilters")\r
+       @NotifyChange({ "typeFilters", "topTypeFilters", "bottomTypeFilters" })\r
        public void setAllChecked(boolean allChecked) {\r
-               ////////////Végén törölni innen!!!\r
-               if (allChecked) {\r
-                       Clients.evalJavaScript("setSource('/img/Mediacube_todo2.mp4')");\r
-               } else {\r
-                       // Clients.evalJavaScript("setSource('/img/mediacube_logo_v2_50x50.png')");\r
-                       Clients.evalJavaScript("setSource()");\r
-               }\r
-               ////////////Végén törölni eddig!!!\r
                this.allChecked = allChecked;\r
                for (String key : typeFilters.keySet())\r
                        typeFilters.get(key).setChecked(allChecked);\r
+               for (TypeFilter topTypeFilter : topTypeFilters)\r
+                       topTypeFilter.setChecked(allChecked);\r
+               for (TypeFilter bottomTypeFilter : bottomTypeFilters)\r
+                       bottomTypeFilter.setChecked(allChecked);\r
        }\r
 \r
        public void setAllFilterCheckedValidator(Validator allFilterCheckedValidator) {\r
@@ -625,6 +580,10 @@ public class SearchModel extends AsyncBaseModel {
 \r
        }\r
 \r
+       public void setBottomTypeFilters(List<TypeFilter> bottomTypeFilters) {\r
+               this.bottomTypeFilters = bottomTypeFilters;\r
+       }\r
+\r
        private void setColumnOrder() {\r
                if (SessionUtil.getUserColumnOrder() != null) {\r
                        columnOrder = new HashMap<>();\r
@@ -698,6 +657,10 @@ public class SearchModel extends AsyncBaseModel {
                }\r
        }\r
 \r
+       public void setTopTypeFilters(List<TypeFilter> topTypeFilters) {\r
+               this.topTypeFilters = topTypeFilters;\r
+       }\r
+\r
        private void setUserSelectedFilters() {\r
                List<String> selectedFilters = SessionUtil.getUserSearchFilter();\r
                if (selectedFilters != null) {\r