Your IP : 216.73.216.86


Current Path : /var/www/homesaver/www/bitrix/js/ui/vue3/components/socialvideo/dist/
Upload File :
Current File : /var/www/homesaver/www/bitrix/js/ui/vue3/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 'main.polyfill.intersectionobserver';\nimport { lazyload } from 'ui.vue3.directives.lazyload';\nimport { BaseEvent, EventEmitter } from 'main.core.events';\n\nimport './socialvideo.css';\n\nimport type { JsonObject } from 'main.core';\n\nconst State = Object.freeze({\n\tplay: 'play',\n\tpause: 'pause',\n\tstop: 'stop',\n\tnone: 'none',\n});\nexport { State as SocialVideoState };\n\n// @vue/component\nexport const SocialVideo = {\n\tname: 'SocialVideo',\n\tdirectives: { lazyload },\n\tprops:\n\t{\n\t\tid: {\n\t\t\ttype: [String, Number],\n\t\t\tdefault: 0,\n\t\t},\n\t\tsrc: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\tpreview: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\tautoplay: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\tcontainerClass: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t\tcontainerStyle: {\n\t\t\ttype: Object,\n\t\t\tdefault: null,\n\t\t},\n\t\telementStyle: {\n\t\t\ttype: Object,\n\t\t\tdefault: null,\n\t\t},\n\t\tshowControls: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\tplayCallback: {\n\t\t\ttype: [Function, null],\n\t\t\tdefault: null,\n\t\t},\n\t},\n\tdata(): JsonObject\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\tcomputed:\n\t{\n\t\tState: () => State,\n\t\tautoPlayDisabled(): boolean\n\t\t{\n\t\t\treturn !this.autoplay && this.state === State.none;\n\t\t},\n\t\tshowStartButton(): boolean\n\t\t{\n\t\t\treturn this.autoPlayDisabled && this.previewLoaded;\n\t\t},\n\t\tshowInterface(): boolean\n\t\t{\n\t\t\treturn this.previewLoaded && !this.showStartButton;\n\t\t},\n\t\tlabelTime(): string\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 = 0;\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(): boolean\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\tsource(): HTMLVideoElement\n\t\t{\n\t\t\treturn this.$refs.source;\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\tEventEmitter.subscribe('ui:socialvideo:play', this.onPlay);\n\t\tEventEmitter.subscribe('ui:socialvideo:stop', this.onStop);\n\t\tEventEmitter.subscribe('ui:socialvideo:pause', this.onPause);\n\t},\n\tmounted()\n\t{\n\t\tthis.getObserver().observe(this.$refs.body);\n\t},\n\tbeforeUnmount()\n\t{\n\t\tEventEmitter.unsubscribe('ui:socialvideo:play', this.onPlay);\n\t\tEventEmitter.unsubscribe('ui:socialvideo:stop', this.onStop);\n\t\tEventEmitter.unsubscribe('ui:socialvideo:pause', this.onPause);\n\n\t\tthis.getObserver().unobserve(this.$refs.body);\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;\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;\n\t\t\t}\n\n\t\t\tif (this.muteFlag)\n\t\t\t{\n\t\t\t\tthis.unmute();\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.mute();\n\t\t\t}\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\n\t\t\t\treturn;\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.playCallback)\n\t\t\t{\n\t\t\t\tthis.playCallback();\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (!this.loaded)\n\t\t\t{\n\t\t\t\tthis.loadFile(true);\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (!this.source)\n\t\t\t{\n\t\t\t\treturn;\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;\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;\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;\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;\n\t\t\t}\n\n\t\t\tthis.muteFlag = false;\n\t\t\tthis.source.muted = false;\n\t\t},\n\t\tsetProgress(percent)\n\t\t{\n\t\t\tthis.progress = percent;\n\t\t},\n\t\tformatTime(second): string\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+ (hour > 0? minute.toString().padStart(2, \"0\")+':': minute+':')\n\t\t\t\t+ second.toString().padStart(2, \"0\")\n\t\t},\n\t\tonPlay(event: BaseEvent)\n\t\t{\n\t\t\tconst data = event.getData();\n\n\t\t\tif (data.id !== this.id)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tif (data.start)\n\t\t\t{\n\t\t\t\tthis.stop();\n\t\t\t}\n\n\t\t\tthis.play();\n\t\t},\n\t\tonStop(event: BaseEvent)\n\t\t{\n\t\t\tconst data = event.getData();\n\n\t\t\tif (data.initiator === this.id)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tthis.stop();\n\t\t},\n\t\tonPause(event: BaseEvent)\n\t\t{\n\t\t\tconst data = event.getData();\n\n\t\t\tif (data.initiator === this.id)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tthis.pause();\n\t\t},\n\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\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(): IntersectionObserver\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\tif (this.autoPlayDisabled)\n\t\t\t\t{\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tentries.forEach((entry) => {\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\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-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>\n\t`,\n};\n"],"names":["State","Object","freeze","play","pause","stop","none","SocialVideo","name","directives","lazyload","props","id","type","String","Number","default","src","preview","autoplay","Boolean","containerClass","containerStyle","elementStyle","showControls","playCallback","Function","data","preload","previewLoaded","loaded","loading","playAfterLoad","enterFullscreen","playBeforeMute","state","progress","timeCurrent","timeTotal","muteFlag","computed","autoPlayDisabled","showStartButton","showInterface","labelTime","time","formatTime","isMobile","UA","navigator","userAgent","toLowerCase","includes","source","$refs","created","EventEmitter","subscribe","onPlay","onStop","onPause","mounted","getObserver","observe","body","beforeUnmount","unsubscribe","unobserve","methods","loadFile","clickToButton","event","stopPropagation","clickToMute","unmute","mute","click","webkitEnterFullscreen","requestFullscreen","$emit","muted","setProgress","percent","second","Math","floor","hour","minute","toString","padStart","getData","start","initiator","videoEventRouter","eventName","duration","console","error","currentTime","round","observer","IntersectionObserver","entries","forEach","entry","isIntersecting","threshold","lazyLoadCallback","element","template"],"mappings":"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"}