Your IP : 216.73.216.86


Current Path : /var/www/homesaver/www/bitrix/js/ui/vue/components/socialvideo/dist/
Upload File :
Current File : /var/www/homesaver/www/bitrix/js/ui/vue/components/socialvideo/dist/socialvideo.bundle.js.map

{"version":3,"file":"socialvideo.bundle.js","sources":["../src/socialvideo.js"],"sourcesContent":["/**\n * Bitrix UI\n * Social Video Vue component\n *\n * @package bitrix\n * @subpackage ui\n * @copyright 2001-2021 Bitrix\n */\n\nimport 'ui.fonts.opensans';\nimport \"./socialvideo.css\";\nimport 'ui.vue.directives.lazyload';\nimport 'main.polyfill.intersectionobserver';\n\nimport {BitrixVue} from 'ui.vue';\nimport {BaseEvent} from \"main.core.events\";\n\nconst State = Object.freeze({\n\tplay: 'play',\n\tpause: 'pause',\n\tstop: 'stop',\n\tnone: 'none',\n});\n\nBitrixVue.component('bx-socialvideo',\n{\n\tprops:\n\t{\n\t\tid: { default: 0 },\n\t\tsrc: { default: '' },\n\t\tpreview: { default: '' },\n\t\tautoplay: { default: true },\n\t\tcontainerClass: { default: null },\n\t\tcontainerStyle: { default: null },\n\t\telementStyle: { default: null },\n\t\tshowControls: { default: true }\n\t},\n\tdata()\n\t{\n\t\treturn {\n\t\t\tpreload: \"none\",\n\t\t\tpreviewLoaded: false,\n\t\t\tloaded: false,\n\t\t\tloading: false,\n\t\t\tplayAfterLoad: false,\n\t\t\tenterFullscreen: false,\n\t\t\tplayBeforeMute: 2,\n\t\t\tstate: State.none,\n\t\t\tprogress: 0,\n\t\t\ttimeCurrent: 0,\n\t\t\ttimeTotal: 0,\n\t\t\tmuteFlag: true,\n\t\t}\n\t},\n\tcreated()\n\t{\n\t\tif (!this.preview)\n\t\t{\n\t\t\tthis.previewLoaded = true;\n\t\t\tthis.preload = 'metadata';\n\t\t}\n\n\t\tthis.$Bitrix.eventEmitter.subscribe('ui:socialvideo:unmute', this.onUnmute);\n\t},\n\tmounted()\n\t{\n\t\tthis.getObserver().observe(this.$refs.body);\n\t},\n\tbeforeDestroy()\n\t{\n\t\tthis.$Bitrix.eventEmitter.unsubscribe('ui:socialvideo:unmute', this.onUnmute);\n\n\t\tthis.getObserver().unobserve(this.$refs.body);\n\t},\n\twatch:\n\t{\n\t\tid(value)\n\t\t{\n\t\t\tthis.registeredId = value;\n\t\t},\n\t},\n\tmethods:\n\t{\n\t\tloadFile(play = false)\n\t\t{\n\t\t\tif (this.loaded)\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tif (this.loading)\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tthis.preload = 'auto';\n\n\t\t\tthis.loading = true;\n\t\t\tthis.playAfterLoad = play;\n\n\t\t\treturn true;\n\t\t},\n\t\tclickToButton(event)\n\t\t{\n\t\t\tif (!this.src)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tif (this.state === State.play)\n\t\t\t{\n\t\t\t\tthis.getObserver().unobserve(this.$refs.body);\n\t\t\t\tthis.pause();\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.play();\n\t\t\t}\n\n\t\t\tevent.stopPropagation();\n\t\t},\n\t\tclickToMute()\n\t\t{\n\t\t\tif (!this.src)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tif (!this.muteFlag)\n\t\t\t{\n\t\t\t\tthis.mute();\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.unmute();\n\t\t\t}\n\n\t\t\tevent.stopPropagation();\n\t\t},\n\t\tclick(event)\n\t\t{\n\t\t\tif (this.autoPlayDisabled)\n\t\t\t{\n\t\t\t\tthis.play();\n\n\t\t\t\tevent.stopPropagation();\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tif (this.isMobile)\n\t\t\t{\n\t\t\t\tif (this.source().webkitEnterFullscreen)\n\t\t\t\t{\n\t\t\t\t\tthis.unmute();\n\t\t\t\t\tthis.enterFullscreen = true;\n\t\t\t\t\tthis.source().webkitEnterFullscreen();\n\t\t\t\t}\n\t\t\t\telse if (this.source().requestFullscreen)\n\t\t\t\t{\n\t\t\t\t\tthis.unmute();\n\t\t\t\t\tthis.enterFullscreen = true;\n\t\t\t\t\tthis.source().requestFullscreen();\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tthis.$emit('click', event);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.$emit('click', event);\n\t\t\t}\n\n\t\t\tevent.stopPropagation();\n\t\t},\n\t\tplay(event)\n\t\t{\n\t\t\tif (!this.loaded)\n\t\t\t{\n\t\t\t\tthis.loadFile(true);\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tif (!this.source())\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tthis.source().play();\n\t\t},\n\t\tpause()\n\t\t{\n\t\t\tif (!this.source())\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tthis.playAfterLoad = false;\n\n\t\t\tthis.source().pause();\n\t\t},\n\t\tstop()\n\t\t{\n\t\t\tif (!this.source())\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tthis.state = State.stop;\n\t\t\tthis.source().pause();\n\t\t},\n\t\tmute()\n\t\t{\n\t\t\tif (!this.source())\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tthis.muteFlag = true;\n\t\t\tthis.playBeforeMute = 2;\n\t\t\tthis.source().muted = true;\n\t\t},\n\t\tunmute()\n\t\t{\n\t\t\tif (!this.source())\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tthis.muteFlag = false;\n\t\t\tthis.source().muted = false;\n\n\t\t\tif (this.id > 0)\n\t\t\t{\n\t\t\t\tthis.$Bitrix.eventEmitter.emit('ui:socialvideo:unmute', {initiator: this.id});\n\t\t\t}\n\t\t},\n\t\tsetProgress(percent, pixel = -1)\n\t\t{\n\t\t\tthis.progress = percent;\n\t\t},\n\t\tformatTime(second)\n\t\t{\n\t\t\tsecond = Math.floor(second);\n\n\t\t\tconst hour = Math.floor(second/60/60);\n\t\t\tif (hour > 0)\n\t\t\t{\n\t\t\t\tsecond -= hour*60*60;\n\t\t\t}\n\n\t\t\tconst minute = Math.floor(second/60);\n\t\t\tif (minute > 0)\n\t\t\t{\n\t\t\t\tsecond -= minute*60;\n\t\t\t}\n\n\t\t\treturn (hour > 0? hour+':': '')\n\t\t\t\t\t+ (hour > 0? minute.toString().padStart(2, \"0\")+':': minute+':')\n\t\t\t\t\t+ second.toString().padStart(2, \"0\")\n\t\t},\n\t\tonUnmute(event: BaseEvent)\n\t\t{\n\t\t\tevent = event.getData();\n\n\t\t\tif (event.initiator === this.id)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tthis.mute();\n\t\t},\n\t\tsource()\n\t\t{\n\t\t\treturn this.$refs.source;\n\t\t},\n\t\tvideoEventRouter(eventName, event)\n\t\t{\n\t\t\tif (\n\t\t\t\teventName === 'durationchange'\n\t\t\t\t|| eventName === 'loadeddata'\n\t\t\t)\n\t\t\t{\n\t\t\t\tif (!this.source())\n\t\t\t\t{\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tthis.timeTotal = this.source().duration;\n\t\t\t}\n\t\t\telse if (eventName === 'loadedmetadata')\n\t\t\t{\n\t\t\t\tif (!this.source())\n\t\t\t\t{\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tthis.timeTotal = this.source().duration;\n\t\t\t\tthis.loaded = true;\n\n\t\t\t\tif (this.playAfterLoad)\n\t\t\t\t{\n\t\t\t\t\tthis.play();\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (\n\t\t\t\teventName === 'abort'\n\t\t\t\t|| eventName === 'error'\n\t\t\t)\n\t\t\t{\n\t\t\t\tconsole.error('BxSocialVideo: load failed', this.id, event);\n\n\t\t\t\tthis.loading = false;\n\t\t\t\tthis.state = State.none;\n\t\t\t\tthis.timeTotal = 0;\n\t\t\t\tthis.preload = 'none';\n\t\t\t}\n\t\t\telse if (\n\t\t\t\teventName === 'canplaythrough'\n\t\t\t)\n\t\t\t{\n\t\t\t\tthis.loading = false;\n\t\t\t\tthis.loaded = true;\n\n\t\t\t\tif (this.playAfterLoad)\n\t\t\t\t{\n\t\t\t\t\tthis.play();\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (eventName === 'volumechange')\n\t\t\t{\n\t\t\t\tif (!this.source())\n\t\t\t\t{\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tif (this.source().muted)\n\t\t\t\t{\n\t\t\t\t\tthis.mute();\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tthis.unmute();\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (eventName === 'timeupdate')\n\t\t\t{\n\t\t\t\tif (!this.source())\n\t\t\t\t{\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tthis.timeCurrent = this.source().currentTime;\n\n\t\t\t\tif (!this.muteFlag && !this.enterFullscreen && this.timeCurrent === 0)\n\t\t\t\t{\n\t\t\t\t\tif (this.playBeforeMute <= 0)\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.mute();\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.playBeforeMute -= 1;\n\t\t\t\t}\n\n\t\t\t\tthis.setProgress(Math.round(100/this.timeTotal*this.timeCurrent));\n\t\t\t}\n\t\t\telse if (eventName === 'pause')\n\t\t\t{\n\t\t\t\tif (this.state !== State.stop)\n\t\t\t\t{\n\t\t\t\t\tthis.state = State.pause;\n\t\t\t\t}\n\n\t\t\t\tif (this.enterFullscreen)\n\t\t\t\t{\n\t\t\t\t\tthis.enterFullscreen = false;\n\t\t\t\t\tthis.mute();\n\t\t\t\t\tthis.play();\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (eventName === 'play')\n\t\t\t{\n\t\t\t\tthis.state = State.play;\n\n\t\t\t\tif (this.state === State.stop)\n\t\t\t\t{\n\t\t\t\t\tthis.progress = 0;\n\t\t\t\t\tthis.timeCurrent = 0;\n\t\t\t\t}\n\n\t\t\t\tif (this.enterFullscreen)\n\t\t\t\t{\n\t\t\t\t\tthis.enterFullscreen = false;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tgetObserver()\n\t\t{\n\t\t\tif (this.observer)\n\t\t\t{\n\t\t\t\treturn this.observer;\n\t\t\t}\n\n\t\t\tthis.observer = new IntersectionObserver((entries, observer) =>\n\t\t\t{\n\t\t\t\tif (this.autoPlayDisabled)\n\t\t\t\t{\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tentries.forEach((entry) =>\n\t\t\t\t{\n\t\t\t\t\tif (entry.isIntersecting)\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.play();\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.pause();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},{\n\t\t\t\tthreshold: [0, 1]\n\t\t\t});\n\n\t\t\treturn this.observer;\n\t\t},\n\t\tlazyLoadCallback(element)\n\t\t{\n\t\t\tthis.previewLoaded = element.state === 'success';\n\t\t}\n\t},\n\tcomputed:\n\t{\n\t\tState: () => State,\n\t\tautoPlayDisabled()\n\t\t{\n\t\t\treturn !this.autoplay && this.state === State.none;\n\t\t},\n\t\tshowStartButton()\n\t\t{\n\t\t\treturn this.autoPlayDisabled && this.previewLoaded;\n\t\t},\n\t\tshowInterface()\n\t\t{\n\t\t\treturn this.previewLoaded && !this.showStartButton;\n\t\t},\n\t\tlabelTime()\n\t\t{\n\t\t\tif (!this.loaded && !this.timeTotal)\n\t\t\t{\n\t\t\t\treturn '--:--';\n\t\t\t}\n\n\t\t\tlet time;\n\t\t\tif (this.state === State.play)\n\t\t\t{\n\t\t\t\ttime = this.timeTotal - this.timeCurrent;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\ttime = this.timeTotal;\n\t\t\t}\n\n\t\t\treturn this.formatTime(time);\n\t\t},\n\t\tisMobile()\n\t\t{\n\t\t\tconst UA = navigator.userAgent.toLowerCase();\n\n\t\t\treturn (\n\t\t\t\tUA.includes('android')\n\t\t\t\t|| UA.includes('iphone')\n\t\t\t\t|| UA.includes('ipad')\n\t\t\t\t|| UA.includes('bitrixmobile')\n\t\t\t)\n\t\t},\n\t},\n\ttemplate: `\n\t\t<div :class=\"['ui-vue-socialvideo', containerClass, {\n\t\t\t\t'ui-vue-socialvideo-mobile': isMobile,\n\t\t\t}]\" :style=\"containerStyle\" @click=\"click\">\n\t\t\t<transition name=\"ui-vue-socialvideo-animation-fade\">\n\t\t\t\t<div v-if=\"showStartButton && showControls\" class=\"ui-vue-socialvideo-button-start\">\n\t\t\t\t\t<span class=\"ui-vue-socialvideo-button-start-icon\"></span>\n\t\t\t\t</div>\n\t\t\t</transition>\n\t\t\t<transition name=\"ui-vue-socialvideo-animation-fade\">\n\t\t\t\t<div v-if=\"showInterface && showControls\" class=\"ui-vue-socialvideo-overlay-container\">\n\t\t\t\t\t<div class=\"ui-vue-socialvideo-controls-container\" @click=\"clickToButton\">\n\t\t\t\t\t\t<button :class=\"['ui-vue-socialvideo-control', {\n\t\t\t\t\t\t\t'ui-vue-socialvideo-control-loader': loading,\n\t\t\t\t\t\t\t'ui-vue-socialvideo-control-play': !loading && state !== State.play,\n\t\t\t\t\t\t\t'ui-vue-socialvideo-control-pause': !loading && state === State.play,\n\t\t\t\t\t\t}]\"></button>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"ui-vue-socialvideo-info-container\" @click=\"clickToMute\">\n\t\t\t\t\t\t<span class=\"ui-vue-socialvideo-time-current\">{{labelTime}}</span>\n\t\t\t\t\t\t<span :class=\"['ui-vue-socialvideo-sound', {\n\t\t\t\t\t\t\t'ui-vue-socialvideo-sound-on': state !== State.none && !muteFlag,\n\t\t\t\t\t\t\t'ui-vue-socialvideo-sound-off': state !== State.none && muteFlag\n\t\t\t\t\t\t}]\"></span>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</transition>\n\t\t\t<div v-if=\"!preview\" class=\"ui-vue-socialvideo-background\" :style=\"{position: (src? 'absolute': 'relative')}\"></div>\n\t\t\t<div class=\"ui-vue-socialvideo-container\" ref=\"body\">\n\t\t\t\t<img \n\t\t\t\t\tv-bx-lazyload=\"{callback: lazyLoadCallback}\"\n\t\t\t\t\tdata-lazyload-dont-hide\n\t\t\t\t\tv-if=\"preview\"\n\t\t\t\t\tclass=\"ui-vue-socialvideo-image-source\"\n\t\t\t\t\t:data-lazyload-src=\"preview\"\n\t\t\t\t\t:style=\"{position: (src? 'absolute': 'relative'), ...elementStyle}\"\n\t\t\t\t/>\n\t\t\t\t<video \n\t\t\t\t\tv-if=\"src\" :src=\"src\" \n\t\t\t\t\tclass=\"ui-vue-socialvideo-source\" \n\t\t\t\t\tref=\"source\"\n\t\t\t\t\t:preload=\"preload\" \n\t\t\t\t\tplaysinline\n\t\t\t\t\tloop \n\t\t\t\t\tmuted\n\t\t\t\t\t:style=\"{opacity: (loaded? 1: 0), ...elementStyle}\"\n\t\t\t\t\t@abort=\"videoEventRouter('abort', $event)\"\n\t\t\t\t\t@error=\"videoEventRouter('error', $event)\"\n\t\t\t\t\t@suspend=\"videoEventRouter('suspend', $event)\"\n\t\t\t\t\t@canplay=\"videoEventRouter('canplay', $event)\"\n\t\t\t\t\t@canplaythrough=\"videoEventRouter('canplaythrough', $event)\"\n\t\t\t\t\t@durationchange=\"videoEventRouter('durationchange', $event)\"\n\t\t\t\t\t@loadeddata=\"videoEventRouter('loadeddata', $event)\"\n\t\t\t\t\t@loadedmetadata=\"videoEventRouter('loadedmetadata', $event)\"\n\t\t\t\t\t@volumechange=\"videoEventRouter('volumechange', $event)\"\n\t\t\t\t\t@timeupdate=\"videoEventRouter('timeupdate', $event)\"\n\t\t\t\t\t@play=\"videoEventRouter('play', $event)\"\n\t\t\t\t\t@playing=\"videoEventRouter('playing', $event)\"\n\t\t\t\t\t@pause=\"videoEventRouter('pause', $event)\"\n\t\t\t\t></video>\n\t\t\t</div>\n\t\t</div>\t\n\t`\n});\n"],"names":["State","Object","freeze","play","pause","stop","none","BitrixVue","component","props","id","src","preview","autoplay","containerClass","containerStyle","elementStyle","showControls","data","preload","previewLoaded","loaded","loading","playAfterLoad","enterFullscreen","playBeforeMute","state","progress","timeCurrent","timeTotal","muteFlag","created","$Bitrix","eventEmitter","subscribe","onUnmute","mounted","getObserver","observe","$refs","body","beforeDestroy","unsubscribe","unobserve","watch","value","registeredId","methods","loadFile","clickToButton","event","stopPropagation","clickToMute","mute","unmute","click","autoPlayDisabled","isMobile","source","webkitEnterFullscreen","requestFullscreen","$emit","muted","emit","initiator","setProgress","percent","formatTime","second","Math","floor","hour","minute","toString","padStart","getData","videoEventRouter","eventName","duration","console","error","currentTime","round","observer","IntersectionObserver","entries","forEach","entry","isIntersecting","threshold","lazyLoadCallback","element","computed","showStartButton","showInterface","labelTime","time","UA","navigator","userAgent","toLowerCase","includes","template"],"mappings":"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"}