File manager - Edit - /home/c14075/dragmet-ural.ru/www/bitrix/modules/ui/install/js/ui/vue/components/audioplayer/dist/audioplayer.bundle.js.map
Back
{"version":3,"file":"audioplayer.bundle.js","sources":["../src/audioplayer.js"],"sourcesContent":["/**\n * Bitrix UI\n * Audio player Vue component\n *\n * @package bitrix\n * @subpackage ui\n * @copyright 2001-2021 Bitrix\n */\n\nimport 'ui.fonts.opensans';\nimport \"./audioplayer.css\";\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-audioplayer',\n{\n\tprops:\n\t{\n\t\tid: { default: 0 },\n\t\tsrc: { default: '' },\n\t\tautoPlayNext: { default: true },\n\t\tbackground: { default: 'light' },\n\t},\n\tdata()\n\t{\n\t\treturn {\n\t\t\tisDark: false,\n\t\t\tpreload: \"none\",\n\t\t\tloaded: false,\n\t\t\tloading: false,\n\t\t\tplayAfterLoad: false,\n\t\t\tstate: State.none,\n\t\t\tprogress: 0,\n\t\t\tprogressInPixel: 0,\n\t\t\tseek: 0,\n\t\t\ttimeCurrent: 0,\n\t\t\ttimeTotal: 0,\n\t\t}\n\t},\n\tcreated()\n\t{\n\t\tthis.preloadRequestSent = false;\n\t\tthis.registeredId = 0;\n\n\t\tthis.registerPlayer(this.id);\n\n\t\tthis.$Bitrix.eventEmitter.subscribe('ui:audioplayer:play', this.onPlay);\n\t\tthis.$Bitrix.eventEmitter.subscribe('ui:audioplayer:stop', this.onStop);\n\t\tthis.$Bitrix.eventEmitter.subscribe('ui:audioplayer:pause', this.onPause);\n\t\tthis.$Bitrix.eventEmitter.subscribe('ui:audioplayer:preload', this.onPreload);\n\n\t\tthis.isDark = this.background === 'dark';\n\t},\n\tmounted()\n\t{\n\t\tthis.getObserver().observe(this.$refs.body);\n\t},\n\tbeforeDestroy()\n\t{\n\t\tthis.unregisterPlayer();\n\n\t\tthis.$Bitrix.eventEmitter.unsubscribe('ui:audioplayer:play', this.onPlay);\n\t\tthis.$Bitrix.eventEmitter.unsubscribe('ui:audioplayer:stop', this.onStop);\n\t\tthis.$Bitrix.eventEmitter.unsubscribe('ui:audioplayer:pause', this.onPause);\n\t\tthis.$Bitrix.eventEmitter.unsubscribe('ui:audioplayer:preload', this.onPreload);\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.registerPlayer(value);\n\t\t},\n\t\tprogress(value)\n\t\t{\n\t\t\tif (value > 70)\n\t\t\t{\n\t\t\t\tthis.preloadNext();\n\t\t\t}\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 && !play)\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\tif (play)\n\t\t\t{\n\t\t\t\tthis.loading = true;\n\n\t\t\t\tif (this.source())\n\t\t\t\t{\n\t\t\t\t\tthis.source().play();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn true;\n\t\t},\n\t\tclickToButton()\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.pause();\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.play();\n\t\t\t}\n\t\t},\n\t\tplay()\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\tthis.source().play();\n\t\t},\n\t\tpause()\n\t\t{\n\t\t\tthis.source().pause();\n\t\t},\n\t\tstop()\n\t\t{\n\t\t\tthis.state = State.stop;\n\t\t\tthis.source().pause();\n\t\t},\n\t\tsetPosition(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\tlet pixelPerPercent = this.$refs.track.offsetWidth / 100;\n\n\t\t\tthis.setProgress(this.seek / pixelPerPercent, this.seek);\n\n\t\t\tif (this.state !== State.play)\n\t\t\t{\n\t\t\t\tthis.state = State.pause;\n\t\t\t}\n\n\t\t\tthis.play();\n\t\t\tthis.source().currentTime = this.timeTotal/100*this.progress;\n\t\t},\n\t\tseeking(event)\n\t\t{\n\t\t\tif (!this.loaded)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tthis.seek = event.offsetX > 0? event.offsetX: 0;\n\n\t\t\treturn true;\n\t\t},\n\t\tsetProgress(percent, pixel = -1)\n\t\t{\n\t\t\tthis.progress = percent;\n\t\t\tthis.progressInPixel = pixel > 0? pixel: Math.round(this.$refs.track.offsetWidth / 100 * 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\tregisterPlayer(id)\n\t\t{\n\t\t\tif (id <= 0)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tlet registry = this.$Bitrix.Data.get('ui-audioplayer-id', []);\n\n\t\t\tregistry = [...new Set([...registry, id])]\n\t\t\t\t.filter(id => id !== this.registeredId)\n\t\t\t\t.sort((a, b) => a - b)\n\t\t\t;\n\n\t\t\tthis.$Bitrix.Data.set('ui-audioplayer-id', registry);\n\n\t\t\tthis.registeredId = id;\n\n\t\t\treturn true;\n\t\t},\n\t\tunregisterPlayer()\n\t\t{\n\t\t\tif (!this.registeredId)\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tlet registry = this.$Bitrix.Data.get('ui-audioplayer-id', []).filter(id => id !== this.registeredId);\n\n\t\t\tthis.$Bitrix.Data.set('ui-audioplayer-id', registry);\n\n\t\t\tthis.registeredId = 0;\n\n\t\t\treturn true;\n\t\t},\n\t\tplayNext()\n\t\t{\n\t\t\tif (!this.registeredId || !this.autoPlayNext)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tconst nextId = this.$Bitrix.Data.get('ui-audioplayer-id', []).filter(id => id > this.registeredId).slice(0, 1)[0];\n\t\t\tif (nextId)\n\t\t\t{\n\t\t\t\tthis.$Bitrix.eventEmitter.emit('ui:audioplayer:play', {id: nextId, start: true});\n\t\t\t}\n\n\t\t\treturn true;\n\t\t},\n\t\tpreloadNext()\n\t\t{\n\t\t\tif (this.preloadRequestSent)\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tif (!this.registeredId || !this.autoPlayNext)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tthis.preloadRequestSent = true;\n\n\t\t\tconst nextId = this.$Bitrix.Data.get('ui-audioplayer-id', []).filter(id => id > this.registeredId).slice(0, 1)[0];\n\t\t\tif (nextId)\n\t\t\t{\n\t\t\t\tthis.$Bitrix.eventEmitter.emit('ui:audioplayer:preload', {id: nextId});\n\t\t\t}\n\n\t\t\treturn true;\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\t\tonPreload(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\tthis.loadFile();\n\t\t},\n\t\tsource()\n\t\t{\n\t\t\treturn this.$refs.source;\n\t\t},\n\t\taudioEventRouter(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\t|| eventName === 'loadedmetadata'\n\t\t\t)\n\t\t\t{\n\t\t\t\tthis.timeTotal = this.source().duration;\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('BxAudioPlayer: 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\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;\n\t\t\t\t}\n\n\t\t\t\tthis.timeCurrent = this.source().currentTime;\n\n\t\t\t\tthis.setProgress(Math.round(100/this.timeTotal*this.timeCurrent));\n\n\t\t\t\tif (\n\t\t\t\t\tthis.state === State.play\n\t\t\t\t\t&& this.timeCurrent >= this.timeTotal\n\t\t\t\t)\n\t\t\t\t{\n\t\t\t\t\tthis.playNext();\n\t\t\t\t}\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\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.id > 0)\n\t\t\t\t{\n\t\t\t\t\tthis.$Bitrix.eventEmitter.emit('ui:audioplayer:pause', {initiator: this.id});\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\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\tif (this.preload === \"none\")\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tthis.preload = \"metadata\";\n\t\t\t\t\t\t\tthis.observer.unobserve(entry.target);\n\t\t\t\t\t\t}\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},\n\tcomputed:\n\t{\n\t\tState: () => State,\n\t\tseekPosition()\n\t\t{\n\t\t\tif (!this.loaded && !this.seek || this.isMobile)\n\t\t\t{\n\t\t\t\treturn 'display: none'\n\t\t\t}\n\n\t\t\treturn `left: ${this.seek}px;`;\n\t\t},\n\t\tprogressPosition()\n\t\t{\n\t\t\tif (!this.loaded || this.state === State.none)\n\t\t\t{\n\t\t\t\treturn `width: 100%;`;\n\t\t\t}\n\n\t\t\treturn `width: ${this.progressInPixel}px;`;\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-audioplayer-container', {\n\t\t\t\t'ui-vue-audioplayer-container-dark': isDark,\n\t\t\t\t'ui-vue-audioplayer-container-mobile': isMobile,\n\t\t\t}]\" ref=\"body\">\n\t\t\t<div class=\"ui-vue-audioplayer-controls-container\">\n\t\t\t\t<button :class=\"['ui-vue-audioplayer-control', {\n\t\t\t\t\t'ui-vue-audioplayer-control-loader': loading,\n\t\t\t\t\t'ui-vue-audioplayer-control-play': !loading && state !== State.play,\n\t\t\t\t\t'ui-vue-audioplayer-control-pause': !loading && state === State.play,\n\t\t\t\t}]\" @click=\"clickToButton\"></button>\n\t\t\t</div>\n\t\t\t<div class=\"ui-vue-audioplayer-timeline-container\">\n\t\t\t\t<div class=\"ui-vue-audioplayer-track-container\" @click=\"setPosition\" ref=\"track\">\n\t\t\t\t\t<div class=\"ui-vue-audioplayer-track-mask\"></div>\n\t\t\t\t\t<div class=\"ui-vue-audioplayer-track\" :style=\"progressPosition\"></div>\n\t\t\t\t\t<div class=\"ui-vue-audioplayer-track-seek\" :style=\"seekPosition\"></div>\n\t\t\t\t\t<div class=\"ui-vue-audioplayer-track-event\" @mousemove=\"seeking\"></div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"ui-vue-audioplayer-timers-container\">\n\t\t\t\t\t<div class=\"ui-vue-audioplayer-time-current\">{{labelTime}}</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<audio v-if=\"src\" :src=\"src\" class=\"ui-vue-audioplayer-source\" ref=\"source\" :preload=\"preload\"\n\t\t\t\t@abort=\"audioEventRouter('abort', $event)\"\n\t\t\t\t@error=\"audioEventRouter('error', $event)\"\n\t\t\t\t@suspend=\"audioEventRouter('suspend', $event)\"\n\t\t\t\t@canplay=\"audioEventRouter('canplay', $event)\"\n\t\t\t\t@canplaythrough=\"audioEventRouter('canplaythrough', $event)\"\n\t\t\t\t@durationchange=\"audioEventRouter('durationchange', $event)\"\n\t\t\t\t@loadeddata=\"audioEventRouter('loadeddata', $event)\"\n\t\t\t\t@loadedmetadata=\"audioEventRouter('loadedmetadata', $event)\"\n\t\t\t\t@timeupdate=\"audioEventRouter('timeupdate', $event)\"\n\t\t\t\t@play=\"audioEventRouter('play', $event)\"\n\t\t\t\t@playing=\"audioEventRouter('playing', $event)\"\n\t\t\t\t@pause=\"audioEventRouter('pause', $event)\"\n\t\t\t></audio>\n\t\t</div>\n\t`\n});\n"],"names":["State","Object","freeze","play","pause","stop","none","BitrixVue","component","props","id","src","autoPlayNext","background","data","isDark","preload","loaded","loading","playAfterLoad","state","progress","progressInPixel","seek","timeCurrent","timeTotal","created","preloadRequestSent","registeredId","registerPlayer","$Bitrix","eventEmitter","subscribe","onPlay","onStop","onPause","onPreload","mounted","getObserver","observe","$refs","body","beforeDestroy","unregisterPlayer","unsubscribe","unobserve","watch","value","preloadNext","methods","loadFile","source","clickToButton","setPosition","event","pixelPerPercent","track","offsetWidth","setProgress","currentTime","seeking","offsetX","percent","pixel","Math","round","formatTime","second","floor","hour","minute","toString","padStart","registry","Data","get","Set","filter","sort","a","b","set","playNext","nextId","slice","emit","start","getData","initiator","audioEventRouter","eventName","duration","console","error","observer","IntersectionObserver","entries","forEach","entry","isIntersecting","target","threshold","computed","seekPosition","isMobile","progressPosition","labelTime","time","UA","navigator","userAgent","toLowerCase","includes","template"],"mappings":"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"}
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.28 |
proxy
|
phpinfo
|
Settings