Start of media kezelése lejátszóban
authorOmar Sweidan <omar.sweidan@userrendszerhaz.hu>
Tue, 10 May 2022 10:59:03 +0000 (12:59 +0200)
committerOmar Sweidan <omar.sweidan@userrendszerhaz.hu>
Mon, 16 May 2022 14:57:46 +0000 (16:57 +0200)
server/-product/production/LOCAL/settings/application.yaml
server/user.mediacube.gui/css/searchitems.css
server/user.mediacube.gui/js/searchitems.js
server/user.mediacube.gui/pages/joblist.zul
server/user.mediacube.gui/pages/jobs.zul
server/user.mediacube.gui/pages/searchitems.zul
server/user.mediacube.gui/src/user/jobengine/zk/model/ListSearchModel.java

index 7b51132ec6d4aa0d7e3746700c2736ba14a971ae..ff4fd17e1300465368f192ce38e364ce59d9c221 100644 (file)
@@ -23,7 +23,7 @@ datasource:
     password: VDani\r
 services:\r
   ffmpeg:\r
-    execurable-location: /opt/ffmpeg/ffmpeg \r
+    executable-location: /opt/ffmpeg/ffmpeg \r
   mediacube:\r
     proxy-root: /data/mediacube\r
   nexio:\r
index 38c5c1c9b71c455b12a943a0c9f045857306afa8..4c7832aab3868d29e6243ec11555e93cc3376c3a 100644 (file)
-@charset "UTF-8";
-
-.myimg {
-       margin: 5px;
-       border: 1px solid #CFCFCF;
-}
-
-div.z-row-content span {
-       font-family: Tahoma, Arial, serif;
-       background: none;
-       background-image: none;
-}
-
-.z-row .z-detail-outer {
-       padding: 3px 6px;
-}
-
-.heavy {
-       font-weight: bold;
-       font-family: Tahoma, Arial, serif;
-}
-
-.ir {
-/*     ir == informationResult */
-       font-weight: bold;
-       font-family: Tahoma, Arial, serif;
-       color: green;
-}
-
-.details {
-       padding: 5px;
-       line-height: 1.5em;
-       font-size: 10px;
-}
-
-.relevant {
-       padding: 8px;
-       font-size: 10px;
-}
-
-.rhl {
-       color: #E53935;
-       font-weight: bold;
-}
-
-.z-row:hover>.z-row-inner, .z-row:hover>.z-cell {
-       background: none;
-       background-image: none;
-}
-
-.z-row:hover>.z-row-inner>.z-row-content {
-       color: black;
-       background: none;
-       background-image: none;
-}
-
-.RED100 .z-toolbarbutton-content {
-       background: #FFCDD2;
-}
-
-.RED200 .z-toolbarbutton-content {
-       background: #EF9A9A;
-}
-
-.BROWN100 .z-toolbarbutton-content {
-/*     background: #D7CCC8; */
-       background: none;
-       background-image: none;
-}
-
-.YELLOW200 .z-toolbarbutton-content {
-       background: #FFF59D;
-}
-
-.INDIGO100 .z-toolbarbutton-content {
-       background: #C5CAE9; 
-}
-
-.INDIGO200 .z-toolbarbutton-content {
-       background: #9FA8DA;
-}
-
-.BLUE100 .z-toolbarbutton-content {
-       background: #BBDEFB;
-}
-
-.BLUE200 .z-toolbarbutton-content {
-       background: #90CAF9;
-}
-
-.TEAL100 .z-toolbarbutton-content {
-       background: #B2DFDB;
-}
-
-.TEAL200 .z-toolbarbutton-content {
-       background: #80CBC4;
-}
-
-.typefilter {
-       font-size: 9px;
-       padding: 0px;
-       margin: 0px;
-       background: none;
-}
-
-.toolbar {
-       padding: 1px;
-       background: none;
-       border: 0px;
-}
-
-.z-toolbarbutton:hover {
-/*     background: transparent; */
-       background: none;
-       background-image: none;
-}
-
-.ie8 .z-toolbarbutton:active {
-       background: transparent;
-}
-
-.ie8 .z-toolbarbutton-checked {
-/*     background: transparent; */
-       background: none;
-       background-image: none;
-}
-
-.z-toolbarbutton-content {
-       text-shadow: none;
-       background: transparent;
-}
-
-.buttonBold {
-       font-weight: bold;
-       width: 200px;
-}
-
-.menuButtons {
-       display: flex;
-       justify-content: space-around;
-       flex-wrap: wrap;
-       padding: 5px 20px 5px 20px;
-       align-content: space-around;
-}
-
-.menuButtons>button {
-       width: 200px;
-}
-
-.z-messagebox-window {
-       top: 40% !important;
-       width: 30% !important;
-}
-
-.z-toolbar-start {
-       width: 100%;
-}
-
-.myVideoDiv-dimensions {
-       width: 100%;
-       height: 100%;
-}
-
-.vjs-error {
-       width: 100%;
-       height: 100%;
-}
-
-.vjs-modal-dialog-content {
-       width: 100%;
-       height: 100%;
-       display: none;
-}
-
-.vjs-no-js {
-       width: 100%;
-       height: 100%;
-}
-
-.z-notification-content {
-  width: auto;
-  min-width: 400px;
-}
-
-/* .z-listitem.z-listitem-selected>.z-listcell{ */
-/*     background: red; */
-/*     background-image: none; */
-/* } */
-
-/* .z-listitem.z-listitem>.z-listcell:checked{ */
-/*     background: green; */
-/*     background-image: none; */
-/* } */
-
-
-/*
-LIST
-*/
-
-.z-listitem.z-listitem-selected>.z-listcell {
-       background: #F1F8E9;
-}
-
-.z-listitem.z-listitem-selected:hover>.z-listcell {
-       background: #F1F8E9;
-}
-
-.z-listitem.z-listitem-selected.z-listitem-focus>.z-listcell {
-       background: #F1F8E9;
-}
-
-.z-listitem.z-listitem-selected.z-listitem-focus:hover>.z-listcell {
-       background: #F1F8E9;
-}
-
-.z-listitem-focus>.z-listcell {
-       background: #F1F8E9;
-}
-
-.z-listitem-selected>.z-listcell>.z-listcell-content>.z-listitem-checkable .z-listitem-icon.z-icon-radio
-       {
-       background: #F1F8E9;
-}
-
+@charset "UTF-8";\r
+\r
+.myimg {\r
+       margin: 5px;\r
+       border: 1px solid #CFCFCF;\r
+}\r
+\r
+div.z-row-content span {\r
+       font-family: Tahoma, Arial, serif;\r
+       background: none;\r
+       background-image: none;\r
+}\r
+\r
+.z-row .z-detail-outer {\r
+       padding: 3px 6px;\r
+}\r
+\r
+.heavy {\r
+       font-weight: bold;\r
+       font-family: Tahoma, Arial, serif;\r
+}\r
+\r
+.ir {\r
+/*     ir == informationResult */\r
+       font-weight: bold;\r
+       font-family: Tahoma, Arial, serif;\r
+       color: green;\r
+}\r
+\r
+.details {\r
+       padding: 5px;\r
+       line-height: 1.5em;\r
+       font-size: 10px;\r
+}\r
+\r
+.relevant {\r
+       padding: 8px;\r
+       font-size: 10px;\r
+}\r
+\r
+.rhl {\r
+       color: #E53935;\r
+       font-weight: bold;\r
+}\r
+\r
+.z-row:hover>.z-row-inner, .z-row:hover>.z-cell {\r
+       background: none;\r
+       background-image: none;\r
+}\r
+\r
+.z-row:hover>.z-row-inner>.z-row-content {\r
+       color: black;\r
+       background: none;\r
+       background-image: none;\r
+}\r
+\r
+.RED100 .z-toolbarbutton-content {\r
+       background: #FFCDD2;\r
+}\r
+\r
+.RED200 .z-toolbarbutton-content {\r
+       background: #EF9A9A;\r
+}\r
+\r
+.BROWN100 .z-toolbarbutton-content {\r
+/*     background: #D7CCC8; */\r
+       background: none;\r
+       background-image: none;\r
+}\r
+\r
+.YELLOW200 .z-toolbarbutton-content {\r
+       background: #FFF59D;\r
+}\r
+\r
+.INDIGO100 .z-toolbarbutton-content {\r
+       background: #C5CAE9; \r
+}\r
+\r
+.INDIGO200 .z-toolbarbutton-content {\r
+       background: #9FA8DA;\r
+}\r
+\r
+.BLUE100 .z-toolbarbutton-content {\r
+       background: #BBDEFB;\r
+}\r
+\r
+.BLUE200 .z-toolbarbutton-content {\r
+       background: #90CAF9;\r
+}\r
+\r
+.TEAL100 .z-toolbarbutton-content {\r
+       background: #B2DFDB;\r
+}\r
+\r
+.TEAL200 .z-toolbarbutton-content {\r
+       background: #80CBC4;\r
+}\r
+\r
+.typefilter {\r
+       font-size: 9px;\r
+       padding: 0px;\r
+       margin: 0px;\r
+       background: none;\r
+}\r
+\r
+.toolbar {\r
+       padding: 1px;\r
+       background: none;\r
+       border: 0px;\r
+}\r
+\r
+.z-toolbarbutton:hover {\r
+/*     background: transparent; */\r
+       background: none;\r
+       background-image: none;\r
+}\r
+\r
+.ie8 .z-toolbarbutton:active {\r
+       background: transparent;\r
+}\r
+\r
+.ie8 .z-toolbarbutton-checked {\r
+/*     background: transparent; */\r
+       background: none;\r
+       background-image: none;\r
+}\r
+\r
+.z-toolbarbutton-content {\r
+       text-shadow: none;\r
+       background: transparent;\r
+}\r
+\r
+.buttonBold {\r
+       font-weight: bold;\r
+       width: 200px;\r
+}\r
+\r
+.menuButtons {\r
+       display: flex;\r
+       justify-content: space-around;\r
+       flex-wrap: wrap;\r
+       padding: 5px 20px 5px 20px;\r
+       align-content: space-around;\r
+}\r
+\r
+.menuButtons>button {\r
+       width: 200px;\r
+}\r
+\r
+.z-messagebox-window {\r
+       top: 40% !important;\r
+       width: 30% !important;\r
+}\r
+\r
+.z-toolbar-start {\r
+       width: 100%;\r
+}\r
+\r
+.myVideoDiv-dimensions {\r
+       width: 100%;\r
+       height: 100%;\r
+}\r
+\r
+.vjs-error {\r
+       width: 100%;\r
+       height: 100%;\r
+}\r
+\r
+.vjs-modal-dialog-content {\r
+       width: 100%;\r
+       height: 100%;\r
+       display: none;\r
+}\r
+\r
+.vjs-no-js {\r
+       width: 100%;\r
+       height: 100%;\r
+}\r
+\r
+.z-notification-content {\r
+  width: auto;\r
+  min-width: 400px;\r
+}\r
+\r
+/* .z-listitem.z-listitem-selected>.z-listcell{ */\r
+/*     background: red; */\r
+/*     background-image: none; */\r
+/* } */\r
+\r
+/* .z-listitem.z-listitem>.z-listcell:checked{ */\r
+/*     background: green; */\r
+/*     background-image: none; */\r
+/* } */\r
+\r
+\r
+/*\r
+LIST\r
+*/\r
+\r
+.z-listitem.z-listitem-selected>.z-listcell {\r
+       background: #F1F8E9;\r
+}\r
+\r
+.z-listitem.z-listitem-selected:hover>.z-listcell {\r
+       background: #F1F8E9;\r
+}\r
+\r
+.z-listitem.z-listitem-selected.z-listitem-focus>.z-listcell {\r
+       background: #F1F8E9;\r
+}\r
+\r
+.z-listitem.z-listitem-selected.z-listitem-focus:hover>.z-listcell {\r
+       background: #F1F8E9;\r
+}\r
+\r
+.z-listitem-focus>.z-listcell {\r
+       background: #F1F8E9;\r
+}\r
+\r
+.z-listitem-selected>.z-listcell>.z-listcell-content>.z-listitem-checkable .z-listitem-icon.z-icon-radio {\r
+       background: #F1F8E9;\r
+}\r
+\r
+.video-js .vjs-remaining-time,\r
+.vjs-no-flex .vjs-remaining-time {\r
+    display: none;\r
+}\r
+\r
+.vjs-time-divider {\r
+  display: none;\r
+  line-height: 3em;\r
+  visibility: hidden;\r
+}\r
+\r
+.video-js .vjs-timebox {\r
+  display: block;\r
+  line-height: 3em;\r
+  width: 25%;\r
+}\r
+\r
+.video-js .vjs-currenttimebox {\r
+  display: block;\r
+  line-height: 3em;\r
+  width: 25%;\r
+  font-weight: 900;\r
+}\r
+\r
+.vjs-has-started .vjs-control-bar {\r
+  flex-wrap: wrap;\r
+  justify-content: flex-end;\r
+}\r
+\r
+.video-js .vjs-timecode-container,\r
+.vjs-no-flex .vjs-timecode-container,\r
+.video-js.vjs-layout-tiny .vjs-timecode-container {\r
+  display: inherit;\r
+  background: rgba(43, 51, 63, 0.7);\r
+  flex-wrap: wrap;\r
+  justify-content: flex-end;\r
+  height: auto;\r
+  position: absolute;\r
+  bottom: 30px;\r
+  left: 0; /* kötelező, ha teljes szélességű timecode-container-t akarunk */\r
+  right: 0; /* kötelező, ha teljes szélességű timecode-container-t akarunk */\r
+}\r
+\r
+.vjs-menu .vjs-menu-content {\r
+  display: block;\r
+  padding: 0;\r
+  margin: 0;\r
+  font-family: Arial, Helvetica, sans-serif;\r
+  overflow: auto;\r
+  z-index: 2;\r
+}
\ No newline at end of file
index 6956ffc057eb647e5c3fa72065d20dd42788fab6..a14fe5d0924655d75247fb2bb2626d3426121bcd 100644 (file)
@@ -3,37 +3,27 @@
 function addButton(player, id, text, icon, callback){\r
        var button = videojs.getComponent('Button');\r
        var breakButton = videojs.extend(button, {\r
-       constructor: function() {\r
-         button.apply(this, arguments);\r
-         this.controlText(text);\r
-         this.addClass(icon);\r
-\r
-       },\r
-       handleClick: function() {\r
-         callback();\r
-       }\r
+               constructor: function() {\r
+                 button.apply(this, arguments);\r
+                 this.controlText(text);\r
+                 this.addClass(icon);\r
+               },\r
+               handleClick: function() {\r
+                 callback();\r
+               }\r
        });\r
        videojs.registerComponent(id, breakButton);\r
        player.getChild('controlBar').addChild(id, {}); \r
 }\r
 \r
-function createPlayer() {\r
-       var player = videojs('myVideoDiv', {\r
+function createPlayer() {      \r
+       player = videojs('myVideoDiv', {\r
                controls : true,\r
                preload : "auto",\r
                controlBar: {\r
-                       pictureInPictureToggle: false,\r
-                       _children: [\r
-                   "playToggle",\r
-                   "volumeMenuButton",\r
-                   "durationDisplay",\r
-                   "timeDivider",\r
-                   "currentTimeDisplay",\r
-                   "progressControl",\r
-                   "remainingTimeDisplay",\r
-                   "fullscreenToggle"\r
-               ]\r
-               },\r
+                       pictureInPictureToggle: false\r
+               },              \r
+               \r
                _userActions: {\r
                        hotkeys: function(event){\r
                                //console.log(event.which);\r
@@ -78,13 +68,42 @@ function createPlayer() {
        return player;\r
 }\r
 \r
-\r
+var startOfMedia= 0;\r
 var player = createPlayer();\r
 \r
-function setSource(src, srcType) {\r
-       console.log("setSource", player, src);\r
+player.ready(function(){\r
+    var container;\r
+    var start;\r
+    var current;\r
+    var end;\r
+    var duration;\r
+    \r
+    this.on('loadedmetadata', function(){ \r
+       container= player.getChild('controlBar').addChild('timecodeContainer');\r
+       start= container.addChild('startTime'); \r
+       current= container.addChild('currentTime');\r
+       end= container.addChild('endTime');\r
+       duration= container.addChild('duration');\r
+       start.updateTextContent(SMPTEToString(secondsToSMPTEWithSOM(0)));\r
+       current.updateTextContent(SMPTEToString(secondsToSMPTEWithSOM(player.currentTime())));\r
+       end.updateTextContent(SMPTEToString(secondsToSMPTEWithSOM(player.duration())));\r
+       duration.updateTextContent(SMPTEToString(secondsToSMPTE(player.duration())));\r
+    });\r
+    \r
+    this.on('timeupdate', function(){\r
+       current.updateTextContent(SMPTEToString(secondsToSMPTEWithSOM(player.currentTime())));\r
+       });\r
+});\r
+\r
+function setSource(src, srcType, som) {\r
+       console.log("setSource", src, srcType, som);\r
+       \r
        if(player != null){\r
-               if(src != null) {                       \r
+               if(som > 0){\r
+                       startOfMedia= som;\r
+               }\r
+               \r
+               if(src != null) {\r
                        player.src({\r
                                type : srcType,\r
                                src : src\r
@@ -117,6 +136,19 @@ function secondsToSMPTE(seconds) {
     return {h: hours, m: minutes, s: seconds, f: f};\r
 }\r
 \r
+function secondsToSMPTEWithSOM(seconds) {\r
+    seconds= seconds + startOfMedia;\r
+    \r
+    var f = Math.floor((seconds % 1) * 25);\r
+    var seconds = Math.floor(seconds);\r
+    var minutes = Math.floor(seconds / 60);\r
+    var hours = Math.floor(minutes / 60);\r
+    minutes = minutes % 60;\r
+    seconds = seconds % 60;\r
+\r
+    return {h: hours, m: minutes, s: seconds, f: f};\r
+}\r
+\r
 function SMPTEToString(timecode) {\r
     if (timecode.h < 10) { timecode.h = "0" + timecode.h; }\r
     if (timecode.m < 10) { timecode.m = "0" + timecode.m; }\r
@@ -125,12 +157,80 @@ function SMPTEToString(timecode) {
 \r
     return timecode.h + ":" + timecode.m + ":" + timecode.s + ":" + timecode.f;\r
 }\r
-\r
\r
 function customTimeFormat(seconds) {\r
-        return SMPTEToString(secondsToSMPTE(seconds));\r
+    return SMPTEToString(secondsToSMPTE(seconds));\r
 }\r
+videojs.setFormatTime(customTimeFormat);\r
+\r
+var Component = videojs.getComponent('Component');\r
+\r
+var timecodeContainer = videojs.extend(Component, {\r
+  constructor: function(player, options) {\r
+    Component.apply(this, arguments);\r
+\r
+    if (options.text) {\r
+      this.updateTextContent(options.text);\r
+    }\r
+  },\r
+\r
+  createEl: function() {\r
+    return videojs.dom.createEl('div', {\r
+      className: 'vjs-timecode-container'\r
+    });\r
+  },\r
+  updateTextContent: function(text) {\r
+       \r
+    videojs.dom.emptyEl(this.el());\r
+    videojs.dom.appendContent(this.el(), text);\r
+  }\r
+});\r
+videojs.registerComponent('timecodeContainer', timecodeContainer);\r
 \r
-//videojs.setFormatTime(customTimeFormat);     \r
+var timeBox = videojs.extend(timecodeContainer, {\r
+  constructor: function(player, options) {\r
+    Component.apply(this, arguments);\r
+\r
+    if (options.text) {\r
+      this.updateTextContent(options.text);\r
+    }\r
+  },\r
+\r
+  createEl: function() {\r
+    return videojs.dom.createEl('div', {\r
+      className: 'vjs-timebox'\r
+    });\r
+  },\r
+  updateTextContent: function(text) {\r
+    videojs.dom.emptyEl(this.el());\r
+    videojs.dom.appendContent(this.el(), text);\r
+  }\r
+});\r
+\r
+var currenttimeBox = videojs.extend(timecodeContainer, {\r
+  constructor: function(player, options) {\r
+    Component.apply(this, arguments);\r
+\r
+    if (options.text) {\r
+      this.updateTextContent(options.text);\r
+    }\r
+  },\r
+\r
+  createEl: function() {\r
+    return videojs.dom.createEl('div', {\r
+      className: 'vjs-currenttimebox'\r
+    });\r
+  },\r
+  updateTextContent: function(text) {\r
+    videojs.dom.emptyEl(this.el());\r
+    videojs.dom.appendContent(this.el(), text);\r
+  }\r
+});\r
+\r
+videojs.registerComponent('startTime', timeBox);\r
+videojs.registerComponent('currentTime', currenttimeBox);\r
+videojs.registerComponent('endTime', timeBox);\r
+videojs.registerComponent('duration', timeBox);\r
 \r
 function createBreakPoint() {\r
        var current = player.currentTime();\r
@@ -178,7 +278,6 @@ function addMediaTags(tags) {
        mediaTagify.addTags(tags);\r
 }\r
 \r
-\r
 function onTag(e) {\r
 //     console.log("onTag", e);\r
        \r
index 50a823c1b4872e1b68ce22871e2ba24f83d4afcd..aac353e8cd0ae2c0715d394c01d0f494bfc912dd 100644 (file)
@@ -4,6 +4,7 @@
 <!DOCTYPE xml>\r
 \r
 <zk xmlns:w="http://www.zkoss.org/2005/zk/client" xmlns:ca="client/attribute" xmlns:x="xhtml">\r
+       <link rel="shortcut icon" href="#"/>\r
        <style src="/css/joblist.css" />\r
 \r
        <!-- csak igy jo a list sebessege -->\r
index d31bd44cfca166e656ef08cfc2030bac0861ee1f..6cd564905ca412f1812b7f08613cc45901fde376 100644 (file)
@@ -2,6 +2,7 @@
 <!DOCTYPE xml>\r
 \r
 <zk xmlns:w="http://www.zkoss.org/2005/zk/client" xmlns:ca="client/attribute" xmlns:x="xhtml">\r
+       <link rel="shortcut icon" href="#"/>\r
        <tabbox id="pagesTab" vflex="true" hflex="true" orient="top">\r
                <tabs visible="true">\r
                        <tab id="tab0" label="Futó folyamatok" selected="true" />\r
index ea01b2aba7802c04a2a1af80dbc01c384d5e7dc7..2e575a1b5a881bebf968f87be3157d0ed8590d8c 100644 (file)
@@ -3,7 +3,7 @@
 \r
 <!-- tag deklarációja -->\r
 <?component name="search-filters" inline="true" macroURI="searchitems/filters.zul"?>\r
-<?component name="search-results" if inline="true" macroURI="searchitems/tabulatorresults.zul"?>\r
+<?component name="search-results" if inline="true" macroURI="searchitems/listresults.zul"?>\r
 <?component name="item-details" inline="true" macroURI="searchitems/details.zul"?>\r
 \r
 <!DOCTYPE xml>\r
 <!--   <style src="https://vjs.zencdn.net/7.18.1/video-js.css"/> -->\r
 <!--   <h:script src="https://vjs.zencdn.net/7.18.1/video.min.js"/> -->\r
 \r
-\r
-       <style src="/css/video-js.css?v=3" />\r
-       <style src="/css/searchitems.css" /> \r
-       <style src="/css/tagify.css" /> \r
+       <style src="/css/video-js.css" />\r
+       <style src="/css/searchitems.css" />\r
+       <style src="/css/tagify.css" />\r
        \r
        <h:script src="/js/tagify.min.js" />\r
        <h:script src="/js/video.js" />\r
                                document.selection.empty();\r
                        }\r
                }\r
-\r
-       \r
        </script>\r
 \r
        <!-- csak igy jo a list sebessege -->\r
 \r
-       <div id="scdiv" width="100%" height="100%" viewModel="@id('vm') @init('user.jobengine.zk.model.TabulatorSearchModel')">\r
+       <div id="scdiv" width="100%" height="100%" viewModel="@id('vm') @init('user.jobengine.zk.model.ListSearchModel')">\r
                <timer id="timer" delay="500" repeats="false" onTimer="@command('uiTick')" />\r
                <div id="tagListener" onChange="@command('onTagChanged')" />\r
 \r
@@ -60,8 +57,7 @@
                                <borderlayout height="100%" width="100%">\r
                                        <north border="none" size="60%" splittable="true" minsize="250" collapsible="true">\r
                                                <div align="center" height="100%" width="100%">\r
-                                                       <h:video-js id="myVideoDiv" class="video-js vjs-big-play-centered" \r
-                                                               data-setup='{"inactivityTimeout": 0}'\r
+                                                       <h:video-js id="myVideoDiv" class="video-js vjs-big-play-centered"\r
                                                                style="width: 100%;height: 100%">\r
                                                        </h:video-js>\r
                                                        <div id="videoListener" onCreateBreakPoint="@command('onCreateBreakPoint')"/>\r
index 52269e7e458f7209741d65588c1a4f9766ec889a..6f68c807feffb6f93257058f2852a39eca1bd029 100644 (file)
@@ -215,6 +215,7 @@ public class ListSearchModel extends AsyncBaseModel {
                // Clients.evalJavaScript("setSource('http://localhost:9080/services/proxy/20209535_1-20205617.mp4',\r
                // 'video/mp4')");\r
                logger.info("afterCompose");\r
+               Clients.evalJavaScript("setSource('https://d2zihajmogu5jn.cloudfront.net/bipbop-advanced/bipbop_16x9_variant.m3u8', 'application/x-mpegURL', 100)");\r
 \r
                try {\r
                        Selectors.wireComponents(view, this, false);\r
@@ -278,19 +279,8 @@ public class ListSearchModel extends AsyncBaseModel {
        private void configureSearchResultListbox() {\r
                logger.info("configureSearchResultListbox");\r
                if (itemsListbox != null && itemsListbox.getHeads().size() == 1) {\r
-//                     if (itemsListbox.getItemCount() > 0) {\r
                        Paging paging = itemsListbox.getPagingChild();\r
                        paging.setAutohide(false);\r
-//                     Listhead listhead = (Listhead) itemsListbox.getHeads().iterator().next();\r
-//                     logger.info("next");\r
-//                     for (Component header : itemsListbox.getListhead(). getHeads()) {\r
-//                             Listhead column = (Listhead) header;\r
-//                             if (columnOrder != null)\r
-//                                     if (column.getAttribute("label").equals(columnOrder.entrySet().iterator().next().getKey()))\r
-//                                             column.setAttribute("label", columnOrder.entrySet().iterator().next().getValue());\r
-//                             column.addEventListener("onSort", evt -> doSort(evt));\r
-//                     }\r
-//                     }\r
                }\r
        }\r
 \r
@@ -1046,6 +1036,7 @@ public class ListSearchModel extends AsyncBaseModel {
 \r
        @NotifyChange({ "selectedObject", "hasLowresMediaFile", "hasTSMMediaFile", "lowresMediaFilePath" })\r
        public void setSelectedObject(ArchivedMedia selectedObject) {\r
+               logger.info("setSelectedObject()");\r
                this.selectedObject = selectedObject;\r
                if (selectedObject != null) {\r
                        long mediaId = selectedObject.getMedia().getId();\r