mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
calculate item by name counts on the fly
This commit is contained in:
parent
fce65d5942
commit
8fb161c4f6
25 changed files with 89 additions and 614 deletions
|
@ -12,7 +12,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.headerArrowImage {
|
.headerArrowImage {
|
||||||
height: 24px;
|
height: 20px;
|
||||||
margin-left: .5em;
|
margin-left: .5em;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -15,40 +15,13 @@
|
||||||
<div data-role="content">
|
<div data-role="content">
|
||||||
<div class="viewSettings">
|
<div class="viewSettings">
|
||||||
<div class="viewControls">
|
<div class="viewControls">
|
||||||
<button data-mini="true" data-icon="sort" data-inline="true" onclick="$('#sortPanel', $(this).parents('.page')).panel( 'toggle' );">Sort</button>
|
|
||||||
<button data-mini="true" data-icon="filter" data-inline="true" onclick="$('#filterPanel', $(this).parents('.page')).panel( 'toggle' );">Filter</button>
|
<button data-mini="true" data-icon="filter" data-inline="true" onclick="$('#filterPanel', $(this).parents('.page')).panel( 'toggle' );">Filter</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="listTopPaging">
|
<div class="listTopPaging">
|
||||||
</div>
|
</div>
|
||||||
<div class="viewSummary"></div>
|
|
||||||
</div>
|
</div>
|
||||||
<div id="items" class="itemsContainer"></div>
|
<div id="items" class="itemsContainer"></div>
|
||||||
</div>
|
</div>
|
||||||
<div data-role="panel" id="sortPanel" data-position="right" data-display="overlay" data-theme="a" data-position-fixed="true">
|
|
||||||
|
|
||||||
<form>
|
|
||||||
<fieldset data-role="controlgroup">
|
|
||||||
<legend>
|
|
||||||
<strong>Sort By:</strong>
|
|
||||||
</legend>
|
|
||||||
|
|
||||||
<input class="radioSortBy defaultSort" type="radio" name="radioSortBy" id="radioSortName" value="on" checked="checked" data-sortby="SortName" data-mini="true">
|
|
||||||
<label for="radioSortName">Name</label>
|
|
||||||
</fieldset>
|
|
||||||
|
|
||||||
<fieldset data-role="controlgroup">
|
|
||||||
<legend>
|
|
||||||
<strong>Sort Order:</strong>
|
|
||||||
</legend>
|
|
||||||
|
|
||||||
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioAscending" value="on" checked="checked" data-sortorder="Ascending" data-mini="true">
|
|
||||||
<label for="radioAscending">Ascending</label>
|
|
||||||
|
|
||||||
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioDescending" value="off" data-sortorder="Descending" data-mini="true">
|
|
||||||
<label for="radioDescending">Descending</label>
|
|
||||||
</fieldset>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-theme="a" data-position-fixed="true">
|
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-theme="a" data-position-fixed="true">
|
||||||
<form>
|
<form>
|
||||||
<fieldset data-role="controlgroup">
|
<fieldset data-role="controlgroup">
|
||||||
|
|
|
@ -15,40 +15,13 @@
|
||||||
<div data-role="content">
|
<div data-role="content">
|
||||||
<div class="viewSettings">
|
<div class="viewSettings">
|
||||||
<div class="viewControls">
|
<div class="viewControls">
|
||||||
<button data-mini="true" data-icon="sort" data-inline="true" onclick="$('#sortPanel', $(this).parents('.page')).panel( 'toggle' );">Sort</button>
|
|
||||||
<button data-mini="true" data-icon="filter" data-inline="true" onclick="$('#filterPanel', $(this).parents('.page')).panel( 'toggle' );">Filter</button>
|
<button data-mini="true" data-icon="filter" data-inline="true" onclick="$('#filterPanel', $(this).parents('.page')).panel( 'toggle' );">Filter</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="listTopPaging">
|
<div class="listTopPaging">
|
||||||
</div>
|
</div>
|
||||||
<div class="viewSummary"></div>
|
|
||||||
</div>
|
</div>
|
||||||
<div id="items" class="itemsContainer"></div>
|
<div id="items" class="itemsContainer"></div>
|
||||||
</div>
|
</div>
|
||||||
<div data-role="panel" id="sortPanel" data-position="right" data-display="overlay" data-theme="a" data-position-fixed="true">
|
|
||||||
|
|
||||||
<form>
|
|
||||||
<fieldset data-role="controlgroup">
|
|
||||||
<legend>
|
|
||||||
<strong>Sort By:</strong>
|
|
||||||
</legend>
|
|
||||||
|
|
||||||
<input class="radioSortBy defaultSort" type="radio" name="radioSortBy" id="radioSortName" value="on" checked="checked" data-sortby="SortName" data-mini="true">
|
|
||||||
<label for="radioSortName">Name</label>
|
|
||||||
</fieldset>
|
|
||||||
|
|
||||||
<fieldset data-role="controlgroup">
|
|
||||||
<legend>
|
|
||||||
<strong>Sort Order:</strong>
|
|
||||||
</legend>
|
|
||||||
|
|
||||||
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioAscending" value="on" checked="checked" data-sortorder="Ascending" data-mini="true">
|
|
||||||
<label for="radioAscending">Ascending</label>
|
|
||||||
|
|
||||||
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioDescending" value="off" data-sortorder="Descending" data-mini="true">
|
|
||||||
<label for="radioDescending">Descending</label>
|
|
||||||
</fieldset>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-theme="a" data-position-fixed="true">
|
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-theme="a" data-position-fixed="true">
|
||||||
<form>
|
<form>
|
||||||
<fieldset data-role="controlgroup">
|
<fieldset data-role="controlgroup">
|
||||||
|
|
|
@ -114,7 +114,7 @@
|
||||||
<label for="chkMissingOverview">Missing Overview</label>
|
<label for="chkMissingOverview">Missing Overview</label>
|
||||||
|
|
||||||
<input class="chkMissingRating" type="checkbox" name="chkMissingRating" id="chkMissingRating" data-mini="true">
|
<input class="chkMissingRating" type="checkbox" name="chkMissingRating" id="chkMissingRating" data-mini="true">
|
||||||
<label for="chkMissingRating">Missing Rating</label>
|
<label for="chkMissingRating">Missing Parental Rating</label>
|
||||||
|
|
||||||
<input class="chkIsUnidentified" type="checkbox" id="chkIsUnidentified" data-mini="true">
|
<input class="chkIsUnidentified" type="checkbox" id="chkIsUnidentified" data-mini="true">
|
||||||
<label for="chkIsUnidentified">Unidentified</label>
|
<label for="chkIsUnidentified">Unidentified</label>
|
||||||
|
|
|
@ -18,46 +18,13 @@
|
||||||
<div data-role="content">
|
<div data-role="content">
|
||||||
<div class="viewSettings">
|
<div class="viewSettings">
|
||||||
<div class="viewControls">
|
<div class="viewControls">
|
||||||
<button data-mini="true" data-icon="sort" data-inline="true" onclick="$('#sortPanel', $(this).parents('.page')).panel( 'toggle' );">Sort</button>
|
|
||||||
<button data-mini="true" data-icon="filter" data-inline="true" onclick="$('#filterPanel', $(this).parents('.page')).panel( 'toggle' );">Filter</button>
|
<button data-mini="true" data-icon="filter" data-inline="true" onclick="$('#filterPanel', $(this).parents('.page')).panel( 'toggle' );">Filter</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="listTopPaging">
|
<div class="listTopPaging">
|
||||||
</div>
|
</div>
|
||||||
<div class="viewSummary"></div>
|
|
||||||
</div>
|
</div>
|
||||||
<div id="items" class="itemsContainer"></div>
|
<div id="items" class="itemsContainer"></div>
|
||||||
</div>
|
</div>
|
||||||
<div data-role="panel" id="sortPanel" data-position="right" data-display="overlay" data-theme="a" data-position-fixed="true">
|
|
||||||
|
|
||||||
<form>
|
|
||||||
<fieldset data-role="controlgroup">
|
|
||||||
<legend>
|
|
||||||
<strong>Sort By:</strong>
|
|
||||||
</legend>
|
|
||||||
|
|
||||||
<input class="radioSortBy defaultSort" type="radio" name="radioSortBy" id="radioSortName" value="on" checked="checked" data-sortby="SortName" data-mini="true">
|
|
||||||
<label for="radioSortName">Name</label>
|
|
||||||
|
|
||||||
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioMovieCount" value="on" checked="checked" data-sortby="MovieCount,SortName" data-mini="true">
|
|
||||||
<label for="radioMovieCount">Movie count</label>
|
|
||||||
|
|
||||||
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioTrailerCount" value="on" checked="checked" data-sortby="TrailerCount,SortName" data-mini="true">
|
|
||||||
<label for="radioTrailerCount">Trailer count</label>
|
|
||||||
</fieldset>
|
|
||||||
|
|
||||||
<fieldset data-role="controlgroup">
|
|
||||||
<legend>
|
|
||||||
<strong>Sort Order:</strong>
|
|
||||||
</legend>
|
|
||||||
|
|
||||||
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioAscending" value="on" checked="checked" data-sortorder="Ascending" data-mini="true">
|
|
||||||
<label for="radioAscending">Ascending</label>
|
|
||||||
|
|
||||||
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioDescending" value="off" data-sortorder="Descending" data-mini="true">
|
|
||||||
<label for="radioDescending">Descending</label>
|
|
||||||
</fieldset>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-theme="a" data-position-fixed="true">
|
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-theme="a" data-position-fixed="true">
|
||||||
<form>
|
<form>
|
||||||
<fieldset data-role="controlgroup">
|
<fieldset data-role="controlgroup">
|
||||||
|
|
|
@ -20,46 +20,13 @@
|
||||||
<div data-role="content">
|
<div data-role="content">
|
||||||
<div class="viewSettings">
|
<div class="viewSettings">
|
||||||
<div class="viewControls">
|
<div class="viewControls">
|
||||||
<button data-mini="true" data-icon="sort" data-inline="true" onclick="$('#sortPanel', $(this).parents('.page')).panel( 'toggle' );">Sort</button>
|
|
||||||
<button data-mini="true" data-icon="filter" data-inline="true" onclick="$('#filterPanel', $(this).parents('.page')).panel( 'toggle' );">Filter</button>
|
<button data-mini="true" data-icon="filter" data-inline="true" onclick="$('#filterPanel', $(this).parents('.page')).panel( 'toggle' );">Filter</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="listTopPaging">
|
<div class="listTopPaging">
|
||||||
</div>
|
</div>
|
||||||
<div class="viewSummary"></div>
|
|
||||||
</div>
|
</div>
|
||||||
<div id="items" class="itemsContainer"></div>
|
<div id="items" class="itemsContainer"></div>
|
||||||
</div>
|
</div>
|
||||||
<div data-role="panel" id="sortPanel" data-position="right" data-display="overlay" data-theme="a" data-position-fixed="true">
|
|
||||||
|
|
||||||
<form>
|
|
||||||
<fieldset data-role="controlgroup">
|
|
||||||
<legend>
|
|
||||||
<strong>Sort By:</strong>
|
|
||||||
</legend>
|
|
||||||
|
|
||||||
<input class="radioSortBy defaultSort" type="radio" name="radioSortBy" id="radioSortName" value="on" checked="checked" data-sortby="SortName" data-mini="true">
|
|
||||||
<label for="radioSortName">Name</label>
|
|
||||||
|
|
||||||
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioMovieCount" value="on" checked="checked" data-sortby="MovieCount,SortName" data-mini="true">
|
|
||||||
<label for="radioMovieCount">Movie count</label>
|
|
||||||
|
|
||||||
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioTrailerCount" value="on" checked="checked" data-sortby="TrailerCount,SortName" data-mini="true">
|
|
||||||
<label for="radioTrailerCount">Trailer count</label>
|
|
||||||
</fieldset>
|
|
||||||
|
|
||||||
<fieldset data-role="controlgroup">
|
|
||||||
<legend>
|
|
||||||
<strong>Sort Order:</strong>
|
|
||||||
</legend>
|
|
||||||
|
|
||||||
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioAscending" value="on" checked="checked" data-sortorder="Ascending" data-mini="true">
|
|
||||||
<label for="radioAscending">Ascending</label>
|
|
||||||
|
|
||||||
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioDescending" value="off" data-sortorder="Descending" data-mini="true">
|
|
||||||
<label for="radioDescending">Descending</label>
|
|
||||||
</fieldset>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-theme="a" data-position-fixed="true">
|
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-theme="a" data-position-fixed="true">
|
||||||
<form>
|
<form>
|
||||||
<fieldset data-role="controlgroup">
|
<fieldset data-role="controlgroup">
|
||||||
|
|
|
@ -18,46 +18,13 @@
|
||||||
<div data-role="content">
|
<div data-role="content">
|
||||||
<div class="viewSettings">
|
<div class="viewSettings">
|
||||||
<div class="viewControls">
|
<div class="viewControls">
|
||||||
<button data-mini="true" data-icon="sort" data-inline="true" onclick="$('#sortPanel', $(this).parents('.page')).panel( 'toggle' );">Sort</button>
|
|
||||||
<button data-mini="true" data-icon="filter" data-inline="true" onclick="$('#filterPanel', $(this).parents('.page')).panel( 'toggle' );">Filter</button>
|
<button data-mini="true" data-icon="filter" data-inline="true" onclick="$('#filterPanel', $(this).parents('.page')).panel( 'toggle' );">Filter</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="listTopPaging">
|
<div class="listTopPaging">
|
||||||
</div>
|
</div>
|
||||||
<div class="viewSummary"></div>
|
|
||||||
</div>
|
</div>
|
||||||
<div id="items" class="itemsContainer"></div>
|
<div id="items" class="itemsContainer"></div>
|
||||||
</div>
|
</div>
|
||||||
<div data-role="panel" id="sortPanel" data-position="right" data-display="overlay" data-theme="a" data-position-fixed="true">
|
|
||||||
|
|
||||||
<form>
|
|
||||||
<fieldset data-role="controlgroup">
|
|
||||||
<legend>
|
|
||||||
<strong>Sort By:</strong>
|
|
||||||
</legend>
|
|
||||||
|
|
||||||
<input class="radioSortBy defaultSort" type="radio" name="radioSortBy" id="radioSortName" value="on" checked="checked" data-sortby="SortName" data-mini="true">
|
|
||||||
<label for="radioSortName">Name</label>
|
|
||||||
|
|
||||||
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioMovieCount" value="on" checked="checked" data-sortby="MovieCount,SortName" data-mini="true">
|
|
||||||
<label for="radioMovieCount">Movie count</label>
|
|
||||||
|
|
||||||
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioTrailerCount" value="on" checked="checked" data-sortby="TrailerCount,SortName" data-mini="true">
|
|
||||||
<label for="radioTrailerCount">Trailer count</label>
|
|
||||||
</fieldset>
|
|
||||||
|
|
||||||
<fieldset data-role="controlgroup">
|
|
||||||
<legend>
|
|
||||||
<strong>Sort Order:</strong>
|
|
||||||
</legend>
|
|
||||||
|
|
||||||
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioAscending" value="on" checked="checked" data-sortorder="Ascending" data-mini="true">
|
|
||||||
<label for="radioAscending">Ascending</label>
|
|
||||||
|
|
||||||
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioDescending" value="off" data-sortorder="Descending" data-mini="true">
|
|
||||||
<label for="radioDescending">Descending</label>
|
|
||||||
</fieldset>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-theme="a" data-position-fixed="true">
|
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-theme="a" data-position-fixed="true">
|
||||||
<form>
|
<form>
|
||||||
<fieldset data-role="controlgroup">
|
<fieldset data-role="controlgroup">
|
||||||
|
|
|
@ -20,49 +20,13 @@
|
||||||
<div data-role="content">
|
<div data-role="content">
|
||||||
<div class="viewSettings">
|
<div class="viewSettings">
|
||||||
<div class="viewControls">
|
<div class="viewControls">
|
||||||
<button data-mini="true" data-icon="sort" data-inline="true" onclick="$('#sortPanel', $(this).parents('.page')).panel( 'toggle' );">Sort</button>
|
|
||||||
<button data-mini="true" data-icon="filter" data-inline="true" onclick="$('#filterPanel', $(this).parents('.page')).panel( 'toggle' );">Filter</button>
|
<button data-mini="true" data-icon="filter" data-inline="true" onclick="$('#filterPanel', $(this).parents('.page')).panel( 'toggle' );">Filter</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="listTopPaging">
|
<div class="listTopPaging">
|
||||||
</div>
|
</div>
|
||||||
<div class="viewSummary"></div>
|
|
||||||
</div>
|
</div>
|
||||||
<div id="items" class="itemsContainer"></div>
|
<div id="items" class="itemsContainer"></div>
|
||||||
</div>
|
</div>
|
||||||
<div data-role="panel" id="sortPanel" data-position="right" data-display="overlay" data-theme="a" data-position-fixed="true">
|
|
||||||
|
|
||||||
<form>
|
|
||||||
<fieldset data-role="controlgroup">
|
|
||||||
<legend>
|
|
||||||
<strong>Sort By:</strong>
|
|
||||||
</legend>
|
|
||||||
|
|
||||||
<input class="radioSortBy defaultSort" type="radio" name="radioSortBy" id="radioSortName" value="on" checked="checked" data-sortby="SortName" data-mini="true">
|
|
||||||
<label for="radioSortName">Name</label>
|
|
||||||
|
|
||||||
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioAlbumCount" value="on" checked="checked" data-sortby="AlbumCount,SortName" data-mini="true">
|
|
||||||
<label for="radioAlbumCount">Album count</label>
|
|
||||||
|
|
||||||
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioMusicVideoCount" value="on" checked="checked" data-sortby="MusicVideoCount,SortName" data-mini="true">
|
|
||||||
<label for="radioMusicVideoCount">Music video count</label>
|
|
||||||
|
|
||||||
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioSongCount" value="on" checked="checked" data-sortby="SongCount,SortName" data-mini="true">
|
|
||||||
<label for="radioSongCount">Song count</label>
|
|
||||||
</fieldset>
|
|
||||||
|
|
||||||
<fieldset data-role="controlgroup">
|
|
||||||
<legend>
|
|
||||||
<strong>Sort Order:</strong>
|
|
||||||
</legend>
|
|
||||||
|
|
||||||
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioAscending" value="on" checked="checked" data-sortorder="Ascending" data-mini="true">
|
|
||||||
<label for="radioAscending">Ascending</label>
|
|
||||||
|
|
||||||
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioDescending" value="off" data-sortorder="Descending" data-mini="true">
|
|
||||||
<label for="radioDescending">Descending</label>
|
|
||||||
</fieldset>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-theme="a" data-position-fixed="true">
|
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-theme="a" data-position-fixed="true">
|
||||||
<form>
|
<form>
|
||||||
<fieldset data-role="controlgroup">
|
<fieldset data-role="controlgroup">
|
||||||
|
|
|
@ -20,49 +20,13 @@
|
||||||
<div data-role="content">
|
<div data-role="content">
|
||||||
<div class="viewSettings">
|
<div class="viewSettings">
|
||||||
<div class="viewControls">
|
<div class="viewControls">
|
||||||
<button data-mini="true" data-icon="sort" data-inline="true" onclick="$('#sortPanel', $(this).parents('.page')).panel( 'toggle' );">Sort</button>
|
|
||||||
<button data-mini="true" data-icon="filter" data-inline="true" onclick="$('#filterPanel', $(this).parents('.page')).panel( 'toggle' );">Filter</button>
|
<button data-mini="true" data-icon="filter" data-inline="true" onclick="$('#filterPanel', $(this).parents('.page')).panel( 'toggle' );">Filter</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="listTopPaging">
|
<div class="listTopPaging">
|
||||||
</div>
|
</div>
|
||||||
<div class="viewSummary"></div>
|
|
||||||
</div>
|
</div>
|
||||||
<div id="items" class="itemsContainer"></div>
|
<div id="items" class="itemsContainer"></div>
|
||||||
</div>
|
</div>
|
||||||
<div data-role="panel" id="sortPanel" data-position="right" data-display="overlay" data-theme="a" data-position-fixed="true">
|
|
||||||
|
|
||||||
<form>
|
|
||||||
<fieldset data-role="controlgroup">
|
|
||||||
<legend>
|
|
||||||
<strong>Sort By:</strong>
|
|
||||||
</legend>
|
|
||||||
|
|
||||||
<input class="radioSortBy defaultSort" type="radio" name="radioSortBy" id="radioSortName" value="on" checked="checked" data-sortby="SortName" data-mini="true">
|
|
||||||
<label for="radioSortName">Name</label>
|
|
||||||
|
|
||||||
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioAlbumCount" value="on" checked="checked" data-sortby="AlbumCount,SortName" data-mini="true">
|
|
||||||
<label for="radioAlbumCount">Album count</label>
|
|
||||||
|
|
||||||
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioMusicVideoCount" value="on" checked="checked" data-sortby="MusicVideoCount,SortName" data-mini="true">
|
|
||||||
<label for="radioMusicVideoCount">Music video count</label>
|
|
||||||
|
|
||||||
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioSongCount" value="on" checked="checked" data-sortby="SongCount,SortName" data-mini="true">
|
|
||||||
<label for="radioSongCount">Song count</label>
|
|
||||||
</fieldset>
|
|
||||||
|
|
||||||
<fieldset data-role="controlgroup">
|
|
||||||
<legend>
|
|
||||||
<strong>Sort Order:</strong>
|
|
||||||
</legend>
|
|
||||||
|
|
||||||
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioAscending" value="on" checked="checked" data-sortorder="Ascending" data-mini="true">
|
|
||||||
<label for="radioAscending">Ascending</label>
|
|
||||||
|
|
||||||
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioDescending" value="off" data-sortorder="Descending" data-mini="true">
|
|
||||||
<label for="radioDescending">Descending</label>
|
|
||||||
</fieldset>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-theme="a" data-position-fixed="true">
|
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-theme="a" data-position-fixed="true">
|
||||||
<form>
|
<form>
|
||||||
<fieldset data-role="controlgroup">
|
<fieldset data-role="controlgroup">
|
||||||
|
|
|
@ -17,7 +17,6 @@
|
||||||
<div data-role="content">
|
<div data-role="content">
|
||||||
<div class="viewSettings">
|
<div class="viewSettings">
|
||||||
<div class="viewControls">
|
<div class="viewControls">
|
||||||
<button data-mini="true" data-icon="sort" data-inline="true" onclick="$('#sortPanel', $(this).parents('.page')).panel( 'toggle' );">Sort</button>
|
|
||||||
<button data-mini="true" data-icon="filter" data-inline="true" onclick="$('#filterPanel', $(this).parents('.page')).panel( 'toggle' );">Filter</button>
|
<button data-mini="true" data-icon="filter" data-inline="true" onclick="$('#filterPanel', $(this).parents('.page')).panel( 'toggle' );">Filter</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="listTopPaging">
|
<div class="listTopPaging">
|
||||||
|
@ -26,40 +25,6 @@
|
||||||
</div>
|
</div>
|
||||||
<div id="items" class="itemsContainer"></div>
|
<div id="items" class="itemsContainer"></div>
|
||||||
</div>
|
</div>
|
||||||
<div data-role="panel" id="sortPanel" data-position="right" data-display="overlay" data-theme="a" data-position-fixed="true">
|
|
||||||
|
|
||||||
<form>
|
|
||||||
<fieldset data-role="controlgroup">
|
|
||||||
<legend>
|
|
||||||
<strong>Sort By:</strong>
|
|
||||||
</legend>
|
|
||||||
|
|
||||||
<input class="radioSortBy defaultSort" type="radio" name="radioSortBy" id="radioSortName" value="on" checked="checked" data-sortby="SortName" data-mini="true">
|
|
||||||
<label for="radioSortName">Name</label>
|
|
||||||
|
|
||||||
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioAlbumCount" value="on" checked="checked" data-sortby="AlbumCount,SortName" data-mini="true">
|
|
||||||
<label for="radioAlbumCount">Album count</label>
|
|
||||||
|
|
||||||
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioMusicVideoCount" value="on" checked="checked" data-sortby="MusicVideoCount,SortName" data-mini="true">
|
|
||||||
<label for="radioMusicVideoCount">Music video count</label>
|
|
||||||
|
|
||||||
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioSongCount" value="on" checked="checked" data-sortby="SongCount,SortName" data-mini="true">
|
|
||||||
<label for="radioSongCount">Song count</label>
|
|
||||||
</fieldset>
|
|
||||||
|
|
||||||
<fieldset data-role="controlgroup">
|
|
||||||
<legend>
|
|
||||||
<strong>Sort Order:</strong>
|
|
||||||
</legend>
|
|
||||||
|
|
||||||
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioAscending" value="on" checked="checked" data-sortorder="Ascending" data-mini="true">
|
|
||||||
<label for="radioAscending">Ascending</label>
|
|
||||||
|
|
||||||
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioDescending" value="off" data-sortorder="Descending" data-mini="true">
|
|
||||||
<label for="radioDescending">Descending</label>
|
|
||||||
</fieldset>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-theme="a" data-position-fixed="true">
|
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-theme="a" data-position-fixed="true">
|
||||||
<form>
|
<form>
|
||||||
<fieldset data-role="controlgroup">
|
<fieldset data-role="controlgroup">
|
||||||
|
|
|
@ -115,6 +115,13 @@
|
||||||
|
|
||||||
callback(nodes);
|
callback(nodes);
|
||||||
|
|
||||||
|
if (!selectedId) {
|
||||||
|
|
||||||
|
if (window.location.toString().toLowerCase().indexOf('report.html') != -1) {
|
||||||
|
selectedId = 'libraryreport';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (selectedId && nodes.filter(function (f) {
|
if (selectedId && nodes.filter(function (f) {
|
||||||
|
|
||||||
return f.attr.id == selectedId;
|
return f.attr.id == selectedId;
|
||||||
|
|
|
@ -25,9 +25,6 @@
|
||||||
|
|
||||||
updateFilterControls(page);
|
updateFilterControls(page);
|
||||||
|
|
||||||
var checkSortOption = $('.radioSortBy:checked', page);
|
|
||||||
$('.viewSummary', page).html(LibraryBrowser.getViewSummaryHtml(query, checkSortOption)).trigger('create');
|
|
||||||
|
|
||||||
html = LibraryBrowser.getPosterViewHtml({
|
html = LibraryBrowser.getPosterViewHtml({
|
||||||
items: result.Items,
|
items: result.Items,
|
||||||
shape: "backdrop",
|
shape: "backdrop",
|
||||||
|
@ -65,36 +62,12 @@
|
||||||
|
|
||||||
function updateFilterControls(page) {
|
function updateFilterControls(page) {
|
||||||
|
|
||||||
// Reset form values using the last used query
|
|
||||||
$('.radioSortBy', page).each(function () {
|
|
||||||
|
|
||||||
this.checked = (query.SortBy || '').toLowerCase() == this.getAttribute('data-sortby').toLowerCase();
|
|
||||||
|
|
||||||
}).checkboxradio('refresh');
|
|
||||||
|
|
||||||
$('.radioSortOrder', page).each(function () {
|
|
||||||
|
|
||||||
this.checked = (query.SortOrder || '').toLowerCase() == this.getAttribute('data-sortorder').toLowerCase();
|
|
||||||
|
|
||||||
}).checkboxradio('refresh');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$(document).on('pageinit', "#gameGenresPage", function () {
|
$(document).on('pageinit', "#gameGenresPage", function () {
|
||||||
|
|
||||||
var page = this;
|
var page = this;
|
||||||
|
|
||||||
$('.radioSortBy', this).on('click', function () {
|
|
||||||
query.SortBy = this.getAttribute('data-sortby');
|
|
||||||
query.StartIndex = 0;
|
|
||||||
reloadItems(page);
|
|
||||||
});
|
|
||||||
|
|
||||||
$('.radioSortOrder', this).on('click', function () {
|
|
||||||
query.SortOrder = this.getAttribute('data-sortorder');
|
|
||||||
query.StartIndex = 0;
|
|
||||||
reloadItems(page);
|
|
||||||
});
|
|
||||||
|
|
||||||
$('.chkStandardFilter', this).on('change', function () {
|
$('.chkStandardFilter', this).on('change', function () {
|
||||||
|
|
||||||
var filterName = this.getAttribute('data-filter');
|
var filterName = this.getAttribute('data-filter');
|
||||||
|
|
|
@ -26,9 +26,6 @@
|
||||||
|
|
||||||
updateFilterControls(page);
|
updateFilterControls(page);
|
||||||
|
|
||||||
var checkSortOption = $('.radioSortBy:checked', page);
|
|
||||||
$('.viewSummary', page).html(LibraryBrowser.getViewSummaryHtml(query, checkSortOption)).trigger('create');
|
|
||||||
|
|
||||||
html = LibraryBrowser.getPosterViewHtml({
|
html = LibraryBrowser.getPosterViewHtml({
|
||||||
items: result.Items,
|
items: result.Items,
|
||||||
shape: "backdrop",
|
shape: "backdrop",
|
||||||
|
@ -66,36 +63,12 @@
|
||||||
|
|
||||||
function updateFilterControls(page) {
|
function updateFilterControls(page) {
|
||||||
|
|
||||||
// Reset form values using the last used query
|
|
||||||
$('.radioSortBy', page).each(function () {
|
|
||||||
|
|
||||||
this.checked = (query.SortBy || '').toLowerCase() == this.getAttribute('data-sortby').toLowerCase();
|
|
||||||
|
|
||||||
}).checkboxradio('refresh');
|
|
||||||
|
|
||||||
$('.radioSortOrder', page).each(function () {
|
|
||||||
|
|
||||||
this.checked = (query.SortOrder || '').toLowerCase() == this.getAttribute('data-sortorder').toLowerCase();
|
|
||||||
|
|
||||||
}).checkboxradio('refresh');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$(document).on('pageinit', "#gameStudiosPage", function () {
|
$(document).on('pageinit', "#gameStudiosPage", function () {
|
||||||
|
|
||||||
var page = this;
|
var page = this;
|
||||||
|
|
||||||
$('.radioSortBy', this).on('click', function () {
|
|
||||||
query.SortBy = this.getAttribute('data-sortby');
|
|
||||||
query.StartIndex = 0;
|
|
||||||
reloadItems(page);
|
|
||||||
});
|
|
||||||
|
|
||||||
$('.radioSortOrder', this).on('click', function () {
|
|
||||||
query.SortOrder = this.getAttribute('data-sortorder');
|
|
||||||
query.StartIndex = 0;
|
|
||||||
reloadItems(page);
|
|
||||||
});
|
|
||||||
|
|
||||||
$('.chkStandardFilter', this).on('change', function () {
|
$('.chkStandardFilter', this).on('change', function () {
|
||||||
|
|
||||||
var filterName = this.getAttribute('data-filter');
|
var filterName = this.getAttribute('data-filter');
|
||||||
|
|
|
@ -61,10 +61,10 @@
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
{},
|
{},
|
||||||
{ name: 'Album Artist', sortField: 'AlbumArtist,SortName' },
|
{ name: 'Album Artist', sortField: 'AlbumArtist,Album,SortName' },
|
||||||
{ name: 'Album', sortField: 'Album,SortName' },
|
{ name: 'Album', sortField: 'Album,SortName' },
|
||||||
{ name: 'Disc', sortField: 'Album,SortName' },
|
{ name: 'Disc' },
|
||||||
{ name: 'Track', sortField: 'Album,SortName' },
|
{ name: 'Track' },
|
||||||
{ name: 'Name', sortField: 'Name' },
|
{ name: 'Name', sortField: 'Name' },
|
||||||
{ name: 'Date Added', sortField: 'DateCreated,SortName' },
|
{ name: 'Date Added', sortField: 'DateCreated,SortName' },
|
||||||
{ name: 'Release Date', sortField: 'ProductionYear,PremiereDate,SortName' },
|
{ name: 'Release Date', sortField: 'ProductionYear,PremiereDate,SortName' },
|
||||||
|
@ -85,6 +85,7 @@
|
||||||
{ name: 'Community Rating', sortField: 'CommunityRating,SortName' },
|
{ name: 'Community Rating', sortField: 'CommunityRating,SortName' },
|
||||||
{ name: 'Runtime', sortField: 'Runtime,SortName' },
|
{ name: 'Runtime', sortField: 'Runtime,SortName' },
|
||||||
{ name: 'Video' },
|
{ name: 'Video' },
|
||||||
|
{ name: 'Resolution' },
|
||||||
{ name: 'Audio' },
|
{ name: 'Audio' },
|
||||||
{ name: 'Subtitles' }
|
{ name: 'Subtitles' }
|
||||||
];
|
];
|
||||||
|
@ -145,6 +146,7 @@
|
||||||
{ name: 'Community Rating', sortField: 'CommunityRating,SortName' },
|
{ name: 'Community Rating', sortField: 'CommunityRating,SortName' },
|
||||||
{ name: 'Runtime', sortField: 'Runtime,SortName' },
|
{ name: 'Runtime', sortField: 'Runtime,SortName' },
|
||||||
{ name: 'Video' },
|
{ name: 'Video' },
|
||||||
|
{ name: 'Resolution' },
|
||||||
{ name: 'Audio' },
|
{ name: 'Audio' },
|
||||||
{ name: 'Subtitles' },
|
{ name: 'Subtitles' },
|
||||||
{ name: 'Trailers' },
|
{ name: 'Trailers' },
|
||||||
|
@ -154,6 +156,53 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getDefaultSortOrder(reportType) {
|
||||||
|
|
||||||
|
switch (reportType) {
|
||||||
|
|
||||||
|
case 'Season':
|
||||||
|
{
|
||||||
|
return "SeriesSortName,SortName";
|
||||||
|
}
|
||||||
|
case 'Series':
|
||||||
|
{
|
||||||
|
return "SortName";
|
||||||
|
}
|
||||||
|
case 'Game':
|
||||||
|
{
|
||||||
|
return "GameSystem,SortName";
|
||||||
|
}
|
||||||
|
case 'Audio':
|
||||||
|
{
|
||||||
|
return "AlbumArtist,Album,SortName";
|
||||||
|
}
|
||||||
|
case 'Episode':
|
||||||
|
{
|
||||||
|
return "SeriesSortName,SortName";
|
||||||
|
}
|
||||||
|
case 'BoxSet':
|
||||||
|
{
|
||||||
|
return "SortName";
|
||||||
|
}
|
||||||
|
case 'Book':
|
||||||
|
{
|
||||||
|
return "SortName";
|
||||||
|
}
|
||||||
|
case 'MusicArtist':
|
||||||
|
{
|
||||||
|
return "SortName";
|
||||||
|
}
|
||||||
|
case 'MusicAlbum':
|
||||||
|
{
|
||||||
|
return "AlbumArtist,SortName";
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
{
|
||||||
|
return "SortName";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function getItemCellsHtml(item, headercells) {
|
function getItemCellsHtml(item, headercells) {
|
||||||
|
|
||||||
return headercells.map(function (cell) {
|
return headercells.map(function (cell) {
|
||||||
|
@ -161,6 +210,8 @@
|
||||||
var html = '';
|
var html = '';
|
||||||
html += '<td>';
|
html += '<td>';
|
||||||
|
|
||||||
|
var stream;
|
||||||
|
|
||||||
switch (cell.type || cell.name) {
|
switch (cell.type || cell.name) {
|
||||||
|
|
||||||
case 'Album Artist':
|
case 'Album Artist':
|
||||||
|
@ -205,7 +256,7 @@
|
||||||
}
|
}
|
||||||
case 'Audio':
|
case 'Audio':
|
||||||
{
|
{
|
||||||
var stream = (item.MediaStreams || []).filter(function (s) {
|
stream = (item.MediaStreams || []).filter(function (s) {
|
||||||
|
|
||||||
return s.Type == 'Audio';
|
return s.Type == 'Audio';
|
||||||
|
|
||||||
|
@ -220,7 +271,7 @@
|
||||||
}
|
}
|
||||||
case 'Video':
|
case 'Video':
|
||||||
{
|
{
|
||||||
var stream = (item.MediaStreams || []).filter(function (s) {
|
stream = (item.MediaStreams || []).filter(function (s) {
|
||||||
|
|
||||||
return s.Type == 'Video';
|
return s.Type == 'Video';
|
||||||
|
|
||||||
|
@ -231,6 +282,19 @@
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case 'Resolution':
|
||||||
|
{
|
||||||
|
stream = (item.MediaStreams || []).filter(function (s) {
|
||||||
|
|
||||||
|
return s.Type == 'Video';
|
||||||
|
|
||||||
|
})[0];
|
||||||
|
|
||||||
|
if (stream && stream.Width) {
|
||||||
|
html += stream.Width + "*" + (stream.Height || "-");
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
case 'Embedded Image':
|
case 'Embedded Image':
|
||||||
{
|
{
|
||||||
if ((item.MediaStreams || []).filter(function (s) {
|
if ((item.MediaStreams || []).filter(function (s) {
|
||||||
|
@ -608,6 +672,9 @@
|
||||||
query.StartIndex = 0;
|
query.StartIndex = 0;
|
||||||
query.IncludeItemTypes = this.value;
|
query.IncludeItemTypes = this.value;
|
||||||
|
|
||||||
|
query.SortBy = getDefaultSortOrder(this.value);
|
||||||
|
query.SortOrder = "Ascending";
|
||||||
|
|
||||||
reloadItems(page);
|
reloadItems(page);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -782,6 +849,9 @@
|
||||||
query.StartIndex = 0;
|
query.StartIndex = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
query.SortBy = getDefaultSortOrder($('#selectView', page).val());
|
||||||
|
query.SortOrder = "Ascending";
|
||||||
|
|
||||||
reloadItems(page);
|
reloadItems(page);
|
||||||
|
|
||||||
}).on('pageshow', "#libraryReportPage", function () {
|
}).on('pageshow', "#libraryReportPage", function () {
|
||||||
|
|
|
@ -8,14 +8,14 @@
|
||||||
|
|
||||||
userId: Dashboard.getCurrentUserId(),
|
userId: Dashboard.getCurrentUserId(),
|
||||||
IsAiring: true,
|
IsAiring: true,
|
||||||
limit: 10
|
limit: 12
|
||||||
|
|
||||||
}).done(function (result) {
|
}).done(function (result) {
|
||||||
|
|
||||||
var html = LibraryBrowser.getPosterViewHtml({
|
var html = LibraryBrowser.getPosterViewHtml({
|
||||||
|
|
||||||
items: result.Items,
|
items: result.Items,
|
||||||
shape: "backdrop",
|
shape: "square",
|
||||||
showTitle: true,
|
showTitle: true,
|
||||||
showParentTitle: true,
|
showParentTitle: true,
|
||||||
overlayText: true,
|
overlayText: true,
|
||||||
|
@ -31,14 +31,14 @@
|
||||||
userId: Dashboard.getCurrentUserId(),
|
userId: Dashboard.getCurrentUserId(),
|
||||||
IsAiring: false,
|
IsAiring: false,
|
||||||
HasAired: false,
|
HasAired: false,
|
||||||
limit: 10
|
limit: 12
|
||||||
|
|
||||||
}).done(function (result) {
|
}).done(function (result) {
|
||||||
|
|
||||||
var html = LibraryBrowser.getPosterViewHtml({
|
var html = LibraryBrowser.getPosterViewHtml({
|
||||||
|
|
||||||
items: result.Items,
|
items: result.Items,
|
||||||
shape: "backdrop",
|
shape: "square",
|
||||||
showTitle: true,
|
showTitle: true,
|
||||||
showParentTitle: true,
|
showParentTitle: true,
|
||||||
overlayText: true,
|
overlayText: true,
|
||||||
|
|
|
@ -26,9 +26,6 @@
|
||||||
|
|
||||||
updateFilterControls(page);
|
updateFilterControls(page);
|
||||||
|
|
||||||
var checkSortOption = $('.radioSortBy:checked', page);
|
|
||||||
$('.viewSummary', page).html(LibraryBrowser.getViewSummaryHtml(query, checkSortOption)).trigger('create');
|
|
||||||
|
|
||||||
html = LibraryBrowser.getPosterViewHtml({
|
html = LibraryBrowser.getPosterViewHtml({
|
||||||
items: result.Items,
|
items: result.Items,
|
||||||
shape: "backdrop",
|
shape: "backdrop",
|
||||||
|
@ -66,36 +63,12 @@
|
||||||
|
|
||||||
function updateFilterControls(page) {
|
function updateFilterControls(page) {
|
||||||
|
|
||||||
// Reset form values using the last used query
|
|
||||||
$('.radioSortBy', page).each(function () {
|
|
||||||
|
|
||||||
this.checked = (query.SortBy || '').toLowerCase() == this.getAttribute('data-sortby').toLowerCase();
|
|
||||||
|
|
||||||
}).checkboxradio('refresh');
|
|
||||||
|
|
||||||
$('.radioSortOrder', page).each(function () {
|
|
||||||
|
|
||||||
this.checked = (query.SortOrder || '').toLowerCase() == this.getAttribute('data-sortorder').toLowerCase();
|
|
||||||
|
|
||||||
}).checkboxradio('refresh');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$(document).on('pageinit', "#movieGenresPage", function () {
|
$(document).on('pageinit', "#movieGenresPage", function () {
|
||||||
|
|
||||||
var page = this;
|
var page = this;
|
||||||
|
|
||||||
$('.radioSortBy', this).on('click', function () {
|
|
||||||
query.SortBy = this.getAttribute('data-sortby');
|
|
||||||
query.StartIndex = 0;
|
|
||||||
reloadItems(page);
|
|
||||||
});
|
|
||||||
|
|
||||||
$('.radioSortOrder', this).on('click', function () {
|
|
||||||
query.SortOrder = this.getAttribute('data-sortorder');
|
|
||||||
query.StartIndex = 0;
|
|
||||||
reloadItems(page);
|
|
||||||
});
|
|
||||||
|
|
||||||
$('.chkStandardFilter', this).on('change', function () {
|
$('.chkStandardFilter', this).on('change', function () {
|
||||||
|
|
||||||
var filterName = this.getAttribute('data-filter');
|
var filterName = this.getAttribute('data-filter');
|
||||||
|
|
|
@ -27,9 +27,6 @@
|
||||||
|
|
||||||
updateFilterControls(page);
|
updateFilterControls(page);
|
||||||
|
|
||||||
var checkSortOption = $('.radioSortBy:checked', page);
|
|
||||||
$('.viewSummary', page).html(LibraryBrowser.getViewSummaryHtml(query, checkSortOption)).trigger('create');
|
|
||||||
|
|
||||||
html = LibraryBrowser.getPosterViewHtml({
|
html = LibraryBrowser.getPosterViewHtml({
|
||||||
items: result.Items,
|
items: result.Items,
|
||||||
shape: "portrait",
|
shape: "portrait",
|
||||||
|
@ -68,19 +65,6 @@
|
||||||
|
|
||||||
function updateFilterControls(page) {
|
function updateFilterControls(page) {
|
||||||
|
|
||||||
// Reset form values using the last used query
|
|
||||||
$('.radioSortBy', page).each(function () {
|
|
||||||
|
|
||||||
this.checked = (query.SortBy || '').toLowerCase() == this.getAttribute('data-sortby').toLowerCase();
|
|
||||||
|
|
||||||
}).checkboxradio('refresh');
|
|
||||||
|
|
||||||
$('.radioSortOrder', page).each(function () {
|
|
||||||
|
|
||||||
this.checked = (query.SortOrder || '').toLowerCase() == this.getAttribute('data-sortorder').toLowerCase();
|
|
||||||
|
|
||||||
}).checkboxradio('refresh');
|
|
||||||
|
|
||||||
$('.chkPersonTypeFilter', page).each(function () {
|
$('.chkPersonTypeFilter', page).each(function () {
|
||||||
|
|
||||||
var filters = "," + (query.PersonTypes || "");
|
var filters = "," + (query.PersonTypes || "");
|
||||||
|
@ -97,18 +81,6 @@
|
||||||
|
|
||||||
var page = this;
|
var page = this;
|
||||||
|
|
||||||
$('.radioSortBy', this).on('click', function () {
|
|
||||||
query.SortBy = this.getAttribute('data-sortby');
|
|
||||||
query.StartIndex = 0;
|
|
||||||
reloadItems(page);
|
|
||||||
});
|
|
||||||
|
|
||||||
$('.radioSortOrder', this).on('click', function () {
|
|
||||||
query.SortOrder = this.getAttribute('data-sortorder');
|
|
||||||
query.StartIndex = 0;
|
|
||||||
reloadItems(page);
|
|
||||||
});
|
|
||||||
|
|
||||||
$('.chkStandardFilter', this).on('change', function () {
|
$('.chkStandardFilter', this).on('change', function () {
|
||||||
|
|
||||||
var filterName = this.getAttribute('data-filter');
|
var filterName = this.getAttribute('data-filter');
|
||||||
|
|
|
@ -26,9 +26,6 @@
|
||||||
|
|
||||||
updateFilterControls(page);
|
updateFilterControls(page);
|
||||||
|
|
||||||
var checkSortOption = $('.radioSortBy:checked', page);
|
|
||||||
$('.viewSummary', page).html(LibraryBrowser.getViewSummaryHtml(query, checkSortOption)).trigger('create');
|
|
||||||
|
|
||||||
html = LibraryBrowser.getPosterViewHtml({
|
html = LibraryBrowser.getPosterViewHtml({
|
||||||
items: result.Items,
|
items: result.Items,
|
||||||
shape: "backdrop",
|
shape: "backdrop",
|
||||||
|
@ -65,37 +62,12 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
function updateFilterControls(page) {
|
function updateFilterControls(page) {
|
||||||
|
|
||||||
// Reset form values using the last used query
|
|
||||||
$('.radioSortBy', page).each(function () {
|
|
||||||
|
|
||||||
this.checked = (query.SortBy || '').toLowerCase() == this.getAttribute('data-sortby').toLowerCase();
|
|
||||||
|
|
||||||
}).checkboxradio('refresh');
|
|
||||||
|
|
||||||
$('.radioSortOrder', page).each(function () {
|
|
||||||
|
|
||||||
this.checked = (query.SortOrder || '').toLowerCase() == this.getAttribute('data-sortorder').toLowerCase();
|
|
||||||
|
|
||||||
}).checkboxradio('refresh');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$(document).on('pageinit', "#movieStudiosPage", function () {
|
$(document).on('pageinit', "#movieStudiosPage", function () {
|
||||||
|
|
||||||
var page = this;
|
var page = this;
|
||||||
|
|
||||||
$('.radioSortBy', this).on('click', function () {
|
|
||||||
query.SortBy = this.getAttribute('data-sortby');
|
|
||||||
query.StartIndex = 0;
|
|
||||||
reloadItems(page);
|
|
||||||
});
|
|
||||||
|
|
||||||
$('.radioSortOrder', this).on('click', function () {
|
|
||||||
query.SortOrder = this.getAttribute('data-sortorder');
|
|
||||||
query.StartIndex = 0;
|
|
||||||
reloadItems(page);
|
|
||||||
});
|
|
||||||
|
|
||||||
$('.chkStandardFilter', this).on('change', function () {
|
$('.chkStandardFilter', this).on('change', function () {
|
||||||
|
|
||||||
var filterName = this.getAttribute('data-filter');
|
var filterName = this.getAttribute('data-filter');
|
||||||
|
|
|
@ -26,9 +26,6 @@
|
||||||
|
|
||||||
updateFilterControls(page);
|
updateFilterControls(page);
|
||||||
|
|
||||||
var checkSortOption = $('.radioSortBy:checked', page);
|
|
||||||
$('.viewSummary', page).html(LibraryBrowser.getViewSummaryHtml(query, checkSortOption)).trigger('create');
|
|
||||||
|
|
||||||
html = LibraryBrowser.getPosterViewHtml({
|
html = LibraryBrowser.getPosterViewHtml({
|
||||||
items: result.Items,
|
items: result.Items,
|
||||||
shape: "square",
|
shape: "square",
|
||||||
|
@ -66,19 +63,6 @@
|
||||||
|
|
||||||
function updateFilterControls(page) {
|
function updateFilterControls(page) {
|
||||||
|
|
||||||
// Reset form values using the last used query
|
|
||||||
$('.radioSortBy', page).each(function () {
|
|
||||||
|
|
||||||
this.checked = (query.SortBy || '').toLowerCase() == this.getAttribute('data-sortby').toLowerCase();
|
|
||||||
|
|
||||||
}).checkboxradio('refresh');
|
|
||||||
|
|
||||||
$('.radioSortOrder', page).each(function () {
|
|
||||||
|
|
||||||
this.checked = (query.SortOrder || '').toLowerCase() == this.getAttribute('data-sortorder').toLowerCase();
|
|
||||||
|
|
||||||
}).checkboxradio('refresh');
|
|
||||||
|
|
||||||
$('.alphabetPicker', page).alphaValue(query.NameStartsWithOrGreater);
|
$('.alphabetPicker', page).alphaValue(query.NameStartsWithOrGreater);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -86,18 +70,6 @@
|
||||||
|
|
||||||
var page = this;
|
var page = this;
|
||||||
|
|
||||||
$('.radioSortBy', this).on('click', function () {
|
|
||||||
query.SortBy = this.getAttribute('data-sortby');
|
|
||||||
query.StartIndex = 0;
|
|
||||||
reloadItems(page);
|
|
||||||
});
|
|
||||||
|
|
||||||
$('.radioSortOrder', this).on('click', function () {
|
|
||||||
query.SortOrder = this.getAttribute('data-sortorder');
|
|
||||||
query.StartIndex = 0;
|
|
||||||
reloadItems(page);
|
|
||||||
});
|
|
||||||
|
|
||||||
$('.chkStandardFilter', this).on('change', function () {
|
$('.chkStandardFilter', this).on('change', function () {
|
||||||
|
|
||||||
var filterName = this.getAttribute('data-filter');
|
var filterName = this.getAttribute('data-filter');
|
||||||
|
|
|
@ -25,9 +25,6 @@
|
||||||
|
|
||||||
updateFilterControls(page);
|
updateFilterControls(page);
|
||||||
|
|
||||||
var checkSortOption = $('.radioSortBy:checked', page);
|
|
||||||
$('.viewSummary', page).html(LibraryBrowser.getViewSummaryHtml(query, checkSortOption)).trigger('create');
|
|
||||||
|
|
||||||
html = LibraryBrowser.getPosterViewHtml({
|
html = LibraryBrowser.getPosterViewHtml({
|
||||||
items: result.Items,
|
items: result.Items,
|
||||||
shape: "square",
|
shape: "square",
|
||||||
|
@ -65,19 +62,6 @@
|
||||||
|
|
||||||
function updateFilterControls(page) {
|
function updateFilterControls(page) {
|
||||||
|
|
||||||
// Reset form values using the last used query
|
|
||||||
$('.radioSortBy', page).each(function () {
|
|
||||||
|
|
||||||
this.checked = (query.SortBy || '').toLowerCase() == this.getAttribute('data-sortby').toLowerCase();
|
|
||||||
|
|
||||||
}).checkboxradio('refresh');
|
|
||||||
|
|
||||||
$('.radioSortOrder', page).each(function () {
|
|
||||||
|
|
||||||
this.checked = (query.SortOrder || '').toLowerCase() == this.getAttribute('data-sortorder').toLowerCase();
|
|
||||||
|
|
||||||
}).checkboxradio('refresh');
|
|
||||||
|
|
||||||
$('.alphabetPicker', page).alphaValue(query.NameStartsWithOrGreater);
|
$('.alphabetPicker', page).alphaValue(query.NameStartsWithOrGreater);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -85,18 +69,6 @@
|
||||||
|
|
||||||
var page = this;
|
var page = this;
|
||||||
|
|
||||||
$('.radioSortBy', this).on('click', function () {
|
|
||||||
query.SortBy = this.getAttribute('data-sortby');
|
|
||||||
query.StartIndex = 0;
|
|
||||||
reloadItems(page);
|
|
||||||
});
|
|
||||||
|
|
||||||
$('.radioSortOrder', this).on('click', function () {
|
|
||||||
query.SortOrder = this.getAttribute('data-sortorder');
|
|
||||||
query.StartIndex = 0;
|
|
||||||
reloadItems(page);
|
|
||||||
});
|
|
||||||
|
|
||||||
$('.chkStandardFilter', this).on('change', function () {
|
$('.chkStandardFilter', this).on('change', function () {
|
||||||
|
|
||||||
var filterName = this.getAttribute('data-filter');
|
var filterName = this.getAttribute('data-filter');
|
||||||
|
|
|
@ -26,9 +26,6 @@
|
||||||
|
|
||||||
updateFilterControls(page);
|
updateFilterControls(page);
|
||||||
|
|
||||||
var checkSortOption = $('.radioSortBy:checked', page);
|
|
||||||
$('.viewSummary', page).html(LibraryBrowser.getViewSummaryHtml(query, checkSortOption)).trigger('create');
|
|
||||||
|
|
||||||
html = LibraryBrowser.getPosterViewHtml({
|
html = LibraryBrowser.getPosterViewHtml({
|
||||||
items: result.Items,
|
items: result.Items,
|
||||||
shape: "backdrop",
|
shape: "backdrop",
|
||||||
|
@ -66,36 +63,12 @@
|
||||||
|
|
||||||
function updateFilterControls(page) {
|
function updateFilterControls(page) {
|
||||||
|
|
||||||
// Reset form values using the last used query
|
|
||||||
$('.radioSortBy', page).each(function () {
|
|
||||||
|
|
||||||
this.checked = (query.SortBy || '').toLowerCase() == this.getAttribute('data-sortby').toLowerCase();
|
|
||||||
|
|
||||||
}).checkboxradio('refresh');
|
|
||||||
|
|
||||||
$('.radioSortOrder', page).each(function () {
|
|
||||||
|
|
||||||
this.checked = (query.SortOrder || '').toLowerCase() == this.getAttribute('data-sortorder').toLowerCase();
|
|
||||||
|
|
||||||
}).checkboxradio('refresh');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$(document).on('pageinit', "#musicGenresPage", function () {
|
$(document).on('pageinit', "#musicGenresPage", function () {
|
||||||
|
|
||||||
var page = this;
|
var page = this;
|
||||||
|
|
||||||
$('.radioSortBy', this).on('click', function () {
|
|
||||||
query.SortBy = this.getAttribute('data-sortby');
|
|
||||||
query.StartIndex = 0;
|
|
||||||
reloadItems(page);
|
|
||||||
});
|
|
||||||
|
|
||||||
$('.radioSortOrder', this).on('click', function () {
|
|
||||||
query.SortOrder = this.getAttribute('data-sortorder');
|
|
||||||
query.StartIndex = 0;
|
|
||||||
reloadItems(page);
|
|
||||||
});
|
|
||||||
|
|
||||||
$('.chkStandardFilter', this).on('change', function () {
|
$('.chkStandardFilter', this).on('change', function () {
|
||||||
|
|
||||||
var filterName = this.getAttribute('data-filter');
|
var filterName = this.getAttribute('data-filter');
|
||||||
|
|
|
@ -26,9 +26,6 @@
|
||||||
|
|
||||||
updateFilterControls(page);
|
updateFilterControls(page);
|
||||||
|
|
||||||
var checkSortOption = $('.radioSortBy:checked', page);
|
|
||||||
$('.viewSummary', page).html(LibraryBrowser.getViewSummaryHtml(query, checkSortOption)).trigger('create');
|
|
||||||
|
|
||||||
html += LibraryBrowser.getPosterViewHtml({
|
html += LibraryBrowser.getPosterViewHtml({
|
||||||
items: result.Items,
|
items: result.Items,
|
||||||
useAverageAspectRatio: true,
|
useAverageAspectRatio: true,
|
||||||
|
@ -69,19 +66,6 @@
|
||||||
|
|
||||||
function updateFilterControls(page) {
|
function updateFilterControls(page) {
|
||||||
|
|
||||||
// Reset form values using the last used query
|
|
||||||
$('.radioSortBy', page).each(function () {
|
|
||||||
|
|
||||||
this.checked = (query.SortBy || '').toLowerCase() == this.getAttribute('data-sortby').toLowerCase();
|
|
||||||
|
|
||||||
}).checkboxradio('refresh');
|
|
||||||
|
|
||||||
$('.radioSortOrder', page).each(function () {
|
|
||||||
|
|
||||||
this.checked = (query.SortOrder || '').toLowerCase() == this.getAttribute('data-sortorder').toLowerCase();
|
|
||||||
|
|
||||||
}).checkboxradio('refresh');
|
|
||||||
|
|
||||||
$('.chkStandardFilter', page).each(function () {
|
$('.chkStandardFilter', page).each(function () {
|
||||||
|
|
||||||
var filters = "," + (query.Filters || "");
|
var filters = "," + (query.Filters || "");
|
||||||
|
@ -96,18 +80,6 @@
|
||||||
|
|
||||||
var page = this;
|
var page = this;
|
||||||
|
|
||||||
$('.radioSortBy', this).on('click', function () {
|
|
||||||
query.SortBy = this.getAttribute('data-sortby');
|
|
||||||
query.StartIndex = 0;
|
|
||||||
reloadItems(page);
|
|
||||||
});
|
|
||||||
|
|
||||||
$('.radioSortOrder', this).on('click', function () {
|
|
||||||
query.SortOrder = this.getAttribute('data-sortorder');
|
|
||||||
query.StartIndex = 0;
|
|
||||||
reloadItems(page);
|
|
||||||
});
|
|
||||||
|
|
||||||
$('.chkStandardFilter', this).on('change', function () {
|
$('.chkStandardFilter', this).on('change', function () {
|
||||||
|
|
||||||
var filterName = this.getAttribute('data-filter');
|
var filterName = this.getAttribute('data-filter');
|
||||||
|
|
|
@ -26,9 +26,6 @@
|
||||||
|
|
||||||
updateFilterControls(page);
|
updateFilterControls(page);
|
||||||
|
|
||||||
var checkSortOption = $('.radioSortBy:checked', page);
|
|
||||||
$('.viewSummary', page).html(LibraryBrowser.getViewSummaryHtml(query, checkSortOption)).trigger('create');
|
|
||||||
|
|
||||||
html += LibraryBrowser.getPosterViewHtml({
|
html += LibraryBrowser.getPosterViewHtml({
|
||||||
items: result.Items,
|
items: result.Items,
|
||||||
useAverageAspectRatio: true,
|
useAverageAspectRatio: true,
|
||||||
|
@ -69,19 +66,6 @@
|
||||||
|
|
||||||
function updateFilterControls(page) {
|
function updateFilterControls(page) {
|
||||||
|
|
||||||
// Reset form values using the last used query
|
|
||||||
$('.radioSortBy', page).each(function () {
|
|
||||||
|
|
||||||
this.checked = (query.SortBy || '').toLowerCase() == this.getAttribute('data-sortby').toLowerCase();
|
|
||||||
|
|
||||||
}).checkboxradio('refresh');
|
|
||||||
|
|
||||||
$('.radioSortOrder', page).each(function () {
|
|
||||||
|
|
||||||
this.checked = (query.SortOrder || '').toLowerCase() == this.getAttribute('data-sortorder').toLowerCase();
|
|
||||||
|
|
||||||
}).checkboxradio('refresh');
|
|
||||||
|
|
||||||
$('.chkStandardFilter', page).each(function () {
|
$('.chkStandardFilter', page).each(function () {
|
||||||
|
|
||||||
var filters = "," + (query.Filters || "");
|
var filters = "," + (query.Filters || "");
|
||||||
|
@ -96,18 +80,6 @@
|
||||||
|
|
||||||
var page = this;
|
var page = this;
|
||||||
|
|
||||||
$('.radioSortBy', this).on('click', function () {
|
|
||||||
query.SortBy = this.getAttribute('data-sortby');
|
|
||||||
query.StartIndex = 0;
|
|
||||||
reloadItems(page);
|
|
||||||
});
|
|
||||||
|
|
||||||
$('.radioSortOrder', this).on('click', function () {
|
|
||||||
query.SortOrder = this.getAttribute('data-sortorder');
|
|
||||||
query.StartIndex = 0;
|
|
||||||
reloadItems(page);
|
|
||||||
});
|
|
||||||
|
|
||||||
$('.chkStandardFilter', this).on('change', function () {
|
$('.chkStandardFilter', this).on('change', function () {
|
||||||
|
|
||||||
var filterName = this.getAttribute('data-filter');
|
var filterName = this.getAttribute('data-filter');
|
||||||
|
|
|
@ -18,46 +18,13 @@
|
||||||
<div data-role="content">
|
<div data-role="content">
|
||||||
<div class="viewSettings">
|
<div class="viewSettings">
|
||||||
<div class="viewControls">
|
<div class="viewControls">
|
||||||
<button data-mini="true" data-icon="sort" data-inline="true" onclick="$('#sortPanel', $(this).parents('.page')).panel( 'toggle' );">Sort</button>
|
|
||||||
<button data-mini="true" data-icon="filter" data-inline="true" onclick="$('#filterPanel', $(this).parents('.page')).panel( 'toggle' );">Filter</button>
|
<button data-mini="true" data-icon="filter" data-inline="true" onclick="$('#filterPanel', $(this).parents('.page')).panel( 'toggle' );">Filter</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="listTopPaging">
|
<div class="listTopPaging">
|
||||||
</div>
|
</div>
|
||||||
<div class="viewSummary"></div>
|
|
||||||
</div>
|
</div>
|
||||||
<div id="items" class="itemsContainer"></div>
|
<div id="items" class="itemsContainer"></div>
|
||||||
</div>
|
</div>
|
||||||
<div data-role="panel" id="sortPanel" data-position="right" data-display="overlay" data-theme="a" data-position-fixed="true">
|
|
||||||
|
|
||||||
<form>
|
|
||||||
<fieldset data-role="controlgroup">
|
|
||||||
<legend>
|
|
||||||
<strong>Sort By:</strong>
|
|
||||||
</legend>
|
|
||||||
|
|
||||||
<input class="radioSortBy defaultSort" type="radio" name="radioSortBy" id="radioSortName" value="on" checked="checked" data-sortby="SortName" data-mini="true">
|
|
||||||
<label for="radioSortName">Name</label>
|
|
||||||
|
|
||||||
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioSeriesCount" value="on" checked="checked" data-sortby="SeriesCount,SortName" data-mini="true">
|
|
||||||
<label for="radioSeriesCount">Series count</label>
|
|
||||||
|
|
||||||
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioEpisodeCount" value="on" checked="checked" data-sortby="EpisodeCount,SortName" data-mini="true">
|
|
||||||
<label for="radioEpisodeCount">Episode count</label>
|
|
||||||
</fieldset>
|
|
||||||
|
|
||||||
<fieldset data-role="controlgroup">
|
|
||||||
<legend>
|
|
||||||
<strong>Sort Order:</strong>
|
|
||||||
</legend>
|
|
||||||
|
|
||||||
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioAscending" value="on" checked="checked" data-sortorder="Ascending" data-mini="true">
|
|
||||||
<label for="radioAscending">Ascending</label>
|
|
||||||
|
|
||||||
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioDescending" value="off" data-sortorder="Descending" data-mini="true">
|
|
||||||
<label for="radioDescending">Descending</label>
|
|
||||||
</fieldset>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-theme="a" data-position-fixed="true">
|
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-theme="a" data-position-fixed="true">
|
||||||
<form>
|
<form>
|
||||||
<fieldset data-role="controlgroup">
|
<fieldset data-role="controlgroup">
|
||||||
|
|
|
@ -18,46 +18,13 @@
|
||||||
<div data-role="content">
|
<div data-role="content">
|
||||||
<div class="viewSettings">
|
<div class="viewSettings">
|
||||||
<div class="viewControls">
|
<div class="viewControls">
|
||||||
<button data-mini="true" data-icon="sort" data-inline="true" onclick="$('#sortPanel', $(this).parents('.page')).panel( 'toggle' );">Sort</button>
|
|
||||||
<button data-mini="true" data-icon="filter" data-inline="true" onclick="$('#filterPanel', $(this).parents('.page')).panel( 'toggle' );">Filter</button>
|
<button data-mini="true" data-icon="filter" data-inline="true" onclick="$('#filterPanel', $(this).parents('.page')).panel( 'toggle' );">Filter</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="listTopPaging">
|
<div class="listTopPaging">
|
||||||
</div>
|
</div>
|
||||||
<div class="viewSummary"></div>
|
|
||||||
</div>
|
</div>
|
||||||
<div id="items" class="itemsContainer"></div>
|
<div id="items" class="itemsContainer"></div>
|
||||||
</div>
|
</div>
|
||||||
<div data-role="panel" id="sortPanel" data-position="right" data-display="overlay" data-theme="a" data-position-fixed="true">
|
|
||||||
|
|
||||||
<form>
|
|
||||||
<fieldset data-role="controlgroup">
|
|
||||||
<legend>
|
|
||||||
<strong>Sort By:</strong>
|
|
||||||
</legend>
|
|
||||||
|
|
||||||
<input class="radioSortBy defaultSort" type="radio" name="radioSortBy" id="radioSortName" value="on" checked="checked" data-sortby="SortName" data-mini="true">
|
|
||||||
<label for="radioSortName">Name</label>
|
|
||||||
|
|
||||||
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioSeriesCount" value="on" checked="checked" data-sortby="SeriesCount,SortName" data-mini="true">
|
|
||||||
<label for="radioSeriesCount">Series count</label>
|
|
||||||
|
|
||||||
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioEpisodeCount" value="on" checked="checked" data-sortby="EpisodeCount,SortName" data-mini="true">
|
|
||||||
<label for="radioEpisodeCount">Episode count</label>
|
|
||||||
</fieldset>
|
|
||||||
|
|
||||||
<fieldset data-role="controlgroup">
|
|
||||||
<legend>
|
|
||||||
<strong>Sort Order:</strong>
|
|
||||||
</legend>
|
|
||||||
|
|
||||||
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioAscending" value="on" checked="checked" data-sortorder="Ascending" data-mini="true">
|
|
||||||
<label for="radioAscending">Ascending</label>
|
|
||||||
|
|
||||||
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioDescending" value="off" data-sortorder="Descending" data-mini="true">
|
|
||||||
<label for="radioDescending">Descending</label>
|
|
||||||
</fieldset>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-theme="a" data-position-fixed="true">
|
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-theme="a" data-position-fixed="true">
|
||||||
<form>
|
<form>
|
||||||
<fieldset data-role="controlgroup">
|
<fieldset data-role="controlgroup">
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue