forked from mike-jl/squeeze-controller
-
Notifications
You must be signed in to change notification settings - Fork 0
/
home.html
148 lines (148 loc) · 9.6 KB
/
home.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
<div class="wrapper" ng-controller="LmsApiCtrl">
<div class="header-row">
<div class="col-header-25">
<img class="cover-art" http-src="{{playlistCover(data.playlist_loop[data.playlist_cur_index], 200)}}"></img>
</div>
<div class="col-header-50">
<div class="title" title="{{data.playlist_loop[data.playlist_cur_index].title}}" ng-style="{'visibility':(data.playlist_cur_index | typeof)!='undefined'?'visible':'hidden'}">
{{data.playlist_loop[data.playlist_cur_index]['playlist index'] + 1}}. {{data.playlist_loop[data.playlist_cur_index].title}}
</div>
<div class="artist-album" title="{{data.playlist_loop[data.playlist_cur_index].artist}}" ng-style="{'visibility':(data.playlist_loop[data.playlist_cur_index].artist | typeof)!='undefined'?'visible':'hidden'}">
{{data.playlist_loop[data.playlist_cur_index].artist ? data.playlist_loop[data.playlist_cur_index].artist : 'space'}}
</div>
<div class="artist-album" title="{{data.playlist_loop[data.playlist_cur_index].album}}" ng-style="{'visibility':(data.playlist_loop[data.playlist_cur_index].album | typeof)!='undefined'?'visible':'hidden'}">
{{data.playlist_loop[data.playlist_cur_index].album}} ({{data.playlist_loop[data.playlist_cur_index].year}})
</div>
<div class="control-button-container">
<span class="glyphicon glyphicon-step-backward clickable control-button" ng-click="lmsPost(['button','jump_rew']);"></span>
<span ng-class="data.mode != 'play' ? 'glyphicon glyphicon-play clickable control-button' : 'glyphicon glyphicon-pause clickable control-button';" ng-click="lmsPost(['pause']);"></span>
<span class="glyphicon glyphicon-step-forward clickable control-button" ng-click="lmsPost(['button','jump_fwd']);"></span>
</div>
<input class="trackpos" type="range" min="0" max="{{data.duration ? data.duration : 0}}" ng-model="trackpos" ng-mousedown="TrackPosChange=1;" ng-mouseup="lmsPost(['time',trackpos]);TrackPosChange=0;">
<div>
{{trackpos | num | secondsToDateTime | date:'HH:mm:ss'}}
<if ng-if="data.duration" class="pull-right">{{data.duration | num | secondsToDateTime | date:'HH:mm:ss'}}</if>
<if ng-if="!data.duration" class="pull-right">{{0 | num | secondsToDateTime | date:'HH:mm:ss'}}</if>
</div>
</div>
<div class="col-header-25">
<select class="form-control" ng-model="player" ng-options="player.name for player in players.players_loop"></select>
<div class="btn-group psr btn-group-justified">
<a href="#/" type="button" ng-class="data.power == 1 ? 'btn btn-info' : 'btn btn-default'" ng-click="lmsPost(['power'])"
ng-attr-title="{{ data.power == 0 ? 'Power Off' : 'Power On' }}">
<span class="glyphicon glyphicon-off"></span>
</a>
<a href="#/" type="button" ng-class="data['playlist repeat'] > 0 ? 'btn btn-info' : 'btn btn-default'" ng-click="lmsPost(['playlist', 'repeat'])"
ng-attr-title="{{ repeatText }}">
<span class="glyphicon glyphicon-repeat"></span>
<span ng-if="data['playlist repeat'] == 1" class="glyphicon glyphicon-music label-gi-btn"></span>
</a>
<a href="#/" type="button" ng-class="data['playlist shuffle'] > 0 ? 'btn btn-info' : 'btn btn-default'" ng-click="lmsPost(['playlist', 'shuffle'])"
ng-attr-title="{{ shuffleText }}">
<span class="glyphicon glyphicon-random"></span>
<span ng-if="data['playlist shuffle'] == 2" class="glyphicon glyphicon-cd label-gi-btn"></span>
</a>
</div>
<div class="volume">Volume: {{volume}}</div>
<input class="volume" type="range" min="0" max="100" ng-model="volume" ng-mousedown="VolChange=1;" ng-mouseup="lmsPost(['mixer','volume',volume]);VolChange=0;">
</div>
</div>
<div class="content-row">
<div class="col-content">
<div class="content-header breadcrumb">
<li ng-click="menuLoading || getmenu()" ng-class="breadCrumbs.length < 1 && 'active'">
<if ng-if="breadCrumbs.length < 1">Home</if><a ng-if="breadCrumbs.length >= 1" href="#">Home</a>
</li>
<li ng-repeat="breadCrumb in breadCrumbs track by $index" ng-click="menuLoading || breadCrumbfunc($index)" ng-class="$last === true && 'active'">
<if ng-if="$last === true">{{breadCrumb[0].text | noNewLine}}</if><a ng-if="$last === false" href="#">{{breadCrumb[0].text | noNewLine}}</a>
</li>
</div>
<div class="content-content scrollbar">
<ul class="list-group" dnd-list="menu.item_loop" dnd-allowed-types="[null]">
<li ng-if="filteredMenu.length > maxitems || menuFilter" class="list-group-item">
<div class="form-group search-form">
<input type="text" class="form-control input-sm" ng-model="$parent.menuFilter" placeholder="Filter..."></input>
</div>
</li>
<li ng-if="(menu | typeof) != 'undefined'"
class="list-group-item"
ng-repeat="menuitem in filteredMenu = ( menu.item_loop | objectFilter:'node':nodefilter:filterisEnable | objectFilter:'text':menuFilter:true ) | orderBy:orderby | startFrom:startFrom | limitTo:maxitems track by $index+menuitem.text"
dnd-draggable="menuitem"
dnd-effect-allowed="copy"
dnd-disable-if="!menuitem.params.isContextMenu && menuitem.type !== 'playlist' && menuitem.type !== 'audio'"
dnd-type="'menu'">
<div class="btn-group vert-align pull-right" uib-dropdown on-toggle="open ? submenu(menuitem,'more',1) : ddClose()"
ng-if="menuitem.params.isContextMenu || menuitem.type == 'playlist' || menuitem.type == 'audio'" ng-disabled="menuLoading">
<button class="btn btn-xs left-btn btn-default" type="button" ng-click="actionmenu(menuitem, 'add')">
<span class="glyphicon glyphicon glyphicon-plus"></span>
</button>
<button type="button" class="btn btn-xs right-btn btn-default" uib-dropdown-toggle id="{{$index}}">
<span class="caret"></span>
<span class="sr-only">Toggle Dropdown</span>
</button>
<ul class="dropdown-menu dropdown-menu-right" uib-dropdown-menu role="menu" aria-labelledby="{{menuitem.commonParams.album_id}}">
<li ng-repeat="contextItem in contextMenu.item_loop" ng-class="contextItem.action=='none' ? 'disabled' : ''" ng-click="menufunc(contextItem)" role="menuitem">
<a href="#/">{{contextItem.text}}</a>
</li>
</ul>
</div>
<div ng-if="menuitem.type==='search' || menuitem.id==='globalSearch'" class="pull-right search-form-container">
<form class="search-form" ng-submit="search(menuitem,searchInput)">
<div class="input-group input-group-sm">
<input ng-disabled="menuLoading" type="text" class="form-control" ng-model="searchInput" placeholder="Search..."></input>
<span class="input-group-btn">
<button ng-disabled="menuLoading" class="btn btn-default" type="button submit">
<span class="glyphicon glyphicon-search"></span>
</button>
</span>
</div>
</form>
</div>
<div class="clickable clearfix" ng-attr-title="{{ bubbletips ? menuitem.text : undefined }}" ng-click="menuLoading || menufunc(menuitem)">
<img ng-if="(menuitem.type == 'playlist' || menuitem.type == 'audio') && menuArtwork == true && ! menuitem.commonParams.artist_id"
http-src="{{iconUrl(menuitem, 40)}}" class="menu-icon"></img>
<div class="pre-whitespace first-line-bold dot-overflow">{{menuitem.text}}</div>
</div>
</li>
</ul>
<div class="text-center">
<ul ng-show="filteredMenu.length > maxitems"
uib-pagination ng-change="pagefunc()" total-items="filteredMenu.length" items-per-page="maxitems" ng-model="menuPage"
max-size="4" force-ellipses="true" class="pagination pagination-sm" boundary-links="true"
previous-text="‹" next-text="›" first-text="«" last-text="»"></ul>
</div>
</div>
</div>
<div class="col-content">
<div class="content-header playlist-header">
Playlist:
<button class="btn btn-sm btn-danger playlist-header-btn" ng-click="lmsPost(['playlist','clear']);">
<span class="glyphicon glyphicon-trash"></span>
</button>
</div>
<div class="content-content scrollbar">
<ul class="list-group" dnd-list="playlist" dnd-drop="dndPlaylistMove(type, item, index)">
<li ng-class="title['playlist index'] == data.playlist_cur_index ? 'active' : ''" class="list-group-item clickable playlist"
ng-if="data.playlist_tracks !== 0"
ng-repeat="title in playlist track by ''+$index+title.id"
dnd-draggable="title"
dnd-effect-allowed="move"
dnd-type="'playlist'">
<button class="btn btn-sm btn-warning pull-right" ng-click="lmsPost(['playlist','delete',title['playlist index']]);">
<span class="glyphicon glyphicon-trash"></span>
</button>
<div ng-click="lmsPost(['playlist','index',title['playlist index']]);" class="dot-overflow nowrap">
<img class="playlist-icon" ng-if="playlistArtwork == true" http-src="{{playlistCover(title, 70)}}"></img>
<b title="{{title.title}}">{{title.title}}</b><br>
{{title.artist}}<br>
{{title.album}}
</div>
</li>
<li class="list-group-item" ng-if="data.playlist_tracks === 0">
<b>Empty Playlist</b>
</li>
</ul>
</div>
</div>
</div>
</div>