@twab/visualization 0.9.5 → 0.9.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/asset-125afa63 +1 -0
- package/dist/visualization.umd.js +2393 -12577
- package/package.json +10 -11
- package/dist/css/15.90e920d4.css +0 -340
- package/dist/css/895.5b845685.css +0 -1
- package/dist/css/96.90e920d4.css +0 -340
- package/dist/demo.html +0 -1
- package/dist/img/1x1.f865594b.svg +0 -1
- package/dist/img/2x1.6bc80fec.svg +0 -1
- package/dist/img/3x1.8fe1c055.svg +0 -1
- package/dist/img/3x2.f5153612.svg +0 -1
- package/dist/img/4x1.22f434b0.svg +0 -1
- package/dist/img/4x2.3810a721.svg +0 -1
- package/dist/img/5x1.c0878e49.svg +0 -1
- package/dist/img/5x2.b70b5289.svg +0 -1
- package/dist/img/6x1.28b9840c.svg +0 -1
- package/dist/img/6x2.6b117ba7.svg +0 -1
- package/dist/img/dummy.ec1ab0d6.svg +0 -1
- package/dist/visualization.common.15.js +0 -3125
- package/dist/visualization.common.15.js.map +0 -1
- package/dist/visualization.common.913.js +0 -9642
- package/dist/visualization.common.913.js.map +0 -1
- package/dist/visualization.common.js +0 -12637
- package/dist/visualization.common.js.map +0 -1
- package/dist/visualization.umd.653.js +0 -9642
- package/dist/visualization.umd.653.js.map +0 -1
- package/dist/visualization.umd.96.js +0 -3125
- package/dist/visualization.umd.96.js.map +0 -1
- package/dist/visualization.umd.js.map +0 -1
- package/dist/visualization.umd.min.116.js +0 -8
- package/dist/visualization.umd.min.116.js.map +0 -1
- package/dist/visualization.umd.min.895.js +0 -2
- package/dist/visualization.umd.min.895.js.map +0 -1
- package/dist/visualization.umd.min.js +0 -27
- package/dist/visualization.umd.min.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"visualization.common.15.js","mappings":"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AAA;IACA;IACAiV,YAAA;MACApd,IAAA,EAAAkI,OAAA;MACAC,OAAA;IACA;IACAkV,YAAA;MACArd,IAAA,GAAA+H,MAAA,EAAAO,MAAA;MACAH,OAAA;IACA;IACAmV,OAAA;MACAtd,IAAA,EAAA+H;IACA;EACA;EACAF,UAAA;IACAkV,KAAA;IACAQ,UAAA,EAAAP,QAAA;IACAQ,OAAA,EAAAP,KAAA;IACAC,aAAA;IACAC,QAAAA,EAAAA,QAAAA;IACA;EACA;;EACA3U,KAAA;IACA;MACAlE,SAAA;MACAmZ,eAAA;MACArb,MAAA;MACAsb,aAAA;MACA9Z,iBAAA;MACAH,QAAA;MACAzB,YAAA;MACAD,YAAA;MACAN,eAAA;MACA8D,UAAA;MACAoY,QAAA;MACAjc,MAAA;MACAwC,cAAA;MACAS,UAAA;MACAiZ,WAAA;MACAhb,YAAA;MACAsC,WAAA;MACA2Y,WAAA;MACAra,SAAA;MACAsa,cAAA;MACAxF,iBAAA;MACAxV,eAAA;MACAC,eAAA;MACAlD,aAAA;MACAke,UAAA;MACAC,YAAA;MACApc,QAAA;MACAD,QAAA;MACAgC,wBAAA;MACAD,cAAA;MACAua,KAAA;MACAC,YAAA;MACAC,iBAAA;MACAC,uBAAA;MACAtc,YAAA;MACAe,MAAA;MACAH,cAAA;MACAnB,OAAA;QACAO,YAAA;QACAN,IAAA;QACAC,eAAA;QACAC,MAAA;MACA;IACA;EACA;EACA,MAAAqH,QAAA;IACA,KAAAmV,YAAA,QAAAG,cAAA;IACA,KAAAza,iBAAA,QAAAya,cAAA;IAEA,MAAAC,QAAA,IACA;MACAvc,YAAA;MACAC,YAAA;IACA,GACA;MACAD,YAAA;MACAC,YAAA;IACA,GACA;MACAD,YAAA;MACAC,YAAA;IACA,GACA;MACAD,YAAA;MACAC,YAAA;IACA,GACA;MACAD,YAAA;MACAC,YAAA;IACA,GACA;MACAD,YAAA;MACAC,YAAA;IACA,GACA;MACAD,YAAA;MACAC,YAAA;IACA,GACA;MACAD,YAAA;MACAC,YAAA;IACA,GACA;MACAD,YAAA;MACAC,YAAA;IACA,EACA;IAEA,MAAAuc,U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","sources":["webpack://@twab/visualization/./src/Visualization.vue","webpack://@twab/visualization/./src/components/Frame.vue","webpack://@twab/visualization/src/components/Frame.vue","webpack://@twab/visualization/./src/components/Frame.vue?6121","webpack://@twab/visualization/./src/components/Frame.vue?1eff","webpack://@twab/visualization/./src/components/Frame.vue?55e9","webpack://@twab/visualization/./src/components/Frame.vue?e8c5","webpack://@twab/visualization/./src/services/FramesService.js","webpack://@twab/visualization/./src/utils/Enum.js","webpack://@twab/visualization/./src/utils/FramesManager.js","webpack://@twab/visualization/./src/utils/FramesInterface.js","webpack://@twab/visualization/./src/components/Commands.vue","webpack://@twab/visualization/src/components/Commands.vue","webpack://@twab/visualization/./src/components/Commands.vue?4a20","webpack://@twab/visualization/./src/components/Commands.vue?e210","webpack://@twab/visualization/./src/components/Infos.vue","webpack://@twab/visualization/src/components/Infos.vue","webpack://@twab/visualization/./src/components/Infos.vue?33be","webpack://@twab/visualization/./src/components/Infos.vue?b84f","webpack://@twab/visualization/./src/components/VideoProgress.vue","webpack://@twab/visualization/src/components/VideoProgress.vue","webpack://@twab/visualization/./src/components/VideoProgress.vue?16b3","webpack://@twab/visualization/./src/components/VideoProgress.vue?44f0","webpack://@twab/visualization/./src/components/VideoProgress.vue?7db3","webpack://@twab/visualization/./src/components/VideoProgress.vue?b03a","webpack://@twab/visualization/./src/components/Settings.vue","webpack://@twab/visualization/./src/assets/grid/index.js","webpack://@twab/visualization/src/components/Settings.vue","webpack://@twab/visualization/./src/components/Settings.vue?025d","webpack://@twab/visualization/./src/components/Settings.vue?6ebf","webpack://@twab/visualization/./src/components/Settings.vue?fac5","webpack://@twab/visualization/./src/components/Settings.vue?4be2","webpack://@twab/visualization/src/Visualization.vue","webpack://@twab/visualization/./src/Visualization.vue?53ca","webpack://@twab/visualization/./src/Visualization.vue?5e59","webpack://@twab/visualization/./src/Visualization.vue?6cf2","webpack://@twab/visualization/./src/Visualization.vue?c168"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"visualization-row\",attrs:{\"id\":\"visualization-container\"},on:{\"click\":_vm.framesClicked}},[(_vm.active && _vm.canInsertTime && _vm.settingsClosed)?_c('GlobalEvents',{on:{\"keydown\":[function($event){if(!$event.type.indexOf('key')&&$event.keyCode!==45)return null;return _vm.insertTime.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&$event.keyCode!==46)return null;return _vm.insertTime.apply(null, arguments)}]}}):_vm._e(),(_vm.active && _vm.settingsClosed)?_c('GlobalEvents',{on:{\"keydown\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"left\",37,$event.key,[\"Left\",\"ArrowLeft\"]))return null;if('button' in $event && $event.button !== 0)return null;$event.preventDefault();return _vm.arrowLeft.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"right\",39,$event.key,[\"Right\",\"ArrowRight\"]))return null;if('button' in $event && $event.button !== 2)return null;$event.preventDefault();return _vm.arrowRight.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"page-down\",undefined,$event.key,undefined))return null;if(!$event.shiftKey)return null;$event.preventDefault();return _vm.nextLoopActivate.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"page-down\",undefined,$event.key,undefined))return null;$event.preventDefault();return _vm.next.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"page-up\",undefined,$event.key,undefined))return null;$event.preventDefault();return _vm.prev.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"page-up\",undefined,$event.key,undefined))return null;if(!$event.shiftKey)return null;$event.preventDefault();return _vm.prevLoopActivate.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&$event.keyCode!==83)return null;$event.preventDefault();return _vm.setHourIni.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&$event.keyCode!==69)return null;$event.preventDefault();return _vm.setHourEnd.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&$event.keyCode!==36)return null;$event.preventDefault();return _vm.goToFirstFrame.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&$event.keyCode!==35)return null;$event.preventDefault();return _vm.goToLastFrame.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&$event.keyCode!==71)return null;$event.preventDefault();_vm.dialogs.goTo = true},function($event){if(!$event.type.indexOf('key')&&$event.keyCode!==73)return null;$event.preventDefault();_vm.dialogs.secondsPerFrame = true},function($event){if(!$event.type.indexOf('key')&&$event.keyCode!==76)return null;$event.preventDefault();_vm.dialogs.frames = true},function($event){if(!$event.type.indexOf('key')&&$event.keyCode!==49&&$event.keyCode!==97)return null;return (() => (_vm.secondsPerFrame = 1)).apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&$event.keyCode!==50&&$event.keyCode!==98)return null;return (() => (_vm.secondsPerFrame = 2)).apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&$event.keyCode!==51&&$event.keyCode!==99)return null;return (() => (_vm.secondsPerFrame = 3)).apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&$event.keyCode!==52&&$event.keyCode!==100)return null;return (() => (_vm.secondsPerFrame = 4)).apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&$event.keyCode!==53&&$event.keyCode!==101)return null;return (() => (_vm.secondsPerFrame = 5)).apply(null, arguments)}]}}):_vm._e(),(_vm.prevLoop || _vm.nextLoop)?_c('GlobalEvents',{on:{\"keydown\":_vm.breakLoop,\"click\":_vm.breakLoop}}):_vm._e(),(_vm.active)?_c('settings',{attrs:{\"dialogs-visibility\":_vm.dialogs,\"playback-rate\":_vm.playbackRate,\"seconds-per-frame\":_vm.secondsPerFrame,\"frames-per-row\":_vm.framesPerRow,\"number-of-rows\":_vm.numberOfRows},on:{\"change-playback-rate\":(value) => (_vm.playbackRate = value),\"change-go-to\":_vm.changeHour,\"change-seconds-per-frame\":(value) => (_vm.secondsPerFrame = value),\"set-frames-selection\":_vm.setFrameSelection,\"close\":(dialog) => (_vm.dialogs[dialog] = false)}}):_vm._e(),_c('div',{class:{ 'visualization-card': true, 'active-tab': _vm.active },staticStyle:{\"width\":\"100%\",\"padding\":\"0\"}},[_c('command-bar',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.commandBarShow),expression:\"commandBarShow\"}],attrs:{\"video-playing\":_vm.videoPlaying,\"video-paused\":_vm.paused,\"insert-time\":_vm.canInsertTime,\"hour-ini-selected\":!!_vm.hourIniSelected,\"hour-end-selected\":!!_vm.hourEndSelected},on:{\"prev-loop-activate\":_vm.prevLoopActivate,\"next-loop-activate\":_vm.nextLoopActivate,\"prev\":_vm.prev,\"next\":_vm.next,\"go-to\":function($event){_vm.dialogs.goTo = true},\"open-frame-selection\":function($event){_vm.dialogs.frames = true},\"open-frames-per-second\":function($event){_vm.dialogs.secondsPerFrame = true},\"open-blocks\":_vm.openBlocks,\"open-playback-rate\":function($event){_vm.dialogs.playbackRate = true},\"play-or-pause\":_vm.playOrPause,\"stop-playing\":_vm.stopPlayingBar,\"set-hour-ini\":_vm.setHourIni,\"set-hour-end\":_vm.setHourEnd,\"insert-time\":_vm.insertTime}}),(_vm.videoProgressBar)?_c('video-progress',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.videoPlaying),expression:\"videoPlaying\"}],attrs:{\"video-time\":_vm.videoTime}}):_vm._e(),_c('info-bar',{attrs:{\"playback-rate\":_vm.playbackRate,\"seconds-per-frame\":_vm.secondsPerFrame,\"commands-show\":_vm.commandBarShow,\"cache\":_vm.useCache,\"block-start-time\":_vm.blockStartTime,\"video-total-duration\":_vm.videoSliderTotalDuration,\"alternative-server\":_vm.alternativeServer,\"frames-per-row\":_vm.framesPerRow,\"number-of-rows\":_vm.numberOfRows,\"hour-ini\":_vm.hourIniSelected,\"hour-end\":_vm.hourEndSelected},on:{\"toogle-commands-visibility\":function($event){_vm.commandBarShow = !_vm.commandBarShow},\"toogle-cache\":function($event){_vm.useCache = !_vm.useCache},\"change-server\":_vm.changeServerClick}}),_vm._l((_vm.numberOfRows),function(rowNumber){return _c('div',{key:'row-' + rowNumber,staticClass:\"visualization-row\",staticStyle:{\"padding\":\"12px\"},attrs:{\"id\":'row-' + rowNumber}},[_vm._l((_vm.previousFrames),function(frame,frameNumber){return _c('div',{key:_vm.numberOfRows +\n '-' +\n _vm.framesPerRow +\n '-' +\n _vm.getIndex(rowNumber, frameNumber, _vm.Positions.previous),staticStyle:{\"display\":\"none\"}},[_c('span',{domProps:{\"innerHTML\":_vm._s(frame.img)}})])}),_vm._l((_vm.nextFrames),function(frame,frameNumber){return _c('div',{key:_vm.numberOfRows +\n '-' +\n _vm.framesPerRow +\n '-' +\n _vm.getIndex(rowNumber, frameNumber, _vm.Positions.next),staticStyle:{\"display\":\"none\"}},[_c('span',{domProps:{\"innerHTML\":_vm._s(frame.img)}})])}),_vm._l((_vm.frames.slice(\n _vm.framesPerRow * (rowNumber - 1),\n _vm.framesPerRow * rowNumber\n )),function(frame,frameNumber){return _c('div',{key:'row-' + rowNumber + '-frame-' + frameNumber,staticClass:\"visualization-col\",class:{ loaderImg: !!frame.img },attrs:{\"id\":`frame-${_vm.getIndex(rowNumber, frameNumber, _vm.Positions.current)}`},on:{\"click\":function($event){frame.time\n ? _vm.selectFrame(\n _vm.getIndex(rowNumber, frameNumber, _vm.Positions.current),\n frame\n )\n : null}}},[_c('span',{staticStyle:{\"padding-left\":\"4px\"},attrs:{\"id\":_vm.activeFrame ? 'aa' : 0}},[_c('b',[_vm._v(\" \"+_vm._s(_vm.getAudienceTime( frame.time, rowNumber, frameNumber, _vm.Positions.current ))+\" \")])]),_c('frame',{ref:\"frames\",refInFor:true,staticStyle:{\"margin\":\"0 auto\"},attrs:{\"frame\":frame,\"index\":_vm.getIndex(rowNumber, frameNumber, _vm.Positions.current),\"grid-settings\":{ numberOfRows: _vm.numberOfRows, framesPerRow: _vm.framesPerRow },\"initialTime\":frame.time === _vm.hourIniSelected,\"endTime\":frame.time === _vm.hourEndSelected,\"betweenTime\":frame.time > _vm.hourIniSelected && frame.time < _vm.hourEndSelected,\"active\":_vm.getIndex(rowNumber, frameNumber, _vm.Positions.current) ===\n _vm.activeFrame,\"activeTab\":_vm.active,\"videoUrl\":_vm.fInterface ? _vm.fInterface.getVideoUrl(frame) : '',\"playback-rate\":_vm.playbackRate},on:{\"startPlaying\":_vm.startPlaying,\"stopPlaying\":_vm.stopPlaying,\"playPauseStatus\":_vm.changePlayPause,\"updateSlider\":_vm.updateSlider}})],1)})],2)})],2)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{class:{\n 'frame-container': true,\n 'initial-time': _vm.initialTime,\n 'end-time': _vm.endTime,\n 'between-time': _vm.betweenTime,\n active: _vm.active,\n },style:({\n maxHeight: `${_vm.maxHeight}px`,\n width: '100%',\n position: 'relative',\n })},[(_vm.active && _vm.activeTab && _vm.parentComponent.settingsClosed)?_c('GlobalEvents',{on:{\"keydown\":[function($event){if(!$event.type.indexOf('key')&&$event.keyCode!==32)return null;$event.preventDefault();return _vm.playOrPause.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&$event.keyCode!==27)return null;$event.preventDefault();return _vm.stop.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&$event.keyCode!==79)return null;return _vm.toogleDetailFrame.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&$event.keyCode!==13)return null;$event.preventDefault();return _vm.jumpFrameToStart.apply(null, arguments)}]}}):_vm._e(),(_vm.showFrame)?_c('GlobalEvents',{on:{\"keydown\":[function($event){if(!$event.type.indexOf('key')&&$event.keyCode!==27)return null;$event.preventDefault();return _vm.toogleDetailFrame.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&$event.keyCode!==13)return null;$event.preventDefault();return _vm.toogleDetailFrame.apply(null, arguments)}]}}):_vm._e(),_c('vue-loading',{staticStyle:{\"z-index\":\"0\"},attrs:{\"active\":((!_vm.frame.image || !_vm.frame.time) && _vm.frame.title !== -1) ||\n _vm.loading ||\n _vm.videoIsLoading,\"spinner\":\"ring\",\"color\":\"#1565c0\",\"background-color\":\"#ededed\",\"text\":_vm.videoIsLoading ? _vm.$('infoBar.createVideo') : ''}}),_c('div',{staticStyle:{\"background-color\":\"black\"}},[(!_vm.loading)?_c('div',{class:{\n 'frame-content': _vm.frame.title === -1 || _vm.videoStatus !== _vm.Status.stopped,\n },style:({\n maxHeight: `${_vm.height}px`,\n maxWidth: `${_vm.width}px`,\n color: 'white',\n }),on:{\"dblclick\":_vm.playOrPause}},[(_vm.frame.image && _vm.videoStatus === _vm.Status.stopped)?_c('div',{class:{ 'dummy-frame': _vm.frame.title === -1 },staticStyle:{\"width\":\"100%\",\"height\":\"100%\"},domProps:{\"innerHTML\":_vm._s(_vm.frame.image)}}):_vm._e(),(_vm.videoStatus !== _vm.Status.stopped && !_vm.videoIsLoading)?_c('video',{ref:\"videoPlayer\",staticStyle:{\"width\":\"100%\",\"aspect-ratio\":\"11/9\"},attrs:{\"maxHeight\":`${_vm.height}px`,\"maxWidth\":`${_vm.width}px`,\"src\":_vm.videoUrlString,\"preload\":\"none\",\"autoplay\":\"\"},on:{\"timeupdate\":_vm.updateTimeLabel,\"ended\":_vm.videoEnded,\"click\":_vm.playOrPause}}):_vm._e(),_c('div',{staticClass:\"overlay\"})]):_vm._e()]),_c('dialog',{ref:\"imageDetailsDialog\",class:{ 'dummy-frame': _vm.frame.title === -1 },staticStyle:{\"width\":\"100vh\",\"border\":\"none\",\"background\":\"none\"},domProps:{\"innerHTML\":_vm._s(_vm.frame.image)}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div\r\n :style=\"{\r\n maxHeight: `${maxHeight}px`,\r\n width: '100%',\r\n position: 'relative',\r\n }\"\r\n :class=\"{\r\n 'frame-container': true,\r\n 'initial-time': initialTime,\r\n 'end-time': endTime,\r\n 'between-time': betweenTime,\r\n active: active,\r\n }\"\r\n >\r\n <GlobalEvents\r\n v-if=\"active && activeTab && parentComponent.settingsClosed\"\r\n @keydown.32.prevent=\"playOrPause\"\r\n @keydown.27.prevent=\"stop\"\r\n @keydown.79=\"toogleDetailFrame\"\r\n @keydown.13.prevent=\"jumpFrameToStart\"\r\n />\r\n <GlobalEvents\r\n v-if=\"showFrame\"\r\n @keydown.27.prevent=\"toogleDetailFrame\"\r\n @keydown.13.prevent=\"toogleDetailFrame\"\r\n />\r\n\r\n <vue-loading\r\n :active=\"\r\n ((!frame.image || !frame.time) && frame.title !== -1) ||\r\n loading ||\r\n videoIsLoading\r\n \"\r\n spinner=\"ring\"\r\n color=\"#1565c0\"\r\n background-color=\"#ededed\"\r\n style=\"z-index: 0\"\r\n :text=\"videoIsLoading ? $('infoBar.createVideo') : ''\"\r\n />\r\n <div style=\"background-color: black\">\r\n <div\r\n v-if=\"!loading\"\r\n :class=\"{\r\n 'frame-content': frame.title === -1 || videoStatus !== Status.stopped,\r\n }\"\r\n :style=\"{\r\n maxHeight: `${height}px`,\r\n maxWidth: `${width}px`,\r\n color: 'white',\r\n }\"\r\n @dblclick=\"playOrPause\"\r\n >\r\n <div\r\n v-if=\"frame.image && videoStatus === Status.stopped\"\r\n :class=\"{ 'dummy-frame': frame.title === -1 }\"\r\n v-html=\"frame.image\"\r\n style=\"width: 100%; height: 100%\"\r\n />\r\n <video\r\n v-if=\"videoStatus !== Status.stopped && !videoIsLoading\"\r\n ref=\"videoPlayer\"\r\n :maxHeight=\"`${height}px`\"\r\n :maxWidth=\"`${width}px`\"\r\n :src=\"videoUrlString\"\r\n preload=\"none\"\r\n autoplay\r\n @timeupdate=\"updateTimeLabel\"\r\n @ended=\"videoEnded\"\r\n @click=\"playOrPause\"\r\n style=\"width: 100%; aspect-ratio: 11/9\"\r\n ></video>\r\n <div class=\"overlay\"></div>\r\n </div>\r\n </div>\r\n\r\n <dialog\r\n ref=\"imageDetailsDialog\"\r\n :class=\"{ 'dummy-frame': frame.title === -1 }\"\r\n v-html=\"frame.image\"\r\n style=\"width: 100vh; border: none; background: none\"\r\n />\r\n </div>\r\n</template>\r\n<script>\r\nimport VueLoading from 'vue-loading-twa'\r\n\r\nconst Status = Object.freeze({\r\n stopped: 0,\r\n playing: 1,\r\n paused: 2,\r\n})\r\n\r\nexport default {\r\n components: {\r\n VueLoading,\r\n },\r\n name: 'frame-component',\r\n props: {\r\n frame: {\r\n type: [Object, Number],\r\n required: true,\r\n },\r\n index: {\r\n type: Number,\r\n required: true,\r\n },\r\n loading: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n gridSettings: {\r\n type: Object,\r\n required: true,\r\n },\r\n initialTime: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n endTime: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n betweenTime: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n active: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n activeTab: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n videoUrl: {\r\n type: [String, Promise],\r\n required: true,\r\n },\r\n playbackRate: {\r\n type: Number,\r\n default: 1,\r\n },\r\n },\r\n data() {\r\n return {\r\n Status,\r\n aspectRatio: 11 / 9,\r\n width: 0,\r\n height: 0,\r\n maxWidth: 0,\r\n fullMaxWidth: 0,\r\n maxHeight: 0,\r\n showFrame: false,\r\n videoStatus: Status.stopped,\r\n videoStartTime: null,\r\n videoCurrentTime: null,\r\n videoUrlString: '',\r\n parentComponent: null,\r\n videoIsLoading: false,\r\n currentBlock: null,\r\n lastTimeEnterPressed: null,\r\n }\r\n },\r\n created() {\r\n this.parentComponent = this.$parent\r\n },\r\n watch: {\r\n playbackRate(val) {\r\n if (\r\n this.videoStatus === Status.playing ||\r\n this.videoStatus === Status.paused\r\n ) {\r\n this.$refs.videoPlayer.playbackRate = val\r\n }\r\n },\r\n },\r\n methods: {\r\n jumpFrameToStart() {\r\n if (this.active) {\r\n const currentTime = new Date().getTime()\r\n\r\n if (currentTime - this.lastTimeEnterPressed <= 500) {\r\n this.parentComponent.changeHour(\r\n this.parentComponent.convertToAudienceTime(this.frame.time)\r\n )\r\n }\r\n\r\n this.lastTimeEnterPressed = currentTime\r\n }\r\n },\r\n changeSettings(value) {\r\n this.videoCurrentTime = value\r\n },\r\n toogleDetailFrame() {\r\n if (this.showFrame) {\r\n this.$refs.imageDetailsDialog.close()\r\n } else {\r\n this.$refs.imageDetailsDialog.showModal()\r\n }\r\n this.showFrame = !this.showFrame\r\n },\r\n getMaxWidth() {\r\n const commandBarSize = document.getElementById('command-bar')\r\n\r\n return commandBarSize?.clientWidth\r\n },\r\n resize(height) {\r\n const commandBarSize = document.getElementById('command-bar')\r\n const infoBarSize = document.getElementById('info-bar')\r\n this.fullMaxWidth = commandBarSize?.clientWidth\r\n this.maxWidth =\r\n (commandBarSize?.clientWidth - this.gridSettings.framesPerRow * 10) /\r\n this.gridSettings.framesPerRow\r\n\r\n const heightAvailable =\r\n height -\r\n commandBarSize?.offsetHeight -\r\n infoBarSize?.offsetHeight -\r\n 47 * this.gridSettings.numberOfRows\r\n\r\n this.maxHeight =\r\n this.gridSettings.numberOfRows === 2\r\n ? (heightAvailable - 12) / 2\r\n : heightAvailable\r\n this.maxHeight = this.maxHeight >= 75 ? this.maxHeight : 75\r\n\r\n if (this.maxWidth / this.aspectRatio > this.maxHeight) {\r\n this.height = this.maxHeight\r\n this.width = this.maxHeight * this.aspectRatio\r\n } else {\r\n this.width = this.maxWidth\r\n this.height = this.maxWidth / this.aspectRatio\r\n }\r\n\r\n this.maxHeight = this.height\r\n },\r\n async playOrPause() {\r\n switch (this.videoStatus) {\r\n case Status.stopped:\r\n this.videoIsLoading = true\r\n try {\r\n this.videoUrlString = await this.videoUrl\r\n const blockInfo =\r\n await this.parentComponent.fInterface?.getVideoStartTime(\r\n this.frame\r\n )\r\n\r\n this.videoStartTime = blockInfo.start\r\n this.videoUrlString =\r\n this.parentComponent.fInterface.getVideoRequestByUrl(\r\n blockInfo.url,\r\n this.frame.number\r\n )\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n this.videoIsLoading = false\r\n this.videoStatus = Status.playing\r\n this.$nextTick(() => {\r\n this.$refs.videoPlayer.onloadedmetadata = (e) => {\r\n this.$refs.videoPlayer.playbackRate = this.playbackRate\r\n // * atualizar slider\r\n this.$emit('updateSlider', this.videoStartTime, this.frame.time)\r\n //*\r\n this.$emit('startPlaying', this.frame, e.target.duration)\r\n this.$emit('playPauseStatus', true)\r\n }\r\n })\r\n break\r\n case Status.paused:\r\n this.$refs.videoPlayer.play()\r\n this.$refs.videoPlayer.playbackRate = this.playbackRate\r\n this.videoStatus = Status.playing\r\n this.$emit('playPauseStatus', true)\r\n break\r\n case Status.playing:\r\n this.$refs.videoPlayer.pause()\r\n\r\n this.videoStatus = Status.paused\r\n this.$emit('playPauseStatus', false)\r\n break\r\n }\r\n },\r\n stop(jump = true) {\r\n if (\r\n this.videoStatus === Status.playing ||\r\n this.videoStatus === Status.paused\r\n ) {\r\n if (jump) {\r\n this.parentComponent.changeHour(\r\n this.parentComponent.convertToAudienceTime(\r\n parseInt(this.videoCurrentTime)\r\n )\r\n )\r\n }\r\n this.videoStatus = Status.stopped\r\n this.videoUrlString = null\r\n this.videoCurrentTime = null\r\n this.videoStartTime = null\r\n }\r\n this.$emit('stopPlaying')\r\n },\r\n //eslint-disable-next-line\r\n videoJumpTo(time) {\r\n this.videoCurrentTime = this.videoStartTime + time\r\n this.$refs.videoPlayer.currentTime = time\r\n },\r\n async videoJumpToTimeStamp(time) {\r\n let frame = {\r\n time: time,\r\n }\r\n if (!time) return\r\n if (\r\n !(\r\n this.currentBlock &&\r\n time >= this.currentBlock.start &&\r\n time <= this.currentBlock.end\r\n )\r\n ) {\r\n this.currentBlock = await this.parentComponent.fInterface?.getBlockInfo(\r\n frame\r\n )\r\n this.videoStartTime = this.currentBlock.start\r\n this.videoUrlString =\r\n this.parentComponent.fInterface.getVideoUrlForTime(\r\n this.videoStartTime\r\n )\r\n }\r\n this.videoCurrentTime = time - this.videoStartTime\r\n this.$refs.videoPlayer.currentTime = this.videoCurrentTime\r\n },\r\n updateTimeLabel(e) {\r\n this.videoCurrentTime = this.videoStartTime + e.target.currentTime\r\n this.parentComponent.updateVideoTime(this.index, this.videoCurrentTime)\r\n this.parentComponent.updateVideoStatus(e.target.currentTime)\r\n },\r\n async videoEnded() {\r\n this.videoStartTime =\r\n await this.parentComponent.fInterface?.getNextVideoStartTime(\r\n this.frame.time\r\n )\r\n this.videoUrlString = this.parentComponent.fInterface.getVideoUrlForTime(\r\n this.videoStartTime\r\n )\r\n // * Ao acabar o vídeo tenho de mandar atualizar slider\r\n // * aqui o video current time tambem vai ser o videoStartTime\r\n this.$emit('updateSlider', this.videoStartTime, this.videoStartTime)\r\n },\r\n },\r\n}\r\n</script>\r\n<style scoped>\r\n.frame-container > div {\r\n max-height: 100%;\r\n}\r\n.frame-container {\r\n background-color: black;\r\n display: flex;\r\n justify-content: center;\r\n}\r\n.frame-content,\r\n.dummy-frame {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n}\r\n.frame-content video {\r\n flex-grow: 1;\r\n object-fit: fill;\r\n z-index: 0;\r\n}\r\n.overlay {\r\n width: 100%;\r\n height: 100%;\r\n z-index: 5;\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n border: 4px solid transparent;\r\n}\r\n.active .overlay {\r\n border-color: var(--visualization-primary);\r\n}\r\n.between-time .overlay {\r\n border-top-color: var(--visualization-secondary);\r\n}\r\n.between-time.active .overlay {\r\n border-color: var(--visualization-secondary);\r\n}\r\n.initial-time .overlay {\r\n border-top-color: var(--visualization-start);\r\n}\r\n.initial-time.active .overlay {\r\n border-color: var(--visualization-start);\r\n}\r\n.end-time .overlay {\r\n border-top-color: var(--visualization-end);\r\n}\r\n.end-time.active .overlay {\r\n border-color: var(--visualization-end);\r\n}\r\n.initial-time.end-time .overlay {\r\n border-top-color: var(--visualization-start);\r\n border-bottom-color: var(--visualization-end);\r\n}\r\n.initial-time.end-time.active .overlay {\r\n border-top-color: var(--visualization-start);\r\n border-left-color: var(--visualization-start);\r\n border-bottom-color: var(--visualization-end);\r\n border-right-color: var(--visualization-end);\r\n}\r\n</style>\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Frame.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Frame.vue?vue&type=script&lang=js&\"","// extracted by mini-css-extract-plugin\nexport {};","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-12.use[0]!../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!../../node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Frame.vue?vue&type=style&index=0&id=20a23fbe&prod&scoped=true&lang=css&\"","import { render, staticRenderFns } from \"./Frame.vue?vue&type=template&id=20a23fbe&scoped=true&\"\nimport script from \"./Frame.vue?vue&type=script&lang=js&\"\nexport * from \"./Frame.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Frame.vue?vue&type=style&index=0&id=20a23fbe&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"20a23fbe\",\n null\n \n)\n\nexport default component.exports","import axios from 'axios'\r\n\r\nconst Api = axios.create({\r\n //baseURL: process.env.VUE_APP_FRAMES_SERVER,\r\n baseURL: sessionStorage.getItem('base_url'),\r\n})\r\n\r\nApi.interceptors.request.use((config) => {\r\n config.params = config.params || {}\r\n config.params.Client = sessionStorage.getItem('client') || 'UNKNOWN'\r\n if (sessionStorage.getItem('server') === 'alternative') {\r\n config.params.BlockPathConfig = 'AlernativeTvConfig'\r\n }\r\n\r\n return config\r\n})\r\n\r\nexport default {\r\n getBlockRequest({\r\n direction,\r\n channel,\r\n split,\r\n time,\r\n quality,\r\n factor,\r\n useCache = true,\r\n signal,\r\n } = {}) {\r\n return Api.get(`Get${direction}FramesBlockInFiles`, {\r\n params: {\r\n Channel: channel,\r\n Split: split,\r\n UseCache: useCache,\r\n Time: time,\r\n Step: 0,\r\n JpegQuality: quality,\r\n JpegSizeFactor: factor,\r\n },\r\n signal,\r\n })\r\n },\r\n\r\n getSmallBlockRequest({\r\n channel,\r\n split,\r\n time,\r\n quality,\r\n factor,\r\n size,\r\n useCache = true,\r\n signal,\r\n } = {}) {\r\n return Api.get('GetSmallFramesBlockInFiles', {\r\n params: {\r\n Channel: channel,\r\n Split: split,\r\n UseCache: useCache,\r\n Time: time,\r\n Step: 0,\r\n JpegQuality: quality,\r\n JpegSizeFactor: factor,\r\n Size: size,\r\n },\r\n signal,\r\n })\r\n },\r\n\r\n getFileInfoRequest({ direction, channel, split, time, step, signal } = {}) {\r\n return Api.get(`Get${direction}BlockFileInformation`, {\r\n params: {\r\n Channel: channel,\r\n Split: split,\r\n Time: time,\r\n Step: step,\r\n },\r\n signal,\r\n })\r\n },\r\n\r\n getNextAvailableBlock({ channel, time, signal } = {}) {\r\n // process.env.VUE_APP_NEXT_AVAILABLE_BLOCK\r\n\r\n return Api.get(`GetPreviousAvailableBlockFileInformation`, {\r\n params: {\r\n Channel: channel,\r\n Split: 1,\r\n Time: time,\r\n Step: 0,\r\n },\r\n signal,\r\n })\r\n },\r\n\r\n // getVideoRequestQuery(direction, channel, split, time, step) {\r\n // return (\r\n // this.serverUrl +\r\n // 'Get' + direction + 'Video' +\r\n // '?Client=' +\r\n // client +\r\n // '&Channel=' +\r\n // channel +\r\n // '&Split=' +\r\n // split +\r\n // '&Time=' +\r\n // time +\r\n // '&Step=' +\r\n // step +\r\n // this.serverUrlExtraParams\r\n // )\r\n // }\r\n\r\n // getVideoRequestByTime(channel, time) {\r\n // return (\r\n // this.serverUrl +\r\n // 'GetVideo?channel=' +\r\n // channel +\r\n // '&time=' +\r\n // time +\r\n // this.serverUrlExtraParams\r\n // )\r\n // }\r\n}\r\n","export default {\r\n MinBlockSizes: Object.freeze({\r\n 1: 3600,\r\n 2: 3600,\r\n 3: 3600,\r\n 4: 3600,\r\n 5: 3600,\r\n }),\r\n\r\n MinBlockSizesBack: Object.freeze({\r\n 1: 1800,\r\n 2: 1800,\r\n 3: 1800,\r\n 4: 1800,\r\n 5: 1800,\r\n }),\r\n\r\n Direction: Object.freeze({\r\n Next: 'Next',\r\n Previous: 'Previous',\r\n Self: '',\r\n }),\r\n\r\n JpegQuality: Object.freeze({\r\n LowestQuality: '1',\r\n LowQuality: '25',\r\n MediumQuality: '50',\r\n HighQuality: '75',\r\n HighestQuality: '100',\r\n }),\r\n\r\n ResponseStatus: Object.freeze({\r\n Ok: 1,\r\n UnknownError: -1,\r\n VideoBlockNotFound: -2,\r\n InvalidRequest: -3,\r\n ClientNotAllowed: -4,\r\n AuthenticationProblem: -5,\r\n }),\r\n\r\n StepsQuality: Object.freeze({\r\n 1: '50', // 50 -> MediumQuality of JpegQuality\r\n 2: '50', // 50 -> MediumQuality of JpegQuality\r\n 3: '50', // 50 -> MediumQuality of JpegQuality\r\n 4: '50', // 50 -> MediumQuality of JpegQuality\r\n 5: '50', // 50 -> MediumQuality of JpegQuality\r\n }),\r\n\r\n SizeQuality: Object.freeze({ 1: '100' }), // 100 -> HighestQuality of JpegQuality\r\n\r\n StepsFactor: Object.freeze({ 1: 1, 2: 1, 3: 1, 4: 1, 5: 1 }),\r\n\r\n SmallBlockSize: Object.freeze({ 1: 1, 2: 1, 3: 1, 4: 1, 5: 1 }),\r\n}\r\n","import FramesService from '../services/FramesService.js'\r\nimport ENUM from './Enum.js'\r\n\r\nfunction FramesManager(\r\n channel,\r\n size,\r\n currentTime,\r\n startAudienceTime,\r\n useCache = true\r\n) {\r\n this.channel = channel\r\n this.size = size\r\n this.currentTime = currentTime\r\n this.useCache = useCache\r\n this.startAudienceTime = startAudienceTime\r\n this.firstFrameTime = currentTime\r\n\r\n this.buffer = []\r\n this.requests = {}\r\n\r\n this.currentStep = 1\r\n this.currentPosition = 0\r\n this.smallBlockSizeFactor = 2\r\n this.startCheckingQualityStep = 1\r\n this.startCheckingQualitySize = 1\r\n this.numberOfSmallBlocksCheck = 3\r\n}\r\n\r\nFramesManager.prototype.goTo = async function (time) {\r\n this.cancelAllPendingRequests()\r\n\r\n this.currentTime = time || this.currentTime\r\n const frameIndex = this.findFrameIndexByTime(this.currentTime)\r\n\r\n if (frameIndex >= 0) {\r\n this.currentPosition = frameIndex\r\n } else {\r\n this.buffer = []\r\n await this.getSmallBlock(this.currentTime, this.channel, 1)\r\n }\r\n}\r\n\r\nFramesManager.prototype.getSmallBlock = async function (\r\n time,\r\n channel,\r\n split,\r\n add = false\r\n) {\r\n const requestId = `smallBlock_${time}`\r\n try {\r\n if (!this.requests[requestId]) {\r\n this.requests[requestId] = new AbortController()\r\n\r\n let response = (\r\n await FramesService.getSmallBlockRequest({\r\n channel,\r\n split,\r\n time,\r\n size: this.size * 15,\r\n quality: ENUM.StepsQuality[this.currentStep],\r\n factor: ENUM.StepsFactor[this.currentStep],\r\n signal: this.requests[requestId].signal,\r\n })\r\n ).data\r\n\r\n if (!this.requests[requestId]) {\r\n throw 'Response not needed anymore'\r\n }\r\n\r\n if (response.status !== ENUM.ResponseStatus.Ok) {\r\n await this.getBlock(time, channel, split, ENUM.Direction.Previous, true)\r\n await this.getBlock(time, channel, split, ENUM.Direction.Next, true)\r\n throw response?.message || 'Unknown error'\r\n }\r\n\r\n response = response.data\r\n const images = response.frames\r\n this.requests[`block_${ENUM.Direction.Next}_${response.end}`] = true\r\n\r\n this.getBlock(time, this.channel, 1, ENUM.Direction.Self, true, true)\r\n\r\n if (!add) {\r\n const firstFrameTime = images[0].time\r\n const lastFrameTime = images[images.length - 1].time\r\n\r\n if (lastFrameTime === response.end) {\r\n await this.getSmallBlock(lastFrameTime + 1, this.channel, 1, true)\r\n } else if (\r\n this.timestampToTimeString(firstFrameTime) !==\r\n this.startAudienceTime &&\r\n firstFrameTime === response.start\r\n ) {\r\n await this.getSmallBlock(\r\n firstFrameTime - this.currentStep * this.size,\r\n this.channel,\r\n 1,\r\n true\r\n )\r\n }\r\n }\r\n\r\n this.orderFramesBlock(images)\r\n this.currentPosition = this.findFrameIndexByTime(this.currentTime)\r\n\r\n delete this.requests[`block_${ENUM.Direction.Next}_${response.end}`]\r\n delete this.requests[requestId]\r\n return true\r\n }\r\n console.error(`Frames Manager (GetSmallBlock): Request blocked by another equal request occurring`)\r\n return false\r\n } catch (err) {\r\n console.error(`Frames Manager (GetSmallBlock): ${err}`)\r\n delete this.requests[requestId]\r\n return false\r\n }\r\n}\r\n\r\nFramesManager.prototype.getBlock = async function (\r\n time,\r\n channel,\r\n split,\r\n direction,\r\n checkMinBlock,\r\n substituition = false\r\n) {\r\n const requestId = `block_${direction}_${time}`\r\n try {\r\n if (!this.requests[requestId]) {\r\n this.requests[requestId] = new AbortController()\r\n\r\n let response = (\r\n await FramesService.getBlockRequest({\r\n direction,\r\n channel,\r\n split,\r\n time,\r\n quality: ENUM.StepsQuality[this.currentStep],\r\n factor: ENUM.StepsFactor[this.currentStep],\r\n signal: this.requests[requestId].signal,\r\n })\r\n ).data\r\n\r\n if (!this.requests[requestId]) {\r\n throw 'Response not needed anymore'\r\n }\r\n\r\n if (response.status !== ENUM.ResponseStatus.Ok) {\r\n throw response?.message || 'Unknown error'\r\n }\r\n\r\n this.orderFramesBlock(response.data.frames)\r\n this.currentPosition = this.findFrameIndexByTime(this.currentTime)\r\n\r\n if (checkMinBlock) {\r\n await this.checkMinBlockSize(!substituition)\r\n }\r\n\r\n delete this.requests[requestId]\r\n return true\r\n }\r\n console.error(`Frames Manager (GetBlock ${direction}): Request blocked by another equal request occurring`)\r\n return false\r\n } catch (err) {\r\n console.error(`Frames Manager (GetBlock ${direction}): ${err}`)\r\n delete this.requests[requestId]\r\n return false\r\n }\r\n}\r\n\r\nFramesManager.prototype.checkMinBlockSize = async function (checkMinBlock) {\r\n if (this.checkFramesBackward()) {\r\n await this.getBlock(\r\n this.buffer.length === 0 ? this.currentTime : this.buffer[0].time,\r\n this.channel,\r\n 1,\r\n ENUM.Direction[this.buffer.length === 0 ? 'Self' : 'Previous'],\r\n checkMinBlock,\r\n (this.buffer[0]?.number || 0) !== 0\r\n )\r\n }\r\n\r\n if (this.checkFramesForward()) {\r\n await this.getBlock(\r\n this.buffer.length === 0\r\n ? this.currentTime\r\n : this.buffer[this.buffer.length - 1].time,\r\n this.channel,\r\n 1,\r\n ENUM.Direction[this.buffer.length === 0 ? 'Self' : 'Next'],\r\n checkMinBlock\r\n )\r\n }\r\n}\r\n\r\nFramesManager.prototype.checkFramesForward = function () {\r\n return (\r\n this.buffer.length - this.currentPosition <\r\n ENUM.MinBlockSizes[this.currentStep] * (this.size / 6)\r\n )\r\n}\r\n\r\nFramesManager.prototype.checkFramesBackward = function () {\r\n return this.currentPosition < ENUM.MinBlockSizesBack[this.currentStep]\r\n}\r\n\r\nFramesManager.prototype.orderFramesBlock = function (images) {\r\n if (this.buffer.length > 0) {\r\n const bufferFistTime = this.buffer[0].time\r\n const bufferLastTime = this.buffer[this.buffer.length - 1].time\r\n const beforeImages = images.filter((image) => image.time < bufferFistTime)\r\n const afterImages = images.filter((image) => image.time > bufferLastTime)\r\n\r\n this.buffer = [...beforeImages, ...this.buffer, ...afterImages]\r\n } else {\r\n this.buffer = images\r\n }\r\n}\r\n\r\nFramesManager.prototype.findFrameIndexByTime = function (time) {\r\n return this.buffer.findIndex((frame) => frame.time === time)\r\n}\r\n\r\nFramesManager.prototype.cancelAllPendingRequests = function () {\r\n for (const request in this.requests) {\r\n const value = this.requests[request]\r\n if (typeof value === 'object' && 'signal' in value) {\r\n value.abort()\r\n }\r\n delete this.requests[request]\r\n }\r\n}\r\n\r\nFramesManager.prototype.timestampToTimeString = function (timestamp) {\r\n return new Date(timestamp * 1000)\r\n .toISOString()\r\n .substring(11, 19)\r\n .replace(/:/g, '')\r\n}\r\n\r\nFramesManager.prototype.getPrevImages = function () {\r\n if (this.timestampToTimeString(this.currentTime) === this.startAudienceTime) {\r\n return null\r\n }\r\n\r\n return this.getBufferSlice(\r\n this.currentPosition - this.size * this.currentStep,\r\n this.currentPosition\r\n )\r\n}\r\n\r\nFramesManager.prototype.getCurrentImages = function () {\r\n return this.getBufferSlice(\r\n this.currentPosition,\r\n this.currentPosition + this.size * this.currentStep\r\n )\r\n}\r\n\r\nFramesManager.prototype.getNextImages = function () {\r\n return this.getBufferSlice(\r\n this.currentPosition + this.size * this.currentStep,\r\n this.currentPosition + this.size * 2 * this.currentStep\r\n )\r\n}\r\n\r\nFramesManager.prototype.getBufferSlice = function (start, end) {\r\n let slice = this.buffer.slice(start, end)\r\n\r\n if (this.currentStep !== 1) {\r\n slice = slice.filter((f, i) => i % this.currentStep === 0)\r\n }\r\n\r\n if (slice.length < this.size) {\r\n return null\r\n }\r\n\r\n return slice\r\n}\r\n\r\nFramesManager.prototype.next = function () {\r\n const newPosition = this.currentPosition + this.currentStep * this.size\r\n this.currentPosition =\r\n newPosition < this.buffer.length ? newPosition : this.currentPosition\r\n this.currentTime = this.buffer[this.currentPosition]?.time || this.currentTime\r\n\r\n this.checkMinBlockSize(true)\r\n}\r\n\r\nFramesManager.prototype.previous = function () {\r\n const newPosition = this.currentPosition - this.size * this.currentStep\r\n this.currentPosition = newPosition > 0 ? newPosition : 0\r\n this.currentTime = this.buffer[this.currentPosition]?.time || this.currentTime\r\n\r\n this.checkMinBlockSize(true)\r\n}\r\n\r\nFramesManager.prototype.getFileInfo = async function (time, step) {\r\n if (time) {\r\n let response = (\r\n await FramesService.getFileInfoRequest({\r\n direction: ENUM.Direction.Self,\r\n channel: this.channel,\r\n split: this.currentStep,\r\n time: time,\r\n step: step,\r\n })\r\n ).data\r\n\r\n if (response.status == ENUM.ResponseStatus.Ok) {\r\n return response.data\r\n } else {\r\n return null\r\n }\r\n } else {\r\n return null\r\n }\r\n}\r\n\r\nFramesManager.prototype.getNextFileInfo = async function (time, step) {\r\n let response = (\r\n await FramesService.getFileInfoRequest({\r\n direction: ENUM.Direction.Next,\r\n channel: this.channel,\r\n split: this.currentStep,\r\n time: time,\r\n step: step,\r\n })\r\n ).data\r\n\r\n if (response.status == ENUM.ResponseStatus.Ok) {\r\n return response.data\r\n } else {\r\n return null\r\n }\r\n}\r\n\r\nexport default FramesManager\r\n","import FramesManager from './FramesManager.js'\r\n\r\nconst server = sessionStorage.getItem('server')\r\n\r\nfunction getServerUrlWithParams() {\r\n return {\r\n url: sessionStorage.getItem('base_url'),\r\n params:\r\n server === 'alternative' ? '&BlockPathConfig=AlernativeTvConfig' : '',\r\n }\r\n}\r\n\r\nfunction FramesInterface(\r\n channel,\r\n numberOfRows,\r\n framesPerRow,\r\n currentTime,\r\n startAudienceTime,\r\n useCache = true\r\n) {\r\n this.channel = channel\r\n this.numberOfRows = numberOfRows\r\n this.framesPerRow = framesPerRow\r\n this.currentTime = currentTime\r\n this.firstFrameTime = currentTime\r\n this.startAudienceTime = startAudienceTime\r\n this.useCache = useCache\r\n}\r\n\r\nFramesInterface.prototype.init = async function () {\r\n this.framesManager = await new FramesManager(\r\n this.channel,\r\n this.numberOfRows * this.framesPerRow,\r\n this.currentTime,\r\n this.startAudienceTime,\r\n this.useCache\r\n )\r\n\r\n await this.framesManager.goTo()\r\n await this.loadFrames()\r\n}\r\n\r\nFramesInterface.prototype.initLight = async function () {\r\n this.framesManager = await new FramesManager(\r\n this.channel,\r\n this.numberOfRows * this.framesPerRow,\r\n this.currentTime,\r\n this.startAudienceTime,\r\n this.useCache\r\n )\r\n}\r\n\r\nFramesInterface.prototype.changeTime = async function (time) {\r\n await this.framesManager.goTo(time)\r\n await this.loadFrames()\r\n}\r\n\r\nFramesInterface.prototype.loadFrames = async function () {\r\n let prev = (await this.framesManager.getPrevImages()) || []\r\n let next = (await this.framesManager.getNextImages()) || []\r\n let current = (await this.framesManager.getCurrentImages()) || []\r\n\r\n prev = await this.constructImagesComponent(prev)\r\n current = await this.constructImagesComponent(current)\r\n next = await this.constructImagesComponent(next)\r\n\r\n this.frames = { prev, current, next }\r\n}\r\n\r\nFramesInterface.prototype.loadNextFrames = async function () {\r\n this.framesManager.next()\r\n\r\n let next = (await this.framesManager.getNextImages()) || []\r\n next = await this.constructImagesComponent(next)\r\n\r\n this.frames.prev = this.frames.current\r\n this.frames.current = this.frames.next\r\n this.frames.next = next\r\n}\r\n\r\nFramesInterface.prototype.loadPrevFrames = async function () {\r\n this.framesManager.previous()\r\n\r\n console.log(this.framesManager.currentTime, this.firstFrameTime)\r\n\r\n if (this.framesManager.currentTime < this.firstFrameTime) {\r\n await this.framesManager.goTo(this.firstFrameTime)\r\n await this.loadFrames()\r\n return\r\n }\r\n\r\n let prev = (await this.framesManager.getPrevImages()) || []\r\n prev = await this.constructImagesComponent(prev)\r\n\r\n this.frames.next = this.frames.current\r\n this.frames.current = this.frames.prev\r\n this.frames.prev = prev\r\n}\r\n\r\nFramesInterface.prototype.constructImagesComponent = async function (array) {\r\n const Semaphor = []\r\n for (let frame of array) {\r\n const image = document.createElement('img')\r\n image.src =\r\n frame.title === -1\r\n ? require('../assets/dummy.svg')\r\n : `${sessionStorage.getItem('base_url')}frames/${frame.title}${\r\n server == 'alternative' ? '?server=alt' : ''\r\n }`\r\n\r\n image.style.maxWidth = frame.title === -1 ? '80%' : '100%'\r\n image.style.contain = 'true'\r\n Semaphor.push(\r\n new Promise((resolve) => {\r\n image.addEventListener('load', () => {\r\n resolve()\r\n })\r\n })\r\n )\r\n\r\n frame['image'] = image.outerHTML\r\n }\r\n await Promise.all(Semaphor)\r\n return array\r\n}\r\n\r\nFramesInterface.prototype.getFrames = function (position) {\r\n const positions = ['prev', 'current', 'next']\r\n const images = this.frames[positions[position]]\r\n if (images && images.length > 0) {\r\n return images\r\n }\r\n return Array.from(Array(this.numberOfRows * this.framesPerRow).keys())\r\n}\r\n\r\nFramesInterface.prototype.getCurrentTime = function () {\r\n return this.framesManager.currentTime\r\n}\r\n\r\nFramesInterface.prototype.getVideoUrl = function (frame) {\r\n let { url, params } = getServerUrlWithParams()\r\n return (\r\n url +\r\n 'GetVideo?Client=' +\r\n sessionStorage.getItem('client') +\r\n '&Channel=' +\r\n this.channel +\r\n '&Time=' +\r\n frame.time +\r\n params +\r\n '#t=' +\r\n frame.number\r\n )\r\n}\r\n\r\nFramesInterface.prototype.getVideoUrlForTime = function (time) {\r\n let { url, params } = getServerUrlWithParams()\r\n return (\r\n url +\r\n 'GetVideo?Client=' +\r\n sessionStorage.getItem('client') +\r\n '&Channel=' +\r\n this.channel +\r\n '&Time=' +\r\n time +\r\n params\r\n )\r\n}\r\n\r\nFramesInterface.prototype.getVideoStartTime = async function (frame) {\r\n try {\r\n const block = await this.framesManager.getFileInfo(frame.time, 0)\r\n return block\r\n } catch (err) {\r\n console.log(err)\r\n }\r\n}\r\n\r\nFramesInterface.prototype.getBlockInfo = async function (frame) {\r\n try {\r\n const block = await this.framesManager.getFileInfo(frame.time, 0)\r\n return block\r\n } catch (err) {\r\n console.log(err)\r\n }\r\n}\r\n\r\nFramesInterface.prototype.getNextVideoStartTime = async function (time) {\r\n try {\r\n const block = await this.framesManager.getNextFileInfo(time, 0)\r\n return block.start\r\n } catch (err) {\r\n console.log(err)\r\n }\r\n}\r\n\r\nFramesInterface.prototype.setCurrentStep = function (step) {\r\n this.framesManager.currentStep = step\r\n}\r\n\r\nFramesInterface.prototype.changeSize = async function (\r\n numberOfRows,\r\n framesPerRow\r\n) {\r\n this.numberOfRows = numberOfRows\r\n this.framesPerRow = framesPerRow\r\n this.framesManager.size = this.numberOfRows * this.framesPerRow\r\n await this.loadFrames()\r\n}\r\n\r\nFramesInterface.prototype.getVideoRequestByUrl = function (url_path, t) {\r\n const { url, params } = getServerUrlWithParams()\r\n return url + 'StreamFromVideo?url=' + url_path + params + '#t=' + t\r\n}\r\n\r\nexport default FramesInterface\r\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"visualization-col pa-0\",staticStyle:{\"border-top-right-radius\":\"6px\"},attrs:{\"id\":\"command-bar\"}},[(_vm.commandBarShow)?_c('div',{staticClass:\"visualization-row visualization-justify-center\"},_vm._l((_vm.commandBarBtns),function(btn,index){return _c('div',{key:'command-btn-' + index},[(!btn)?_c('hr',{staticClass:\"visualization-divider vertical\",staticStyle:{\"margin\":\"0 4px\"}}):_vm._e(),(btn && (btn.condition ? btn.condition() : true))?_c('button',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(\n btn.text && typeof btn.text === 'function' ? btn.text() : btn.text\n ),expression:\"\\n btn.text && typeof btn.text === 'function' ? btn.text() : btn.text\\n \"}],staticClass:\"command-bar-btn\",style:({\n color:\n btn.color && typeof btn.color === 'function'\n ? btn.color()\n : 'black',\n }),on:{\"click\":btn.fnc}},[_c('font-awesome-icon',{attrs:{\"id\":btn.id,\"icon\":'fa-solid ' +\n (btn.icon && typeof btn.icon === 'function'\n ? btn.icon()\n : btn.icon)}})],1):_vm._e()])}),0):_vm._e(),_c('hr',{staticClass:\"visualization-divider\"})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div\r\n class=\"visualization-col pa-0\"\r\n id=\"command-bar\"\r\n style=\"border-top-right-radius: 6px\"\r\n >\r\n <div\r\n class=\"visualization-row visualization-justify-center\"\r\n v-if=\"commandBarShow\"\r\n >\r\n <div v-for=\"(btn, index) in commandBarBtns\" :key=\"'command-btn-' + index\">\r\n <hr\r\n class=\"visualization-divider vertical\"\r\n v-if=\"!btn\"\r\n style=\"margin: 0 4px\"\r\n />\r\n <button\r\n v-if=\"btn && (btn.condition ? btn.condition() : true)\"\r\n v-tooltip=\"\r\n btn.text && typeof btn.text === 'function' ? btn.text() : btn.text\r\n \"\r\n :style=\"{\r\n color:\r\n btn.color && typeof btn.color === 'function'\r\n ? btn.color()\r\n : 'black',\r\n }\"\r\n class=\"command-bar-btn\"\r\n @click=\"btn.fnc\"\r\n >\r\n <font-awesome-icon\r\n :id=\"btn.id\"\r\n :icon=\"\r\n 'fa-solid ' +\r\n (btn.icon && typeof btn.icon === 'function'\r\n ? btn.icon()\r\n : btn.icon)\r\n \"\r\n />\r\n </button>\r\n </div>\r\n </div>\r\n <hr class=\"visualization-divider\" />\r\n </div>\r\n</template>\r\n<script>\r\nexport default {\r\n props: {\r\n videoPlaying: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n videoPaused: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n insertTime: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n hourIniSelected: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n hourEndSelected: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n },\r\n data() {\r\n return {\r\n commandBarShow: true,\r\n commandBarBtns: [\r\n {\r\n fnc: () => this.$emit('prev-loop-activate'),\r\n icon: 'fa-backward',\r\n text: 'Fast Backward',\r\n id: 'Fast Backward',\r\n },\r\n {\r\n fnc: () => this.$emit('prev'),\r\n icon: 'fa-step-backward',\r\n text: 'Step Backward',\r\n id: 'Step Backward',\r\n },\r\n {\r\n fnc: () => this.$emit('go-to'),\r\n icon: 'fa-clock',\r\n text: this.$i18n.t('infoBar.setHour'),\r\n id: 'Definir Hora',\r\n },\r\n {\r\n fnc: () => this.$emit('next'),\r\n icon: 'fa-step-forward',\r\n text: 'Step Forward',\r\n id: 'Step Forward',\r\n },\r\n {\r\n fnc: () => this.$emit('next-loop-activate'),\r\n icon: 'fa-forward',\r\n text: 'Fast Forward',\r\n id: 'Fast Forward',\r\n },\r\n {\r\n fnc: () => this.$emit('play-or-pause'),\r\n icon: () => {\r\n return this.videoPlaying && !this.videoPaused\r\n ? 'fa-pause'\r\n : 'fa-play'\r\n },\r\n text: () => {\r\n return this.videoPlaying && !this.videoPaused ? 'Pause' : 'Play'\r\n },\r\n id: 'playOrPause',\r\n },\r\n {\r\n fnc: () => this.$emit('stop-playing'),\r\n icon: 'fa-stop',\r\n text: 'Stop',\r\n id: 'Stop',\r\n },\r\n null,\r\n {\r\n fnc: () => this.$emit('open-frame-selection'),\r\n icon: 'fa-border-all',\r\n text: this.$i18n.t('infoBar.gridForm'),\r\n id: 'Formato da grelha',\r\n },\r\n {\r\n fnc: () => this.$emit('open-frames-per-second'),\r\n icon: 'fa-sliders-h',\r\n text: this.$i18n.t('infoBar.secondImage'),\r\n id: 'Segundos por Imagem',\r\n },\r\n // {\r\n // fnc: () => this.$emit('open-blocks'),\r\n // icon: 'fa-cut',\r\n // text: 'Escolher intervalo de blocos',\r\n // id: 'Escolher intervalo de blocos',\r\n // },\r\n {\r\n fnc: () => this.$emit('open-playback-rate'),\r\n icon: 'fa-tachometer-alt',\r\n text: this.$i18n.t('infoBar.chooseVelocity'),\r\n id: 'Escolher velocidade de reprodução',\r\n },\r\n // {\r\n // fnc: () => this.$emit('insert-time-force'),\r\n // icon: 'fa-arrow-turn-down',\r\n // text: 'Recuperar Notícia',\r\n // id: 'Recuperar Notícia',\r\n // condition: () => {\r\n // return this.insertTime\r\n // },\r\n // },\r\n null,\r\n {\r\n fnc: () => this.$emit('set-hour-ini'),\r\n icon: 'fa-hourglass-start',\r\n text: this.$i18n.t('form.inicialHour'),\r\n id: 'Hora Inicial',\r\n color: () => {\r\n return this.hourIniSelected ? 'var(--visualization-start)' : 'black'\r\n },\r\n },\r\n {\r\n fnc: () => this.$emit('insert-time'),\r\n icon: 'fa-arrow-circle-down',\r\n text: this.$i18n.t('infoBar.insert'),\r\n id: 'insert',\r\n condition: () => {\r\n return this.insertTime\r\n },\r\n },\r\n {\r\n fnc: () => this.$emit('set-hour-end'),\r\n icon: 'fa-hourglass-end',\r\n text: this.$i18n.t('form.endHour'),\r\n id: 'Hora Final',\r\n color: () => {\r\n return this.hourEndSelected ? 'var(--visualization-end)' : 'black'\r\n },\r\n },\r\n // {\r\n // fnc: () => this.$emit('check-available-block'),\r\n // icon: 'fa-video',\r\n // text: 'Próximo bloco disponível',\r\n // id: 'Próximo bloco disponível',\r\n // },\r\n ],\r\n }\r\n },\r\n}\r\n</script>\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Commands.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Commands.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Commands.vue?vue&type=template&id=28a1997b&\"\nimport script from \"./Commands.vue?vue&type=script&lang=js&\"\nexport * from \"./Commands.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"visualization-row visualization-justify-center visualization-align-center\",style:(!_vm.commandsShow\n ? 'border-top-right-radius: 6px; padding: 4px'\n : 'padding: 4px'),attrs:{\"id\":\"info-bar\"}},[_c('span',[_vm._v(\" \"+_vm._s(_vm.playbackRate)+\"x \")]),_c('hr',{staticClass:\"visualization-divider vertical\",staticStyle:{\"margin\":\"0 8px\"}}),_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('infoBar.selected', { seconds: _vm.hourEnd && _vm.hourIni ? _vm.hourEnd - _vm.hourIni + 1 : 0, hour_ini: _vm.convertToAudienceTime(_vm.hourIni), hour_end: _vm.convertToAudienceTime(_vm.hourEnd), }))+\" \")]),_c('hr',{staticClass:\"visualization-divider vertical\",staticStyle:{\"margin\":\"0 8px\"}}),_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('infoBar.interval', { seconds: _vm.secondsPerFrame, }))+\" \")]),_c('hr',{staticClass:\"visualization-divider vertical\",staticStyle:{\"margin\":\"0 8px\"}}),_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('infoBar.block', { time1: _vm.convertToAudienceTime(_vm.blockStartTime), time2: _vm.convertToAudienceTime(_vm.blockTotalTime), }))+\" \")]),_c('hr',{staticClass:\"visualization-divider vertical\",staticStyle:{\"margin\":\"0 8px\"}}),_vm._v(\" \"+_vm._s(_vm.framesPerRow * _vm.numberOfRows)+\" \"),_c('hr',{staticClass:\"visualization-divider vertical\",staticStyle:{\"margin\":\"0 8px\"}}),_vm._v(\" \"+_vm._s(_vm.framesPerRow + '*' + _vm.numberOfRows)+\" \"),(_vm.alternativeServer || !_vm.cache)?_c('span',{staticClass:\"visualization-divider vertical\",staticStyle:{\"margin\":\"0 8px\"}}):_vm._e(),(_vm.alternativeServer)?_c('span',[_c('v-icon',{attrs:{\"color\":\"error\",\"small\":\"\",\"left\":\"\"}},[_vm._v(\"fa-exclamation-triangle\")]),_c('strong',[_vm._v(_vm._s(_vm.$t('infoBar.alternativeServer')))])],1):_vm._e(),(_vm.alternativeServer && !_vm.cache)?_c('span',{staticClass:\"visualization-divider vertical\",staticStyle:{\"margin\":\"0 8px\"}}):_vm._e(),(!_vm.cache)?_c('span',[_c('v-icon',{attrs:{\"color\":\"warning\",\"small\":\"\",\"left\":\"\"}},[_vm._v(\"fa-exclamation-circle\")]),_c('strong',[_vm._v(_vm._s(_vm.$t('infoBar.notUsingCache')))])],1):_vm._e(),_c('div',{staticClass:\"settings-container\"},[_c('font-awesome-icon',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(\n _vm.alternativeServer\n ? _vm.$t('infoBar.changeServer')\n : _vm.$t('infoBar.changeServer')\n ),expression:\"\\n alternativeServer\\n ? $t('infoBar.changeServer')\\n : $t('infoBar.changeServer')\\n \"}],attrs:{\"icon\":\"fa-solid fa-server\"},on:{\"click\":function($event){return _vm.$emit('change-server')}}}),_c('font-awesome-icon',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(\n _vm.commandsShow\n ? _vm.$t('moduletelentry.hideButtons')\n : _vm.$t('moduletelentry.showButtons')\n ),expression:\"\\n commandsShow\\n ? $t('moduletelentry.hideButtons')\\n : $t('moduletelentry.showButtons')\\n \"}],attrs:{\"icon\":_vm.commandsShow ? 'fa-solid fa-eye' : 'fa-solid fa-eye-slash'},on:{\"click\":function($event){return _vm.$emit('toogle-commands-visibility')}}}),_c('font-awesome-icon',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(\n _vm.cache ? _vm.$t('infoBar.disableCache') : _vm.$t('infoBar.activateCache')\n ),expression:\"\\n cache ? $t('infoBar.disableCache') : $t('infoBar.activateCache')\\n \"}],attrs:{\"icon\":_vm.cache ? 'fa-solid fa-ban' : 'fa-solid fa-sync'},on:{\"click\":function($event){return _vm.$emit('toogle-cache')}}})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div\r\n id=\"info-bar\"\r\n class=\"visualization-row visualization-justify-center visualization-align-center\"\r\n :style=\"\r\n !commandsShow\r\n ? 'border-top-right-radius: 6px; padding: 4px'\r\n : 'padding: 4px'\r\n \"\r\n >\r\n <span> {{ playbackRate }}x </span>\r\n <hr class=\"visualization-divider vertical\" style=\"margin: 0 8px\" />\r\n <span>\r\n {{\r\n $t('infoBar.selected', {\r\n seconds: hourEnd && hourIni ? hourEnd - hourIni + 1 : 0,\r\n hour_ini: convertToAudienceTime(hourIni),\r\n hour_end: convertToAudienceTime(hourEnd),\r\n })\r\n }}\r\n </span>\r\n <hr class=\"visualization-divider vertical\" style=\"margin: 0 8px\" />\r\n <span>\r\n {{\r\n $t('infoBar.interval', {\r\n seconds: secondsPerFrame,\r\n })\r\n }}\r\n </span>\r\n <hr class=\"visualization-divider vertical\" style=\"margin: 0 8px\" />\r\n <span>\r\n {{\r\n $t('infoBar.block', {\r\n time1: convertToAudienceTime(blockStartTime),\r\n time2: convertToAudienceTime(blockTotalTime),\r\n })\r\n }}\r\n </span>\r\n <hr class=\"visualization-divider vertical\" style=\"margin: 0 8px\" />\r\n {{ framesPerRow * numberOfRows }}\r\n <hr class=\"visualization-divider vertical\" style=\"margin: 0 8px\" />\r\n {{ framesPerRow + '*' + numberOfRows }}\r\n <span\r\n class=\"visualization-divider vertical\"\r\n v-if=\"alternativeServer || !cache\"\r\n style=\"margin: 0 8px\"\r\n />\r\n <span v-if=\"alternativeServer\">\r\n <v-icon color=\"error\" small left>fa-exclamation-triangle</v-icon>\r\n <strong>{{ $t('infoBar.alternativeServer') }}</strong>\r\n </span>\r\n <span\r\n class=\"visualization-divider vertical\"\r\n v-if=\"alternativeServer && !cache\"\r\n style=\"margin: 0 8px\"\r\n />\r\n <span v-if=\"!cache\">\r\n <v-icon color=\"warning\" small left>fa-exclamation-circle</v-icon>\r\n <strong>{{ $t('infoBar.notUsingCache') }}</strong>\r\n </span>\r\n <div class=\"settings-container\">\r\n <font-awesome-icon\r\n icon=\"fa-solid fa-server\"\r\n @click=\"$emit('change-server')\"\r\n v-tooltip=\"\r\n alternativeServer\r\n ? $t('infoBar.changeServer')\r\n : $t('infoBar.changeServer')\r\n \"\r\n />\r\n <font-awesome-icon\r\n :icon=\"commandsShow ? 'fa-solid fa-eye' : 'fa-solid fa-eye-slash'\"\r\n @click=\"$emit('toogle-commands-visibility')\"\r\n v-tooltip=\"\r\n commandsShow\r\n ? $t('moduletelentry.hideButtons')\r\n : $t('moduletelentry.showButtons')\r\n \"\r\n />\r\n <font-awesome-icon\r\n :icon=\"cache ? 'fa-solid fa-ban' : 'fa-solid fa-sync'\"\r\n @click=\"$emit('toogle-cache')\"\r\n v-tooltip=\"\r\n cache ? $t('infoBar.disableCache') : $t('infoBar.activateCache')\r\n \"\r\n />\r\n </div>\r\n </div>\r\n</template>\r\n<script>\r\nexport default {\r\n props: {\r\n playbackRate: {\r\n type: Number,\r\n required: true,\r\n },\r\n secondsPerFrame: {\r\n type: Number,\r\n required: true,\r\n },\r\n commandsShow: {\r\n type: Boolean,\r\n required: true,\r\n },\r\n cache: {\r\n type: Boolean,\r\n required: true,\r\n },\r\n blockStartTime: {\r\n type: Number,\r\n required: true,\r\n },\r\n videoTotalDuration: {\r\n type: Number,\r\n required: true,\r\n },\r\n alternativeServer: {\r\n type: Boolean,\r\n required: true,\r\n },\r\n framesPerRow: {\r\n type: Number,\r\n required: true,\r\n },\r\n numberOfRows: {\r\n type: Number,\r\n required: true,\r\n },\r\n hourIni: {\r\n type: [Number, Boolean],\r\n },\r\n hourEnd: {\r\n type: [Number, Boolean],\r\n },\r\n },\r\n data() {\r\n return {}\r\n },\r\n computed: {\r\n blockTotalTime() {\r\n return this.videoTotalDuration + this.blockStartTime\r\n },\r\n },\r\n methods: {\r\n convertToAudienceTime(time, separator = ':') {\r\n const d = this.getDateParts()\r\n const limit = Date.UTC(d.year, d.month, d.day, 23, 59, 59) / 1000\r\n\r\n let hour = this.dateInUtc(time * 1000)\r\n .toTimeString()\r\n .split(' ')[0]\r\n .split(':')\r\n .map(Number)\r\n\r\n if (time > limit && time <= limit + this.startAudienceSeconds) {\r\n hour[0] = 24 + hour[0]\r\n }\r\n return hour\r\n .map((part) => (part > 9 ? part.toString() : '0' + part))\r\n .join(separator)\r\n },\r\n getDateParts(date = this.date) {\r\n const d = new Date(date)\r\n return {\r\n year: d.getFullYear(),\r\n month: d.getMonth(),\r\n day: d.getDate(),\r\n }\r\n },\r\n dateInUtc(miliSeconds) {\r\n var date = new Date(miliSeconds)\r\n var utc = new Date(\r\n date.getUTCFullYear(),\r\n date.getUTCMonth(),\r\n date.getUTCDate(),\r\n date.getUTCHours(),\r\n date.getUTCMinutes(),\r\n date.getUTCSeconds()\r\n )\r\n return utc\r\n },\r\n },\r\n}\r\n</script>\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Infos.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Infos.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Infos.vue?vue&type=template&id=68da7f95&\"\nimport script from \"./Infos.vue?vue&type=script&lang=js&\"\nexport * from \"./Infos.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('div',{staticClass:\"visualization-row\",attrs:{\"id\":\"progress\"},on:{\"mousedown\":_vm.progressMouseDown}},[_c('span',{staticClass:\"progressLabel\"},[_vm._v(\" \"+_vm._s(_vm.convertToAudienceTime(_vm.videoTime))+\" \")]),_c('span',{staticClass:\"progressBar\"})]),_c('hr',{staticClass:\"visualization-divider\"})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div>\r\n <div class=\"visualization-row\" id=\"progress\" @mousedown=\"progressMouseDown\">\r\n <span class=\"progressLabel\">\r\n {{ convertToAudienceTime(videoTime) }}\r\n </span>\r\n <span class=\"progressBar\"></span>\r\n </div>\r\n <hr class=\"visualization-divider\" />\r\n </div>\r\n</template>\r\n<script>\r\nexport default {\r\n props: {\r\n videoTime: {\r\n type: Number,\r\n required: true,\r\n },\r\n },\r\n methods: {\r\n progressMouseDown(e) {\r\n this.progressVideoDrag = true\r\n const array = this.$refs.frames.filter(\r\n (fc) => fc.videoStatus === fc.Status.playing\r\n )\r\n if (array.length === 1) {\r\n const frame = array[0]\r\n frame.playOrPause()\r\n }\r\n this.updateProgress(e)\r\n\r\n window.addEventListener('mouseup', this.progressMouseUp)\r\n window.addEventListener('mousemove', this.progressMouseMove)\r\n },\r\n progressMouseUp(e) {\r\n if (this.progressVideoDrag) {\r\n const array = this.$refs.frames.filter(\r\n (fc) => fc.videoStatus === fc.Status.paused\r\n )\r\n if (array.length === 1) {\r\n const frame = array[0]\r\n frame.playOrPause()\r\n }\r\n\r\n this.updateProgress(e)\r\n }\r\n\r\n window.removeEventListener('mouseup', this.progressMouseUp)\r\n window.removeEventListener('mousemove', this.progressMouseMove)\r\n this.progressVideoDrag = false\r\n },\r\n progressMouseMove(e) {\r\n if (this.progressVideoDrag) {\r\n this.updateProgress(e)\r\n }\r\n },\r\n updateProgress(e, time) {\r\n let percentage\r\n const element = document.getElementById('progress')\r\n const elementBar = element.getElementsByClassName('progressBar')[0]\r\n\r\n let frames = this.$refs.frames.filter(\r\n (fc) =>\r\n fc.videoStatus === fc.Status.playing ||\r\n fc.videoStatus === fc.Status.paused\r\n )\r\n let frame = frames.length === 1 ? frames[0] : null\r\n\r\n if (time && frame) {\r\n let timeInSeconds = frame.videoCurrentTime - this.sliderStartTime\r\n\r\n percentage = (timeInSeconds / this.videoSliderTotalDuration) * 100\r\n } else if (e) {\r\n const rect = element.getBoundingClientRect()\r\n const max = Math.round(rect.width)\r\n const pos = e.pageX - Math.round(rect.left)\r\n percentage = (pos / max) * 100 <= 100 ? (pos / max) * 100 : 100\r\n\r\n if (frame) {\r\n let targetInSeconds =\r\n this.videoSliderTotalDuration * (percentage / 100)\r\n let timeStampToJump = parseInt(this.sliderStartTime + targetInSeconds)\r\n frame.videoJumpToTimeStamp(timeStampToJump)\r\n }\r\n } else {\r\n percentage = 0\r\n }\r\n\r\n elementBar.style.width = `${percentage}%`\r\n },\r\n getDateParts(date = this.date) {\r\n const d = new Date(date)\r\n return {\r\n year: d.getFullYear(),\r\n month: d.getMonth(),\r\n day: d.getDate(),\r\n }\r\n },\r\n dateInUtc(miliSeconds) {\r\n var date = new Date(miliSeconds)\r\n var utc = new Date(\r\n date.getUTCFullYear(),\r\n date.getUTCMonth(),\r\n date.getUTCDate(),\r\n date.getUTCHours(),\r\n date.getUTCMinutes(),\r\n date.getUTCSeconds()\r\n )\r\n return utc\r\n },\r\n convertToAudienceTime(time, separator = ':') {\r\n const d = this.getDateParts()\r\n const limit = Date.UTC(d.year, d.month, d.day, 23, 59, 59) / 1000\r\n\r\n let hour = this.dateInUtc(time * 1000)\r\n .toTimeString()\r\n .split(' ')[0]\r\n .split(':')\r\n .map(Number)\r\n\r\n if (time > limit && time <= limit + this.startAudienceSeconds) {\r\n hour[0] = 24 + hour[0]\r\n }\r\n return hour\r\n .map((part) => (part > 9 ? part.toString() : '0' + part))\r\n .join(separator)\r\n },\r\n },\r\n}\r\n</script>\r\n<style scoped>\r\n#progress {\r\n position: relative;\r\n cursor: pointer;\r\n width: 80%;\r\n height: 15px;\r\n background-color: #dfdfdf;\r\n margin: 5px auto;\r\n border-radius: 6px;\r\n}\r\n.progressBar {\r\n display: absolute;\r\n height: 15px;\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n background-color: var(--visualization-secondary);\r\n z-index: 2;\r\n width: 50%;\r\n border-radius: inherit;\r\n}\r\n.progressBar::after {\r\n content: '';\r\n width: 17px;\r\n height: 17px;\r\n position: absolute;\r\n top: -1px;\r\n right: -8.5px;\r\n border-radius: 50%;\r\n background-color: var(--visualization-primary);\r\n z-index: 3;\r\n}\r\n.progressLabel {\r\n z-index: 4;\r\n margin: 0 auto;\r\n font-weight: bold;\r\n line-height: 17px;\r\n font-size: 14px;\r\n text-shadow: -1px 0 #dfdfdf, 0 1px #dfdfdf, 1px 0 #dfdfdf, 0 -1px #dfdfdf;\r\n\r\n user-select: none;\r\n}\r\n</style>\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./VideoProgress.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./VideoProgress.vue?vue&type=script&lang=js&\"","// extracted by mini-css-extract-plugin\nexport {};","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-12.use[0]!../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!../../node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./VideoProgress.vue?vue&type=style&index=0&id=7fe6f244&prod&scoped=true&lang=css&\"","import { render, staticRenderFns } from \"./VideoProgress.vue?vue&type=template&id=7fe6f244&scoped=true&\"\nimport script from \"./VideoProgress.vue?vue&type=script&lang=js&\"\nexport * from \"./VideoProgress.vue?vue&type=script&lang=js&\"\nimport style0 from \"./VideoProgress.vue?vue&type=style&index=0&id=7fe6f244&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7fe6f244\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[(_vm.dialogsVisibility.frames)?_c('GlobalEvents',{on:{\"keydown\":[function($event){if(!$event.type.indexOf('key')&&$event.keyCode!==37)return null;return _vm.prevFormat.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&$event.keyCode!==39)return null;return _vm.nextFormat.apply(null, arguments)}]}}):_vm._e(),_c('dialog',{ref:\"frames\"},[_c('div',{staticClass:\"visualization-row\",staticStyle:{\"padding\":\"5px\",\"font-weight\":\"bold\",\"background-color\":\"var(--visualization-primary)\",\"border-color\":\"var(--visualization-primary)\",\"height\":\"40px\",\"color\":\"white\",\"display\":\"flex\",\"justify-content\":\"center\",\"padding-top\":\"10px\"}},[_vm._v(\" \"+_vm._s(_vm.$t('infoBar.gridForm'))+\" \")]),_c('div',{staticClass:\"visualization-row\",staticStyle:{\"justify-content\":\"center\"}},_vm._l((_vm.items),function(item,index){return _c('div',{key:index,staticClass:\"visualization-col\",staticStyle:{\"min-width\":\"200px\",\"max-width\":\"200px\"}},[_c('img',{style:(_vm.framesValue !== item.value ? 'filter: grayscale(1)' : ''),attrs:{\"src\":item.image,\"width\":\"100%\"},on:{\"click\":() => (_vm.framesValue = item.value)}})])}),0),_c('div',{staticClass:\"visualization-divider\"}),_c('div',{staticClass:\"visualization-row\",staticStyle:{\"display\":\"flex\",\"justify-content\":\"center\",\"margin-top\":\"10px\",\"margin-bottom\":\"10px\"}},[_c('button',{staticStyle:{\"border-radius\":\"4px\",\"height\":\"35px\",\"width\":\"70px\",\"background-color\":\"var(--visualization-primary)\",\"border-color\":\"var(--visualization-primary)\",\"color\":\"white\"},on:{\"click\":function($event){return _vm.$emit('close', 'frames')}}},[_vm._v(\" Ok \")])])]),_c('dialog',{ref:\"secondsPerFrame\"},[_c('div',{staticClass:\"visualization-row\",staticStyle:{\"padding\":\"5px\",\"font-weight\":\"bold\",\"background-color\":\"var(--visualization-primary)\",\"border-color\":\"var(--visualization-primary)\",\"height\":\"40px\",\"color\":\"white\",\"display\":\"flex\",\"justify-content\":\"center\",\"padding-top\":\"10px\"}},[_vm._v(\" \"+_vm._s(_vm.$t('infoBar.secondImage'))+\" \")]),_c('div',{staticClass:\"visualization-row\",staticStyle:{\"margin\":\"25px\",\"height\":\"20px\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.secondsPerFrameValue),expression:\"secondsPerFrameValue\"}],ref:\"secondsPerFrameInput\",staticStyle:{\"height\":\"30px\",\"width\":\"300px\"},attrs:{\"type\":\"range\",\"step\":\"1\",\"max\":\"5\",\"min\":\"1\"},domProps:{\"value\":(_vm.secondsPerFrameValue)},on:{\"__r\":function($event){_vm.secondsPerFrameValue=$event.target.value}}}),_c('span',{staticStyle:{\"padding-left\":\"20px\",\"font-size\":\"16px\"}},[_vm._v(\" \"+_vm._s(_vm.secondsPerFrame + ' s'))])]),_c('div',{staticClass:\"visualization-divider\",staticStyle:{\"margin\":\"10px\"}}),_c('div',{staticClass:\"visualization-row\",staticStyle:{\"display\":\"flex\",\"justify-content\":\"center\",\"margin-top\":\"10px\"}},[_c('button',{staticStyle:{\"border-radius\":\"4px\",\"height\":\"35px\",\"width\":\"70px\",\"background-color\":\"var(--visualization-primary)\",\"border-color\":\"var(--visualization-primary)\",\"color\":\"white\",\"margin-bottom\":\"8px\"},on:{\"click\":function($event){return _vm.$emit('close', 'secondsPerFrame')}}},[_vm._v(\" Ok \")])])]),_c('dialog',{ref:\"goTo\"},[_c('div',{staticStyle:{\"padding\":\"5px\",\"font-weight\":\"bold\",\"background-color\":\"var(--visualization-primary)\",\"border-color\":\"var(--visualization-primary)\",\"height\":\"35px\",\"color\":\"white\",\"display\":\"flex\",\"justify-content\":\"center\",\"padding-top\":\"8px\"}},[_vm._v(\" \"+_vm._s(_vm.$t('infoBar.goTo'))+\" \")]),_c('div',{staticClass:\"visualization-row\",staticStyle:{\"margin\":\"25px\",\"height\":\"20px\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.goToValue),expression:\"goToValue\"},{name:\"mask\",rawName:\"v-mask\",value:('##:##:##'),expression:\"'##:##:##'\"}],staticStyle:{\"height\":\"30px\",\"width\":\"300px\",\"border\":\"0.1px solid #c2c9d6\",\"border-radius\":\"3px\",\"padding\":\"5px\"},attrs:{\"type\":\"text\",\"placeholder\":\"hh:mm:ss\"},domProps:{\"value\":(_vm.goToValue)},on:{\"input\":function($event){if($event.target.composing)return;_vm.goToValue=$event.target.value}}})]),_c('div',{staticClass:\"visualization-divider\",staticStyle:{\"margin-top\":\"40px\"}}),_c('div',{staticClass:\"visualization-row\",staticStyle:{\"display\":\"flex\",\"justify-content\":\"center\",\"margin-top\":\"10px\",\"margin-bottom\":\"10px\"}},[_c('button',{staticStyle:{\"border-radius\":\"4px\",\"height\":\"35px\",\"width\":\"70px\",\"background-color\":\"var(--visualization-primary)\",\"border-color\":\"var(--visualization-primary)\",\"color\":\"white\"},on:{\"click\":() => {\n _vm.$emit('close', 'goTo')\n _vm.$emit('change-go-to', _vm.goToValue)\n _vm.goToValue = ''\n }}},[_vm._v(\" Ok \")])])]),_c('GlobalEvents',{on:{\"keydown\":[function($event){if(!$event.type.indexOf('key')&&$event.keyCode!==107)return null;return _vm.changePlaybackRate(1)},function($event){if(!$event.type.indexOf('key')&&$event.keyCode!==109)return null;return _vm.changePlaybackRate(-1)}]}}),_c('dialog',{ref:\"playbackRate\"},[_c('div',{staticClass:\"visualization-row\",staticStyle:{\"padding\":\"5px\",\"font-weight\":\"bold\",\"background-color\":\"var(--visualization-primary)\",\"border-color\":\"var(--visualization-primary)\",\"height\":\"35px\",\"color\":\"white\",\"display\":\"flex\",\"justify-content\":\"center\",\"padding-top\":\"8px\"}},[_vm._v(\" \"+_vm._s(_vm.$t('infoBar.playbackSpeed'))+\" \")]),_c('div',{staticClass:\"visualization-row\",staticStyle:{\"margin\":\"25px\",\"height\":\"20px\",\"width\":\"380px\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.playbackRateValue),expression:\"playbackRateValue\"}],ref:\"playbackRateInput\",staticStyle:{\"height\":\"30px\",\"width\":\"300px\"},attrs:{\"type\":\"range\",\"step\":\"0.25\",\"max\":\"3\",\"min\":\"1\"},domProps:{\"value\":(_vm.playbackRateValue)},on:{\"__r\":function($event){_vm.playbackRateValue=$event.target.value}}}),_c('span',{staticStyle:{\"padding-left\":\"20px\",\"padding-right\":\"20px\",\"font-size\":\"16px\"}},[_vm._v(_vm._s(_vm.playbackRate + 'x'))])]),_c('div',{staticClass:\"visualization-divider\",staticStyle:{\"margin-top\":\"40px\"}}),_c('div',{staticClass:\"visualization-row\",staticStyle:{\"display\":\"flex\",\"justify-content\":\"center\",\"margin-top\":\"10px\",\"margin-bottom\":\"10px\"}},[_c('button',{staticStyle:{\"border-radius\":\"4px\",\"height\":\"35px\",\"width\":\"70px\",\"background-color\":\"var(--visualization-primary)\",\"border-color\":\"var(--visualization-primary)\",\"color\":\"white\"},on:{\"click\":function($event){return _vm.$emit('close', 'playbackRate')}}},[_vm._v(\" Ok \")])])])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import one_one from './1x1.svg'\r\nimport two_one from './2x1.svg'\r\nimport three_one from './3x1.svg'\r\nimport three_two from './3x2.svg'\r\nimport four_one from './4x1.svg'\r\nimport four_two from './4x2.svg'\r\nimport five_one from './5x1.svg'\r\nimport five_two from './5x2.svg'\r\nimport six_one from './6x1.svg'\r\nimport six_two from './6x2.svg'\r\n\r\nexport default {\r\n '1x1': one_one,\r\n '2x1': two_one,\r\n '3x1': three_one,\r\n '3x2': three_two,\r\n '4x1': four_one,\r\n '4x2': four_two,\r\n '5x1': five_one,\r\n '5x2': five_two,\r\n '6x1': six_one,\r\n '6x2': six_two,\r\n}\r\n","<template>\r\n <div>\r\n <GlobalEvents\r\n v-if=\"dialogsVisibility.frames\"\r\n @keydown.37=\"prevFormat\"\r\n @keydown.39=\"nextFormat\"\r\n />\r\n <!-- Formato da grelha -->\r\n <dialog ref=\"frames\">\r\n <div\r\n class=\"visualization-row\"\r\n style=\"\r\n padding: 5px;\r\n font-weight: bold;\r\n background-color: var(--visualization-primary);\r\n border-color: var(--visualization-primary);\r\n height: 40px;\r\n color: white;\r\n display: flex;\r\n justify-content: center;\r\n padding-top: 10px;\r\n \"\r\n >\r\n {{ $t('infoBar.gridForm') }}\r\n </div>\r\n <div class=\"visualization-row\" style=\"justify-content: center\">\r\n <div\r\n v-for=\"(item, index) in items\"\r\n :key=\"index\"\r\n class=\"visualization-col\"\r\n style=\"min-width: 200px; max-width: 200px\"\r\n >\r\n <img\r\n @click=\"() => (framesValue = item.value)\"\r\n :src=\"item.image\"\r\n width=\"100%\"\r\n :style=\"framesValue !== item.value ? 'filter: grayscale(1)' : ''\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"visualization-divider\" />\r\n <div\r\n class=\"visualization-row\"\r\n style=\"\r\n display: flex;\r\n justify-content: center;\r\n margin-top: 10px;\r\n margin-bottom: 10px;\r\n \"\r\n >\r\n <button\r\n style=\"\r\n border-radius: 4px;\r\n height: 35px;\r\n width: 70px;\r\n background-color: var(--visualization-primary);\r\n border-color: var(--visualization-primary);\r\n color: white;\r\n \"\r\n @click=\"$emit('close', 'frames')\"\r\n >\r\n Ok\r\n </button>\r\n </div>\r\n </dialog>\r\n\r\n <!-- Frequencia das Imagens -->\r\n <dialog ref=\"secondsPerFrame\">\r\n <div\r\n class=\"visualization-row\"\r\n style=\"\r\n padding: 5px;\r\n font-weight: bold;\r\n background-color: var(--visualization-primary);\r\n border-color: var(--visualization-primary);\r\n height: 40px;\r\n color: white;\r\n display: flex;\r\n justify-content: center;\r\n padding-top: 10px;\r\n \"\r\n >\r\n {{ $t('infoBar.secondImage') }}\r\n </div>\r\n <div class=\"visualization-row\" style=\"margin: 25px; height: 20px\">\r\n <input\r\n ref=\"secondsPerFrameInput\"\r\n v-model=\"secondsPerFrameValue\"\r\n type=\"range\"\r\n step=\"1\"\r\n max=\"5\"\r\n min=\"1\"\r\n style=\"height: 30px; width: 300px\"\r\n />\r\n <span style=\"padding-left: 20px; font-size: 16px\">\r\n {{ secondsPerFrame + ' s' }}</span\r\n >\r\n </div>\r\n <div class=\"visualization-divider\" style=\"margin: 10px\" />\r\n <div\r\n class=\"visualization-row\"\r\n style=\"display: flex; justify-content: center; margin-top: 10px\"\r\n >\r\n <button\r\n style=\"\r\n border-radius: 4px;\r\n height: 35px;\r\n width: 70px;\r\n background-color: var(--visualization-primary);\r\n border-color: var(--visualization-primary);\r\n color: white;\r\n margin-bottom: 8px;\r\n \"\r\n @click=\"$emit('close', 'secondsPerFrame')\"\r\n >\r\n Ok\r\n </button>\r\n </div>\r\n </dialog>\r\n\r\n <!-- Go To -->\r\n <dialog ref=\"goTo\">\r\n <div\r\n style=\"\r\n padding: 5px;\r\n font-weight: bold;\r\n background-color: var(--visualization-primary);\r\n border-color: var(--visualization-primary);\r\n height: 35px;\r\n color: white;\r\n display: flex;\r\n justify-content: center;\r\n padding-top: 8px;\r\n \"\r\n >\r\n {{ $t('infoBar.goTo') }}\r\n </div>\r\n <div class=\"visualization-row\" style=\"margin: 25px; height: 20px\">\r\n <input\r\n v-model=\"goToValue\"\r\n type=\"text\"\r\n placeholder=\"hh:mm:ss\"\r\n v-mask=\"'##:##:##'\"\r\n style=\"\r\n height: 30px;\r\n width: 300px;\r\n border: 0.1px solid #c2c9d6;\r\n border-radius: 3px;\r\n padding: 5px;\r\n \"\r\n />\r\n </div>\r\n <div class=\"visualization-divider\" style=\"margin-top: 40px\" />\r\n <div\r\n class=\"visualization-row\"\r\n style=\"\r\n display: flex;\r\n justify-content: center;\r\n margin-top: 10px;\r\n margin-bottom: 10px;\r\n \"\r\n >\r\n <button\r\n style=\"\r\n border-radius: 4px;\r\n height: 35px;\r\n width: 70px;\r\n background-color: var(--visualization-primary);\r\n border-color: var(--visualization-primary);\r\n color: white;\r\n \"\r\n @click=\"\r\n () => {\r\n $emit('close', 'goTo')\r\n $emit('change-go-to', goToValue)\r\n goToValue = ''\r\n }\r\n \"\r\n >\r\n Ok\r\n </button>\r\n </div>\r\n </dialog>\r\n\r\n <!-- Velocidade Reprodução -->\r\n <GlobalEvents\r\n @keydown.107=\"changePlaybackRate(1)\"\r\n @keydown.109=\"changePlaybackRate(-1)\"\r\n />\r\n <dialog ref=\"playbackRate\">\r\n <div\r\n class=\"visualization-row\"\r\n style=\"\r\n padding: 5px;\r\n font-weight: bold;\r\n background-color: var(--visualization-primary);\r\n border-color: var(--visualization-primary);\r\n height: 35px;\r\n color: white;\r\n display: flex;\r\n justify-content: center;\r\n padding-top: 8px;\r\n \"\r\n >\r\n {{ $t('infoBar.playbackSpeed') }}\r\n </div>\r\n <div\r\n class=\"visualization-row\"\r\n style=\"margin: 25px; height: 20px; width: 380px\"\r\n >\r\n <input\r\n ref=\"playbackRateInput\"\r\n v-model=\"playbackRateValue\"\r\n type=\"range\"\r\n step=\"0.25\"\r\n max=\"3\"\r\n min=\"1\"\r\n style=\"height: 30px; width: 300px\"\r\n />\r\n <span\r\n style=\"padding-left: 20px; padding-right: 20px; font-size: 16px\"\r\n >{{ playbackRate + 'x' }}</span\r\n >\r\n </div>\r\n <div class=\"visualization-divider\" style=\"margin-top: 40px\" />\r\n <div\r\n class=\"visualization-row\"\r\n style=\"\r\n display: flex;\r\n justify-content: center;\r\n margin-top: 10px;\r\n margin-bottom: 10px;\r\n \"\r\n >\r\n <button\r\n @click=\"$emit('close', 'playbackRate')\"\r\n style=\"\r\n border-radius: 4px;\r\n height: 35px;\r\n width: 70px;\r\n background-color: var(--visualization-primary);\r\n border-color: var(--visualization-primary);\r\n color: white;\r\n \"\r\n >\r\n Ok\r\n </button>\r\n </div>\r\n </dialog>\r\n </div>\r\n</template>\r\n<script>\r\nimport GridImages from '../assets/grid/index.js'\r\n\r\nexport default {\r\n props: {\r\n dialogsVisibility: {\r\n type: Object,\r\n required: false,\r\n },\r\n playbackRate: {\r\n type: Number,\r\n required: true,\r\n },\r\n secondsPerFrame: {\r\n type: Number,\r\n required: true,\r\n },\r\n framesPerRow: {\r\n type: Number,\r\n required: true,\r\n },\r\n numberOfRows: {\r\n type: Number,\r\n required: true,\r\n },\r\n },\r\n data() {\r\n return {\r\n openBlocksDialog: false,\r\n time: '',\r\n rangeBlocks: {\r\n ini: null,\r\n end: null,\r\n date: null,\r\n },\r\n items: [\r\n { text: '2x1', value: 1, image: GridImages['2x1'] },\r\n { text: '3x1', value: 2, image: GridImages['3x1'] },\r\n { text: '3x2', value: 3, image: GridImages['3x2'] },\r\n { text: '4x1', value: 4, image: GridImages['4x1'] },\r\n { text: '4x2', value: 5, image: GridImages['4x2'] },\r\n { text: '5x1', value: 6, image: GridImages['5x1'] },\r\n { text: '5x2', value: 7, image: GridImages['5x2'] },\r\n { text: '6x1', value: 8, image: GridImages['6x1'] },\r\n { text: '6x2', value: 9, image: GridImages['6x2'] },\r\n ],\r\n\r\n // NEW\r\n goToValue: '',\r\n }\r\n },\r\n mounted() {\r\n this.toogleDialogs()\r\n },\r\n computed: {\r\n secondsPerFrameValue: {\r\n get() {\r\n return this.secondsPerFrame\r\n },\r\n set(val) {\r\n this.$emit('change-seconds-per-frame', parseInt(val))\r\n },\r\n },\r\n playbackRateValue: {\r\n get() {\r\n return this.playbackRate\r\n },\r\n set(val) {\r\n this.$emit('change-playback-rate', parseFloat(val))\r\n },\r\n },\r\n framesValue: {\r\n get() {\r\n return this.items.find(\r\n (item) => item.text === `${this.framesPerRow}x${this.numberOfRows}`\r\n ).value\r\n },\r\n set(value) {\r\n this.$emit('set-frames-selection', value)\r\n },\r\n },\r\n timeRules() {\r\n return [\r\n (time) =>\r\n (time >= '02:30:00' && time <= '26:29:59') ||\r\n this.$i18n.t('form.mustBeBetween'),\r\n ]\r\n },\r\n },\r\n methods: {\r\n toogleDialogs() {\r\n for (const dialog of Object.values(this.$refs)) {\r\n dialog.close?.()\r\n }\r\n\r\n const openDialog = Object.keys(this.dialogsVisibility).find(\r\n (key) => this.dialogsVisibility[key]\r\n )\r\n\r\n if (openDialog) {\r\n this.$refs[openDialog].showModal()\r\n }\r\n },\r\n prevFormat() {\r\n if (this.items.find((format) => format.value === this.framesValue - 1)) {\r\n this.framesValue--\r\n }\r\n },\r\n nextFormat() {\r\n if (this.items.find((format) => format.value === this.framesValue + 1)) {\r\n this.framesValue++\r\n }\r\n },\r\n changePlaybackRate(direction = 1) {\r\n if (direction === 1) {\r\n this.$refs.playbackRateInput.stepUp()\r\n } else if (direction === -1) {\r\n this.$refs.playbackRateInput.stepDown()\r\n }\r\n this.playbackRateValue = this.$refs.playbackRateInput.value\r\n },\r\n closeBlocksDialog() {\r\n Object.entries(this.rangeBlocks).forEach(([key, value]) => {\r\n if (!value || key == 'date') return\r\n var res = value.replace(/\\D/g, '')\r\n if (res.length < 6) {\r\n for (let i = res.length; i < 6; i++) {\r\n res += '0'\r\n }\r\n }\r\n res.match(/.{1,2}/g)\r\n let a = res.substring(0, 2)\r\n let b = res.substring(2, 4)\r\n let c = res.substring(4, 6)\r\n this.rangeBlocks[key] = a + ':' + b + ':' + c\r\n })\r\n\r\n this.openBlocksDialog = false\r\n this.$emit('goToBlockInterval', this.rangeBlocks)\r\n },\r\n },\r\n watch: {\r\n dialogsVisibility: {\r\n handler() {\r\n this.toogleDialogs()\r\n },\r\n deep: true,\r\n },\r\n },\r\n}\r\n</script>\r\n<style scoped>\r\ndialog {\r\n max-width: 60vw;\r\n /* padding: 12px; */\r\n border: none;\r\n background: white;\r\n border-radius: 6px;\r\n box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14),\r\n 0 1px 5px 0 rgba(0, 0, 0, 0.12);\r\n position: fixed;\r\n top: 50%;\r\n left: 50%;\r\n transform: translateY(-50%) translateX(-50%);\r\n}\r\n</style>\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Settings.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Settings.vue?vue&type=script&lang=js&\"","// extracted by mini-css-extract-plugin\nexport {};","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-12.use[0]!../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!../../node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Settings.vue?vue&type=style&index=0&id=9f47e4d0&prod&scoped=true&lang=css&\"","import { render, staticRenderFns } from \"./Settings.vue?vue&type=template&id=9f47e4d0&scoped=true&\"\nimport script from \"./Settings.vue?vue&type=script&lang=js&\"\nexport * from \"./Settings.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Settings.vue?vue&type=style&index=0&id=9f47e4d0&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"9f47e4d0\",\n null\n \n)\n\nexport default component.exports","<template>\n <div\n class=\"visualization-row\"\n id=\"visualization-container\"\n @click=\"framesClicked\"\n >\n <GlobalEvents\n v-if=\"active && canInsertTime && settingsClosed\"\n @keydown.45=\"insertTime\"\n @keydown.46=\"insertTime\"\n />\n <GlobalEvents\n v-if=\"active && settingsClosed\"\n @keydown.left.prevent=\"arrowLeft\"\n @keydown.right.prevent=\"arrowRight\"\n @keydown.shift.page-down.prevent=\"nextLoopActivate\"\n @keydown.page-down.prevent=\"next\"\n @keydown.page-up.prevent=\"prev\"\n @keydown.shift.page-up.prevent=\"prevLoopActivate\"\n @keydown.83.prevent=\"setHourIni\"\n @keydown.69.prevent=\"setHourEnd\"\n @keydown.36.prevent=\"goToFirstFrame\"\n @keydown.35.prevent=\"goToLastFrame\"\n @keydown.71.prevent=\"dialogs.goTo = true\"\n @keydown.73.prevent=\"dialogs.secondsPerFrame = true\"\n @keydown.76.prevent=\"dialogs.frames = true\"\n @keydown.49.97=\"() => (secondsPerFrame = 1)\"\n @keydown.50.98=\"() => (secondsPerFrame = 2)\"\n @keydown.51.99=\"() => (secondsPerFrame = 3)\"\n @keydown.52.100=\"() => (secondsPerFrame = 4)\"\n @keydown.53.101=\"() => (secondsPerFrame = 5)\"\n />\n <GlobalEvents\n v-if=\"prevLoop || nextLoop\"\n @keydown=\"breakLoop\"\n v-on:click=\"breakLoop\"\n />\n <settings\n v-if=\"active\"\n :dialogs-visibility=\"dialogs\"\n :playback-rate=\"playbackRate\"\n :seconds-per-frame=\"secondsPerFrame\"\n :frames-per-row=\"framesPerRow\"\n :number-of-rows=\"numberOfRows\"\n @change-playback-rate=\"(value) => (playbackRate = value)\"\n @change-go-to=\"changeHour\"\n @change-seconds-per-frame=\"(value) => (secondsPerFrame = value)\"\n @set-frames-selection=\"setFrameSelection\"\n @close=\"(dialog) => (dialogs[dialog] = false)\"\n />\n <div\n :class=\"{ 'visualization-card': true, 'active-tab': active }\"\n style=\"width: 100%; padding: 0\"\n >\n <command-bar\n v-show=\"commandBarShow\"\n :video-playing=\"videoPlaying\"\n :video-paused=\"paused\"\n :insert-time=\"canInsertTime\"\n :hour-ini-selected=\"!!hourIniSelected\"\n :hour-end-selected=\"!!hourEndSelected\"\n @prev-loop-activate=\"prevLoopActivate\"\n @next-loop-activate=\"nextLoopActivate\"\n @prev=\"prev\"\n @next=\"next\"\n @go-to=\"dialogs.goTo = true\"\n @open-frame-selection=\"dialogs.frames = true\"\n @open-frames-per-second=\"dialogs.secondsPerFrame = true\"\n @open-blocks=\"openBlocks\"\n @open-playback-rate=\"dialogs.playbackRate = true\"\n @play-or-pause=\"playOrPause\"\n @stop-playing=\"stopPlayingBar\"\n @set-hour-ini=\"setHourIni\"\n @set-hour-end=\"setHourEnd\"\n @insert-time=\"insertTime\"\n />\n <video-progress\n v-if=\"videoProgressBar\"\n v-show=\"videoPlaying\"\n :video-time=\"videoTime\"\n />\n <info-bar\n :playback-rate=\"playbackRate\"\n :seconds-per-frame=\"secondsPerFrame\"\n :commands-show=\"commandBarShow\"\n :cache=\"useCache\"\n :block-start-time=\"blockStartTime\"\n :video-total-duration=\"videoSliderTotalDuration\"\n :alternative-server=\"alternativeServer\"\n :frames-per-row=\"framesPerRow\"\n :number-of-rows=\"numberOfRows\"\n :hour-ini=\"hourIniSelected\"\n :hour-end=\"hourEndSelected\"\n @toogle-commands-visibility=\"commandBarShow = !commandBarShow\"\n @toogle-cache=\"useCache = !useCache\"\n @change-server=\"changeServerClick\"\n />\n <div\n class=\"visualization-row\"\n v-for=\"rowNumber in numberOfRows\"\n :id=\"'row-' + rowNumber\"\n :key=\"'row-' + rowNumber\"\n style=\"padding: 12px\"\n >\n <div\n v-for=\"(frame, frameNumber) in previousFrames\"\n :key=\"\n numberOfRows +\n '-' +\n framesPerRow +\n '-' +\n getIndex(rowNumber, frameNumber, Positions.previous)\n \"\n style=\"display: none\"\n >\n <span v-html=\"frame.img\" />\n </div>\n <div\n v-for=\"(frame, frameNumber) in nextFrames\"\n :key=\"\n numberOfRows +\n '-' +\n framesPerRow +\n '-' +\n getIndex(rowNumber, frameNumber, Positions.next)\n \"\n style=\"display: none\"\n >\n <span v-html=\"frame.img\" />\n </div>\n <div\n class=\"visualization-col\"\n v-for=\"(frame, frameNumber) in frames.slice(\n framesPerRow * (rowNumber - 1),\n framesPerRow * rowNumber\n )\"\n :key=\"'row-' + rowNumber + '-frame-' + frameNumber\"\n :id=\"`frame-${getIndex(rowNumber, frameNumber, Positions.current)}`\"\n :class=\"{ loaderImg: !!frame.img }\"\n @click=\"\n frame.time\n ? selectFrame(\n getIndex(rowNumber, frameNumber, Positions.current),\n frame\n )\n : null\n \"\n >\n <span :id=\"activeFrame ? 'aa' : 0\" style=\"padding-left: 4px\">\n <b>\n {{\n getAudienceTime(\n frame.time,\n rowNumber,\n frameNumber,\n Positions.current\n )\n }}\n </b>\n </span>\n\n <frame\n ref=\"frames\"\n :frame=\"frame\"\n :index=\"getIndex(rowNumber, frameNumber, Positions.current)\"\n :grid-settings=\"{ numberOfRows, framesPerRow }\"\n :initialTime=\"frame.time === hourIniSelected\"\n :endTime=\"frame.time === hourEndSelected\"\n :betweenTime=\"\n frame.time > hourIniSelected && frame.time < hourEndSelected\n \"\n :active=\"\n getIndex(rowNumber, frameNumber, Positions.current) ===\n activeFrame\n \"\n :activeTab=\"active\"\n :videoUrl=\"fInterface ? fInterface.getVideoUrl(frame) : ''\"\n @startPlaying=\"startPlaying\"\n @stopPlaying=\"stopPlaying\"\n @playPauseStatus=\"changePlayPause\"\n @updateSlider=\"updateSlider\"\n :playback-rate=\"playbackRate\"\n style=\"margin: 0 auto\"\n ></frame>\n </div>\n </div>\n </div>\n <!-- <settings\n ref=\"settings2\"\n :active=\"active\"\n @goToTime=\"changeHour\"\n @goToBlockInterval=\"changeBlockInterval\"\n @setSplitTime=\"setSplitTime\"\n @setFrameSelection=\"setFrameSelection\"\n @setPlaybackRate=\"\n (rate) => {\n playbackRate = rate\n }\n \"\n >\n </settings> -->\n <!-- <v-dialog v-model=\"dialog\" width=\"500\">\n <div class=\"card\">\n <div class=\"card\"-title class=\"text-h5 grey lighten-2\">\n {{ ' Último bloco disponível até: ' }}\n <v-btn\n @click=\"goToStartBlock\"\n class=\"ml-2\"\n dark\n color=\"success\"\n depressed\n >\n <v-icon left> fa-clock </v-icon>\n {{ timeLastBlock }}\n </v-btn>\n <v-spacer></v-spacer>\n <v-btn color=\"error\" fab small class=\"ml-5\" @click=\"dialog = false\">\n <v-icon dark> fa fa-xmark </v-icon>\n </v-btn>\n </div-title>\n </div>\n </v-dialog>\n <Help :media=\"media\" @close=\"media = null\" />\n <v-dialog\n v-if=\"userMultiTabsGrid\"\n v-model=\"userMultiTabsGridsModel\"\n persistent\n width=\"60%\"\n >\n <div class=\"card\">\n <div class=\"card\"-title class=\"warning text-h5\" primary-title>\n <div class=\"row\" class=\"ma-0\" justify=\"center\" align=\"center\">\n <v-icon dark left style=\"font-size: 24px !important\">\n fa fa-exclamation-triangle\n </v-icon>\n <div style=\"color: white\">{{ $t('form.alert') }}</div>\n </div>\n </div-title>\n <div class=\"card\"-text class=\"justify-center pa-6 grey lighten-2\">\n <h3>\n {{ $t('alerts.userMultiTabsGrid') }}\n </h3>\n </div-text>\n <hr class=\"divider\" class=\"grey lighten-1\"></span>\n <div class=\"card\"-actions class=\"grey lighten-2 justify-center\">\n <v-btn color=\"error\" ml-5 @click=\"userMultiTabsGrid = false\">\n <v-icon left color=\"white\">fa fa-times</v-icon>\n {{ $t('form.close') }}\n </v-btn>\n </div-actions>\n </div>\n </v-dialog> -->\n </div>\n</template>\n<script>\nimport Frame from './components/Frame.vue'\nimport FramesInterface from './utils/FramesInterface.js'\nimport FramesService from './services/FramesService.js'\n\nimport Commands from './components/Commands.vue'\nimport Infos from './components/Infos.vue'\nimport VideoProgress from './components/VideoProgress.vue'\nimport Settings from './components/Settings.vue'\n\nconst Positions = Object.freeze({\n previous: 0,\n current: 1,\n next: 2,\n})\n\nexport default {\n name: 'visualization-container',\n props: {\n value: {\n type: Boolean,\n required: true,\n },\n date: {\n type: String,\n required: true,\n },\n channel: {\n type: Number,\n required: true,\n },\n startAudienceTime: {\n type: String,\n required: true,\n },\n videoProgressBar: {\n type: Boolean,\n default: false,\n },\n jumpOnInsert: {\n type: Boolean,\n default: false,\n },\n framesFormat: {\n type: [Number, String],\n default: 6,\n },\n maxSize: {\n type: Number,\n }\n },\n components: {\n Frame,\n CommandBar: Commands,\n InfoBar: Infos,\n VideoProgress,\n Settings,\n // Help,\n },\n data() {\n return {\n Positions,\n updatingChannel: null,\n dialog: false,\n timeLastBlock: null,\n alternativeServer: false,\n useCache: true,\n numberOfRows: 1,\n framesPerRow: 5,\n secondsPerFrame: 1,\n fInterface: null,\n velocity: 1,\n frames: [],\n previousFrames: [],\n nextFrames: [],\n channelCode: 0,\n videoPlaying: false,\n activeFrame: null,\n activeVideo: null,\n videoTime: 0,\n videoTotalTime: null,\n progressVideoDrag: false,\n hourIniSelected: false,\n hourEndSelected: false,\n canInsertTime: false,\n lastHeight: 0,\n loopInterval: null,\n nextLoop: false,\n prevLoop: false,\n videoSliderTotalDuration: 900,\n blockStartTime: null,\n media: null,\n changeServer: false,\n userMultiTabsGrid: false,\n userMultiTabsGridsModel: true,\n playbackRate: 1,\n paused: false,\n commandBarShow: true,\n dialogs: {\n playbackRate: false,\n goTo: false,\n secondsPerFrame: false,\n frames: false,\n },\n }\n },\n async created() {\n this.changeServer = this.serverOfFrames === 'alternative'\n this.alternativeServer = this.serverOfFrames === 'alternative'\n\n const settings = [\n {\n framesPerRow: 2,\n numberOfRows: 1,\n },\n {\n framesPerRow: 3,\n numberOfRows: 1,\n },\n {\n framesPerRow: 3,\n numberOfRows: 2,\n },\n {\n framesPerRow: 4,\n numberOfRows: 1,\n },\n {\n framesPerRow: 4,\n numberOfRows: 2,\n },\n {\n framesPerRow: 5,\n numberOfRows: 1,\n },\n {\n framesPerRow: 5,\n numberOfRows: 2,\n },\n {\n framesPerRow: 6,\n numberOfRows: 1,\n },\n {\n framesPerRow: 6,\n numberOfRows: 2,\n },\n ]\n\n const storedOnDb = settings[parseInt(this.framesFormat) - 1]\n this.framesPerRow = storedOnDb.framesPerRow\n this.numberOfRows = storedOnDb.numberOfRows\n\n await this.createFramesInterface()\n if (this.maxSize) {\n this.resize(this.maxSize, true)\n }\n },\n methods: {\n framesClicked(e) {\n if (e.target.id != 'insert') {\n this.active = true\n }\n },\n async goToStartBlock() {\n try {\n const d = new Date()\n let timestamp = Date.UTC(\n d.getFullYear(),\n d.getMonth(),\n d.getDate(),\n d.getHours(),\n d.getMinutes(),\n d.getSeconds()\n )\n\n const response = (\n await FramesService.getNextAvailableBlock({\n channel: this.channel,\n time: timestamp / 1000,\n })\n ).data\n\n this.dialog = false\n this.changeHour(this.convertToAudienceTime(response.data.start, ':'))\n } catch (err) {\n console.error(err)\n }\n },\n async checkAvailableBlock() {\n try {\n const d = new Date()\n let timestamp = Date.UTC(\n d.getFullYear(),\n d.getMonth(),\n d.getDate(),\n d.getHours(),\n d.getMinutes(),\n d.getSeconds()\n )\n\n const response = (\n await FramesService.getNextAvailableBlock({\n channel: this.channel,\n time: timestamp / 1000,\n })\n ).data\n\n this.timeLastBlock = this.convertToAudienceTime(response.data.end, ':')\n this.dialog = true\n if (!response.status) {\n this.timeLastBlock = 'N/D'\n }\n } catch (err) {\n console.error(err)\n }\n },\n updateSlider(videoStartTime, time) {\n // * atualizar slider se estiver fora do range definido previamente\n if (\n time < this.blockStartTime ||\n time > this.blockStartTime ||\n videoStartTime > this.blockStartTime + this.videoSliderTotalDuration\n ) {\n this.blockStartTime = videoStartTime\n this.videoSliderTotalDuration = 900\n }\n },\n nextLoopActivate() {\n this.breakLoop()\n this.loopInterval = setInterval(this.next, 40)\n setTimeout(() => {\n this.nextLoop = true\n }, 0)\n },\n prevLoopActivate() {\n this.breakLoop()\n this.loopInterval = setInterval(this.prev, 40)\n setTimeout(() => {\n this.prevLoop = true\n }, 0)\n },\n breakLoop() {\n clearInterval(this.loopInterval)\n this.loopInterval = null\n this.nextLoop = false\n this.prevLoop = false\n },\n changePlayPause(status) {\n this.paused = !status\n },\n resize(height=this.lastHeight) {\n this.lastHeight = height\n if (this.$refs.frames) {\n for (let frame of this.$refs.frames) {\n frame.resize(height)\n }\n }\n this.$emit('resized')\n },\n async goToFirstFrame() {\n let frames = this.$refs.frames\n\n let audienceTime = null\n if (frames.length > 0) {\n let frame = frames[0].frame\n audienceTime = this.getAudienceTime(frame.time, 0, 0, 0)\n }\n // if (audienceTime) {\n // this.changeHour(this.getLastFirtsBlockTime(audienceTime, true))\n // }\n if (audienceTime) {\n const [hours, minutes, seconds] = audienceTime.split(':')\n const totalSeconds =\n parseInt(hours) * 3600 + parseInt(minutes) * 60 + parseInt(seconds)\n if (totalSeconds >= 9000)\n this.changeHour(this.getLastFirtsBlockTime(audienceTime, true))\n else this.changeHour(this.getLastFirtsBlockTime('02:30:00', true))\n }\n },\n async goToLastFrame() {\n let frames = this.$refs.frames\n let audienceTime = null\n if (frames.length > 0) {\n let frame = frames[0].frame\n\n audienceTime = this.getAudienceTime(frame.time, 0, 0, 0)\n }\n if (audienceTime) {\n this.changeHour(this.getLastFirtsBlockTime(audienceTime))\n }\n },\n getLastFirtsBlockTime(time, first = false) {\n if (time.indexOf(':') !== -1) {\n time = time.replace(/:/g, '')\n }\n let h, m, newTime\n const t = time.match(/.{1,2}/g)\n if (t[0] && t[1]) {\n h = parseInt(t[0])\n m = parseInt(t[1])\n }\n if (h < 26) {\n if (m < 15)\n if (first) newTime = t[0] + ':00:00'\n else newTime = t[0] + ':14:59'\n else if (m < 30)\n if (first) newTime = t[0] + ':15:00'\n else newTime = t[0] + ':29:59'\n else if (m < 45)\n if (first) newTime = t[0] + ':30:00'\n else newTime = t[0] + ':44:59'\n else if (first) newTime = t[0] + ':45:00'\n else newTime = t[0] + ':59:59'\n } else {\n if (m < 15)\n if (first) newTime = '26:00:00'\n else newTime = '26:14:59'\n else {\n if (first) newTime = '26:15:00'\n else newTime = '26:29:59'\n }\n }\n return newTime\n },\n openBlocks() {\n this.$refs.settings2?.openBlocks()\n },\n playOrPause() {\n const array = this.$refs.frames.filter((fc) => !!fc.active)\n if (array.length === 1) {\n const frame = array[0]\n frame.playOrPause(this.playbackRate)\n }\n },\n stopPlayingBar() {\n for (let ref of this.$refs.frames) {\n if (\n ref.videoStatus === ref.Status.playing ||\n ref.videoStatus === ref.Status.paused\n ) {\n ref.stop(false)\n }\n }\n },\n async setFrameSelection(selected) {\n this.frames = this.loadingArray\n switch (parseInt(selected)) {\n // 2x1\n case 1:\n this.framesPerRow = 2\n this.numberOfRows = 1\n break\n // 3x1\n case 2:\n this.framesPerRow = 3\n this.numberOfRows = 1\n break\n // 3x2\n case 3:\n this.framesPerRow = 3\n this.numberOfRows = 2\n break\n // 4x1\n case 4:\n this.framesPerRow = 4\n this.numberOfRows = 1\n break\n // 4x2\n case 5:\n this.framesPerRow = 4\n this.numberOfRows = 2\n break\n // 5x1\n case 6:\n this.framesPerRow = 5\n this.numberOfRows = 1\n break\n // 5x2\n case 7:\n this.framesPerRow = 5\n this.numberOfRows = 2\n break\n // 6x1\n case 8:\n this.framesPerRow = 6\n this.numberOfRows = 1\n break\n // 6x2\n case 9:\n this.framesPerRow = 6\n this.numberOfRows = 2\n break\n }\n await this.fInterface.changeSize(this.numberOfRows, this.framesPerRow)\n this.getFramesArray()\n setTimeout(() => {\n for (let ref of this.$refs.frames) {\n ref?.resize(this.lastHeight)\n }\n }, 150)\n },\n getFramesArray() {\n this.frames = this.fInterface.getFrames(Positions.current)\n this.nextFrames = this.fInterface.getFrames(Positions.next)\n this.previousFrames = this.fInterface.getFrames(Positions.previous)\n },\n async createFramesInterface() {\n this.frames = this.loadingArray\n let ch = this.channel\n let associationTMP = {\n 1735073: 1,\n 1735074: 139,\n 1735075: 3,\n 1735076: 132,\n }\n //\n this.channelCode = associationTMP[ch] ? associationTMP[ch] : ch\n\n const t = this.startAudienceTime.match(/.{1,2}/g)\n const d = this.getDateParts()\n const time = Date.UTC(d.year, d.month, d.day, t[0], t[1], t[2]) / 1000\n // * iniciar slider\n this.blockStartTime = time\n this.fInterface = await new FramesInterface(\n this.channelCode,\n this.numberOfRows,\n this.framesPerRow,\n time,\n this.startAudienceTime,\n this.useCache\n )\n await this.fInterface.init()\n\n this.getFramesArray()\n\n this.activeFrame = this.getIndex(1, 0, Positions.current)\n\n this.activeVideo = null\n },\n getIndex(rowNumber, frameIndex, position) {\n let from = this.framesPerRow * this.numberOfRows * position\n let till = this.framesPerRow * this.numberOfRows * (position + 1)\n\n return (from + till * (rowNumber - 1)) / rowNumber + frameIndex\n },\n getAudienceTime(frameTime, rowNumber, frameNumber, position) {\n if (!frameTime) {\n return 'Loading...'\n } else if (\n this.getIndex(rowNumber, frameNumber, position) === this.activeVideo\n ) {\n return this.convertToAudienceTime(this.videoTime)\n } else {\n return this.convertToAudienceTime(frameTime)\n }\n },\n dateInUtc(miliSeconds) {\n var date = new Date(miliSeconds)\n var utc = new Date(\n date.getUTCFullYear(),\n date.getUTCMonth(),\n date.getUTCDate(),\n date.getUTCHours(),\n date.getUTCMinutes(),\n date.getUTCSeconds()\n )\n return utc\n },\n convertToAudienceTime(time, separator = ':') {\n const d = this.getDateParts()\n const limit = Date.UTC(d.year, d.month, d.day, 23, 59, 59) / 1000\n\n let hour = this.dateInUtc(time * 1000)\n .toTimeString()\n .split(' ')[0]\n .split(':')\n .map(Number)\n\n if (time > limit && time <= limit + this.startAudienceSeconds) {\n hour[0] = 24 + hour[0]\n }\n return hour\n .map((part) => (part > 9 ? part.toString() : '0' + part))\n .join(separator)\n },\n getDateParts(date = this.date) {\n const d = new Date(date)\n return {\n year: d.getFullYear(),\n month: d.getMonth(),\n day: d.getDate(),\n }\n },\n selectFrame(index, frame) {\n const d = this.getDateParts()\n const limit = Date.UTC(d.year, d.month, d.day, 23, 59, 59) / 1000\n const frameTime = frame?.time\n\n if (frameTime - (this.startAudienceSeconds + limit) <= 0) {\n if (this.hourIniSelected === true) {\n this.hourIniSelected = frameTime\n\n if (\n this.hourEndSelected &&\n this.hourIniSelected > this.hourEndSelected\n ) {\n this.hourEndSelected = false\n }\n } else if (this.hourEndSelected === true) {\n if (frameTime > this.hourIniSelected) {\n this.hourEndSelected = frameTime\n this.canInsertTime = true\n } else {\n this.hourEndSelected = false\n }\n }\n }\n\n if (this.activeFrame !== index) {\n // ? Se clicar no frame diferente de onde está a dar play, faz pausa\n const array = this.$refs.frames.filter(\n (fc) => fc.videoStatus === fc.Status.playing\n )\n if (array.length === 1) {\n const frame = array[0]\n frame.playOrPause()\n }\n this.activeVideo = null\n this.activeFrame = index\n }\n },\n setHourIni() {\n this.canInsertTime = true\n this.hourIniSelected = true\n document.getElementById(`frame-${this.activeFrame}`).click()\n this.$emit('setHourIni', {\n hour_ini: this.hourIniSelected\n ? this.convertToAudienceTime(this.hourIniSelected, '')\n : null,\n })\n },\n setHourEnd() {\n this.canInsertTime = true\n this.hourEndSelected = true\n document.getElementById(`frame-${this.activeFrame}`).click()\n },\n //* Navegação\n arrowRight() {\n if (this.checkLimitRight(false)) {\n if (\n this.activeFrame ===\n this.numberOfRows * this.framesPerRow * 2 - 1\n ) {\n this.next()\n } else {\n this.activeFrame++\n }\n }\n },\n arrowLeft() {\n if (this.checkLimitLeft(false)) {\n if (this.activeFrame === this.numberOfRows * this.framesPerRow) {\n this.prev()\n } else {\n this.activeFrame--\n }\n }\n },\n checkLimitRight(value) {\n const d = this.getDateParts()\n const high = Date.UTC(d.year, d.month, d.day, 26, 29, 59)\n\n if (value) {\n return (\n high > (this.fInterface.getCurrentTime() - 1) * 1000 &&\n this.nextFrames[0].title !== -1\n )\n } else {\n // return high > (this.fInterface.getCurrentTime() + this.activeFrame) * 1000\n return high > this.fInterface.getCurrentTime() * 1000\n }\n },\n checkLimitLeft(value) {\n const d = this.getDateParts()\n const low = Date.UTC(d.year, d.month, d.day, 2, 30, 0)\n\n if (value) {\n return low <= (this.fInterface.getCurrentTime() - 1) * 1000\n } else {\n return (\n low <\n (this.fInterface.getCurrentTime() +\n this.activeFrame -\n this.numberOfRows * this.framesPerRow) *\n 1000\n )\n }\n },\n async next() {\n if (this.checkLimitRight(true)) {\n const array = this.$refs.frames.filter(\n (fc) =>\n fc.videoStatus === fc.Status.playing ||\n fc.videoStatus === fc.Status.paused\n )\n\n if (array.length === 1) {\n const frame = array[0]\n frame.stop(false)\n }\n this.fInterface.setCurrentStep(this.secondsPerFrame)\n await this.fInterface.loadNextFrames()\n\n this.activeFrame = this.getIndex(1, 0, Positions.current)\n this.activeVideo = null\n\n this.getFramesArray()\n }\n },\n async prev() {\n if (this.checkLimitLeft(true)) {\n const array = this.$refs.frames.filter(\n (fc) =>\n fc.videoStatus === fc.Status.playing ||\n fc.videoStatus === fc.Status.paused\n )\n if (array.length === 1) {\n const frame = array[0]\n frame.stop(false)\n }\n\n this.fInterface.setCurrentStep(this.secondsPerFrame)\n await this.fInterface.loadPrevFrames()\n\n this.activeFrame = this.getIndex(\n this.numberOfRows,\n this.framesPerRow - 1,\n Positions.current\n )\n this.activeVideo = null\n\n this.getFramesArray()\n }\n },\n async setStartTime(time) {\n if (time.indexOf(':') !== -1) {\n time = time.replace(/:/g, '')\n }\n const t = time.match(/.{1,2}/g)\n const d = this.getDateParts()\n const setTime = Date.UTC(d.year, d.month, d.day, t[0], t[1], t[2]) / 1000\n this.frames = this.loadingArray\n\n await this.fInterface.changeTime(setTime)\n\n this.getFramesArray()\n\n this.activeFrame = this.getIndex(1, 0, Positions.current)\n // let frames = this.$refs.frames\n\n // let audienceTime = null\n // if (frames.length > 0) {\n // let frame = frames[0].frame\n // audienceTime = this.getAudienceTime(frame.time, 0, 0, 0)\n // }\n\n this.activeVideo = null\n\n return true\n },\n hourToTimeStamp(time) {\n if (time.indexOf(':') !== -1) {\n time = time.replace(/:/g, '')\n }\n const t = time.match(/.{1,2}/g)\n const d = this.getDateParts()\n const setTime = Date.UTC(d.year, d.month, d.day, t[0], t[1], t[2]) / 1000\n\n return setTime\n },\n async changeHour(value) {\n if (value) {\n setTimeout(() => {\n const array = this.$refs.frames.filter(\n (fc) =>\n fc.videoStatus === fc.Status.playing ||\n fc.videoStatus === fc.Status.paused\n )\n\n if (array.length === 1) {\n const frame = array[0]\n frame.stop(false)\n }\n\n this.setStartTime(value, true)\n }, 0)\n }\n },\n changeBlockInterval(value) {\n this.changeHour(value.ini)\n let time_ini, time_end\n time_ini = this.hourToTimeStamp(value.ini)\n time_end = this.hourToTimeStamp(value.end)\n this.videoSliderTotalDuration = time_end - time_ini\n this.$refs.frames[0].changeSettings(time_ini)\n this.blockStartTime = time_ini\n },\n //eslint-disable-next-line\n async updateVideoTime(index, videoTime) {\n this.activeVideo = index\n this.videoTime = videoTime\n },\n //eslint-disable-next-line\n updateVideoStatus(currentTime) {\n if (!this.progressVideoDrag) {\n // ESTA FUNÇÃO PASSOU PARA DENTRO DOS COMMANDS\n // this.updateProgress(null, currentTime)\n }\n },\n async startPlaying(frame, totalTime) {\n const array = this.$refs.frames.filter(\n (fc) => fc.frame.time !== frame.time\n )\n\n for (let ref of array) {\n if (\n ref.videoStatus === ref.Status.playing ||\n ref.videoStatus === ref.Status.paused\n ) {\n ref.stop(false)\n }\n }\n\n this.videoTotalTime = totalTime\n this.videoPlaying = true\n },\n stopPlaying() {\n this.videoTotalTime = null\n this.videoPlaying = false\n this.paused = false\n },\n insertTime() {\n this.$emit('timeToInsert', {\n channel: this.channel,\n hour_ini: this.hourIniSelected\n ? this.convertToAudienceTime(this.hourIniSelected, '')\n : null,\n hour_end: this.hourEndSelected\n ? this.convertToAudienceTime(this.hourEndSelected, '')\n : null,\n force: false,\n })\n\n if (this.jumpOnInsert) {\n this.changeHour(\n this.convertToAudienceTime(\n (this.hourEndSelected || this.hourIniSelected) + 1\n )\n )\n }\n\n this.hourIniSelected = null\n this.hourEndSelected = null\n this.canInsertTime = false\n\n // this.fInterface.setCurrentPosition(this.hourEndSelected)\n },\n insertTimeForce() {\n this.$emit('timeToInsert', {\n channel: this.channel,\n hour_ini: this.hourIniSelected\n ? this.convertToAudienceTime(this.hourIniSelected, '')\n : null,\n hour_end: this.hourEndSelected\n ? this.convertToAudienceTime(this.hourEndSelected, '')\n : null,\n force: true,\n })\n\n this.hourIniSelected = null\n this.hourEndSelected = null\n this.canInsertTime = false\n\n // this.fInterface.setCurrentPosition(this.hourEndSelected)\n },\n async getChannelMedia() {\n // this.media = (await ChannelService.show(this.channel)).data.MEDIA\n },\n async changeServerClick() {\n this.changeServer = !this.changeServer\n // this.$store.dispatch(\n // 'serverOfFrames',\n // this.changeServer ? 'alternative' : 'default'\n // )\n sessionStorage.setItem(\n 'serverOfFrames',\n this.changeServer ? 'alternative' : 'default'\n )\n\n // if (this.$route.params.time != this.frames[0].time)\n // this.$router.push({\n // name: 'grid',\n // params: {\n // date: this.date,\n // channel: this.channelCode,\n // time: this.frames[0].time,\n // },\n // })\n location.reload()\n },\n },\n computed: {\n active: {\n get() {\n return this.value\n },\n set(value) {\n this.$emit('input', value)\n },\n },\n settingsClosed() {\n return !Object.values(this.dialogs).find((v) => v)\n },\n startAudienceSeconds() {\n const t = this.startAudienceTime.match(/.{1,2}/g)\n return parseInt(t[0] * 3600 + t[1] * 60 + t[2])\n },\n loadingArray() {\n return Array.from(Array(this.numberOfRows * this.framesPerRow).keys())\n },\n serverOfFrames() {\n return sessionStorage.getItem('server')\n },\n },\n watch: {\n framesFormat(value) {\n this.setFrameSelection(value)\n },\n active() {\n // ? sempre que trocamos de tabs dar reset as horas selected\n this.hourIniSelected = false\n this.hourEndSelected = false\n },\n useCache() {\n this.createFramesInterface()\n },\n hourIniSelected(value) {\n if (value) {\n sessionStorage.setItem(\n 'currentTimeFrames',\n this.convertToAudienceTime(this.hourIniSelected, '')\n )\n } else {\n sessionStorage.removeItem('currentTimeFrames')\n }\n },\n activeFrame(value) {\n if (value) {\n this.stopPlayingBar()\n }\n },\n channel() {\n this.updatingChannel = new Promise((resolve, reject) => {\n try {\n this.createFramesInterface()\n resolve(true)\n } catch (err) {\n reject(err)\n }\n })\n },\n },\n}\n</script>\n<style scoped>\n@import url('./assets/theme.css');\n</style>\n","import mod from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Visualization.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Visualization.vue?vue&type=script&lang=js&\"","// extracted by mini-css-extract-plugin\nexport {};","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-12.use[0]!../node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!../node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Visualization.vue?vue&type=style&index=0&id=38edcc3f&prod&scoped=true&lang=css&\"","import { render, staticRenderFns } from \"./Visualization.vue?vue&type=template&id=38edcc3f&scoped=true&\"\nimport script from \"./Visualization.vue?vue&type=script&lang=js&\"\nexport * from \"./Visualization.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Visualization.vue?vue&type=style&index=0&id=38edcc3f&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"38edcc3f\",\n null\n \n)\n\nexport default component.exports"],"names":["render","_vm","_c","_self","staticClass","attrs","on","framesClicked","active","canInsertTime","settingsClosed","$event","type","indexOf","keyCode","insertTime","apply","arguments","_e","_k","key","button","preventDefault","arrowLeft","arrowRight","undefined","shiftKey","nextLoopActivate","next","prev","prevLoopActivate","setHourIni","setHourEnd","goToFirstFrame","goToLastFrame","dialogs","goTo","secondsPerFrame","frames","prevLoop","nextLoop","breakLoop","playbackRate","framesPerRow","numberOfRows","value","changeHour","setFrameSelection","dialog","class","staticStyle","directives","name","rawName","commandBarShow","expression","videoPlaying","paused","hourIniSelected","hourEndSelected","go-to","open-frame-selection","open-frames-per-second","openBlocks","open-playback-rate","playOrPause","stopPlayingBar","videoProgressBar","videoTime","useCache","blockStartTime","videoSliderTotalDuration","alternativeServer","toogle-commands-visibility","toogle-cache","changeServerClick","_l","rowNumber","previousFrames","frame","frameNumber","getIndex","Positions","previous","domProps","_s","img","nextFrames","slice","loaderImg","current","click","time","selectFrame","activeFrame","_v","getAudienceTime","ref","refInFor","fInterface","getVideoUrl","startPlaying","stopPlaying","changePlayPause","updateSlider","staticRenderFns","initialTime","endTime","betweenTime","style","maxHeight","width","position","activeTab","parentComponent","stop","toogleDetailFrame","jumpFrameToStart","showFrame","image","title","loading","videoIsLoading","$","videoStatus","Status","stopped","height","maxWidth","color","videoUrlString","updateTimeLabel","videoEnded","VueLoading","Object","freeze","playing","components","props","Number","required","index","Boolean","default","gridSettings","videoUrl","String","Promise","data","aspectRatio","fullMaxWidth","videoStartTime","videoCurrentTime","currentBlock","lastTimeEnterPressed","created","$parent","watch","val","$refs","videoPlayer","methods","currentTime","Date","getTime","convertToAudienceTime","changeSettings","imageDetailsDialog","close","showModal","getMaxWidth","commandBarSize","document","getElementById","clientWidth","resize","infoBarSize","heightAvailable","offsetHeight","blockInfo","getVideoStartTime","start","getVideoRequestByUrl","url","number","error","console","log","$nextTick","onloadedmetadata","e","$emit","target","duration","play","pause","jump","length","parseInt","videoJumpTo","videoJumpToTimeStamp","end","getBlockInfo","getVideoUrlForTime","updateVideoTime","updateVideoStatus","getNextVideoStartTime","axios","Api","create","baseURL","sessionStorage","getItem","interceptors","request","use","config","params","Client","BlockPathConfig","getBlockRequest","direction","channel","split","quality","factor","signal","get","Channel","Split","UseCache","Time","Step","JpegQuality","JpegSizeFactor","getSmallBlockRequest","size","Size","getFileInfoRequest","step","getNextAvailableBlock","MinBlockSizes","MinBlockSizesBack","Direction","Next","Previous","Self","LowestQuality","LowQuality","MediumQuality","HighQuality","HighestQuality","ResponseStatus","Ok","UnknownError","VideoBlockNotFound","InvalidRequest","ClientNotAllowed","AuthenticationProblem","StepsQuality","SizeQuality","StepsFactor","SmallBlockSize","FramesService","ENUM","FramesManager","startAudienceTime","firstFrameTime","buffer","requests","currentStep","currentPosition","smallBlockSizeFactor","startCheckingQualityStep","startCheckingQualitySize","numberOfSmallBlocksCheck","prototype","cancelAllPendingRequests","frameIndex","findFrameIndexByTime","getSmallBlock","add","requestId","AbortController","response","status","getBlock","message","images","lastFrameTime","timestampToTimeString","orderFramesBlock","err","checkMinBlock","substituition","checkMinBlockSize","checkFramesBackward","checkFramesForward","bufferFistTime","bufferLastTime","beforeImages","filter","afterImages","findIndex","abort","timestamp","toISOString","substring","replace","getPrevImages","getBufferSlice","getCurrentImages","getNextImages","f","i","newPosition","getFileInfo","getNextFileInfo","server","getServerUrlWithParams","FramesInterface","init","framesManager","loadFrames","initLight","changeTime","constructImagesComponent","loadNextFrames","loadPrevFrames","array","Semaphor","createElement","src","require","contain","push","resolve","addEventListener","outerHTML","all","getFrames","positions","Array","from","keys","getCurrentTime","block","setCurrentStep","changeSize","url_path","t","commandBarBtns","btn","condition","text","fnc","id","icon","videoPaused","$i18n","commandsShow","$t","seconds","hourEnd","hourIni","hour_ini","hour_end","time1","time2","blockTotalTime","cache","videoTotalDuration","computed","separator","d","getDateParts","limit","UTC","year","month","day","hour","dateInUtc","toTimeString","map","startAudienceSeconds","part","toString","join","date","getFullYear","getMonth","getDate","miliSeconds","utc","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","progressMouseDown","progressVideoDrag","fc","updateProgress","window","progressMouseUp","progressMouseMove","removeEventListener","percentage","element","elementBar","getElementsByClassName","timeInSeconds","sliderStartTime","rect","getBoundingClientRect","max","Math","round","pos","pageX","left","targetInSeconds","timeStampToJump","dialogsVisibility","prevFormat","nextFormat","items","item","framesValue","secondsPerFrameValue","__r","goToValue","input","composing","changePlaybackRate","playbackRateValue","one_one","two_one","three_one","three_two","four_one","four_two","five_one","five_two","six_one","six_two","GridImages","openBlocksDialog","rangeBlocks","ini","mounted","toogleDialogs","set","parseFloat","find","timeRules","values","openDialog","format","playbackRateInput","stepUp","stepDown","closeBlocksDialog","entries","forEach","_ref","res","match","a","b","c","handler","deep","Frame","Commands","Infos","VideoProgress","Settings","jumpOnInsert","framesFormat","maxSize","CommandBar","InfoBar","updatingChannel","timeLastBlock","velocity","channelCode","activeVideo","videoTotalTime","lastHeight","loopInterval","media","changeServer","userMultiTabsGrid","userMultiTabsGridsModel","serverOfFrames","settings","storedOnDb","createFramesInterface","goToStartBlock","getHours","getMinutes","getSeconds","checkAvailableBlock","setInterval","setTimeout","clearInterval","audienceTime","hours","minutes","totalSeconds","getLastFirtsBlockTime","first","h","m","newTime","settings2","selected","loadingArray","getFramesArray","ch","associationTMP","till","frameTime","checkLimitRight","checkLimitLeft","high","low","setStartTime","setTime","hourToTimeStamp","changeBlockInterval","time_ini","time_end","totalTime","force","insertTimeForce","getChannelMedia","setItem","location","reload","v","removeItem","reject"],"sourceRoot":""}
|