platypush/platypush/backend/http/webapp/dist/static/js/2848.67bcab8e.js

2 lines
43 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

"use strict";(self["webpackChunkplatypush"]=self["webpackChunkplatypush"]||[]).push([[2848],{2848:function(e,t,s){s.r(t),s.d(t,{default:function(){return Ns}});var l=s(6252),a=s(3577),i=s(9963);const n=e=>((0,l.dD)("data-v-45886c9f"),e=e(),(0,l.Cn)(),e),c={key:0,class:"nav-container mobile"},o={class:"nav-container from tablet"},r={class:"view-container"},d={class:"track-info-container"},u={key:0,class:"track-info-content"},h={key:0,class:"row file"},k=n((()=>(0,l._)("div",{class:"col-3 attr"},"File",-1))),p=["textContent"],y={key:1,class:"row artist"},m=n((()=>(0,l._)("div",{class:"col-3 attr"},"Artist",-1))),f={class:"col-9 value"},v=["href","textContent"],g={key:2,class:"row track-title"},w=n((()=>(0,l._)("div",{class:"col-3 attr"},"Title",-1))),C=["textContent"],b={key:3,class:"row album"},_=n((()=>(0,l._)("div",{class:"col-3 attr"},"Album",-1))),D={class:"col-9 value"},T=["href","textContent"],x={key:4,class:"row date"},$=n((()=>(0,l._)("div",{class:"col-3 attr"},"Date",-1))),P=["textContent"],S={key:5,class:"row duration"},A=n((()=>(0,l._)("div",{class:"col-3 attr"},"Duration",-1))),I=["textContent"],R={key:6,class:"row track"},q=n((()=>(0,l._)("div",{class:"col-3 attr"},"Track",-1))),M=["textContent"],V={key:7,class:"row disc"},L=n((()=>(0,l._)("div",{class:"col-3 attr"},"Disc",-1))),W=["textContent"],N={key:8,class:"row url"},j=n((()=>(0,l._)("div",{class:"col-3 attr"},"URL",-1))),z={class:"col-9 value"},E=["href","textContent"],O={class:"playlists-modal-container"},F={class:"filter"},Z={class:"playlists"},B=["checked","onChange"],H=["textContent"],K=n((()=>(0,l._)("i",{class:"fa fa-plus"},null,-1)));function U(e,t,s,n,U,Y){const Q=(0,l.up)("Loading"),G=(0,l.up)("Nav"),J=(0,l.up)("Playlist"),X=(0,l.up)("Playlists"),ee=(0,l.up)("Search"),te=(0,l.up)("Library"),se=(0,l.up)("MediaView"),le=(0,l.up)("Modal"),ae=(0,l.up)("FormFooter");return(0,l.wg)(),(0,l.iD)(l.HY,null,[s.loading?((0,l.wg)(),(0,l.j4)(Q,{key:0})):((0,l.wg)(),(0,l.j4)(se,{key:1,"plugin-name":s.pluginName,status:s.status,track:Y.track,onPlay:t[34]||(t[34]=t=>e.$emit("play",t)),onPause:t[35]||(t[35]=t=>e.$emit("pause")),onStop:t[36]||(t[36]=t=>e.$emit("stop")),onPrevious:t[37]||(t[37]=t=>e.$emit("previous")),onNext:t[38]||(t[38]=t=>e.$emit("next")),onSetVolume:t[39]||(t[39]=t=>e.$emit("set-volume",t)),onSeek:t[40]||(t[40]=t=>e.$emit("seek",t)),onConsume:t[41]||(t[41]=t=>e.$emit("consume",t)),onRepeat:t[42]||(t[42]=t=>e.$emit("repeat",t)),onRandom:t[43]||(t[43]=t=>e.$emit("random",t)),onSearch:Y.search},{default:(0,l.w5)((()=>[(0,l._)("main",null,[U.navVisible?((0,l.wg)(),(0,l.iD)("div",c,[(0,l.Wm)(G,{"selected-view":U.selectedView,onInput:t[0]||(t[0]=e=>U.selectedView=e),onToggle:t[1]||(t[1]=e=>U.navVisible=!U.navVisible)},null,8,["selected-view"])])):(0,l.kq)("",!0),(0,l._)("div",o,[(0,l.Wm)(G,{"selected-view":U.selectedView,onInput:t[2]||(t[2]=e=>U.selectedView=e),onToggle:t[3]||(t[3]=e=>U.navVisible=!U.navVisible)},null,8,["selected-view"])]),(0,l._)("div",r,["playing"===U.selectedView?((0,l.wg)(),(0,l.j4)(J,{key:0,tracks:s.tracks,status:s.status,loading:s.loading,devices:s.devices,"selected-device":s.selectedDevice,"active-device":s.activeDevice,"show-nav-button":!U.navVisible,onPlay:t[4]||(t[4]=t=>e.$emit("play",t)),onClear:t[5]||(t[5]=t=>e.$emit("clear")),onSwap:t[6]||(t[6]=t=>e.$emit("swap-tracks",t)),onAdd:t[7]||(t[7]=t=>e.$emit("add-to-tracklist",t)),onRemove:t[8]||(t[8]=t=>e.$emit("remove-from-tracklist",t)),onMove:t[9]||(t[9]=t=>e.$emit("tracklist-move",t)),onSave:t[10]||(t[10]=t=>e.$emit("tracklist-save",t)),onInfo:t[11]||(t[11]=t=>e.$emit("info",t)),onAddToPlaylist:Y.openAddToPlaylist,onSearch:Y.search,onToggleNav:t[12]||(t[12]=e=>U.navVisible=!U.navVisible),onRefreshStatus:Y.refreshStatus,onSelectDevice:Y.selectDevice},null,8,["tracks","status","loading","devices","selected-device","active-device","show-nav-button","onAddToPlaylist","onSearch","onRefreshStatus","onSelectDevice"])):"playlists"===U.selectedView?((0,l.wg)(),(0,l.j4)(X,{key:1,playlists:s.playlists,loading:s.loading,devices:s.devices,"selected-device":s.selectedDevice,"active-device":s.activeDevice,"edited-playlist":s.editedPlaylist,tracks:s.editedPlaylistTracks,"show-nav-button":!U.navVisible,onPlay:t[13]||(t[13]=t=>e.$emit("play-playlist",t)),onLoad:t[14]||(t[14]=t=>e.$emit("load-playlist",t)),onRemove:t[15]||(t[15]=t=>e.$emit("remove-playlist",t)),onPlaylistEdit:t[16]||(t[16]=t=>e.$emit("playlist-edit",t)),onLoadTrack:t[17]||(t[17]=t=>e.$emit("add-to-tracklist-from-edited-playlist",t)),onRemoveTrack:t[18]||(t[18]=t=>e.$emit("remove-from-playlist",t)),onInfo:t[19]||(t[19]=t=>e.$emit("info",t)),onPlaylistAdd:t[20]||(t[20]=t=>e.$emit("playlist-add",t)),onAddToPlaylist:Y.openAddToPlaylist,onTrackMove:t[21]||(t[21]=t=>e.$emit("playlist-track-move",t)),onSearch:Y.search,onToggleNav:t[22]||(t[22]=e=>U.navVisible=!U.navVisible),onRefreshStatus:Y.refreshStatus,onSelectDevice:Y.selectDevice},null,8,["playlists","loading","devices","selected-device","active-device","edited-playlist","tracks","show-nav-button","onAddToPlaylist","onSearch","onRefreshStatus","onSelectDevice"])):"search"===U.selectedView?((0,l.wg)(),(0,l.j4)(ee,{key:2,loading:s.loading,results:s.searchResults,devices:s.devices,"selected-device":s.selectedDevice,"active-device":s.activeDevice,"show-nav-button":!U.navVisible,onSearch:Y.search,onClear:t[23]||(t[23]=t=>e.$emit("search-clear")),onInfo:t[24]||(t[24]=t=>e.$emit("info",t)),onPlay:t[25]||(t[25]=t=>e.$emit("play",t)),onLoad:t[26]||(t[26]=t=>e.$emit("add-to-tracklist",t)),onAddToPlaylist:Y.openAddToPlaylist,onRefreshStatus:Y.refreshStatus,onToggleNav:t[27]||(t[27]=e=>U.navVisible=!U.navVisible),onSelectDevice:Y.selectDevice},null,8,["loading","results","devices","selected-device","active-device","show-nav-button","onSearch","onAddToPlaylist","onRefreshStatus","onSelectDevice"])):"library"===U.selectedView?((0,l.wg)(),(0,l.j4)(te,{key:3,loading:s.loading,results:s.libraryResults,path:s.path,devices:s.devices,"selected-device":s.selectedDevice,"active-device":s.activeDevice,"show-nav-button":!U.navVisible,onSearch:Y.search,onClear:t[28]||(t[28]=t=>e.$emit("search-clear")),onInfo:t[29]||(t[29]=t=>e.$emit("info",t)),onPlay:t[30]||(t[30]=t=>e.$emit("play",t)),onLoad:t[31]||(t[31]=t=>e.$emit("add-to-tracklist",t)),onAddToPlaylist:Y.openAddToPlaylist,onCd:t[32]||(t[32]=t=>e.$emit("cd",t)),onToggleNav:t[33]||(t[33]=e=>U.navVisible=!U.navVisible),onRefreshStatus:Y.refreshStatus,onSelectDevice:Y.selectDevice},null,8,["loading","results","path","devices","selected-device","active-device","show-nav-button","onSearch","onAddToPlaylist","onRefreshStatus","onSelectDevice"])):(0,l.kq)("",!0)])])])),_:1},8,["plugin-name","status","track","onSearch"])),(0,l._)("div",d,[(0,l.Wm)(le,{title:"Track info",ref:"trackInfo"},{default:(0,l.w5)((()=>[s.trackInfo?((0,l.wg)(),(0,l.iD)("div",u,[s.trackInfo.file?((0,l.wg)(),(0,l.iD)("div",h,[k,(0,l._)("div",{class:"col-9 value",textContent:(0,a.zw)(s.trackInfo.file)},null,8,p)])):(0,l.kq)("",!0),s.trackInfo.artist?((0,l.wg)(),(0,l.iD)("div",y,[m,(0,l._)("div",f,[(0,l._)("a",{href:e.$route.fullPath,textContent:(0,a.zw)(s.trackInfo.artist),onClick:t[44]||(t[44]=(0,i.iM)((e=>Y.search({artist:s.trackInfo.artist})),["prevent"]))},null,8,v)])])):(0,l.kq)("",!0),s.trackInfo.title?((0,l.wg)(),(0,l.iD)("div",g,[w,(0,l._)("div",{class:"col-9 value",textContent:(0,a.zw)(s.trackInfo.title)},null,8,C)])):(0,l.kq)("",!0),s.trackInfo.album?((0,l.wg)(),(0,l.iD)("div",b,[_,(0,l._)("div",D,[(0,l._)("a",{href:e.$route.fullPath,textContent:(0,a.zw)(s.trackInfo.album),onClick:t[45]||(t[45]=(0,i.iM)((e=>Y.search({artist:s.trackInfo.artist,album:s.trackInfo.album})),["prevent"]))},null,8,T)])])):(0,l.kq)("",!0),s.trackInfo.date?((0,l.wg)(),(0,l.iD)("div",x,[$,(0,l._)("div",{class:"col-9 value",textContent:(0,a.zw)(s.trackInfo.date)},null,8,P)])):(0,l.kq)("",!0),s.trackInfo.time?((0,l.wg)(),(0,l.iD)("div",S,[A,(0,l._)("div",{class:"col-9 value",textContent:(0,a.zw)(e.convertTime(s.trackInfo.time))},null,8,I)])):(0,l.kq)("",!0),s.trackInfo.track?((0,l.wg)(),(0,l.iD)("div",R,[q,(0,l._)("div",{class:"col-9 value",textContent:(0,a.zw)(s.trackInfo.track)},null,8,M)])):(0,l.kq)("",!0),s.trackInfo.disc?((0,l.wg)(),(0,l.iD)("div",V,[L,(0,l._)("div",{class:"col-9 value",textContent:(0,a.zw)(s.trackInfo.disc)},null,8,W)])):(0,l.kq)("",!0),s.trackInfo.url?((0,l.wg)(),(0,l.iD)("div",N,[j,(0,l._)("div",z,[(0,l._)("a",{href:s.trackInfo.url,textContent:(0,a.zw)(s.trackInfo.uri||s.trackInfo.url),target:"_blank"},null,8,E)])])):(0,l.kq)("",!0)])):(0,l.kq)("",!0)])),_:1},512)]),(0,l._)("div",O,[(0,l.Wm)(le,{title:"Playlists",ref:"playlistsModal",onClose:t[48]||(t[48]=e=>U.addToPlaylistTrack=null),onOpen:t[49]||(t[49]=e=>U.selectedPlaylists=[...Array(s.playlists.length).keys()].map((()=>!1)))},{default:(0,l.w5)((()=>[(0,l._)("div",F,[(0,l._)("label",null,[(0,l.wy)((0,l._)("input",{type:"search",placeholder:"Filter","onUpdate:modelValue":t[46]||(t[46]=e=>U.playlistFilter=e)},null,512),[[i.nr,U.playlistFilter]])])]),(0,l._)("div",Z,[((0,l.wg)(!0),(0,l.iD)(l.HY,null,(0,l.Ko)(s.playlists,((e,t)=>((0,l.wg)(),(0,l.iD)("label",{class:(0,a.C_)(["row playlist",{hidden:U.playlistFilter?.length>0&&e.name.toLowerCase().indexOf(U.playlistFilter.toLowerCase())<0}]),key:t},[(0,l._)("input",{type:"checkbox",checked:U.selectedPlaylists[t],onChange:e=>U.selectedPlaylists[t]=e.target.checked},null,40,B),(0,l._)("span",{class:"name",textContent:(0,a.zw)(e.name)},null,8,H)],2)))),128))]),(0,l.Wm)(ae,null,{default:(0,l.w5)((()=>[(0,l._)("button",{onClick:t[47]||(t[47]=(...e)=>Y.addToPlaylist&&Y.addToPlaylist(...e))},[K,(0,l.Uk)("   Add ")])])),_:1})])),_:1},512)])],64)}const Y={class:"form-footer"};function Q(e,t,s,a,i,n){return(0,l.wg)(),(0,l.iD)("div",Y,[(0,l.WI)(e.$slots,"default",{},void 0,!0)])}var G={name:"FormFooter"},J=s(3744);const X=(0,J.Z)(G,[["render",Q],["__scopeId","data-v-2495ce8a"]]);var ee=X,te=s(6791),se=s(3493),le=s(1065),ae=s(1420);const ie=e=>((0,l.dD)("data-v-0896abbc"),e=e(),(0,l.Cn)(),e),ne=ie((()=>(0,l._)("i",{class:"fa fa-bars"},null,-1))),ce=[ne],oe=["title","onClick"];function re(e,t,s,i,n,c){return(0,l.wg)(),(0,l.iD)("nav",null,[(0,l._)("button",{class:"menu-button mobile",onClick:t[0]||(t[0]=t=>e.$emit("toggle"))},ce),((0,l.wg)(!0),(0,l.iD)(l.HY,null,(0,l.Ko)(s.views,((t,i)=>((0,l.wg)(),(0,l.iD)("li",{key:i,title:t.displayName,class:(0,a.C_)({selected:i===s.selectedView}),onClick:t=>e.$emit("input",i)},[(0,l._)("i",{class:(0,a.C_)(t.iconClass)},null,2)],10,oe)))),128))])}var de={name:"Nav",emits:["input","toggle"],props:{selectedView:{type:String},collapsed:{type:Boolean,default:!1},views:{type:Object,default:()=>({playing:{iconClass:"fas fa-play",displayName:"Queue"},search:{iconClass:"fas fa-search",displayName:"Search"},playlists:{iconClass:"fas fa-list-ul",displayName:"Playlists"},library:{iconClass:"fas fa-compact-disc",displayName:"Library"}})}}};const ue=(0,J.Z)(de,[["render",re],["__scopeId","data-v-0896abbc"]]);var he=ue;const ke=e=>((0,l.dD)("data-v-ff0291de"),e=e(),(0,l.Cn)(),e),pe={key:1,class:"playlist fade-in"},ye={class:"header-container"},me={class:"col-7 filter"},fe={class:"col-5 buttons"},ve=ke((()=>(0,l._)("i",{class:"fas fa-bars"},null,-1))),ge=[ve],we={key:0,class:"no-content"},Ce=["onDragstart","onDragend","onDragover","set","data-index","onClick","onDblclick"],be={class:"col-10"},_e={class:"title"},De={key:0,class:"artist"},Te=["href","textContent"],xe={key:1,class:"album"},$e=["href","textContent"],Pe={class:"col-2 right-side"},Se=["textContent"],Ae={class:"actions"};function Ie(e,t,s,n,c,o){const r=(0,l.up)("Loading"),d=(0,l.up)("DropdownItem"),u=(0,l.up)("Dropdown"),h=(0,l.up)("MusicHeader");return s.loading?((0,l.wg)(),(0,l.j4)(r,{key:0})):((0,l.wg)(),(0,l.iD)("div",pe,[(0,l._)("div",ye,[(0,l.Wm)(h,{ref:"header"},{default:(0,l.w5)((()=>[(0,l._)("div",me,[(0,l._)("label",null,[(0,l.wy)((0,l._)("input",{type:"search",placeholder:"Filter","onUpdate:modelValue":t[0]||(t[0]=e=>c.filter=e)},null,512),[[i.nr,c.filter]])])]),(0,l._)("div",fe,[s.showNavButton?((0,l.wg)(),(0,l.iD)("button",{key:0,class:"mobile",title:"Menu",onClick:t[1]||(t[1]=t=>e.$emit("toggle-nav"))},ge)):(0,l.kq)("",!0),(0,l.Wm)(u,{title:"Actions","icon-class":"fa fa-ellipsis-h"},{default:(0,l.w5)((()=>[(0,l.Wm)(d,{text:"Add track","icon-class":"fa fa-plus",onClick:o.addTrack},null,8,["onClick"]),null!=s.devices?((0,l.wg)(),(0,l.j4)(d,{key:0,text:"Refresh status","icon-class":"fa fa-sync",onClick:t[2]||(t[2]=t=>e.$emit("refresh-status"))})):(0,l.kq)("",!0),(0,l.Wm)(d,{text:"Save as playlist","icon-class":"fa fa-save",disabled:!s.tracks?.length,onClick:o.playlistSave},null,8,["disabled","onClick"]),2===c.selectedTracks?.length?((0,l.wg)(),(0,l.j4)(d,{key:1,text:"Swap tracks","icon-class":"fa fa-retweet",onClick:t[3]||(t[3]=t=>e.$emit("swap",c.selectedTracks))})):(0,l.kq)("",!0),(0,l.Wm)(d,{text:c.selectionMode?"End selection":"Start selection","icon-class":"far fa-check-square",disabled:!s.tracks?.length,onClick:t[4]||(t[4]=e=>c.selectionMode=!c.selectionMode)},null,8,["text","disabled"]),(0,l.Wm)(d,{text:c.selectedTracks?.length===s.tracks?.length?"Unselect all":"Select all","icon-class":"fa fa-check-double",disabled:!s.tracks?.length,onClick:t[5]||(t[5]=e=>c.selectedTracks=c.selectedTracks.length===s.tracks.length?[]:[...Array(s.tracks.length).keys()])},null,8,["text","disabled"]),c.selectedTracks.length>0?((0,l.wg)(),(0,l.j4)(d,{key:2,text:"Remove track"+(c.selectedTracks.length>1?"s":""),"icon-class":"fa fa-trash",onClick:t[6]||(t[6]=t=>e.$emit("remove",[...new Set(c.selectedTracks)]))},null,8,["text"])):(0,l.kq)("",!0),(0,l.Wm)(d,{text:"Clear playlist","icon-class":"fa fa-ban",disabled:!s.tracks?.length,onClick:t[7]||(t[7]=t=>e.$emit("clear"))},null,8,["disabled"])])),_:1}),Object.keys(s.devices||{}).length?((0,l.wg)(),(0,l.j4)(u,{key:1,title:"Players","icon-class":"fa fa-volume-up"},{default:(0,l.w5)((()=>[((0,l.wg)(!0),(0,l.iD)(l.HY,null,(0,l.Ko)(s.devices,((t,i)=>((0,l.wg)(),(0,l.j4)(d,{key:i,textContent:(0,a.zw)(t.name),"item-class":{active:s.activeDevice===i,selected:s.selectedDevice===i},"icon-class":"fa fa-volume-up",onClick:t=>e.$emit("select-device",i)},null,8,["textContent","item-class","onClick"])))),128))])),_:1})):(0,l.kq)("",!0)])])),_:1},512)]),(0,l._)("div",{class:"body",ref:"body",onScroll:t[11]||(t[11]=(...e)=>o.onScroll&&o.onScroll(...e))},[s.tracks?.length?(0,l.kq)("",!0):((0,l.wg)(),(0,l.iD)("div",we," No tracks are loaded ")),((0,l.wg)(!0),(0,l.iD)(l.HY,null,(0,l.Ko)(o.displayedTrackIndices,(n=>((0,l.wg)(),(0,l.iD)("div",{class:(0,a.C_)(["row track",o.trackClass(n)]),onDragstart:e=>o.onTrackDragStart(n),onDragend:e=>o.onTrackDragEnd(n),onDragover:e=>o.onTrackDragOver(n),draggable:"true",set:e.track=s.tracks[n],key:n,"data-index":n,onClick:e=>o.onTrackClick(e,n),onDblclick:t=>e.$emit("play",{pos:n})},[(0,l._)("div",be,[(0,l._)("div",_e,[(0,l.Uk)((0,a.zw)(e.track.title||"[No Title]")+" ",1),s.status?.playingPos!==n||"play"!==s.status?.state&&"pause"!==s.status?.state?(0,l.kq)("",!0):((0,l.wg)(),(0,l.iD)("div",{key:0,class:(0,a.C_)(["playing-icon",{paused:"pause"===s.status?.state}])},[((0,l.wg)(!0),(0,l.iD)(l.HY,null,(0,l.Ko)([...Array(3).keys()],(e=>((0,l.wg)(),(0,l.iD)("span",{key:e})))),128))],2))]),e.track.artist?((0,l.wg)(),(0,l.iD)("div",De,[(0,l._)("a",{href:e.$route.fullPath,textContent:(0,a.zw)(e.track.artist),onClick:t[8]||(t[8]=(0,i.iM)((t=>e.$emit("search",{artist:e.track.artist})),["prevent"]))},null,8,Te)])):(0,l.kq)("",!0),e.track.album?((0,l.wg)(),(0,l.iD)("div",xe,[(0,l._)("a",{href:e.$route.fullPath,textContent:(0,a.zw)(e.track.album),onClick:t[9]||(t[9]=(0,i.iM)((t=>e.$emit("search",{artist:e.track.artist,album:e.track.album})),["prevent"]))},null,8,$e)])):(0,l.kq)("",!0)]),(0,l._)("div",Pe,[(0,l._)("span",{class:"duration",textContent:(0,a.zw)(e.track.time?e.convertTime(e.track.time):"-:--")},null,8,Se),(0,l._)("span",Ae,[(0,l.Wm)(u,{title:"Actions","icon-class":"fa fa-ellipsis-h"},{default:(0,l.w5)((()=>[(0,l.Wm)(d,{text:"Play","icon-class":"fa fa-play",onClick:t=>e.$emit("play",{pos:n})},null,8,["onClick"]),(0,l.Wm)(d,{text:"Add to playlist","icon-class":"fa fa-list-ul",onClick:t[10]||(t[10]=t=>e.$emit("add-to-playlist",e.track))}),(0,l.Wm)(d,{text:"Remove","icon-class":"fa fa-trash",onClick:t=>e.$emit("remove",[...new Set([...c.selectedTracks,n])])},null,8,["onClick"]),(0,l.Wm)(d,{text:"Info","icon-class":"fa fa-info",onClick:t=>e.$emit("info",s.tracks[n])},null,8,["onClick"])])),_:2},1024)])])],42,Ce)))),128))],544)]))}s(7658);const Re={class:"header"};function qe(e,t,s,a,i,n){return(0,l.wg)(),(0,l.iD)("div",Re,[(0,l.WI)(e.$slots,"default",{},void 0,!0)])}var Me={name:"Header"};const Ve=(0,J.Z)(Me,[["render",qe],["__scopeId","data-v-7e4bd102"]]);var Le=Ve,We=s(2787),Ne=s(815),je={name:"Playlist",mixins:[le.Z],components:{DropdownItem:Ne.Z,Dropdown:We.Z,MusicHeader:Le,Loading:te.Z},emits:["add","clear","info","move","play","refresh-status","remove","save","search","select-device","swap","toggle-nav"],props:{tracks:{type:Array,default:()=>[]},loading:{type:Boolean,default:!1},status:{type:Object,default:()=>{}},devices:{type:Object},selectedDevice:{type:String},activeDevice:{type:String},maxVisibleTracks:{type:Number,default:100},showNavButton:{type:Boolean,default:!1}},data(){return{selectionMode:!1,selectedTracks:[],filter:"",infoTrack:null,sourcePos:null,targetPos:null,centerPos:0,mounted:!1,scrollTimeout:null}},computed:{selectedTracksSet(){return new Set(this.selectedTracks)},trackIndicesByToken(){const e={};return this.tracks.forEach(((t,s)=>{const l=[t?.artist,t?.album,t?.title].filter((e=>e?.trim()?.length)).map((e=>e.trim().toLowerCase())).join(" ");e[l]||(e[l]=new Set),e[l].add(s)})),e},displayedTrackIndices(){let e=[...Array(this.tracks.length).keys()];if(this.filter?.length){const t=this.filter?.trim()?.replace(/\s+/g," ").toLowerCase(),s=new Set;Object.entries(this.trackIndicesByToken).forEach((([e,l])=>{e.indexOf(t)<0||s.add(...l)})),e=[...s],e.sort()}if(e.length>this.maxVisibleTracks){const t=Math.max(0,this.centerPos-Math.floor(this.maxVisibleTracks/2));e=e.slice(t,t+this.maxVisibleTracks)}return e}},methods:{onTrackClick(e,t){if(e.shiftKey){const e=this.selectedTracks.sort();e.length?t<e[0]?this.selectedTracks=[...this.selectedTracks,...[...Array(e[0]-t).keys()].map((e=>e+t))]:t>e[e.length-1]&&(this.selectedTracks=[...this.selectedTracks,...[...Array(t-e[e.length-1]+1).keys()].map((t=>t+e[e.length-1]))]):this.selectedTracks=[t]}else{const s=this.selectedTracks.indexOf(t);this.selectionMode||e.ctrlKey?s>=0?this.selectedTracks.splice(s,1):this.selectedTracks.push(t):this.selectedTracks=s>=0?[]:[t]}},trackClass(e){return{selected:this.selectedTracksSet.has(e),active:this.status?.playingPos===e}},addTrack(){const e=prompt("Item path or URL");e?.length&&this.$emit("add",e)},onTrackDragStart(e){this.sourcePos=e},onTrackDragEnd(){this.$refs.body.querySelectorAll(".track").forEach((e=>e.classList.remove("dragover"))),null!=this.sourcePos&&null!=this.targetPos&&this.sourcePos!==this.targetPos&&(this.$emit("move",{from:this.sourcePos,to:this.targetPos}),this.sourcePos=null,this.targetPos=null)},onTrackDragOver(e){this.targetPos=e;const t=this.$refs.body.querySelectorAll(".track");t.forEach((e=>e.classList.remove("dragover"))),[...t][e].classList.add("dragover")},onScroll(){const e=this.$refs.body.scrollTop,t=parseFloat(getComputedStyle(this.$refs.body).height),s=this.$refs.body.scrollHeight;if(e<5){if(this.scrollTimeout)return;this.scrollTimeout=setTimeout((()=>{this.centerPos=Math.max(0,parseInt(this.centerPos-this.maxVisibleTracks/1.5)),this.$refs.body.scrollTop=6,this.scrollTimeout=null}),250)}else if(e>=s-t-5){if(this.scrollTimeout)return;this.scrollTimeout=setTimeout((()=>{this.centerPos=Math.min(this.tracks.length-1,parseInt(this.centerPos+this.maxVisibleTracks/1.5)),this.scrollTimeout=null}),250)}},playlistSave(){const e=prompt("Playlist name");e?.length&&this.$emit("save",e)},scrollToTrack(e){this.centerPos=e||this.status?.playingPos||0,this.$nextTick((()=>{this.$refs.body?([...this.$refs.body.querySelectorAll(".track")].filter((e=>e.classList.contains("active"))).forEach((e=>e.scrollIntoView({block:"center",behavior:"smooth"}))),this.mounted=!0):this.$watch((()=>this.$refs.body),(()=>{this.mounted||this.scrollToTrack(e)}))}))}},mounted(){this.scrollToTrack(),this.$watch((()=>this.status),(()=>this.scrollToTrack())),this.$watch((()=>this.filter),(e=>{e?.length||this.scrollToTrack()}))}};const ze=(0,J.Z)(je,[["render",Ie],["__scopeId","data-v-ff0291de"]]);var Ee=ze;const Oe=e=>((0,l.dD)("data-v-84a2dd8c"),e=e(),(0,l.Cn)(),e),Fe={key:1,class:"editor-container fade-in"},Ze={class:"header-container"},Be={class:"col-8 filter"},He=Oe((()=>(0,l._)("i",{class:"fas fa-arrow-left"},null,-1))),Ke=[He],Ue={class:"search-box"},Ye={class:"col-4 buttons pull-right"},Qe=Oe((()=>(0,l._)("i",{class:"fas fa-bars"},null,-1))),Ge=[Qe],Je={class:"editor",ref:"editor"},Xe={key:0,class:"no-content"},et=["onDragstart","onDragend","onDragover","onClick","onDblclick"],tt={class:"col-10"},st={class:"title"},lt={key:0,class:"artist"},at=["href","textContent","onClick"],it={key:1,class:"album"},nt=["href","textContent","onClick"],ct={class:"col-2 right-side"},ot=["textContent"],rt={class:"actions"},dt={key:2,class:"playlists fade-in"},ut={class:"header-container"},ht={class:"col-7 filter"},kt={class:"col-5 buttons"},pt=Oe((()=>(0,l._)("i",{class:"fa fa-sync"},null,-1))),yt=[pt],mt=Oe((()=>(0,l._)("i",{class:"fas fa-bars"},null,-1))),ft=[mt],vt={class:"body",ref:"body"},gt={key:0,class:"no-content"},wt=["onClick","onDblclick"],Ct={class:"col-10"},bt=["textContent"],_t={class:"col-2 right-side"},Dt={class:"actions"};function Tt(e,t,s,n,c,o){const r=(0,l.up)("Loading"),d=(0,l.up)("DropdownItem"),u=(0,l.up)("Dropdown"),h=(0,l.up)("MusicHeader");return s.loading?((0,l.wg)(),(0,l.j4)(r,{key:0})):null!=s.editedPlaylist?((0,l.wg)(),(0,l.iD)("div",Fe,[(0,l._)("div",Ze,[(0,l.Wm)(h,{ref:"header"},{default:(0,l.w5)((()=>[(0,l._)("div",Be,[(0,l._)("button",{class:"back-btn",title:"Back",onClick:t[0]||(t[0]=t=>e.$emit("playlist-edit",null))},Ke),(0,l._)("label",Ue,[(0,l.wy)((0,l._)("input",{type:"search",placeholder:"Filter","onUpdate:modelValue":t[1]||(t[1]=e=>c.trackFilter=e)},null,512),[[i.nr,c.trackFilter]])])]),(0,l._)("div",Ye,[Object.keys(s.devices||{}).length?((0,l.wg)(),(0,l.j4)(u,{key:0,title:"Players","icon-class":"fa fa-volume-up"},{default:(0,l.w5)((()=>[((0,l.wg)(!0),(0,l.iD)(l.HY,null,(0,l.Ko)(s.devices,((t,i)=>((0,l.wg)(),(0,l.j4)(d,{key:i,textContent:(0,a.zw)(t.name),"item-class":{active:s.activeDevice===i,selected:s.selectedDevice===i},"icon-class":"fa fa-volume-up",onClick:t=>e.$emit("select-device",i)},null,8,["textContent","item-class","onClick"])))),128))])),_:1})):(0,l.kq)("",!0),(0,l.Wm)(u,{title:"Actions","icon-class":"fa fa-ellipsis-h"},{default:(0,l.w5)((()=>[(0,l.Wm)(d,{text:"Add track","icon-class":"fa fa-plus",onClick:o.addTrack},null,8,["onClick"]),null!=s.devices?((0,l.wg)(),(0,l.j4)(d,{key:0,text:"Refresh status","icon-class":"fa fa-sync",onClick:t[2]||(t[2]=t=>e.$emit("refresh-status"))})):(0,l.kq)("",!0)])),_:1}),s.showNavButton?((0,l.wg)(),(0,l.iD)("button",{key:1,class:"mobile",title:"Menu",onClick:t[3]||(t[3]=t=>e.$emit("toggle-nav"))},Ge)):(0,l.kq)("",!0)])])),_:1},512)]),(0,l._)("div",Je,[s.tracks?.length?(0,l.kq)("",!0):((0,l.wg)(),(0,l.iD)("div",Xe," No tracks found ")),((0,l.wg)(!0),(0,l.iD)(l.HY,null,(0,l.Ko)(s.tracks,((t,n)=>((0,l.wg)(),(0,l.iD)("div",{class:(0,a.C_)(["row track",{selected:o.selectedTracksSet.has(n),active:e.status?.playingPos===n,hidden:!o.displayedTracks.has(n)}]),draggable:"true",key:n,onDragstart:e=>o.onTrackDragStart(n),onDragend:e=>o.onTrackDragEnd(n),onDragover:e=>o.onTrackDragOver(n),onClick:e=>o.onTrackClick(e,n),onDblclick:t=>e.$emit("load-track",{pos:n,play:!0})},[(0,l._)("div",tt,[(0,l._)("div",st,(0,a.zw)(t.title||"[No Title]"),1),t.artist?((0,l.wg)(),(0,l.iD)("div",lt,[(0,l._)("a",{href:e.$route.fullPath,textContent:(0,a.zw)(t.artist),onClick:(0,i.iM)((s=>e.$emit("search",{artist:t.artist})),["prevent"])},null,8,at)])):(0,l.kq)("",!0),t.album?((0,l.wg)(),(0,l.iD)("div",it,[(0,l._)("a",{href:e.$route.fullPath,textContent:(0,a.zw)(t.album),onClick:(0,i.iM)((s=>e.$emit("search",{artist:t.artist,album:t.album})),["prevent"])},null,8,nt)])):(0,l.kq)("",!0)]),(0,l._)("div",ct,[(0,l._)("span",{class:"duration",textContent:(0,a.zw)(t.time?e.convertTime(t.time):"-:--")},null,8,ot),(0,l._)("span",rt,[(0,l.Wm)(u,{title:"Actions","icon-class":"fa fa-ellipsis-h"},{default:(0,l.w5)((()=>[(0,l.Wm)(d,{text:"Play","icon-class":"fa fa-play",onClick:t=>e.$emit("load-track",{pos:n,play:!0})},null,8,["onClick"]),(0,l.Wm)(d,{text:"Add to queue","icon-class":"fa fa-plus",onClick:t=>e.$emit("load-track",{pos:n,play:!1})},null,8,["onClick"]),(0,l.Wm)(d,{text:"Add to playlist","icon-class":"fa fa-list-ul",onClick:s=>e.$emit("add-to-playlist",t)},null,8,["onClick"]),(0,l.Wm)(d,{text:"Remove","icon-class":"fa fa-trash",onClick:t=>e.$emit("remove-track",[...new Set([...c.selectedTracks,n])])},null,8,["onClick"]),(0,l.Wm)(d,{text:"Info","icon-class":"fa fa-info",onClick:(0,i.iM)((t=>e.$emit("info",s.tracks[n])),["stop"])},null,8,["onClick"])])),_:2},1024)])])],42,et)))),128))],512)])):((0,l.wg)(),(0,l.iD)("div",dt,[(0,l._)("div",ut,[(0,l.Wm)(h,{ref:"header"},{default:(0,l.w5)((()=>[(0,l._)("div",ht,[(0,l._)("label",null,[(0,l.wy)((0,l._)("input",{type:"search",placeholder:"Filter","onUpdate:modelValue":t[4]||(t[4]=e=>c.filter=e)},null,512),[[i.nr,c.filter]])])]),(0,l._)("div",kt,[Object.keys(s.devices||{}).length?((0,l.wg)(),(0,l.j4)(u,{key:0,title:"Players","icon-class":"fa fa-volume-up"},{default:(0,l.w5)((()=>[((0,l.wg)(!0),(0,l.iD)(l.HY,null,(0,l.Ko)(s.devices,((t,i)=>((0,l.wg)(),(0,l.j4)(d,{key:i,textContent:(0,a.zw)(t.name),"item-class":{active:s.activeDevice===i,selected:s.selectedDevice===i},"icon-class":"fa fa-volume-up",onClick:t=>e.$emit("select-device",i)},null,8,["textContent","item-class","onClick"])))),128))])),_:1})):(0,l.kq)("",!0),null!=s.devices?((0,l.wg)(),(0,l.iD)("button",{key:1,title:"Refresh status",onClick:t[5]||(t[5]=t=>e.$emit("refresh-status"))},yt)):(0,l.kq)("",!0),s.showNavButton?((0,l.wg)(),(0,l.iD)("button",{key:2,class:"mobile",title:"Menu",onClick:t[6]||(t[6]=t=>e.$emit("toggle-nav"))},ft)):(0,l.kq)("",!0)])])),_:1},512)]),(0,l._)("div",vt,[s.playlists?.length?(0,l.kq)("",!0):((0,l.wg)(),(0,l.iD)("div",gt," No playlists found ")),((0,l.wg)(!0),(0,l.iD)(l.HY,null,(0,l.Ko)(s.playlists,((t,s)=>((0,l.wg)(),(0,l.iD)("div",{class:(0,a.C_)(["row playlist",{hidden:!o.displayedPlaylists.has(s)}]),key:s,onClick:t=>e.$emit("playlist-edit",s),onDblclick:t=>e.$emit("load",s)},[(0,l._)("div",Ct,[(0,l._)("div",{class:"name",textContent:(0,a.zw)(t.name||"[No Name]")},null,8,bt)]),(0,l._)("div",_t,[(0,l._)("span",Dt,[(0,l.Wm)(u,{title:"Actions","icon-class":"fa fa-ellipsis-h"},{default:(0,l.w5)((()=>[(0,l.Wm)(d,{text:"Play","icon-class":"fa fa-play",onClick:(0,i.iM)((t=>e.$emit("play",s)),["stop"])},null,8,["onClick"]),(0,l.Wm)(d,{text:"Load","icon-class":"fa fa-list-ul",onClick:(0,i.iM)((t=>e.$emit("load",s)),["stop"])},null,8,["onClick"]),(0,l.Wm)(d,{text:"Edit","icon-class":"fa fa-edit",onClick:(0,i.iM)((t=>e.$emit("playlist-edit",s)),["stop"])},null,8,["onClick"]),(0,l.Wm)(d,{text:"Remove","icon-class":"fa fa-trash",onClick:(0,i.iM)((t=>e.$emit("remove",s)),["stop"])},null,8,["onClick"])])),_:2},1024)])])],42,wt)))),128))],512)]))}var xt={name:"Playlists",mixins:[le.Z],components:{DropdownItem:Ne.Z,Dropdown:We.Z,MusicHeader:Le,Loading:te.Z},emits:["play","load","remove","playlist-edit","search","remove-track","load-track","info","playlist-add","add-to-playlist","track-move","refresh-status","select-device"],props:{playlists:{type:Array,default:()=>[]},loading:{type:Boolean,default:!1},tracks:{type:Array,default:()=>[]},editedPlaylist:{type:Number},devices:{type:Object},selectedDevice:{type:String},activeDevice:{type:String},showNavButton:{type:Boolean,default:!1}},data(){return{selectedTracks:[],filter:"",trackFilter:"",sourcePos:null,targetPos:null}},computed:{selectedTracksSet(){return new Set(this.selectedTracks)},displayedPlaylists(){const e=[...Array(this.playlists.length).keys()];if(!this.filter?.length)return new Set(e);const t=this,s=(t.filter||"").toLowerCase();return new Set(e.filter((e=>{const t=this.playlists[e];return(t?.name||"").toLowerCase().indexOf(s)>=0})))},displayedTracks(){const e=[...Array(this.tracks.length).keys()];if(!this.trackFilter?.length)return new Set(e);const t=this,s=(t.trackFilter||"").toLowerCase();return new Set(e.filter((e=>{const t=this.tracks[e];return(t?.artist||"").toLowerCase().indexOf(s)>=0||(t?.title||"").toLowerCase().indexOf(s)>=0||(t?.album||"").toLowerCase().indexOf(s)>=0})))}},methods:{onTrackClick(e,t){if(e.shiftKey){const e=this.selectedTracks.sort();e.length?t<e[0]?this.selectedTracks=[...this.selectedTracks,...[...Array(e[0]-t).keys()].map((e=>e+t))]:t>e[e.length-1]&&(this.selectedTracks=[...this.selectedTracks,...[...Array(t-e[e.length-1]+1).keys()].map((t=>t+e[e.length-1]))]):this.selectedTracks=[t]}else{const s=this.selectedTracks.indexOf(t);e.ctrlKey?s>=0?this.selectedTracks.splice(s,1):this.selectedTracks.push(t):this.selectedTracks=s>=0?[]:[t]}},addTrack(){const e=prompt("Track path or URL");e?.length&&this.$emit("playlist-add",e)},onTrackDragStart(e){this.sourcePos=e},onTrackDragEnd(){this.$refs.editor.querySelectorAll(".track").forEach((e=>e.classList.remove("dragover"))),null!=this.sourcePos&&null!=this.targetPos&&this.sourcePos!==this.targetPos&&(this.$emit("track-move",{from:this.sourcePos,to:this.targetPos,playlist:this.editedPlaylist}),this.sourcePos=null,this.targetPos=null)},onTrackDragOver(e){this.targetPos=e;const t=this.$refs.editor.querySelectorAll(".track");t.forEach((e=>e.classList.remove("dragover"))),[...t][e].classList.add("dragover")}}};const $t=(0,J.Z)(xt,[["render",Tt],["__scopeId","data-v-84a2dd8c"]]);var Pt=$t;const St=e=>((0,l.dD)("data-v-6596df38"),e=e(),(0,l.Cn)(),e),At=St((()=>(0,l._)("i",{class:"fas fa-bars"},null,-1))),It=[At],Rt={class:"search-form"},qt={class:"row"},Mt={class:"row"},Vt={class:"row"},Lt={class:"row"},Wt=St((()=>(0,l._)("i",{class:"icon fa fa-times"},null,-1))),Nt=St((()=>(0,l._)("span",{class:"btn-title"},"Clear",-1))),jt=[Wt,Nt],zt=St((()=>(0,l._)("button",{type:"submit"},[(0,l._)("i",{class:"icon fa fa-search"}),(0,l._)("span",{class:"btn-title"},"Search")],-1))),Et={class:"col-10 search-box"},Ot=St((()=>(0,l._)("i",{class:"fas fa-arrow-left"},null,-1))),Ft=[Ot],Zt={class:"col-2 buttons"},Bt=St((()=>(0,l._)("i",{class:"fas fa-bars"},null,-1))),Ht=[Bt],Kt={class:"results"},Ut=["onClick"],Yt={class:"col-10"},Qt={class:"title"},Gt=["textContent"],Jt=["textContent"],Xt={class:"col-2 right-side"},es=["textContent"],ts={class:"actions"};function ss(e,t,s,n,c,o){const r=(0,l.up)("FormFooter"),d=(0,l.up)("MusicHeader"),u=(0,l.up)("DropdownItem"),h=(0,l.up)("Dropdown");return(0,l.wg)(),(0,l.iD)("div",{class:(0,a.C_)(["search fade-in",{"form-collapsed":o.formCollapsed}])},[s.showNavButton&&!o.formCollapsed?((0,l.wg)(),(0,l.iD)("button",{key:0,class:"nav-toggler mobile floating",title:"Menu",onClick:t[0]||(t[0]=t=>e.$emit("toggle-nav"))},It)):(0,l.kq)("",!0),o.formCollapsed?((0,l.wg)(),(0,l.j4)(d,{key:2},{default:(0,l.w5)((()=>[(0,l._)("label",Et,[(0,l._)("button",{class:"back-btn",title:"Back",onClick:t[7]||(t[7]=(...e)=>o.clear&&o.clear(...e))},Ft),(0,l.wy)((0,l._)("input",{type:"search",placeholder:"Filter","onUpdate:modelValue":t[8]||(t[8]=e=>c.filter=e)},null,512),[[i.nr,c.filter]])]),(0,l._)("span",Zt,[s.showNavButton?((0,l.wg)(),(0,l.iD)("button",{key:0,class:"mobile",title:"Menu",onClick:t[9]||(t[9]=t=>e.$emit("toggle-nav"))},Ht)):(0,l.kq)("",!0)])])),_:1})):((0,l.wg)(),(0,l.iD)("div",{key:1,class:"form-container",onSubmit:t[6]||(t[6]=(0,i.iM)((t=>e.$emit("search",o.filteredQuery)),["prevent"]))},[(0,l._)("form",Rt,[(0,l._)("div",qt,[(0,l._)("label",null,[(0,l.wy)((0,l._)("input",{type:"text",placeholder:"Any","onUpdate:modelValue":t[1]||(t[1]=e=>c.query.any=e)},null,512),[[i.nr,c.query.any]])])]),(0,l._)("div",Mt,[(0,l._)("label",null,[(0,l.wy)((0,l._)("input",{type:"text",placeholder:"Artist","onUpdate:modelValue":t[2]||(t[2]=e=>c.query.artist=e)},null,512),[[i.nr,c.query.artist]])])]),(0,l._)("div",Vt,[(0,l._)("label",null,[(0,l.wy)((0,l._)("input",{type:"text",placeholder:"Title","onUpdate:modelValue":t[3]||(t[3]=e=>c.query.title=e)},null,512),[[i.nr,c.query.title]])])]),(0,l._)("div",Lt,[(0,l._)("label",null,[(0,l.wy)((0,l._)("input",{type:"text",placeholder:"Album","onUpdate:modelValue":t[4]||(t[4]=e=>c.query.album=e)},null,512),[[i.nr,c.query.album]])])]),(0,l.Wm)(r,null,{default:(0,l.w5)((()=>[(0,l._)("button",{onClick:t[5]||(t[5]=(...e)=>o.clear&&o.clear(...e))},jt),zt])),_:1})])],32)),(0,l._)("div",Kt,[((0,l.wg)(!0),(0,l.iD)(l.HY,null,(0,l.Ko)(s.results,((t,s)=>((0,l.wg)(),(0,l.iD)("div",{class:(0,a.C_)(["row track",{selected:c.selectedResults.has(s),hidden:!o.displayedTracks.has(s)}]),key:s,onClick:e=>o.resultClick(s,e)},[(0,l._)("div",Yt,[(0,l._)("div",Qt,(0,a.zw)(t.title||"[No Title]"),1),t.artist?.length?((0,l.wg)(),(0,l.iD)("div",{key:0,class:"artist",textContent:(0,a.zw)(t.artist)},null,8,Gt)):(0,l.kq)("",!0),t.album?.length?((0,l.wg)(),(0,l.iD)("div",{key:1,class:"album",textContent:(0,a.zw)(t.album)},null,8,Jt)):(0,l.kq)("",!0)]),(0,l._)("div",Xt,[(0,l._)("span",{class:"duration",textContent:(0,a.zw)(t.time&&parseInt(t.time)?e.convertTime(t.time):"-:--")},null,8,es),(0,l._)("span",ts,[(0,l.Wm)(h,{title:"Actions","icon-class":"fa fa-ellipsis-h"},{default:(0,l.w5)((()=>[(0,l.Wm)(u,{text:"Play","icon-class":"fa fa-play",onClick:e=>o.play(s)},null,8,["onClick"]),(0,l.Wm)(u,{text:"Add to queue","icon-class":"fa fa-plus",onClick:e=>o.load(s)},null,8,["onClick"]),(0,l.Wm)(u,{text:"Add to playlist","icon-class":"fa fa-list-ul",onClick:s=>e.$emit("add-to-playlist",t)},null,8,["onClick"]),(0,l.Wm)(u,{text:"Info","icon-class":"fa fa-info",onClick:s=>e.$emit("info",t)},null,8,["onClick"])])),_:2},1024)])])],10,Ut)))),128))])],2)}var ls={name:"Search",components:{Dropdown:We.Z,DropdownItem:Ne.Z,FormFooter:ee,MusicHeader:Le},mixins:[le.Z],emits:["add-to-playlist","clear","info","load","play","refresh-status","search","select-device","toggle-nav"],props:{loading:{type:Boolean,default:!1},results:{type:Array},devices:{type:Object},selectedDevice:{type:String},activeDevice:{type:String},showNavButton:{type:Boolean,default:!1}},data(){return{selectedResults:new Set,filter:"",query:{any:"",artist:"",title:"",album:""}}},computed:{formCollapsed(){return this.results?.length>0},filteredQuery(){return Object.entries(this.query).filter((e=>e[1]?.length)).reduce(((e,[t,s])=>(e[t]=s,e)),{})},displayedTracks(){return new Set([...Array(this.results?.length||0).keys()].filter((e=>{const t=this.results[e];if(!this.filter?.length)return t;const s=this.filter.toLowerCase();return(t?.artist||"").toLowerCase().indexOf(s)>=0||(t?.title||"").toLowerCase().indexOf(s)>=0||(t?.album||"").toLowerCase().indexOf(s)>=0})))}},methods:{clear(){this.$emit("clear"),this.selectedResults=new Set},resultClick(e,t){if(t.shiftKey){if(this.selectedResults.size>0&&!this.selectedResults.has(e)){const t=[...this.selectedResults],s=Math.min(Math.min(t),e),l=Math.max(Math.max(t),e);this.selectedResults=new Set([...Array(l-s+1).keys()].map((e=>e+s)))}}else t.ctrlKey||(this.selectedResults=new Set),this.selectedResults.has(e)?this.selectedResults.delete(e):this.selectedResults.add(e)},play(e){this.$emit("play",this.results[e]),this.selectedResults.size&&this.selectedResults.forEach((e=>{this.$emit("load",e)}))},load(e){this.selectedResults.has(e)||this.selectedResults.add(e),this.selectedResults.forEach((e=>{this.$emit("load",this.results[e])}))}}};const as=(0,J.Z)(ls,[["render",ss],["__scopeId","data-v-6596df38"]]);var is=as;const ns=e=>((0,l.dD)("data-v-31ebd80c"),e=e(),(0,l.Cn)(),e),cs={class:"library fade-in"},os={class:"col-10 search-box"},rs={class:"col-2 buttons"},ds=ns((()=>(0,l._)("i",{class:"fas fa-bars"},null,-1))),us=[ds],hs={class:"results"},ks=ns((()=>(0,l._)("div",{class:"icon-container"},[(0,l._)("i",{class:"icon fa fa-folder"})],-1))),ps=ns((()=>(0,l._)("div",{class:"result-container"},[(0,l._)("div",{class:"title"},"..")],-1))),ys=[ks,ps],ms=["onClick"],fs={class:"col-10 left-side"},vs={class:"icon-container"},gs={key:0,class:"icon fa fa-folder"},ws={key:1,class:"icon fa fa-music"},Cs={class:"info"},bs={class:"title"},_s=["textContent"],Ds=["textContent"],Ts={class:"artist-album"},xs=["textContent"],$s=["textContent"],Ps={class:"col-2 right-side"},Ss=["textContent"],As={class:"actions"};function Is(e,t,s,n,c,o){const r=(0,l.up)("Loading"),d=(0,l.up)("MusicHeader"),u=(0,l.up)("DropdownItem"),h=(0,l.up)("Dropdown");return(0,l.wg)(),(0,l.iD)("div",cs,[s.loading?((0,l.wg)(),(0,l.j4)(r,{key:0})):(0,l.kq)("",!0),(0,l.Wm)(d,null,{default:(0,l.w5)((()=>[(0,l._)("label",os,[(0,l.wy)((0,l._)("input",{type:"search",placeholder:"Filter","onUpdate:modelValue":t[0]||(t[0]=e=>c.filter=e)},null,512),[[i.nr,c.filter]])]),(0,l._)("div",rs,[s.showNavButton?((0,l.wg)(),(0,l.iD)("button",{key:0,class:"mobile",title:"Menu",onClick:t[1]||(t[1]=t=>e.$emit("toggle-nav"))},us)):(0,l.kq)("",!0)])])),_:1}),(0,l._)("div",hs,["/"!==s.path?((0,l.wg)(),(0,l.iD)("div",{key:0,class:"row track back-track",onClick:t[2]||(t[2]=(...e)=>o.back&&o.back(...e))},ys)):(0,l.kq)("",!0),((0,l.wg)(!0),(0,l.iD)(l.HY,null,(0,l.Ko)(s.results,((t,s)=>((0,l.wg)(),(0,l.iD)("div",{class:(0,a.C_)(["row track",{selected:c.selectedResults.has(s),hidden:!o.displayedResults.has(s)}]),key:s,onClick:e=>o.resultClick(s,e)},[(0,l._)("div",fs,[(0,l._)("div",vs,[t.directory?((0,l.wg)(),(0,l.iD)("i",gs)):t.file?((0,l.wg)(),(0,l.iD)("i",ws)):(0,l.kq)("",!0)]),(0,l._)("div",Cs,[(0,l._)("div",bs,[t.directory?((0,l.wg)(),(0,l.iD)("span",{key:0,textContent:(0,a.zw)(t.directory.split("/").pop())},null,8,_s)):t.title?((0,l.wg)(),(0,l.iD)("span",{key:1,textContent:(0,a.zw)(t.title)},null,8,Ds)):(0,l.kq)("",!0)]),(0,l._)("div",Ts,[t.artist?.length?((0,l.wg)(),(0,l.iD)("div",{key:0,class:"artist",textContent:(0,a.zw)(t.artist)},null,8,xs)):(0,l.kq)("",!0),t.album?.length?((0,l.wg)(),(0,l.iD)("div",{key:1,class:"album",textContent:(0,a.zw)(t.album)},null,8,$s)):(0,l.kq)("",!0)])])]),(0,l._)("div",Ps,[(0,l._)("span",{class:"duration",textContent:(0,a.zw)(t.time&&parseInt(t.time)?e.convertTime(t.time):"-:--")},null,8,Ss),(0,l._)("span",As,[(0,l.Wm)(h,{title:"Actions","icon-class":"fa fa-ellipsis-h"},{default:(0,l.w5)((()=>[(0,l.Wm)(u,{text:"Play","icon-class":"fa fa-play",onClick:e=>o.play(s)},null,8,["onClick"]),(0,l.Wm)(u,{text:"Add to queue","icon-class":"fa fa-plus",onClick:e=>o.load(s)},null,8,["onClick"]),(0,l.Wm)(u,{text:"Add to playlist","icon-class":"fa fa-list-ul",onClick:s=>e.$emit("add-to-playlist",t)},null,8,["onClick"]),(0,l.Wm)(u,{text:"Info","icon-class":"fa fa-info",onClick:s=>e.$emit("info",t)},null,8,["onClick"])])),_:2},1024)])])],10,ms)))),128))])])}var Rs={name:"Library",components:{Dropdown:We.Z,DropdownItem:Ne.Z,MusicHeader:Le,Loading:te.Z},mixins:[le.Z],emits:["add-to-playlist","cd","info","load","play","refresh-status","search","select-device","toggle-nav"],props:{loading:{type:Boolean,default:!1},results:{type:Array},path:{type:String},devices:{type:Object},selectedDevice:{type:String},activeDevice:{type:String},showNavButton:{type:Boolean,default:!1}},data(){return{selectedResults:new Set,filter:"",query:{any:"",artist:"",title:"",album:""}}},computed:{displayedResults(){return new Set([...Array(this.results?.length||0).keys()].filter((e=>{const t=this.results[e];if(!this.filter?.length)return t;const s=this.filter.toLowerCase();return(t?.artist||"").toLowerCase().indexOf(s)>=0||(t?.title||"").toLowerCase().indexOf(s)>=0||(t?.album||"").toLowerCase().indexOf(s)>=0||(t?.directory||"").toLowerCase().indexOf(s)>=0})))}},methods:{resultClick(e,t){if(t.shiftKey){if(this.selectedResults.size>0&&!this.selectedResults.has(e)){const t=[...this.selectedResults],s=Math.min(Math.min(t),e),l=Math.max(Math.max(t),e);this.selectedResults=new Set([...Array(l-s+1).keys()].map((e=>e+s)))}}else t.ctrlKey?this.selectedResults.has(e)?this.selectedResults.delete(e):this.selectedResults.add(e):this.results[e].directory?this.$emit("cd",this.results[e].directory):(this.selectedResults=new Set,this.selectedResults.has(e)?this.selectedResults.delete(e):this.selectedResults.add(e))},play(e){this.$emit("play",this.results[e]),this.selectedResults.size&&this.selectedResults.forEach((e=>{this.$emit("load",e)}))},load(e){this.selectedResults.has(e)||this.selectedResults.add(e),this.selectedResults.forEach((e=>{this.$emit("load",this.results[e])}))},back(){const e=this.path.split("/");this.$emit("cd",e.slice(0,e.length-1).join("/"))}}};const qs=(0,J.Z)(Rs,[["render",Is],["__scopeId","data-v-31ebd80c"]]);var Ms=qs,Vs=s(8637),Ls={name:"Music",emits:["add-to-playlist","add-to-tracklist","add-to-tracklist-from-edited-playlist","cd","clear","consume","info","load-playlist","new-playing-track","next","pause","play","play-playlist","playlist-add","playlist-edit","playlist-track-move","playlist-update","previous","random","refresh-status","remove-from-playlist","remove-from-tracklist","remove-playlist","repeat","search","search-clear","seek","select-device","set-volume","status-update","stop","swap-tracks","tracklist-move","tracklist-save"],mixins:[Vs.Z,le.Z],components:{Loading:te.Z,Modal:se.Z,Nav:he,MediaView:ae.Z,Playlist:Ee,Playlists:Pt,FormFooter:ee,Search:is,Library:Ms},props:{pluginName:{type:String,required:!0},loading:{type:Boolean,default:!1},config:{type:Object,default:()=>{}},tracks:{type:Array,default:()=>[]},editedPlaylistTracks:{type:Array,default:()=>[]},playlists:{type:Array,default:()=>[]},status:{type:Object,default:()=>{}},editedPlaylist:{type:Number},trackInfo:{type:String},searchResults:{type:Array},libraryResults:{type:Array},path:{type:String},devices:{type:Object},activeDevice:{type:String},selectedDevice:{type:String}},data(){return{selectedView:"playing",selectedPlaylists:[],addToPlaylistTrack:null,playlistFilter:"",navVisible:!1}},computed:{track(){return null==this.status?.playingPos?null:this.tracks[this.status.playingPos]}},methods:{async onStatusEvent(e){e.plugin_name===this.pluginName&&this.$emit("status-update",e)},async onPlaylistEvent(e){e.plugin_name===this.pluginName&&this.$emit("playlist-update",e)},async onNewPlayingTrack(e){e.plugin_name===this.pluginName&&(this.notify({html:`<b>${e.track?.artist}</b><br>${e.track?.title}`,image:{iconClass:"fa fa-play"}}),this.$emit("new-playing-track",e))},async openAddToPlaylist(e){this.addToPlaylistTrack=e,this.$refs.playlistsModal.isVisible=!0},async addToPlaylist(){this.$emit("add-to-playlist",{track:this.addToPlaylistTrack,playlists:[...Array(this.selectedPlaylists.length).keys()].filter((e=>this.selectedPlaylists[e]))}),this.$refs.playlistsModal.isVisible=!1,this.addToPlaylistTrack=null,this.playlistFilter=""},async search(e){this.$emit("search",e),this.$refs.trackInfo.isVisible=!1,this.selectedView="search"},selectDevice(e){this.$emit("select-device",e)},refreshStatus(){this.$emit("refresh-status")}},mounted(){this.subscribe(this.onStatusEvent,"on-status-update","platypush.message.event.music.MusicPlayEvent","platypush.message.event.music.MusicPauseEvent","platypush.message.event.music.MusicStopEvent","platypush.message.event.music.SeekChangeEvent","platypush.message.event.music.VolumeChangeEvent","platypush.message.event.music.MuteChangeEvent","platypush.message.event.music.PlaybackRepeatModeChangeEvent","platypush.message.event.music.PlaybackRandomModeChangeEvent","platypush.message.event.music.PlaybackConsumeModeChangeEvent","platypush.message.event.music.PlaybackSingleModeChangeEvent"),this.subscribe(this.onPlaylistEvent,"on-playlist-update","platypush.message.event.music.PlaylistChangeEvent"),this.subscribe(this.onNewPlayingTrack,"on-new-playing-track","platypush.message.event.music.NewPlayingTrackEvent"),this.$watch((()=>this.trackInfo),(e=>{null!=e&&(this.$refs.trackInfo.isVisible=!0)}))},unmounted(){this.unsubscribe("on-status-update"),this.unsubscribe("on-playlist-update")}};const Ws=(0,J.Z)(Ls,[["render",U],["__scopeId","data-v-45886c9f"]]);var Ns=Ws}}]);
//# sourceMappingURL=2848.67bcab8e.js.map