update translations

This commit is contained in:
Luke Pulverenti 2014-07-20 00:46:29 -04:00
parent c944079976
commit 640fc18b21
80 changed files with 2365 additions and 1909 deletions

View File

@ -12,7 +12,6 @@
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true"> <div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
<a href="#" data-role="button" class="ui-btn-active">${TabGeneral}</a> <a href="#" data-role="button" class="ui-btn-active">${TabGeneral}</a>
<a href="notificationsettings.html" data-role="button">${TabNotifications}</a> <a href="notificationsettings.html" data-role="button">${TabNotifications}</a>
<a href="advancedpaths.html" data-role="button">${TabPaths}</a>
<a href="appsplayback.html" data-role="button">${TabResume}</a> <a href="appsplayback.html" data-role="button">${TabResume}</a>
<a href="encodingsettings.html" data-role="button">${TabTranscoding}</a> <a href="encodingsettings.html" data-role="button">${TabTranscoding}</a>
</div> </div>

View File

@ -1,70 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title>${TitleAdvanced}</title>
</head>
<body>
<div id="advancedPathsPage" data-role="page" class="page type-interior advancedConfigurationPage">
<div data-role="content">
<div class="content-primary">
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
<a href="advanced.html" data-role="button">${TabGeneral}</a>
<a href="notificationsettings.html" data-role="button">${TabNotifications}</a>
<a href="#" data-role="button" class="ui-btn-active">${TabPaths}</a>
<a href="appsplayback.html" data-role="button">${TabResume}</a>
<a href="encodingsettings.html" data-role="button">${TabTranscoding}</a>
</div>
<form class="advancedPathsForm">
<p>${LabelCustomPaths}</p>
<br />
<ul data-role="listview" class="ulForm">
<li>
<label for="txtCachePath">${LabelCachePath}</label>
<div style="display: inline-block; width: 92%;">
<input type="text" id="txtCachePath" name="txtCachePath" data-mini="true" />
</div>
<button id="btnSelectCachePath" type="button" data-icon="search" data-iconpos="notext" data-inline="true">${ButtonSelectDirectory}</button>
<div class="fieldDescription">${LabelCachePathHelp}</div>
</li>
<li>
<label for="txtItemsByNamePath">${LabelImagesByNamePath}</label>
<div style="display: inline-block; width: 92%;">
<input type="text" id="txtItemsByNamePath" name="txtItemsByNamePath" />
</div>
<button id="btnSelectIBNPath" type="button" data-icon="search" data-iconpos="notext" data-inline="true">${ButtonSelectDirectory}</button>
<div class="fieldDescription">${LabelImagesByNamePathHelp}</div>
</li>
<li>
<label for="txtMetadataPath">${LabelMetadataPath}</label>
<div style="display: inline-block; width: 92%;">
<input type="text" id="txtMetadataPath" name="txtMetadataPath" />
</div>
<button id="btnSelectMetadataPath" type="button" data-icon="search" data-iconpos="notext" data-inline="true">${ButtonSelectDirectory}</button>
<div class="fieldDescription">${LabelMetadataPathHelp}</div>
</li>
</ul>
<br />
<ul data-role="listview" class="ulForm">
<li>
<button type="submit" data-theme="b" data-icon="check" data-mini="true">
${ButtonSave}
</button>
<button type="button" onclick="Dashboard.navigate('dashboard.html');" data-icon="delete" data-mini="true">
${ButtonCancel}
</button>
</li>
</ul>
</form>
</div>
</div>
<script type="text/javascript">
$('.advancedPathsForm').off('submit', AdvancedPathsPage.onSubmit).on('submit', AdvancedPathsPage.onSubmit);
</script>
</div>
</body>
</html>

View File

@ -1,61 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title>${TitleServer}</title>
</head>
<body>
<div id="advancedServerSettingsPage" data-role="page" class="page type-interior dashboardHomePage">
<div data-role="content">
<div class="content-primary">
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
<a href="dashboard.html" data-role="button">${TabDashboard}</a>
<a href="dashboardgeneral.html" data-role="button">${TabGeneral}</a>
<a href="#" data-role="button" class="ui-btn-active">${TabAdvanced}</a>
<a href="serversecurity.html" data-role="button">${TabSecurity}</a>
</div>
<form class="advancedServerSettingsForm">
<ul data-role="listview" class="ulForm">
<li>
<label for="txtPortNumber">${LabelHttpServerPortNumber}</label>
<input type="number" id="txtPortNumber" name="txtPortNumber" pattern="[0-9]*" required="required" min="1" data-mini="true" />
</li>
<li id="fldWebSocketPortNumber" style="display: none;">
<label for="txtWebSocketPortNumber">${LabelWebSocketPortNumber}</label>
<input type="number" id="txtWebSocketPortNumber" name="txtWebSocketPortNumber" pattern="[0-9]*" required="required" min="1" data-mini="true" />
</li>
<li>
<label for="chkEnableUpnp">${LabelEnableAutomaticPortMapping}</label>
<input type="checkbox" id="chkEnableUpnp" data-mini="true" />
<div class="fieldDescription">${LabelEnableAutomaticPortHelp}</div>
</li>
<li>
<label for="txtDdns">${LabelExternalDDNS}</label>
<input id="txtDdns" data-mini="true" />
<div class="fieldDescription">${LabelExternalDDNSHelp}</div>
</li>
</ul>
<br />
<ul data-role="listview" class="ulForm">
<li>
<button type="submit" data-theme="b" data-icon="check" data-mini="true">
${ButtonSave}
</button>
<button type="button" onclick="Dashboard.navigate('dashboard.html');" data-icon="delete" data-mini="true">
${ButtonCancel}
</button>
</li>
</ul>
</form>
</div>
</div>
<script type="text/javascript">
$('.advancedServerSettingsForm').off('submit', AdvancedServerSettingsPage.onSubmit).on('submit', AdvancedServerSettingsPage.onSubmit);
</script>
</div>
</body>
</html>

View File

@ -11,7 +11,6 @@
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true"> <div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
<a href="advanced.html" data-role="button">${TabGeneral}</a> <a href="advanced.html" data-role="button">${TabGeneral}</a>
<a href="notificationsettings.html" data-role="button">${TabNotifications}</a> <a href="notificationsettings.html" data-role="button">${TabNotifications}</a>
<a href="advancedpaths.html" data-role="button">${TabPaths}</a>
<a href="#" class="ui-btn-active" data-role="button">${TabResume}</a> <a href="#" class="ui-btn-active" data-role="button">${TabResume}</a>
<a href="encodingsettings.html" data-role="button">${TabTranscoding}</a> <a href="encodingsettings.html" data-role="button">${TabTranscoding}</a>
</div> </div>

View File

@ -18,10 +18,6 @@
<h1 class="categoryTitle" style="margin: 0 1em 0 0; display: inline-block; vertical-align: middle;"></h1> <h1 class="categoryTitle" style="margin: 0 1em 0 0; display: inline-block; vertical-align: middle;"></h1>
<div class="viewControls" data-role="controlgroup" data-type="horizontal">
<button data-mini="true" data-icon="sort" data-inline="true" data-iconpos="notext" title="${ButtonSort}" onclick="$('#sortPanel', $(this).parents('.page')).panel( 'toggle' );">${ButtonSort}</button>
<button class="btnFilter" data-mini="true" data-icon="filter" data-inline="true" data-iconpos="notext" title="${ButtonFilter}" onclick="$('#filterPanel', $(this).parents('.page')).panel( 'toggle' );">${ButtonFilter}</button>
</div>
<div class="listTopPaging"> <div class="listTopPaging">
</div> </div>
</div> </div>
@ -32,88 +28,103 @@
<p style="color: #eee;">${MessageLoadingChannels}</p> <p style="color: #eee;">${MessageLoadingChannels}</p>
</div> </div>
</div> </div>
<div data-role="panel" id="sortPanel" data-position="right" data-display="overlay" data-position-fixed="true">
<div data-role="panel" class="viewPanel" data-theme="a" data-position="right" data-display="overlay" data-position-fixed="true">
<form> <form>
<fieldset data-role="controlgroup">
<legend>
<strong>${HeaderSortBy}</strong>
</legend>
<input class="radioSortBy defaultSort" type="radio" name="radioSortBy" id="radioDefaultSort" value="on" checked="checked" data-sortby="" data-mini="true"> <div data-role="controlgroup" data-type="horizontal" data-mini="true" class="viewPanelTabs">
<label for="radioDefaultSort">${OptionDefaultSort}</label> <a href="#" data-role="button" class="viewTabButton" data-tab="tabView">${TabView}</a>
<a href="#" data-role="button" class="viewTabButton" data-tab="tabSort">${TabSort}</a>
<a href="#" data-role="button" class="viewTabButton" data-tab="tabFilter">${TabFilter}</a>
</div>
<div class="sortbyName"> <div class="tabView viewTab">
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioSortName" value="on" checked="checked" data-sortby="SortName" data-mini="true">
<label for="radioSortName">${OptionNameSort}</label> <div>
<label for="selectPageSize">${LabelPageSize}</label>
<select id="selectPageSize"></select>
</div> </div>
<div class="sortbyCommunityRating"> </div>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioCommunityRating" value="off" data-sortby="CommunityRating" data-mini="true"> <div class="tabFilter viewTab">
<label for="radioCommunityRating">${OptionCommunityRating}</label> <fieldset data-role="controlgroup" class="filterControls">
</div>
<div class="sortbyDateCreated">
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioDateCreated" value="off" data-sortby="DateCreated" data-mini="true">
<label for="radioDateCreated">${OptionDateAdded}</label>
</div>
<div class="sortbyPlayCount">
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioPlayCount" value="off" data-sortby="PlayCount" data-mini="true">
<label for="radioPlayCount">${OptionPlayCount}</label>
</div>
<div class="sortbyPremiereDate">
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioPremiereDate" value="off" data-sortby="PremiereDate" data-mini="true">
<label for="radioPremiereDate">${OptionReleaseDate}</label>
</div>
<div class="sortbyRuntime">
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioRuntime" value="off" data-sortby="Runtime" data-mini="true">
<label for="radioRuntime">${OptionRuntime}</label>
</div>
</fieldset>
<br />
<div class="sortOrderToggle">
<fieldset data-role="controlgroup">
<legend> <legend>
<strong>${HeaderSortOrder}</strong> ${HeaderFilters}
</legend> </legend>
<input class="chkStandardFilter" type="checkbox" name="chkPlayed" id="chkPlayed" data-filter="IsPlayed" data-mini="true">
<label for="chkPlayed">${OptionPlayed}</label>
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioAscending" value="on" checked="checked" data-sortorder="Ascending" data-mini="true"> <input class="chkStandardFilter" type="checkbox" name="chkUnplayed" id="chkUnplayed" data-filter="IsUnPlayed" data-mini="true">
<label for="radioAscending">${OptionAscending}</label> <label for="chkUnplayed">${OptionUnplayed}</label>
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioDescending" value="off" data-sortorder="Descending" data-mini="true"> <input class="chkStandardFilter" type="checkbox" name="chkResumable" id="chkResumable" data-filter="IsResumable" data-mini="true">
<label for="radioDescending">${OptionDescending}</label> <label for="chkResumable">${OptionResumable}</label>
<input class="chkStandardFilter" type="checkbox" name="chkIsFavorite" id="chkIsFavorite" data-filter="IsFavorite" data-mini="true">
<label for="chkIsFavorite">${OptionFavorite}</label>
<input class="chkStandardFilter" type="checkbox" name="chkLikes" id="chkLikes" data-filter="Likes" data-mini="true">
<label for="chkLikes">${OptionLikes}</label>
<input class="chkStandardFilter" type="checkbox" name="chkDislikes" id="chkDislikes" data-filter="Dislikes" data-mini="true">
<label for="chkDislikes">${OptionDislikes}</label>
</fieldset> </fieldset>
</div> </div>
</form> <div class="tabSort viewTab">
</div> <fieldset data-role="controlgroup">
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-position-fixed="true"> <legend>
<form> ${HeaderSortBy}
<fieldset data-role="controlgroup"> </legend>
<legend>
<strong>${HeaderFilters}</strong>
</legend>
<input class="chkStandardFilter" type="checkbox" name="chkPlayed" id="chkPlayed" data-filter="IsPlayed" data-mini="true">
<label for="chkPlayed">${OptionPlayed}</label>
<input class="chkStandardFilter" type="checkbox" name="chkUnplayed" id="chkUnplayed" data-filter="IsUnPlayed" data-mini="true"> <input class="radioSortBy defaultSort" type="radio" name="radioSortBy" id="radioDefaultSort" value="on" checked="checked" data-sortby="" data-mini="true">
<label for="chkUnplayed">${OptionUnplayed}</label> <label for="radioDefaultSort">${OptionDefaultSort}</label>
<input class="chkStandardFilter" type="checkbox" name="chkResumable" id="chkResumable" data-filter="IsResumable" data-mini="true"> <div class="sortbyName">
<label for="chkResumable">${OptionResumable}</label> <input class="radioSortBy" type="radio" name="radioSortBy" id="radioSortName" value="on" checked="checked" data-sortby="SortName" data-mini="true">
<label for="radioSortName">${OptionNameSort}</label>
</div>
<input class="chkStandardFilter" type="checkbox" name="chkIsFavorite" id="chkIsFavorite" data-filter="IsFavorite" data-mini="true"> <div class="sortbyCommunityRating">
<label for="chkIsFavorite">${OptionFavorite}</label> <input class="radioSortBy" type="radio" name="radioSortBy" id="radioCommunityRating" value="off" data-sortby="CommunityRating" data-mini="true">
<label for="radioCommunityRating">${OptionCommunityRating}</label>
</div>
<input class="chkStandardFilter" type="checkbox" name="chkLikes" id="chkLikes" data-filter="Likes" data-mini="true"> <div class="sortbyDateCreated">
<label for="chkLikes">${OptionLikes}</label> <input class="radioSortBy" type="radio" name="radioSortBy" id="radioDateCreated" value="off" data-sortby="DateCreated" data-mini="true">
<label for="radioDateCreated">${OptionDateAdded}</label>
</div>
<input class="chkStandardFilter" type="checkbox" name="chkDislikes" id="chkDislikes" data-filter="Dislikes" data-mini="true"> <div class="sortbyPlayCount">
<label for="chkDislikes">${OptionDislikes}</label> <input class="radioSortBy" type="radio" name="radioSortBy" id="radioPlayCount" value="off" data-sortby="PlayCount" data-mini="true">
</fieldset> <label for="radioPlayCount">${OptionPlayCount}</label>
</div>
<div class="sortbyPremiereDate">
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioPremiereDate" value="off" data-sortby="PremiereDate" data-mini="true">
<label for="radioPremiereDate">${OptionReleaseDate}</label>
</div>
<div class="sortbyRuntime">
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioRuntime" value="off" data-sortby="Runtime" data-mini="true">
<label for="radioRuntime">${OptionRuntime}</label>
</div>
</fieldset>
<br />
<div class="sortOrderToggle">
<fieldset data-role="controlgroup">
<legend>
${HeaderSortOrder}
</legend>
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioAscending" value="on" checked="checked" data-sortorder="Ascending" data-mini="true">
<label for="radioAscending">${OptionAscending}</label>
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioDescending" value="off" data-sortorder="Descending" data-mini="true">
<label for="radioDescending">${OptionDescending}</label>
</fieldset>
</div>
</div>
</form> </form>
</div> </div>
</div> </div>

View File

@ -25,22 +25,9 @@
<div data-role="content"> <div data-role="content">
<div class="viewSettings"> <div class="viewSettings">
<div style="display: inline-block;">
<select data-mini="true" data-inline="true" id="selectView" name="selectView">
<option value="Poster">${OptionPoster}</option>
<option value="List">${OptionList}</option>
</select>
</div>
<div class="viewControls" data-role="controlgroup" data-type="horizontal">
<button data-mini="true" data-icon="sort" data-inline="true" data-iconpos="notext" title="${ButtonSort}" onclick="$('#sortPanel', $(this).parents('.page')).panel( 'toggle' );">${ButtonSort}</button>
<button data-mini="true" data-icon="filter" data-inline="true" data-iconpos="notext" title="${ButtonFilter}" onclick="$('#filterPanel', $(this).parents('.page')).panel( 'toggle' );">${ButtonFilter}</button>
</div>
<div class="listTopPaging"> <div class="listTopPaging">
&nbsp; &nbsp;
</div> </div>
<button class="btnNewCollection hide" data-mini="true" data-icon="plus" data-inline="true">${ButtonNew}</button>
</div> </div>
<div id="items" class="itemsContainer"></div> <div id="items" class="itemsContainer"></div>
<div class="noItemsMessage" style="display: none; text-align: center;"> <div class="noItemsMessage" style="display: none; text-align: center;">
@ -71,13 +58,63 @@
</form> </form>
</div> </div>
<div data-role="panel" id="sortPanel" data-position="right" data-display="overlay" data-position-fixed="true"> <div data-role="panel" class="viewPanel" data-theme="a" data-position="right" data-display="overlay" data-position-fixed="true">
<form> <form>
<div id="sortpanel">
<div data-role="controlgroup" data-type="horizontal" data-mini="true" class="viewPanelTabs">
<a href="#" data-role="button" class="viewTabButton" data-tab="tabView">${TabView}</a>
<a href="#" data-role="button" class="viewTabButton" data-tab="tabSort">${TabSort}</a>
<a href="#" data-role="button" class="viewTabButton" data-tab="tabFilter">${TabFilter}</a>
</div>
<div class="tabView viewTab">
<div>
<label for="selectView">${LabelView}</label>
<select id="selectView">
<option value="Poster">${OptionPoster}</option>
<option value="List">${OptionList}</option>
</select>
</div>
<br />
<div>
<label for="selectPageSize">${LabelPageSize}</label>
<select id="selectPageSize"></select>
</div>
</div>
<div class="tabFilter viewTab">
<fieldset data-role="controlgroup">
<legend>${HeaderFilters}</legend>
<input class="chkStandardFilter" type="checkbox" name="chkIsFavorite" id="chkIsFavorite" data-filter="IsFavorite" data-mini="true">
<label for="chkIsFavorite">${OptionFavorite}</label>
<input class="chkStandardFilter" type="checkbox" name="chkLikes" id="chkLikes" data-filter="Likes" data-mini="true">
<label for="chkLikes">${OptionLikes}</label>
<input class="chkStandardFilter" type="checkbox" name="chkDislikes" id="chkDislikes" data-filter="Dislikes" data-mini="true">
<label for="chkDislikes">${OptionDislikes}</label>
</fieldset>
<fieldset data-role="controlgroup">
<legend>${LabelFeatures}</legend>
<input class="chkFeatureFilter" type="checkbox" name="chkTrailer" id="chkTrailer" data-mini="true">
<label for="chkTrailer">${OptionHasTrailer}</label>
<input class="chkFeatureFilter" type="checkbox" name="chkThemeSong" id="chkThemeSong" data-mini="true">
<label for="chkThemeSong">${OptionHasThemeSong}</label>
<input class="chkFeatureFilter" type="checkbox" name="chkThemeVideo" id="chkThemeVideo" data-mini="true">
<label for="chkThemeVideo">${OptionHasThemeVideo}</label>
</fieldset>
</div>
<div class="tabSort viewTab">
<fieldset data-role="controlgroup"> <fieldset data-role="controlgroup">
<legend> <legend>
<strong>${HeaderSortBy}</strong> ${HeaderSortBy}
</legend> </legend>
<input class="radioSortBy defaultSort" type="radio" name="radioSortBy" id="radioSortName" value="on" checked="checked" data-sortby="SortName" data-mini="true"> <input class="radioSortBy defaultSort" type="radio" name="radioSortBy" id="radioSortName" value="on" checked="checked" data-sortby="SortName" data-mini="true">
@ -92,7 +129,7 @@
<fieldset data-role="controlgroup"> <fieldset data-role="controlgroup">
<legend> <legend>
<strong>${HeaderSortOrder}</strong> ${HeaderSortOrder}
</legend> </legend>
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioAscending" value="on" checked="checked" data-sortorder="Ascending" data-mini="true"> <input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioAscending" value="on" checked="checked" data-sortorder="Ascending" data-mini="true">
@ -104,36 +141,6 @@
</div> </div>
</form> </form>
</div> </div>
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-position-fixed="true">
<form>
<fieldset data-role="controlgroup">
<legend>${HeaderFilters}</legend>
<input class="chkStandardFilter" type="checkbox" name="chkIsFavorite" id="chkIsFavorite" data-filter="IsFavorite" data-mini="true">
<label for="chkIsFavorite">${OptionFavorite}</label>
<input class="chkStandardFilter" type="checkbox" name="chkLikes" id="chkLikes" data-filter="Likes" data-mini="true">
<label for="chkLikes">${OptionLikes}</label>
<input class="chkStandardFilter" type="checkbox" name="chkDislikes" id="chkDislikes" data-filter="Dislikes" data-mini="true">
<label for="chkDislikes">${OptionDislikes}</label>
</fieldset>
<fieldset data-role="controlgroup">
<legend>${LabelFeatures}</legend>
<input class="chkFeatureFilter" type="checkbox" name="chkTrailer" id="chkTrailer" data-mini="true">
<label for="chkTrailer">${OptionHasTrailer}</label>
<input class="chkFeatureFilter" type="checkbox" name="chkThemeSong" id="chkThemeSong" data-mini="true">
<label for="chkThemeSong">${OptionHasThemeSong}</label>
<input class="chkFeatureFilter" type="checkbox" name="chkThemeVideo" id="chkThemeVideo" data-mini="true">
<label for="chkThemeVideo">${OptionHasThemeVideo}</label>
</fieldset>
</form>
</div>
<script type="text/javascript"> <script type="text/javascript">
$('.newCollectionForm').off('submit', BoxSetEditor.onNewCollectionSubmit).on('submit', BoxSetEditor.onNewCollectionSubmit); $('.newCollectionForm').off('submit', BoxSetEditor.onNewCollectionSubmit).on('submit', BoxSetEditor.onNewCollectionSubmit);

View File

@ -73,6 +73,18 @@
top: 8px; top: 8px;
} }
.viewPanel {
width: 250px;
}
.viewPanelModelOpen {
right: 250px !important;
}
.viewPanelTabs {
margin-bottom: 2em;
}
@media all and (max-width: 800px) { @media all and (max-width: 800px) {
.hiddenSectionOnMobile { .hiddenSectionOnMobile {
@ -163,18 +175,6 @@
display: inline-block; display: inline-block;
} }
.itemImageContainer {
vertical-align: top;
padding: 0 .8em 0 0;
display: inline-block;
}
@media all and (min-width: 650px) {
.itemImageContainer {
float: left;
}
}
@media all and (max-width: 650px) { @media all and (max-width: 650px) {
.pageSizeContainer { .pageSizeContainer {
display: none !important; display: none !important;
@ -999,11 +999,6 @@ a.itemTag:hover {
margin-right: auto; margin-right: auto;
} }
.selectionCommandsControlGroup {
display: inline-block;
margin-left: .5em;
}
@media all and (min-width: 750px) { @media all and (min-width: 750px) {
.lnkSibling:not(.hide) { .lnkSibling:not(.hide) {

View File

@ -11,8 +11,8 @@
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true"> <div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
<a href="#" data-role="button" class="ui-btn-active">${TabDashboard}</a> <a href="#" data-role="button" class="ui-btn-active">${TabDashboard}</a>
<a href="dashboardgeneral.html" data-role="button">${TabGeneral}</a> <a href="userprofiles.html" data-role="button">${TabUsers}</a>
<a href="advancedserversettings.html" data-role="button">${TabAdvanced}</a> <a href="dashboardgeneral.html" data-role="button">${TabSettings}</a>
<a href="serversecurity.html" data-role="button">${TabSecurity}</a> <a href="serversecurity.html" data-role="button">${TabSecurity}</a>
</div> </div>
<div class="dashboardContent"> <div class="dashboardContent">
@ -80,28 +80,38 @@
<h2 style="margin: 0 0 .35em;">${HeaderHelpImproveMediaBrowser}</h2> <h2 style="margin: 0 0 .35em;">${HeaderHelpImproveMediaBrowser}</h2>
<div> <div>
<a data-role="button" data-icon="mail" data-mini="true" href="supporter.html"> <a data-role="button" data-icon="mail" data-mini="true" href="supporter.html">
<img src="css/images/supporter/donatepaypal.png" /></a> <img src="css/images/supporter/donatepaypal.png" />
</a>
<a href="https://github.com/MediaBrowser/MediaBrowser/wiki" data-role="button" target="_blank" data-icon="user" data-mini="true">Join the Development Team</a> <a href="https://github.com/MediaBrowser/MediaBrowser/wiki" data-role="button" target="_blank" data-icon="user" data-mini="true">Join the Development Team</a>
<p class="appLinks" style="padding-left: 5px;"> <p class="appLinks" style="padding-left: 5px;">
<a href="http://www.amazon.com/Mark-Linton-Mediabrowser-Android-Client/dp/B00GVH9O0I" target="_blank"> <a href="http://www.amazon.com/Mark-Linton-Mediabrowser-Android-Client/dp/B00GVH9O0I" target="_blank">
<img src="css/images/clients/amazon.png" title="Android via Amazon App Store" /></a> <img src="css/images/clients/amazon.png" title="Android via Amazon App Store" />
</a>
<a href="https://play.google.com/store/apps/details?id=com.mb.android&hl=en" target="_blank"> <a href="https://play.google.com/store/apps/details?id=com.mb.android&hl=en" target="_blank">
<img src="css/images/clients/playstore.png" title="Android via Google Play Store" /></a> <img src="css/images/clients/playstore.png" title="Android via Google Play Store" />
</a>
<a href="https://itunes.apple.com/us/app/media-browser-for-ios/id705058087" target="_blank"> <a href="https://itunes.apple.com/us/app/media-browser-for-ios/id705058087" target="_blank">
<img src="css/images/clients/ios.png" title="iOS" /></a> <img src="css/images/clients/ios.png" title="iOS" />
</a>
<a href="http://mediabrowser.tv/community/index.php?/topic/8001-media-browser-for-roku-beta-channel/" target="_blank"> <a href="http://mediabrowser.tv/community/index.php?/topic/8001-media-browser-for-roku-beta-channel/" target="_blank">
<img src="css/images/clients/roku.jpg" title="Roku" /></a> <img src="css/images/clients/roku.jpg" title="Roku" />
</a>
<a href="http://www.windowsphone.com/s?appid=f4971ed9-f651-4bf6-84bb-94fd98613b86" target="_blank"> <a href="http://www.windowsphone.com/s?appid=f4971ed9-f651-4bf6-84bb-94fd98613b86" target="_blank">
<img src="css/images/clients/windowsphone.png" title="Windows Phone" /></a> <img src="css/images/clients/windowsphone.png" title="Windows Phone" />
</a>
<a href="http://apps.microsoft.com/windows/en-us/app/media-browser/ad55a2f0-9897-47bd-8944-bed3aefd5d06" target="_blank"> <a href="http://apps.microsoft.com/windows/en-us/app/media-browser/ad55a2f0-9897-47bd-8944-bed3aefd5d06" target="_blank">
<img src="css/images/clients/windowsrt.png" title="Windows 8.1" /></a> <img src="css/images/clients/windowsrt.png" title="Windows 8.1" />
</a>
<a href="http://mediabrowser.tv" target="_blank" title="Windows Media Center"> <a href="http://mediabrowser.tv" target="_blank" title="Windows Media Center">
<img src="css/images/clients/mbc.png" /></a> <img src="css/images/clients/mbc.png" />
</a>
<a href="http://addons.xbmc.org/show/plugin.video.xbmb3c" target="_blank" title="XBMB3C"> <a href="http://addons.xbmc.org/show/plugin.video.xbmb3c" target="_blank" title="XBMB3C">
<img src="css/images/clients/xbmc.png" /></a> <img src="css/images/clients/xbmc.png" />
</a>
<a href="http://forum.team-mediaportal.com/threads/plugin-mediabrowser-for-mediaportal-v0-13-beta-2013-10-21.119513" target="_blank" title="Media Portal"> <a href="http://forum.team-mediaportal.com/threads/plugin-mediabrowser-for-mediaportal-v0-13-beta-2013-10-21.119513" target="_blank" title="Media Portal">
<img src="css/images/clients/mediaportal.png" /></a> <img src="css/images/clients/mediaportal.png" />
</a>
</p> </p>
<br /> <br />

View File

@ -11,8 +11,8 @@
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true"> <div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
<a href="dashboard.html" data-role="button">${TabDashboard}</a> <a href="dashboard.html" data-role="button">${TabDashboard}</a>
<a href="#" data-role="button" class="ui-btn-active">${TabGeneral}</a> <a href="userprofiles.html" data-role="button">${TabUsers}</a>
<a href="advancedserversettings.html" data-role="button">${TabAdvanced}</a> <a href="#" data-role="button" class="ui-btn-active">${TabSettings}</a>
<a href="serversecurity.html" data-role="button">${TabSecurity}</a> <a href="serversecurity.html" data-role="button">${TabSecurity}</a>
</div> </div>
@ -26,8 +26,7 @@
</li> </li>
<li> <li>
<label for="selectLocalizationLanguage">${LabelPreferredDisplayLanguage}</label> <label for="selectLocalizationLanguage">${LabelPreferredDisplayLanguage}</label>
<select id="selectLocalizationLanguage" data-mini="true"> <select id="selectLocalizationLanguage" data-mini="true"></select>
</select>
<div class="fieldDescription"> <div class="fieldDescription">
<div>${LabelPreferredDisplayLanguageHelp}</div> <div>${LabelPreferredDisplayLanguageHelp}</div>
<div style="margin-top: .25em;"> <div style="margin-top: .25em;">
@ -37,6 +36,40 @@
</li> </li>
</ul> </ul>
<div data-role="collapsible">
<h2>${HeaderAdvanced}</h2>
<div>
<br />
<ul data-role="listview" class="ulForm">
<li>
<label for="txtPortNumber">${LabelHttpServerPortNumber}</label>
<input type="number" id="txtPortNumber" name="txtPortNumber" pattern="[0-9]*" required="required" min="1" data-mini="true" />
</li>
<li>
<label for="chkEnableUpnp">${LabelEnableAutomaticPortMapping}</label>
<input type="checkbox" id="chkEnableUpnp" data-mini="true" />
<div class="fieldDescription">${LabelEnableAutomaticPortHelp}</div>
</li>
<li>
<label for="txtDdns">${LabelExternalDDNS}</label>
<input id="txtDdns" data-mini="true" />
<div class="fieldDescription">${LabelExternalDDNSHelp}</div>
</li>
</ul>
<ul data-role="listview" class="ulForm">
<li>
<label for="txtCachePath">${LabelCachePath}</label>
<div style="display: inline-block; width: 92%;">
<input type="text" id="txtCachePath" name="txtCachePath" data-mini="true" />
</div>
<button id="btnSelectCachePath" type="button" data-icon="search" data-iconpos="notext" data-inline="true">${ButtonSelectDirectory}</button>
<div class="fieldDescription">${LabelCachePathHelp}</div>
</li>
</ul>
</div>
</div>
<div data-role="collapsible"> <div data-role="collapsible">
<h2>${HeaderBranding}</h2> <h2>${HeaderBranding}</h2>
<div> <div>

View File

@ -12,7 +12,6 @@
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true"> <div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
<a href="advanced.html" data-role="button">${TabGeneral}</a> <a href="advanced.html" data-role="button">${TabGeneral}</a>
<a href="notificationsettings.html" data-role="button">${TabNotifications}</a> <a href="notificationsettings.html" data-role="button">${TabNotifications}</a>
<a href="advancedpaths.html" data-role="button">${TabPaths}</a>
<a href="appsplayback.html" data-role="button">${TabResume}</a> <a href="appsplayback.html" data-role="button">${TabResume}</a>
<a href="#" data-role="button" class="ui-btn-active">${TabTranscoding}</a> <a href="#" data-role="button" class="ui-btn-active">${TabTranscoding}</a>
</div> </div>

View File

@ -21,17 +21,6 @@
</div> </div>
<div data-role="content"> <div data-role="content">
<div class="viewSettings"> <div class="viewSettings">
<div style="display: inline-block;">
<select data-mini="true" data-inline="true" id="selectView" name="selectView">
<option value="Poster">${OptionPoster}</option>
<option value="List">${OptionList}</option>
</select>
</div>
<div class="viewControls" data-role="controlgroup" data-type="horizontal">
<button data-mini="true" data-icon="sort" data-inline="true" data-iconpos="notext" title="${ButtonSort}" onclick="$('#sortPanel', $(this).parents('.page')).panel( 'toggle' );">${ButtonSort}</button>
<button data-mini="true" data-icon="filter" data-inline="true" data-iconpos="notext" title="${ButtonFilter}" onclick="$('#filterPanel', $(this).parents('.page')).panel( 'toggle' );">${ButtonFilter}</button>
<button data-mini="true" data-icon="check" data-inline="true" data-iconpos="notext" title="${ButtonSelect}" class="btnToggleSelections">${ButtonSelect}</button>
</div>
<div class="listTopPaging"> <div class="listTopPaging">
</div> </div>
<div class="selectionCommands" style="display: none;"> <div class="selectionCommands" style="display: none;">
@ -42,122 +31,144 @@
</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-position-fixed="true">
<div data-role="panel" class="viewPanel" data-theme="a" data-position="right" data-display="overlay" data-position-fixed="true">
<form> <form>
<fieldset data-role="controlgroup">
<legend>
<strong>${HeaderSortBy}</strong>
</legend>
<input class="radioSortBy defaultSort" type="radio" name="radioSortBy" id="radioSeriesSortName" value="on" checked="checked" data-sortby="SeriesSortName,SortName" data-mini="true"> <div data-role="controlgroup" data-type="horizontal" data-mini="true" class="viewPanelTabs">
<label for="radioSeriesSortName">${OptionSeriesSortName}</label> <a href="#" data-role="button" class="viewTabButton" data-tab="tabView">${TabView}</a>
<a href="#" data-role="button" class="viewTabButton" data-tab="tabSort">${TabSort}</a>
<a href="#" data-role="button" class="viewTabButton" data-tab="tabFilter">${TabFilter}</a>
</div>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioSortName" value="on" checked="checked" data-sortby="SortName" data-mini="true"> <div class="tabView viewTab">
<label for="radioSortName">${OptionEpisodeSortName}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioCommunityRating" value="off" data-sortby="CommunityRating,SeriesSortName,SortName" data-mini="true"> <div>
<label for="radioCommunityRating">${OptionTvdbRating}</label> <label for="selectView">${LabelView}</label>
<select id="selectView">
<option value="Poster">${OptionPoster}</option>
<option value="List">${OptionList}</option>
</select>
</div>
<br />
<div>
<label for="selectPageSize">${LabelPageSize}</label>
<select id="selectPageSize"></select>
</div>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioDateCreated" value="off" data-sortby="DateCreated,SeriesSortName,SortName" data-mini="true"> </div>
<label for="radioDateCreated">${OptionDateAdded}</label> <div class="tabFilter viewTab">
<fieldset data-role="controlgroup">
<legend>
${HeaderFilters}
</legend>
<input class="chkStandardFilter" type="checkbox" name="chkPlayed" id="chkPlayed" data-filter="IsPlayed" data-mini="true">
<label for="chkPlayed">${OptionPlayed}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioPremiereDate" value="off" data-sortby="PremiereDate,SeriesSortName,SortName" data-mini="true"> <input class="chkStandardFilter" type="checkbox" name="chkUnplayed" id="chkUnplayed" data-filter="IsUnPlayed" data-mini="true">
<label for="radioPremiereDate">${OptionPremiereDate}</label> <label for="chkUnplayed">${OptionUnplayed}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioDatePlayed" value="off" data-sortby="DatePlayed,SeriesSortName,SortName" data-mini="true"> <input class="chkStandardFilter" type="checkbox" name="chkResumable" id="chkResumable" data-filter="IsResumable" data-mini="true">
<label for="radioDatePlayed">${OptionDatePlayed}</label> <label for="chkResumable">${OptionResumable}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioContentRating" value="off" data-sortby="OfficialRating,SeriesSortName,SortName" data-mini="true"> <input class="chkStandardFilter" type="checkbox" name="chkIsFavorite" id="chkIsFavorite" data-filter="IsFavorite" data-mini="true">
<label for="radioContentRating">${OptionParentalRating}</label> <label for="chkIsFavorite">${OptionFavorite}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioPlayCount" value="off" data-sortby="PlayCount,SeriesSortName,SortName" data-mini="true"> <input class="chkStandardFilter" type="checkbox" name="chkLikes" id="chkLikes" data-filter="Likes" data-mini="true">
<label for="radioPlayCount">${OptionPlayCount}</label> <label for="chkLikes">${OptionLikes}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioRuntime" value="off" data-sortby="Runtime,SeriesSortName,SortName" data-mini="true"> <input class="chkStandardFilter" type="checkbox" name="chkDislikes" id="chkDislikes" data-filter="Dislikes" data-mini="true">
<label for="radioRuntime">${OptionRuntime}</label> <label for="chkDislikes">${OptionDislikes}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioVideoBitRate" value="off" data-sortby="VideoBitRate,SeriesSortName,SortName" data-mini="true"> <input type="checkbox" name="chkSpecialFeature" id="chkSpecialFeature" data-mini="true">
<label for="radioVideoBitRate">${OptionVideoBitrate}</label> <label for="chkSpecialFeature">${OptionSpecialEpisode}</label>
</fieldset>
<fieldset data-role="controlgroup"> <input type="checkbox" name="chkMissingEpisode" id="chkMissingEpisode" data-mini="true">
<legend> <label for="chkMissingEpisode">${OptionMissingEpisode}</label>
<strong>${HeaderSortOrder}</strong>
</legend>
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioAscending" value="on" checked="checked" data-sortorder="Ascending" data-mini="true"> <input type="checkbox" name="chkFutureEpisode" id="chkFutureEpisode" data-mini="true">
<label for="radioAscending">${OptionAscending}</label> <label for="chkFutureEpisode">${OptionUnairedEpisode}</label>
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioDescending" value="off" data-sortorder="Descending" data-mini="true"> </fieldset>
<label for="radioDescending">${OptionDescending}</label> <fieldset data-role="controlgroup">
</fieldset> <legend>
</form> ${LabelVideoType}
</div> </legend>
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-position-fixed="true">
<form>
<fieldset data-role="controlgroup">
<legend>
<strong>${HeaderFilters}</strong>
</legend>
<input class="chkStandardFilter" type="checkbox" name="chkPlayed" id="chkPlayed" data-filter="IsPlayed" data-mini="true">
<label for="chkPlayed">${OptionPlayed}</label>
<input class="chkStandardFilter" type="checkbox" name="chkUnplayed" id="chkUnplayed" data-filter="IsUnPlayed" data-mini="true"> <input class="chkVideoTypeFilter" type="checkbox" name="chkBluray" id="chkBluray" data-filter="Bluray" data-mini="true">
<label for="chkUnplayed">${OptionUnplayed}</label> <label for="chkBluray">${OptionBluray}</label>
<input class="chkStandardFilter" type="checkbox" name="chkResumable" id="chkResumable" data-filter="IsResumable" data-mini="true"> <input class="chkVideoTypeFilter" type="checkbox" name="chkDvd" id="chkDvd" data-filter="Dvd" data-mini="true">
<label for="chkResumable">${OptionResumable}</label> <label for="chkDvd">${OptionDvd}</label>
<input class="chkStandardFilter" type="checkbox" name="chkIsFavorite" id="chkIsFavorite" data-filter="IsFavorite" data-mini="true"> <input class="chkVideoTypeFilter" type="checkbox" name="chkIso" id="chkIso" data-filter="Iso" data-mini="true">
<label for="chkIsFavorite">${OptionFavorite}</label> <label for="chkIso">${OptionIso}</label>
<input class="chkStandardFilter" type="checkbox" name="chkLikes" id="chkLikes" data-filter="Likes" data-mini="true"> <input class="chkHDFilter" type="checkbox" name="chkHD" id="chkHD" data-filter="IsHD" data-mini="true">
<label for="chkLikes">${OptionLikes}</label> <label for="chkHD">${OptionIsHD}</label>
<input class="chkStandardFilter" type="checkbox" name="chkDislikes" id="chkDislikes" data-filter="Dislikes" data-mini="true"> <input class="chkSDFilter" type="checkbox" name="chkSD" id="chkSD" data-filter="IsHD" data-mini="true">
<label for="chkDislikes">${OptionDislikes}</label> <label for="chkSD">${OptionIsSD}</label>
</fieldset>
<input type="checkbox" name="chkSpecialFeature" id="chkSpecialFeature" data-mini="true"> <fieldset data-role="controlgroup">
<label for="chkSpecialFeature">${OptionSpecialEpisode}</label> <legend>
${LabelFeatures}
</legend>
<input type="checkbox" name="chkMissingEpisode" id="chkMissingEpisode" data-mini="true"> <input class="chkFeatureFilter" type="checkbox" name="chkSubtitle" id="chkSubtitle" data-mini="true">
<label for="chkMissingEpisode">${OptionMissingEpisode}</label> <label for="chkSubtitle">${OptionHasSubtitles}</label>
</fieldset>
</div>
<div class="tabSort viewTab">
<fieldset data-role="controlgroup">
<legend>
${HeaderSortBy}
</legend>
<input type="checkbox" name="chkFutureEpisode" id="chkFutureEpisode" data-mini="true"> <input class="radioSortBy defaultSort" type="radio" name="radioSortBy" id="radioSeriesSortName" value="on" checked="checked" data-sortby="SeriesSortName,SortName" data-mini="true">
<label for="chkFutureEpisode">${OptionUnairedEpisode}</label> <label for="radioSeriesSortName">${OptionSeriesSortName}</label>
</fieldset> <input class="radioSortBy" type="radio" name="radioSortBy" id="radioSortName" value="on" checked="checked" data-sortby="SortName" data-mini="true">
<fieldset data-role="controlgroup"> <label for="radioSortName">${OptionEpisodeSortName}</label>
<legend>
<strong>${LabelVideoType}</strong>
</legend>
<input class="chkVideoTypeFilter" type="checkbox" name="chkBluray" id="chkBluray" data-filter="Bluray" data-mini="true"> <input class="radioSortBy" type="radio" name="radioSortBy" id="radioCommunityRating" value="off" data-sortby="CommunityRating,SeriesSortName,SortName" data-mini="true">
<label for="chkBluray">${OptionBluray}</label> <label for="radioCommunityRating">${OptionTvdbRating}</label>
<input class="chkVideoTypeFilter" type="checkbox" name="chkDvd" id="chkDvd" data-filter="Dvd" data-mini="true"> <input class="radioSortBy" type="radio" name="radioSortBy" id="radioDateCreated" value="off" data-sortby="DateCreated,SeriesSortName,SortName" data-mini="true">
<label for="chkDvd">${OptionDvd}</label> <label for="radioDateCreated">${OptionDateAdded}</label>
<input class="chkVideoTypeFilter" type="checkbox" name="chkIso" id="chkIso" data-filter="Iso" data-mini="true"> <input class="radioSortBy" type="radio" name="radioSortBy" id="radioPremiereDate" value="off" data-sortby="PremiereDate,SeriesSortName,SortName" data-mini="true">
<label for="chkIso">${OptionIso}</label> <label for="radioPremiereDate">${OptionPremiereDate}</label>
<input class="chkHDFilter" type="checkbox" name="chkHD" id="chkHD" data-filter="IsHD" data-mini="true"> <input class="radioSortBy" type="radio" name="radioSortBy" id="radioDatePlayed" value="off" data-sortby="DatePlayed,SeriesSortName,SortName" data-mini="true">
<label for="chkHD">${OptionIsHD}</label> <label for="radioDatePlayed">${OptionDatePlayed}</label>
<input class="chkSDFilter" type="checkbox" name="chkSD" id="chkSD" data-filter="IsHD" data-mini="true"> <input class="radioSortBy" type="radio" name="radioSortBy" id="radioContentRating" value="off" data-sortby="OfficialRating,SeriesSortName,SortName" data-mini="true">
<label for="chkSD">${OptionIsSD}</label> <label for="radioContentRating">${OptionParentalRating}</label>
</fieldset>
<fieldset data-role="controlgroup"> <input class="radioSortBy" type="radio" name="radioSortBy" id="radioPlayCount" value="off" data-sortby="PlayCount,SeriesSortName,SortName" data-mini="true">
<legend> <label for="radioPlayCount">${OptionPlayCount}</label>
<strong>${LabelFeatures}</strong>
</legend>
<input class="chkFeatureFilter" type="checkbox" name="chkSubtitle" id="chkSubtitle" data-mini="true"> <input class="radioSortBy" type="radio" name="radioSortBy" id="radioRuntime" value="off" data-sortby="Runtime,SeriesSortName,SortName" data-mini="true">
<label for="chkSubtitle">${OptionHasSubtitles}</label> <label for="radioRuntime">${OptionRuntime}</label>
</fieldset>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioVideoBitRate" value="off" data-sortby="VideoBitRate,SeriesSortName,SortName" data-mini="true">
<label for="radioVideoBitRate">${OptionVideoBitrate}</label>
</fieldset>
<fieldset data-role="controlgroup">
<legend>
${HeaderSortOrder}
</legend>
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioAscending" value="on" checked="checked" data-sortorder="Ascending" data-mini="true">
<label for="radioAscending">${OptionAscending}</label>
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioDescending" value="off" data-sortorder="Descending" data-mini="true">
<label for="radioDescending">${OptionDescending}</label>
</fieldset>
</div>
</form> </form>
</div> </div>
</div> </div>

View File

@ -14,29 +14,44 @@
</div> </div>
<div data-role="content"> <div data-role="content">
<div class="viewSettings"> <div class="viewSettings">
<div class="viewControls" data-role="controlgroup" data-type="horizontal">
<button data-mini="true" data-icon="filter" data-inline="true" data-iconpos="notext" title="${ButtonFilter}" onclick="$('#filterPanel', $(this).parents('.page')).panel( 'toggle' );">${ButtonFilter}</button>
</div>
<div class="listTopPaging"> <div class="listTopPaging">
</div> </div>
</div> </div>
<div id="items" class="itemsContainer"></div> <div id="items" class="itemsContainer"></div>
</div> </div>
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-position-fixed="true">
<div data-role="panel" class="viewPanel" data-theme="a" data-position="right" data-display="overlay" data-position-fixed="true">
<form> <form>
<fieldset data-role="controlgroup">
<legend>
<strong>${HeaderFilters}</strong>
</legend>
<input class="chkStandardFilter" type="checkbox" name="chkIsFavorite" id="chkIsFavorite" data-filter="IsFavorite" data-mini="true">
<label for="chkIsFavorite">${OptionFavorite}</label>
<input class="chkStandardFilter" type="checkbox" name="chkLikes" id="chkLikes" data-filter="Likes" data-mini="true"> <div data-role="controlgroup" data-type="horizontal" data-mini="true" class="viewPanelTabs">
<label for="chkLikes">${OptionLikes}</label> <a href="#" data-role="button" class="viewTabButton" data-tab="tabView">${TabView}</a>
<a href="#" data-role="button" class="viewTabButton" data-tab="tabFilter">${TabFilter}</a>
</div>
<input class="chkStandardFilter" type="checkbox" name="chkDislikes" id="chkDislikes" data-filter="Dislikes" data-mini="true"> <div class="tabView viewTab">
<label for="chkDislikes">${OptionDislikes}</label>
</fieldset> <div>
<label for="selectPageSize">${LabelPageSize}</label>
<select id="selectPageSize"></select>
</div>
</div>
<div class="tabFilter viewTab">
<fieldset data-role="controlgroup">
<legend>
${HeaderFilters}
</legend>
<input class="chkStandardFilter" type="checkbox" name="chkIsFavorite" id="chkIsFavorite" data-filter="IsFavorite" data-mini="true">
<label for="chkIsFavorite">${OptionFavorite}</label>
<input class="chkStandardFilter" type="checkbox" name="chkLikes" id="chkLikes" data-filter="Likes" data-mini="true">
<label for="chkLikes">${OptionLikes}</label>
<input class="chkStandardFilter" type="checkbox" name="chkDislikes" id="chkDislikes" data-filter="Dislikes" data-mini="true">
<label for="chkDislikes">${OptionDislikes}</label>
</fieldset>
</div>
</form> </form>
</div> </div>

View File

@ -16,16 +16,6 @@
</div> </div>
<div data-role="content"> <div data-role="content">
<div class="viewSettings"> <div class="viewSettings">
<div style="display: inline-block;">
<select data-mini="true" data-inline="true" id="selectView" name="selectView">
<option value="Poster">${OptionPoster}</option>
<option value="List">${OptionList}</option>
</select>
</div>
<div class="viewControls" data-role="controlgroup" data-type="horizontal">
<button data-mini="true" data-icon="sort" data-inline="true" data-iconpos="notext" title="${ButtonSort}" onclick="$('#sortPanel', $(this).parents('.page')).panel( 'toggle' );">${ButtonSort}</button>
<button data-mini="true" data-icon="filter" data-inline="true" data-iconpos="notext" title="${ButtonFilter}" onclick="$('#filterPanel', $(this).parents('.page')).panel( 'toggle' );">${ButtonFilter}</button>
</div>
<div class="listTopPaging"> <div class="listTopPaging">
</div> </div>
</div> </div>
@ -33,101 +23,127 @@
<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-position-fixed="true">
<div data-role="panel" class="viewPanel" data-theme="a" data-position="right" data-display="overlay" data-position-fixed="true">
<form> <form>
<fieldset data-role="controlgroup">
<legend>
<strong>${HeaderSortBy}</strong>
</legend>
<input class="radioSortBy defaultSort" type="radio" name="radioSortBy" id="radioSortName" value="on" checked="checked" data-sortby="SortName" data-mini="true"> <div data-role="controlgroup" data-type="horizontal" data-mini="true" class="viewPanelTabs">
<label for="radioSortName">${OptionNameSort}</label> <a href="#" data-role="button" class="viewTabButton" data-tab="tabView">${TabView}</a>
<a href="#" data-role="button" class="viewTabButton" data-tab="tabSort">${TabSort}</a>
<a href="#" data-role="button" class="viewTabButton" data-tab="tabFilter">${TabFilter}</a>
</div>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioCommunityRating" value="off" data-sortby="CommunityRating" data-mini="true"> <div class="tabView viewTab">
<label for="radioCommunityRating">${OptionCommunityRating}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioDateCreated" value="off" data-sortby="DateCreated" data-mini="true"> <div>
<label for="radioDateCreated">${OptionDateAdded}</label> <label for="selectView">${LabelView}</label>
<select id="selectView">
<option value="Poster">${OptionPoster}</option>
<option value="List">${OptionList}</option>
</select>
</div>
<br />
<div>
<label for="selectPageSize">${LabelPageSize}</label>
<select id="selectPageSize"></select>
</div>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioDatePlayed" value="off" data-sortby="DatePlayed" data-mini="true"> </div>
<label for="radioDatePlayed">${OptionDatePlayed}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioContentRating" value="off" data-sortby="OfficialRating" data-mini="true"> <div class="tabSort viewTab">
<label for="radioContentRating">${OptionParentalRating}</label> <fieldset data-role="controlgroup">
<legend>
${HeaderSortBy}
</legend>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioPremiereDate" value="off" data-sortby="PremiereDate" data-mini="true"> <input class="radioSortBy defaultSort" type="radio" name="radioSortBy" id="radioSortName" value="on" checked="checked" data-sortby="SortName" data-mini="true">
<label for="radioPremiereDate">${OptionReleaseDate}</label> <label for="radioSortName">${OptionNameSort}</label>
</fieldset>
<fieldset data-role="controlgroup"> <input class="radioSortBy" type="radio" name="radioSortBy" id="radioCommunityRating" value="off" data-sortby="CommunityRating" data-mini="true">
<legend> <label for="radioCommunityRating">${OptionCommunityRating}</label>
<strong>${HeaderSortOrder}</strong>
</legend>
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioAscending" value="on" checked="checked" data-sortorder="Ascending" data-mini="true"> <input class="radioSortBy" type="radio" name="radioSortBy" id="radioDateCreated" value="off" data-sortby="DateCreated" data-mini="true">
<label for="radioAscending">${OptionAscending}</label> <label for="radioDateCreated">${OptionDateAdded}</label>
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioDescending" value="off" data-sortorder="Descending" data-mini="true"> <input class="radioSortBy" type="radio" name="radioSortBy" id="radioDatePlayed" value="off" data-sortby="DatePlayed" data-mini="true">
<label for="radioDescending">${OptionDescending}</label> <label for="radioDatePlayed">${OptionDatePlayed}</label>
</fieldset>
</form>
</div>
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-position-fixed="true">
<form>
<fieldset data-role="controlgroup">
<legend>
<strong>${HeaderFilters}</strong>
</legend>
<input class="chkStandardFilter" type="checkbox" name="chkPlayed" id="chkPlayed" data-filter="IsPlayed" data-mini="true">
<label for="chkPlayed">${OptionPlayed}</label>
<input class="chkStandardFilter" type="checkbox" name="chkUnplayed" id="chkUnplayed" data-filter="IsUnPlayed" data-mini="true"> <input class="radioSortBy" type="radio" name="radioSortBy" id="radioContentRating" value="off" data-sortby="OfficialRating" data-mini="true">
<label for="chkUnplayed">${OptionUnplayed}</label> <label for="radioContentRating">${OptionParentalRating}</label>
<input class="chkStandardFilter" type="checkbox" name="chkIsFavorite" id="chkIsFavorite" data-filter="IsFavorite" data-mini="true"> <input class="radioSortBy" type="radio" name="radioSortBy" id="radioPremiereDate" value="off" data-sortby="PremiereDate" data-mini="true">
<label for="chkIsFavorite">${OptionFavorite}</label> <label for="radioPremiereDate">${OptionReleaseDate}</label>
</fieldset>
<input class="chkStandardFilter" type="checkbox" name="chkLikes" id="chkLikes" data-filter="Likes" data-mini="true"> <fieldset data-role="controlgroup">
<label for="chkLikes">${OptionLikes}</label> <legend>
${HeaderSortOrder}
</legend>
<input class="chkStandardFilter" type="checkbox" name="chkDislikes" id="chkDislikes" data-filter="Dislikes" data-mini="true"> <input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioAscending" value="on" checked="checked" data-sortorder="Ascending" data-mini="true">
<label for="chkDislikes">${OptionDislikes}</label> <label for="radioAscending">${OptionAscending}</label>
</fieldset>
<fieldset data-role="controlgroup"> <input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioDescending" value="off" data-sortorder="Descending" data-mini="true">
<legend> <label for="radioDescending">${OptionDescending}</label>
<strong>${HeaderNumberOfPlayers}</strong> </fieldset>
</legend>
<input class="radioPlayers" type="radio" name="radioPlayers" id="radioAll" value="on" checked="checked" data-value="all" data-mini="true"> </div>
<label for="radioAll">${OptionAnyNumberOfPlayers}</label>
<input class="radioPlayers" type="radio" name="radioPlayers" id="radioTwo" value="off" data-value="2" data-mini="true"> <div class="tabFilter viewTab">
<label for="radioTwo">${Option2Player}</label> <fieldset data-role="controlgroup">
<legend>
${HeaderFilters}
</legend>
<input class="chkStandardFilter" type="checkbox" name="chkPlayed" id="chkPlayed" data-filter="IsPlayed" data-mini="true">
<label for="chkPlayed">${OptionPlayed}</label>
<input class="radioPlayers" type="radio" name="radioPlayers" id="radioThree" value="off" data-value="3" data-mini="true"> <input class="chkStandardFilter" type="checkbox" name="chkUnplayed" id="chkUnplayed" data-filter="IsUnPlayed" data-mini="true">
<label for="radioThree">${Option3Player}</label> <label for="chkUnplayed">${OptionUnplayed}</label>
<input class="radioPlayers" type="radio" name="radioPlayers" id="radioFour" value="off" data-value="4" data-mini="true"> <input class="chkStandardFilter" type="checkbox" name="chkIsFavorite" id="chkIsFavorite" data-filter="IsFavorite" data-mini="true">
<label for="radioFour">${Option4Player}</label> <label for="chkIsFavorite">${OptionFavorite}</label>
</fieldset>
<fieldset data-role="controlgroup"> <input class="chkStandardFilter" type="checkbox" name="chkLikes" id="chkLikes" data-filter="Likes" data-mini="true">
<legend> <label for="chkLikes">${OptionLikes}</label>
<strong>${LabelFeatures}</strong>
</legend>
<input class="chkFeatureFilter" type="checkbox" name="chkTrailer" id="chkTrailer" data-mini="true"> <input class="chkStandardFilter" type="checkbox" name="chkDislikes" id="chkDislikes" data-filter="Dislikes" data-mini="true">
<label for="chkTrailer">${OptionHasTrailer}</label> <label for="chkDislikes">${OptionDislikes}</label>
</fieldset>
<input class="chkFeatureFilter" type="checkbox" name="chkThemeSong" id="chkThemeSong" data-mini="true"> <fieldset data-role="controlgroup">
<label for="chkThemeSong">${OptionHasThemeSong}</label> <legend>
${HeaderNumberOfPlayers}
</legend>
<input class="chkFeatureFilter" type="checkbox" name="chkThemeVideo" id="chkThemeVideo" data-mini="true"> <input class="radioPlayers" type="radio" name="radioPlayers" id="radioAll" value="on" checked="checked" data-value="all" data-mini="true">
<label for="chkThemeVideo">${OptionHasThemeVideo}</label> <label for="radioAll">${OptionAnyNumberOfPlayers}</label>
</fieldset> <input class="radioPlayers" type="radio" name="radioPlayers" id="radioTwo" value="off" data-value="2" data-mini="true">
<label for="radioTwo">${Option2Player}</label>
<input class="radioPlayers" type="radio" name="radioPlayers" id="radioThree" value="off" data-value="3" data-mini="true">
<label for="radioThree">${Option3Player}</label>
<input class="radioPlayers" type="radio" name="radioPlayers" id="radioFour" value="off" data-value="4" data-mini="true">
<label for="radioFour">${Option4Player}</label>
</fieldset>
<fieldset data-role="controlgroup">
<legend>
${LabelFeatures}
</legend>
<input class="chkFeatureFilter" type="checkbox" name="chkTrailer" id="chkTrailer" data-mini="true">
<label for="chkTrailer">${OptionHasTrailer}</label>
<input class="chkFeatureFilter" type="checkbox" name="chkThemeSong" id="chkThemeSong" data-mini="true">
<label for="chkThemeSong">${OptionHasThemeSong}</label>
<input class="chkFeatureFilter" type="checkbox" name="chkThemeVideo" id="chkThemeVideo" data-mini="true">
<label for="chkThemeVideo">${OptionHasThemeVideo}</label>
</fieldset>
</div>
</form> </form>
</div> </div>
</div> </div>

View File

@ -14,29 +14,44 @@
</div> </div>
<div data-role="content"> <div data-role="content">
<div class="viewSettings"> <div class="viewSettings">
<div class="viewControls" data-role="controlgroup" data-type="horizontal">
<button data-mini="true" data-icon="filter" data-inline="true" data-iconpos="notext" title="${ButtonFilter}" onclick="$('#filterPanel', $(this).parents('.page')).panel( 'toggle' );">${ButtonFilter}</button>
</div>
<div class="listTopPaging"> <div class="listTopPaging">
</div> </div>
</div> </div>
<div id="items" class="itemsContainer"></div> <div id="items" class="itemsContainer"></div>
</div> </div>
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-position-fixed="true">
<div data-role="panel" class="viewPanel" data-theme="a" data-position="right" data-display="overlay" data-position-fixed="true">
<form> <form>
<fieldset data-role="controlgroup">
<legend>
<strong>${HeaderFilters}</strong>
</legend>
<input class="chkStandardFilter" type="checkbox" name="chkIsFavorite" id="chkIsFavorite" data-filter="IsFavorite" data-mini="true">
<label for="chkIsFavorite">${OptionFavorite}</label>
<input class="chkStandardFilter" type="checkbox" name="chkLikes" id="chkLikes" data-filter="Likes" data-mini="true"> <div data-role="controlgroup" data-type="horizontal" data-mini="true" class="viewPanelTabs">
<label for="chkLikes">${OptionLikes}</label> <a href="#" data-role="button" class="viewTabButton" data-tab="tabView">${TabView}</a>
<a href="#" data-role="button" class="viewTabButton" data-tab="tabFilter">${TabFilter}</a>
</div>
<input class="chkStandardFilter" type="checkbox" name="chkDislikes" id="chkDislikes" data-filter="Dislikes" data-mini="true"> <div class="tabView viewTab">
<label for="chkDislikes">${OptionDislikes}</label>
</fieldset> <div>
<label for="selectPageSize">${LabelPageSize}</label>
<select id="selectPageSize"></select>
</div>
</div>
<div class="tabFilter viewTab">
<fieldset data-role="controlgroup">
<legend>
${HeaderFilters}
</legend>
<input class="chkStandardFilter" type="checkbox" name="chkIsFavorite" id="chkIsFavorite" data-filter="IsFavorite" data-mini="true">
<label for="chkIsFavorite">${OptionFavorite}</label>
<input class="chkStandardFilter" type="checkbox" name="chkLikes" id="chkLikes" data-filter="Likes" data-mini="true">
<label for="chkLikes">${OptionLikes}</label>
<input class="chkStandardFilter" type="checkbox" name="chkDislikes" id="chkDislikes" data-filter="Dislikes" data-mini="true">
<label for="chkDislikes">${OptionDislikes}</label>
</fieldset>
</div>
</form> </form>
</div> </div>
</div> </div>

View File

@ -108,38 +108,40 @@
<div id="itemBackdrop" class="itemBackdrop noBackdrop"> <div id="itemBackdrop" class="itemBackdrop noBackdrop">
<div class="itemBackdropContent"> <div class="itemBackdropContent">
<div class="detailPageContent primaryDetailPageContent"> <table class="detailPageContent primaryDetailPageContent">
<tr>
<div class="itemImageContainer"> <td style="vertical-align: top; padding: 0 .8em 0 0;">
<div id="itemImage"> <div class="itemImageContainer">
</div> <div id="itemImage">
</div> </div>
</div>
<div style="vertical-align: top; padding: 0; position: relative;"> </td>
<p><span class="parentName"></span><span class="itemName inlineItemName"></span><span class="itemMiscInfo" style="display: inline;"></span></p> <td style="vertical-align: top; padding: 0; position: relative;">
<p> <p><span class="parentName"></span><span class="itemName inlineItemName"></span><span class="itemMiscInfo" style="display: inline;"></span></p>
<span class="itemCommunityRating"></span> <p>
<span class="userDataIcons"></span> <span class="itemCommunityRating"></span>
</p> <span class="userDataIcons"></span>
<p id="artist"></p> </p>
<p class="itemGenres desktopGenres"></p> <p id="artist"></p>
<p class="itemOverview desktopOverview"></p> <p class="itemGenres desktopGenres"></p>
<div class="detailButtonsContainer desktopDetailButtons" style="text-align:left;"> <p class="itemOverview desktopOverview"></p>
<span class="missingIndicator" style="margin-left: .5em; display: none;"> <div class="detailButtonsContainer desktopDetailButtons" style="text-align: left;">
<span style="background: #cc3333; padding: 5px 1em; border-radius: 5px;">${LabelMissing}</span> <span class="missingIndicator" style="margin-left: .5em; display: none;">
</span> <span style="background: #cc3333; padding: 5px 1em; border-radius: 5px;">${LabelMissing}</span>
<span class="offlineIndicator" style="margin-left: .5em; display: none;"> </span>
<span style="background: #cc3333; padding: 5px 1em; border-radius: 5px;">${LabelOffline}</span> <span class="offlineIndicator" style="margin-left: .5em; display: none;">
</span> <span style="background: #cc3333; padding: 5px 1em; border-radius: 5px;">${LabelOffline}</span>
<button class="btnPlay hide" type="button" data-icon="play" data-inline="true" data-mini="true">${ButtonPlay}</button> </span>
<button class="btnPlayTrailer hide" type="button" data-icon="video" data-inline="true" data-mini="true">${ButtonPlayTrailer}</button> <button class="btnPlay hide" type="button" data-icon="play" data-inline="true" data-mini="true">${ButtonPlay}</button>
<a class="btnPlayExternalTrailer hide" data-role="button" data-icon="video" data-inline="true" data-mini="true" href="#" target="_blank">${ButtonPlayTrailer}</a> <button class="btnPlayTrailer hide" type="button" data-icon="video" data-inline="true" data-mini="true">${ButtonPlayTrailer}</button>
<a class="btnPlayExternal hide" data-role="button" data-icon="play" data-inline="true" data-mini="true" href="#" target="_blank">${ButtonPlay}</a> <a class="btnPlayExternalTrailer hide" data-role="button" data-icon="video" data-inline="true" data-mini="true" href="#" target="_blank">${ButtonPlayTrailer}</a>
<a class="btnEdit hide" data-role="button" data-icon="edit" data-inline="true" data-mini="true" href="#">${ButtonEdit}</a> <a class="btnPlayExternal hide" data-role="button" data-icon="play" data-inline="true" data-mini="true" href="#" target="_blank">${ButtonPlay}</a>
</div> <a class="btnEdit hide" data-role="button" data-icon="edit" data-inline="true" data-mini="true" href="#">${ButtonEdit}</a>
</div> <a class="btnSync hide" data-role="button" data-icon="refresh" data-inline="true" data-mini="true" href="#">${ButtonSync}</a>
</div>
</div> </td>
</tr>
</table>
<div class="detailButtonsContainer mobileDetailButtons"> <div class="detailButtonsContainer mobileDetailButtons">
<span class="missingIndicator" style="margin-left: .5em; display: none;"> <span class="missingIndicator" style="margin-left: .5em; display: none;">
<span style="background: #cc3333; padding: 5px 1em; border-radius: 5px;">${LabelMissing}</span> <span style="background: #cc3333; padding: 5px 1em; border-radius: 5px;">${LabelMissing}</span>
@ -152,6 +154,7 @@
<a class="btnPlayExternalTrailer hide" data-role="button" data-icon="video" data-inline="true" data-mini="true" href="#" target="_blank">${ButtonPlayTrailer}</a> <a class="btnPlayExternalTrailer hide" data-role="button" data-icon="video" data-inline="true" data-mini="true" href="#" target="_blank">${ButtonPlayTrailer}</a>
<a class="btnPlayExternal hide" data-role="button" data-icon="play" data-inline="true" data-mini="true" href="#" target="_blank">${ButtonPlay}</a> <a class="btnPlayExternal hide" data-role="button" data-icon="play" data-inline="true" data-mini="true" href="#" target="_blank">${ButtonPlay}</a>
<a class="btnEdit hide" data-role="button" data-icon="edit" data-inline="true" data-mini="true" href="#">${ButtonEdit}</a> <a class="btnEdit hide" data-role="button" data-icon="edit" data-inline="true" data-mini="true" href="#">${ButtonEdit}</a>
<a class="btnSync hide" data-role="button" data-icon="refresh" data-inline="true" data-mini="true" href="#">${ButtonSync}</a>
</div> </div>
<p class="itemGenres mobileGenres"></p> <p class="itemGenres mobileGenres"></p>
<p class="itemOverview mobileOverview"></p> <p class="itemOverview mobileOverview"></p>
@ -276,4 +279,4 @@
</div> </div>
</body> </body>
</html> </html>

View File

@ -9,101 +9,114 @@
</div> </div>
<div data-role="content" class="itemListContent"> <div data-role="content" class="itemListContent">
<h1 class="listHeader" style="margin: 0; text-align: center;"><span id="itemName"></span> <h1 class="listHeader" style="margin: 0; text-align: center;">
<span id="itemName"></span>
<span id="editButtonContainer" style="display: none; margin-left: .5em;"> <span id="editButtonContainer" style="display: none; margin-left: .5em;">
<button id="btnEdit" type="button" data-icon="edit" data-inline="true" data-mini="true">${ButtonEdit}</button> <button id="btnEdit" type="button" data-icon="edit" data-inline="true" data-mini="true">${ButtonEdit}</button>
</span> </span>
</h1> </h1>
<div class="viewSettings"> <div class="viewSettings">
<div class="viewControls">
<div style="display: inline-block;">
<select data-mini="true" data-inline="true" id="selectView" name="selectView">
<option value="Backdrop">${OptionBackdrop}</option>
<option value="Poster">${OptionPoster}</option>
</select>
</div>
</div>
<div class="viewControls" data-role="controlgroup" data-type="horizontal">
<button data-mini="true" data-icon="sort" data-inline="true" data-iconpos="notext" title="${ButtonSort}" onclick="$('#sortPanel', $(this).parents('.page')).panel( 'toggle' );">${ButtonSort}</button>
<button data-mini="true" data-icon="filter" data-inline="true" data-iconpos="notext" title="${ButtonFilter}" onclick="$('#filterPanel', $(this).parents('.page')).panel( 'toggle' );">${ButtonFilter}</button>
</div>
<div class="listTopPaging"> <div class="listTopPaging">
</div> </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-position-fixed="true">
<div data-role="panel" class="viewPanel" data-theme="a" data-position="right" data-display="overlay" data-position-fixed="true">
<form> <form>
<fieldset data-role="controlgroup">
<legend>
<strong>${HeaderSortBy}</strong>
</legend>
<input class="radioSortBy defaultSort" type="radio" name="radioSortBy" id="radioSortName" value="on" checked="checked" data-sortby="SortName" data-mini="true"> <div data-role="controlgroup" data-type="horizontal" data-mini="true" class="viewPanelTabs">
<label for="radioSortName">${OptionNameSort}</label> <a href="#" data-role="button" class="viewTabButton" data-tab="tabView">${TabView}</a>
<a href="#" data-role="button" class="viewTabButton" data-tab="tabSort">${TabSort}</a>
<a href="#" data-role="button" class="viewTabButton" data-tab="tabFilter">${TabFilter}</a>
</div>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioCommunityRating" value="off" data-sortby="CommunityRating" data-mini="true"> <div class="tabView viewTab">
<label for="radioCommunityRating">${OptionCommunityRating}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioDateCreated" value="off" data-sortby="DateCreated" data-mini="true"> <div>
<label for="radioDateCreated">${OptionDateAdded}</label> <label for="selectView">${LabelView}</label>
<select id="selectView">
<option value="Backdrop">${OptionBackdrop}</option>
<option value="Poster">${OptionPoster}</option>
</select>
</div>
<br />
<div>
<label for="selectPageSize">${LabelPageSize}</label>
<select id="selectPageSize"></select>
</div>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioDatePlayed" value="off" data-sortby="DatePlayed" data-mini="true"> </div>
<label for="radioDatePlayed">${OptionDatePlayed}</label> <div class="tabFilter viewTab">
<fieldset data-role="controlgroup">
<legend>${HeaderFilters}</legend>
<input class="chkStandardFilter" type="checkbox" name="chkPlayed" id="chkPlayed" data-filter="IsPlayed" data-mini="true">
<label for="chkPlayed">${OptionPlayed}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioContentRating" value="off" data-sortby="OfficialRating" data-mini="true"> <input class="chkStandardFilter" type="checkbox" name="chkUnplayed" id="chkUnplayed" data-filter="IsUnPlayed" data-mini="true">
<label for="radioContentRating">${OptionParentalRating}</label> <label for="chkUnplayed">${OptionUnplayed}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioPremiereDate" value="off" data-sortby="PremiereDate" data-mini="true"> <input class="chkStandardFilter" type="checkbox" name="chkResumable" id="chkResumable" data-filter="IsResumable" data-mini="true">
<label for="radioPremiereDate">${OptionReleaseDate}</label> <label for="chkResumable">${OptionResumable}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioRuntime" value="off" data-sortby="Runtime" data-mini="true"> <input class="chkStandardFilter" type="checkbox" name="chkIsFavorite" id="chkIsFavorite" data-filter="IsFavorite" data-mini="true">
<label for="radioRuntime">${OptionRuntime}</label> <label for="chkIsFavorite">${OptionFavorite}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioIsFolder" value="off" data-sortby="IsFolder,SortName" data-mini="true"> <input class="chkStandardFilter" type="checkbox" name="chkLikes" id="chkLikes" data-filter="Likes" data-mini="true">
<label for="radioIsFolder">${OptionFolderSort}</label> <label for="chkLikes">${OptionLikes}</label>
</fieldset>
<fieldset data-role="controlgroup"> <input class="chkStandardFilter" type="checkbox" name="chkDislikes" id="chkDislikes" data-filter="Dislikes" data-mini="true">
<legend> <label for="chkDislikes">${OptionDislikes}</label>
<strong>${HeaderSortOrder}</strong>
</legend>
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioAscending" value="on" checked="checked" data-sortorder="Ascending" data-mini="true"> </fieldset>
<label for="radioAscending">${OptionAscending}</label>
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioDescending" value="off" data-sortorder="Descending" data-mini="true"> </div>
<label for="radioDescending">${OptionDescending}</label> <div class="tabSort viewTab">
</fieldset> <fieldset data-role="controlgroup">
<legend>
${HeaderSortBy}
</legend>
<input class="radioSortBy defaultSort" type="radio" name="radioSortBy" id="radioSortName" value="on" checked="checked" data-sortby="SortName" data-mini="true">
<label for="radioSortName">${OptionNameSort}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioCommunityRating" value="off" data-sortby="CommunityRating" data-mini="true">
<label for="radioCommunityRating">${OptionCommunityRating}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioDateCreated" value="off" data-sortby="DateCreated" data-mini="true">
<label for="radioDateCreated">${OptionDateAdded}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioDatePlayed" value="off" data-sortby="DatePlayed" data-mini="true">
<label for="radioDatePlayed">${OptionDatePlayed}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioContentRating" value="off" data-sortby="OfficialRating" data-mini="true">
<label for="radioContentRating">${OptionParentalRating}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioPremiereDate" value="off" data-sortby="PremiereDate" data-mini="true">
<label for="radioPremiereDate">${OptionReleaseDate}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioRuntime" value="off" data-sortby="Runtime" data-mini="true">
<label for="radioRuntime">${OptionRuntime}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioIsFolder" value="off" data-sortby="IsFolder,SortName" data-mini="true">
<label for="radioIsFolder">${OptionFolderSort}</label>
</fieldset>
<fieldset data-role="controlgroup">
<legend>
${HeaderSortOrder}
</legend>
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioAscending" value="on" checked="checked" data-sortorder="Ascending" data-mini="true">
<label for="radioAscending">${OptionAscending}</label>
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioDescending" value="off" data-sortorder="Descending" data-mini="true">
<label for="radioDescending">${OptionDescending}</label>
</fieldset>
</div>
</form> </form>
</div> </div>
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-position-fixed="true">
<form>
<fieldset data-role="controlgroup">
<legend>
<strong>${HeaderFilters}</strong>
</legend>
<input class="chkStandardFilter" type="checkbox" name="chkPlayed" id="chkPlayed" data-filter="IsPlayed" data-mini="true">
<label for="chkPlayed">${OptionPlayed}</label>
<input class="chkStandardFilter" type="checkbox" name="chkUnplayed" id="chkUnplayed" data-filter="IsUnPlayed" data-mini="true">
<label for="chkUnplayed">${OptionUnplayed}</label>
<input class="chkStandardFilter" type="checkbox" name="chkResumable" id="chkResumable" data-filter="IsResumable" data-mini="true">
<label for="chkResumable">${OptionResumable}</label>
<input class="chkStandardFilter" type="checkbox" name="chkIsFavorite" id="chkIsFavorite" data-filter="IsFavorite" data-mini="true">
<label for="chkIsFavorite">${OptionFavorite}</label>
<input class="chkStandardFilter" type="checkbox" name="chkLikes" id="chkLikes" data-filter="Likes" data-mini="true">
<label for="chkLikes">${OptionLikes}</label>
<input class="chkStandardFilter" type="checkbox" name="chkDislikes" id="chkDislikes" data-filter="Dislikes" data-mini="true">
<label for="chkDislikes">${OptionDislikes}</label>
</fieldset>
</form>
</div>
</div> </div>
</body> </body>
</html> </html>

View File

@ -17,6 +17,21 @@
<form id="librarySettingsForm"> <form id="librarySettingsForm">
<ul data-role="listview" class="ulForm"> <ul data-role="listview" class="ulForm">
<li>
<label for="txtItemsByNamePath">${LabelImagesByNamePath}</label>
<div style="display: inline-block; width: 92%;">
<input type="text" id="txtItemsByNamePath" name="txtItemsByNamePath" />
</div>
<button id="btnSelectIBNPath" type="button" data-icon="search" data-iconpos="notext" data-inline="true">${ButtonSelectDirectory}</button>
<div class="fieldDescription">${LabelImagesByNamePathHelp}</div>
</li>
</ul>
<ul data-role="listview" class="ulForm">
<li>
<label for="txtSeasonZeroName">${LabelSeasonZeroDisplayName}</label>
<input type="text" id="txtSeasonZeroName" name="txtSeasonZeroName" required="required" />
</li>
<li> <li>
<input type="checkbox" id="chkEnableRealtimeMonitor" name="chkEnableRealtimeMonitor" /> <input type="checkbox" id="chkEnableRealtimeMonitor" name="chkEnableRealtimeMonitor" />
<label for="chkEnableRealtimeMonitor">${LabelEnableRealtimeMonitor}</label> <label for="chkEnableRealtimeMonitor">${LabelEnableRealtimeMonitor}</label>
@ -24,10 +39,6 @@
${LabelEnableRealtimeMonitorHelp} ${LabelEnableRealtimeMonitorHelp}
</div> </div>
</li> </li>
<li>
<label for="txtSeasonZeroName">${LabelSeasonZeroDisplayName}</label>
<input type="text" id="txtSeasonZeroName" name="txtSeasonZeroName" required="required" />
</li>
<li> <li>
<button type="submit" data-theme="b" data-icon="check"> <button type="submit" data-theme="b" data-icon="check">
${ButtonSave} ${ButtonSave}

View File

@ -15,9 +15,6 @@
</div> </div>
<div data-role="content"> <div data-role="content">
<div class="viewSettings"> <div class="viewSettings">
<div class="viewControls" data-role="controlgroup" data-type="horizontal">
<button data-mini="true" data-icon="filter" data-inline="true" data-iconpos="notext" title="${ButtonFilter}" onclick="$('#filterPanel', $(this).parents('.page')).panel( 'toggle' );">${ButtonFilter}</button>
</div>
<div class="listTopPaging"> <div class="listTopPaging">
</div> </div>
</div> </div>
@ -25,27 +22,42 @@
</div> </div>
<div data-role="popup" class="popupLoading" data-overlay-theme="b" data-theme="b" data-dismissible="false" data-history="false" data-positionTo="window"> <div data-role="popup" class="popupLoading" data-overlay-theme="b" data-theme="b" data-dismissible="false" data-history="false" data-positionto="window">
<div style="padding: .5em 1.5em;"> <div style="padding: .5em 1.5em;">
<p style="color: #eee;">${MessageLoadingChannels}</p> <p style="color: #eee;">${MessageLoadingChannels}</p>
</div> </div>
</div> </div>
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-position-fixed="true"> <div data-role="panel" class="viewPanel" data-theme="a" data-position="right" data-display="overlay" data-position-fixed="true">
<form> <form>
<fieldset data-role="controlgroup">
<legend>
<strong>${HeaderFilters}</strong>
</legend>
<input class="chkStandardFilter" type="checkbox" id="chkFavorite" data-filter="IsFavorite" data-mini="true">
<label for="chkFavorite">${OptionFavorite}</label>
<input class="chkStandardFilter" type="checkbox" id="chkLikes" data-filter="Likes" data-mini="true"> <div data-role="controlgroup" data-type="horizontal" data-mini="true" class="viewPanelTabs">
<label for="chkLikes">${OptionLikes}</label> <a href="#" data-role="button" class="viewTabButton" data-tab="tabView">${TabView}</a>
<a href="#" data-role="button" class="viewTabButton" data-tab="tabFilter">${TabFilter}</a>
</div>
<input class="chkStandardFilter" type="checkbox" id="chkDislikes" data-filter="Dislikes" data-mini="true"> <div class="tabView viewTab">
<label for="chkDislikes">${OptionDislikes}</label>
</fieldset> <div>
<label for="selectPageSize">${LabelPageSize}</label>
<select id="selectPageSize"></select>
</div>
</div>
<div class="tabFilter viewTab">
<fieldset data-role="controlgroup">
<legend>${HeaderFilters}</legend>
<input class="chkStandardFilter" type="checkbox" id="chkFavorite" data-filter="IsFavorite" data-mini="true">
<label for="chkFavorite">${OptionFavorite}</label>
<input class="chkStandardFilter" type="checkbox" id="chkLikes" data-filter="Likes" data-mini="true">
<label for="chkLikes">${OptionLikes}</label>
<input class="chkStandardFilter" type="checkbox" id="chkDislikes" data-filter="Dislikes" data-mini="true">
<label for="chkDislikes">${OptionDislikes}</label>
</fieldset>
</div>
</form> </form>
</div> </div>

View File

@ -23,12 +23,12 @@
<div id="items"></div> <div id="items"></div>
</div> </div>
</div> </div>
<div data-role="panel" id="sortPanel" data-position="right" data-display="overlay" data-position-fixed="true"> <div data-role="panel" id="sortPanel" data-theme="a" data-position="right" data-display="overlay" data-position-fixed="true">
<form> <form>
<fieldset data-role="controlgroup"> <fieldset data-role="controlgroup">
<legend> <legend>
<strong>${HeaderSortBy}</strong> ${HeaderSortBy}
</legend> </legend>
<input class="radioSortBy defaultSort" type="radio" name="radioSortBy" id="radioSortName" value="on" checked="checked" data-sortby="SortName" data-mini="true"> <input class="radioSortBy defaultSort" type="radio" name="radioSortBy" id="radioSortName" value="on" checked="checked" data-sortby="SortName" data-mini="true">
@ -40,7 +40,7 @@
<fieldset data-role="controlgroup"> <fieldset data-role="controlgroup">
<legend> <legend>
<strong>${HeaderSortOrder}</strong> ${HeaderSortOrder}
</legend> </legend>
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioAscending" value="on" checked="checked" data-sortorder="Ascending" data-mini="true"> <input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioAscending" value="on" checked="checked" data-sortorder="Ascending" data-mini="true">

View File

@ -20,7 +20,6 @@
<form id="advancedMetadataConfigurationForm"> <form id="advancedMetadataConfigurationForm">
<h2>${HeaderAutomaticUpdates}</h2>
<ul data-role="listview" class="ulForm"> <ul data-role="listview" class="ulForm">
<li> <li>
<input type="checkbox" id="chkEnableFanartUpdates" data-mini="true" /> <input type="checkbox" id="chkEnableFanartUpdates" data-mini="true" />
@ -38,7 +37,17 @@
<div class="fieldDescription">${LabelAutomaticUpdatesTvdbHelp}</div> <div class="fieldDescription">${LabelAutomaticUpdatesTvdbHelp}</div>
</li> </li>
</ul> </ul>
<br /> <ul data-role="listview" class="ulForm">
<li>
<label for="txtMetadataPath">${LabelMetadataPath}</label>
<div style="display: inline-block; width: 92%;">
<input type="text" id="txtMetadataPath" name="txtMetadataPath" />
</div>
<button id="btnSelectMetadataPath" type="button" data-icon="search" data-iconpos="notext" data-inline="true">${ButtonSelectDirectory}</button>
<div class="fieldDescription">${LabelMetadataPathHelp}</div>
</li>
</ul>
<ul data-role="listview" class="ulForm"> <ul data-role="listview" class="ulForm">
<li> <li>
<button type="submit" data-theme="b" data-icon="check" data-mini="true"> <button type="submit" data-theme="b" data-icon="check" data-mini="true">

View File

@ -18,29 +18,44 @@
<div data-role="content"> <div data-role="content">
<div class="viewSettings"> <div class="viewSettings">
<div class="viewControls" data-role="controlgroup" data-type="horizontal">
<button data-mini="true" data-icon="filter" data-inline="true" data-iconpos="notext" title="${ButtonFilter}" onclick="$('#filterPanel', $(this).parents('.page')).panel( 'toggle' );">${ButtonFilter}</button>
</div>
<div class="listTopPaging"> <div class="listTopPaging">
</div> </div>
</div> </div>
<div id="items" class="itemsContainer"></div> <div id="items" class="itemsContainer"></div>
</div> </div>
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-position-fixed="true">
<div data-role="panel" class="viewPanel" data-theme="a" data-position="right" data-display="overlay" data-position-fixed="true">
<form> <form>
<fieldset data-role="controlgroup">
<legend>
<strong>${HeaderFilters}</strong>
</legend>
<input class="chkStandardFilter" type="checkbox" name="chkIsFavorite" id="chkIsFavorite" data-filter="IsFavorite" data-mini="true">
<label for="chkIsFavorite">${OptionFavorite}</label>
<input class="chkStandardFilter" type="checkbox" name="chkLikes" id="chkLikes" data-filter="Likes" data-mini="true"> <div data-role="controlgroup" data-type="horizontal" data-mini="true" class="viewPanelTabs">
<label for="chkLikes">${OptionLikes}</label> <a href="#" data-role="button" class="viewTabButton" data-tab="tabView">${TabView}</a>
<a href="#" data-role="button" class="viewTabButton" data-tab="tabFilter">${TabFilter}</a>
</div>
<input class="chkStandardFilter" type="checkbox" name="chkDislikes" id="chkDislikes" data-filter="Dislikes" data-mini="true"> <div class="tabView viewTab">
<label for="chkDislikes">${OptionDislikes}</label>
</fieldset> <div>
<label for="selectPageSize">${LabelPageSize}</label>
<select id="selectPageSize"></select>
</div>
</div>
<div class="tabFilter viewTab">
<fieldset data-role="controlgroup">
<legend>
${HeaderFilters}
</legend>
<input class="chkStandardFilter" type="checkbox" name="chkIsFavorite" id="chkIsFavorite" data-filter="IsFavorite" data-mini="true">
<label for="chkIsFavorite">${OptionFavorite}</label>
<input class="chkStandardFilter" type="checkbox" name="chkLikes" id="chkLikes" data-filter="Likes" data-mini="true">
<label for="chkLikes">${OptionLikes}</label>
<input class="chkStandardFilter" type="checkbox" name="chkDislikes" id="chkDislikes" data-filter="Dislikes" data-mini="true">
<label for="chkDislikes">${OptionDislikes}</label>
</fieldset>
</div>
</form> </form>
</div> </div>

View File

@ -20,48 +20,52 @@
</div> </div>
<div data-role="content"> <div data-role="content">
<div class="viewSettings"> <div class="viewSettings">
<div class="viewControls" data-role="controlgroup" data-type="horizontal">
<button data-mini="true" data-icon="filter" data-inline="true" data-iconpos="notext" title="${ButtonFilter}" onclick="$('#filterPanel', $(this).parents('.page')).panel( 'toggle' );">${ButtonFilter}</button>
</div>
<div class="listTopPaging"> <div class="listTopPaging">
</div> </div>
</div> </div>
<div id="items" class="itemsContainer"></div> <div id="items" class="itemsContainer"></div>
</div> </div>
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-position-fixed="true">
<div data-role="panel" class="viewPanel" data-theme="a" data-position="right" data-display="overlay" data-position-fixed="true">
<form> <form>
<fieldset data-role="controlgroup">
<legend>
<strong>${HeaderFilters}</strong>
</legend>
<input class="chkStandardFilter" type="checkbox" name="chkIsFavorite" id="chkIsFavorite" data-filter="IsFavorite" data-mini="true">
<label for="chkIsFavorite">${OptionFavorite}</label>
<input class="chkStandardFilter" type="checkbox" name="chkLikes" id="chkLikes" data-filter="Likes" data-mini="true"> <div data-role="controlgroup" data-type="horizontal" data-mini="true" class="viewPanelTabs">
<label for="chkLikes">${OptionLikes}</label> <a href="#" data-role="button" class="viewTabButton" data-tab="tabFilter">${TabFilter}</a>
</div>
<input class="chkStandardFilter" type="checkbox" name="chkDislikes" id="chkDislikes" data-filter="Dislikes" data-mini="true"> <div class="tabFilter viewTab">
<label for="chkDislikes">${OptionDislikes}</label> <fieldset data-role="controlgroup">
</fieldset> <legend>
<fieldset data-role="controlgroup"> ${HeaderFilters}
<legend> </legend>
<strong>${HeaderPersonTypes}</strong> <input class="chkStandardFilter" type="checkbox" name="chkIsFavorite" id="chkIsFavorite" data-filter="IsFavorite" data-mini="true">
</legend> <label for="chkIsFavorite">${OptionFavorite}</label>
<input class="chkPersonTypeFilter" type="checkbox" name="chkActor" id="chkActor" data-filter="Actor" data-mini="true">
<label for="chkActor">${OptionActors}</label>
<input class="chkPersonTypeFilter" type="checkbox" name="chkDirector" id="chkDirector" data-filter="Director" data-mini="true"> <input class="chkStandardFilter" type="checkbox" name="chkLikes" id="chkLikes" data-filter="Likes" data-mini="true">
<label for="chkDirector">${OptionDirectors}</label> <label for="chkLikes">${OptionLikes}</label>
<input class="chkPersonTypeFilter" type="checkbox" name="chkProducer" id="chkProducer" data-filter="Producer" data-mini="true"> <input class="chkStandardFilter" type="checkbox" name="chkDislikes" id="chkDislikes" data-filter="Dislikes" data-mini="true">
<label for="chkProducer">${OptionProducers}</label> <label for="chkDislikes">${OptionDislikes}</label>
</fieldset>
<fieldset data-role="controlgroup">
<legend>
${HeaderPersonTypes}
</legend>
<input class="chkPersonTypeFilter" type="checkbox" name="chkActor" id="chkActor" data-filter="Actor" data-mini="true">
<label for="chkActor">${OptionActors}</label>
<input class="chkPersonTypeFilter" type="checkbox" name="chkWriter" id="chkWriter" data-filter="Writer" data-mini="true"> <input class="chkPersonTypeFilter" type="checkbox" name="chkDirector" id="chkDirector" data-filter="Director" data-mini="true">
<label for="chkWriter">${OptionWriters}</label> <label for="chkDirector">${OptionDirectors}</label>
</fieldset>
<input class="chkPersonTypeFilter" type="checkbox" name="chkProducer" id="chkProducer" data-filter="Producer" data-mini="true">
<label for="chkProducer">${OptionProducers}</label>
<input class="chkPersonTypeFilter" type="checkbox" name="chkWriter" id="chkWriter" data-filter="Writer" data-mini="true">
<label for="chkWriter">${OptionWriters}</label>
</fieldset>
</div>
</form> </form>
</div> </div>
</div> </div>
</body> </body>
</html> </html>

View File

@ -20,22 +20,6 @@
</div> </div>
<div data-role="content"> <div data-role="content">
<div class="viewSettings"> <div class="viewSettings">
<div class="viewControls">
<div style="display: inline-block;">
<select data-mini="true" data-inline="true" id="selectView" name="selectView">
<option value="Thumb">${OptionThumb}</option>
<option value="Poster">${OptionPoster}</option>
<option value="Banner">${OptionBanner}</option>
<option value="List">${OptionList}</option>
<option value="Timeline">${OptionTimeline}</option>
</select>
</div>
</div>
<div class="viewControls" data-role="controlgroup" data-type="horizontal">
<button data-mini="true" data-icon="sort" data-inline="true" data-iconpos="notext" title="${ButtonSort}" onclick="$('#sortPanel', $(this).parents('.page')).panel( 'toggle' );">${ButtonSort}</button>
<button data-mini="true" data-icon="filter" data-inline="true" data-iconpos="notext" title="${ButtonFilter}" onclick="$('#filterPanel', $(this).parents('.page')).panel( 'toggle' );">${ButtonFilter}</button>
<button data-mini="true" data-icon="check" data-inline="true" data-iconpos="notext" title="${ButtonSelect}" class="btnToggleSelections">${ButtonSelect}</button>
</div>
<div class="listTopPaging"> <div class="listTopPaging">
</div> </div>
@ -48,6 +32,184 @@
</div> </div>
<div id="items" class="itemsContainer"></div> <div id="items" class="itemsContainer"></div>
</div> </div>
<div data-role="panel" class="viewPanel" data-theme="a" data-position="right" data-display="overlay" data-position-fixed="true">
<form>
<div data-role="controlgroup" data-type="horizontal" data-mini="true" class="viewPanelTabs">
<a href="#" data-role="button" class="viewTabButton" data-tab="tabView">${TabView}</a>
<a href="#" data-role="button" class="viewTabButton" data-tab="tabSort">${TabSort}</a>
<a href="#" data-role="button" class="viewTabButton" data-tab="tabFilter">${TabFilter}</a>
</div>
<div class="tabView viewTab">
<div>
<label for="selectView">${LabelView}</label>
<select id="selectView">
<option value="Thumb">${OptionThumb}</option>
<option value="Poster">${OptionPoster}</option>
<option value="Banner">${OptionBanner}</option>
<option value="List">${OptionList}</option>
<option value="Timeline">${OptionTimeline}</option>
</select>
</div>
<br />
<div>
<label for="selectPageSize">${LabelPageSize}</label>
<select id="selectPageSize"></select>
</div>
</div>
<div class="tabFilter viewTab">
<fieldset data-role="controlgroup">
<legend>
${HeaderFilters}
</legend>
<input class="chkStandardFilter" type="checkbox" name="chkPlayed" id="chkPlayed" data-filter="IsPlayed" data-mini="true">
<label for="chkPlayed">${OptionPlayed}</label>
<input class="chkStandardFilter" type="checkbox" name="chkUnplayed" id="chkUnplayed" data-filter="IsUnPlayed" data-mini="true">
<label for="chkUnplayed">${OptionUnplayed}</label>
<input class="chkStandardFilter" type="checkbox" name="chkResumable" id="chkResumable" data-filter="IsResumable" data-mini="true">
<label for="chkResumable">${OptionResumable}</label>
<input class="chkStandardFilter" type="checkbox" name="chkIsFavorite" id="chkIsFavorite" data-filter="IsFavorite" data-mini="true">
<label for="chkIsFavorite">${OptionFavorite}</label>
<input class="chkStandardFilter" type="checkbox" name="chkLikes" id="chkLikes" data-filter="Likes" data-mini="true">
<label for="chkLikes">${OptionLikes}</label>
<input class="chkStandardFilter" type="checkbox" name="chkDislikes" id="chkDislikes" data-filter="Dislikes" data-mini="true">
<label for="chkDislikes">${OptionDislikes}</label>
</fieldset>
<fieldset data-role="controlgroup">
<legend>
${LabelVideoType}
</legend>
<input class="chkVideoTypeFilter" type="checkbox" name="chkBluray" id="chkBluray" data-filter="Bluray" data-mini="true">
<label for="chkBluray">${OptionBluray}</label>
<input class="chkVideoTypeFilter" type="checkbox" name="chkDvd" id="chkDvd" data-filter="Dvd" data-mini="true">
<label for="chkDvd">${OptionDvd}</label>
<input class="chkVideoTypeFilter" type="checkbox" name="chkIso" id="chkIso" data-filter="Iso" data-mini="true">
<label for="chkIso">${OptionIso}</label>
<input class="chkHDFilter" type="checkbox" name="chkHD" id="chkHD" data-filter="IsHD" data-mini="true">
<label for="chkHD">${OptionIsHD}</label>
<input class="chkSDFilter" type="checkbox" name="chkSD" id="chkSD" data-filter="IsHD" data-mini="true">
<label for="chkSD">${OptionIsSD}</label>
<input class="chk3DFilter" type="checkbox" name="chk3D" id="chk3D" data-filter="Digital3D,Sbs3D" data-mini="true">
<label for="chk3D">${Option3D}</label>
</fieldset>
<div data-role="collapsible" data-collapsed="true" data-mini="true">
<h2>${HeaderFeatures}</h2>
<div data-role="controlgroup">
<input class="chkFeatureFilter" type="checkbox" name="chkSubtitle" id="chkSubtitle" data-mini="true">
<label for="chkSubtitle">${OptionHasSubtitles}</label>
<input class="chkFeatureFilter" type="checkbox" name="chkTrailer" id="chkTrailer" data-mini="true">
<label for="chkTrailer">${OptionHasTrailer}</label>
<input class="chkFeatureFilter" type="checkbox" name="chkSpecialFeature" id="chkSpecialFeature" data-mini="true">
<label for="chkSpecialFeature">${OptionHasSpecialFeatures}</label>
<input class="chkFeatureFilter" type="checkbox" name="chkThemeSong" id="chkThemeSong" data-mini="true">
<label for="chkThemeSong">${OptionHasThemeSong}</label>
<input class="chkFeatureFilter" type="checkbox" name="chkThemeVideo" id="chkThemeVideo" data-mini="true">
<label for="chkThemeVideo">${OptionHasThemeVideo}</label>
</div>
</div>
<div data-role="collapsible" data-collapsed="true" data-mini="true">
<h2>${HeaderManagement}</h2>
<div data-role="controlgroup">
<input class="chkMissingImdbId" type="checkbox" name="chkMissingImdbId" id="chkMissingImdbId" data-mini="true">
<label for="chkMissingImdbId">${OptionMissingImdbId}</label>
<input class="chkMissingTmdbId" type="checkbox" name="chkMissingTmdbId" id="chkMissingTmdbId" data-mini="true">
<label for="chkMissingTmdbId">${OptionMissingTmdbId}</label>
<input class="chkMissingOverview" type="checkbox" name="chkMissingOverview" id="chkMissingOverview" data-mini="true">
<label for="chkMissingOverview">${OptionMissingOverview}</label>
<input class="chkYearMismatch" type="checkbox" name="chkYearMismatch" id="chkYearMismatch" data-mini="true">
<label for="chkYearMismatch">${OptionFileMetadataYearMismatch}</label>
</div>
</div>
</div>
<div class="tabSort viewTab">
<fieldset data-role="controlgroup">
<legend>
${HeaderSortBy}
</legend>
<input class="radioSortBy defaultSort" type="radio" name="radioSortBy" id="radioSortName" value="on" checked="checked" data-sortby="SortName" data-mini="true">
<label for="radioSortName">${OptionNameSort}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioBudget" value="off" data-sortby="Budget,SortName" data-mini="true">
<label for="radioBudget">${OptionBudget}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioCommunityRating" value="off" data-sortby="CommunityRating,SortName" data-mini="true">
<label for="radioCommunityRating">${OptionImdbRating}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioCriticRating" value="off" data-sortby="CriticRating,SortName" data-mini="true">
<label for="radioCriticRating">${OptionCriticRating}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioDateCreated" value="off" data-sortby="DateCreated,SortName" data-mini="true">
<label for="radioDateCreated">${OptionDateAdded}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioDatePlayed" value="off" data-sortby="DatePlayed,SortName" data-mini="true">
<label for="radioDatePlayed">${OptionDatePlayed}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioMetascore" value="off" data-sortby="Metascore,SortName" data-mini="true">
<label for="radioMetascore">${OptionMetascore}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioContentRating" value="off" data-sortby="OfficialRating,SortName" data-mini="true">
<label for="radioContentRating">${OptionParentalRating}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioPlayCount" value="off" data-sortby="PlayCount,SortName" data-mini="true">
<label for="radioPlayCount">${OptionPlayCount}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioPremiereDate" value="off" data-sortby="PremiereDate,SortName" data-mini="true">
<label for="radioPremiereDate">${OptionReleaseDate}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioRevenue" value="off" data-sortby="Revenue,SortName" data-mini="true">
<label for="radioRevenue">${OptionRevenue}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioRuntime" value="off" data-sortby="Runtime,SortName" data-mini="true">
<label for="radioRuntime">${OptionRuntime}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioVideoBitRate" value="off" data-sortby="VideoBitRate,SortName" data-mini="true">
<label for="radioVideoBitRate">${OptionVideoBitrate}</label>
</fieldset>
<fieldset data-role="controlgroup">
<legend>
${HeaderSortOrder}
</legend>
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioAscending" value="on" checked="checked" data-sortorder="Ascending" data-mini="true">
<label for="radioAscending">${OptionAscending}</label>
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioDescending" value="off" data-sortorder="Descending" data-mini="true">
<label for="radioDescending">${OptionDescending}</label>
</fieldset>
</div>
</form>
</div>
<div data-role="panel" class="newCollectionPanel" data-position="right" data-display="overlay" data-position-fixed="true" data-theme="a"> <div data-role="panel" class="newCollectionPanel" data-position="right" data-display="overlay" data-position-fixed="true" data-theme="a">
<form class="newCollectionForm"> <form class="newCollectionForm">
@ -79,171 +241,7 @@
</p> </p>
</form> </form>
</div> </div>
<div data-role="panel" id="sortPanel" data-position="right" data-display="overlay" data-position-fixed="true">
<form>
<fieldset data-role="controlgroup">
<legend>
<strong>${HeaderSortBy}</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">${OptionNameSort}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioBudget" value="off" data-sortby="Budget,SortName" data-mini="true">
<label for="radioBudget">${OptionBudget}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioCommunityRating" value="off" data-sortby="CommunityRating,SortName" data-mini="true">
<label for="radioCommunityRating">${OptionImdbRating}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioCriticRating" value="off" data-sortby="CriticRating,SortName" data-mini="true">
<label for="radioCriticRating">${OptionCriticRating}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioDateCreated" value="off" data-sortby="DateCreated,SortName" data-mini="true">
<label for="radioDateCreated">${OptionDateAdded}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioDatePlayed" value="off" data-sortby="DatePlayed,SortName" data-mini="true">
<label for="radioDatePlayed">${OptionDatePlayed}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioMetascore" value="off" data-sortby="Metascore,SortName" data-mini="true">
<label for="radioMetascore">${OptionMetascore}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioContentRating" value="off" data-sortby="OfficialRating,SortName" data-mini="true">
<label for="radioContentRating">${OptionParentalRating}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioPlayCount" value="off" data-sortby="PlayCount,SortName" data-mini="true">
<label for="radioPlayCount">${OptionPlayCount}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioPremiereDate" value="off" data-sortby="PremiereDate,SortName" data-mini="true">
<label for="radioPremiereDate">${OptionReleaseDate}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioRevenue" value="off" data-sortby="Revenue,SortName" data-mini="true">
<label for="radioRevenue">${OptionRevenue}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioRuntime" value="off" data-sortby="Runtime,SortName" data-mini="true">
<label for="radioRuntime">${OptionRuntime}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioVideoBitRate" value="off" data-sortby="VideoBitRate,SortName" data-mini="true">
<label for="radioVideoBitRate">${OptionVideoBitrate}</label>
</fieldset>
<fieldset data-role="controlgroup">
<legend>
<strong>${HeaderSortOrder}</strong>
</legend>
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioAscending" value="on" checked="checked" data-sortorder="Ascending" data-mini="true">
<label for="radioAscending">${OptionAscending}</label>
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioDescending" value="off" data-sortorder="Descending" data-mini="true">
<label for="radioDescending">${OptionDescending}</label>
</fieldset>
</form>
</div>
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-position-fixed="true">
<form>
<fieldset data-role="controlgroup" data-type="horizontal" style="margin-bottom: 1em;">
<legend>${HeaderFilters}</legend>
<input type="radio" name="radioFilterTypes" id="radioBasicFilters" value="on" checked="checked" data-mini="true">
<label for="radioBasicFilters">${TabBasic}</label>
<input type="radio" name="radioFilterTypes" id="radioAdvancedFilters" value="off" data-mini="true">
<label for="radioAdvancedFilters">${TabAdvanced}</label>
</fieldset>
<div class="basicFilters">
<fieldset data-role="controlgroup">
<legend>
<strong>${HeaderFilters}</strong>
</legend>
<input class="chkStandardFilter" type="checkbox" name="chkPlayed" id="chkPlayed" data-filter="IsPlayed" data-mini="true">
<label for="chkPlayed">${OptionPlayed}</label>
<input class="chkStandardFilter" type="checkbox" name="chkUnplayed" id="chkUnplayed" data-filter="IsUnPlayed" data-mini="true">
<label for="chkUnplayed">${OptionUnplayed}</label>
<input class="chkStandardFilter" type="checkbox" name="chkResumable" id="chkResumable" data-filter="IsResumable" data-mini="true">
<label for="chkResumable">${OptionResumable}</label>
<input class="chkStandardFilter" type="checkbox" name="chkIsFavorite" id="chkIsFavorite" data-filter="IsFavorite" data-mini="true">
<label for="chkIsFavorite">${OptionFavorite}</label>
<input class="chkStandardFilter" type="checkbox" name="chkLikes" id="chkLikes" data-filter="Likes" data-mini="true">
<label for="chkLikes">${OptionLikes}</label>
<input class="chkStandardFilter" type="checkbox" name="chkDislikes" id="chkDislikes" data-filter="Dislikes" data-mini="true">
<label for="chkDislikes">${OptionDislikes}</label>
</fieldset>
<fieldset data-role="controlgroup">
<legend>
<strong>${LabelVideoType}</strong>
</legend>
<input class="chkVideoTypeFilter" type="checkbox" name="chkBluray" id="chkBluray" data-filter="Bluray" data-mini="true">
<label for="chkBluray">${OptionBluray}</label>
<input class="chkVideoTypeFilter" type="checkbox" name="chkDvd" id="chkDvd" data-filter="Dvd" data-mini="true">
<label for="chkDvd">${OptionDvd}</label>
<input class="chkVideoTypeFilter" type="checkbox" name="chkIso" id="chkIso" data-filter="Iso" data-mini="true">
<label for="chkIso">${OptionIso}</label>
<input class="chkHDFilter" type="checkbox" name="chkHD" id="chkHD" data-filter="IsHD" data-mini="true">
<label for="chkHD">${OptionIsHD}</label>
<input class="chkSDFilter" type="checkbox" name="chkSD" id="chkSD" data-filter="IsHD" data-mini="true">
<label for="chkSD">${OptionIsSD}</label>
<input class="chk3DFilter" type="checkbox" name="chk3D" id="chk3D" data-filter="Digital3D,Sbs3D" data-mini="true">
<label for="chk3D">${Option3D}</label>
</fieldset>
</div>
<div class="advancedFilters" style="display: none;">
<fieldset data-role="controlgroup">
<legend>
<strong>${HeaderManagement}</strong>
</legend>
<input class="chkMissingImdbId" type="checkbox" name="chkMissingImdbId" id="chkMissingImdbId" data-mini="true">
<label for="chkMissingImdbId">${OptionMissingImdbId}</label>
<input class="chkMissingTmdbId" type="checkbox" name="chkMissingTmdbId" id="chkMissingTmdbId" data-mini="true">
<label for="chkMissingTmdbId">${OptionMissingTmdbId}</label>
<input class="chkMissingOverview" type="checkbox" name="chkMissingOverview" id="chkMissingOverview" data-mini="true">
<label for="chkMissingOverview">${OptionMissingOverview}</label>
<input class="chkYearMismatch" type="checkbox" name="chkYearMismatch" id="chkYearMismatch" data-mini="true">
<label for="chkYearMismatch">${OptionFileMetadataYearMismatch}</label>
</fieldset>
<fieldset data-role="controlgroup">
<legend>
<strong>${LabelFeatures}</strong>
</legend>
<input class="chkFeatureFilter" type="checkbox" name="chkSubtitle" id="chkSubtitle" data-mini="true">
<label for="chkSubtitle">${OptionHasSubtitles}</label>
<input class="chkFeatureFilter" type="checkbox" name="chkTrailer" id="chkTrailer" data-mini="true">
<label for="chkTrailer">${OptionHasTrailer}</label>
<input class="chkFeatureFilter" type="checkbox" name="chkSpecialFeature" id="chkSpecialFeature" data-mini="true">
<label for="chkSpecialFeature">${OptionHasSpecialFeatures}</label>
<input class="chkFeatureFilter" type="checkbox" name="chkThemeSong" id="chkThemeSong" data-mini="true">
<label for="chkThemeSong">${OptionHasThemeSong}</label>
<input class="chkFeatureFilter" type="checkbox" name="chkThemeVideo" id="chkThemeVideo" data-mini="true">
<label for="chkThemeVideo">${OptionHasThemeVideo}</label>
</fieldset>
</div>
</form>
</div>
<script type="text/javascript"> <script type="text/javascript">
$('.newCollectionForm').off('submit', BoxSetEditor.onNewCollectionSubmit).on('submit', BoxSetEditor.onNewCollectionSubmit); $('.newCollectionForm').off('submit', BoxSetEditor.onNewCollectionSubmit).on('submit', BoxSetEditor.onNewCollectionSubmit);
</script> </script>

View File

@ -18,29 +18,44 @@
<div data-role="content"> <div data-role="content">
<div class="viewSettings"> <div class="viewSettings">
<div class="viewControls" data-role="controlgroup" data-type="horizontal">
<button data-mini="true" data-icon="filter" data-inline="true" data-iconpos="notext" title="${ButtonFilter}" onclick="$('#filterPanel', $(this).parents('.page')).panel( 'toggle' );">${ButtonFilter}</button>
</div>
<div class="listTopPaging"> <div class="listTopPaging">
</div> </div>
</div> </div>
<div id="items" class="itemsContainer"></div> <div id="items" class="itemsContainer"></div>
</div> </div>
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-position-fixed="true">
<div data-role="panel" class="viewPanel" data-theme="a" data-position="right" data-display="overlay" data-position-fixed="true">
<form> <form>
<fieldset data-role="controlgroup">
<legend>
<strong>${HeaderFilters}</strong>
</legend>
<input class="chkStandardFilter" type="checkbox" name="chkIsFavorite" id="chkIsFavorite" data-filter="IsFavorite" data-mini="true">
<label for="chkIsFavorite">${OptionFavorite}</label>
<input class="chkStandardFilter" type="checkbox" name="chkLikes" id="chkLikes" data-filter="Likes" data-mini="true"> <div data-role="controlgroup" data-type="horizontal" data-mini="true" class="viewPanelTabs">
<label for="chkLikes">${OptionLikes}</label> <a href="#" data-role="button" class="viewTabButton" data-tab="tabView">${TabView}</a>
<a href="#" data-role="button" class="viewTabButton" data-tab="tabFilter">${TabFilter}</a>
</div>
<input class="chkStandardFilter" type="checkbox" name="chkDislikes" id="chkDislikes" data-filter="Dislikes" data-mini="true"> <div class="tabView viewTab">
<label for="chkDislikes">${OptionDislikes}</label>
</fieldset> <div>
<label for="selectPageSize">${LabelPageSize}</label>
<select id="selectPageSize"></select>
</div>
</div>
<div class="tabFilter viewTab">
<fieldset data-role="controlgroup">
<legend>
${HeaderFilters}
</legend>
<input class="chkStandardFilter" type="checkbox" name="chkIsFavorite" id="chkIsFavorite" data-filter="IsFavorite" data-mini="true">
<label for="chkIsFavorite">${OptionFavorite}</label>
<input class="chkStandardFilter" type="checkbox" name="chkLikes" id="chkLikes" data-filter="Likes" data-mini="true">
<label for="chkLikes">${OptionLikes}</label>
<input class="chkStandardFilter" type="checkbox" name="chkDislikes" id="chkDislikes" data-filter="Dislikes" data-mini="true">
<label for="chkDislikes">${OptionDislikes}</label>
</fieldset>
</div>
</form> </form>
</div> </div>
</div> </div>

View File

@ -10,90 +10,109 @@
</div> </div>
<div data-role="content"> <div data-role="content">
<div class="viewSettings"> <div class="viewSettings">
<div class="viewControls" data-role="controlgroup" data-type="horizontal">
<button data-mini="true" data-icon="sort" data-inline="true" data-iconpos="notext" title="${ButtonSort}" onclick="$('#sortPanel', $(this).parents('.page')).panel( 'toggle' );">${ButtonSort}</button>
<button data-mini="true" data-icon="filter" data-inline="true" data-iconpos="notext" title="${ButtonFilter}" onclick="$('#filterPanel', $(this).parents('.page')).panel( 'toggle' );">${ButtonFilter}</button>
</div>
<div class="listTopPaging"> <div class="listTopPaging">
</div> </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-position-fixed="true">
<div data-role="panel" class="viewPanel" data-theme="a" data-position="right" data-display="overlay" data-position-fixed="true">
<form> <form>
<fieldset data-role="controlgroup">
<legend>
<strong>${HeaderSortBy}</strong>
</legend>
<input class="radioSortBy defaultSort" type="radio" name="radioSortBy" id="radioSortName" value="on" checked="checked" data-sortby="SortName" data-mini="true"> <div data-role="controlgroup" data-type="horizontal" data-mini="true" class="viewPanelTabs">
<label for="radioSortName">${OptionNameSort}</label> <a href="#" data-role="button" class="viewTabButton" data-tab="tabView">${TabView}</a>
<a href="#" data-role="button" class="viewTabButton" data-tab="tabSort">${TabSort}</a>
<a href="#" data-role="button" class="viewTabButton" data-tab="tabFilter">${TabFilter}</a>
</div>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioBudget" value="off" data-sortby="Budget" data-mini="true"> <div class="tabView viewTab">
<label for="radioBudget">${OptionBudget}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioCommunityRating" value="off" data-sortby="CommunityRating" data-mini="true"> <div>
<label for="radioCommunityRating">${OptionCommunityRating}</label> <label for="selectView">${LabelView}</label>
<select id="selectView">
<option value="Poster">${OptionPoster}</option>
<option value="List">${OptionList}</option>
</select>
</div>
<br />
<div>
<label for="selectPageSize">${LabelPageSize}</label>
<select id="selectPageSize"></select>
</div>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioCriticRating" value="off" data-sortby="CriticRating" data-mini="true"> </div>
<label for="radioCriticRating">${OptionCriticRating}</label> <div class="tabFilter viewTab">
<fieldset data-role="controlgroup">
<legend>${HeaderFilters}</legend>
<input class="chkStandardFilter" type="checkbox" name="chkPlayed" id="chkPlayed" data-filter="IsPlayed" data-mini="true">
<label for="chkPlayed">${OptionPlayed}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioDateCreated" value="off" data-sortby="DateCreated" data-mini="true"> <input class="chkStandardFilter" type="checkbox" name="chkUnplayed" id="chkUnplayed" data-filter="IsUnPlayed" data-mini="true">
<label for="radioDateCreated">${OptionDateAdded}</label> <label for="chkUnplayed">${OptionUnplayed}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioDatePlayed" value="off" data-sortby="DatePlayed" data-mini="true"> <input class="chkStandardFilter" type="checkbox" name="chkResumable" id="chkResumable" data-filter="IsResumable" data-mini="true">
<label for="radioDatePlayed">${OptionDatePlayed}</label> <label for="chkResumable">${OptionResumable}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioPlayCount" value="off" data-sortby="PlayCount" data-mini="true"> <input class="chkStandardFilter" type="checkbox" name="chkIsFavorite" id="chkIsFavorite" data-filter="IsFavorite" data-mini="true">
<label for="radioPlayCount">${OptionPlayCount}</label> <label for="chkIsFavorite">${OptionFavorite}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioPremiereDate" value="off" data-sortby="PremiereDate" data-mini="true"> <input class="chkStandardFilter" type="checkbox" name="chkLikes" id="chkLikes" data-filter="Likes" data-mini="true">
<label for="radioPremiereDate">${OptionReleaseDate}</label> <label for="chkLikes">${OptionLikes}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioRevenue" value="off" data-sortby="Revenue" data-mini="true"> <input class="chkStandardFilter" type="checkbox" name="chkDislikes" id="chkDislikes" data-filter="Dislikes" data-mini="true">
<label for="radioRevenue">${OptionRevenue}</label> <label for="chkDislikes">${OptionDislikes}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioRuntime" value="off" data-sortby="Runtime" data-mini="true"> </fieldset>
<label for="radioRuntime">${OptionRuntime}</label>
</fieldset>
<fieldset data-role="controlgroup">
<legend>
<strong>${HeaderSortOrder}</strong>
</legend>
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioAscending" value="on" checked="checked" data-sortorder="Ascending" data-mini="true"> </div>
<label for="radioAscending">${OptionAscending}</label> <div class="tabSort viewTab">
<fieldset data-role="controlgroup">
<legend>
${HeaderSortBy}
</legend>
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioDescending" value="off" data-sortorder="Descending" data-mini="true"> <input class="radioSortBy defaultSort" type="radio" name="radioSortBy" id="radioSortName" value="on" checked="checked" data-sortby="SortName" data-mini="true">
<label for="radioDescending">${OptionDescending}</label> <label for="radioSortName">${OptionNameSort}</label>
</fieldset>
</form>
</div>
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-position-fixed="true">
<form>
<fieldset data-role="controlgroup">
<legend>
<strong>${HeaderFilters}</strong>
</legend>
<input class="chkStandardFilter" type="checkbox" name="chkPlayed" id="chkPlayed" data-filter="IsPlayed" data-mini="true">
<label for="chkPlayed">${OptionPlayed}</label>
<input class="chkStandardFilter" type="checkbox" name="chkUnplayed" id="chkUnplayed" data-filter="IsUnPlayed" data-mini="true"> <input class="radioSortBy" type="radio" name="radioSortBy" id="radioBudget" value="off" data-sortby="Budget" data-mini="true">
<label for="chkUnplayed">${OptionUnplayed}</label> <label for="radioBudget">${OptionBudget}</label>
<input class="chkStandardFilter" type="checkbox" name="chkResumable" id="chkResumable" data-filter="IsResumable" data-mini="true"> <input class="radioSortBy" type="radio" name="radioSortBy" id="radioCommunityRating" value="off" data-sortby="CommunityRating" data-mini="true">
<label for="chkResumable">${OptionResumable}</label> <label for="radioCommunityRating">${OptionCommunityRating}</label>
<input class="chkStandardFilter" type="checkbox" name="chkIsFavorite" id="chkIsFavorite" data-filter="IsFavorite" data-mini="true"> <input class="radioSortBy" type="radio" name="radioSortBy" id="radioCriticRating" value="off" data-sortby="CriticRating" data-mini="true">
<label for="chkIsFavorite">${OptionFavorite}</label> <label for="radioCriticRating">${OptionCriticRating}</label>
<input class="chkStandardFilter" type="checkbox" name="chkLikes" id="chkLikes" data-filter="Likes" data-mini="true"> <input class="radioSortBy" type="radio" name="radioSortBy" id="radioDateCreated" value="off" data-sortby="DateCreated" data-mini="true">
<label for="chkLikes">${OptionLikes}</label> <label for="radioDateCreated">${OptionDateAdded}</label>
<input class="chkStandardFilter" type="checkbox" name="chkDislikes" id="chkDislikes" data-filter="Dislikes" data-mini="true"> <input class="radioSortBy" type="radio" name="radioSortBy" id="radioDatePlayed" value="off" data-sortby="DatePlayed" data-mini="true">
<label for="chkDislikes">${OptionDislikes}</label> <label for="radioDatePlayed">${OptionDatePlayed}</label>
</fieldset>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioPlayCount" value="off" data-sortby="PlayCount" data-mini="true">
<label for="radioPlayCount">${OptionPlayCount}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioPremiereDate" value="off" data-sortby="PremiereDate" data-mini="true">
<label for="radioPremiereDate">${OptionReleaseDate}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioRevenue" value="off" data-sortby="Revenue" data-mini="true">
<label for="radioRevenue">${OptionRevenue}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioRuntime" value="off" data-sortby="Runtime" data-mini="true">
<label for="radioRuntime">${OptionRuntime}</label>
</fieldset>
<fieldset data-role="controlgroup">
<legend>
${HeaderSortOrder}
</legend>
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioAscending" value="on" checked="checked" data-sortorder="Ascending" data-mini="true">
<label for="radioAscending">${OptionAscending}</label>
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioDescending" value="off" data-sortorder="Descending" data-mini="true">
<label for="radioDescending">${OptionDescending}</label>
</fieldset>
</div>
</form> </form>
</div> </div>
</div> </div>

View File

@ -19,35 +19,50 @@
</div> </div>
<div data-role="content"> <div data-role="content">
<div class="viewSettings"> <div class="viewSettings">
<div style="display: inline-block;">
<select data-mini="true" data-inline="true" id="selectView" name="selectView">
<option value="Poster">${OptionPoster}</option>
<option value="List">${OptionList}</option>
</select>
</div>
<div class="viewControls" data-role="controlgroup" data-type="horizontal">
<button data-mini="true" data-icon="filter" data-inline="true" data-iconpos="notext" title="${ButtonFilter}" onclick="$('#filterPanel', $(this).parents('.page')).panel( 'toggle' );">${ButtonFilter}</button>
</div>
<div class="listTopPaging"> <div class="listTopPaging">
</div> </div>
</div> </div>
<div id="items" class="itemsContainer"></div> <div id="items" class="itemsContainer"></div>
</div> </div>
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-position-fixed="true">
<div data-role="panel" class="viewPanel" data-theme="a" data-position="right" data-display="overlay" data-position-fixed="true">
<form> <form>
<fieldset data-role="controlgroup">
<legend>
<strong>${HeaderFilters}</strong>
</legend>
<input class="chkStandardFilter" type="checkbox" name="chkIsFavorite" id="chkIsFavorite" data-filter="IsFavorite" data-mini="true">
<label for="chkIsFavorite">${OptionFavorite}</label>
<input class="chkStandardFilter" type="checkbox" name="chkLikes" id="chkLikes" data-filter="Likes" data-mini="true"> <div data-role="controlgroup" data-type="horizontal" data-mini="true" class="viewPanelTabs">
<label for="chkLikes">${OptionLikes}</label> <a href="#" data-role="button" class="viewTabButton" data-tab="tabView">${TabView}</a>
<a href="#" data-role="button" class="viewTabButton" data-tab="tabFilter">${TabFilter}</a>
</div>
<input class="chkStandardFilter" type="checkbox" name="chkDislikes" id="chkDislikes" data-filter="Dislikes" data-mini="true"> <div class="tabView viewTab">
<label for="chkDislikes">${OptionDislikes}</label>
</fieldset> <div>
<label for="selectView">${LabelView}</label>
<select id="selectView">
<option value="Poster">${OptionPoster}</option>
<option value="List">${OptionList}</option>
</select>
</div>
<br />
<div>
<label for="selectPageSize">${LabelPageSize}</label>
<select id="selectPageSize"></select>
</div>
</div>
<div class="tabFilter viewTab">
<fieldset data-role="controlgroup">
<legend>${HeaderFilters}</legend>
<input class="chkStandardFilter" type="checkbox" name="chkIsFavorite" id="chkIsFavorite" data-filter="IsFavorite" data-mini="true">
<label for="chkIsFavorite">${OptionFavorite}</label>
<input class="chkStandardFilter" type="checkbox" name="chkLikes" id="chkLikes" data-filter="Likes" data-mini="true">
<label for="chkLikes">${OptionLikes}</label>
<input class="chkStandardFilter" type="checkbox" name="chkDislikes" id="chkDislikes" data-filter="Dislikes" data-mini="true">
<label for="chkDislikes">${OptionDislikes}</label>
</fieldset>
</div>
</form> </form>
</div> </div>
</div> </div>

View File

@ -18,77 +18,87 @@
</div> </div>
<div data-role="content"> <div data-role="content">
<div class="viewSettings"> <div class="viewSettings">
<div class="viewControls">
<div style="display: inline-block;">
<select data-mini="true" data-inline="true" id="selectView" name="selectView">
<option value="Poster">${OptionPoster}</option>
<option value="List">${OptionList}</option>
<option value="Timeline">${OptionTimeline}</option>
</select>
</div>
</div>
<div class="viewControls" data-role="controlgroup" data-type="horizontal">
<button data-mini="true" data-icon="sort" data-inline="true" data-iconpos="notext" title="${ButtonSort}" onclick="$('#sortPanel', $(this).parents('.page')).panel( 'toggle' );">${ButtonSort}</button>
<button data-mini="true" data-icon="filter" data-inline="true" data-iconpos="notext" title="${ButtonFilter}" onclick="$('#filterPanel', $(this).parents('.page')).panel( 'toggle' );">${ButtonFilter}</button>
</div>
<div class="listTopPaging"> <div class="listTopPaging">
</div> </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-position-fixed="true">
<div data-role="panel" class="viewPanel" data-theme="a" data-position="right" data-display="overlay" data-position-fixed="true">
<form> <form>
<fieldset data-role="controlgroup">
<legend>
<strong>${HeaderSortBy}</strong>
</legend>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioSortName" value="on" checked="checked" data-sortby="SortName" data-mini="true"> <div data-role="controlgroup" data-type="horizontal" data-mini="true" class="viewPanelTabs">
<label for="radioSortName">${OptionNameSort}</label> <a href="#" data-role="button" class="viewTabButton" data-tab="tabView">${TabView}</a>
<a href="#" data-role="button" class="viewTabButton" data-tab="tabSort">${TabSort}</a>
<a href="#" data-role="button" class="viewTabButton" data-tab="tabFilter">${TabFilter}</a>
</div>
<input class="radioSortBy defaultSort" type="radio" name="radioSortBy" id="radioAlbumArtist" value="off" data-sortby="AlbumArtist,SortName" data-mini="true"> <div class="tabView viewTab">
<label for="radioAlbumArtist">${OptionAlbumArtist}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioCommunityRating" value="off" data-sortby="CommunityRating,SortName" data-mini="true"> <div>
<label for="radioCommunityRating">${OptionCommunityRating}</label> <label for="selectView">${LabelView}</label>
<select id="selectView">
<option value="Poster">${OptionPoster}</option>
<option value="List">${OptionList}</option>
<option value="Timeline">${OptionTimeline}</option>
</select>
</div>
<br />
<div>
<label for="selectPageSize">${LabelPageSize}</label>
<select id="selectPageSize"></select>
</div>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioDateCreated" value="off" data-sortby="DateCreated" data-mini="true"> </div>
<label for="radioDateCreated">${OptionDateAdded}</label> <div class="tabFilter viewTab">
<fieldset data-role="controlgroup">
<legend>${HeaderFilters}</legend>
<input class="chkStandardFilter" type="checkbox" name="chkIsFavorite" id="chkIsFavorite" data-filter="IsFavorite" data-mini="true">
<label for="chkIsFavorite">${OptionFavorite}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioPremiereDate" value="off" data-sortby="ProductionYear,PremiereDate" data-mini="true"> <input class="chkStandardFilter" type="checkbox" name="chkLikes" id="chkLikes" data-filter="Likes" data-mini="true">
<label for="radioPremiereDate">${OptionReleaseDate}</label> <label for="chkLikes">${OptionLikes}</label>
</fieldset> <input class="chkStandardFilter" type="checkbox" name="chkDislikes" id="chkDislikes" data-filter="Dislikes" data-mini="true">
<label for="chkDislikes">${OptionDislikes}</label>
</fieldset>
<fieldset data-role="controlgroup"> </div>
<legend> <div class="tabSort viewTab">
<strong>${HeaderSortOrder}</strong> <fieldset data-role="controlgroup">
</legend> <legend>
${HeaderSortBy}
</legend>
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioAscending" value="on" checked="checked" data-sortorder="Ascending" data-mini="true"> <input class="radioSortBy" type="radio" name="radioSortBy" id="radioSortName" value="on" checked="checked" data-sortby="SortName" data-mini="true">
<label for="radioAscending">${OptionAscending}</label> <label for="radioSortName">${OptionNameSort}</label>
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioDescending" value="off" data-sortorder="Descending" data-mini="true"> <input class="radioSortBy defaultSort" type="radio" name="radioSortBy" id="radioAlbumArtist" value="off" data-sortby="AlbumArtist,SortName" data-mini="true">
<label for="radioDescending">${OptionDescending}</label> <label for="radioAlbumArtist">${OptionAlbumArtist}</label>
</fieldset>
</form>
</div>
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-position-fixed="true">
<form>
<fieldset data-role="controlgroup">
<legend>
<strong>${HeaderFilters}</strong>
</legend>
<input class="chkStandardFilter" type="checkbox" name="chkIsFavorite" id="chkIsFavorite" data-filter="IsFavorite" data-mini="true">
<label for="chkIsFavorite">${OptionFavorite}</label>
<input class="chkStandardFilter" type="checkbox" name="chkLikes" id="chkLikes" data-filter="Likes" data-mini="true"> <input class="radioSortBy" type="radio" name="radioSortBy" id="radioCommunityRating" value="off" data-sortby="CommunityRating,SortName" data-mini="true">
<label for="chkLikes">${OptionLikes}</label> <label for="radioCommunityRating">${OptionCommunityRating}</label>
<input class="chkStandardFilter" type="checkbox" name="chkDislikes" id="chkDislikes" data-filter="Dislikes" data-mini="true"> <input class="radioSortBy" type="radio" name="radioSortBy" id="radioDateCreated" value="off" data-sortby="DateCreated" data-mini="true">
<label for="chkDislikes">${OptionDislikes}</label> <label for="radioDateCreated">${OptionDateAdded}</label>
</fieldset>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioPremiereDate" value="off" data-sortby="ProductionYear,PremiereDate" data-mini="true">
<label for="radioPremiereDate">${OptionReleaseDate}</label>
</fieldset>
<fieldset data-role="controlgroup">
<legend>
${HeaderSortOrder}
</legend>
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioAscending" value="on" checked="checked" data-sortorder="Ascending" data-mini="true">
<label for="radioAscending">${OptionAscending}</label>
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioDescending" value="off" data-sortorder="Descending" data-mini="true">
<label for="radioDescending">${OptionDescending}</label>
</fieldset>
</div>
</form> </form>
</div> </div>
</div> </div>

View File

@ -19,35 +19,49 @@
</div> </div>
<div data-role="content"> <div data-role="content">
<div class="viewSettings"> <div class="viewSettings">
<div style="display: inline-block;">
<select data-mini="true" data-inline="true" id="selectView" name="selectView">
<option value="Poster">${OptionPoster}</option>
<option value="List">${OptionList}</option>
</select>
</div>
<div class="viewControls" data-role="controlgroup" data-type="horizontal">
<button data-mini="true" data-icon="filter" data-inline="true" data-iconpos="notext" title="${ButtonFilter}" onclick="$('#filterPanel', $(this).parents('.page')).panel( 'toggle' );">${ButtonFilter}</button>
</div>
<div class="listTopPaging"> <div class="listTopPaging">
</div> </div>
</div> </div>
<div id="items" class="itemsContainer"></div> <div id="items" class="itemsContainer"></div>
</div> </div>
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-position-fixed="true"> <div data-role="panel" class="viewPanel" data-theme="a" data-position="right" data-display="overlay" data-position-fixed="true">
<form> <form>
<fieldset data-role="controlgroup">
<legend>
<strong>${HeaderFilters}</strong>
</legend>
<input class="chkStandardFilter" type="checkbox" name="chkIsFavorite" id="chkIsFavorite" data-filter="IsFavorite" data-mini="true">
<label for="chkIsFavorite">${OptionFavorite}</label>
<input class="chkStandardFilter" type="checkbox" name="chkLikes" id="chkLikes" data-filter="Likes" data-mini="true"> <div data-role="controlgroup" data-type="horizontal" data-mini="true" class="viewPanelTabs">
<label for="chkLikes">${OptionLikes}</label> <a href="#" data-role="button" class="viewTabButton" data-tab="tabView">${TabView}</a>
<a href="#" data-role="button" class="viewTabButton" data-tab="tabFilter">${TabFilter}</a>
</div>
<input class="chkStandardFilter" type="checkbox" name="chkDislikes" id="chkDislikes" data-filter="Dislikes" data-mini="true"> <div class="tabView viewTab">
<label for="chkDislikes">${OptionDislikes}</label>
</fieldset> <div>
<label for="selectView">${LabelView}</label>
<select id="selectView">
<option value="Poster">${OptionPoster}</option>
<option value="List">${OptionList}</option>
</select>
</div>
<br />
<div>
<label for="selectPageSize">${LabelPageSize}</label>
<select id="selectPageSize"></select>
</div>
</div>
<div class="tabFilter viewTab">
<fieldset data-role="controlgroup">
<legend>${HeaderFilters}</legend>
<input class="chkStandardFilter" type="checkbox" name="chkIsFavorite" id="chkIsFavorite" data-filter="IsFavorite" data-mini="true">
<label for="chkIsFavorite">${OptionFavorite}</label>
<input class="chkStandardFilter" type="checkbox" name="chkLikes" id="chkLikes" data-filter="Likes" data-mini="true">
<label for="chkLikes">${OptionLikes}</label>
<input class="chkStandardFilter" type="checkbox" name="chkDislikes" id="chkDislikes" data-filter="Dislikes" data-mini="true">
<label for="chkDislikes">${OptionDislikes}</label>
</fieldset>
</div>
</form> </form>
</div> </div>
</div> </div>

View File

@ -16,29 +16,44 @@
</div> </div>
<div data-role="content"> <div data-role="content">
<div class="viewSettings"> <div class="viewSettings">
<div class="viewControls" data-role="controlgroup" data-type="horizontal">
<button data-mini="true" data-icon="filter" data-inline="true" data-iconpos="notext" title="${ButtonFilter}" onclick="$('#filterPanel', $(this).parents('.page')).panel( 'toggle' );">${ButtonFilter}</button>
</div>
<div class="listTopPaging"> <div class="listTopPaging">
</div> </div>
</div> </div>
<div id="items" class="itemsContainer"></div> <div id="items" class="itemsContainer"></div>
</div> </div>
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-position-fixed="true">
<div data-role="panel" class="viewPanel" data-theme="a" data-position="right" data-display="overlay" data-position-fixed="true">
<form> <form>
<fieldset data-role="controlgroup">
<legend>
<strong>${HeaderFilters}</strong>
</legend>
<input class="chkStandardFilter" type="checkbox" name="chkIsFavorite" id="chkIsFavorite" data-filter="IsFavorite" data-mini="true">
<label for="chkIsFavorite">${OptionFavorite}</label>
<input class="chkStandardFilter" type="checkbox" name="chkLikes" id="chkLikes" data-filter="Likes" data-mini="true"> <div data-role="controlgroup" data-type="horizontal" data-mini="true" class="viewPanelTabs">
<label for="chkLikes">${OptionLikes}</label> <a href="#" data-role="button" class="viewTabButton" data-tab="tabView">${TabView}</a>
<a href="#" data-role="button" class="viewTabButton" data-tab="tabFilter">${TabFilter}</a>
</div>
<input class="chkStandardFilter" type="checkbox" name="chkDislikes" id="chkDislikes" data-filter="Dislikes" data-mini="true"> <div class="tabView viewTab">
<label for="chkDislikes">${OptionDislikes}</label>
</fieldset> <div>
<label for="selectPageSize">${LabelPageSize}</label>
<select id="selectPageSize"></select>
</div>
</div>
<div class="tabFilter viewTab">
<fieldset data-role="controlgroup">
<legend>
${HeaderFilters}
</legend>
<input class="chkStandardFilter" type="checkbox" name="chkIsFavorite" id="chkIsFavorite" data-filter="IsFavorite" data-mini="true">
<label for="chkIsFavorite">${OptionFavorite}</label>
<input class="chkStandardFilter" type="checkbox" name="chkLikes" id="chkLikes" data-filter="Likes" data-mini="true">
<label for="chkLikes">${OptionLikes}</label>
<input class="chkStandardFilter" type="checkbox" name="chkDislikes" id="chkDislikes" data-filter="Dislikes" data-mini="true">
<label for="chkDislikes">${OptionDislikes}</label>
</fieldset>
</div>
</form> </form>
</div> </div>
</div> </div>

View File

@ -20,131 +20,142 @@
</div> </div>
<div data-role="content"> <div data-role="content">
<div class="viewSettings"> <div class="viewSettings">
<div class="viewControls" data-role="controlgroup" data-type="horizontal">
<button data-mini="true" data-icon="sort" data-inline="true" data-iconpos="notext" title="${ButtonSort}" onclick="$('#sortPanel', $(this).parents('.page')).panel( 'toggle' );">${ButtonSort}</button>
<button data-mini="true" data-icon="filter" data-inline="true" data-iconpos="notext" title="${ButtonFilter}" onclick="$('#filterPanel', $(this).parents('.page')).panel( 'toggle' );">${ButtonFilter}</button>
</div>
<div class="listTopPaging"> <div class="listTopPaging">
</div> </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-position-fixed="true">
<div data-role="panel" class="viewPanel" data-theme="a" data-position="right" data-display="overlay" data-position-fixed="true">
<form> <form>
<fieldset data-role="controlgroup">
<legend>
<strong>${HeaderSortBy}</strong>
</legend>
<input class="radioSortBy defaultSort" type="radio" name="radioSortBy" id="radioSortName" value="on" checked="checked" data-sortby="SortName" data-mini="true"> <div data-role="controlgroup" data-type="horizontal" data-mini="true" class="viewPanelTabs">
<label for="radioSortName">${OptionNameSort}</label> <a href="#" data-role="button" class="viewTabButton" data-tab="tabView">${TabView}</a>
<a href="#" data-role="button" class="viewTabButton" data-tab="tabSort">${TabSort}</a>
<a href="#" data-role="button" class="viewTabButton" data-tab="tabFilter">${TabFilter}</a>
</div>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioBudget" value="off" data-sortby="Budget" data-mini="true"> <div class="tabView viewTab">
<label for="radioBudget">${OptionBudget}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioCommunityRating" value="off" data-sortby="CommunityRating" data-mini="true"> <div>
<label for="radioCommunityRating">${OptionCommunityRating}</label> <label for="selectPageSize">${LabelPageSize}</label>
<select id="selectPageSize"></select>
</div>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioCriticRating" value="off" data-sortby="CriticRating" data-mini="true"> </div>
<label for="radioCriticRating">${OptionCriticRating}</label> <div class="tabFilter viewTab">
<fieldset data-role="controlgroup">
<legend>
${HeaderFilters}
</legend>
<input class="chkStandardFilter" type="checkbox" name="chkPlayed" id="chkPlayed" data-filter="IsPlayed" data-mini="true">
<label for="chkPlayed">${OptionPlayed}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioDateCreated" value="off" data-sortby="DateCreated" data-mini="true"> <input class="chkStandardFilter" type="checkbox" name="chkUnplayed" id="chkUnplayed" data-filter="IsUnPlayed" data-mini="true">
<label for="radioDateCreated">${OptionDateAdded}</label> <label for="chkUnplayed">${OptionUnplayed}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioDatePlayed" value="off" data-sortby="DatePlayed" data-mini="true"> <input class="chkStandardFilter" type="checkbox" name="chkResumable" id="chkResumable" data-filter="IsResumable" data-mini="true">
<label for="radioDatePlayed">${OptionDatePlayed}</label> <label for="chkResumable">${OptionResumable}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioPlayCount" value="off" data-sortby="PlayCount" data-mini="true"> <input class="chkStandardFilter" type="checkbox" name="chkIsFavorite" id="chkIsFavorite" data-filter="IsFavorite" data-mini="true">
<label for="radioPlayCount">${OptionPlayCount}</label> <label for="chkIsFavorite">${OptionFavorite}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioPremiereDate" value="off" data-sortby="PremiereDate" data-mini="true"> <input class="chkStandardFilter" type="checkbox" name="chkLikes" id="chkLikes" data-filter="Likes" data-mini="true">
<label for="radioPremiereDate">${OptionReleaseDate}</label> <label for="chkLikes">${OptionLikes}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioRevenue" value="off" data-sortby="Revenue" data-mini="true"> <input class="chkStandardFilter" type="checkbox" name="chkDislikes" id="chkDislikes" data-filter="Dislikes" data-mini="true">
<label for="radioRevenue">${OptionRevenue}</label> <label for="chkDislikes">${OptionDislikes}</label>
</fieldset>
<fieldset data-role="controlgroup">
<legend>
${LabelVideoType}
</legend>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioRuntime" value="off" data-sortby="Runtime" data-mini="true"> <input class="chkVideoTypeFilter" type="checkbox" name="chkBluray" id="chkBluray" data-filter="Bluray" data-mini="true">
<label for="radioRuntime">${OptionRuntime}</label> <label for="chkBluray">${OptionBluray}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioVideoBitRate" value="off" data-sortby="VideoBitRate,SortName" data-mini="true"> <input class="chkVideoTypeFilter" type="checkbox" name="chkDvd" id="chkDvd" data-filter="Dvd" data-mini="true">
<label for="radioVideoBitRate">${OptionVideoBitrate}</label> <label for="chkDvd">${OptionDvd}</label>
</fieldset>
<fieldset data-role="controlgroup"> <input class="chkVideoTypeFilter" type="checkbox" name="chkIso" id="chkIso" data-filter="Iso" data-mini="true">
<legend> <label for="chkIso">${OptionIso}</label>
<strong>${HeaderSortOrder}</strong>
</legend>
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioAscending" value="on" checked="checked" data-sortorder="Ascending" data-mini="true"> <input class="chk3DFilter" type="checkbox" name="chk3D" id="chk3D" data-filter="Digital3D,Sbs3D" data-mini="true">
<label for="radioAscending">${OptionAscending}</label> <label for="chk3D">${Option3D}</label>
</fieldset>
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioDescending" value="off" data-sortorder="Descending" data-mini="true"> <fieldset data-role="controlgroup">
<label for="radioDescending">${OptionDescending}</label> <legend>
</fieldset> ${LabelFeatures}
</form> </legend>
</div>
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-position-fixed="true">
<form>
<fieldset data-role="controlgroup">
<legend>
<strong>${HeaderFilters}</strong>
</legend>
<input class="chkStandardFilter" type="checkbox" name="chkPlayed" id="chkPlayed" data-filter="IsPlayed" data-mini="true">
<label for="chkPlayed">${OptionPlayed}</label>
<input class="chkStandardFilter" type="checkbox" name="chkUnplayed" id="chkUnplayed" data-filter="IsUnPlayed" data-mini="true"> <input class="chkFeatureFilter" type="checkbox" name="chkSubtitle" id="chkSubtitle" data-mini="true">
<label for="chkUnplayed">${OptionUnplayed}</label> <label for="chkSubtitle">${OptionHasSubtitles}</label>
<input class="chkStandardFilter" type="checkbox" name="chkResumable" id="chkResumable" data-filter="IsResumable" data-mini="true"> <input class="chkFeatureFilter" type="checkbox" name="chkTrailer" id="chkTrailer" data-mini="true">
<label for="chkResumable">${OptionResumable}</label> <label for="chkTrailer">${OptionHasTrailer}</label>
<input class="chkStandardFilter" type="checkbox" name="chkIsFavorite" id="chkIsFavorite" data-filter="IsFavorite" data-mini="true"> <input class="chkFeatureFilter" type="checkbox" name="chkThemeSong" id="chkThemeSong" data-mini="true">
<label for="chkIsFavorite">${OptionFavorite}</label> <label for="chkThemeSong">${OptionHasThemeSong}</label>
<input class="chkStandardFilter" type="checkbox" name="chkLikes" id="chkLikes" data-filter="Likes" data-mini="true"> <input class="chkFeatureFilter" type="checkbox" name="chkThemeVideo" id="chkThemeVideo" data-mini="true">
<label for="chkLikes">${OptionLikes}</label> <label for="chkThemeVideo">${OptionHasThemeVideo}</label>
<input class="chkStandardFilter" type="checkbox" name="chkDislikes" id="chkDislikes" data-filter="Dislikes" data-mini="true"> </fieldset>
<label for="chkDislikes">${OptionDislikes}</label>
</fieldset>
<fieldset data-role="controlgroup">
<legend>
<strong>${LabelVideoType}</strong>
</legend>
<input class="chkVideoTypeFilter" type="checkbox" name="chkBluray" id="chkBluray" data-filter="Bluray" data-mini="true"> </div>
<label for="chkBluray">${OptionBluray}</label> <div class="tabSort viewTab">
<fieldset data-role="controlgroup">
<legend>
${HeaderSortBy}
</legend>
<input class="chkVideoTypeFilter" type="checkbox" name="chkDvd" id="chkDvd" data-filter="Dvd" data-mini="true"> <input class="radioSortBy defaultSort" type="radio" name="radioSortBy" id="radioSortName" value="on" checked="checked" data-sortby="SortName" data-mini="true">
<label for="chkDvd">${OptionDvd}</label> <label for="radioSortName">${OptionNameSort}</label>
<input class="chkVideoTypeFilter" type="checkbox" name="chkIso" id="chkIso" data-filter="Iso" data-mini="true"> <input class="radioSortBy" type="radio" name="radioSortBy" id="radioBudget" value="off" data-sortby="Budget" data-mini="true">
<label for="chkIso">${OptionIso}</label> <label for="radioBudget">${OptionBudget}</label>
<input class="chk3DFilter" type="checkbox" name="chk3D" id="chk3D" data-filter="Digital3D,Sbs3D" data-mini="true"> <input class="radioSortBy" type="radio" name="radioSortBy" id="radioCommunityRating" value="off" data-sortby="CommunityRating" data-mini="true">
<label for="chk3D">${Option3D}</label> <label for="radioCommunityRating">${OptionCommunityRating}</label>
</fieldset>
<fieldset data-role="controlgroup"> <input class="radioSortBy" type="radio" name="radioSortBy" id="radioCriticRating" value="off" data-sortby="CriticRating" data-mini="true">
<legend> <label for="radioCriticRating">${OptionCriticRating}</label>
<strong>${LabelFeatures}</strong>
</legend>
<input class="chkFeatureFilter" type="checkbox" name="chkSubtitle" id="chkSubtitle" data-mini="true"> <input class="radioSortBy" type="radio" name="radioSortBy" id="radioDateCreated" value="off" data-sortby="DateCreated" data-mini="true">
<label for="chkSubtitle">${OptionHasSubtitles}</label> <label for="radioDateCreated">${OptionDateAdded}</label>
<input class="chkFeatureFilter" type="checkbox" name="chkTrailer" id="chkTrailer" data-mini="true"> <input class="radioSortBy" type="radio" name="radioSortBy" id="radioDatePlayed" value="off" data-sortby="DatePlayed" data-mini="true">
<label for="chkTrailer">${OptionHasTrailer}</label> <label for="radioDatePlayed">${OptionDatePlayed}</label>
<input class="chkFeatureFilter" type="checkbox" name="chkThemeSong" id="chkThemeSong" data-mini="true"> <input class="radioSortBy" type="radio" name="radioSortBy" id="radioPlayCount" value="off" data-sortby="PlayCount" data-mini="true">
<label for="chkThemeSong">${OptionHasThemeSong}</label> <label for="radioPlayCount">${OptionPlayCount}</label>
<input class="chkFeatureFilter" type="checkbox" name="chkThemeVideo" id="chkThemeVideo" data-mini="true"> <input class="radioSortBy" type="radio" name="radioSortBy" id="radioPremiereDate" value="off" data-sortby="PremiereDate" data-mini="true">
<label for="chkThemeVideo">${OptionHasThemeVideo}</label> <label for="radioPremiereDate">${OptionReleaseDate}</label>
</fieldset> <input class="radioSortBy" type="radio" name="radioSortBy" id="radioRevenue" value="off" data-sortby="Revenue" data-mini="true">
<label for="radioRevenue">${OptionRevenue}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioRuntime" value="off" data-sortby="Runtime" data-mini="true">
<label for="radioRuntime">${OptionRuntime}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioVideoBitRate" value="off" data-sortby="VideoBitRate,SortName" data-mini="true">
<label for="radioVideoBitRate">${OptionVideoBitrate}</label>
</fieldset>
<fieldset data-role="controlgroup">
<legend>
${HeaderSortOrder}
</legend>
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioAscending" value="on" checked="checked" data-sortorder="Ascending" data-mini="true">
<label for="radioAscending">${OptionAscending}</label>
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioDescending" value="off" data-sortorder="Descending" data-mini="true">
<label for="radioDescending">${OptionDescending}</label>
</fieldset>
</div>
</form> </form>
</div> </div>
</div> </div>

View File

@ -12,7 +12,6 @@
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true"> <div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
<a href="advanced.html" data-role="button">${TabGeneral}</a> <a href="advanced.html" data-role="button">${TabGeneral}</a>
<a href="#" data-role="button" class="ui-btn-active">${TabNotifications}</a> <a href="#" data-role="button" class="ui-btn-active">${TabNotifications}</a>
<a href="advancedpaths.html" data-role="button">${TabPaths}</a>
<a href="encodingsettings.html" data-role="button">${TabTranscoding}</a> <a href="encodingsettings.html" data-role="button">${TabTranscoding}</a>
</div> </div>

View File

@ -12,7 +12,6 @@
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true"> <div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
<a href="advanced.html" data-role="button">${TabGeneral}</a> <a href="advanced.html" data-role="button">${TabGeneral}</a>
<a href="notificationsettings.html" data-role="button" class="ui-btn-active">${TabNotifications}</a> <a href="notificationsettings.html" data-role="button" class="ui-btn-active">${TabNotifications}</a>
<a href="advancedpaths.html" data-role="button">${TabPaths}</a>
<a href="appsplayback.html" data-role="button">${TabResume}</a> <a href="appsplayback.html" data-role="button">${TabResume}</a>
<a href="encodingsettings.html" data-role="button">${TabTranscoding}</a> <a href="encodingsettings.html" data-role="button">${TabTranscoding}</a>
</div> </div>

View File

@ -12,7 +12,6 @@
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true"> <div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
<a href="advanced.html" data-role="button">${TabGeneral}</a> <a href="advanced.html" data-role="button">${TabGeneral}</a>
<a href="#" data-role="button" class="ui-btn-active">${TabNotifications}</a> <a href="#" data-role="button" class="ui-btn-active">${TabNotifications}</a>
<a href="advancedpaths.html" data-role="button">${TabPaths}</a>
<a href="appsplayback.html" data-role="button">${TabResume}</a> <a href="appsplayback.html" data-role="button">${TabResume}</a>
<a href="encodingsettings.html" data-role="button">${TabTranscoding}</a> <a href="encodingsettings.html" data-role="button">${TabTranscoding}</a>
</div> </div>

View File

@ -39,7 +39,7 @@
</div> </div>
</div> </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-theme="a" data-position="right" data-display="overlay" data-theme="a" data-position-fixed="true">
<form> <form>
<fieldset data-role="controlgroup" data-type="horizontal" style="margin-bottom: 1em;"> <fieldset data-role="controlgroup" data-type="horizontal" style="margin-bottom: 1em;">
@ -93,7 +93,7 @@
<fieldset data-role="controlgroup"> <fieldset data-role="controlgroup">
<legend> <legend>
<strong>${HeaderManagement}</strong> <strong>${LabelManagement}</strong>
</legend> </legend>
<input class="chkIsLocked" type="checkbox" id="chkIsLocked" data-mini="true"> <input class="chkIsLocked" type="checkbox" id="chkIsLocked" data-mini="true">

View File

@ -1,112 +0,0 @@
(function ($, document, window) {
function loadPage(page, config) {
$('#txtCachePath', page).val(config.CachePath || '');
$('#txtItemsByNamePath', page).val(config.ItemsByNamePath || '');
$('#txtMetadataPath', page).val(config.MetadataPath || '');
Dashboard.hideLoadingMsg();
}
$(document).on('pageshow', "#advancedPathsPage", function () {
Dashboard.showLoadingMsg();
var page = this;
ApiClient.getServerConfiguration().done(function (config) {
loadPage(page, config);
});
}).on('pageinit', "#advancedPathsPage", function () {
var page = this;
$('#btnSelectCachePath', page).on("click.selectDirectory", function () {
var picker = new DirectoryBrowser(page);
picker.show({
callback: function (path) {
if (path) {
$('#txtCachePath', page).val(path);
}
picker.close();
},
header: Globalize.translate('HeaderSelectServerCachePath'),
instruction: Globalize.translate('HeaderSelectServerCachePathHelp')
});
});
$('#btnSelectIBNPath', page).on("click.selectDirectory", function () {
var picker = new DirectoryBrowser(page);
picker.show({
callback: function (path) {
if (path) {
$('#txtItemsByNamePath', page).val(path);
}
picker.close();
},
header: Globalize.translate('HeaderSelectImagesByNamePath'),
instruction: Globalize.translate('HeaderSelectImagesByNamePathHelp')
});
});
$('#btnSelectMetadataPath', page).on("click.selectDirectory", function () {
var picker = new DirectoryBrowser(page);
picker.show({
callback: function (path) {
if (path) {
$('#txtMetadataPath', page).val(path);
}
picker.close();
},
header: Globalize.translate('HeaderSelectMetadataPath'),
instruction: Globalize.translate('HeaderSelectMetadataPathHelp')
});
});
});
window.AdvancedPathsPage = {
onSubmit: function () {
Dashboard.showLoadingMsg();
var form = this;
ApiClient.getServerConfiguration().done(function (config) {
config.CachePath = $('#txtCachePath', form).val();
config.ItemsByNamePath = $('#txtItemsByNamePath', form).val();
config.MetadataPath = $('#txtMetadataPath', form).val();
ApiClient.updateServerConfiguration(config).done(Dashboard.processServerConfigurationUpdateResult);
});
// Disable default form submission
return false;
}
};
})(jQuery, document, window);

View File

@ -1,65 +0,0 @@
(function ($, document, window) {
function loadPage(page, config, systemInfo) {
if (systemInfo.SupportsNativeWebSocket) {
$('#fldWebSocketPortNumber', page).hide();
} else {
$('#fldWebSocketPortNumber', page).show();
}
$('#txtWebSocketPortNumber', page).val(config.LegacyWebSocketPortNumber);
$('#txtPortNumber', page).val(config.HttpServerPortNumber);
$('#txtDdns', page).val(config.WanDdns || '');
$('#chkEnableUpnp', page).checked(config.EnableUPnP).checkboxradio('refresh');
Dashboard.hideLoadingMsg();
}
$(document).on('pageshow', "#advancedServerSettingsPage", function () {
Dashboard.showLoadingMsg();
var page = this;
var promise1 = ApiClient.getServerConfiguration();
var promise2 = ApiClient.getSystemInfo();
$.when(promise1, promise2).done(function (response1, response2) {
loadPage(page, response1[0], response2[0]);
});
});
window.AdvancedServerSettingsPage = {
onSubmit: function () {
Dashboard.showLoadingMsg();
var form = this;
ApiClient.getServerConfiguration().done(function (config) {
config.LegacyWebSocketPortNumber = $('#txtWebSocketPortNumber', form).val();
config.HttpServerPortNumber = $('#txtPortNumber', form).val();
config.EnableUPnP = $('#chkEnableUpnp', form).checked();
config.WanDdns = $('#txtDdns', form).val();
ApiClient.updateServerConfiguration(config).done(Dashboard.processServerConfigurationUpdateResult);
});
// Disable default form submission
return false;
}
};
})(jQuery, document, window);

View File

@ -46,10 +46,10 @@
if (features.CanFilter) { if (features.CanFilter) {
$('.btnFilter', page).show(); $('.filterControls', page).show();
} else { } else {
$('.btnFilter', page).hide(); $('.filterControls', page).hide();
} }
if (features.SupportsSortOrderToggle) { if (features.SupportsSortOrderToggle) {
@ -128,8 +128,15 @@
var html = ''; var html = '';
var pagingHtml = LibraryBrowser.getPagingHtml(query, result.TotalRecordCount, false, getPageSizes()); var pagingHtml = LibraryBrowser.getQueryPagingHtml({
startIndex: query.StartIndex,
limit: query.Limit,
totalRecordCount: result.TotalRecordCount,
viewButton: true,
showLimit: false,
updatePageSizeSetting: false
});
$('.listTopPaging', page).html(pagingHtml).trigger('create'); $('.listTopPaging', page).html(pagingHtml).trigger('create');
updateFilterControls(page); updateFilterControls(page);
@ -158,12 +165,6 @@
reloadItems(page); reloadItems(page);
}); });
$('.selectPageSize', page).on('change', function () {
query.Limit = parseInt(this.value);
query.StartIndex = 0;
reloadItems(page);
});
LibraryBrowser.saveQueryValues(getSavedQueryId(), query); LibraryBrowser.saveQueryValues(getSavedQueryId(), query);
@ -198,6 +199,7 @@
}).checkboxradio('refresh'); }).checkboxradio('refresh');
$('.alphabetPicker', page).alphaValue(query.NameStartsWith); $('.alphabetPicker', page).alphaValue(query.NameStartsWith);
$('#selectPageSize', page).val(query.Limit).selectmenu('refresh');
} }
$(document).on('pageinit', "#channelItemsPage", function () { $(document).on('pageinit', "#channelItemsPage", function () {
@ -247,6 +249,12 @@
reloadItems(page); reloadItems(page);
}); });
$('#selectPageSize', page).on('change', function () {
query.Limit = parseInt(this.value);
query.StartIndex = 0;
reloadItems(page);
});
}).on('pagebeforeshow', "#channelItemsPage", function () { }).on('pagebeforeshow', "#channelItemsPage", function () {

View File

@ -12,6 +12,13 @@
})).val(config.UICulture).selectmenu('refresh'); })).val(config.UICulture).selectmenu('refresh');
$('#txtPortNumber', page).val(config.HttpServerPortNumber);
$('#txtDdns', page).val(config.WanDdns || '');
$('#chkEnableUpnp', page).checked(config.EnableUPnP).checkboxradio('refresh');
$('#txtCachePath', page).val(config.CachePath || '');
Dashboard.hideLoadingMsg(); Dashboard.hideLoadingMsg();
} }
@ -35,6 +42,30 @@
$('#txtLoginDisclaimer', page).val(config.LoginDisclaimer || ''); $('#txtLoginDisclaimer', page).val(config.LoginDisclaimer || '');
}); });
}).on('pageinit', "#dashboardGeneralPage", function () {
var page = this;
$('#btnSelectCachePath', page).on("click.selectDirectory", function () {
var picker = new DirectoryBrowser(page);
picker.show({
callback: function (path) {
if (path) {
$('#txtCachePath', page).val(path);
}
picker.close();
},
header: Globalize.translate('HeaderSelectServerCachePath'),
instruction: Globalize.translate('HeaderSelectServerCachePathHelp')
});
});
}); });
window.DashboardGeneralPage = { window.DashboardGeneralPage = {
@ -49,7 +80,13 @@
config.ServerName = $('#txtServerName', form).val(); config.ServerName = $('#txtServerName', form).val();
config.UICulture = $('#selectLocalizationLanguage', form).val(); config.UICulture = $('#selectLocalizationLanguage', form).val();
ApiClient.updateServerConfiguration(config).done(function() { config.HttpServerPortNumber = $('#txtPortNumber', form).val();
config.EnableUPnP = $('#chkEnableUpnp', form).checked();
config.WanDdns = $('#txtDdns', form).val();
config.CachePath = $('#txtCachePath', form).val();
ApiClient.updateServerConfiguration(config).done(function () {
ApiClient.getNamedConfiguration(brandingConfigKey).done(function (brandingConfig) { ApiClient.getNamedConfiguration(brandingConfigKey).done(function (brandingConfig) {

View File

@ -31,7 +31,16 @@
var html = ''; var html = '';
$('.listTopPaging', page).html(LibraryBrowser.getPagingHtml(query, result.TotalRecordCount, true)).trigger('create'); var pagingHtml = LibraryBrowser.getQueryPagingHtml({
startIndex: query.StartIndex,
limit: query.Limit,
totalRecordCount: result.TotalRecordCount,
viewButton: true,
showLimit: false,
addSelectionButton: true
});
$('.listTopPaging', page).html(pagingHtml).trigger('create');
updateFilterControls(); updateFilterControls();
@ -58,11 +67,9 @@
}); });
} }
$('.itemsContainer', page).removeClass('timelineItemsContainer'); html += pagingHtml;
html += LibraryBrowser.getPagingHtml(query, result.TotalRecordCount); $('.itemsContainer', page).html(html).trigger('create').createPosterItemMenus().trigger('itemsrendered');
$('#items', page).html(html).trigger('create').createPosterItemMenus();
$('.btnNextPage', page).on('click', function () { $('.btnNextPage', page).on('click', function () {
query.StartIndex += query.Limit; query.StartIndex += query.Limit;
@ -74,12 +81,6 @@
reloadItems(page); reloadItems(page);
}); });
$('.selectPageSize', page).on('change', function () {
query.Limit = parseInt(this.value);
query.StartIndex = 0;
reloadItems(page);
});
LibraryBrowser.saveQueryValues(getSavedQueryKey(), query); LibraryBrowser.saveQueryValues(getSavedQueryKey(), query);
Dashboard.hideLoadingMsg(); Dashboard.hideLoadingMsg();
@ -135,6 +136,7 @@
$('#chkFutureEpisode', page).checked(query.IsUnaired == true).checkboxradio('refresh'); $('#chkFutureEpisode', page).checked(query.IsUnaired == true).checkboxradio('refresh');
$('.alphabetPicker', page).alphaValue(query.NameStartsWithOrGreater); $('.alphabetPicker', page).alphaValue(query.NameStartsWithOrGreater);
$('#selectPageSize', page).val(query.Limit).selectmenu('refresh');
} }
$(document).on('pageinit', "#episodesPage", function () { $(document).on('pageinit', "#episodesPage", function () {
@ -296,6 +298,12 @@
LibraryBrowser.saveViewSetting(getSavedQueryKey(), view); LibraryBrowser.saveViewSetting(getSavedQueryKey(), view);
}); });
$('#selectPageSize', page).on('change', function () {
query.Limit = parseInt(this.value);
query.StartIndex = 0;
reloadItems(page);
});
}).on('pagebeforeshow', "#episodesPage", function () { }).on('pagebeforeshow', "#episodesPage", function () {
var page = this; var page = this;

View File

@ -26,7 +26,15 @@
var html = ''; var html = '';
$('.listTopPaging', page).html(LibraryBrowser.getPagingHtml(query, result.TotalRecordCount, true)).trigger('create'); var pagingHtml = LibraryBrowser.getQueryPagingHtml({
startIndex: query.StartIndex,
limit: query.Limit,
totalRecordCount: result.TotalRecordCount,
viewButton: true,
showLimit: false
});
$('.listTopPaging', page).html(pagingHtml).trigger('create');
updateFilterControls(page); updateFilterControls(page);
@ -40,7 +48,7 @@
lazy: true lazy: true
}); });
html += LibraryBrowser.getPagingHtml(query, result.TotalRecordCount); html += pagingHtml;
$('#items', page).html(html).trigger('create').createPosterItemMenus(); $('#items', page).html(html).trigger('create').createPosterItemMenus();
@ -54,12 +62,6 @@
reloadItems(page); reloadItems(page);
}); });
$('.selectPageSize', page).on('change', function () {
query.Limit = parseInt(this.value);
query.StartIndex = 0;
reloadItems(page);
});
LibraryBrowser.saveQueryValues(getSavedQueryKey(), query); LibraryBrowser.saveQueryValues(getSavedQueryKey(), query);
Dashboard.hideLoadingMsg(); Dashboard.hideLoadingMsg();
@ -68,6 +70,7 @@
function updateFilterControls(page) { function updateFilterControls(page) {
$('#selectPageSize', page).val(query.Limit).selectmenu('refresh');
} }
$(document).on('pageinit', "#gameGenresPage", function () { $(document).on('pageinit', "#gameGenresPage", function () {
@ -91,6 +94,12 @@
reloadItems(page); reloadItems(page);
}); });
$('#selectPageSize', page).on('change', function () {
query.Limit = parseInt(this.value);
query.StartIndex = 0;
reloadItems(page);
});
}).on('pagebeforeshow', "#gameGenresPage", function () { }).on('pagebeforeshow', "#gameGenresPage", function () {
query.ParentId = LibraryMenu.getTopParentId(); query.ParentId = LibraryMenu.getTopParentId();

View File

@ -30,7 +30,15 @@
var html = ''; var html = '';
$('.listTopPaging', page).html(LibraryBrowser.getPagingHtml(query, result.TotalRecordCount, true)).trigger('create'); var pagingHtml = LibraryBrowser.getQueryPagingHtml({
startIndex: query.StartIndex,
limit: query.Limit,
totalRecordCount: result.TotalRecordCount,
viewButton: true,
showLimit: false
});
$('.listTopPaging', page).html(pagingHtml).trigger('create');
updateFilterControls(page); updateFilterControls(page);
@ -54,7 +62,7 @@
}); });
} }
html += LibraryBrowser.getPagingHtml(query, result.TotalRecordCount); html += pagingHtml;
$('#items', page).html(html).trigger('create').createPosterItemMenus(); $('#items', page).html(html).trigger('create').createPosterItemMenus();
@ -68,12 +76,6 @@
reloadItems(page); reloadItems(page);
}); });
$('.selectPageSize', page).on('change', function () {
query.Limit = parseInt(this.value);
query.StartIndex = 0;
reloadItems(page);
});
LibraryBrowser.saveQueryValues(getSavedQueryKey(), query); LibraryBrowser.saveQueryValues(getSavedQueryKey(), query);
Dashboard.hideLoadingMsg(); Dashboard.hideLoadingMsg();
@ -124,6 +126,7 @@
$('#chkThemeVideo', page).checked(query.HasThemeVideo == true).checkboxradio('refresh'); $('#chkThemeVideo', page).checked(query.HasThemeVideo == true).checkboxradio('refresh');
$('.alphabetPicker', page).alphaValue(query.NameStartsWith); $('.alphabetPicker', page).alphaValue(query.NameStartsWith);
$('#selectPageSize', page).val(query.Limit).selectmenu('refresh');
} }
$(document).on('pageinit', "#gamesPage", function () { $(document).on('pageinit', "#gamesPage", function () {
@ -226,6 +229,12 @@
LibraryBrowser.saveViewSetting(getSavedQueryKey(), view); LibraryBrowser.saveViewSetting(getSavedQueryKey(), view);
}); });
$('#selectPageSize', page).on('change', function () {
query.Limit = parseInt(this.value);
query.StartIndex = 0;
reloadItems(page);
});
}).on('pagebeforeshow', "#gamesPage", function () { }).on('pagebeforeshow', "#gamesPage", function () {
var page = this; var page = this;

View File

@ -27,7 +27,15 @@
var html = ''; var html = '';
$('.listTopPaging', page).html(LibraryBrowser.getPagingHtml(query, result.TotalRecordCount, true)).trigger('create'); var pagingHtml = LibraryBrowser.getQueryPagingHtml({
startIndex: query.StartIndex,
limit: query.Limit,
totalRecordCount: result.TotalRecordCount,
viewButton: true,
showLimit: false
});
$('.listTopPaging', page).html(pagingHtml).trigger('create');
updateFilterControls(page); updateFilterControls(page);
@ -42,7 +50,7 @@
}); });
html += LibraryBrowser.getPagingHtml(query, result.TotalRecordCount); html += pagingHtml;
$('#items', page).html(html).trigger('create').createPosterItemMenus(); $('#items', page).html(html).trigger('create').createPosterItemMenus();
@ -56,12 +64,6 @@
reloadItems(page); reloadItems(page);
}); });
$('.selectPageSize', page).on('change', function () {
query.Limit = parseInt(this.value);
query.StartIndex = 0;
reloadItems(page);
});
LibraryBrowser.saveQueryValues(getSavedQueryKey(), query); LibraryBrowser.saveQueryValues(getSavedQueryKey(), query);
Dashboard.hideLoadingMsg(); Dashboard.hideLoadingMsg();
@ -70,6 +72,7 @@
function updateFilterControls(page) { function updateFilterControls(page) {
$('#selectPageSize', page).val(query.Limit).selectmenu('refresh');
} }
$(document).on('pageinit', "#gameStudiosPage", function () { $(document).on('pageinit', "#gameStudiosPage", function () {
@ -93,6 +96,12 @@
reloadItems(page); reloadItems(page);
}); });
$('#selectPageSize', page).on('change', function () {
query.Limit = parseInt(this.value);
query.StartIndex = 0;
reloadItems(page);
});
}).on('pagebeforeshow', "#gameStudiosPage", function () { }).on('pagebeforeshow', "#gameStudiosPage", function () {
query.ParentId = LibraryMenu.getTopParentId(); query.ParentId = LibraryMenu.getTopParentId();

View File

@ -80,6 +80,12 @@
$('.btnPlayTrailer', page).addClass('hide'); $('.btnPlayTrailer', page).addClass('hide');
} }
if (SyncManager.isAvailable(item, user)) {
$('.btnSync', page).removeClass('hide');
} else {
$('.btnSync', page).addClass('hide');
}
if (!item.LocalTrailerCount && item.RemoteTrailers.length && item.PlayAccess == 'Full') { if (!item.LocalTrailerCount && item.RemoteTrailers.length && item.PlayAccess == 'Full') {
$('.btnPlayExternalTrailer', page).removeClass('hide').attr('href', item.RemoteTrailers[0].Url); $('.btnPlayExternalTrailer', page).removeClass('hide').attr('href', item.RemoteTrailers[0].Url);
@ -1482,6 +1488,11 @@
splitVersions(page); splitVersions(page);
}); });
$('.btnSync', page).on('click', function () {
SyncManager.showMenu([currentItem]);
});
}).on('pageshow', "#itemDetailPage", function () { }).on('pageshow', "#itemDetailPage", function () {
var page = this; var page = this;

View File

@ -26,7 +26,14 @@
var html = ''; var html = '';
$('.listTopPaging', page).html(LibraryBrowser.getPagingHtml(query, result.TotalRecordCount, true)).trigger('create'); var pagingHtml = LibraryBrowser.getQueryPagingHtml({
startIndex: query.StartIndex,
limit: query.Limit,
totalRecordCount: result.TotalRecordCount,
viewButton: true,
showLimit: false
});
$('.listTopPaging', page).html(pagingHtml).trigger('create');
updateFilterControls(page); updateFilterControls(page);
@ -49,7 +56,7 @@
}); });
} }
html += LibraryBrowser.getPagingHtml(query, result.TotalRecordCount); html += pagingHtml;
$('#items', page).html(html).trigger('create'); $('#items', page).html(html).trigger('create');
@ -63,12 +70,6 @@
reloadItems(page); reloadItems(page);
}); });
$('.selectPageSize', page).on('change', function () {
query.Limit = parseInt(this.value);
query.StartIndex = 0;
reloadItems(page);
});
LibraryBrowser.saveQueryValues(getParameterByName('parentId'), query); LibraryBrowser.saveQueryValues(getParameterByName('parentId'), query);
Dashboard.hideLoadingMsg(); Dashboard.hideLoadingMsg();
@ -140,6 +141,7 @@
$('#selectView', page).val(view).selectmenu('refresh'); $('#selectView', page).val(view).selectmenu('refresh');
$('.alphabetPicker', page).alphaValue(query.NameStartsWithOrGreater); $('.alphabetPicker', page).alphaValue(query.NameStartsWithOrGreater);
$('#selectPageSize', page).val(query.Limit).selectmenu('refresh');
} }
$(document).on('pageinit', "#itemListPage", function () { $(document).on('pageinit', "#itemListPage", function () {
@ -203,6 +205,12 @@
reloadItems(page); reloadItems(page);
}); });
$('#selectPageSize', page).on('change', function () {
query.Limit = parseInt(this.value);
query.StartIndex = 0;
reloadItems(page);
});
}).on('pageshow', "#itemListPage", function () { }).on('pageshow', "#itemListPage", function () {
var page = this; var page = this;

View File

@ -9,7 +9,6 @@
var defaultBackground = "#333"; var defaultBackground = "#333";
return { return {
getDefaultPageSize: function () { getDefaultPageSize: function () {
var saved = store.getItem('pagesize_'); var saved = store.getItem('pagesize_');
@ -112,8 +111,7 @@
counts.push(childText); counts.push(childText);
} }
} } else if (options.context == "tv") {
else if (options.context == "tv") {
if (item.SeriesCount) { if (item.SeriesCount) {
@ -128,8 +126,7 @@
counts.push(childText); counts.push(childText);
} }
} } else if (options.context == "games") {
else if (options.context == "games") {
if (item.GameCount) { if (item.GameCount) {
@ -137,8 +134,7 @@
counts.push(childText); counts.push(childText);
} }
} } else if (options.context == "music") {
else if (options.context == "music") {
if (item.AlbumCount) { if (item.AlbumCount) {
@ -256,8 +252,7 @@
var artistLinksHtml = LibraryBrowser.getArtistLinksHtml(item.Artists); var artistLinksHtml = LibraryBrowser.getArtistLinksHtml(item.Artists);
html += '<td class="tabletColumn">' + artistLinksHtml + '</td>'; html += '<td class="tabletColumn">' + artistLinksHtml + '</td>';
} } else {
else {
html += '<td class="tabletColumn"></td>'; html += '<td class="tabletColumn"></td>';
} }
} }
@ -492,14 +487,11 @@
if (type == 'Backdrop') { if (type == 'Backdrop') {
options.tag = item.BackdropImageTags[index]; options.tag = item.BackdropImageTags[index];
} } else if (type == 'Screenshot') {
else if (type == 'Screenshot') {
options.tag = item.ScreenshotImageTags[index]; options.tag = item.ScreenshotImageTags[index];
} } else if (type == 'Primary') {
else if (type == 'Primary') {
options.tag = item.PrimaryImageTag || item.ImageTags[type]; options.tag = item.PrimaryImageTag || item.ImageTags[type];
} } else {
else {
options.tag = item.ImageTags[type]; options.tag = item.ImageTags[type];
} }
@ -596,8 +588,16 @@
groupTitle = itemGroupTitle; groupTitle = itemGroupTitle;
} }
var dataAttributes = LibraryBrowser.getItemDataAttributes(item, options);
var cssClass = 'ui-li-has-thumb listItem';
if (item.UserData) {
cssClass += ' libraryItemUserData' + item.UserData.Key;
}
var href = LibraryBrowser.getHref(item, options.context); var href = LibraryBrowser.getHref(item, options.context);
html += '<li class="ui-li-has-thumb" data-itemid="' + item.Id + '"><a href="' + href + '">'; html += '<li class="' + cssClass + '"' + dataAttributes + ' data-itemid="' + item.Id + '" data-href="' + href + '"><a href="' + href + '">';
var imgUrl; var imgUrl;
@ -629,8 +629,7 @@
if (item.Type == 'Episode') { if (item.Type == 'Episode') {
textlines.push(item.SeriesName || 'Unknown Series'); textlines.push(item.SeriesName || 'Unknown Series');
} } else if (item.Type == 'MusicAlbum') {
else if (item.Type == 'MusicAlbum') {
textlines.push(item.AlbumArtist || 'Unknown Artist'); textlines.push(item.AlbumArtist || 'Unknown Artist');
} }
@ -659,28 +658,13 @@
if (item.Type == 'Series' || item.Type == 'Season' || item.Type == 'BoxSet' || item.MediaType == 'Video') { if (item.Type == 'Series' || item.Type == 'Season' || item.Type == 'BoxSet' || item.MediaType == 'Video') {
if (item.UserData.UnplayedItemCount) { if (item.UserData.UnplayedItemCount) {
html += '<span class="ui-li-count">' + item.UserData.UnplayedItemCount + '</span>'; html += '<span class="ui-li-count">' + item.UserData.UnplayedItemCount + '</span>';
} } else if (item.UserData.Played && item.Type != 'TvChannel') {
else if (item.UserData.Played && item.Type != 'TvChannel') {
html += '<div class="playedIndicator"><div class="ui-icon-check ui-btn-icon-notext"></div></div>'; html += '<div class="playedIndicator"><div class="ui-icon-check ui-btn-icon-notext"></div></div>';
} }
} }
html += '</a>'; html += '</a>';
var itemCommands = []; html += '<a href="#" data-icon="ellipsis-v" class="listviewMenuButton">';
//if (MediaController.canPlay(item)) {
// itemCommands.push('playmenu');
//}
if (item.Type != "Recording" && item.Type != "Program") {
itemCommands.push('edit');
}
if (item.LocalTrailerCount) {
itemCommands.push('trailer');
}
html += '<a href="#" data-icon="ellipsis-v" data-itemid="' + item.Id + '" data-commands="' + itemCommands.join(',') + '" data-href="' + LibraryBrowser.getHref(item, options.context) + '" class="listviewMenuButton">';
html += '</a>'; html += '</a>';
html += '</li>'; html += '</li>';
@ -695,6 +679,62 @@
return outerHtml; return outerHtml;
}, },
getItemDataAttributes: function (item, options) {
var atts = [];
var itemCommands = LibraryBrowser.getItemCommands(item);
atts.push('data-itemid="' + item.Id + '"');
atts.push('data-commands="' + itemCommands.join(',') + '"');
atts.push('data-context="' + (options.context || '') + '"');
atts.push('data-itemtype="' + item.Type + '"');
atts.push('data-mediatype="' + (item.MediaType || '') + '"');
atts.push('data-positionticks="' + (item.UserData.PlaybackPositionTicks || 0) + '"');
atts.push('data-playaccess="' + (item.PlayAccess || '') + '"');
atts.push('data-locationtype="' + (item.LocationType || '') + '"');
if (item.IsPlaceHolder) {
atts.push('data-placeholder="true"');
}
var html = atts.join(' ');
if (html) {
html = ' ' + html;
}
return html;
},
getItemCommands: function (item) {
var itemCommands = [];
//if (MediaController.canPlay(item)) {
// itemCommands.push('playmenu');
//}
if (item.Type != "Recording" && item.Type != "Program") {
itemCommands.push('edit');
}
if (item.LocalTrailerCount) {
itemCommands.push('trailer');
}
if (item.Type == "Audio" || item.Type == "MusicAlbum" || item.Type == "MusicArtist" || item.Type == "MusicGenre") {
itemCommands.push('instantmix');
}
if (item.IsFolder || item.Type == "MusicArtist" || item.Type == "MusicGenre") {
itemCommands.push('shuffle');
}
return itemCommands;
},
getPosterViewHtml: function (options) { getPosterViewHtml: function (options) {
var items = options.items; var items = options.items;
@ -712,23 +752,18 @@
if (primaryImageAspectRatio && Math.abs(primaryImageAspectRatio - 1.777777778) < .3) { if (primaryImageAspectRatio && Math.abs(primaryImageAspectRatio - 1.777777778) < .3) {
options.shape = options.shape == 'auto' ? 'backdrop' : 'smallBackdrop'; options.shape = options.shape == 'auto' ? 'backdrop' : 'smallBackdrop';
} } else if (primaryImageAspectRatio && Math.abs(primaryImageAspectRatio - 1) < .33) {
else if (primaryImageAspectRatio && Math.abs(primaryImageAspectRatio - 1) < .33) {
options.coverImage = true; options.coverImage = true;
options.shape = 'square'; options.shape = 'square';
} } else if (primaryImageAspectRatio && Math.abs(primaryImageAspectRatio - 1.3333334) < .01) {
else if (primaryImageAspectRatio && Math.abs(primaryImageAspectRatio - 1.3333334) < .01) {
options.coverImage = true; options.coverImage = true;
options.shape = 'square'; options.shape = 'square';
} } else if (primaryImageAspectRatio && primaryImageAspectRatio > 1.9) {
else if (primaryImageAspectRatio && primaryImageAspectRatio > 1.9) {
options.shape = 'banner'; options.shape = 'banner';
options.coverImage = true; options.coverImage = true;
} } else if (primaryImageAspectRatio && Math.abs(primaryImageAspectRatio - 0.6666667) < .2) {
else if (primaryImageAspectRatio && Math.abs(primaryImageAspectRatio - 0.6666667) < .2) {
options.shape = 'portrait'; options.shape = 'portrait';
} } else {
else {
options.shape = options.defaultShape || 'portrait'; options.shape = options.defaultShape || 'portrait';
} }
} }
@ -760,8 +795,7 @@
html += '<h2 class="timelineHeader detailSectionHeader" style="text-align:center;">' + val + '</h2>'; html += '<h2 class="timelineHeader detailSectionHeader" style="text-align:center;">' + val + '</h2>';
currentIndexValue = val; currentIndexValue = val;
} }
} } else if (options.timeline) {
else if (options.timeline) {
var year = item.ProductionYear || "Unknown Year"; var year = item.ProductionYear || "Unknown Year";
if (year != currentIndexValue) { if (year != currentIndexValue) {
@ -792,8 +826,7 @@
tag: item.ImageTags.Primary tag: item.ImageTags.Primary
}); });
} } else if (options.autoThumb && item.ImageTags && item.ImageTags.Thumb) {
else if (options.autoThumb && item.ImageTags && item.ImageTags.Thumb) {
imgUrl = ApiClient.getScaledImageUrl(item.Id, { imgUrl = ApiClient.getScaledImageUrl(item.Id, {
type: "Thumb", type: "Thumb",
@ -801,8 +834,7 @@
tag: item.ImageTags.Thumb tag: item.ImageTags.Thumb
}); });
} } else if (options.preferBackdrop && item.BackdropImageTags && item.BackdropImageTags.length) {
else if (options.preferBackdrop && item.BackdropImageTags && item.BackdropImageTags.length) {
imgUrl = ApiClient.getScaledImageUrl(item.Id, { imgUrl = ApiClient.getScaledImageUrl(item.Id, {
type: "Backdrop", type: "Backdrop",
@ -810,8 +842,7 @@
tag: item.BackdropImageTags[0] tag: item.BackdropImageTags[0]
}); });
} } else if (options.preferThumb && item.ImageTags && item.ImageTags.Thumb) {
else if (options.preferThumb && item.ImageTags && item.ImageTags.Thumb) {
imgUrl = ApiClient.getScaledImageUrl(item.Id, { imgUrl = ApiClient.getScaledImageUrl(item.Id, {
type: "Thumb", type: "Thumb",
@ -819,8 +850,7 @@
tag: item.ImageTags.Thumb tag: item.ImageTags.Thumb
}); });
} } else if (options.preferBanner && item.ImageTags && item.ImageTags.Banner) {
else if (options.preferBanner && item.ImageTags && item.ImageTags.Banner) {
imgUrl = ApiClient.getScaledImageUrl(item.Id, { imgUrl = ApiClient.getScaledImageUrl(item.Id, {
type: "Banner", type: "Banner",
@ -828,8 +858,7 @@
tag: item.ImageTags.Banner tag: item.ImageTags.Banner
}); });
} } else if (options.preferThumb && item.SeriesThumbImageTag && options.inheritThumb !== false) {
else if (options.preferThumb && item.SeriesThumbImageTag && options.inheritThumb !== false) {
imgUrl = ApiClient.getScaledImageUrl(item.SeriesId, { imgUrl = ApiClient.getScaledImageUrl(item.SeriesId, {
type: "Thumb", type: "Thumb",
@ -837,16 +866,14 @@
tag: item.SeriesThumbImageTag tag: item.SeriesThumbImageTag
}); });
} } else if (options.preferThumb && item.ParentThumbItemId && options.inheritThumb !== false) {
else if (options.preferThumb && item.ParentThumbItemId && options.inheritThumb !== false) {
imgUrl = ApiClient.getThumbImageUrl(item.ParentThumbItemId, { imgUrl = ApiClient.getThumbImageUrl(item.ParentThumbItemId, {
type: "Thumb", type: "Thumb",
maxWidth: downloadHeight maxWidth: downloadHeight
}); });
} } else if (options.preferThumb && item.BackdropImageTags && item.BackdropImageTags.length) {
else if (options.preferThumb && item.BackdropImageTags && item.BackdropImageTags.length) {
imgUrl = ApiClient.getScaledImageUrl(item.Id, { imgUrl = ApiClient.getScaledImageUrl(item.Id, {
type: "Backdrop", type: "Backdrop",
@ -855,8 +882,7 @@
}); });
forceName = true; forceName = true;
} } else if (item.ImageTags && item.ImageTags.Primary) {
else if (item.ImageTags && item.ImageTags.Primary) {
height = 400; height = 400;
width = primaryImageAspectRatio ? Math.round(height * primaryImageAspectRatio) : null; width = primaryImageAspectRatio ? Math.round(height * primaryImageAspectRatio) : null;
@ -868,8 +894,7 @@
tag: item.ImageTags.Primary tag: item.ImageTags.Primary
}); });
} } else if (item.AlbumId && item.AlbumPrimaryImageTag) {
else if (item.AlbumId && item.AlbumPrimaryImageTag) {
height = 220; height = 220;
width = primaryImageAspectRatio ? Math.round(height * primaryImageAspectRatio) : null; width = primaryImageAspectRatio ? Math.round(height * primaryImageAspectRatio) : null;
@ -881,8 +906,7 @@
tag: item.AlbumPrimaryImageTag tag: item.AlbumPrimaryImageTag
}); });
} } else if (item.BackdropImageTags && item.BackdropImageTags.length) {
else if (item.BackdropImageTags && item.BackdropImageTags.length) {
imgUrl = ApiClient.getScaledImageUrl(item.Id, { imgUrl = ApiClient.getScaledImageUrl(item.Id, {
type: "Backdrop", type: "Backdrop",
@ -890,8 +914,7 @@
tag: item.BackdropImageTags[0] tag: item.BackdropImageTags[0]
}); });
} } else if (item.ImageTags && item.ImageTags.Thumb) {
else if (item.ImageTags && item.ImageTags.Thumb) {
imgUrl = ApiClient.getScaledImageUrl(item.Id, { imgUrl = ApiClient.getScaledImageUrl(item.Id, {
type: "Thumb", type: "Thumb",
@ -899,8 +922,7 @@
tag: item.ImageTags.Thumb tag: item.ImageTags.Thumb
}); });
} } else if (item.SeriesThumbImageTag) {
else if (item.SeriesThumbImageTag) {
imgUrl = ApiClient.getScaledImageUrl(item.SeriesId, { imgUrl = ApiClient.getScaledImageUrl(item.SeriesId, {
type: "Thumb", type: "Thumb",
@ -908,46 +930,40 @@
tag: item.SeriesThumbImageTag tag: item.SeriesThumbImageTag
}); });
} } else if (item.ParentThumbItemId) {
else if (item.ParentThumbItemId) {
imgUrl = ApiClient.getThumbImageUrl(item, { imgUrl = ApiClient.getThumbImageUrl(item, {
type: "Thumb", type: "Thumb",
maxWidth: downloadHeight maxWidth: downloadHeight
}); });
} } else if (item.MediaType == "Audio" || item.Type == "MusicAlbum" || item.Type == "MusicArtist") {
else if (item.MediaType == "Audio" || item.Type == "MusicAlbum" || item.Type == "MusicArtist") {
if (item.Name && options.showTitle) { if (item.Name && options.showTitle) {
imgUrl = 'css/images/items/list/audio.png'; imgUrl = 'css/images/items/list/audio.png';
} }
background = defaultBackground; background = defaultBackground;
} } else if (item.Type == "Recording" || item.Type == "Program" || item.Type == "TvChannel") {
else if (item.Type == "Recording" || item.Type == "Program" || item.Type == "TvChannel") {
if (item.Name && options.showTitle) { if (item.Name && options.showTitle) {
imgUrl = 'css/images/items/list/collection.png'; imgUrl = 'css/images/items/list/collection.png';
} }
background = defaultBackground; background = defaultBackground;
} } else if (item.MediaType == "Video" || item.Type == "Season" || item.Type == "Series") {
else if (item.MediaType == "Video" || item.Type == "Season" || item.Type == "Series") {
if (item.Name && options.showTitle) { if (item.Name && options.showTitle) {
imgUrl = 'css/images/items/list/video.png'; imgUrl = 'css/images/items/list/video.png';
} }
background = defaultBackground; background = defaultBackground;
} } else if (item.Type == "Person") {
else if (item.Type == "Person") {
if (item.Name && options.showTitle) { if (item.Name && options.showTitle) {
imgUrl = 'css/images/items/list/person.png'; imgUrl = 'css/images/items/list/person.png';
} }
background = defaultBackground; background = defaultBackground;
} } else {
else {
if (item.Name && options.showTitle) { if (item.Name && options.showTitle) {
imgUrl = 'css/images/items/list/collection.png'; imgUrl = 'css/images/items/list/collection.png';
} }
@ -971,7 +987,7 @@
var href = options.linkItem === false ? '#' : LibraryBrowser.getHref(item, options.context); var href = options.linkItem === false ? '#' : LibraryBrowser.getHref(item, options.context);
if (item.UserData) { if (item.UserData) {
cssClass += ' posterItemUserData' + item.UserData.Key; cssClass += ' libraryItemUserData' + item.UserData.Key;
} }
if (options.showChildCountIndicator && item.ChildCount) { if (options.showChildCountIndicator && item.ChildCount) {
@ -982,25 +998,13 @@
} }
} }
var itemCommands = [];
//if (MediaController.canPlay(item)) {
// itemCommands.push('playmenu');
//}
if (item.Type != "Recording" && item.Type != "Program") {
itemCommands.push('edit');
}
if (item.LocalTrailerCount) {
itemCommands.push('trailer');
}
if (options.showChildCountIndicator) { if (options.showChildCountIndicator) {
cssClass += ' groupingPosterItem'; cssClass += ' groupingPosterItem';
} }
html += '<a data-commands="' + itemCommands.join(',') + '" data-itemid="' + item.Id + '" class="' + cssClass + '" data-mediasourcecount="' + mediaSourceCount + '" href="' + href + '">'; var dataAttributes = LibraryBrowser.getItemDataAttributes(item, options);
html += '<a' + dataAttributes + ' class="' + cssClass + '" href="' + href + '">';
var style = ""; var style = "";
@ -1034,11 +1038,9 @@
if (options.showLocationTypeIndicator !== false) { if (options.showLocationTypeIndicator !== false) {
html += LibraryBrowser.getOfflineIndicatorHtml(item); html += LibraryBrowser.getOfflineIndicatorHtml(item);
} }
} } else if (options.showUnplayedIndicator !== false) {
else if (options.showUnplayedIndicator !== false) {
html += LibraryBrowser.getPlayedIndicatorHtml(item); html += LibraryBrowser.getPlayedIndicatorHtml(item);
} } else if (options.showChildCountIndicator) {
else if (options.showChildCountIndicator) {
html += LibraryBrowser.getGroupCountIndicator(item); html += LibraryBrowser.getGroupCountIndicator(item);
} }
@ -1268,8 +1270,7 @@
name = "Special - " + name; name = "Special - " + name;
} } else if (item.Type == "Episode" && item.IndexNumber != null && item.ParentIndexNumber != null) {
else if (item.Type == "Episode" && item.IndexNumber != null && item.ParentIndexNumber != null) {
var displayIndexNumber = item.IndexNumber; var displayIndexNumber = item.IndexNumber;
@ -1440,14 +1441,11 @@
if (item.AlbumArtist && item.Type == "Audio") { if (item.AlbumArtist && item.Type == "Audio") {
html.push('<a class="detailPageParentLink" href="itembynamedetails.html?context=music&musicartist=' + ApiClient.encodeName(item.AlbumArtist) + '">' + item.AlbumArtist + '</a>'); html.push('<a class="detailPageParentLink" href="itembynamedetails.html?context=music&musicartist=' + ApiClient.encodeName(item.AlbumArtist) + '">' + item.AlbumArtist + '</a>');
} } else if (item.AlbumArtist && item.Type == "MusicAlbum") {
else if (item.AlbumArtist && item.Type == "MusicAlbum") {
html.push('<a class="detailPageParentLink" href="itembynamedetails.html?context=music&musicartist=' + ApiClient.encodeName(item.AlbumArtist) + '">' + item.AlbumArtist + '</a>'); html.push('<a class="detailPageParentLink" href="itembynamedetails.html?context=music&musicartist=' + ApiClient.encodeName(item.AlbumArtist) + '">' + item.AlbumArtist + '</a>');
} } else if (item.Artists && item.Artists.length && item.Type == "MusicVideo") {
else if (item.Artists && item.Artists.length && item.Type == "MusicVideo") {
html.push('<a class="detailPageParentLink" href="itembynamedetails.html?context=music&musicartist=' + ApiClient.encodeName(item.Artists[0]) + '">' + item.Artists[0] + '</a>'); html.push('<a class="detailPageParentLink" href="itembynamedetails.html?context=music&musicartist=' + ApiClient.encodeName(item.Artists[0]) + '">' + item.Artists[0] + '</a>');
} } else if (item.SeriesName && item.Type == "Episode") {
else if (item.SeriesName && item.Type == "Episode") {
html.push('<a class="detailPageParentLink" href="itemdetails.html?id=' + item.SeriesId + '">' + item.SeriesName + '</a>'); html.push('<a class="detailPageParentLink" href="itemdetails.html?id=' + item.SeriesId + '">' + item.SeriesName + '</a>');
} }
@ -1455,23 +1453,18 @@
if (item.SeriesName && item.Type == "Season") { if (item.SeriesName && item.Type == "Season") {
html.push('<a class="detailPageParentLink" href="itemdetails.html?id=' + item.SeriesId + '">' + item.SeriesName + '</a>'); html.push('<a class="detailPageParentLink" href="itemdetails.html?id=' + item.SeriesId + '">' + item.SeriesName + '</a>');
} } else if (item.ParentIndexNumber != null && item.Type == "Episode") {
else if (item.ParentIndexNumber != null && item.Type == "Episode") {
html.push('<a class="detailPageParentLink" href="itemdetails.html?id=' + item.SeasonId + '">Season ' + item.ParentIndexNumber + '</a>'); html.push('<a class="detailPageParentLink" href="itemdetails.html?id=' + item.SeasonId + '">Season ' + item.ParentIndexNumber + '</a>');
} } else if (item.Album && item.Type == "Audio" && (item.AlbumId || item.ParentId)) {
else if (item.Album && item.Type == "Audio" && (item.AlbumId || item.ParentId)) {
html.push('<a class="detailPageParentLink" href="itemdetails.html?id=' + (item.AlbumId || item.ParentId) + '">' + item.Album + '</a>'); html.push('<a class="detailPageParentLink" href="itemdetails.html?id=' + (item.AlbumId || item.ParentId) + '">' + item.Album + '</a>');
} } else if (item.Album && item.Type == "MusicVideo" && item.AlbumId) {
else if (item.Album && item.Type == "MusicVideo" && item.AlbumId) {
html.push('<a class="detailPageParentLink" href="itemdetails.html?id=' + item.AlbumId + '">' + item.Album + '</a>'); html.push('<a class="detailPageParentLink" href="itemdetails.html?id=' + item.AlbumId + '">' + item.Album + '</a>');
} } else if (item.AlbumArtist && item.Type == "MusicAlbum") {
else if (item.AlbumArtist && item.Type == "MusicAlbum") {
} } else if (item.Album) {
else if (item.Album) {
html.push(item.Album); html.push(item.Album);
} }
@ -1512,6 +1505,91 @@
} }
}, },
getDefaultPageSizeSelections: function () {
return [20, 50, 100, 200, 300, 400, 500];
},
getQueryPagingHtml: function (options) {
var startIndex = options.startIndex;
var limit = options.limit;
var totalRecordCount = options.totalRecordCount;
if (limit && options.updatePageSizeSetting !== false) {
try {
store.setItem('pagesize_', limit);
} catch (e) {
}
}
var html = '';
var recordsEnd = Math.min(startIndex + limit, totalRecordCount);
// 20 is the minimum page size
var showControls = totalRecordCount > 20 || limit < totalRecordCount;
html += '<div class="listPaging">';
html += '<span style="margin-right: 10px;vertical-align:middle;">';
var startAtDisplay = totalRecordCount ? startIndex + 1 : 0;
html += startAtDisplay + '-' + recordsEnd + ' of ' + totalRecordCount;
html += '</span>';
if (showControls || options.viewButton || options.addSelectionButton || options.additionalButtonsHtml) {
html += '<div data-role="controlgroup" data-type="horizontal" style="display:inline-block;">';
if (showControls) {
html += '<button data-icon="arrow-l" data-iconpos="notext" data-inline="true" data-mini="true" class="btnPreviousPage" ' + (startIndex ? '' : 'disabled') + '>Previous Page</button>';
html += '<button data-icon="arrow-r" data-iconpos="notext" data-inline="true" data-mini="true" class="btnNextPage" ' + (startIndex + limit >= totalRecordCount ? 'disabled' : '') + '>Next Page</button>';
}
html += (options.additionalButtonsHtml || '');
if (options.addSelectionButton) {
html += '<button data-mini="true" data-icon="check" data-inline="true" data-iconpos="notext" title="' + Globalize.translate('ButtonSelect') + '" class="btnToggleSelections">' + Globalize.translate('ButtonSelect') + '</button>';
}
if (options.viewButton) {
html += '<button data-icon="ellipsis-v" data-iconpos="notext" data-inline="true" data-mini="true" onclick="$(\'.viewPanel\', $(this).parents(\'.page\')).panel(\'toggle\');">View</button>';
}
html += '</div>';
if (showControls && options.showLimit !== false) {
var id = "selectPageSize";
var pageSizes = options.pageSizes || LibraryBrowser.getDefaultPageSizeSelections();
var optionsHtml = pageSizes.map(function (val) {
if (limit == val) {
return '<option value="' + val + '" selected="selected">' + val + '</option>';
} else {
return '<option value="' + val + '">' + val + '</option>';
}
}).join('');
// Add styles to defeat jquery mobile
html += '<div class="pageSizeContainer"><label style="font-size:inherit;" class="labelPageSize" for="' + id + '">Limit: </label><select class="selectPageSize" id="' + id + '" data-inline="true" data-mini="true">' + optionsHtml + '</select></div>';
}
}
html += '</div>';
return html;
},
getPagingHtml: function (query, totalRecordCount, updatePageSizeSetting, pageSizes, showLimit) { getPagingHtml: function (query, totalRecordCount, updatePageSizeSetting, pageSizes, showLimit) {
if (query.Limit && updatePageSizeSetting !== false) { if (query.Limit && updatePageSizeSetting !== false) {

View File

@ -222,18 +222,24 @@
$('.tapHoldMenu').popup("close").remove(); $('.tapHoldMenu').popup("close").remove();
var displayContextItem = posterItem;
if ($(posterItem).hasClass('listviewMenuButton')) {
posterItem = $(posterItem).parents('.listItem')[0];
}
var itemId = posterItem.getAttribute('data-itemid'); var itemId = posterItem.getAttribute('data-itemid');
var commands = posterItem.getAttribute('data-commands').split(','); var commands = posterItem.getAttribute('data-commands').split(',');
var itemType = posterItem.getAttribute('data-itemtype');
var mediaType = posterItem.getAttribute('data-mediatype');
var playbackPositionTicks = parseInt(posterItem.getAttribute('data-positionticks') || '0');
var playAccess = posterItem.getAttribute('data-playaccess');
var locationType = posterItem.getAttribute('data-locationtype');
var isPlaceHolder = posterItem.getAttribute('data-placeholder') == 'true';
$(posterItem).addClass('hasContextMenu'); $(posterItem).addClass('hasContextMenu');
var promise1 = ApiClient.getItem(Dashboard.getCurrentUserId(), itemId); Dashboard.getCurrentUser().done(function (user) {
var promise2 = Dashboard.getCurrentUser();
$.when(promise1, promise2).done(function (response1, response2) {
var item = response1[0];
var user = response2[0];
var html = '<div data-role="popup" class="tapHoldMenu" data-theme="a">'; var html = '<div data-role="popup" class="tapHoldMenu" data-theme="a">';
@ -249,27 +255,27 @@
html += '<li data-icon="edit"><a href="edititemmetadata.html?id=' + itemId + '">' + Globalize.translate('ButtonEdit') + '</a></li>'; html += '<li data-icon="edit"><a href="edititemmetadata.html?id=' + itemId + '">' + Globalize.translate('ButtonEdit') + '</a></li>';
} }
if (MediaController.canPlay(item)) { if (MediaController.canPlayByAttributes(itemType, mediaType, playAccess, locationType, isPlaceHolder)) {
html += '<li data-icon="play"><a href="#" class="btnPlay" data-itemid="' + itemId + '">' + Globalize.translate('ButtonPlay') + '</a></li>'; html += '<li data-icon="play"><a href="#" class="btnPlay" data-itemid="' + itemId + '">' + Globalize.translate('ButtonPlay') + '</a></li>';
} }
if (item.UserData.PlaybackPositionTicks && item.MediaType != "Audio" && !item.IsFolder) { if (playbackPositionTicks && mediaType != "Audio") {
html += '<li data-icon="play"><a href="#" class="btnResume" data-ticks="' + item.UserData.PlaybackPositionTicks + '" data-itemid="' + itemId + '">' + Globalize.translate('ButtonResume') + '</a></li>'; html += '<li data-icon="play"><a href="#" class="btnResume" data-ticks="' + playbackPositionTicks + '" data-itemid="' + itemId + '">' + Globalize.translate('ButtonResume') + '</a></li>';
} }
if (commands.indexOf('trailer') != -1) { if (commands.indexOf('trailer') != -1) {
html += '<li data-icon="video"><a href="#" class="btnPlayTrailer" data-itemid="' + itemId + '">' + Globalize.translate('ButtonPlayTrailer') + '</a></li>'; html += '<li data-icon="video"><a href="#" class="btnPlayTrailer" data-itemid="' + itemId + '">' + Globalize.translate('ButtonPlayTrailer') + '</a></li>';
} }
if (MediaController.canQueueMediaType(item.MediaType, item.Type)) { if (MediaController.canQueueMediaType(mediaType, itemType)) {
html += '<li data-icon="plus"><a href="#" class="btnQueue" data-itemid="' + itemId + '">' + Globalize.translate('ButtonQueue') + '</a></li>'; html += '<li data-icon="plus"><a href="#" class="btnQueue" data-itemid="' + itemId + '">' + Globalize.translate('ButtonQueue') + '</a></li>';
} }
if (item.Type == "Audio" || item.Type == "MusicAlbum" || item.Type == "MusicArtist" || item.Type == "MusicGenre") { if (commands.indexOf('instantmix') != -1) {
html += '<li data-icon="recycle"><a href="#" class="btnInstantMix" data-itemid="' + itemId + '">' + Globalize.translate('ButtonInstantMix') + '</a></li>'; html += '<li data-icon="recycle"><a href="#" class="btnInstantMix" data-itemid="' + itemId + '">' + Globalize.translate('ButtonInstantMix') + '</a></li>';
} }
if (item.IsFolder || item.Type == "MusicArtist" || item.Type == "MusicGenre") { if (commands.indexOf('shuffle') != -1) {
html += '<li data-icon="recycle"><a href="#" class="btnShuffle" data-itemid="' + itemId + '">' + Globalize.translate('ButtonShuffle') + '</a></li>'; html += '<li data-icon="recycle"><a href="#" class="btnShuffle" data-itemid="' + itemId + '">' + Globalize.translate('ButtonShuffle') + '</a></li>';
} }
@ -279,11 +285,10 @@
$($.mobile.activePage).append(html); $($.mobile.activePage).append(html);
var elem = $('.tapHoldMenu').popup({ positionTo: posterItem }).trigger('create').popup("open").on("popupafterclose", function () { var elem = $('.tapHoldMenu').popup({ positionTo: displayContextItem }).trigger('create').popup("open").on("popupafterclose", function () {
$(this).off("popupafterclose").remove(); $(this).off("popupafterclose").remove();
$(posterItem).removeClass('hasContextMenu'); $(posterItem).removeClass('hasContextMenu');
}); });
$('.btnPlay', elem).on('click', onPlayButtonClick); $('.btnPlay', elem).on('click', onPlayButtonClick);
@ -309,6 +314,7 @@
var posterItem = this; var posterItem = this;
var itemId = posterItem.getAttribute('data-itemid'); var itemId = posterItem.getAttribute('data-itemid');
var context = posterItem.getAttribute('data-context');
$(posterItem).addClass('hasContextMenu'); $(posterItem).addClass('hasContextMenu');
@ -340,7 +346,7 @@
if (!target.is('a,button')) { if (!target.is('a,button')) {
var first = latestItems[0]; var first = latestItems[0];
Dashboard.navigate(LibraryBrowser.getHref(first)); Dashboard.navigate(LibraryBrowser.getHref(first, context));
return; return;
} }
} }
@ -351,7 +357,7 @@
html += '<div>'; html += '<div>';
html += '<ul data-role="listview">'; html += '<ul data-role="listview">';
var href = posterItem.href || LibraryBrowser.getHref(item); var href = posterItem.href || LibraryBrowser.getHref(item, context);
var header = Globalize.translate('HeaderLatestFromChannel').replace('{0}', '<a href="' + href + '">' + item.Name + '</a>'); var header = Globalize.translate('HeaderLatestFromChannel').replace('{0}', '<a href="' + href + '">' + item.Name + '</a>');
html += '<li data-role="list-divider">' + header + '</li>'; html += '<li data-role="list-divider">' + header + '</li>';
@ -364,7 +370,7 @@
var itemHtml = ''; var itemHtml = '';
href = LibraryBrowser.getHref(latestItem); href = LibraryBrowser.getHref(latestItem, context);
itemHtml += '<li class="ui-li-has-thumb"><a href="' + href + '">'; itemHtml += '<li class="ui-li-has-thumb"><a href="' + href + '">';
var imgUrl; var imgUrl;
@ -609,10 +615,6 @@
var page = this; var page = this;
$('.btnToggleSelections', page).on('click', function () {
toggleSelections(page);
});
$('.btnMergeVersions', page).on('click', function () { $('.btnMergeVersions', page).on('click', function () {
combineVersions(page); combineVersions(page);
}); });
@ -621,11 +623,38 @@
addToCollection(page); addToCollection(page);
}); });
$('.viewTabButton', page).on('click', function () {
$('.viewTabButton', page).removeClass('ui-btn-active');
$(this).addClass('ui-btn-active');
$('.viewTab', page).hide();
$('.' + this.getAttribute('data-tab'), page).show();
});
var viewPanel = $('.viewPanel', page).panel('option', 'classes.modalOpen', 'viewPanelModelOpen ui-panel-dismiss-open');
$('#selectPageSize', viewPanel).html(LibraryBrowser.getDefaultPageSizeSelections().map(function (i) {
return '<option value="' + i + '">' + i + '</option>';
}).join('')).selectmenu('refresh');
$('.itemsContainer', page).on('itemsrendered', function() {
$('.btnToggleSelections', page).off('click.toggleselections').on('click.toggleselections', function () {
toggleSelections(page);
});
});
}).on('pagebeforeshow', ".libraryPage", function () { }).on('pagebeforeshow', ".libraryPage", function () {
var page = this; var page = this;
hideSelections(page); hideSelections(page);
$('.viewTabButton:first', page).trigger('click');
}); });
function renderUserDataChanges(posterItem, userData) { function renderUserDataChanges(posterItem, userData) {
@ -659,8 +688,13 @@
function onUserDataChanged(userData) { function onUserDataChanged(userData) {
$('.posterItemUserData' + userData.Key).each(function () { $('.libraryItemUserData' + userData.Key).each(function () {
renderUserDataChanges(this, userData);
this.setAttribute('data-positionticks', (userData.PlaybackPositionTicks || 0));
if ($(this).hasClass('posterItem')) {
renderUserDataChanges(this, userData);
}
}); });
} }

View File

@ -6,6 +6,8 @@
$('#chkEnableRealtimeMonitor', page).checked(config.EnableRealtimeMonitor).checkboxradio("refresh"); $('#chkEnableRealtimeMonitor', page).checked(config.EnableRealtimeMonitor).checkboxradio("refresh");
$('#txtItemsByNamePath', page).val(config.ItemsByNamePath || '');
Dashboard.hideLoadingMsg(); Dashboard.hideLoadingMsg();
} }
@ -21,6 +23,29 @@
}); });
}).on('pageinit', "#librarySettingsPage", function () {
var page = this;
$('#btnSelectIBNPath', page).on("click.selectDirectory", function () {
var picker = new DirectoryBrowser(page);
picker.show({
callback: function (path) {
if (path) {
$('#txtItemsByNamePath', page).val(path);
}
picker.close();
},
header: Globalize.translate('HeaderSelectImagesByNamePath'),
instruction: Globalize.translate('HeaderSelectImagesByNamePathHelp')
});
});
}); });
function librarySettingsPage() { function librarySettingsPage() {
@ -34,6 +59,8 @@
ApiClient.getServerConfiguration().done(function (config) { ApiClient.getServerConfiguration().done(function (config) {
config.ItemsByNamePath = $('#txtItemsByNamePath', form).val();
config.SeasonZeroDisplayName = $('#txtSeasonZeroName', form).val(); config.SeasonZeroDisplayName = $('#txtSeasonZeroName', form).val();
config.EnableRealtimeMonitor = $('#chkEnableRealtimeMonitor', form).checked(); config.EnableRealtimeMonitor = $('#chkEnableRealtimeMonitor', form).checked();

View File

@ -25,13 +25,21 @@
function renderChannels(page, result) { function renderChannels(page, result) {
$('.listTopPaging', page).html(LibraryBrowser.getPagingHtml(query, result.TotalRecordCount, true)).trigger('create'); var pagingHtml = LibraryBrowser.getQueryPagingHtml({
startIndex: query.StartIndex,
limit: query.Limit,
totalRecordCount: result.TotalRecordCount,
viewButton: true,
showLimit: false
});
$('.listTopPaging', page).html(pagingHtml).trigger('create');
updateFilterControls(this); updateFilterControls(this);
var html = getChannelsHtml(result.Items); var html = getChannelsHtml(result.Items);
html += LibraryBrowser.getPagingHtml(query, result.TotalRecordCount); html += pagingHtml;
$('#items', page).html(html).trigger('create').createPosterItemMenus(); $('#items', page).html(html).trigger('create').createPosterItemMenus();
@ -45,12 +53,6 @@
reloadItems(page); reloadItems(page);
}); });
$('.selectPageSize', page).on('change', function () {
query.Limit = parseInt(this.value);
query.StartIndex = 0;
reloadItems(page);
});
LibraryBrowser.saveQueryValues('movies', query); LibraryBrowser.saveQueryValues('movies', query);
} }
@ -71,6 +73,7 @@
$('#chkFavorite', page).checked(query.IsFavorite == true).checkboxradio('refresh'); $('#chkFavorite', page).checked(query.IsFavorite == true).checkboxradio('refresh');
$('#chkLikes', page).checked(query.IsLiked == true).checkboxradio('refresh'); $('#chkLikes', page).checked(query.IsLiked == true).checkboxradio('refresh');
$('#chkDislikes', page).checked(query.IsDisliked == true).checkboxradio('refresh'); $('#chkDislikes', page).checked(query.IsDisliked == true).checkboxradio('refresh');
$('#selectPageSize', page).val(query.Limit).selectmenu('refresh');
} }
$(document).on('pageinit', "#liveTvChannelsPage", function () { $(document).on('pageinit', "#liveTvChannelsPage", function () {
@ -102,6 +105,12 @@
reloadItems(page); reloadItems(page);
}); });
$('#selectPageSize', page).on('change', function () {
query.Limit = parseInt(this.value);
query.StartIndex = 0;
reloadItems(page);
});
}).on('pageshow', "#liveTvChannelsPage", function () { }).on('pageshow', "#liveTvChannelsPage", function () {
// Can't use pagebeforeshow here or the loading popup won't center correctly // Can't use pagebeforeshow here or the loading popup won't center correctly

View File

@ -188,19 +188,24 @@
self.canPlay = function (item) { self.canPlay = function (item) {
if (item.PlayAccess != 'Full') { return self.canPlayByAttributes(item.Type, item.MediaType, item.PlayAccess, item.LocationType, item.IsPlaceHolder);
};
self.canPlayByAttributes = function (itemType, mediaType, playAccess, locationType, isPlaceHolder) {
if (playAccess != 'Full') {
return false; return false;
} }
if (item.LocationType == "Virtual" || item.IsPlaceHolder) { if (locationType == "Virtual" || isPlaceHolder) {
return false; return false;
} }
if (item.IsFolder || item.Type == "MusicGenre") { if (itemType == "MusicGenre" || itemType == "Season" || itemType == "Series" || itemType == "BoxSet" || itemType == "MusicAlbum" || itemType == "MusicArtist") {
return true; return true;
} }
return self.getPlayerInfo().playableMediaTypes.indexOf(item.MediaType) != -1; return self.getPlayerInfo().playableMediaTypes.indexOf(mediaType) != -1;
}; };
self.canQueueMediaType = function (mediaType, itemType) { self.canQueueMediaType = function (mediaType, itemType) {
@ -418,7 +423,7 @@
var html = ''; var html = '';
html += '<form>'; html += '<form>';
html += '<form><h3>Select Player:</h3>'; html += '<h3>' + Globalize.translate('HeaderSelectPlayer') + '</h3>';
html += '<fieldset data-role="controlgroup" data-mini="true">'; html += '<fieldset data-role="controlgroup" data-mini="true">';
var checkedHtml; var checkedHtml;
@ -438,7 +443,7 @@
html += '<label for="' + id + '" style="font-weight:normal;">' + target.name; html += '<label for="' + id + '" style="font-weight:normal;">' + target.name;
if (target.appName) { if (target.appName) {
html += '<br/><span style="color:#bbb;">' + target.appName + '</span>'; html += '<br/><span>' + target.appName + '</span>';
} }
html += '</label>'; html += '</label>';
@ -460,12 +465,12 @@
var promise = MediaController.getTargets(); var promise = MediaController.getTargets();
var html = '<div data-role="panel" data-position="right" data-display="overlay" data-position-fixed="true" id="playerSelectionPanel" class="playerSelectionPanel" data-theme="b">'; var html = '<div data-role="panel" data-position="right" data-display="overlay" data-position-fixed="true" id="playerSelectionPanel" class="playerSelectionPanel" data-theme="a">';
html += '<div class="players"></div>'; html += '<div class="players"></div>';
html += '<br/>'; html += '<br/>';
html += '<p><a href="nowplaying.html" data-role="button" data-mini="true" data-icon="remote">' + Globalize.translate('ButtonRemoteControl') + '</a></p>'; html += '<p><a href="nowplaying.html" data-role="button" data-icon="remote">' + Globalize.translate('ButtonRemoteControl') + '</a></p>';
html += '</div>'; html += '</div>';

View File

@ -146,6 +146,7 @@
self.setSubtitleStreamIndex = function (index) { self.setSubtitleStreamIndex = function (index) {
if (!self.supportsTextTracks()) { if (!self.supportsTextTracks()) {
self.changeStream(self.getCurrentTicks(), { SubtitleStreamIndex: index }); self.changeStream(self.getCurrentTicks(), { SubtitleStreamIndex: index });
self.currentSubtitleStreamIndex = index; self.currentSubtitleStreamIndex = index;
return; return;
@ -193,6 +194,7 @@
} }
self.setCurrentTrackElement(selectedTrackElementIndex); self.setCurrentTrackElement(selectedTrackElementIndex);
self.currentSubtitleStreamIndex = index; self.currentSubtitleStreamIndex = index;
}; };
@ -202,17 +204,28 @@
return s.Type == 'Subtitle' && s.IsTextSubtitleStream; return s.Type == 'Subtitle' && s.IsTextSubtitleStream;
}); });
var newStream = textStreams.filter(function (s) {
return s.Index == index;
})[0];
var trackIndex = newStream ? textStreams.indexOf(newStream) : -1;
console.log('Setting new text track index to: ' + trackIndex);
var allTracks = self.currentMediaElement.textTracks; // get list of tracks var allTracks = self.currentMediaElement.textTracks; // get list of tracks
for (var i = 0; i < allTracks.length; i++) { for (var i = 0; i < allTracks.length; i++) {
var trackIndex = textStreams[i].Index; var mode;
if (trackIndex == index) { if (trackIndex == i) {
allTracks[i].mode = "showing"; // show this track mode = "showing"; // show this track
} else { } else {
allTracks[i].mode = "disabled"; // hide all other tracks mode = "disabled"; // hide all other tracks
} }
console.log('Setting track ' + i + ' mode to: ' + mode);
allTracks[i].mode = mode;
} }
}; };
@ -382,13 +395,14 @@
$('.videoSubtitlePopup').on('click', '.mediaPopupOption', function () { $('.videoSubtitlePopup').on('click', '.mediaPopupOption', function () {
$('.videoSubtitlePopup').popup('close');
if (!$(this).hasClass('selectedMediaPopupOption')) { if (!$(this).hasClass('selectedMediaPopupOption')) {
var index = parseInt(this.getAttribute('data-index')); var index = parseInt(this.getAttribute('data-index'));
self.setSubtitleStreamIndex(index); self.setSubtitleStreamIndex(index);
} }
$('.videoSubtitlePopup').popup('close');
}); });
$('.videoQualityPopup').on('click', '.mediaPopupOption', function () { $('.videoQualityPopup').on('click', '.mediaPopupOption', function () {

View File

@ -13,11 +13,37 @@
}); });
}, },
onPageInit: function () {
var page = this;
$('#btnSelectMetadataPath', page).on("click.selectDirectory", function () {
var picker = new DirectoryBrowser(page);
picker.show({
callback: function (path) {
if (path) {
$('#txtMetadataPath', page).val(path);
}
picker.close();
},
header: Globalize.translate('HeaderSelectMetadataPath'),
instruction: Globalize.translate('HeaderSelectMetadataPathHelp')
});
});
},
load: function (page, config) { load: function (page, config) {
$('#chkEnableTmdbPersonUpdates', page).checked(config.EnableTmdbUpdates).checkboxradio("refresh"); $('#chkEnableTmdbPersonUpdates', page).checked(config.EnableTmdbUpdates).checkboxradio("refresh");
$('#chkEnableTvdbUpdates', page).checked(config.EnableTvDbUpdates).checkboxradio("refresh"); $('#chkEnableTvdbUpdates', page).checked(config.EnableTvDbUpdates).checkboxradio("refresh");
$('#chkEnableFanartUpdates', page).checked(config.EnableFanArtUpdates).checkboxradio("refresh"); $('#chkEnableFanartUpdates', page).checked(config.EnableFanArtUpdates).checkboxradio("refresh");
$('#txtMetadataPath', page).val(config.MetadataPath || '');
Dashboard.hideLoadingMsg(); Dashboard.hideLoadingMsg();
}, },
@ -32,6 +58,7 @@
config.EnableTvDbUpdates = $('#chkEnableTvdbUpdates', form).checked(); config.EnableTvDbUpdates = $('#chkEnableTvdbUpdates', form).checked();
config.EnableTmdbUpdates = $('#chkEnableTmdbPersonUpdates', form).checked(); config.EnableTmdbUpdates = $('#chkEnableTmdbPersonUpdates', form).checked();
config.EnableFanArtUpdates = $('#chkEnableFanartUpdates', form).checked(); config.EnableFanArtUpdates = $('#chkEnableFanartUpdates', form).checked();
config.MetadataPath = $('#txtMetadataPath', form).val();
ApiClient.updateServerConfiguration(config).done(Dashboard.processServerConfigurationUpdateResult); ApiClient.updateServerConfiguration(config).done(Dashboard.processServerConfigurationUpdateResult);
}); });
@ -41,4 +68,4 @@
} }
}; };
$(document).on('pageshow', "#advancedMetadataConfigurationPage", AdvancedMetadataConfigurationPage.onPageShow); $(document).on('pageinit', "#advancedMetadataConfigurationPage", AdvancedMetadataConfigurationPage.onPageInit).on('pageshow', "#advancedMetadataConfigurationPage", AdvancedMetadataConfigurationPage.onPageShow);

View File

@ -22,14 +22,33 @@
Dashboard.showLoadingMsg(); Dashboard.showLoadingMsg();
ApiClient.getItems(Dashboard.getCurrentUserId(), query).done(function (result) { var promise1 = ApiClient.getItems(Dashboard.getCurrentUserId(), query);
var promise2 = Dashboard.getCurrentUser();
$.when(promise1, promise2).done(function (response1, response2) {
var result = response1[0];
var user = response2[0];
// Scroll back up so they can see the results from the beginning // Scroll back up so they can see the results from the beginning
$(document).scrollTop(0); $(document).scrollTop(0);
var html = ''; var html = '';
$('.listTopPaging', page).html(LibraryBrowser.getPagingHtml(query, result.TotalRecordCount, true)).trigger('create'); var addiontalButtonsHtml = user.Configuration.IsAdministrator ?
('<button class="btnNewCollection" data-mini="true" data-icon="plus" data-inline="true" data-iconpos="notext">' + Globalize.translate('ButtonNew') + '</button>') :
'';
var pagingHtml = LibraryBrowser.getQueryPagingHtml({
startIndex: query.StartIndex,
limit: query.Limit,
totalRecordCount: result.TotalRecordCount,
viewButton: true,
showLimit: false,
additionalButtonsHtml: addiontalButtonsHtml
});
$('.listTopPaging', page).html(pagingHtml).trigger('create');
updateFilterControls(page); updateFilterControls(page);
@ -48,21 +67,21 @@
items: result.Items, items: result.Items,
shape: "portrait", shape: "portrait",
context: 'movies', context: 'movies',
showTitle: true, showTitle: false,
centerText: true, centerText: true,
lazy: true lazy: true
}); });
} }
html += LibraryBrowser.getPagingHtml(query, result.TotalRecordCount); html += pagingHtml;
$('.noItemsMessage', page).hide(); $('.noItemsMessage', page).hide();
} else { } else {
$('.noItemsMessage', page).show(); $('.noItemsMessage', page).show();
} }
$('#items', page).html(html).trigger('create').createPosterItemMenus(); $('.itemsContainer', page).html(html).trigger('create').createPosterItemMenus().trigger('itemsrendered');
$('.btnNextPage', page).on('click', function () { $('.btnNextPage', page).on('click', function () {
query.StartIndex += query.Limit; query.StartIndex += query.Limit;
@ -74,12 +93,6 @@
reloadItems(page); reloadItems(page);
}); });
$('.selectPageSize', page).on('change', function () {
query.Limit = parseInt(this.value);
query.StartIndex = 0;
reloadItems(page);
});
LibraryBrowser.saveQueryValues(getSavedQueryKey(), query); LibraryBrowser.saveQueryValues(getSavedQueryKey(), query);
Dashboard.hideLoadingMsg(); Dashboard.hideLoadingMsg();
@ -117,6 +130,8 @@
$('#chkThemeVideo', page).checked(query.HasThemeVideo == true).checkboxradio('refresh'); $('#chkThemeVideo', page).checked(query.HasThemeVideo == true).checkboxradio('refresh');
$('.alphabetPicker', page).alphaValue(query.NameStartsWithOrGreater); $('.alphabetPicker', page).alphaValue(query.NameStartsWithOrGreater);
$('#selectPageSize', page).val(query.Limit).selectmenu('refresh');
} }
$(document).on('pageinit', "#boxsetsPage", function () { $(document).on('pageinit', "#boxsetsPage", function () {
@ -197,10 +212,16 @@
LibraryBrowser.saveViewSetting(getSavedQueryKey(), view); LibraryBrowser.saveViewSetting(getSavedQueryKey(), view);
}); });
$('#selectPageSize', page).on('change', function () {
query.Limit = parseInt(this.value);
query.StartIndex = 0;
reloadItems(page);
});
}).on('pagebeforeshow', "#boxsetsPage", function () { }).on('pagebeforeshow', "#boxsetsPage", function () {
var page = this; var page = this;
var context = getParameterByName('context'); var context = getParameterByName('context');
if (context == 'movies') { if (context == 'movies') {
@ -291,9 +312,13 @@
var page = this; var page = this;
$('.btnNewCollection', page).on('click', function () { $('.itemsContainer', page).on('itemsrendered', function () {
$('.btnNewCollection', page).off('click.newcollectionpanel').on('click.newcollectionpanel', function () {
showNewCollectionPanel(page, []);
});
showNewCollectionPanel(page, []);
}); });
$('#selectCollectionToAddTo', page).on('change', function () { $('#selectCollectionToAddTo', page).on('change', function () {
@ -306,20 +331,6 @@
$('#txtNewCollectionName', page).attr('required', 'required'); $('#txtNewCollectionName', page).attr('required', 'required');
} }
}); });
}).on('pagebeforeshow', ".collectionEditorPage", function () {
var page = this;
Dashboard.getCurrentUser().done(function (user) {
if (user.Configuration.IsAdministrator) {
$('.btnNewCollection', page).removeClass('hide');
} else {
$('.btnNewCollection', page).addClass('hide');
}
});
}); });
function createCollection(page) { function createCollection(page) {

View File

@ -27,7 +27,15 @@
var html = ''; var html = '';
$('.listTopPaging', page).html(LibraryBrowser.getPagingHtml(query, result.TotalRecordCount, true)).trigger('create'); var pagingHtml = LibraryBrowser.getQueryPagingHtml({
startIndex: query.StartIndex,
limit: query.Limit,
totalRecordCount: result.TotalRecordCount,
viewButton: true,
showLimit: false
});
$('.listTopPaging', page).html(pagingHtml).trigger('create');
updateFilterControls(page); updateFilterControls(page);
@ -40,7 +48,7 @@
centerText: true centerText: true
}); });
html += LibraryBrowser.getPagingHtml(query, result.TotalRecordCount); html += pagingHtml;
$('#items', page).html(html).trigger('create'); $('#items', page).html(html).trigger('create');
@ -54,12 +62,6 @@
reloadItems(page); reloadItems(page);
}); });
$('.selectPageSize', page).on('change', function () {
query.Limit = parseInt(this.value);
query.StartIndex = 0;
reloadItems(page);
});
LibraryBrowser.saveQueryValues(getSavedQueryKey(), query); LibraryBrowser.saveQueryValues(getSavedQueryKey(), query);
Dashboard.hideLoadingMsg(); Dashboard.hideLoadingMsg();
@ -68,6 +70,7 @@
function updateFilterControls(page) { function updateFilterControls(page) {
$('#selectPageSize', page).val(query.Limit).selectmenu('refresh');
} }
$(document).on('pageinit', "#movieGenresPage", function () { $(document).on('pageinit', "#movieGenresPage", function () {
@ -91,6 +94,12 @@
reloadItems(page); reloadItems(page);
}); });
$('#selectPageSize', page).on('change', function () {
query.Limit = parseInt(this.value);
query.StartIndex = 0;
reloadItems(page);
});
}).on('pagebeforeshow', "#movieGenresPage", function () { }).on('pagebeforeshow', "#movieGenresPage", function () {
query.ParentId = LibraryMenu.getTopParentId(); query.ParentId = LibraryMenu.getTopParentId();

View File

@ -29,7 +29,16 @@
var html = ''; var html = '';
$('.listTopPaging', page).html(LibraryBrowser.getPagingHtml(query, result.TotalRecordCount, false, [], false)).trigger('create'); var pagingHtml = LibraryBrowser.getQueryPagingHtml({
startIndex: query.StartIndex,
limit: query.Limit,
totalRecordCount: result.TotalRecordCount,
viewButton: true,
showLimit: false,
updatePageSizeSetting: false
});
$('.listTopPaging', page).html(pagingHtml).trigger('create');
updateFilterControls(page); updateFilterControls(page);
@ -43,7 +52,7 @@
lazy: true lazy: true
}); });
html += LibraryBrowser.getPagingHtml(query, result.TotalRecordCount, false, [], false); html += pagingHtml;
$('#items', page).html(html).trigger('create'); $('#items', page).html(html).trigger('create');

View File

@ -29,7 +29,16 @@
var html = ''; var html = '';
$('.listTopPaging', page).html(LibraryBrowser.getPagingHtml(query, result.TotalRecordCount, true)).trigger('create'); var pagingHtml = LibraryBrowser.getQueryPagingHtml({
startIndex: query.StartIndex,
limit: query.Limit,
totalRecordCount: result.TotalRecordCount,
viewButton: true,
showLimit: false,
addSelectionButton: true
});
$('.listTopPaging', page).html(pagingHtml).trigger('create');
updateFilterControls(page); updateFilterControls(page);
@ -69,7 +78,7 @@
items: result.Items, items: result.Items,
shape: "portrait", shape: "portrait",
context: 'movies', context: 'movies',
showTitle: true, showTitle: false,
centerText: true, centerText: true,
selectionPanel: true, selectionPanel: true,
lazy: true lazy: true
@ -90,9 +99,9 @@
$('.itemsContainer', page).addClass('timelineItemsContainer'); $('.itemsContainer', page).addClass('timelineItemsContainer');
} }
html += LibraryBrowser.getPagingHtml(query, result.TotalRecordCount); html += pagingHtml;
$('#items', page).html(html).trigger('create').createPosterItemMenus(); $('.itemsContainer', page).html(html).trigger('create').createPosterItemMenus().trigger('itemsrendered');
$('.btnNextPage', page).on('click', function () { $('.btnNextPage', page).on('click', function () {
query.StartIndex += query.Limit; query.StartIndex += query.Limit;
@ -104,12 +113,6 @@
reloadItems(page); reloadItems(page);
}); });
$('.selectPageSize', page).on('change', function () {
query.Limit = parseInt(this.value);
query.StartIndex = 0;
reloadItems(page);
});
LibraryBrowser.saveQueryValues(getSavedQueryKey(), query); LibraryBrowser.saveQueryValues(getSavedQueryKey(), query);
Dashboard.hideLoadingMsg(); Dashboard.hideLoadingMsg();
@ -163,10 +166,10 @@
$('#chkMissingImdbId', page).checked(query.HasImdbId == false).checkboxradio('refresh'); $('#chkMissingImdbId', page).checked(query.HasImdbId == false).checkboxradio('refresh');
$('#chkMissingTmdbId', page).checked(query.HasTmdbId == false).checkboxradio('refresh'); $('#chkMissingTmdbId', page).checked(query.HasTmdbId == false).checkboxradio('refresh');
$('#chkMissingOverview', page).checked(query.HasOverview == false).checkboxradio('refresh');
$('#chkYearMismatch', page).checked(query.IsYearMismatched == true).checkboxradio('refresh'); $('#chkYearMismatch', page).checked(query.IsYearMismatched == true).checkboxradio('refresh');
$('.alphabetPicker', page).alphaValue(query.NameStartsWithOrGreater); $('.alphabetPicker', page).alphaValue(query.NameStartsWithOrGreater);
$('#selectPageSize', page).val(query.Limit).selectmenu('refresh');
} }
$(document).on('pageinit', "#moviesPage", function () { $(document).on('pageinit', "#moviesPage", function () {
@ -351,14 +354,6 @@
reloadItems(page); reloadItems(page);
}); });
$('#chkMissingOverview', this).on('change', function () {
query.StartIndex = 0;
query.HasOverview = this.checked ? false : null;
reloadItems(page);
});
$('#chkYearMismatch', this).on('change', function () { $('#chkYearMismatch', this).on('change', function () {
query.StartIndex = 0; query.StartIndex = 0;
@ -373,6 +368,12 @@
}); });
$('#selectPageSize', page).on('change', function () {
query.Limit = parseInt(this.value);
query.StartIndex = 0;
reloadItems(page);
});
}).on('pagebeforeshow', "#moviesPage", function () { }).on('pagebeforeshow', "#moviesPage", function () {
query.ParentId = LibraryMenu.getTopParentId(); query.ParentId = LibraryMenu.getTopParentId();

View File

@ -27,7 +27,15 @@
var html = ''; var html = '';
$('.listTopPaging', page).html(LibraryBrowser.getPagingHtml(query, result.TotalRecordCount, true)).trigger('create'); var pagingHtml = LibraryBrowser.getQueryPagingHtml({
startIndex: query.StartIndex,
limit: query.Limit,
totalRecordCount: result.TotalRecordCount,
viewButton: true,
showLimit: false
});
$('.listTopPaging', page).html(pagingHtml).trigger('create');
updateFilterControls(page); updateFilterControls(page);
@ -40,7 +48,7 @@
centerText: true centerText: true
}); });
html += LibraryBrowser.getPagingHtml(query, result.TotalRecordCount); html += pagingHtml;
$('#items', page).html(html).trigger('create'); $('#items', page).html(html).trigger('create');
@ -54,12 +62,6 @@
reloadItems(page); reloadItems(page);
}); });
$('.selectPageSize', page).on('change', function () {
query.Limit = parseInt(this.value);
query.StartIndex = 0;
reloadItems(page);
});
LibraryBrowser.saveQueryValues(getSavedQueryKey(), query); LibraryBrowser.saveQueryValues(getSavedQueryKey(), query);
Dashboard.hideLoadingMsg(); Dashboard.hideLoadingMsg();
@ -67,6 +69,7 @@
} }
function updateFilterControls(page) { function updateFilterControls(page) {
$('#selectPageSize', page).val(query.Limit).selectmenu('refresh');
} }
$(document).on('pageinit', "#movieStudiosPage", function () { $(document).on('pageinit', "#movieStudiosPage", function () {
@ -90,6 +93,12 @@
reloadItems(page); reloadItems(page);
}); });
$('#selectPageSize', page).on('change', function () {
query.Limit = parseInt(this.value);
query.StartIndex = 0;
reloadItems(page);
});
}).on('pagebeforeshow', "#movieStudiosPage", function () { }).on('pagebeforeshow', "#movieStudiosPage", function () {
query.ParentId = LibraryMenu.getTopParentId(); query.ParentId = LibraryMenu.getTopParentId();

View File

@ -22,7 +22,15 @@
var html = ''; var html = '';
$('.listTopPaging', page).html(LibraryBrowser.getPagingHtml(query, result.TotalRecordCount, true)).trigger('create'); var pagingHtml = LibraryBrowser.getQueryPagingHtml({
startIndex: query.StartIndex,
limit: query.Limit,
totalRecordCount: result.TotalRecordCount,
viewButton: true,
showLimit: false
});
$('.listTopPaging', page).html(pagingHtml).trigger('create');
updateFilterControls(page); updateFilterControls(page);
@ -30,11 +38,11 @@
items: result.Items, items: result.Items,
shape: "portrait", shape: "portrait",
context: 'movies', context: 'movies',
showTitle: true, showTitle: false,
centerText: true centerText: true
}); });
html += LibraryBrowser.getPagingHtml(query, result.TotalRecordCount); html += pagingHtml;
$('#items', page).html(html).trigger('create').createPosterItemMenus(); $('#items', page).html(html).trigger('create').createPosterItemMenus();
@ -48,12 +56,6 @@
reloadItems(page); reloadItems(page);
}); });
$('.selectPageSize', page).on('change', function () {
query.Limit = parseInt(this.value);
query.StartIndex = 0;
reloadItems(page);
});
LibraryBrowser.saveQueryValues('movietrailers', query); LibraryBrowser.saveQueryValues('movietrailers', query);
Dashboard.hideLoadingMsg(); Dashboard.hideLoadingMsg();
@ -85,6 +87,7 @@
}).checkboxradio('refresh'); }).checkboxradio('refresh');
$('.alphabetPicker', page).alphaValue(query.NameStartsWith); $('.alphabetPicker', page).alphaValue(query.NameStartsWith);
$('#selectPageSize', page).val(query.Limit).selectmenu('refresh');
} }
$(document).on('pageinit', "#movieTrailersPage", function () { $(document).on('pageinit', "#movieTrailersPage", function () {
@ -134,6 +137,12 @@
reloadItems(page); reloadItems(page);
}); });
$('#selectPageSize', page).on('change', function () {
query.Limit = parseInt(this.value);
query.StartIndex = 0;
reloadItems(page);
});
}).on('pagebeforeshow', "#movieTrailersPage", function () { }).on('pagebeforeshow', "#movieTrailersPage", function () {
var limit = LibraryBrowser.getDefaultPageSize(); var limit = LibraryBrowser.getDefaultPageSize();

View File

@ -28,7 +28,15 @@
var html = ''; var html = '';
$('.listTopPaging', page).html(LibraryBrowser.getPagingHtml(query, result.TotalRecordCount, true)).trigger('create'); var pagingHtml = LibraryBrowser.getQueryPagingHtml({
startIndex: query.StartIndex,
limit: query.Limit,
totalRecordCount: result.TotalRecordCount,
viewButton: true,
showLimit: false
});
$('.listTopPaging', page).html(pagingHtml).trigger('create');
updateFilterControls(page); updateFilterControls(page);
@ -52,7 +60,7 @@
}); });
} }
html += LibraryBrowser.getPagingHtml(query, result.TotalRecordCount); html += pagingHtml;
$('#items', page).html(html).trigger('create').createPosterItemMenus(); $('#items', page).html(html).trigger('create').createPosterItemMenus();
@ -66,12 +74,6 @@
reloadItems(page); reloadItems(page);
}); });
$('.selectPageSize', page).on('change', function () {
query.Limit = parseInt(this.value);
query.StartIndex = 0;
reloadItems(page);
});
LibraryBrowser.saveQueryValues(getSavedQueryKey(), query); LibraryBrowser.saveQueryValues(getSavedQueryKey(), query);
Dashboard.hideLoadingMsg(); Dashboard.hideLoadingMsg();
@ -92,6 +94,7 @@
$('#selectView', page).val(view).selectmenu('refresh'); $('#selectView', page).val(view).selectmenu('refresh');
$('.alphabetPicker', page).alphaValue(query.NameStartsWithOrGreater); $('.alphabetPicker', page).alphaValue(query.NameStartsWithOrGreater);
$('#selectPageSize', page).val(query.Limit).selectmenu('refresh');
} }
$(document).on('pageinit', "#musicAlbumArtistsPage", function () { $(document).on('pageinit', "#musicAlbumArtistsPage", function () {
@ -138,6 +141,12 @@
LibraryBrowser.saveViewSetting(getSavedQueryKey(), view); LibraryBrowser.saveViewSetting(getSavedQueryKey(), view);
}); });
$('#selectPageSize', page).on('change', function () {
query.Limit = parseInt(this.value);
query.StartIndex = 0;
reloadItems(page);
});
}).on('pagebeforeshow', "#musicAlbumArtistsPage", function () { }).on('pagebeforeshow', "#musicAlbumArtistsPage", function () {
var page = this; var page = this;

View File

@ -29,7 +29,15 @@
var html = ''; var html = '';
$('.listTopPaging', page).html(LibraryBrowser.getPagingHtml(query, result.TotalRecordCount, true)).trigger('create'); var pagingHtml = LibraryBrowser.getQueryPagingHtml({
startIndex: query.StartIndex,
limit: query.Limit,
totalRecordCount: result.TotalRecordCount,
viewButton: true,
showLimit: false
});
$('.listTopPaging', page).html(pagingHtml).trigger('create');
updateFilterControls(page); updateFilterControls(page);
@ -66,7 +74,7 @@
$('.itemsContainer', page).addClass('timelineItemsContainer'); $('.itemsContainer', page).addClass('timelineItemsContainer');
} }
html += LibraryBrowser.getPagingHtml(query, result.TotalRecordCount); html += pagingHtml;
$('#items', page).html(html).trigger('create').createPosterItemMenus(); $('#items', page).html(html).trigger('create').createPosterItemMenus();
@ -80,12 +88,6 @@
reloadItems(page); reloadItems(page);
}); });
$('.selectPageSize', page).on('change', function () {
query.Limit = parseInt(this.value);
query.StartIndex = 0;
reloadItems(page);
});
LibraryBrowser.saveQueryValues(getSavedQueryKey(), query); LibraryBrowser.saveQueryValues(getSavedQueryKey(), query);
Dashboard.hideLoadingMsg(); Dashboard.hideLoadingMsg();
@ -110,6 +112,7 @@
}).checkboxradio('refresh'); }).checkboxradio('refresh');
$('.alphabetPicker', page).alphaValue(query.NameStartsWith); $('.alphabetPicker', page).alphaValue(query.NameStartsWith);
$('#selectPageSize', page).val(query.Limit).selectmenu('refresh');
} }
$(document).on('pageinit', "#musicAlbumsPage", function () { $(document).on('pageinit', "#musicAlbumsPage", function () {
@ -196,6 +199,12 @@
reloadItems(page); reloadItems(page);
}); });
$('#selectPageSize', page).on('change', function () {
query.Limit = parseInt(this.value);
query.StartIndex = 0;
reloadItems(page);
});
}).on('pagebeforeshow', "#musicAlbumsPage", function () { }).on('pagebeforeshow', "#musicAlbumsPage", function () {
query.ParentId = LibraryMenu.getTopParentId(); query.ParentId = LibraryMenu.getTopParentId();

View File

@ -28,7 +28,15 @@
var html = ''; var html = '';
$('.listTopPaging', page).html(LibraryBrowser.getPagingHtml(query, result.TotalRecordCount, true)).trigger('create'); var pagingHtml = LibraryBrowser.getQueryPagingHtml({
startIndex: query.StartIndex,
limit: query.Limit,
totalRecordCount: result.TotalRecordCount,
viewButton: true,
showLimit: false
});
$('.listTopPaging', page).html(pagingHtml).trigger('create');
updateFilterControls(page); updateFilterControls(page);
@ -52,7 +60,7 @@
}); });
} }
html += LibraryBrowser.getPagingHtml(query, result.TotalRecordCount); html += pagingHtml;
$('#items', page).html(html).trigger('create').createPosterItemMenus(); $('#items', page).html(html).trigger('create').createPosterItemMenus();
@ -66,12 +74,6 @@
reloadItems(page); reloadItems(page);
}); });
$('.selectPageSize', page).on('change', function () {
query.Limit = parseInt(this.value);
query.StartIndex = 0;
reloadItems(page);
});
LibraryBrowser.saveQueryValues(getSavedQueryKey(), query); LibraryBrowser.saveQueryValues(getSavedQueryKey(), query);
Dashboard.hideLoadingMsg(); Dashboard.hideLoadingMsg();
@ -92,6 +94,7 @@
$('#selectView', page).val(view).selectmenu('refresh'); $('#selectView', page).val(view).selectmenu('refresh');
$('.alphabetPicker', page).alphaValue(query.NameStartsWithOrGreater); $('.alphabetPicker', page).alphaValue(query.NameStartsWithOrGreater);
$('#selectPageSize', page).val(query.Limit).selectmenu('refresh');
} }
$(document).on('pageinit', "#musicArtistsPage", function () { $(document).on('pageinit', "#musicArtistsPage", function () {
@ -138,6 +141,12 @@
LibraryBrowser.saveViewSetting(getSavedQueryKey(), view); LibraryBrowser.saveViewSetting(getSavedQueryKey(), view);
}); });
$('#selectPageSize', page).on('change', function () {
query.Limit = parseInt(this.value);
query.StartIndex = 0;
reloadItems(page);
});
}).on('pagebeforeshow', "#musicArtistsPage", function () { }).on('pagebeforeshow', "#musicArtistsPage", function () {
var page = this; var page = this;

View File

@ -27,7 +27,15 @@
var html = ''; var html = '';
$('.listTopPaging', page).html(LibraryBrowser.getPagingHtml(query, result.TotalRecordCount, true)).trigger('create'); var pagingHtml = LibraryBrowser.getQueryPagingHtml({
startIndex: query.StartIndex,
limit: query.Limit,
totalRecordCount: result.TotalRecordCount,
viewButton: true,
showLimit: false
});
$('.listTopPaging', page).html(pagingHtml).trigger('create');
updateFilterControls(page); updateFilterControls(page);
@ -41,7 +49,7 @@
lazy: true lazy: true
}); });
html += LibraryBrowser.getPagingHtml(query, result.TotalRecordCount); html += pagingHtml;
$('#items', page).html(html).trigger('create').createPosterItemMenus(); $('#items', page).html(html).trigger('create').createPosterItemMenus();
@ -55,12 +63,6 @@
reloadItems(page); reloadItems(page);
}); });
$('.selectPageSize', page).on('change', function () {
query.Limit = parseInt(this.value);
query.StartIndex = 0;
reloadItems(page);
});
LibraryBrowser.saveQueryValues(getSavedQueryKey(), query); LibraryBrowser.saveQueryValues(getSavedQueryKey(), query);
Dashboard.hideLoadingMsg(); Dashboard.hideLoadingMsg();
@ -69,6 +71,7 @@
function updateFilterControls(page) { function updateFilterControls(page) {
$('#selectPageSize', page).val(query.Limit).selectmenu('refresh');
} }
$(document).on('pageinit', "#musicGenresPage", function () { $(document).on('pageinit', "#musicGenresPage", function () {
@ -92,6 +95,12 @@
reloadItems(page); reloadItems(page);
}); });
$('#selectPageSize', page).on('change', function () {
query.Limit = parseInt(this.value);
query.StartIndex = 0;
reloadItems(page);
});
}).on('pagebeforeshow', "#musicGenresPage", function () { }).on('pagebeforeshow', "#musicGenresPage", function () {
query.ParentId = LibraryMenu.getTopParentId(); query.ParentId = LibraryMenu.getTopParentId();

View File

@ -27,7 +27,15 @@
var html = ''; var html = '';
$('.listTopPaging', page).html(LibraryBrowser.getPagingHtml(query, result.TotalRecordCount, true)).trigger('create'); var pagingHtml = LibraryBrowser.getQueryPagingHtml({
startIndex: query.StartIndex,
limit: query.Limit,
totalRecordCount: result.TotalRecordCount,
viewButton: true,
showLimit: false
});
$('.listTopPaging', page).html(pagingHtml).trigger('create');
updateFilterControls(page); updateFilterControls(page);
@ -39,7 +47,7 @@
centerText: true centerText: true
}); });
html += LibraryBrowser.getPagingHtml(query, result.TotalRecordCount); html += pagingHtml;
$('#items', page).html(html).trigger('create'); $('#items', page).html(html).trigger('create');
@ -53,12 +61,6 @@
reloadItems(page); reloadItems(page);
}); });
$('.selectPageSize', page).on('change', function () {
query.Limit = parseInt(this.value);
query.StartIndex = 0;
reloadItems(page);
});
LibraryBrowser.saveQueryValues(getSavedQueryKey(), query); LibraryBrowser.saveQueryValues(getSavedQueryKey(), query);
Dashboard.hideLoadingMsg(); Dashboard.hideLoadingMsg();
@ -106,6 +108,7 @@
$('#chkThemeVideo', page).checked(query.HasThemeVideo == true).checkboxradio('refresh'); $('#chkThemeVideo', page).checked(query.HasThemeVideo == true).checkboxradio('refresh');
$('.alphabetPicker', page).alphaValue(query.NameStartsWithOrGreater); $('.alphabetPicker', page).alphaValue(query.NameStartsWithOrGreater);
$('#selectPageSize', page).val(query.Limit).selectmenu('refresh');
} }
$(document).on('pageinit', "#musicVideosPage", function () { $(document).on('pageinit', "#musicVideosPage", function () {
@ -213,6 +216,12 @@
reloadItems(page); reloadItems(page);
}); });
$('#selectPageSize', page).on('change', function () {
query.Limit = parseInt(this.value);
query.StartIndex = 0;
reloadItems(page);
});
}).on('pagebeforeshow', "#musicVideosPage", function () { }).on('pagebeforeshow', "#musicVideosPage", function () {
query.ParentId = LibraryMenu.getTopParentId(); query.ParentId = LibraryMenu.getTopParentId();

View File

@ -176,7 +176,7 @@ var Dashboard = {
Dashboard.lastSystemInfo = info; Dashboard.lastSystemInfo = info;
Dashboard.ensureWebSocket(info); Dashboard.ensureWebSocket();
if (!Dashboard.initialServerVersion) { if (!Dashboard.initialServerVersion) {
Dashboard.initialServerVersion = info.Version; Dashboard.initialServerVersion = info.Version;
@ -682,10 +682,6 @@ var Dashboard = {
name: Globalize.translate('TabServer'), name: Globalize.translate('TabServer'),
href: "dashboard.html", href: "dashboard.html",
selected: page.hasClass("dashboardHomePage") selected: page.hasClass("dashboardHomePage")
}, {
name: Globalize.translate('TabUsers'),
href: "userprofiles.html",
selected: page.hasClass("userProfilesConfigurationPage") || (pageElem.id == "mediaLibraryPage" && getParameterByName('userId'))
}, { }, {
name: Globalize.translate('TabLibrary'), name: Globalize.translate('TabLibrary'),
divider: true, divider: true,
@ -728,7 +724,7 @@ var Dashboard = {
}, },
ensureWebSocket: function (systemInfo) { ensureWebSocket: function () {
if (!("WebSocket" in window)) { if (!("WebSocket" in window)) {
// Not supported by the browser // Not supported by the browser
@ -739,20 +735,12 @@ var Dashboard = {
return; return;
} }
systemInfo = systemInfo || Dashboard.lastSystemInfo;
var location = window.location; var location = window.location;
var webSocketUrl = "ws://" + location.hostname; var webSocketUrl = "ws://" + location.hostname;
if (systemInfo.HttpServerPortNumber == systemInfo.WebSocketPortNumber) { if (location.port) {
webSocketUrl += ':' + location.port;
if (location.port) {
webSocketUrl += ':' + location.port;
}
} else {
webSocketUrl += ':' + systemInfo.WebSocketPortNumber;
} }
ApiClient.openWebSocket(webSocketUrl); ApiClient.openWebSocket(webSocketUrl);

View File

@ -33,6 +33,7 @@
this.checked = (query.SortOrder || '').toLowerCase() == this.getAttribute('data-sortorder').toLowerCase(); this.checked = (query.SortOrder || '').toLowerCase() == this.getAttribute('data-sortorder').toLowerCase();
}).checkboxradio('refresh'); }).checkboxradio('refresh');
$('#selectPageSize', page).val(query.Limit).selectmenu('refresh');
} }
function reloadItems(page) { function reloadItems(page) {
@ -46,7 +47,14 @@
var html = ''; var html = '';
$('.listTopPaging', page).html(LibraryBrowser.getPagingHtml(query, result.TotalRecordCount, false)).trigger('create'); var pagingHtml = LibraryBrowser.getQueryPagingHtml({
startIndex: query.StartIndex,
limit: query.Limit,
totalRecordCount: result.TotalRecordCount,
viewButton: true,
showLimit: false
});
$('.listTopPaging', page).html(pagingHtml).trigger('create');
updateFilterControls(page); updateFilterControls(page);
@ -59,7 +67,7 @@
sortOrder: query.SortOrder sortOrder: query.SortOrder
}); });
html += LibraryBrowser.getPagingHtml(query, result.TotalRecordCount, false); html += pagingHtml;
$('#items', page).html(html).trigger('create'); $('#items', page).html(html).trigger('create');
@ -73,12 +81,6 @@
reloadItems(page); reloadItems(page);
}); });
$('.selectPageSize', page).on('change', function () {
query.Limit = parseInt(this.value);
query.StartIndex = 0;
reloadItems(page);
});
$('.lnkColumnSort', page).on('click', function () { $('.lnkColumnSort', page).on('click', function () {
var order = this.getAttribute('data-sortfield'); var order = this.getAttribute('data-sortfield');
@ -146,6 +148,12 @@
reloadItems(page); reloadItems(page);
}); });
$('#selectPageSize', page).on('change', function () {
query.Limit = parseInt(this.value);
query.StartIndex = 0;
reloadItems(page);
});
}).on('pagebeforeshow', "#songsPage", function () { }).on('pagebeforeshow', "#songsPage", function () {
query.ParentId = LibraryMenu.getTopParentId(); query.ParentId = LibraryMenu.getTopParentId();

View File

@ -2,13 +2,19 @@
function showSyncMenu(items) { function showSyncMenu(items) {
Dashboard.alert('Coming soon.');
}
function isAvailable(item, user) {
return true;
} }
window.SyncManager = { window.SyncManager = {
showMenu: showSyncMenu showMenu: showSyncMenu,
isAvailable: isAvailable
}; };

View File

@ -27,7 +27,15 @@
var html = ''; var html = '';
$('.listTopPaging', page).html(LibraryBrowser.getPagingHtml(query, result.TotalRecordCount, true)).trigger('create'); var pagingHtml = LibraryBrowser.getQueryPagingHtml({
startIndex: query.StartIndex,
limit: query.Limit,
totalRecordCount: result.TotalRecordCount,
viewButton: true,
showLimit: false
});
$('.listTopPaging', page).html(pagingHtml).trigger('create');
updateFilterControls(page); updateFilterControls(page);
@ -43,7 +51,7 @@
}); });
html += LibraryBrowser.getPagingHtml(query, result.TotalRecordCount); html += pagingHtml;
$('#items', page).html(html).trigger('create').createPosterItemMenus(); $('#items', page).html(html).trigger('create').createPosterItemMenus();
@ -79,6 +87,8 @@
this.checked = filters.indexOf(',' + filterName) != -1; this.checked = filters.indexOf(',' + filterName) != -1;
}).checkboxradio('refresh'); }).checkboxradio('refresh');
$('#selectPageSize', page).val(query.Limit).selectmenu('refresh');
} }
$(document).on('pageinit', "#tvGenresPage", function () { $(document).on('pageinit', "#tvGenresPage", function () {
@ -102,6 +112,12 @@
reloadItems(page); reloadItems(page);
}); });
$('#selectPageSize', page).on('change', function () {
query.Limit = parseInt(this.value);
query.StartIndex = 0;
reloadItems(page);
});
}).on('pagebeforeshow', "#tvGenresPage", function () { }).on('pagebeforeshow', "#tvGenresPage", function () {
query.ParentId = LibraryMenu.getTopParentId(); query.ParentId = LibraryMenu.getTopParentId();

View File

@ -29,7 +29,16 @@
var html = ''; var html = '';
$('.listTopPaging', page).html(LibraryBrowser.getPagingHtml(query, result.TotalRecordCount, false, [], false)).trigger('create'); var pagingHtml = LibraryBrowser.getQueryPagingHtml({
startIndex: query.StartIndex,
limit: query.Limit,
totalRecordCount: result.TotalRecordCount,
viewButton: true,
showLimit: false,
updatePageSizeSetting: false
});
$('.listTopPaging', page).html(pagingHtml).trigger('create');
updateFilterControls(page); updateFilterControls(page);
@ -43,7 +52,7 @@
lazy: true lazy: true
}); });
html += LibraryBrowser.getPagingHtml(query, result.TotalRecordCount, false, [], false); html += pagingHtml;
$('#items', page).html(html).trigger('create').createPosterItemMenus(); $('#items', page).html(html).trigger('create').createPosterItemMenus();

View File

@ -29,7 +29,15 @@
var html = ''; var html = '';
$('.listTopPaging', page).html(LibraryBrowser.getPagingHtml(query, result.TotalRecordCount, true)).trigger('create'); var pagingHtml = LibraryBrowser.getQueryPagingHtml({
startIndex: query.StartIndex,
limit: query.Limit,
totalRecordCount: result.TotalRecordCount,
viewButton: true,
showLimit: false
});
$('.listTopPaging', page).html(pagingHtml).trigger('create');
updateFilterControls(page); updateFilterControls(page);
@ -72,14 +80,14 @@
items: result.Items, items: result.Items,
shape: "portrait", shape: "portrait",
context: 'tv', context: 'tv',
showTitle: true, showTitle: false,
centerText: true, centerText: true,
lazy: true lazy: true
}); });
$('.itemsContainer', page).removeClass('timelineItemsContainer'); $('.itemsContainer', page).removeClass('timelineItemsContainer');
} }
html += LibraryBrowser.getPagingHtml(query, result.TotalRecordCount); html += pagingHtml;
$('#items', page).html(html).trigger('create').createPosterItemMenus(); $('#items', page).html(html).trigger('create').createPosterItemMenus();
@ -93,12 +101,6 @@
reloadItems(page); reloadItems(page);
}); });
$('.selectPageSize', page).on('change', function () {
query.Limit = parseInt(this.value);
query.StartIndex = 0;
reloadItems(page);
});
LibraryBrowser.saveQueryValues(getSavedQueryKey(), query); LibraryBrowser.saveQueryValues(getSavedQueryKey(), query);
Dashboard.hideLoadingMsg(); Dashboard.hideLoadingMsg();
@ -160,6 +162,7 @@
$('#chkYearMismatch', page).checked(query.IsYearMismatched == true).checkboxradio('refresh'); $('#chkYearMismatch', page).checked(query.IsYearMismatched == true).checkboxradio('refresh');
$('.alphabetPicker', page).alphaValue(query.NameStartsWith); $('.alphabetPicker', page).alphaValue(query.NameStartsWith);
$('#selectPageSize', page).val(query.Limit).selectmenu('refresh');
} }
$(document).on('pageinit', "#tvShowsPage", function () { $(document).on('pageinit', "#tvShowsPage", function () {
@ -341,6 +344,12 @@
reloadItems(page); reloadItems(page);
}); });
$('#selectPageSize', page).on('change', function () {
query.Limit = parseInt(this.value);
query.StartIndex = 0;
reloadItems(page);
});
}).on('pagebeforeshow', "#tvShowsPage", function () { }).on('pagebeforeshow', "#tvShowsPage", function () {
query.ParentId = LibraryMenu.getTopParentId(); query.ParentId = LibraryMenu.getTopParentId();

View File

@ -27,7 +27,15 @@
var html = ''; var html = '';
$('.listTopPaging', page).html(LibraryBrowser.getPagingHtml(query, result.TotalRecordCount, true)).trigger('create'); var pagingHtml = LibraryBrowser.getQueryPagingHtml({
startIndex: query.StartIndex,
limit: query.Limit,
totalRecordCount: result.TotalRecordCount,
viewButton: true,
showLimit: false
});
$('.listTopPaging', page).html(pagingHtml).trigger('create');
updateFilterControls(page); updateFilterControls(page);
@ -43,7 +51,7 @@
}); });
html += LibraryBrowser.getPagingHtml(query, result.TotalRecordCount); html += pagingHtml;
$('#items', page).html(html).trigger('create').createPosterItemMenus(); $('#items', page).html(html).trigger('create').createPosterItemMenus();
@ -57,12 +65,6 @@
reloadItems(page); reloadItems(page);
}); });
$('.selectPageSize', page).on('change', function () {
query.Limit = parseInt(this.value);
query.StartIndex = 0;
reloadItems(page);
});
LibraryBrowser.saveQueryValues(getSavedQueryKey(), query); LibraryBrowser.saveQueryValues(getSavedQueryKey(), query);
Dashboard.hideLoadingMsg(); Dashboard.hideLoadingMsg();
@ -79,6 +81,8 @@
this.checked = filters.indexOf(',' + filterName) != -1; this.checked = filters.indexOf(',' + filterName) != -1;
}).checkboxradio('refresh'); }).checkboxradio('refresh');
$('#selectPageSize', page).val(query.Limit).selectmenu('refresh');
} }
$(document).on('pageinit', "#tvStudiosPage", function () { $(document).on('pageinit', "#tvStudiosPage", function () {
@ -102,6 +106,12 @@
reloadItems(page); reloadItems(page);
}); });
$('#selectPageSize', page).on('change', function () {
query.Limit = parseInt(this.value);
query.StartIndex = 0;
reloadItems(page);
});
}).on('pagebeforeshow', "#tvStudiosPage", function () { }).on('pagebeforeshow', "#tvStudiosPage", function () {
query.ParentId = LibraryMenu.getTopParentId(); query.ParentId = LibraryMenu.getTopParentId();

View File

@ -124,8 +124,10 @@
if (userId) { if (userId) {
$('#userProfileNavigation', page).show(); $('#userProfileNavigation', page).show();
$('.serverNavigation', page).hide();
} else { } else {
$('#userProfileNavigation', page).hide(); $('#userProfileNavigation', page).hide();
$('.serverNavigation', page).show();
} }
Dashboard.getCurrentUser().done(function (loggedInUser) { Dashboard.getCurrentUser().done(function (loggedInUser) {

View File

@ -11,8 +11,8 @@
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true"> <div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
<a href="dashboard.html" data-role="button">${TabDashboard}</a> <a href="dashboard.html" data-role="button">${TabDashboard}</a>
<a href="dashboardgeneral.html" data-role="button">${TabGeneral}</a> <a href="userprofiles.html" data-role="button">${TabUsers}</a>
<a href="advancedserversettings.html" data-role="button">${TabAdvanced}</a> <a href="dashboardgeneral.html" data-role="button">${TabSettings}</a>
<a href="#" data-role="button" class="ui-btn-active">${TabSecurity}</a> <a href="#" data-role="button" class="ui-btn-active">${TabSecurity}</a>
</div> </div>
@ -33,8 +33,7 @@
<th>${HeaderDateIssued}</th> <th>${HeaderDateIssued}</th>
</tr> </tr>
</thead> </thead>
<tbody class="resultBody"> <tbody class="resultBody"></tbody>
</tbody>
</table> </table>
</div> </div>

View File

@ -16,85 +16,96 @@
</div> </div>
<div data-role="content"> <div data-role="content">
<div class="viewSettings"> <div class="viewSettings">
<div class="viewControls" data-role="controlgroup" data-type="horizontal">
<button data-mini="true" data-icon="sort" data-inline="true" data-iconpos="notext" title="${ButtonSort}" onclick="$('#sortPanel', $(this).parents('.page')).panel( 'toggle' );">${ButtonSort}</button>
<button data-mini="true" data-icon="filter" data-inline="true" data-iconpos="notext" title="${ButtonFilter}" onclick="$('#filterPanel', $(this).parents('.page')).panel( 'toggle' );">${ButtonFilter}</button>
</div>
<div class="listTopPaging"> <div class="listTopPaging">
</div> </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-position-fixed="true">
<div data-role="panel" class="viewPanel" data-theme="a" data-position="right" data-display="overlay" data-position-fixed="true">
<form> <form>
<fieldset data-role="controlgroup">
<legend>
<strong>${HeaderSortBy}</strong>
</legend>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioName" value="on" checked="checked" data-sortby="Name" data-mini="true"> <div data-role="controlgroup" data-type="horizontal" data-mini="true" class="viewPanelTabs">
<label for="radioName">${OptionTrackName}</label> <a href="#" data-role="button" class="viewTabButton" data-tab="tabView">${TabView}</a>
<a href="#" data-role="button" class="viewTabButton" data-tab="tabSort">${TabSort}</a>
<a href="#" data-role="button" class="viewTabButton" data-tab="tabFilter">${TabFilter}</a>
</div>
<input class="radioSortBy defaultSort" type="radio" name="radioSortBy" id="radioAlbum" value="on" checked="checked" data-sortby="Album,SortName" data-mini="true"> <div class="tabView viewTab">
<label for="radioAlbum">${OptionAlbum}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioAlbumArtist" value="on" data-sortby="AlbumArtist,Album,SortName" data-mini="true"> <div>
<label for="radioAlbumArtist">${OptionAlbumArtist}</label> <label for="selectPageSize">${LabelPageSize}</label>
<select id="selectPageSize"></select>
</div>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioArtist" value="on" data-sortby="Artist,Album,SortName" data-mini="true"> </div>
<label for="radioArtist">${OptionArtist}</label> <div class="tabFilter viewTab">
<fieldset data-role="controlgroup">
<legend>${HeaderFilters}</legend>
<input class="chkStandardFilter" type="checkbox" name="chkPlayed" id="chkPlayed" data-filter="IsPlayed" data-mini="true">
<label for="chkPlayed">${OptionPlayed}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioDateCreated" value="off" data-sortby="DateCreated,AlbumArtist,Album,SortName" data-mini="true"> <input class="chkStandardFilter" type="checkbox" name="chkUnplayed" id="chkUnplayed" data-filter="IsUnPlayed" data-mini="true">
<label for="radioDateCreated">${OptionDateAdded}</label> <label for="chkUnplayed">${OptionUnplayed}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioDatePlayed" value="off" data-sortby="DatePlayed,AlbumArtist,Album,SortName" data-mini="true"> <input class="chkStandardFilter" type="checkbox" name="chkIsFavorite" id="chkIsFavorite" data-filter="IsFavorite" data-mini="true">
<label for="radioDatePlayed">${OptionDatePlayed}</label> <label for="chkIsFavorite">${OptionFavorite}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioPlayCount" value="off" data-sortby="PlayCount,AlbumArtist,Album,SortName" data-mini="true"> <input class="chkStandardFilter" type="checkbox" name="chkLikes" id="chkLikes" data-filter="Likes" data-mini="true">
<label for="radioPlayCount">${OptionPlayCount}</label> <label for="chkLikes">${OptionLikes}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioPremiereDate" value="off" data-sortby="PremiereDate,AlbumArtist,Album,SortName" data-mini="true"> <input class="chkStandardFilter" type="checkbox" name="chkDislikes" id="chkDislikes" data-filter="Dislikes" data-mini="true">
<label for="radioPremiereDate">${OptionReleaseDate}</label> <label for="chkDislikes">${OptionDislikes}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioRuntime" value="off" data-sortby="Runtime,AlbumArtist,Album,SortName" data-mini="true"> </fieldset>
<label for="radioRuntime">${OptionRuntime}</label>
</fieldset>
<fieldset data-role="controlgroup"> </div>
<legend> <div class="tabSort viewTab">
<strong>${HeaderSortOrder}</strong> <fieldset data-role="controlgroup">
</legend> <legend>
${HeaderSortBy}
</legend>
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioAscending" value="on" checked="checked" data-sortorder="Ascending" data-mini="true"> <input class="radioSortBy" type="radio" name="radioSortBy" id="radioName" value="on" checked="checked" data-sortby="Name" data-mini="true">
<label for="radioAscending">${OptionAscending}</label> <label for="radioName">${OptionTrackName}</label>
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioDescending" value="off" data-sortorder="Descending" data-mini="true"> <input class="radioSortBy defaultSort" type="radio" name="radioSortBy" id="radioAlbum" value="on" checked="checked" data-sortby="Album,SortName" data-mini="true">
<label for="radioDescending">${OptionDescending}</label> <label for="radioAlbum">${OptionAlbum}</label>
</fieldset>
</form>
</div>
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-position-fixed="true">
<form>
<fieldset data-role="controlgroup">
<legend>
<strong>${HeaderFilters}</strong>
</legend>
<input class="chkStandardFilter" type="checkbox" name="chkPlayed" id="chkPlayed" data-filter="IsPlayed" data-mini="true">
<label for="chkPlayed">${OptionPlayed}</label>
<input class="chkStandardFilter" type="checkbox" name="chkUnplayed" id="chkUnplayed" data-filter="IsUnPlayed" data-mini="true"> <input class="radioSortBy" type="radio" name="radioSortBy" id="radioAlbumArtist" value="on" data-sortby="AlbumArtist,Album,SortName" data-mini="true">
<label for="chkUnplayed">${OptionUnplayed}</label> <label for="radioAlbumArtist">${OptionAlbumArtist}</label>
<input class="chkStandardFilter" type="checkbox" name="chkIsFavorite" id="chkIsFavorite" data-filter="IsFavorite" data-mini="true"> <input class="radioSortBy" type="radio" name="radioSortBy" id="radioArtist" value="on" data-sortby="Artist,Album,SortName" data-mini="true">
<label for="chkIsFavorite">${OptionFavorite}</label> <label for="radioArtist">${OptionArtist}</label>
<input class="chkStandardFilter" type="checkbox" name="chkLikes" id="chkLikes" data-filter="Likes" data-mini="true"> <input class="radioSortBy" type="radio" name="radioSortBy" id="radioDateCreated" value="off" data-sortby="DateCreated,AlbumArtist,Album,SortName" data-mini="true">
<label for="chkLikes">${OptionLikes}</label> <label for="radioDateCreated">${OptionDateAdded}</label>
<input class="chkStandardFilter" type="checkbox" name="chkDislikes" id="chkDislikes" data-filter="Dislikes" data-mini="true"> <input class="radioSortBy" type="radio" name="radioSortBy" id="radioDatePlayed" value="off" data-sortby="DatePlayed,AlbumArtist,Album,SortName" data-mini="true">
<label for="chkDislikes">${OptionDislikes}</label> <label for="radioDatePlayed">${OptionDatePlayed}</label>
</fieldset>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioPlayCount" value="off" data-sortby="PlayCount,AlbumArtist,Album,SortName" data-mini="true">
<label for="radioPlayCount">${OptionPlayCount}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioPremiereDate" value="off" data-sortby="PremiereDate,AlbumArtist,Album,SortName" data-mini="true">
<label for="radioPremiereDate">${OptionReleaseDate}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioRuntime" value="off" data-sortby="Runtime,AlbumArtist,Album,SortName" data-mini="true">
<label for="radioRuntime">${OptionRuntime}</label>
</fieldset>
<fieldset data-role="controlgroup">
<legend>
${HeaderSortOrder}
</legend>
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioAscending" value="on" checked="checked" data-sortorder="Ascending" data-mini="true">
<label for="radioAscending">${OptionAscending}</label>
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioDescending" value="off" data-sortorder="Descending" data-mini="true">
<label for="radioDescending">${OptionDescending}</label>
</fieldset>
</div>
</form> </form>
</div> </div>
</div> </div>

File diff suppressed because one or more lines are too long

View File

@ -17,29 +17,44 @@
</div> </div>
<div data-role="content"> <div data-role="content">
<div class="viewSettings"> <div class="viewSettings">
<div class="viewControls" data-role="controlgroup" data-type="horizontal">
<button data-mini="true" data-icon="filter" data-inline="true" data-iconpos="notext" title="${ButtonFilter}" onclick="$('#filterPanel', $(this).parents('.page')).panel( 'toggle' );">${ButtonFilter}</button>
</div>
<div class="listTopPaging"> <div class="listTopPaging">
</div> </div>
</div> </div>
<div id="items" class="itemsContainer"></div> <div id="items" class="itemsContainer"></div>
</div> </div>
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-position-fixed="true">
<div data-role="panel" class="viewPanel" data-theme="a" data-position="right" data-display="overlay" data-position-fixed="true">
<form> <form>
<fieldset data-role="controlgroup">
<legend>
<strong>${HeaderFilters}</strong>
</legend>
<input class="chkStandardFilter" type="checkbox" name="chkIsFavorite" id="chkIsFavorite" data-filter="IsFavorite" data-mini="true">
<label for="chkIsFavorite">${OptionFavorite}</label>
<input class="chkStandardFilter" type="checkbox" name="chkLikes" id="chkLikes" data-filter="Likes" data-mini="true"> <div data-role="controlgroup" data-type="horizontal" data-mini="true" class="viewPanelTabs">
<label for="chkLikes">${OptionLikes}</label> <a href="#" data-role="button" class="viewTabButton" data-tab="tabView">${TabView}</a>
<a href="#" data-role="button" class="viewTabButton" data-tab="tabFilter">${TabFilter}</a>
</div>
<input class="chkStandardFilter" type="checkbox" name="chkDislikes" id="chkDislikes" data-filter="Dislikes" data-mini="true"> <div class="tabView viewTab">
<label for="chkDislikes">${OptionDislikes}</label>
</fieldset> <div>
<label for="selectPageSize">${LabelPageSize}</label>
<select id="selectPageSize"></select>
</div>
</div>
<div class="tabFilter viewTab">
<fieldset data-role="controlgroup">
<legend>
${HeaderFilters}
</legend>
<input class="chkStandardFilter" type="checkbox" name="chkIsFavorite" id="chkIsFavorite" data-filter="IsFavorite" data-mini="true">
<label for="chkIsFavorite">${OptionFavorite}</label>
<input class="chkStandardFilter" type="checkbox" name="chkLikes" id="chkLikes" data-filter="Likes" data-mini="true">
<label for="chkLikes">${OptionLikes}</label>
<input class="chkStandardFilter" type="checkbox" name="chkDislikes" id="chkDislikes" data-filter="Dislikes" data-mini="true">
<label for="chkDislikes">${OptionDislikes}</label>
</fieldset>
</div>
</form> </form>
</div> </div>

View File

@ -20,45 +20,50 @@
</div> </div>
<div data-role="content"> <div data-role="content">
<div class="viewSettings"> <div class="viewSettings">
<div class="viewControls" data-role="controlgroup" data-type="horizontal">
<button data-mini="true" data-icon="filter" data-inline="true" data-iconpos="notext" title="${ButtonFilter}" onclick="$('#filterPanel', $(this).parents('.page')).panel( 'toggle' );">${ButtonFilter}</button>
</div>
<div class="listTopPaging"> <div class="listTopPaging">
</div> </div>
</div> </div>
<div id="items" class="itemsContainer"></div> <div id="items" class="itemsContainer"></div>
</div> </div>
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-position-fixed="true">
<div data-role="panel" class="viewPanel" data-theme="a" data-position="right" data-display="overlay" data-position-fixed="true">
<form> <form>
<fieldset data-role="controlgroup">
<legend>
<strong>${HeaderFilters}</strong>
</legend>
<input class="chkStandardFilter" type="checkbox" name="chkIsFavorite" id="chkIsFavorite" data-filter="IsFavorite" data-mini="true">
<label for="chkIsFavorite">${OptionFavorite}</label>
<input class="chkStandardFilter" type="checkbox" name="chkLikes" id="chkLikes" data-filter="Likes" data-mini="true"> <div data-role="controlgroup" data-type="horizontal" data-mini="true" class="viewPanelTabs">
<label for="chkLikes">${OptionLikes}</label> <a href="#" data-role="button" class="viewTabButton" data-tab="tabFilter">${TabFilter}</a>
</div>
<input class="chkStandardFilter" type="checkbox" name="chkDislikes" id="chkDislikes" data-filter="Dislikes" data-mini="true"> <div class="tabFilter viewTab">
<label for="chkDislikes">${OptionDislikes}</label> <fieldset data-role="controlgroup">
</fieldset> <legend>
<fieldset data-role="controlgroup"> ${HeaderFilters}
<legend> </legend>
<strong>${HeaderPersonTypes}</strong> <input class="chkStandardFilter" type="checkbox" name="chkIsFavorite" id="chkIsFavorite" data-filter="IsFavorite" data-mini="true">
</legend> <label for="chkIsFavorite">${OptionFavorite}</label>
<input class="chkPersonTypeFilter" type="checkbox" name="chkActor" id="chkActor" data-filter="Actor" data-mini="true">
<label for="chkActor">${OptionActors}</label>
<input class="chkPersonTypeFilter" type="checkbox" name="chkGuestStars" id="chkGuestStars" data-filter="GuestStar" data-mini="true"> <input class="chkStandardFilter" type="checkbox" name="chkLikes" id="chkLikes" data-filter="Likes" data-mini="true">
<label for="chkGuestStars">${OptionGuestStars}</label> <label for="chkLikes">${OptionLikes}</label>
<input class="chkPersonTypeFilter" type="checkbox" name="chkDirectors" id="chkDirectors" data-filter="Director" data-mini="true"> <input class="chkStandardFilter" type="checkbox" name="chkDislikes" id="chkDislikes" data-filter="Dislikes" data-mini="true">
<label for="chkDirectors">${OptionDirectors}</label> <label for="chkDislikes">${OptionDislikes}</label>
</fieldset>
<fieldset data-role="controlgroup">
<legend>
${HeaderPersonTypes}
</legend>
<input class="chkPersonTypeFilter" type="checkbox" name="chkActor" id="chkActor" data-filter="Actor" data-mini="true">
<label for="chkActor">${OptionActors}</label>
<input class="chkPersonTypeFilter" type="checkbox" name="chkWriters" id="chkWriters" data-filter="Writer" data-mini="true"> <input class="chkPersonTypeFilter" type="checkbox" name="chkGuestStars" id="chkGuestStars" data-filter="GuestStar" data-mini="true">
<label for="chkWriters">${OptionWriters}</label> <label for="chkGuestStars">${OptionGuestStars}</label>
</fieldset>
<input class="chkPersonTypeFilter" type="checkbox" name="chkDirectors" id="chkDirectors" data-filter="Director" data-mini="true">
<label for="chkDirectors">${OptionDirectors}</label>
<input class="chkPersonTypeFilter" type="checkbox" name="chkWriters" id="chkWriters" data-filter="Writer" data-mini="true">
<label for="chkWriters">${OptionWriters}</label>
</fieldset>
</div>
</form> </form>
</div> </div>

View File

@ -19,79 +19,43 @@
</div> </div>
<div data-role="content"> <div data-role="content">
<div class="viewSettings"> <div class="viewSettings">
<div class="viewControls"> <div class="listTopPaging">
<div style="display: inline-block;"> </div>
<select data-mini="true" data-inline="true" id="selectView" name="selectView"> </div>
<div id="items" class="itemsContainer"></div>
</div>
<div data-role="panel" class="viewPanel" data-theme="a" data-position="right" data-display="overlay" data-position-fixed="true">
<form>
<div data-role="controlgroup" data-type="horizontal" data-mini="true" class="viewPanelTabs">
<a href="#" data-role="button" class="viewTabButton" data-tab="tabView">${TabView}</a>
<a href="#" data-role="button" class="viewTabButton" data-tab="tabSort">${TabSort}</a>
<a href="#" data-role="button" class="viewTabButton" data-tab="tabFilter">${TabFilter}</a>
</div>
<div class="tabView viewTab">
<div>
<label for="selectView">${LabelView}</label>
<select id="selectView">
<option value="Thumb">${OptionThumb}</option> <option value="Thumb">${OptionThumb}</option>
<option value="Poster">${OptionPoster}</option> <option value="Poster">${OptionPoster}</option>
<option value="Banner">${OptionBanner}</option> <option value="Banner">${OptionBanner}</option>
<option value="List">${OptionList}</option> <option value="List">${OptionList}</option>
</select> </select>
</div> </div>
<br />
<div>
<label for="selectPageSize">${LabelPageSize}</label>
<select id="selectPageSize"></select>
</div>
</div> </div>
<div class="viewControls" data-role="controlgroup" data-type="horizontal"> <div class="tabFilter viewTab">
<button data-mini="true" data-icon="sort" data-inline="true" data-iconpos="notext" title="${ButtonSort}" onclick="$('#sortPanel', $(this).parents('.page')).panel( 'toggle' );">${ButtonSort}</button>
<button data-mini="true" data-icon="filter" data-inline="true" data-iconpos="notext" title="${ButtonFilter}" onclick="$('#filterPanel', $(this).parents('.page')).panel( 'toggle' );">${ButtonFilter}</button>
</div>
<div class="listTopPaging">
</div>
</div>
<div id="items" class="itemsContainer"></div>
</div>
<div data-role="panel" id="sortPanel" data-position="right" data-display="overlay" data-position-fixed="true">
<form>
<fieldset data-role="controlgroup">
<legend>
<strong>${HeaderSortBy}</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">${OptionNameSort}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioCommunityRating" value="off" data-sortby="CommunityRating" data-mini="true">
<label for="radioCommunityRating">${OptionImdbRating}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioDateCreated" value="off" data-sortby="DateCreated" data-mini="true">
<label for="radioDateCreated">${OptionDateAdded}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioContentRating" value="off" data-sortby="OfficialRating" data-mini="true">
<label for="radioContentRating">${OptionParentalRating}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioPremiereDate" value="off" data-sortby="PremiereDate" data-mini="true">
<label for="radioPremiereDate">${OptionPremiereDate}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioRuntime" value="off" data-sortby="Runtime" data-mini="true">
<label for="radioRuntime">${OptionRuntime}</label>
</fieldset>
<fieldset data-role="controlgroup">
<legend>
<strong>${HeaderSortOrder}</strong>
</legend>
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioAscending" value="on" checked="checked" data-sortorder="Ascending" data-mini="true">
<label for="radioAscending">${OptionAscending}</label>
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioDescending" value="off" data-sortorder="Descending" data-mini="true">
<label for="radioDescending">${OptionDescending}</label>
</fieldset>
</form>
</div>
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-position-fixed="true">
<form>
<fieldset data-role="controlgroup" data-type="horizontal" style="margin-bottom: 1em;">
<legend>${HeaderFilters}</legend>
<input type="radio" name="radioFilterTypes" id="radioBasicFilters" value="on" checked="checked" data-mini="true">
<label for="radioBasicFilters">${TabBasic}</label>
<input type="radio" name="radioFilterTypes" id="radioAdvancedFilters" value="off" data-mini="true">
<label for="radioAdvancedFilters">${TabAdvanced}</label>
</fieldset>
<div class="basicFilters">
<fieldset data-role="controlgroup"> <fieldset data-role="controlgroup">
<legend> <legend>
<strong>${HeaderFilters}</strong> ${HeaderFilters}
</legend> </legend>
<input class="chkStandardFilter" type="checkbox" name="chkPlayed" id="chkPlayed" data-filter="IsPlayed" data-mini="true"> <input class="chkStandardFilter" type="checkbox" name="chkPlayed" id="chkPlayed" data-filter="IsPlayed" data-mini="true">
<label for="chkPlayed">${OptionPlayed}</label> <label for="chkPlayed">${OptionPlayed}</label>
@ -111,72 +75,107 @@
<fieldset data-role="controlgroup"> <fieldset data-role="controlgroup">
<legend> <legend>
<strong>${HeaderStatus}</strong> ${HeaderStatus}
</legend> </legend>
<input class="chkStatus" type="checkbox" name="chkStatusContinuing" id="chkStatusContinuing" data-filter="Continuing" data-mini="true"> <input class="chkStatus" type="checkbox" name="chkStatusContinuing" id="chkStatusContinuing" data-filter="Continuing" data-mini="true">
<label for="chkStatusContinuing">${OptionContinuing}</label> <label for="chkStatusContinuing">${OptionContinuing}</label>
<input class="chkStatus" type="checkbox" name="chkStatusEnded" id="chkStatusEnded" data-filter="Ended" data-mini="true"> <input class="chkStatus" type="checkbox" name="chkStatusEnded" id="chkStatusEnded" data-filter="Ended" data-mini="true">
<label for="chkStatusEnded">${OptionEnded}</label> <label for="chkStatusEnded">${OptionEnded}</label>
</fieldset> </fieldset>
<br />
<div data-role="collapsible" data-collapsed="true" data-mini="true">
<h2>${HeaderAirDays}</h2>
<fieldset data-role="controlgroup"> <div data-role="controlgroup">
<legend> <input class="chkAirDays" type="checkbox" name="chkSunday" id="chkSunday" data-filter="Sunday" data-mini="true">
<strong>${HeaderAirDays}</strong> <label for="chkSunday">${OptionSunday}</label>
</legend> <input class="chkAirDays" type="checkbox" name="chkMonday" id="chkMonday" data-filter="Monday" data-mini="true">
<input class="chkAirDays" type="checkbox" name="chkSunday" id="chkSunday" data-filter="Sunday" data-mini="true"> <label for="chkMonday">${OptionMonday}</label>
<label for="chkSunday">${OptionSunday}</label> <input class="chkAirDays" type="checkbox" name="chkTuesday" id="chkTuesday" data-filter="Tuesday" data-mini="true">
<input class="chkAirDays" type="checkbox" name="chkMonday" id="chkMonday" data-filter="Monday" data-mini="true"> <label for="chkTuesday">${OptionTuesday}</label>
<label for="chkMonday">${OptionMonday}</label> <input class="chkAirDays" type="checkbox" name="chkWednesday" id="chkWednesday" data-filter="Wednesday" data-mini="true">
<input class="chkAirDays" type="checkbox" name="chkTuesday" id="chkTuesday" data-filter="Tuesday" data-mini="true"> <label for="chkWednesday">${OptionWednesday}</label>
<label for="chkTuesday">${OptionTuesday}</label> <input class="chkAirDays" type="checkbox" name="chkThursday" id="chkThursday" data-filter="Thursday" data-mini="true">
<input class="chkAirDays" type="checkbox" name="chkWednesday" id="chkWednesday" data-filter="Wednesday" data-mini="true"> <label for="chkThursday">${OptionThursday}</label>
<label for="chkWednesday">${OptionWednesday}</label> <input class="chkAirDays" type="checkbox" name="chkFriday" id="chkFriday" data-filter="Friday" data-mini="true">
<input class="chkAirDays" type="checkbox" name="chkThursday" id="chkThursday" data-filter="Thursday" data-mini="true"> <label for="chkFriday">${OptionFriday}</label>
<label for="chkThursday">${OptionThursday}</label> <input class="chkAirDays" type="checkbox" name="chkSaturday" id="chkSaturday" data-filter="Saturday" data-mini="true">
<input class="chkAirDays" type="checkbox" name="chkFriday" id="chkFriday" data-filter="Friday" data-mini="true"> <label for="chkSaturday">${OptionSaturday}</label>
<label for="chkFriday">${OptionFriday}</label> </div>
<input class="chkAirDays" type="checkbox" name="chkSaturday" id="chkSaturday" data-filter="Saturday" data-mini="true"> </div>
<label for="chkSaturday">${OptionSaturday}</label>
</fieldset> <div data-role="collapsible" data-collapsed="true" data-mini="true">
<h2>${HeaderFeatures}</h2>
<div data-role="controlgroup">
<input class="chkFeatureFilter" type="checkbox" name="chkTrailer" id="chkTrailer" data-mini="true">
<label for="chkTrailer">${OptionHasTrailer}</label>
<input class="chkFeatureFilter" type="checkbox" name="chkSpecialFeature" id="chkSpecialFeature" data-mini="true">
<label for="chkSpecialFeature">${OptionHasSpecialFeatures}</label>
<input class="chkFeatureFilter" type="checkbox" name="chkThemeSong" id="chkThemeSong" data-mini="true">
<label for="chkThemeSong">${OptionHasThemeSong}</label>
<input class="chkFeatureFilter" type="checkbox" name="chkThemeVideo" id="chkThemeVideo" data-mini="true">
<label for="chkThemeVideo">${OptionHasThemeVideo}</label>
</div>
</div>
<div data-role="collapsible" data-collapsed="true" data-mini="true">
<h2>${HeaderManagement}</h2>
<div data-role="controlgroup">
<input class="chkMissingImdbId" type="checkbox" name="chkMissingImdbId" id="chkMissingImdbId" data-mini="true">
<label for="chkMissingImdbId">${OptionMissingImdbId}</label>
<input class="chkMissingTvdbId" type="checkbox" name="chkMissingTvdbId" id="chkMissingTvdbId" data-mini="true">
<label for="chkMissingTvdbId">${OptionMissingTvdbId}</label>
<input class="chkMissingOverview" type="checkbox" name="chkMissingOverview" id="chkMissingOverview" data-mini="true">
<label for="chkMissingOverview">${OptionMissingOverview}</label>
<input class="chkYearMismatch" type="checkbox" name="chkYearMismatch" id="chkYearMismatch" data-mini="true">
<label for="chkYearMismatch">${OptionFileMetadataYearMismatch}</label>
</div>
</div>
</div> </div>
<div class="advancedFilters" style="display: none;">
<div class="tabSort viewTab">
<fieldset data-role="controlgroup"> <fieldset data-role="controlgroup">
<legend> <legend>
<strong>${HeaderManagement}</strong> ${HeaderSortBy}
</legend> </legend>
<input class="chkMissingImdbId" type="checkbox" name="chkMissingImdbId" id="chkMissingImdbId" data-mini="true"> <input class="radioSortBy defaultSort" type="radio" name="radioSortBy" id="radioSortName" value="on" checked="checked" data-sortby="SortName" data-mini="true">
<label for="chkMissingImdbId">${OptionMissingImdbId}</label> <label for="radioSortName">${OptionNameSort}</label>
<input class="chkMissingTvdbId" type="checkbox" name="chkMissingTvdbId" id="chkMissingTvdbId" data-mini="true"> <input class="radioSortBy" type="radio" name="radioSortBy" id="radioCommunityRating" value="off" data-sortby="CommunityRating" data-mini="true">
<label for="chkMissingTvdbId">${OptionMissingTvdbId}</label> <label for="radioCommunityRating">${OptionImdbRating}</label>
<input class="chkMissingOverview" type="checkbox" name="chkMissingOverview" id="chkMissingOverview" data-mini="true"> <input class="radioSortBy" type="radio" name="radioSortBy" id="radioDateCreated" value="off" data-sortby="DateCreated" data-mini="true">
<label for="chkMissingOverview">${OptionMissingOverview}</label> <label for="radioDateCreated">${OptionDateAdded}</label>
<input class="chkYearMismatch" type="checkbox" name="chkYearMismatch" id="chkYearMismatch" data-mini="true"> <input class="radioSortBy" type="radio" name="radioSortBy" id="radioContentRating" value="off" data-sortby="OfficialRating" data-mini="true">
<label for="chkYearMismatch">${OptionFileMetadataYearMismatch}</label> <label for="radioContentRating">${OptionParentalRating}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioPremiereDate" value="off" data-sortby="PremiereDate" data-mini="true">
<label for="radioPremiereDate">${OptionPremiereDate}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioRuntime" value="off" data-sortby="Runtime" data-mini="true">
<label for="radioRuntime">${OptionRuntime}</label>
</fieldset> </fieldset>
<fieldset data-role="controlgroup"> <fieldset data-role="controlgroup">
<legend> <legend>
<strong>${LabelFeatures}</strong> ${HeaderSortOrder}
</legend> </legend>
<input class="chkFeatureFilter" type="checkbox" name="chkTrailer" id="chkTrailer" data-mini="true"> <input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioAscending" value="on" checked="checked" data-sortorder="Ascending" data-mini="true">
<label for="chkTrailer">${OptionHasTrailer}</label> <label for="radioAscending">${OptionAscending}</label>
<input class="chkFeatureFilter" type="checkbox" name="chkSpecialFeature" id="chkSpecialFeature" data-mini="true">
<label for="chkSpecialFeature">${OptionHasSpecialFeatures}</label>
<input class="chkFeatureFilter" type="checkbox" name="chkThemeSong" id="chkThemeSong" data-mini="true">
<label for="chkThemeSong">${OptionHasThemeSong}</label>
<input class="chkFeatureFilter" type="checkbox" name="chkThemeVideo" id="chkThemeVideo" data-mini="true">
<label for="chkThemeVideo">${OptionHasThemeVideo}</label>
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioDescending" value="off" data-sortorder="Descending" data-mini="true">
<label for="radioDescending">${OptionDescending}</label>
</fieldset> </fieldset>
</div> </div>
</form> </form>

View File

@ -17,29 +17,44 @@
</div> </div>
<div data-role="content"> <div data-role="content">
<div class="viewSettings"> <div class="viewSettings">
<div class="viewControls" data-role="controlgroup" data-type="horizontal">
<button data-mini="true" data-icon="filter" data-inline="true" data-iconpos="notext" title="${ButtonFilter}" onclick="$('#filterPanel', $(this).parents('.page')).panel( 'toggle' );">${ButtonFilter}</button>
</div>
<div class="listTopPaging"> <div class="listTopPaging">
</div> </div>
</div> </div>
<div id="items" class="itemsContainer"></div> <div id="items" class="itemsContainer"></div>
</div> </div>
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-position-fixed="true">
<div data-role="panel" class="viewPanel" data-theme="a" data-position="right" data-display="overlay" data-position-fixed="true">
<form> <form>
<fieldset data-role="controlgroup">
<legend>
<strong>${HeaderFilters}</strong>
</legend>
<input class="chkStandardFilter" type="checkbox" name="chkIsFavorite" id="chkIsFavorite" data-filter="IsFavorite" data-mini="true">
<label for="chkIsFavorite">${OptionFavorite}</label>
<input class="chkStandardFilter" type="checkbox" name="chkLikes" id="chkLikes" data-filter="Likes" data-mini="true"> <div data-role="controlgroup" data-type="horizontal" data-mini="true" class="viewPanelTabs">
<label for="chkLikes">${OptionLikes}</label> <a href="#" data-role="button" class="viewTabButton" data-tab="tabView">${TabView}</a>
<a href="#" data-role="button" class="viewTabButton" data-tab="tabFilter">${TabFilter}</a>
</div>
<input class="chkStandardFilter" type="checkbox" name="chkDislikes" id="chkDislikes" data-filter="Dislikes" data-mini="true"> <div class="tabView viewTab">
<label for="chkDislikes">${OptionDislikes}</label>
</fieldset> <div>
<label for="selectPageSize">${LabelPageSize}</label>
<select id="selectPageSize"></select>
</div>
</div>
<div class="tabFilter viewTab">
<fieldset data-role="controlgroup">
<legend>
${HeaderFilters}
</legend>
<input class="chkStandardFilter" type="checkbox" name="chkIsFavorite" id="chkIsFavorite" data-filter="IsFavorite" data-mini="true">
<label for="chkIsFavorite">${OptionFavorite}</label>
<input class="chkStandardFilter" type="checkbox" name="chkLikes" id="chkLikes" data-filter="Likes" data-mini="true">
<label for="chkLikes">${OptionLikes}</label>
<input class="chkStandardFilter" type="checkbox" name="chkDislikes" id="chkDislikes" data-filter="Dislikes" data-mini="true">
<label for="chkDislikes">${OptionDislikes}</label>
</fieldset>
</div>
</form> </form>
</div> </div>

View File

@ -4,10 +4,18 @@
<title></title> <title></title>
</head> </head>
<body> <body>
<div id="editUserPage" data-role="page" class="page type-interior userProfilesConfigurationPage publicUserPage"> <div id="editUserPage" data-role="page" class="page type-interior dashboardHomePage publicUserPage">
<div data-role="content"> <div data-role="content">
<div class="content-primary"> <div class="content-primary">
<div data-role="controlgroup" data-type="horizontal" class="localnav serverNavigation" data-mini="true" style="display: none;">
<a href="dashboard.html" data-role="button">${TabDashboard}</a>
<a href="userprofiles.html" data-role="button" class="ui-btn-active">${TabUsers}</a>
<a href="dashboardgeneral.html" data-role="button">${TabSettings}</a>
<a href="serversecurity.html" data-role="button">${TabSecurity}</a>
</div>
<div data-role="controlgroup" data-type="horizontal" class="localnav" id="userProfileNavigation" style="display: none;" data-mini="true"> <div data-role="controlgroup" data-type="horizontal" class="localnav" id="userProfileNavigation" style="display: none;" data-mini="true">
<a href="#" data-role="button" class="ui-btn-active">${TabProfile}</a> <a href="#" data-role="button" class="ui-btn-active">${TabProfile}</a>
<a href="#" data-role="button" onclick="Dashboard.navigate('userimage.html', true);">${TabImage}</a> <a href="#" data-role="button" onclick="Dashboard.navigate('userimage.html', true);">${TabImage}</a>

View File

@ -49,9 +49,9 @@
<button type="submit" data-theme="b" data-icon="check"> <button type="submit" data-theme="b" data-icon="check">
${ButtonSave} ${ButtonSave}
</button> </button>
<button type="button" onclick="history.back();" data-icon="delete"> <a data-role="button" href="userprofiles.html" data-icon="delete" style="text-align:center;">
${ButtonCancel} ${ButtonCancel}
</button> </a>
</li> </li>
</ul> </ul>
</form> </form>

View File

@ -1,18 +1,21 @@
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
<title>${HeaderUsers}</title> <title>${TitleServer}</title>
</head> </head>
<body> <body>
<div id="userProfilesPage" data-role="page" class="page type-interior userProfilesConfigurationPage"> <div id="userProfilesPage" data-role="page" class="page type-interior dashboardHomePage">
<div data-role="content"> <div data-role="content">
<div class="content-primary"> <div class="content-primary">
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true"> <div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
<a href="userprofiles.html" data-role="button" class="ui-btn-active">${TabProfiles}</a> <a href="dashboard.html" data-role="button">${TabDashboard}</a>
<a href="#" data-role="button" class="ui-btn-active">${TabUsers}</a>
<a href="dashboardgeneral.html" data-role="button">${TabSettings}</a>
<a href="serversecurity.html" data-role="button">${TabSecurity}</a>
</div> </div>
<div class="readOnlyContent"> <div class="readOnlyContent">
<p id="pAddUser"> <p id="pAddUser">
<button type="button" data-icon="plus" data-iconpos="right" onclick="Dashboard.navigate('useredit.html');"> <button type="button" data-icon="plus" data-iconpos="right" onclick="Dashboard.navigate('useredit.html');">