platypush/platypush/backend/http/webapp/dist/static/js/7968.a0ff4311.js.map

1 line
28 KiB
Plaintext

{"version":3,"file":"static/js/7968.a0ff4311.js","mappings":"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","sources":["webpack://platypush/./src/components/Media/Utils.vue","webpack://platypush/./src/components/Media/Utils.vue?af63","webpack://platypush/./src/components/panels/Torrent/Panel.vue","webpack://platypush/./src/components/panels/Torrent/Header.vue","webpack://platypush/./src/components/panels/Torrent/Header.vue?da39","webpack://platypush/./src/components/panels/Torrent/Panel.vue?046c","webpack://platypush/./src/components/panels/Torrent/View.vue","webpack://platypush/./src/components/panels/Torrent/View.vue?80df"],"sourcesContent":["<script>\nimport Utils from \"@/Utils\";\n\nexport default {\n name: \"Utils\",\n mixins: [Utils],\n\n computed: {\n audioExtensions() {\n return new Set([\n '3gp', 'aa', 'aac', 'aax', 'act', 'aiff', 'amr', 'ape', 'au',\n 'awb', 'dct', 'dss', 'dvf', 'flac', 'gsm', 'iklax', 'ivs',\n 'm4a', 'm4b', 'm4p', 'mmf', 'mp3', 'mpc', 'msv', 'nmf', 'nsf',\n 'ogg,', 'opus', 'ra,', 'raw', 'sln', 'tta', 'vox', 'wav',\n 'wma', 'wv', 'webm', '8svx',\n ])\n },\n\n videoExtensions() {\n return new Set([\n 'webm', 'mkv', 'flv', 'flv', 'vob', 'ogv', 'ogg', 'drc', 'gif',\n 'gifv', 'mng', 'avi', 'mts', 'm2ts', 'mov', 'qt', 'wmv', 'yuv',\n 'rm', 'rmvb', 'asf', 'amv', 'mp4', 'm4p', 'm4v', 'mpg', 'mp2',\n 'mpeg', 'mpe', 'mpv', 'mpg', 'mpeg', 'm2v', 'm4v', 'svi',\n '3gp', '3g2', 'mxf', 'roq', 'nsv', 'flv', 'f4v', 'f4p', 'f4a', 'f4b',\n ])\n },\n\n mediaExtensions() {\n return new Set([...this.videoExtensions, ...this.audioExtensions])\n },\n },\n\n methods: {\n convertTime(time) {\n time = parseFloat(time); // Normalize strings\n const t = {}\n t.h = '' + parseInt(time/3600)\n t.m = '' + parseInt(time/60 - t.h*60)\n t.s = '' + parseInt(time - (t.h*3600 + t.m*60))\n\n for (const attr of ['m','s']) {\n if (parseInt(t[attr]) < 10) {\n t[attr] = '0' + t[attr]\n }\n }\n\n const ret = []\n if (parseInt(t.h)) {\n ret.push(t.h)\n }\n\n ret.push(t.m, t.s)\n return ret.join(':')\n },\n\n async startStreaming(resource, download=false) {\n let url = resource\n let subtitles = null\n\n if (resource instanceof Object) {\n url = resource.url\n subtitles = resource.subtitles\n } else {\n resource = {url: url}\n }\n\n const ret = await this.request(`media.start_streaming`, {\n media: url,\n subtitles: subtitles,\n download: download,\n })\n\n return {...resource, ...ret}\n },\n\n async stopStreaming(mediaId) {\n await this.request('media.stop_streaming', {media_id: mediaId})\n },\n },\n}\n</script>\n","import script from \"./Utils.vue?vue&type=script&lang=js\"\nexport * from \"./Utils.vue?vue&type=script&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","<template>\n <div class=\"torrent-container\">\n <div class=\"header-container\">\n <Header @torrent-add=\"download($event)\" />\n </div>\n\n <div class=\"view-container\">\n <TorrentView :plugin-name=\"pluginName\" />\n </div>\n </div>\n</template>\n\n<script>\nimport Header from \"@/components/panels/Torrent/Header\";\nimport TorrentView from \"@/components/panels/Torrent/View\";\nimport Utils from \"@/Utils\";\n\nexport default {\n name: \"Panel\",\n components: {TorrentView, Header},\n mixins: [Utils],\n props: {\n pluginName: {\n type: String,\n required: true,\n },\n },\n\n methods: {\n async download(torrent) {\n await this.request(`${this.pluginName}.download`, {torrent: torrent})\n }\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n@import \"vars\";\n\n.torrent-container {\n width: 100%;\n height: calc(100% - #{$torrent-header-height});\n\n .view-container {\n height: 100%;\n overflow: auto;\n padding-top: .2em;\n }\n}\n</style>\n","<template>\n <div class=\"header\" :class=\"{'with-filter': filterVisible}\">\n <div class=\"row\">\n <div class=\"col-s-12 col-m-9 col-l-7 left side\">\n <form @submit.prevent=\"$emit('torrent-add', torrentURL)\">\n <label class=\"search-box\">\n <input type=\"search\" placeholder=\"Add torrent URL\" v-model=\"torrentURL\">\n </label>\n </form>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nexport default {\n name: \"Header\",\n emits: ['torrent-add'],\n\n data() {\n return {\n torrentURL: '',\n }\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n@import \"vars\";\n\n.header {\n width: 100%;\n height: $torrent-header-height;\n position: relative;\n background: $menu-panel-bg;\n padding: .5em;\n box-shadow: $border-shadow-bottom;\n\n .row {\n display: flex;\n align-items: center;\n }\n\n .side {\n display: inline-flex;\n align-items: center;\n\n &.right {\n justify-content: right;\n }\n }\n\n :deep(button) {\n background: none;\n padding: 0 .25em;\n border: 0;\n margin-right: .25em;\n\n &:hover {\n color: $default-hover-fg-2;\n }\n }\n\n form {\n width: 100%;\n padding: 0;\n border: 0;\n border-radius: 0;\n box-shadow: none;\n background: initial;\n }\n\n .search-box {\n width: 100%;\n margin-left: .5em;\n\n input[type=search] {\n width: 100%;\n }\n }\n}\n</style>\n","import { render } from \"./Header.vue?vue&type=template&id=33115af0&scoped=true\"\nimport script from \"./Header.vue?vue&type=script&lang=js\"\nexport * from \"./Header.vue?vue&type=script&lang=js\"\n\nimport \"./Header.vue?vue&type=style&index=0&id=33115af0&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-33115af0\"]])\n\nexport default __exports__","import { render } from \"./Panel.vue?vue&type=template&id=1502d8a8&scoped=true\"\nimport script from \"./Panel.vue?vue&type=script&lang=js\"\nexport * from \"./Panel.vue?vue&type=script&lang=js\"\n\nimport \"./Panel.vue?vue&type=style&index=0&id=1502d8a8&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-1502d8a8\"]])\n\nexport default __exports__","<template>\n <Loading v-if=\"loading\" />\n\n <div class=\"torrent-transfers fade-in\" v-else>\n <div class=\"no-content\" v-if=\"!Object.keys(transfers).length\">No torrent transfers in progress</div>\n\n <div class=\"row item\" :class=\"{selected: selectedItem === i}\" v-for=\"(torrent, i) in transfers\" :key=\"i\"\n @click=\"selectedItem = i\">\n <div class=\"col-8 left side\">\n <i class=\"icon fa\" :class=\"{\n 'fa-check': torrent.finish_date != null,\n 'fa-play': !torrent.finish_date && torrent.state === 'downloading',\n 'fa-pause': !torrent.finish_date && torrent.state === 'paused',\n 'fa-stop': !torrent.finish_date && torrent.state === 'stopped',\n }\" />\n <div class=\"title\" v-text=\"torrent.name || torrent.hash || torrent.url\" />\n </div>\n\n <div class=\"col-2 right side\">\n <span v-text=\"`${torrent.progress}%`\" />\n </div>\n\n <div class=\"col-2 right side\">\n <Dropdown title=\"Actions\" icon-class=\"fa fa-ellipsis-h\" @click=\"selectedItem = i\">\n <DropdownItem icon-class=\"fa fa-pause\" text=\"Pause transfer\" @click=\"pause(torrentId(torrent))\"\n v-if=\"torrent.state === 'downloading'\" />\n <DropdownItem icon-class=\"fa fa-play\" text=\"Resume transfer\" @click=\"resume(torrentId(torrent))\"\n v-if=\"torrent.state === 'paused'\" />\n <DropdownItem icon-class=\"fa fa-trash\" text=\"Remove transfer\" @click=\"remove(torrentId(torrent))\" />\n <DropdownItem icon-class=\"fa fa-folder\" text=\"View files\" @click=\"$refs.torrentFiles.isVisible = true\" />\n <DropdownItem icon-class=\"fa fa-info\" text=\"Torrent info\" @click=\"$refs.torrentInfo.isVisible = true\" />\n </Dropdown>\n </div>\n </div>\n\n <Modal ref=\"torrentInfo\" title=\"Torrent info\" width=\"80%\">\n <div class=\"modal-body torrent-info\" v-if=\"selectedItem != null && transfers[selectedItem]\">\n <div class=\"row\" v-if=\"transfers[selectedItem].name\">\n <div class=\"attr\">Name</div>\n <div class=\"value\" v-text=\"transfers[selectedItem].name\" />\n </div>\n\n <div class=\"row\" v-if=\"transfers[selectedItem].state\">\n <div class=\"attr\">State</div>\n <div class=\"value\" v-text=\"transfers[selectedItem].state\" />\n </div>\n\n <div class=\"row\">\n <div class=\"attr\">Progress</div>\n <div class=\"value\" v-text=\"`${transfers[selectedItem].progress || 0}%`\" />\n </div>\n\n <div class=\"row\">\n <div class=\"attr\">DL rate</div>\n <div class=\"value\" v-text=\"`${convertSize(transfers[selectedItem].download_rate || 0)}/s`\" />\n </div>\n\n <div class=\"row\">\n <div class=\"attr\">UL rate</div>\n <div class=\"value\" v-text=\"`${convertSize(transfers[selectedItem].upload_rate || 0)}/s`\" />\n </div>\n\n <div class=\"row\">\n <div class=\"attr\">Size</div>\n <div class=\"value\" v-text=\"convertSize(transfers[selectedItem].size || 0)\" />\n </div>\n\n <div class=\"row\" v-if=\"transfers[selectedItem].remaining_bytes\">\n <div class=\"attr\">Remaining</div>\n <div class=\"value\" v-text=\"convertSize(transfers[selectedItem].remaining_bytes)\" />\n </div>\n\n <div class=\"row\">\n <div class=\"attr\">URL</div>\n <div class=\"value nowrap\">\n <a :href=\"transfers[selectedItem].url\" target=\"_blank\" v-text=\"transfers[selectedItem].url\" />\n </div>\n </div>\n\n <div class=\"row\">\n <div class=\"attr\">Peers</div>\n <div class=\"value\" v-text=\"transfers[selectedItem].peers || 0\" />\n </div>\n\n <div class=\"row\" v-if=\"transfers[selectedItem].start_date\">\n <div class=\"attr\">Started</div>\n <div class=\"value\" v-text=\"formatDateTime(transfers[selectedItem].start_date)\" />\n </div>\n\n <div class=\"row\" v-if=\"transfers[selectedItem].finish_date\">\n <div class=\"attr\">Finished</div>\n <div class=\"value\" v-text=\"formatDateTime(transfers[selectedItem].finish_date)\" />\n </div>\n\n <div class=\"row\" v-if=\"transfers[selectedItem].save_path\">\n <div class=\"attr\">Save path</div>\n <div class=\"value\" v-text=\"transfers[selectedItem].save_path\" />\n </div>\n </div>\n </Modal>\n\n <Modal ref=\"torrentFiles\" title=\"Torrent files\" width=\"80%\">\n <div class=\"modal-body torrent-files\" v-if=\"selectedItem != null && transfers[selectedItem]\">\n <div class=\"row\" v-for=\"(file, i) in relativeFiles\" :key=\"file\">\n <div class=\"col-1 icon\">\n <Dropdown v-if=\"isMedia && mediaExtensions.has(file.split('.').pop())\">\n <DropdownItem icon-class=\"fa fa-play\" text=\"Play\"\n @click=\"$emit('play', {url: `file://${transfers[selectedItem].files[i]}`, type: 'file'})\" />\n </Dropdown>\n\n <i class=\"fa fa-file\" v-else />\n </div>\n <div class=\"col-11 name\" v-text=\"file\" />\n </div>\n </div>\n </Modal>\n </div>\n</template>\n\n<script>\nimport Loading from \"@/components/Loading\";\nimport Utils from \"@/Utils\";\nimport MediaUtils from \"@/components/Media/Utils.vue\"\nimport Modal from \"@/components/Modal\";\nimport Dropdown from \"@/components/elements/Dropdown\";\nimport DropdownItem from \"@/components/elements/DropdownItem\";\n\nexport default {\n name: \"View\",\n emits: ['play', 'play-with-captions'],\n components: {Dropdown, DropdownItem, Loading, Modal},\n mixins: [Utils, MediaUtils],\n props: {\n pluginName: {\n type: String,\n required: true,\n },\n\n isMedia: {\n type: Boolean,\n default: false,\n },\n },\n\n data() {\n return {\n loading: false,\n transfers: {},\n selectedItem: null,\n }\n },\n\n computed: {\n relativeFiles() {\n if (this.selectedItem == null || !this.transfers[this.selectedItem]?.files?.length)\n return []\n\n return this.transfers[this.selectedItem].files.map((file) => file.split('/').pop())\n },\n },\n\n methods: {\n torrentId(torrent) {\n if (torrent?.hash && torrent.hash.length)\n return torrent.hash\n\n return torrent.url\n },\n\n async refresh() {\n this.loading = true\n\n try {\n this.transfers = Object.values(await this.request(`${this.pluginName}.status`) || {})\n .reduce((obj, torrent) => {\n obj[this.torrentId(torrent)] = torrent\n return obj\n }, {})\n } finally {\n this.loading = false\n }\n },\n\n async pause(torrent) {\n await this.request(`${this.pluginName}.pause`, {torrent: torrent})\n await this.refresh()\n },\n\n async resume(torrent) {\n await this.request(`${this.pluginName}.resume`, {torrent: torrent})\n await this.refresh()\n },\n\n async remove(torrent) {\n await this.request(`${this.pluginName}.remove`, {torrent: torrent})\n await this.refresh()\n },\n\n onTorrentUpdate(torrent) {\n this.transfers[this.torrentId(torrent)] = torrent\n },\n\n onTorrentRemove(torrent) {\n const torrentId = this.torrentId(torrent)\n if (torrentId in this.transfers)\n delete this.transfers[torrentId]\n },\n },\n\n mounted() {\n this.refresh()\n\n this.subscribe(\n this.onTorrentUpdate,'on-torrent-update',\n 'platypush.message.event.torrent.TorrentQueuedEvent',\n 'platypush.message.event.torrent.TorrentDownloadedMetadataEvent',\n 'platypush.message.event.torrent.TorrentDownloadStartEvent',\n 'platypush.message.event.torrent.TorrentDownloadProgressEvent',\n 'platypush.message.event.torrent.TorrentResumedEvent',\n 'platypush.message.event.torrent.TorrentPausedEvent',\n 'platypush.message.event.torrent.TorrentSeedingStartEvent',\n 'platypush.message.event.torrent.TorrentStateChangeEvent',\n 'platypush.message.event.torrent.TorrentDownloadStopEvent',\n 'platypush.message.event.torrent.TorrentDownloadCompletedEvent')\n\n this.subscribe(this.onTorrentRemove,'on-torrent-remove',\n 'platypush.message.event.torrent.TorrentRemovedEvent')\n },\n\n destroy() {\n this.unsubscribe('on-torrent-update')\n this.unsubscribe('on-torrent-remove')\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n@import \"src/style/items\";\n\n.torrent-transfers {\n height: 100%;\n background: $background-color;\n\n .no-content {\n height: 100%;\n }\n}\n\n:deep(.modal-body) {\n .row {\n display: flex;\n border-bottom: $default-border;\n padding: .5em .25em;\n border-radius: .5em;\n\n &:hover {\n background-color: $hover-bg;\n }\n\n .attr {\n @extend .col-3;\n display: inline-flex;\n }\n\n .value {\n @extend .col-9;\n display: inline-flex;\n justify-content: right;\n\n &.nowrap {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: clip;\n }\n }\n }\n}\n\n:deep(.modal-body) {\n .dropdown-container {\n .row {\n box-shadow: none;\n border: none;\n }\n\n button {\n border: none;\n background: none;\n\n &:hover {\n color: $default-hover-fg;\n }\n }\n }\n}\n</style>\n","import { render } from \"./View.vue?vue&type=template&id=7351a8a4&scoped=true\"\nimport script from \"./View.vue?vue&type=script&lang=js\"\nexport * from \"./View.vue?vue&type=script&lang=js\"\n\nimport \"./View.vue?vue&type=style&index=0&id=7351a8a4&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-7351a8a4\"]])\n\nexport default __exports__"],"names":["name","mixins","Utils","computed","audioExtensions","Set","videoExtensions","mediaExtensions","this","methods","convertTime","time","parseFloat","t","h","parseInt","m","s","attr","ret","push","join","startStreaming","resource","download","url","subtitles","Object","request","media","stopStreaming","mediaId","media_id","__exports__","class","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_createVNode","_component_Header","onTorrentAdd","_cache","$event","$options","_hoisted_3","_component_TorrentView","$props","pluginName","_normalizeClass","_ctx","filterVisible","onSubmit","_withModifiers","$emit","$data","torrentURL","type","placeholder","emits","data","components","TorrentView","Header","props","String","required","torrent","render","loading","_createBlock","_component_Loading","key","keys","transfers","length","_Fragment","_renderList","i","selected","selectedItem","onClick","_hoisted_4","finish_date","state","_toDisplayString","hash","_hoisted_6","progress","_hoisted_8","_component_Dropdown","title","_component_DropdownItem","text","pause","torrentId","resume","remove","$refs","torrentFiles","isVisible","torrentInfo","_component_Modal","ref","width","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_13","_hoisted_14","_hoisted_16","_hoisted_17","_hoisted_19","_hoisted_20","convertSize","download_rate","_hoisted_22","_hoisted_23","upload_rate","_hoisted_25","_hoisted_26","size","remaining_bytes","_hoisted_28","_hoisted_29","_hoisted_31","_hoisted_32","_hoisted_33","href","target","_hoisted_35","_hoisted_36","peers","start_date","_hoisted_38","_hoisted_39","formatDateTime","_hoisted_41","_hoisted_42","save_path","_hoisted_44","_hoisted_45","_hoisted_47","relativeFiles","file","_hoisted_48","isMedia","has","split","pop","files","_hoisted_49","Dropdown","DropdownItem","Loading","Modal","MediaUtils","Boolean","default","map","refresh","values","reduce","obj","onTorrentUpdate","onTorrentRemove","mounted","subscribe","destroy","unsubscribe"],"sourceRoot":""}