platypush/platypush/backend/http/webapp/dist/static/js/7898.af4f2bd0.js.map

1 line
11 KiB
Plaintext

{"version":3,"file":"static/js/7898.af4f2bd0.js","mappings":"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","sources":["webpack://platypush/./src/components/elements/NoItems.vue","webpack://platypush/./src/components/elements/NoItems.vue?70de","webpack://platypush/./src/components/panels/Media/Providers/YouTube/Playlist.vue","webpack://platypush/./src/components/panels/Media/Providers/YouTube/Playlist.vue?5745","webpack://platypush/./src/components/panels/Media/Providers/YouTube/Playlists.vue","webpack://platypush/./src/components/panels/Media/Providers/YouTube/Playlists.vue?1e93"],"sourcesContent":["<template>\n<div class=\"no-items-container\">\n <div class=\"no-items fade-in\" :class=\"{shadow: withShadow}\">\n <slot />\n </div>\n</div>\n</template>\n\n<script>\nexport default {\n name: \"NoItems\",\n props: {\n withShadow: {\n type: Boolean,\n default: true,\n },\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.no-items-container {\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n\n .no-items {\n min-width: 100%;\n max-width: 100%;\n\n @include from($tablet) {\n min-width: 80%;\n }\n\n @include from($desktop) {\n min-width: 50%;\n max-width: 35em;\n }\n\n @include from($fullhd) {\n min-width: 33%;\n }\n\n background: $background-color;\n margin: 1em;\n padding: 1em;\n font-size: 1.5em;\n color: $no-items-color;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 1em;\n\n &.shadow {\n box-shadow: $border-shadow-bottom;\n }\n }\n}\n</style>\n","import { render } from \"./NoItems.vue?vue&type=template&id=4856c4d7&scoped=true\"\nimport script from \"./NoItems.vue?vue&type=script&lang=js\"\nexport * from \"./NoItems.vue?vue&type=script&lang=js\"\n\nimport \"./NoItems.vue?vue&type=style&index=0&id=4856c4d7&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-4856c4d7\"]])\n\nexport default __exports__","<template>\n <div class=\"media-youtube-playlist\">\n <Loading v-if=\"loading\" />\n <NoItems :with-shadow=\"false\" v-else-if=\"!items?.length\">\n No videos found.\n </NoItems>\n\n <Results :results=\"items\"\n :sources=\"{'youtube': true}\"\n :filter=\"filter\"\n :selected-result=\"selectedResult\"\n @select=\"selectedResult = $event\"\n @play=\"$emit('play', $event)\"\n v-else />\n </div>\n</template>\n\n<script>\nimport NoItems from \"@/components/elements/NoItems\";\nimport Loading from \"@/components/Loading\";\nimport Results from \"@/components/panels/Media/Results\";\nimport Utils from \"@/Utils\";\n\nexport default {\n emits: ['play'],\n mixins: [Utils],\n components: {\n Loading,\n NoItems,\n Results,\n },\n\n props: {\n id: {\n type: String,\n required: true,\n },\n\n filter: {\n type: String,\n default: null,\n },\n },\n\n data() {\n return {\n items: [],\n loading: false,\n selectedResult: null,\n }\n },\n\n methods: {\n async loadItems() {\n this.loading = true\n try {\n this.items = (\n await this.request('youtube.get_playlist', {id: this.id})\n ).map(item => ({\n ...item,\n type: 'youtube',\n }))\n } finally {\n this.loading = false\n }\n },\n },\n\n mounted() {\n this.loadItems()\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.media-youtube-playlist {\n height: 100%;\n}\n</style>\n","import { render } from \"./Playlist.vue?vue&type=template&id=66236cc4&scoped=true\"\nimport script from \"./Playlist.vue?vue&type=script&lang=js\"\nexport * from \"./Playlist.vue?vue&type=script&lang=js\"\n\nimport \"./Playlist.vue?vue&type=style&index=0&id=66236cc4&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-66236cc4\"]])\n\nexport default __exports__","<template>\n <div class=\"media-youtube-playlists\">\n <div class=\"playlists-index\" v-if=\"!selectedPlaylist\">\n <Loading v-if=\"loading\" />\n <NoItems :with-shadow=\"false\" v-else-if=\"!playlists?.length\">\n No playlists found.\n </NoItems>\n\n <div class=\"body grid\" v-else>\n <div class=\"playlist item\"\n v-for=\"(playlist, id) in playlistsById\"\n :key=\"id\"\n @click=\"$emit('select', playlist)\">\n <MediaImage :item=\"playlist\" :has-play=\"false\" />\n <div class=\"title\">{{ playlist.name }}</div>\n </div>\n </div>\n </div>\n\n <div class=\"playlist-body\" v-else>\n <Playlist :id=\"selectedPlaylist\" :filter=\"filter\" @play=\"$emit('play', $event)\" />\n </div>\n </div>\n</template>\n\n<script>\nimport MediaImage from \"@/components/panels/Media/MediaImage\";\nimport NoItems from \"@/components/elements/NoItems\";\nimport Loading from \"@/components/Loading\";\nimport Playlist from \"./Playlist\";\nimport Utils from \"@/Utils\";\n\nexport default {\n emits: ['play', 'select'],\n mixins: [Utils],\n components: {\n Loading,\n MediaImage,\n NoItems,\n Playlist,\n },\n\n props: {\n selectedPlaylist: {\n type: String,\n default: null,\n },\n\n filter: {\n type: String,\n default: null,\n },\n },\n\n data() {\n return {\n playlists: [],\n loading: false,\n }\n },\n\n computed: {\n playlistsById() {\n return this.playlists\n .filter(playlist => !this.filter || playlist.name.toLowerCase().includes(this.filter.toLowerCase()))\n .reduce((acc, playlist) => {\n acc[playlist.id] = playlist\n return acc\n }, {})\n },\n },\n\n methods: {\n async loadPlaylists() {\n this.loading = true\n try {\n this.playlists = (await this.request('youtube.get_playlists'))\n } finally {\n this.loading = false\n }\n },\n },\n\n mounted() {\n this.loadPlaylists()\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.media-youtube-playlists {\n height: 100%;\n\n .playlist-body {\n height: 100%;\n }\n\n :deep(.playlist.item) {\n cursor: pointer;\n\n .title {\n font-size: 1.1em;\n margin-top: 0.5em;\n }\n\n &:hover {\n text-decoration: underline;\n\n img {\n filter: contrast(70%);\n }\n }\n }\n}\n</style>\n","import { render } from \"./Playlists.vue?vue&type=template&id=4f7cc8e3&scoped=true\"\nimport script from \"./Playlists.vue?vue&type=script&lang=js\"\nexport * from \"./Playlists.vue?vue&type=script&lang=js\"\n\nimport \"./Playlists.vue?vue&type=style&index=0&id=4f7cc8e3&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-4f7cc8e3\"]])\n\nexport default __exports__"],"names":["class","_createElementBlock","_hoisted_1","_createElementVNode","_normalizeClass","shadow","$props","withShadow","_renderSlot","_ctx","$slots","undefined","name","props","type","Boolean","default","__exports__","render","$data","loading","_createBlock","_component_Loading","key","items","length","_component_Results","results","sources","filter","selectedResult","onSelect","_cache","$event","onPlay","$emit","_component_NoItems","emits","mixins","Utils","components","Loading","NoItems","Results","id","String","required","data","methods","loadItems","this","request","map","item","mounted","selectedPlaylist","_hoisted_6","_createVNode","_component_Playlist","_hoisted_2","playlists","_hoisted_3","_Fragment","_renderList","$options","playlistsById","playlist","onClick","_component_MediaImage","_hoisted_5","_toDisplayString","MediaImage","Playlist","computed","toLowerCase","includes","reduce","acc","loadPlaylists"],"sourceRoot":""}