platypush/platypush/backend/http/webapp/dist/static/js/9369.f7907b71.js.map

1 line
18 KiB
Plaintext

{"version":3,"file":"static/js/9369.f7907b71.js","mappings":"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","sources":["webpack://platypush/./src/components/panels/MusicSpotify/Index.vue","webpack://platypush/./src/components/panels/MusicSpotify/Index.vue?ccf9"],"sourcesContent":["<template>\n <Loading v-if=\"loading\" />\n <MusicPlugin plugin-name=\"music.spotify\" :loading=\"loading\" :config=\"config\" :tracks=\"tracks\" :status=\"status\"\n :playlists=\"playlists\" :edited-playlist=\"editedPlaylist\" :edited-playlist-tracks=\"editedPlaylistTracks\"\n :track-info=\"trackInfo\" :search-results=\"searchResults\" :library-results=\"libraryResults\" :path=\"path\"\n :devices=\"devices\" :selected-device=\"selectedDevice\" :active-device=\"activeDevice\" @play=\"play\"\n @pause=\"pause\" @stop=\"stop\" @previous=\"previous\" @next=\"next\" @clear=\"clear\" @set-volume=\"setVolume\"\n @seek=\"seek\" @consume=\"consume\" @random=\"random\" @repeat=\"repeat\" @status-update=\"refreshStatus(true)\"\n @new-playing-track=\"refreshStatus(true)\" @remove-from-tracklist=\"removeFromTracklist\"\n @add-to-tracklist=\"addToTracklist\" @swap-tracks=\"swapTracks\" @load-playlist=\"loadPlaylist\"\n @play-playlist=\"playPlaylist\" @remove-playlist=\"removePlaylist\" @tracklist-move=\"moveTracklistTracks\"\n @tracklist-save=\"saveToPlaylist\" @playlist-edit=\"playlistEditChanged\" @refresh-status=\"refreshStatus\"\n @add-to-tracklist-from-edited-playlist=\"addToTracklistFromEditedPlaylist\"\n @remove-from-playlist=\"removeFromPlaylist\" @info=\"trackInfo = $event\" @playlist-add=\"playlistAdd\"\n @add-to-playlist=\"addToPlaylist\" @playlist-track-move=\"playlistTrackMove\" @search=\"search\"\n @search-clear=\"searchResults = []\" @cd=\"cd\" @playlist-update=\"refresh(true)\"\n @select-device=\"selectDevice\" />\n</template>\n\n<script>\nimport MusicPlugin from \"@/components/panels/Music/Index\";\nimport Utils from \"@/Utils\";\nimport Loading from \"@/components/Loading\";\n\nexport default {\n name: \"MusicSpotify\",\n components: {Loading, MusicPlugin},\n mixins: [Utils],\n props: {\n config: {\n type: Object,\n default: () => {},\n },\n },\n\n data() {\n return {\n loading: false,\n devices: {},\n selectedDevice: null,\n activeDevice: null,\n tracks: [],\n playlists: [],\n status: {},\n editedPlaylist: null,\n editedPlaylistTracks: [],\n trackInfo: null,\n searchResults: [],\n libraryResults: [],\n path: '/',\n }\n },\n\n methods: {\n async refreshTracks(background) {\n if (!background)\n this.loading = true\n\n try {\n this.tracks = (await this.request('music.spotify.history')).map((track) => {\n track.time = track.duration\n return track\n })\n } finally {\n this.loading = false\n }\n },\n\n async refreshStatus(background) {\n if (!background)\n this.loading = true\n\n this.devices = (await this.request('music.spotify.get_devices')).reduce((obj, device) => {\n obj[device.id] = device\n return obj\n }, {})\n\n const activeDevices = Object.values(this.devices).filter((device) => device.is_active)\n this.activeDevice = activeDevices.length ? activeDevices[0].id : null\n if (!this.selectedDevice && Object.values(this.devices).length)\n this.selectedDevice = this.activeDevice || [...Object.values(this.devices)][0].id\n\n try {\n const status = await this.request('music.spotify.status')\n this.status = {\n ...status,\n duration: status.time,\n }\n } finally {\n this.loading = false\n }\n\n if (this.status.track) {\n if (this.tracks?.[0]?.id !== this.status.track.id)\n this.tracks = [{\n ...this.status.track,\n time: this.status.duration,\n }, ...this.tracks]\n this.status.playingPos = 0\n }\n },\n\n async refreshPlaylists(background) {\n if (!background)\n this.loading = true\n\n try {\n this.playlists = (await this.request('music.spotify.get_playlists'))\n .sort((a, b) => a.name.localeCompare(b.name))\n } finally {\n this.loading = false\n }\n },\n\n async refresh(background) {\n if (!background)\n this.loading = true\n\n try {\n await Promise.all([\n this.refreshTracks(background),\n this.refreshStatus(background),\n this.refreshPlaylists(background),\n ])\n } finally {\n this.loading = false\n }\n },\n\n async play(event) {\n if (event?.pos != null)\n event.uri = this.tracks[event.pos].uri\n\n if (event?.uri) {\n await this.request('music.spotify.play', {\n resource: event.uri,\n device: this.selectedDevice,\n })\n } else {\n await this.request('music.spotify.play', {\n device: this.selectedDevice,\n })\n }\n\n await this.refreshStatus(true)\n },\n\n async pause() {\n await this.request('music.spotify.pause', {\n device: this.selectedDevice,\n })\n await this.refreshStatus(true)\n },\n\n async stop() {\n await this.request('music.spotify.stop', {\n device: this.selectedDevice,\n })\n await this.refreshStatus(true)\n },\n\n async previous() {\n await this.request('music.spotify.previous', {\n device: this.selectedDevice,\n })\n await this.refreshStatus(true)\n },\n\n async next() {\n await this.request('music.spotify.next', {\n device: this.selectedDevice,\n })\n await this.refreshStatus(true)\n },\n\n async clear() {},\n\n async setVolume(volume) {\n if (volume === this.status.volume)\n return\n\n await this.request('music.spotify.set_volume', {\n device: this.selectedDevice,\n volume: volume,\n })\n await this.refreshStatus(true)\n },\n\n async seek(pos) {\n await this.request('music.spotify.seek', {\n device: this.selectedDevice,\n position: pos,\n })\n await this.refreshStatus(true)\n },\n\n async repeat() {\n await this.request('music.spotify.repeat', {\n device: this.selectedDevice,\n value: !this.status?.repeat,\n })\n await this.refreshStatus(true)\n },\n\n async random() {\n await this.request('music.spotify.random', {\n device: this.selectedDevice,\n value: !this.status?.random,\n })\n await this.refreshStatus(true)\n },\n\n async consume() {},\n\n async addToTracklist(resource) {\n if (resource.file)\n resource = resource.file\n\n await this.request('music.spotify.add', {\n device: this.selectedDevice,\n resource: resource,\n })\n await this.refresh(true)\n },\n\n async addToTracklistFromEditedPlaylist(event) {\n const track = this.editedPlaylistTracks[event.pos]\n if (!track)\n return\n\n const method = event.play ? 'play' : 'add'\n await this.request(`music.spotify.${method}`, {\n device: this.selectedDevice,\n resource: track.uri\n })\n await this.refresh(true)\n },\n\n async removeFromPlaylist(positions) {\n const tracks = positions.map((pos) => this.playlists[this.editedPlaylist].tracks[pos].uri)\n await this.request('music.spotify.remove_from_playlist',\n {resources: tracks, playlist: this.playlists[this.editedPlaylist].name})\n await this.playlistEditChanged(this.editedPlaylist)\n },\n\n async removeFromTracklist() {},\n async swapTracks() {},\n\n async playPlaylist(position) {\n await this._loadPlaylist(position, true)\n },\n\n async loadPlaylist(position) {\n await this._loadPlaylist(position, false)\n },\n\n async _loadPlaylist(position) {\n const playlist = this.playlists[position]\n await this.request('music.spotify.play', {\n resource: playlist.uri,\n device: this.selectedDevice,\n })\n await this.refresh(true)\n },\n\n async removePlaylist() {\n this.notify({\n text: 'Playlist removal is not supported'\n })\n },\n\n async saveToPlaylist() {},\n async moveTracklistTracks() {},\n\n async playlistAdd(track) {\n await this.request('music.spotify.add_to_playlist', {\n resources: [track],\n playlist: this.playlists[this.editedPlaylist].uri\n })\n\n await this.playlistEditChanged(this.editedPlaylist)\n },\n\n async playlistEditChanged(playlist) {\n this.editedPlaylist = playlist\n if (playlist == null)\n return\n\n this.loading = true\n try {\n const list = await this.request('music.spotify.get_playlist', {\n playlist: this.playlists[playlist].uri\n })\n\n this.editedPlaylistTracks = list.tracks.map((track) => {\n track.time = track.duration\n return track\n })\n } finally {\n this.loading = false\n }\n },\n\n async addToPlaylist(event) {\n await Promise.all(event.playlists.map(async (playlistIdx) => {\n await this.request('music.spotify.add_to_playlist', {\n resources: [event.track.uri],\n playlist: this.playlists[playlistIdx].uri\n })\n\n await this.playlistEditChanged(playlistIdx)\n }))\n },\n\n async playlistTrackMove(event) {\n await this.request('music.spotify.playlist_move', {\n playlist: this.playlists[event.playlist].uri,\n from_pos: event.from-1,\n to_pos: event.to-1,\n })\n\n await this.playlistEditChanged(event.playlist)\n },\n\n async search(query) {\n this.loading = true\n\n try {\n this.searchResults = (await this.request('music.spotify.search', query)).map((item) => {\n item.time = item.duration\n return item\n })\n } finally {\n this.loading = false\n }\n },\n\n async cd() {},\n\n async selectDevice(deviceId) {\n if (this.selectedDevice === deviceId)\n return\n\n await this.request('music.spotify.start_or_transfer_playback', {\n device: deviceId,\n })\n\n this.selectedDevice = deviceId\n this.refreshStatus(true)\n },\n },\n\n mounted() {\n this.refresh()\n },\n}\n</script>\n","import { render } from \"./Index.vue?vue&type=template&id=034e04ce\"\nimport script from \"./Index.vue?vue&type=script&lang=js\"\nexport * from \"./Index.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/home/blacklight/git_tree/platypush/platypush/backend/http/webapp/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["loading","config","tracks","status","playlists","editedPlaylist","editedPlaylistTracks","trackInfo","searchResults","libraryResults","path","devices","selectedDevice","activeDevice","play","pause","stop","previous","next","clear","setVolume","seek","consume","random","repeat","refreshStatus","removeFromTracklist","addToTracklist","swapTracks","loadPlaylist","playPlaylist","removePlaylist","moveTracklistTracks","saveToPlaylist","playlistEditChanged","addToTracklistFromEditedPlaylist","removeFromPlaylist","$event","playlistAdd","addToPlaylist","playlistTrackMove","search","cd","refresh","selectDevice","name","components","Loading","MusicPlugin","mixins","Utils","props","type","Object","default","data","methods","async","background","this","request","map","track","time","duration","reduce","obj","device","id","activeDevices","values","filter","is_active","length","playingPos","sort","a","b","localeCompare","Promise","all","refreshTracks","refreshPlaylists","event","pos","uri","resource","volume","position","value","file","method","positions","resources","playlist","_loadPlaylist","notify","text","list","playlistIdx","from_pos","from","to_pos","to","query","item","deviceId","mounted","__exports__","render"],"sourceRoot":""}