mirror of
https://github.com/jellyfin/jellyfin-web.git
synced 2024-11-18 03:18:19 -07:00
web client re-org
This commit is contained in:
parent
ea285c28ef
commit
d5780727eb
@ -7,7 +7,7 @@
|
||||
padding-top: 48px !important;
|
||||
}
|
||||
|
||||
.libraryPage:not(.metadataEditorPage):not(#indexPage):not(#boxsetsPage):not(#itemListPage):not(.nowPlayingPage) {
|
||||
.libraryPage:not(.metadataEditorPage):not(#indexPage):not(#boxsetsPage):not(#itemListPage):not(.nowPlayingPage):not(.trailerPage) {
|
||||
padding-top: 91px !important;
|
||||
}
|
||||
|
||||
@ -61,6 +61,14 @@
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.selectedMediaFolder {
|
||||
color: #fff!important;
|
||||
}
|
||||
.viewMenuBar .selectedMediaFolder:before {
|
||||
content: '\25BA';
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.viewMenuSecondary {
|
||||
float: right;
|
||||
}
|
||||
@ -107,8 +115,8 @@
|
||||
}
|
||||
|
||||
.listHeader {
|
||||
margin-top: .75em;
|
||||
margin-bottom: 0;
|
||||
margin-top: .5em;
|
||||
margin-bottom: .25em;
|
||||
padding-left: 7px;
|
||||
}
|
||||
|
||||
@ -126,17 +134,16 @@
|
||||
|
||||
.libraryViewNavInner {
|
||||
text-align: center;
|
||||
font-family: sans-serif, Arial;
|
||||
font-size: 14px;
|
||||
white-space: nowrap;
|
||||
padding: 0 0 0;
|
||||
overflow-x: auto;
|
||||
height: 55px;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.libraryViewNav .ui-btn-active .libraryViewNavLinkContent {
|
||||
border-bottom-color: #38c;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.libraryViewNav a {
|
||||
@ -153,24 +160,11 @@
|
||||
color: #bbb!important;
|
||||
}
|
||||
|
||||
.libraryViewNav a:after {
|
||||
content: "|";
|
||||
color: #444;
|
||||
font-size: 20px;
|
||||
font-weight: normal !important;
|
||||
position: absolute;
|
||||
top: 7px;
|
||||
}
|
||||
|
||||
.libraryViewNav a:last-child::after {
|
||||
content: "";
|
||||
}
|
||||
|
||||
.libraryViewNavLinkContent {
|
||||
border-bottom: 6px solid transparent;
|
||||
border-bottom: 5px solid transparent;
|
||||
display: inline-block;
|
||||
padding: 0 1em 6px;
|
||||
margin: 0 -2px 0 -1px;
|
||||
padding: 0 .9em 7px;
|
||||
color: #ddd;
|
||||
}
|
||||
|
||||
.ehsContent {
|
||||
@ -590,7 +584,7 @@ a.itemTag:hover {
|
||||
}
|
||||
|
||||
.lblDetailTab {
|
||||
font-size: 15px!important;
|
||||
font-size: 14px!important;
|
||||
font-weight: 400!important;
|
||||
font-family: 'Open Sans';
|
||||
padding: .5em 1em;
|
||||
|
@ -1,5 +1,5 @@
|
||||
.posterItem {
|
||||
margin: 4px 5px;
|
||||
margin: 5px 5px;
|
||||
text-shadow: none;
|
||||
font-weight: normal!important;
|
||||
display: inline-block;
|
||||
@ -170,9 +170,9 @@
|
||||
}
|
||||
|
||||
.posterItemProgress .itemProgressBar {
|
||||
height: 10px;
|
||||
height: 8px;
|
||||
width: 100%;
|
||||
opacity: .7;
|
||||
opacity: .8;
|
||||
}
|
||||
|
||||
.miniPosterItemProgress {
|
||||
|
@ -45,9 +45,8 @@ body {
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-weight: 400;
|
||||
font-size: 1.8em;
|
||||
text-transform: uppercase;
|
||||
font-weight: 300;
|
||||
font-size: 2em;
|
||||
}
|
||||
|
||||
.ui-loader h1 {
|
||||
|
@ -6,12 +6,12 @@
|
||||
<body>
|
||||
<div id="episodesPage" data-role="page" class="page libraryPage" data-theme="b" data-view="tv">
|
||||
|
||||
<div class="libraryViewNav">
|
||||
<div class="libraryViewNav scopedLibraryViewNav">
|
||||
<a href="tvrecommended.html">${TabSuggested}</a>
|
||||
<a href="tvlatest.html">${TabLatest}</a>
|
||||
<a href="tvupcoming.html">${TabUpcoming}</a>
|
||||
<a href="tvshows.html">${TabShows}</a>
|
||||
<a href="episodes.html" class="ui-btn-active">${TabEpisodes}</a>
|
||||
<a href="#" class="ui-btn-active">${TabEpisodes}</a>
|
||||
<a href="tvgenres.html">${TabGenres}</a>
|
||||
<a href="tvpeople.html">${TabPeople}</a>
|
||||
<a href="tvstudios.html">${TabNetworks}</a>
|
||||
|
@ -5,11 +5,11 @@
|
||||
</head>
|
||||
<body>
|
||||
<div id="gameGenresPage" data-role="page" class="page libraryPage listPage" data-theme="b" data-view="games">
|
||||
<div class="libraryViewNav">
|
||||
<div class="libraryViewNav scopedLibraryViewNav">
|
||||
<a href="gamesrecommended.html">${TabSuggested}</a>
|
||||
<a href="games.html">${TabGames}</a>
|
||||
<a href="gamesystems.html">${TabGameSystems}</a>
|
||||
<a href="gamegenres.html" class="ui-btn-active">${TabGenres}</a>
|
||||
<a href="#" class="ui-btn-active">${TabGenres}</a>
|
||||
<a href="gamestudios.html">${TabStudios}</a>
|
||||
</div>
|
||||
<div data-role="content">
|
||||
|
@ -5,9 +5,9 @@
|
||||
</head>
|
||||
<body>
|
||||
<div id="gamesPage" data-role="page" class="page libraryPage listPage" data-theme="b" data-view="games">
|
||||
<div class="libraryViewNav">
|
||||
<div class="libraryViewNav scopedLibraryViewNav">
|
||||
<a href="gamesrecommended.html">${TabSuggested}</a>
|
||||
<a href="games.html" class="ui-btn-active">${TabGames}</a>
|
||||
<a href="#" class="ui-btn-active">${TabGames}</a>
|
||||
<a href="gamesystems.html">${TabGameSystems}</a>
|
||||
<a href="gamegenres.html">${TabGenres}</a>
|
||||
<a href="gamestudios.html">${TabStudios}</a>
|
||||
|
@ -5,8 +5,8 @@
|
||||
</head>
|
||||
<body>
|
||||
<div id="gamesRecommendedPage" data-role="page" class="page libraryPage" data-theme="b" data-view="games">
|
||||
<div class="libraryViewNav">
|
||||
<a href="gamesrecommended.html" class="ui-btn-active">${TabSuggested}</a>
|
||||
<div class="libraryViewNav scopedLibraryViewNav">
|
||||
<a href="#" class="ui-btn-active">${TabSuggested}</a>
|
||||
<a href="games.html">${TabGames}</a>
|
||||
<a href="gamesystems.html">Game Systems</a>
|
||||
<a href="gamegenres.html">${TabGenres}</a>
|
||||
|
@ -5,12 +5,12 @@
|
||||
</head>
|
||||
<body>
|
||||
<div id="gameStudiosPage" data-role="page" class="page libraryPage listPage" data-theme="b" data-view="games">
|
||||
<div class="libraryViewNav">
|
||||
<div class="libraryViewNav scopedLibraryViewNav">
|
||||
<a href="gamesrecommended.html">${TabSuggested}</a>
|
||||
<a href="games.html">${TabGames}</a>
|
||||
<a href="gamesystems.html">${TabGameSystems}</a>
|
||||
<a href="gamegenres.html">${TabGenres}</a>
|
||||
<a href="gamestudios.html" class="ui-btn-active">${TabStudios}</a>
|
||||
<a href="#" class="ui-btn-active">${TabStudios}</a>
|
||||
</div>
|
||||
<div data-role="content">
|
||||
<div class="viewSettings">
|
||||
|
@ -5,10 +5,10 @@
|
||||
</head>
|
||||
<body>
|
||||
<div id="gamesystemsPage" data-role="page" class="page libraryPage" data-theme="b" data-view="games">
|
||||
<div class="libraryViewNav">
|
||||
<div class="libraryViewNav scopedLibraryViewNav">
|
||||
<a href="gamesrecommended.html">${TabSuggested}</a>
|
||||
<a href="games.html">${TabGames}</a>
|
||||
<a href="gamesystems.html" class="ui-btn-active">${TabGameSystems}</a>
|
||||
<a href="#" class="ui-btn-active">${TabGameSystems}</a>
|
||||
<a href="gamegenres.html">${TabGenres}</a>
|
||||
<a href="gamestudios.html">${TabStudios}</a>
|
||||
</div>
|
||||
|
@ -4,20 +4,23 @@
|
||||
<title>${TitleMediaBrowser}</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="indexPage" data-role="page" class="page type-home libraryPage" data-theme="b">
|
||||
<div id="indexPage" data-role="page" class="page type-home libraryPage noLibraryMenuSelectionPage" data-theme="b">
|
||||
<div data-role="content">
|
||||
|
||||
<table class="ehsContent">
|
||||
<tr>
|
||||
<td>
|
||||
<div id="resumableSection" style="display: none;">
|
||||
<h1 class="listHeader">${HeaderResume}</h1>
|
||||
|
||||
<br />
|
||||
<div id="views">
|
||||
<div id="resumableItems">
|
||||
</div>
|
||||
</div>
|
||||
<br />
|
||||
<h1 class="listHeader"><a href="itemlist.html">${HeaderMediaFolders}<img src="css/images/rightarrow.png" class="headerArrowImage" /></a></h1>
|
||||
|
||||
<div id="divCollections"></div>
|
||||
<h1 class="listHeader">${HeaderLatestMedia}</h1>
|
||||
|
||||
<div id="recentlyAddedItems">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
@ -6,40 +6,37 @@
|
||||
<body>
|
||||
<div id="itemByNameDetailPage" data-role="page" class="page libraryPage" data-theme="b">
|
||||
<div id="movieGenreTabs" class="itemTabs" style="display: none;">
|
||||
<div class="libraryViewNav">
|
||||
<div class="libraryViewNav scopedLibraryViewNav">
|
||||
<a href="movieslatest.html">${TabLatest}</a>
|
||||
<a href="moviesrecommended.html">${TabSuggested}</a>
|
||||
<a href="movies.html">${TabMovies}</a>
|
||||
<a href="movietrailers.html">${TabTrailers}</a>
|
||||
<a href="moviegenres.html" class="ui-btn-active">${TabGenres}</a>
|
||||
<a href="moviepeople.html">${TabPeople}</a>
|
||||
<a href="moviestudios.html">${TabStudios}</a>
|
||||
</div>
|
||||
</div>
|
||||
<div id="moviePeopleTabs" class="itemTabs" style="display: none;">
|
||||
<div class="libraryViewNav">
|
||||
<div class="libraryViewNav scopedLibraryViewNav">
|
||||
<a href="movieslatest.html">${TabLatest}</a>
|
||||
<a href="moviesrecommended.html">${TabSuggested}</a>
|
||||
<a href="movies.html">${TabMovies}</a>
|
||||
<a href="movietrailers.html">${TabTrailers}</a>
|
||||
<a href="moviegenres.html">${TabGenres}</a>
|
||||
<a href="moviepeople.html" class="ui-btn-active">${TabPeople}</a>
|
||||
<a href="moviestudios.html">${TabStudios}</a>
|
||||
</div>
|
||||
</div>
|
||||
<div id="movieStudioTabs" class="itemTabs" style="display: none;">
|
||||
<div class="libraryViewNav">
|
||||
<div class="libraryViewNav scopedLibraryViewNav">
|
||||
<a href="movieslatest.html">${TabLatest}</a>
|
||||
<a href="moviesrecommended.html">${TabSuggested}</a>
|
||||
<a href="movies.html">${TabMovies}</a>
|
||||
<a href="movietrailers.html">${TabTrailers}</a>
|
||||
<a href="moviegenres.html">${TabGenres}</a>
|
||||
<a href="moviepeople.html">${TabPeople}</a>
|
||||
<a href="moviestudios.html" class="ui-btn-active">${TabStudios}</a>
|
||||
</div>
|
||||
</div>
|
||||
<div id="tvGenreTabs" class="itemTabs" style="display: none;">
|
||||
<div class="libraryViewNav">
|
||||
<div class="libraryViewNav scopedLibraryViewNav">
|
||||
<a href="tvrecommended.html">${TabSuggested}</a>
|
||||
<a href="tvlatest.html">${TabLatest}</a>
|
||||
<a href="tvupcoming.html">${TabUpcoming}</a>
|
||||
@ -51,7 +48,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div id="tvPeopleTabs" class="itemTabs" style="display: none;">
|
||||
<div class="libraryViewNav">
|
||||
<div class="libraryViewNav scopedLibraryViewNav">
|
||||
<a href="tvrecommended.html">${TabSuggested}</a>
|
||||
<a href="tvlatest.html">${TabLatest}</a>
|
||||
<a href="tvupcoming.html">${TabUpcoming}</a>
|
||||
@ -63,7 +60,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div id="tvStudioTabs" class="itemTabs" style="display: none;">
|
||||
<div class="libraryViewNav">
|
||||
<div class="libraryViewNav scopedLibraryViewNav">
|
||||
<a href="tvrecommended.html">${TabSuggested}</a>
|
||||
<a href="tvlatest.html">${TabLatest}</a>
|
||||
<a href="tvupcoming.html">${TabUpcoming}</a>
|
||||
@ -75,7 +72,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div id="musicGenreTabs" class="itemTabs" style="display: none;">
|
||||
<div class="libraryViewNav">
|
||||
<div class="libraryViewNav scopedLibraryViewNav">
|
||||
<a href="musicrecommended.html">${TabSuggested}</a>
|
||||
<a href="songs.html">${TabSongs}</a>
|
||||
<a href="musicalbums.html">${TabAlbums}</a>
|
||||
@ -86,7 +83,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div id="artistTabs" class="itemTabs" style="display: none;">
|
||||
<div class="libraryViewNav">
|
||||
<div class="libraryViewNav scopedLibraryViewNav">
|
||||
<a href="musicrecommended.html">${TabSuggested}</a>
|
||||
<a href="songs.html">${TabSongs}</a>
|
||||
<a href="musicalbums.html">${TabAlbums}</a>
|
||||
@ -97,7 +94,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div id="gameGenreTabs" class="itemTabs" style="display: none;">
|
||||
<div class="libraryViewNav">
|
||||
<div class="libraryViewNav scopedLibraryViewNav">
|
||||
<a href="gamesrecommended.html">${TabSuggested}</a>
|
||||
<a href="games.html">${TabGames}</a>
|
||||
<a href="gamesystems.html">Game Systems</a>
|
||||
@ -106,7 +103,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div id="gameStudioTabs" class="itemTabs" style="display: none;">
|
||||
<div class="libraryViewNav">
|
||||
<div class="libraryViewNav scopedLibraryViewNav">
|
||||
<a href="gamesrecommended.html">${TabSuggested}</a>
|
||||
<a href="games.html">${TabGames}</a>
|
||||
<a href="gamesystems.html">Game Systems</a>
|
||||
|
@ -6,29 +6,17 @@
|
||||
<body>
|
||||
<div id="itemDetailPage" data-role="page" class="page libraryPage" data-theme="b">
|
||||
<div id="movieTabs" class="itemTabs" style="display: none;">
|
||||
<div class="libraryViewNav">
|
||||
<div class="libraryViewNav scopedLibraryViewNav">
|
||||
<a href="movieslatest.html">${TabLatest}</a>
|
||||
<a href="moviesrecommended.html">${TabSuggested}</a>
|
||||
<a href="movies.html" class="ui-btn-active">${TabMovies}</a>
|
||||
<a href="movietrailers.html">${TabTrailers}</a>
|
||||
<a href="moviegenres.html">${TabGenres}</a>
|
||||
<a href="moviepeople.html">${TabPeople}</a>
|
||||
<a href="moviestudios.html">${TabStudios}</a>
|
||||
</div>
|
||||
</div>
|
||||
<div id="trailerTabs" class="itemTabs" style="display: none;">
|
||||
<div class="libraryViewNav">
|
||||
<a href="movieslatest.html">${TabLatest}</a>
|
||||
<a href="moviesrecommended.html">${TabSuggested}</a>
|
||||
<a href="movies.html">${TabMovies}</a>
|
||||
<a href="movietrailers.html" class="ui-btn-active">${TabTrailers}</a>
|
||||
<a href="moviegenres.html">${TabGenres}</a>
|
||||
<a href="moviepeople.html">${TabPeople}</a>
|
||||
<a href="moviestudios.html">${TabStudios}</a>
|
||||
</div>
|
||||
</div>
|
||||
<div id="tvShowsTabs" class="itemTabs" style="display: none;">
|
||||
<div class="libraryViewNav">
|
||||
<div class="libraryViewNav scopedLibraryViewNav">
|
||||
<a href="tvrecommended.html">${TabSuggested}</a>
|
||||
<a href="tvlatest.html">${TabLatest}</a>
|
||||
<a href="tvupcoming.html">${TabUpcoming}</a>
|
||||
@ -40,7 +28,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div id="songTabs" class="itemTabs" style="display: none;">
|
||||
<div class="libraryViewNav">
|
||||
<div class="libraryViewNav scopedLibraryViewNav">
|
||||
<a href="musicrecommended.html">${TabSuggested}</a>
|
||||
<a href="songs.html" class="ui-btn-active">${TabSongs}</a>
|
||||
<a href="musicalbums.html">${TabAlbums}</a>
|
||||
@ -51,7 +39,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div id="albumTabs" class="itemTabs" style="display: none;">
|
||||
<div class="libraryViewNav">
|
||||
<div class="libraryViewNav scopedLibraryViewNav">
|
||||
<a href="musicrecommended.html">${TabSuggested}</a>
|
||||
<a href="songs.html">${TabSongs}</a>
|
||||
<a href="musicalbums.html" class="ui-btn-active">${TabAlbums}</a>
|
||||
@ -62,7 +50,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div id="musicVideoTabs" class="itemTabs" style="display: none;">
|
||||
<div class="libraryViewNav">
|
||||
<div class="libraryViewNav scopedLibraryViewNav">
|
||||
<a href="musicrecommended.html">${TabSuggested}</a>
|
||||
<a href="songs.html">${TabSongs}</a>
|
||||
<a href="musicalbums.html">${TabAlbums}</a>
|
||||
@ -73,7 +61,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div id="gameTabs" class="itemTabs" style="display: none;">
|
||||
<div class="libraryViewNav">
|
||||
<div class="libraryViewNav scopedLibraryViewNav">
|
||||
<a href="gamesrecommended.html">${TabSuggested}</a>
|
||||
<a href="games.html" class="ui-btn-active">${TabGames}</a>
|
||||
<a href="gamesystems.html">Game Systems</a>
|
||||
@ -82,7 +70,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div id="gameSystemTabs" class="itemTabs" style="display: none;">
|
||||
<div class="libraryViewNav">
|
||||
<div class="libraryViewNav scopedLibraryViewNav">
|
||||
<a href="gamesrecommended.html">${TabSuggested}</a>
|
||||
<a href="games.html">${TabGames}</a>
|
||||
<a href="gamesystems.html" class="ui-btn-active">${TabGameSystems}</a>
|
||||
|
@ -4,7 +4,7 @@
|
||||
<title>${TitleMediaBrowser}</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="liveTvChannelPage" data-role="page" class="page libraryPage" data-theme="b" data-view="livetv">
|
||||
<div id="liveTvChannelPage" data-role="page" class="page libraryPage liveTvPage" data-theme="b" data-view="livetv">
|
||||
<div class="libraryViewNav">
|
||||
<a href="livetvsuggested.html">${TabSuggested}</a>
|
||||
<a href="livetvguide.html">${TabGuide}</a>
|
||||
|
@ -4,7 +4,7 @@
|
||||
<title>${TitleMediaBrowser}</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="liveTvChannelsPage" data-role="page" class="page libraryPage" data-theme="b" data-view="livetv">
|
||||
<div id="liveTvChannelsPage" data-role="page" class="page libraryPage liveTvPage" data-theme="b" data-view="livetv">
|
||||
<div class="libraryViewNav">
|
||||
<a href="livetvsuggested.html">${TabSuggested}</a>
|
||||
<a href="livetvguide.html">${TabGuide}</a>
|
||||
|
@ -4,7 +4,7 @@
|
||||
<title>${TitleMediaBrowser}</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="liveTvGuidePage" data-role="page" class="page libraryPage" data-theme="b" data-view="livetv">
|
||||
<div id="liveTvGuidePage" data-role="page" class="page libraryPage liveTvPage" data-theme="b" data-view="livetv">
|
||||
<div class="libraryViewNav">
|
||||
<a href="livetvsuggested.html">${TabSuggested}</a>
|
||||
<a href="livetvguide.html" class="ui-btn-active">${TabGuide}</a>
|
||||
|
@ -4,7 +4,7 @@
|
||||
<title>${TitleMediaBrowser}</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="liveTvNewRecordingPage" data-role="page" class="page libraryPage" data-theme="b" data-view="livetv">
|
||||
<div id="liveTvNewRecordingPage" data-role="page" class="page libraryPage liveTvPage" data-theme="b" data-view="livetv">
|
||||
<div class="libraryViewNav">
|
||||
<a href="livetvsuggested.html">${TabSuggested}</a>
|
||||
<a href="livetvguide.html">${TabGuide}</a>
|
||||
|
@ -4,7 +4,7 @@
|
||||
<title>${TitleMediaBrowser}</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="liveTvProgramPage" data-role="page" class="page libraryPage" data-theme="b" data-view="livetv">
|
||||
<div id="liveTvProgramPage" data-role="page" class="page libraryPage liveTvPage" data-theme="b" data-view="livetv">
|
||||
<div class="libraryViewNav">
|
||||
<a href="livetvsuggested.html">${TabSuggested}</a>
|
||||
<a href="livetvguide.html">${TabGuide}</a>
|
||||
|
@ -4,7 +4,7 @@
|
||||
<title>${TitleMediaBrowser}</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="liveTvRecordingPage" data-role="page" class="page libraryPage" data-theme="b" data-view="livetv">
|
||||
<div id="liveTvRecordingPage" data-role="page" class="page libraryPage liveTvPage" data-theme="b" data-view="livetv">
|
||||
<div class="libraryViewNav">
|
||||
<a href="livetvsuggested.html">${TabSuggested}</a>
|
||||
<a href="livetvguide.html">${TabGuide}</a>
|
||||
|
@ -4,7 +4,7 @@
|
||||
<title>${TitleMediaBrowser}</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="liveTvRecordingListPage" data-role="page" class="page libraryPage" data-theme="b" data-view="livetv">
|
||||
<div id="liveTvRecordingListPage" data-role="page" class="page libraryPage liveTvPage" data-theme="b" data-view="livetv">
|
||||
<div class="libraryViewNav">
|
||||
<a href="livetvsuggested.html">${TabSuggested}</a>
|
||||
<a href="livetvguide.html">${TabGuide}</a>
|
||||
|
@ -4,7 +4,7 @@
|
||||
<title>${TitleMediaBrowser}</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="liveTvRecordingsPage" data-role="page" class="page libraryPage" data-theme="b" data-view="livetv">
|
||||
<div id="liveTvRecordingsPage" data-role="page" class="page libraryPage liveTvPage" data-theme="b" data-view="livetv">
|
||||
<div class="libraryViewNav">
|
||||
<a href="livetvsuggested.html">${TabSuggested}</a>
|
||||
<a href="livetvguide.html">${TabGuide}</a>
|
||||
|
@ -4,7 +4,7 @@
|
||||
<title>${TitleMediaBrowser}</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="liveTvSeriesTimerPage" data-role="page" class="page libraryPage" data-theme="b" data-view="livetv">
|
||||
<div id="liveTvSeriesTimerPage" data-role="page" class="page libraryPage liveTvPage" data-theme="b" data-view="livetv">
|
||||
<div class="libraryViewNav">
|
||||
<a href="livetvsuggested.html">${TabSuggested}</a>
|
||||
<a href="livetvguide.html">${TabGuide}</a>
|
||||
|
@ -4,7 +4,7 @@
|
||||
<title>${TitleMediaBrowser}</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="liveTvSeriesTimersPage" data-role="page" class="page libraryPage" data-theme="b" data-view="livetv">
|
||||
<div id="liveTvSeriesTimersPage" data-role="page" class="page libraryPage liveTvPage" data-theme="b" data-view="livetv">
|
||||
<div class="libraryViewNav">
|
||||
<a href="livetvsuggested.html">${TabSuggested}</a>
|
||||
<a href="livetvguide.html">${TabGuide}</a>
|
||||
|
@ -4,7 +4,7 @@
|
||||
<title>${TitleLiveTV}</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="liveTvSettingsPage" data-role="page" class="page type-interior liveTvSettingsPage">
|
||||
<div id="liveTvSettingsPage" data-role="page" class="page type-interior liveTvSettingsPage liveTvPage">
|
||||
|
||||
<div data-role="content">
|
||||
<div class="content-primary">
|
||||
|
@ -4,7 +4,7 @@
|
||||
<title>${TitleMediaBrowser}</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="liveTvSuggestedPage" data-role="page" class="page libraryPage" data-theme="b" data-view="livetv">
|
||||
<div id="liveTvSuggestedPage" data-role="page" class="page libraryPage liveTvPage" data-theme="b" data-view="livetv">
|
||||
<div class="libraryViewNav">
|
||||
<a href="#" class="ui-btn-active">${TabSuggested}</a>
|
||||
<a href="livetvguide.html">${TabGuide}</a>
|
||||
|
@ -4,7 +4,7 @@
|
||||
<title>${TitleMediaBrowser}</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="liveTvTimerPage" data-role="page" class="page libraryPage" data-theme="b" data-view="livetv">
|
||||
<div id="liveTvTimerPage" data-role="page" class="page libraryPage liveTvPage" data-theme="b" data-view="livetv">
|
||||
<div class="libraryViewNav">
|
||||
<a href="livetvsuggested.html">${TabSuggested}</a>
|
||||
<a href="livetvguide.html">${TabGuide}</a>
|
||||
|
@ -4,7 +4,7 @@
|
||||
<title>${TitleMediaBrowser}</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="liveTvTimersPage" data-role="page" class="page libraryPage" data-theme="b" data-view="livetv">
|
||||
<div id="liveTvTimersPage" data-role="page" class="page libraryPage liveTvPage" data-theme="b" data-view="livetv">
|
||||
<div class="libraryViewNav">
|
||||
<a href="livetvsuggested.html">${TabSuggested}</a>
|
||||
<a href="livetvguide.html">${TabGuide}</a>
|
||||
|
@ -6,12 +6,11 @@
|
||||
<body>
|
||||
<div id="movieGenresPage" data-role="page" class="page libraryPage" data-theme="b" data-view="movies">
|
||||
|
||||
<div class="libraryViewNav">
|
||||
<div class="libraryViewNav scopedLibraryViewNav">
|
||||
<a href="movieslatest.html">${TabLatest}</a>
|
||||
<a href="moviesrecommended.html">${TabSuggested}</a>
|
||||
<a href="movies.html">${TabMovies}</a>
|
||||
<a href="movietrailers.html">${TabTrailers}</a>
|
||||
<a href="moviegenres.html" class="ui-btn-active">${TabGenres}</a>
|
||||
<a href="#" class="ui-btn-active">${TabGenres}</a>
|
||||
<a href="moviepeople.html">${TabPeople}</a>
|
||||
<a href="moviestudios.html">${TabStudios}</a>
|
||||
</div>
|
||||
|
@ -6,13 +6,12 @@
|
||||
<body>
|
||||
<div id="moviePeoplePage" data-role="page" class="page libraryPage" data-theme="b" data-view="movies">
|
||||
|
||||
<div class="libraryViewNav">
|
||||
<div class="libraryViewNav scopedLibraryViewNav">
|
||||
<a href="movieslatest.html">${TabLatest}</a>
|
||||
<a href="moviesrecommended.html">${TabSuggested}</a>
|
||||
<a href="movies.html">${TabMovies}</a>
|
||||
<a href="movietrailers.html">${TabTrailers}</a>
|
||||
<a href="moviegenres.html">${TabGenres}</a>
|
||||
<a href="moviepeople.html" class="ui-btn-active">${TabPeople}</a>
|
||||
<a href="#" class="ui-btn-active">${TabPeople}</a>
|
||||
<a href="moviestudios.html">${TabStudios}</a>
|
||||
</div>
|
||||
|
||||
|
@ -6,11 +6,10 @@
|
||||
<body>
|
||||
<div id="moviesPage" data-role="page" class="page libraryPage" data-theme="b" data-view="movies">
|
||||
|
||||
<div class="libraryViewNav">
|
||||
<div class="libraryViewNav scopedLibraryViewNav">
|
||||
<a href="movieslatest.html">${TabLatest}</a>
|
||||
<a href="moviesrecommended.html">${TabSuggested}</a>
|
||||
<a href="movies.html" class="ui-btn-active">${TabMovies}</a>
|
||||
<a href="movietrailers.html">${TabTrailers}</a>
|
||||
<a href="#" class="ui-btn-active">${TabMovies}</a>
|
||||
<a href="moviegenres.html">${TabGenres}</a>
|
||||
<a href="moviepeople.html">${TabPeople}</a>
|
||||
<a href="moviestudios.html">${TabStudios}</a>
|
||||
|
@ -6,11 +6,10 @@
|
||||
<body>
|
||||
<div id="moviesLatestPage" data-role="page" class="page libraryPage" data-theme="b" data-view="movies">
|
||||
|
||||
<div class="libraryViewNav">
|
||||
<div class="libraryViewNav scopedLibraryViewNav">
|
||||
<a href="#" class="ui-btn-active">${TabLatest}</a>
|
||||
<a href="moviesrecommended.html">${TabSuggested}</a>
|
||||
<a href="movies.html">${TabMovies}</a>
|
||||
<a href="movietrailers.html">${TabTrailers}</a>
|
||||
<a href="moviegenres.html">${TabGenres}</a>
|
||||
<a href="moviepeople.html">${TabPeople}</a>
|
||||
<a href="moviestudios.html">${TabStudios}</a>
|
||||
@ -25,13 +24,6 @@
|
||||
|
||||
<div id="recentlyAddedItems">
|
||||
</div>
|
||||
|
||||
<div id="trailerSection" style="display: none;">
|
||||
<h1 class="listHeader">${HeaderLatestTrailers}</h1>
|
||||
|
||||
<div id="trailerItems">
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
@ -6,11 +6,10 @@
|
||||
<body>
|
||||
<div id="moviesRecommendedPage" data-role="page" class="page libraryPage" data-theme="b" data-view="movies">
|
||||
|
||||
<div class="libraryViewNav">
|
||||
<div class="libraryViewNav scopedLibraryViewNav">
|
||||
<a href="movieslatest.html">${TabLatest}</a>
|
||||
<a href="#" class="ui-btn-active">${TabSuggested}</a>
|
||||
<a href="movies.html">${TabMovies}</a>
|
||||
<a href="movietrailers.html">${TabTrailers}</a>
|
||||
<a href="moviegenres.html">${TabGenres}</a>
|
||||
<a href="moviepeople.html">${TabPeople}</a>
|
||||
<a href="moviestudios.html">${TabStudios}</a>
|
||||
|
@ -6,14 +6,13 @@
|
||||
<body>
|
||||
<div id="movieStudiosPage" data-role="page" class="page libraryPage" data-theme="b" data-view="movies">
|
||||
|
||||
<div class="libraryViewNav">
|
||||
<div class="libraryViewNav scopedLibraryViewNav">
|
||||
<a href="movieslatest.html">${TabLatest}</a>
|
||||
<a href="moviesrecommended.html">${TabSuggested}</a>
|
||||
<a href="movies.html">${TabMovies}</a>
|
||||
<a href="movietrailers.html">${TabTrailers}</a>
|
||||
<a href="moviegenres.html">${TabGenres}</a>
|
||||
<a href="moviepeople.html">${TabPeople}</a>
|
||||
<a href="moviestudios.html" class="ui-btn-active">${TabStudios}</a>
|
||||
<a href="#" class="ui-btn-active">${TabStudios}</a>
|
||||
</div>
|
||||
|
||||
<div data-role="content">
|
||||
|
@ -4,17 +4,7 @@
|
||||
<title>${TitleMediaBrowser}</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="movieTrailersPage" data-role="page" class="page libraryPage" data-theme="b" data-view="movies">
|
||||
|
||||
<div class="libraryViewNav">
|
||||
<a href="movieslatest.html">${TabLatest}</a>
|
||||
<a href="moviesrecommended.html">${TabSuggested}</a>
|
||||
<a href="movies.html">${TabMovies}</a>
|
||||
<a href="movietrailers.html" class="ui-btn-active">${TabTrailers}</a>
|
||||
<a href="moviegenres.html">${TabGenres}</a>
|
||||
<a href="moviepeople.html">${TabPeople}</a>
|
||||
<a href="moviestudios.html">${TabStudios}</a>
|
||||
</div>
|
||||
<div id="movieTrailersPage" data-role="page" class="page libraryPage trailerPage" data-theme="b" data-view="movies">
|
||||
|
||||
<div class="alphabetPicker">
|
||||
</div>
|
||||
|
@ -5,11 +5,11 @@
|
||||
</head>
|
||||
<body>
|
||||
<div id="musicAlbumArtistsPage" data-role="page" class="page libraryPage" data-theme="b" data-view="music">
|
||||
<div class="libraryViewNav">
|
||||
<div class="libraryViewNav scopedLibraryViewNav">
|
||||
<a href="musicrecommended.html">${TabSuggested}</a>
|
||||
<a href="songs.html">${TabSongs}</a>
|
||||
<a href="musicalbums.html">${TabAlbums}</a>
|
||||
<a href="musicalbumartists.html" class="ui-btn-active">${TabAlbumArtists}</a>
|
||||
<a href="#" class="ui-btn-active">${TabAlbumArtists}</a>
|
||||
<a href="musicartists.html">${TabArtists}</a>
|
||||
<a href="musicgenres.html">${TabGenres}</a>
|
||||
<a href="musicvideos.html">${TabMusicVideos}</a>
|
||||
|
@ -5,10 +5,10 @@
|
||||
</head>
|
||||
<body>
|
||||
<div id="musicAlbumsPage" data-role="page" class="page libraryPage" data-theme="b" data-view="music">
|
||||
<div class="libraryViewNav">
|
||||
<div class="libraryViewNav scopedLibraryViewNav">
|
||||
<a href="musicrecommended.html">${TabSuggested}</a>
|
||||
<a href="songs.html">${TabSongs}</a>
|
||||
<a href="musicalbums.html" class="ui-btn-active">${TabAlbums}</a>
|
||||
<a href="#" class="ui-btn-active">${TabAlbums}</a>
|
||||
<a href="musicalbumartists.html">${TabAlbumArtists}</a>
|
||||
<a href="musicartists.html">${TabArtists}</a>
|
||||
<a href="musicgenres.html">${TabGenres}</a>
|
||||
|
@ -5,12 +5,12 @@
|
||||
</head>
|
||||
<body>
|
||||
<div id="musicArtistsPage" data-role="page" class="page libraryPage" data-theme="b" data-view="music">
|
||||
<div class="libraryViewNav">
|
||||
<div class="libraryViewNav scopedLibraryViewNav">
|
||||
<a href="musicrecommended.html">${TabSuggested}</a>
|
||||
<a href="songs.html">${TabSongs}</a>
|
||||
<a href="musicalbums.html">${TabAlbums}</a>
|
||||
<a href="musicalbumartists.html">${TabAlbumArtists}</a>
|
||||
<a href="musicartists.html" class="ui-btn-active">${TabArtists}</a>
|
||||
<a href="#" class="ui-btn-active">${TabArtists}</a>
|
||||
<a href="musicgenres.html">${TabGenres}</a>
|
||||
<a href="musicvideos.html">${TabMusicVideos}</a>
|
||||
</div>
|
||||
|
@ -5,13 +5,13 @@
|
||||
</head>
|
||||
<body>
|
||||
<div id="musicGenresPage" data-role="page" class="page libraryPage" data-theme="b" data-view="music">
|
||||
<div class="libraryViewNav">
|
||||
<div class="libraryViewNav scopedLibraryViewNav">
|
||||
<a href="musicrecommended.html">${TabSuggested}</a>
|
||||
<a href="songs.html">${TabSongs}</a>
|
||||
<a href="musicalbums.html">${TabAlbums}</a>
|
||||
<a href="musicalbumartists.html">${TabAlbumArtists}</a>
|
||||
<a href="musicartists.html">${TabArtists}</a>
|
||||
<a href="musicgenres.html" class="ui-btn-active">${TabGenres}</a>
|
||||
<a href="#" class="ui-btn-active">${TabGenres}</a>
|
||||
<a href="musicvideos.html">${TabMusicVideos}</a>
|
||||
</div>
|
||||
<div data-role="content">
|
||||
|
@ -5,8 +5,8 @@
|
||||
</head>
|
||||
<body>
|
||||
<div id="musicRecommendedPage" data-role="page" class="page libraryPage" data-theme="b" data-view="music">
|
||||
<div class="libraryViewNav">
|
||||
<a href="musicrecommended.html" class="ui-btn-active">${TabSuggested}</a>
|
||||
<div class="libraryViewNav scopedLibraryViewNav">
|
||||
<a href="#" class="ui-btn-active">${TabSuggested}</a>
|
||||
<a href="songs.html">${TabSongs}</a>
|
||||
<a href="musicalbums.html">${TabAlbums}</a>
|
||||
<a href="musicalbumartists.html">${TabAlbumArtists}</a>
|
||||
|
@ -6,14 +6,14 @@
|
||||
<body>
|
||||
<div id="musicVideosPage" data-role="page" class="page libraryPage" data-theme="b" data-view="music">
|
||||
|
||||
<div class="libraryViewNav">
|
||||
<div class="libraryViewNav scopedLibraryViewNav">
|
||||
<a href="musicrecommended.html">${TabSuggested}</a>
|
||||
<a href="songs.html">${TabSongs}</a>
|
||||
<a href="musicalbums.html">${TabAlbums}</a>
|
||||
<a href="musicalbumartists.html">${TabAlbumArtists}</a>
|
||||
<a href="musicartists.html">${TabArtists}</a>
|
||||
<a href="musicgenres.html">${TabGenres}</a>
|
||||
<a href="musicvideos.html" class="ui-btn-active">${TabMusicVideos}</a>
|
||||
<a href="#" class="ui-btn-active">${TabMusicVideos}</a>
|
||||
</div>
|
||||
|
||||
<div class="alphabetPicker">
|
||||
|
@ -13,6 +13,11 @@
|
||||
IsVirtualUnaired: false
|
||||
};
|
||||
|
||||
function getSavedQueryKey() {
|
||||
|
||||
return 'episodes' + (query.ParentId || '');
|
||||
}
|
||||
|
||||
function reloadItems(page) {
|
||||
|
||||
Dashboard.showLoadingMsg();
|
||||
@ -60,9 +65,7 @@
|
||||
reloadItems(page);
|
||||
});
|
||||
|
||||
if (getParameterByName('savequery') != 'false') {
|
||||
LibraryBrowser.saveQueryValues('episodes', query);
|
||||
}
|
||||
LibraryBrowser.saveQueryValues(getSavedQueryKey(), query);
|
||||
|
||||
Dashboard.hideLoadingMsg();
|
||||
});
|
||||
@ -269,6 +272,8 @@
|
||||
|
||||
}).on('pagebeforeshow', "#episodesPage", function () {
|
||||
|
||||
query.ParentId = LibraryMenu.getTopParentId();
|
||||
|
||||
var limit = LibraryBrowser.getDefaultPageSize();
|
||||
|
||||
// If the default page size has changed, the start index will have to be reset
|
||||
@ -277,7 +282,7 @@
|
||||
query.StartIndex = 0;
|
||||
}
|
||||
|
||||
LibraryBrowser.loadSavedQueryValues('episodes', query);
|
||||
LibraryBrowser.loadSavedQueryValues(getSavedQueryKey(), query);
|
||||
|
||||
var filters = getParameterByName('filters');
|
||||
if (filters) {
|
||||
|
@ -251,6 +251,20 @@ function getParameterByName(name, url) {
|
||||
return decodeURIComponent(results[1].replace(/\+/g, " "));
|
||||
}
|
||||
|
||||
function replaceQueryString(url, param, value) {
|
||||
var re = new RegExp("([?|&])" + param + "=.*?(&|$)", "i");
|
||||
if (url.match(re))
|
||||
return url.replace(re, '$1' + param + "=" + value + '$2');
|
||||
else {
|
||||
|
||||
if (url.indexOf('?') == -1) {
|
||||
return url + '?' + param + "=" + value;
|
||||
}
|
||||
|
||||
return url + '&' + param + "=" + value;
|
||||
}
|
||||
}
|
||||
|
||||
function parseISO8601Date(s, options) {
|
||||
|
||||
options = options || {};
|
||||
|
@ -10,6 +10,11 @@
|
||||
StartIndex: 0
|
||||
};
|
||||
|
||||
function getSavedQueryKey() {
|
||||
|
||||
return 'gamegenres' + (query.ParentId || '');
|
||||
}
|
||||
|
||||
function reloadItems(page) {
|
||||
|
||||
Dashboard.showLoadingMsg();
|
||||
@ -54,7 +59,7 @@
|
||||
reloadItems(page);
|
||||
});
|
||||
|
||||
LibraryBrowser.saveQueryValues('gamegenres', query);
|
||||
LibraryBrowser.saveQueryValues(getSavedQueryKey(), query);
|
||||
|
||||
Dashboard.hideLoadingMsg();
|
||||
});
|
||||
@ -87,6 +92,8 @@
|
||||
|
||||
}).on('pagebeforeshow', "#gameGenresPage", function () {
|
||||
|
||||
query.ParentId = LibraryMenu.getTopParentId();
|
||||
|
||||
var limit = LibraryBrowser.getDefaultPageSize();
|
||||
|
||||
// If the default page size has changed, the start index will have to be reset
|
||||
@ -95,7 +102,7 @@
|
||||
query.StartIndex = 0;
|
||||
}
|
||||
|
||||
LibraryBrowser.loadSavedQueryValues('gamegenres', query);
|
||||
LibraryBrowser.loadSavedQueryValues(getSavedQueryKey(), query);
|
||||
|
||||
reloadItems(this);
|
||||
|
||||
|
@ -12,6 +12,11 @@
|
||||
StartIndex: 0
|
||||
};
|
||||
|
||||
function getSavedQueryKey() {
|
||||
|
||||
return 'games' + (query.ParentId || '');
|
||||
}
|
||||
|
||||
function reloadItems(page) {
|
||||
|
||||
Dashboard.showLoadingMsg();
|
||||
@ -56,7 +61,7 @@
|
||||
reloadItems(page);
|
||||
});
|
||||
|
||||
LibraryBrowser.saveQueryValues('games', query);
|
||||
LibraryBrowser.saveQueryValues(getSavedQueryKey(), query);
|
||||
|
||||
Dashboard.hideLoadingMsg();
|
||||
});
|
||||
@ -190,6 +195,8 @@
|
||||
|
||||
}).on('pagebeforeshow', "#gamesPage", function () {
|
||||
|
||||
query.ParentId = LibraryMenu.getTopParentId();
|
||||
|
||||
var limit = LibraryBrowser.getDefaultPageSize();
|
||||
|
||||
// If the default page size has changed, the start index will have to be reset
|
||||
@ -198,7 +205,7 @@
|
||||
query.StartIndex = 0;
|
||||
}
|
||||
|
||||
LibraryBrowser.loadSavedQueryValues('games', query);
|
||||
LibraryBrowser.loadSavedQueryValues(getSavedQueryKey(), query);
|
||||
|
||||
reloadItems(this);
|
||||
|
||||
|
@ -2,6 +2,8 @@
|
||||
|
||||
$(document).on('pagebeforeshow', "#gamesRecommendedPage", function () {
|
||||
|
||||
var parentId = LibraryMenu.getTopParentId();
|
||||
|
||||
var page = this;
|
||||
|
||||
var options = {
|
||||
@ -11,7 +13,8 @@
|
||||
MediaTypes: "Game",
|
||||
Limit: 10,
|
||||
Recursive: true,
|
||||
Fields: "ItemCounts,AudioInfo,PrimaryImageAspectRatio"
|
||||
Fields: "ItemCounts,AudioInfo,PrimaryImageAspectRatio",
|
||||
ParentId: parentId
|
||||
};
|
||||
|
||||
ApiClient.getItems(Dashboard.getCurrentUserId(), options).done(function (result) {
|
||||
@ -32,7 +35,8 @@
|
||||
Limit: 10,
|
||||
Recursive: true,
|
||||
Filters: "IsPlayed",
|
||||
Fields: "ItemCounts,AudioInfo,PrimaryImageAspectRatio"
|
||||
Fields: "ItemCounts,AudioInfo,PrimaryImageAspectRatio",
|
||||
ParentId: parentId
|
||||
};
|
||||
|
||||
ApiClient.getItems(Dashboard.getCurrentUserId(), options).done(function (result) {
|
||||
|
@ -11,6 +11,11 @@
|
||||
StartIndex: 0
|
||||
};
|
||||
|
||||
function getSavedQueryKey() {
|
||||
|
||||
return 'gamestudios' + (query.ParentId || '');
|
||||
}
|
||||
|
||||
function reloadItems(page) {
|
||||
|
||||
Dashboard.showLoadingMsg();
|
||||
@ -55,7 +60,7 @@
|
||||
reloadItems(page);
|
||||
});
|
||||
|
||||
LibraryBrowser.saveQueryValues('gamestudios', query);
|
||||
LibraryBrowser.saveQueryValues(getSavedQueryKey(), query);
|
||||
|
||||
Dashboard.hideLoadingMsg();
|
||||
});
|
||||
@ -88,6 +93,8 @@
|
||||
|
||||
}).on('pagebeforeshow', "#gameStudiosPage", function () {
|
||||
|
||||
query.ParentId = LibraryMenu.getTopParentId();
|
||||
|
||||
var limit = LibraryBrowser.getDefaultPageSize();
|
||||
|
||||
// If the default page size has changed, the start index will have to be reset
|
||||
@ -96,7 +103,7 @@
|
||||
query.StartIndex = 0;
|
||||
}
|
||||
|
||||
LibraryBrowser.loadSavedQueryValues('gamestudios', query);
|
||||
LibraryBrowser.loadSavedQueryValues(getSavedQueryKey(), query);
|
||||
|
||||
reloadItems(this);
|
||||
|
||||
|
@ -11,6 +11,11 @@
|
||||
StartIndex: 0
|
||||
};
|
||||
|
||||
function getSavedQueryKey() {
|
||||
|
||||
return 'gamesystems' + (query.ParentId || '');
|
||||
}
|
||||
|
||||
function reloadItems(page) {
|
||||
|
||||
Dashboard.showLoadingMsg();
|
||||
@ -52,7 +57,7 @@
|
||||
reloadItems(page);
|
||||
});
|
||||
|
||||
LibraryBrowser.saveQueryValues('gamesystems', query);
|
||||
LibraryBrowser.saveQueryValues(getSavedQueryKey(), query);
|
||||
|
||||
Dashboard.hideLoadingMsg();
|
||||
});
|
||||
@ -65,6 +70,8 @@
|
||||
|
||||
$(document).on('pagebeforeshow', "#gamesystemsPage", function () {
|
||||
|
||||
query.ParentId = LibraryMenu.getTopParentId();
|
||||
|
||||
var limit = LibraryBrowser.getDefaultPageSize();
|
||||
|
||||
// If the default page size has changed, the start index will have to be reset
|
||||
@ -73,7 +80,7 @@
|
||||
query.StartIndex = 0;
|
||||
}
|
||||
|
||||
LibraryBrowser.loadSavedQueryValues('gamesystems', query);
|
||||
LibraryBrowser.loadSavedQueryValues(getSavedQueryKey(), query);
|
||||
|
||||
reloadItems(this);
|
||||
|
||||
|
@ -1,225 +1,71 @@
|
||||
(function ($, document, apiClient) {
|
||||
|
||||
function getViewHtml(view) {
|
||||
|
||||
var html = '';
|
||||
|
||||
html += '<a id="' + view.id + '" class="posterItem backdropPosterItem" href="' + view.url + '">';
|
||||
|
||||
html += '<div class="posterItemImage" style="padding:1px;"></div><div class="posterItemText posterItemTextCentered">' + view.name + '</div>';
|
||||
|
||||
html += '</a>';
|
||||
|
||||
return html;
|
||||
}
|
||||
|
||||
function appendViewImages(elem, urls) {
|
||||
|
||||
var html = '';
|
||||
|
||||
for (var i = 0, length = urls.length; i < length; i++) {
|
||||
|
||||
var url = urls[i];
|
||||
|
||||
html += '<div class="viewCollageImage" style="background-image: url(\'' + url + '\');"></div>';
|
||||
|
||||
}
|
||||
|
||||
|
||||
elem.html(html);
|
||||
}
|
||||
|
||||
function renderMovieViewImages(page, userId) {
|
||||
|
||||
apiClient.getItems(userId, {
|
||||
|
||||
SortBy: "random",
|
||||
IncludeItemTypes: "Movie,Trailer",
|
||||
Limit: 6,
|
||||
ImageTypes: "Primary",
|
||||
Recursive: true
|
||||
|
||||
}).done(function (result) {
|
||||
|
||||
var urls = [];
|
||||
|
||||
for (var i = 0, length = result.Items.length; i < length; i++) {
|
||||
|
||||
urls.push(LibraryBrowser.getImageUrl(result.Items[i], 'Primary', 0, {
|
||||
width: 160,
|
||||
EnableImageEnhancers: false
|
||||
}));
|
||||
|
||||
}
|
||||
|
||||
appendViewImages($('#moviesView .posterItemImage', page), urls);
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
function renderMusicViewImages(page, userId) {
|
||||
|
||||
apiClient.getItems(userId, {
|
||||
|
||||
SortBy: "random",
|
||||
IncludeItemTypes: "MusicAlbum",
|
||||
Limit: 6,
|
||||
ImageTypes: "Primary",
|
||||
Recursive: true
|
||||
|
||||
}).done(function (result) {
|
||||
|
||||
var urls = [];
|
||||
|
||||
for (var i = 0, length = result.Items.length; i < length; i++) {
|
||||
|
||||
urls.push(LibraryBrowser.getImageUrl(result.Items[i], 'Primary', 0, {
|
||||
width: 160,
|
||||
EnableImageEnhancers: false
|
||||
}));
|
||||
|
||||
}
|
||||
|
||||
appendViewImages($('#musicView .posterItemImage', page), urls);
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
function renderGamesViewImages(page, userId) {
|
||||
|
||||
apiClient.getItems(userId, {
|
||||
|
||||
SortBy: "random",
|
||||
MediaTypes: "Game",
|
||||
Limit: 6,
|
||||
ImageTypes: "Primary",
|
||||
Recursive: true
|
||||
|
||||
}).done(function (result) {
|
||||
|
||||
var urls = [];
|
||||
|
||||
for (var i = 0, length = result.Items.length; i < length; i++) {
|
||||
|
||||
urls.push(LibraryBrowser.getImageUrl(result.Items[i], 'Primary', 0, {
|
||||
width: 160,
|
||||
EnableImageEnhancers: false
|
||||
}));
|
||||
|
||||
}
|
||||
|
||||
appendViewImages($('#gamesView .posterItemImage', page), urls);
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
function renderTvViewImages(page, userId) {
|
||||
|
||||
apiClient.getItems(userId, {
|
||||
|
||||
SortBy: "random",
|
||||
IncludeItemTypes: "Series",
|
||||
Limit: 6,
|
||||
ImageTypes: "Primary",
|
||||
Recursive: true
|
||||
|
||||
}).done(function (result) {
|
||||
|
||||
var urls = [];
|
||||
|
||||
for (var i = 0, length = result.Items.length; i < length; i++) {
|
||||
|
||||
urls.push(LibraryBrowser.getImageUrl(result.Items[i], 'Primary', 0, {
|
||||
width: 160,
|
||||
EnableImageEnhancers: false
|
||||
}));
|
||||
|
||||
}
|
||||
|
||||
appendViewImages($('#tvView .posterItemImage', page), urls);
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
function renderViews(page, userId) {
|
||||
|
||||
apiClient.getItemCounts(userId).done(function (counts) {
|
||||
|
||||
var views = [];
|
||||
|
||||
if (counts.MovieCount || counts.TrailerCount) {
|
||||
views.push({ id: "moviesView", name: "Movies", url: "movieslatest.html", img: "css/images/items/list/chapter.png", background: "#0094FF" });
|
||||
}
|
||||
|
||||
if (counts.EpisodeCount || counts.SeriesCount) {
|
||||
views.push({ id: "tvView", name: "TV Shows", url: "tvrecommended.html", img: "css/images/items/list/collection.png", background: "#FF870F" });
|
||||
}
|
||||
|
||||
if (counts.SongCount || counts.MusicVideoCount) {
|
||||
views.push({ id: "musicView", name: "Music", url: "musicrecommended.html", img: "css/images/items/list/audiocollection.png", background: "#6FBD45" });
|
||||
}
|
||||
|
||||
if (counts.GameCount) {
|
||||
views.push({ id: "gamesView", name: "Games", url: "gamesrecommended.html", img: "css/images/items/list/gamecollection.png", background: "#E12026" });
|
||||
}
|
||||
|
||||
var html = '';
|
||||
|
||||
for (var i = 0, length = views.length; i < length; i++) {
|
||||
|
||||
html += getViewHtml(views[i]);
|
||||
}
|
||||
|
||||
var elem = $('#views', page).html(html).trigger('create');
|
||||
|
||||
if (counts.MovieCount || counts.TrailerCount) {
|
||||
renderMovieViewImages(elem, userId);
|
||||
}
|
||||
if (counts.EpisodeCount || counts.SeriesCount) {
|
||||
renderTvViewImages(elem, userId);
|
||||
}
|
||||
if (counts.SongCount || counts.MusicVideoCount) {
|
||||
renderMusicViewImages(elem, userId);
|
||||
}
|
||||
if (counts.GameCount) {
|
||||
renderGamesViewImages(elem, userId);
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
$(document).on('pagebeforeshow', "#indexPage", function () {
|
||||
|
||||
var parentId = LibraryMenu.getTopParentId();
|
||||
|
||||
var screenWidth = $(window).width();
|
||||
|
||||
var page = this;
|
||||
|
||||
var userId = Dashboard.getCurrentUserId();
|
||||
|
||||
if (!userId) {
|
||||
return;
|
||||
}
|
||||
|
||||
renderViews(page, userId);
|
||||
|
||||
var options = {
|
||||
|
||||
sortBy: "SortName"
|
||||
SortBy: "DatePlayed",
|
||||
SortOrder: "Descending",
|
||||
MediaTypes: "Video",
|
||||
Filters: "IsResumable",
|
||||
Limit: screenWidth >= 1920 ? 4 : (screenWidth >= 1440 ? 4 : 3),
|
||||
Recursive: true,
|
||||
Fields: "PrimaryImageAspectRatio",
|
||||
CollapseBoxSetItems: false,
|
||||
ExcludeLocationTypes: "Virtual",
|
||||
ParentId: parentId
|
||||
};
|
||||
|
||||
apiClient.getItems(userId, options).done(function (result) {
|
||||
ApiClient.getItems(Dashboard.getCurrentUserId(), options).done(function (result) {
|
||||
|
||||
$('#divCollections', page).html(LibraryBrowser.getPosterViewHtml({
|
||||
if (result.Items.length) {
|
||||
$('#resumableSection', page).show();
|
||||
} else {
|
||||
$('#resumableSection', page).hide();
|
||||
}
|
||||
|
||||
$('#resumableItems', page).html(LibraryBrowser.getPosterViewHtml({
|
||||
items: result.Items,
|
||||
showTitle: true,
|
||||
shape: "backdrop",
|
||||
centerText: true
|
||||
}));
|
||||
preferBackdrop: true,
|
||||
shape: 'backdrop',
|
||||
overlayText: true,
|
||||
showTitle: true
|
||||
|
||||
})).createPosterItemMenus();
|
||||
|
||||
});
|
||||
|
||||
options = {
|
||||
|
||||
SortBy: "DateCreated",
|
||||
SortOrder: "Descending",
|
||||
Limit: screenWidth >= 1920 ? 24 : (screenWidth >= 1440 ? 24 : (screenWidth >= 800 ? 18 : 12)),
|
||||
Recursive: true,
|
||||
Fields: "PrimaryImageAspectRatio",
|
||||
Filters: "IsUnplayed,IsNotFolder",
|
||||
CollapseBoxSetItems: false,
|
||||
ExcludeLocationTypes: "Virtual,Remote",
|
||||
ParentId: parentId
|
||||
};
|
||||
|
||||
ApiClient.getItems(Dashboard.getCurrentUserId(), options).done(function (result) {
|
||||
|
||||
$('#recentlyAddedItems', page).html(LibraryBrowser.getPosterViewHtml({
|
||||
|
||||
items: result.Items,
|
||||
preferThumb: true,
|
||||
shape: 'backdrop',
|
||||
showTitle: true,
|
||||
centerText: true
|
||||
|
||||
})).createPosterItemMenus();
|
||||
});
|
||||
});
|
||||
|
||||
})(jQuery, document, ApiClient);
|
@ -192,10 +192,6 @@
|
||||
$('#gameSystemTabs', page).show();
|
||||
}
|
||||
|
||||
if (item.Type == "Trailer") {
|
||||
$('#trailerTabs', page).show();
|
||||
}
|
||||
|
||||
if (item.Type == "Episode" || item.Type == "Season" || item.Type == "Series") {
|
||||
$('#tvShowsTabs', page).show();
|
||||
}
|
||||
|
@ -74,7 +74,9 @@
|
||||
Dashboard.hideLoadingMsg();
|
||||
});
|
||||
|
||||
var promise = query.ParentId ? ApiClient.getItem(userId, query.ParentId) : ApiClient.getRootFolder(userId);
|
||||
var promise = query.ParentId ?
|
||||
ApiClient.getItem(userId, query.ParentId) :
|
||||
ApiClient.getRootFolder(userId);
|
||||
|
||||
promise.done(function (item) {
|
||||
|
||||
|
@ -742,7 +742,7 @@
|
||||
html += "</div>";
|
||||
}
|
||||
|
||||
var overlayText = forceName || options.overlayText;
|
||||
var overlayText = options.overlayText || (forceName && !options.showTitle);
|
||||
|
||||
if (overlayText) {
|
||||
html += '<div class="posterItemTextOverlay">';
|
||||
|
@ -2,17 +2,23 @@
|
||||
|
||||
var itemCountsPromise;
|
||||
var liveTvInfoPromise;
|
||||
var itemsPromise;
|
||||
|
||||
function ensurePromises() {
|
||||
itemsPromise = itemsPromise || ApiClient.getItems(Dashboard.getCurrentUserId(), {
|
||||
|
||||
SortBy: "SortName"
|
||||
|
||||
});
|
||||
itemCountsPromise = itemCountsPromise || ApiClient.getItemCounts(Dashboard.getCurrentUserId());
|
||||
liveTvInfoPromise = liveTvInfoPromise || ApiClient.getLiveTvInfo();
|
||||
}
|
||||
|
||||
function renderHeader(page, user) {
|
||||
function renderHeader(user) {
|
||||
|
||||
var html = '<div class="viewMenuBar ui-bar-b">';
|
||||
|
||||
html += '<button type="button" data-icon="bars" data-iconpos="notext" data-inline="true" title="Menu" class="libraryMenuButton" onclick="LibraryMenu.showLibraryMenu($(this).parents(\'.page\'));">Menu</button>';
|
||||
html += '<button type="button" data-icon="bars" data-iconpos="notext" data-inline="true" title="Menu" class="libraryMenuButton" onclick="LibraryMenu.showLibraryMenu();">Menu</button>';
|
||||
|
||||
html += '<a class="desktopHomeLink" href="index.html"><img src="css/images/mblogoicon.png" /></a>';
|
||||
|
||||
@ -53,72 +59,90 @@
|
||||
|
||||
html += '</div>';
|
||||
|
||||
var $page = $(page);
|
||||
$(document.body).prepend(html);
|
||||
|
||||
$page.prepend(html);
|
||||
$('.viewMenuBar').trigger('create');
|
||||
|
||||
$('.viewMenuBar', page).trigger('create');
|
||||
|
||||
$page.trigger('headercreated');
|
||||
$(document).trigger('headercreated');
|
||||
}
|
||||
|
||||
function insertViews(page, user, counts, liveTvInfo) {
|
||||
function getItemHref(item) {
|
||||
|
||||
if (item.Type == 'ManualCollectionsFolder') {
|
||||
return 'collections.html?topParentId=' + item.Id;
|
||||
}
|
||||
|
||||
if (item.CollectionType == 'boxsets') {
|
||||
return 'moviecollections.html?topParentId=' + item.Id;
|
||||
}
|
||||
|
||||
if (item.CollectionType == 'trailers') {
|
||||
return 'movietrailers.html?topParentId=' + item.Id;
|
||||
}
|
||||
|
||||
if (item.Type == 'TrailerCollectionFolder') {
|
||||
return 'movietrailers.html?topParentId=' + item.Id;
|
||||
}
|
||||
|
||||
if (item.CollectionType == 'movies') {
|
||||
return 'movieslatest.html?topParentId=' + item.Id;
|
||||
}
|
||||
|
||||
if (item.CollectionType == 'tvshows') {
|
||||
return 'tvrecommended.html?topParentId=' + item.Id;
|
||||
}
|
||||
|
||||
if (item.CollectionType == 'music') {
|
||||
return 'musicrecommended.html?topParentId=' + item.Id;
|
||||
}
|
||||
|
||||
if (item.CollectionType == 'games') {
|
||||
return 'gamesrecommended.html?topParentId=' + item.Id;
|
||||
}
|
||||
|
||||
return 'itemlist.html?topParentId=' + item.Id + '&parentid=' + item.Id;
|
||||
}
|
||||
|
||||
function insertViews(user, counts, items, liveTvInfo) {
|
||||
|
||||
var html = '';
|
||||
|
||||
var selectedCssClass = ' selectedViewLink';
|
||||
var selectedHtml = "<span class='selectedViewIndicator'>▶</span>";
|
||||
html += items.map(function (i) {
|
||||
|
||||
var view = page.getAttribute('data-view') || getParameterByName('context');
|
||||
return '<a data-itemid="' + i.Id + '" class="lnkMediaFolder viewMenuLink viewMenuTextLink desktopViewMenuLink" href="' + getItemHref(i) + '"><span class="viewName">' + i.Name + '</span></a>';
|
||||
|
||||
if (counts.MovieCount) {
|
||||
}).join('');
|
||||
|
||||
html += '<a class="viewMenuLink viewMenuTextLink desktopViewMenuLink' + (view == 'movies' ? selectedCssClass : '') + '" href="movieslatest.html">' + (view == 'movies' ? selectedHtml : '') + '<span class="viewName">Movies</span></a>';
|
||||
}
|
||||
|
||||
if (counts.SeriesCount) {
|
||||
html += '<a class="viewMenuLink viewMenuTextLink desktopViewMenuLink' + (view == 'tv' ? selectedCssClass : '') + '" href="tvrecommended.html">' + (view == 'tv' ? selectedHtml : '') + '<span class="viewName">TV</span></a>';
|
||||
if (counts.ChannelCount) {
|
||||
html += '<a class="viewMenuLink viewMenuTextLink desktopViewMenuLink lnkMediaFolder" href="channels.html"><span class="viewName">Channels</span></a>';
|
||||
}
|
||||
|
||||
if (liveTvInfo.EnabledUsers.indexOf(user.Id) != -1) {
|
||||
html += '<a class="viewMenuLink viewMenuTextLink desktopViewMenuLink' + (view == 'livetv' ? selectedCssClass : '') + '" href="livetvsuggested.html">' + (view == 'livetv' ? selectedHtml : '') + '<span class="viewName">Live TV</span></a>';
|
||||
html += '<a class="viewMenuLink viewMenuTextLink desktopViewMenuLink lnkMediaFolder" data-itemid="livetv" href="livetvsuggested.html"><span class="viewName">Live TV</span></a>';
|
||||
}
|
||||
|
||||
if (counts.SongCount || counts.MusicVideoCount) {
|
||||
html += '<a class="viewMenuLink viewMenuTextLink desktopViewMenuLink' + (view == 'music' ? selectedCssClass : '') + '" href="musicrecommended.html">' + (view == 'music' ? selectedHtml : '') + '<span class="viewName">Music</span></a>';
|
||||
$('.viewMenuRemoteControlButton').before(html);
|
||||
}
|
||||
|
||||
if (counts.GameCount) {
|
||||
html += '<a class="viewMenuLink viewMenuTextLink desktopViewMenuLink' + (view == 'games' ? selectedCssClass : '') + '" href="gamesrecommended.html">' + (view == 'games' ? selectedHtml : '') + '<span class="viewName">Games</span></a>';
|
||||
}
|
||||
|
||||
if (counts.ChannelCount) {
|
||||
html += '<a class="viewMenuLink viewMenuTextLink desktopViewMenuLink' + (view == 'channels' ? selectedCssClass : '') + '" href="channels.html">' + (view == 'channels' ? selectedHtml : '') + '<span class="viewName">Channels</span></a>';
|
||||
}
|
||||
|
||||
//if (counts.BoxSetCount) {
|
||||
html += '<a class="viewMenuLink viewMenuTextLink desktopViewMenuLink' + (view == 'boxsets' ? selectedCssClass : '') + '" href="collections.html">' + (view == 'boxsets' ? selectedHtml : '') + '<span class="viewName">Collections</span></a>';
|
||||
//}
|
||||
|
||||
$('.viewMenuRemoteControlButton', page).before(html);
|
||||
}
|
||||
|
||||
function showLibraryMenu(page) {
|
||||
function showLibraryMenu() {
|
||||
|
||||
ensurePromises();
|
||||
|
||||
$.when(itemCountsPromise, liveTvInfoPromise).done(function (response1, response2) {
|
||||
$.when(itemCountsPromise, itemsPromise, liveTvInfoPromise).done(function (response1, response2, response3) {
|
||||
|
||||
var counts = response1[0];
|
||||
var liveTvInfo = response2[0];
|
||||
var items = response2[0].Items;
|
||||
var liveTvInfo = response3[0];
|
||||
|
||||
var panel = getLibraryMenu(page, counts, liveTvInfo);
|
||||
var page = $.mobile.activePage;
|
||||
|
||||
var panel = getLibraryMenu(page, counts, items, liveTvInfo);
|
||||
|
||||
$(panel).panel('toggle');
|
||||
});
|
||||
}
|
||||
|
||||
function getLibraryMenu(page, counts, liveTvInfo) {
|
||||
function getLibraryMenu(page, counts, items, liveTvInfo) {
|
||||
|
||||
var panel = $('#libraryPanel', page);
|
||||
|
||||
@ -132,34 +156,20 @@
|
||||
|
||||
html += '<ul data-role="listview">';
|
||||
|
||||
if (counts.MovieCount) {
|
||||
html += '<li><a class="libraryPanelLink" href="movieslatest.html">Movies</a></li>';
|
||||
}
|
||||
html += items.map(function (i) {
|
||||
|
||||
if (counts.SeriesCount) {
|
||||
html += '<li><a class="libraryPanelLink" href="tvrecommended.html">TV</a></li>';
|
||||
return '<li><a data-itemid="' + i.Id + '" class="libraryPanelLink lnkMediaFolder" href="' + getItemHref(i) + '">' + i.Name + '</a></li>';
|
||||
|
||||
}).join('');
|
||||
|
||||
if (counts.ChannelCount) {
|
||||
html += '<li><a class="libraryPanelLink lnkMediaFolder" href="channels.html">Channels</a></li>';
|
||||
}
|
||||
|
||||
if (liveTvInfo.EnabledUsers.indexOf(Dashboard.getCurrentUserId()) != -1) {
|
||||
html += '<li><a class="libraryPanelLink" href="livetvsuggested.html">Live TV</a></li>';
|
||||
html += '<li><a class="libraryPanelLink lnkMediaFolder" data-itemid="livetv" href="livetvsuggested.html">Live TV</a></li>';
|
||||
}
|
||||
|
||||
if (counts.SongCount || counts.MusicVideoCount) {
|
||||
html += '<li><a class="libraryPanelLink" href="musicrecommended.html">Music</a></li>';
|
||||
}
|
||||
|
||||
if (counts.ChannelCount) {
|
||||
html += '<li><a class="libraryPanelLink" href="channels.html">Channels</a></li>';
|
||||
}
|
||||
|
||||
if (counts.GameCount) {
|
||||
html += '<li><a class="libraryPanelLink" href="gamesrecommended.html">Games</a></li>';
|
||||
}
|
||||
|
||||
//if (counts.BoxSetCount) {
|
||||
html += '<li><a class="libraryPanelLink" href="collections.html">Collections</a></li>';
|
||||
//}
|
||||
|
||||
html += '</ul>';
|
||||
html += '</div>';
|
||||
|
||||
@ -171,8 +181,15 @@
|
||||
return panel;
|
||||
}
|
||||
|
||||
function getTopParentId() {
|
||||
|
||||
return getParameterByName('topParentId') || sessionStorage.getItem('topParentId') || null;
|
||||
}
|
||||
|
||||
window.LibraryMenu = {
|
||||
showLibraryMenu: showLibraryMenu
|
||||
showLibraryMenu: showLibraryMenu,
|
||||
|
||||
getTopParentId: getTopParentId
|
||||
};
|
||||
|
||||
function updateCastIcon() {
|
||||
@ -189,6 +206,48 @@
|
||||
}
|
||||
}
|
||||
|
||||
function updateLibraryNavLinks(page) {
|
||||
|
||||
page = $(page);
|
||||
|
||||
var isLiveTvPage = page.hasClass('liveTvPage');
|
||||
|
||||
var id = isLiveTvPage || page.hasClass('noLibraryMenuSelectionPage') ?
|
||||
'' :
|
||||
getTopParentId() || '';
|
||||
|
||||
sessionStorage.setItem('topParentId', id);
|
||||
|
||||
$('.lnkMediaFolder').each(function () {
|
||||
|
||||
var itemId = this.getAttribute('data-itemid');
|
||||
|
||||
if (isLiveTvPage && itemId == 'livetv') {
|
||||
$(this).addClass('selectedMediaFolder');
|
||||
}
|
||||
else if (id && itemId == id) {
|
||||
$(this).addClass('selectedMediaFolder');
|
||||
}
|
||||
else {
|
||||
$(this).removeClass('selectedMediaFolder');
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
$('.scopedLibraryViewNav a', page).each(function () {
|
||||
|
||||
var src = this.href;
|
||||
|
||||
if (src.indexOf('#') != -1) {
|
||||
return;
|
||||
}
|
||||
|
||||
src = replaceQueryString(src, 'topParentId', id);
|
||||
|
||||
this.href = src;
|
||||
});
|
||||
}
|
||||
|
||||
$(document).on('pageinit', ".libraryPage", function () {
|
||||
|
||||
var page = this;
|
||||
@ -201,31 +260,42 @@
|
||||
|
||||
});
|
||||
|
||||
}).on('pagebeforeshow', ".libraryPage", function () {
|
||||
}).on('pagebeforeshow', ".page", function () {
|
||||
|
||||
var page = this;
|
||||
|
||||
if (!$('.viewMenuBar', page).length) {
|
||||
if ($(page).hasClass('libraryPage')) {
|
||||
|
||||
if (!$('.viewMenuBar').length) {
|
||||
|
||||
Dashboard.getCurrentUser().done(function (user) {
|
||||
|
||||
renderHeader(page, user);
|
||||
renderHeader(user);
|
||||
|
||||
ensurePromises();
|
||||
|
||||
$.when(itemCountsPromise, liveTvInfoPromise).done(function (response1, response2) {
|
||||
$.when(itemCountsPromise, itemsPromise, liveTvInfoPromise).done(function (response1, response2, response3) {
|
||||
|
||||
var counts = response1[0];
|
||||
var liveTvInfo = response2[0];
|
||||
var items = response2[0].Items;
|
||||
var liveTvInfo = response3[0];
|
||||
|
||||
insertViews(page, user, counts, liveTvInfo);
|
||||
insertViews(user, counts, items, liveTvInfo);
|
||||
|
||||
updateLibraryNavLinks(page);
|
||||
|
||||
});
|
||||
});
|
||||
} else {
|
||||
|
||||
$('.viewMenuBar').show();
|
||||
updateLibraryNavLinks(page);
|
||||
|
||||
}
|
||||
|
||||
updateCastIcon();
|
||||
} else {
|
||||
$('.viewMenuBar').hide();
|
||||
}
|
||||
|
||||
}).on('pageshow', ".libraryPage", function () {
|
||||
|
||||
@ -239,9 +309,10 @@
|
||||
// Scroll back up so in case vertical scroll was messed with
|
||||
$(document).scrollTop(0);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
$(function() {
|
||||
$(function () {
|
||||
|
||||
$(MediaController).on('playerchange', function () {
|
||||
updateCastIcon();
|
||||
@ -249,5 +320,4 @@
|
||||
|
||||
});
|
||||
|
||||
|
||||
})(window, document, jQuery);
|
@ -509,13 +509,11 @@
|
||||
});
|
||||
}
|
||||
|
||||
$(document).on('headercreated', ".libraryPage", function () {
|
||||
$(document).on('headercreated', function () {
|
||||
|
||||
var page = this;
|
||||
$('.btnCast').on('click', function () {
|
||||
|
||||
$('.btnCast', page).on('click', function () {
|
||||
|
||||
showPlayerSelection(page);
|
||||
showPlayerSelection($.mobile.activePage);
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -1118,14 +1118,6 @@
|
||||
}
|
||||
});
|
||||
|
||||
function replaceQueryString(url, param, value) {
|
||||
var re = new RegExp("([?|&])" + param + "=.*?(&|$)", "i");
|
||||
if (url.match(re))
|
||||
return url.replace(re, '$1' + param + "=" + value + '$2');
|
||||
else
|
||||
return url + '&' + param + "=" + value;
|
||||
}
|
||||
|
||||
function sendProgressUpdate(itemId, mediaSourceId) {
|
||||
|
||||
ApiClient.reportPlaybackProgress({
|
||||
|
@ -11,6 +11,11 @@
|
||||
StartIndex: 0
|
||||
};
|
||||
|
||||
function getSavedQueryKey() {
|
||||
|
||||
return 'moviegenres' + (query.ParentId || '');
|
||||
}
|
||||
|
||||
function reloadItems(page) {
|
||||
|
||||
Dashboard.showLoadingMsg();
|
||||
@ -55,7 +60,7 @@
|
||||
reloadItems(page);
|
||||
});
|
||||
|
||||
LibraryBrowser.saveQueryValues('moviegenres', query);
|
||||
LibraryBrowser.saveQueryValues(getSavedQueryKey(), query);
|
||||
|
||||
Dashboard.hideLoadingMsg();
|
||||
});
|
||||
@ -88,6 +93,8 @@
|
||||
|
||||
}).on('pagebeforeshow', "#movieGenresPage", function () {
|
||||
|
||||
query.ParentId = LibraryMenu.getTopParentId();
|
||||
|
||||
var limit = LibraryBrowser.getDefaultPageSize();
|
||||
|
||||
// If the default page size has changed, the start index will have to be reset
|
||||
@ -96,7 +103,7 @@
|
||||
query.StartIndex = 0;
|
||||
}
|
||||
|
||||
LibraryBrowser.loadSavedQueryValues('moviegenres', query);
|
||||
LibraryBrowser.loadSavedQueryValues(getSavedQueryKey(), query);
|
||||
|
||||
reloadItems(this);
|
||||
|
||||
|
@ -13,6 +13,11 @@
|
||||
Limit: 100
|
||||
};
|
||||
|
||||
function getSavedQueryKey() {
|
||||
|
||||
return 'moviepeople' + (query.ParentId || '');
|
||||
}
|
||||
|
||||
function reloadItems(page) {
|
||||
|
||||
Dashboard.showLoadingMsg();
|
||||
@ -52,7 +57,7 @@
|
||||
reloadItems(page);
|
||||
});
|
||||
|
||||
LibraryBrowser.saveQueryValues('moviepeople', query);
|
||||
LibraryBrowser.saveQueryValues(getSavedQueryKey(), query);
|
||||
|
||||
Dashboard.hideLoadingMsg();
|
||||
});
|
||||
@ -126,7 +131,17 @@
|
||||
|
||||
}).on('pagebeforeshow', "#moviePeoplePage", function () {
|
||||
|
||||
LibraryBrowser.loadSavedQueryValues('moviepeople', query);
|
||||
query.ParentId = LibraryMenu.getTopParentId();
|
||||
|
||||
var limit = LibraryBrowser.getDefaultPageSize();
|
||||
|
||||
// If the default page size has changed, the start index will have to be reset
|
||||
if (limit != query.Limit) {
|
||||
query.Limit = limit;
|
||||
query.StartIndex = 0;
|
||||
}
|
||||
|
||||
LibraryBrowser.loadSavedQueryValues(getSavedQueryKey(), query);
|
||||
|
||||
reloadItems(this);
|
||||
|
||||
|
@ -13,6 +13,11 @@
|
||||
StartIndex: 0
|
||||
};
|
||||
|
||||
function getSavedQueryKey() {
|
||||
|
||||
return 'movies' + (query.ParentId || '');
|
||||
}
|
||||
|
||||
function reloadItems(page) {
|
||||
|
||||
Dashboard.showLoadingMsg();
|
||||
@ -96,7 +101,7 @@
|
||||
reloadItems(page);
|
||||
});
|
||||
|
||||
LibraryBrowser.saveQueryValues('movies', query);
|
||||
LibraryBrowser.saveQueryValues(getSavedQueryKey(), query);
|
||||
|
||||
Dashboard.hideLoadingMsg();
|
||||
});
|
||||
@ -203,7 +208,7 @@
|
||||
reloadItems(page);
|
||||
}
|
||||
|
||||
LibraryBrowser.saveViewSetting('movies', view);
|
||||
LibraryBrowser.saveViewSetting(getSavedQueryKey(), view);
|
||||
});
|
||||
|
||||
$('.chkVideoTypeFilter', this).on('change', function () {
|
||||
@ -361,6 +366,8 @@
|
||||
|
||||
}).on('pagebeforeshow', "#moviesPage", function () {
|
||||
|
||||
query.ParentId = LibraryMenu.getTopParentId();
|
||||
|
||||
var page = this;
|
||||
var limit = LibraryBrowser.getDefaultPageSize();
|
||||
|
||||
@ -370,9 +377,11 @@
|
||||
query.StartIndex = 0;
|
||||
}
|
||||
|
||||
LibraryBrowser.loadSavedQueryValues('movies', query);
|
||||
var viewkey = getSavedQueryKey();
|
||||
|
||||
LibraryBrowser.getSavedViewSetting('movies').done(function (val) {
|
||||
LibraryBrowser.loadSavedQueryValues(viewkey, query);
|
||||
|
||||
LibraryBrowser.getSavedViewSetting(viewkey).done(function (val) {
|
||||
|
||||
if (val) {
|
||||
$('#selectView', page).val(val).selectmenu('refresh').trigger('change');
|
||||
|
@ -2,6 +2,8 @@
|
||||
|
||||
$(document).on('pagebeforeshow', "#moviesLatestPage", function () {
|
||||
|
||||
var parentId = LibraryMenu.getTopParentId();
|
||||
|
||||
var screenWidth = $(window).width();
|
||||
|
||||
var page = this;
|
||||
@ -11,11 +13,12 @@
|
||||
SortBy: "DateCreated",
|
||||
SortOrder: "Descending",
|
||||
IncludeItemTypes: "Movie",
|
||||
Limit: screenWidth >= 1920 ? 32 : (screenWidth >= 1440 ? 24 : (screenWidth >= 800 ? 18 : 12)),
|
||||
Limit: screenWidth >= 1920 ? 32 : (screenWidth >= 1440 ? 32 : (screenWidth >= 800 ? 24 : 18)),
|
||||
Recursive: true,
|
||||
Fields: "PrimaryImageAspectRatio",
|
||||
Filters: "IsUnplayed",
|
||||
CollapseBoxSetItems: false
|
||||
CollapseBoxSetItems: false,
|
||||
ParentId: parentId
|
||||
};
|
||||
|
||||
ApiClient.getItems(Dashboard.getCurrentUserId(), options).done(function (result) {
|
||||
@ -26,34 +29,6 @@
|
||||
})).createPosterItemMenus();
|
||||
});
|
||||
|
||||
|
||||
options = {
|
||||
|
||||
SortBy: "DateCreated",
|
||||
SortOrder: "Descending",
|
||||
IncludeItemTypes: "Trailer",
|
||||
Limit: screenWidth >= 1920 ? 8 : (screenWidth >= 1440 ? 8 : 6),
|
||||
Recursive: true,
|
||||
Fields: "PrimaryImageAspectRatio",
|
||||
Filters: "IsUnplayed",
|
||||
CollapseBoxSetItems: false
|
||||
};
|
||||
|
||||
ApiClient.getItems(Dashboard.getCurrentUserId(), options).done(function (result) {
|
||||
|
||||
if (result.Items.length) {
|
||||
$('#trailerSection', page).show();
|
||||
} else {
|
||||
$('#trailerSection', page).hide();
|
||||
}
|
||||
|
||||
$('#trailerItems', page).html(LibraryBrowser.getPosterViewHtml({
|
||||
items: result.Items
|
||||
|
||||
})).createPosterItemMenus();
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
@ -37,6 +37,8 @@
|
||||
|
||||
$(document).on('pagebeforeshow', "#moviesRecommendedPage", function () {
|
||||
|
||||
var parentId = LibraryMenu.getTopParentId();
|
||||
|
||||
var screenWidth = $(window).width();
|
||||
|
||||
var page = this;
|
||||
@ -50,7 +52,8 @@
|
||||
Limit: screenWidth >= 1920 ? 4 : (screenWidth >= 1440 ? 4 : 3),
|
||||
Recursive: true,
|
||||
Fields: "PrimaryImageAspectRatio",
|
||||
CollapseBoxSetItems: false
|
||||
CollapseBoxSetItems: false,
|
||||
ParentId: parentId
|
||||
};
|
||||
|
||||
ApiClient.getItems(Dashboard.getCurrentUserId(), options).done(function (result) {
|
||||
@ -77,7 +80,8 @@
|
||||
userId: Dashboard.getCurrentUserId(),
|
||||
categoryLimit: screenWidth >= 1200 ? 6 : 3,
|
||||
itemLimit: screenWidth >= 1920 ? 8 : (screenWidth >= 1440 ? 8 : 6),
|
||||
Fields: "PrimaryImageAspectRatio"
|
||||
Fields: "PrimaryImageAspectRatio",
|
||||
ParentId: parentId
|
||||
});
|
||||
|
||||
$.getJSON(url).done(function(recommendations) {
|
||||
|
@ -11,6 +11,11 @@
|
||||
StartIndex: 0
|
||||
};
|
||||
|
||||
function getSavedQueryKey() {
|
||||
|
||||
return 'moviestudios' + (query.ParentId || '');
|
||||
}
|
||||
|
||||
function reloadItems(page) {
|
||||
|
||||
Dashboard.showLoadingMsg();
|
||||
@ -55,7 +60,7 @@
|
||||
reloadItems(page);
|
||||
});
|
||||
|
||||
LibraryBrowser.saveQueryValues('moviestudios', query);
|
||||
LibraryBrowser.saveQueryValues(getSavedQueryKey(), query);
|
||||
|
||||
Dashboard.hideLoadingMsg();
|
||||
});
|
||||
@ -87,6 +92,8 @@
|
||||
|
||||
}).on('pagebeforeshow', "#movieStudiosPage", function () {
|
||||
|
||||
query.ParentId = LibraryMenu.getTopParentId();
|
||||
|
||||
var limit = LibraryBrowser.getDefaultPageSize();
|
||||
|
||||
// If the default page size has changed, the start index will have to be reset
|
||||
@ -95,7 +102,7 @@
|
||||
query.StartIndex = 0;
|
||||
}
|
||||
|
||||
LibraryBrowser.loadSavedQueryValues('moviestudios', query);
|
||||
LibraryBrowser.loadSavedQueryValues(getSavedQueryKey(), query);
|
||||
|
||||
reloadItems(this);
|
||||
|
||||
|
@ -11,6 +11,11 @@
|
||||
StartIndex: 0
|
||||
};
|
||||
|
||||
function getSavedQueryKey() {
|
||||
|
||||
return 'musicartists' + (query.ParentId || '');
|
||||
}
|
||||
|
||||
function reloadItems(page) {
|
||||
|
||||
Dashboard.showLoadingMsg();
|
||||
@ -56,7 +61,7 @@
|
||||
reloadItems(page);
|
||||
});
|
||||
|
||||
LibraryBrowser.saveQueryValues('musicartists', query);
|
||||
LibraryBrowser.saveQueryValues(getSavedQueryKey(), query);
|
||||
|
||||
Dashboard.hideLoadingMsg();
|
||||
});
|
||||
@ -104,6 +109,8 @@
|
||||
|
||||
}).on('pagebeforeshow', "#musicAlbumArtistsPage", function () {
|
||||
|
||||
query.ParentId = LibraryMenu.getTopParentId();
|
||||
|
||||
var limit = LibraryBrowser.getDefaultPageSize();
|
||||
|
||||
// If the default page size has changed, the start index will have to be reset
|
||||
@ -112,7 +119,7 @@
|
||||
query.StartIndex = 0;
|
||||
}
|
||||
|
||||
LibraryBrowser.loadSavedQueryValues('musicartists', query);
|
||||
LibraryBrowser.loadSavedQueryValues(getSavedQueryKey(), query);
|
||||
|
||||
reloadItems(this);
|
||||
|
||||
|
@ -13,6 +13,11 @@
|
||||
StartIndex: 0
|
||||
};
|
||||
|
||||
function getSavedQueryKey() {
|
||||
|
||||
return 'musicalbums' + (query.ParentId || '');
|
||||
}
|
||||
|
||||
function reloadItems(page) {
|
||||
|
||||
Dashboard.showLoadingMsg();
|
||||
@ -72,7 +77,7 @@
|
||||
reloadItems(page);
|
||||
});
|
||||
|
||||
LibraryBrowser.saveQueryValues('musicalbums', query);
|
||||
LibraryBrowser.saveQueryValues(getSavedQueryKey(), query);
|
||||
|
||||
Dashboard.hideLoadingMsg();
|
||||
});
|
||||
@ -157,7 +162,7 @@
|
||||
} else {
|
||||
reloadItems(page);
|
||||
}
|
||||
LibraryBrowser.saveViewSetting('musicalbums', view);
|
||||
LibraryBrowser.saveViewSetting(getSavedQueryKey(), view);
|
||||
});
|
||||
|
||||
$('.alphabetPicker', page).on('alphaselect', function (e, character) {
|
||||
@ -184,6 +189,8 @@
|
||||
|
||||
}).on('pagebeforeshow', "#musicAlbumsPage", function () {
|
||||
|
||||
query.ParentId = LibraryMenu.getTopParentId();
|
||||
|
||||
var page = this;
|
||||
var limit = LibraryBrowser.getDefaultPageSize();
|
||||
|
||||
@ -193,9 +200,10 @@
|
||||
query.StartIndex = 0;
|
||||
}
|
||||
|
||||
LibraryBrowser.loadSavedQueryValues('musicalbums', query);
|
||||
var viewKey = getSavedQueryKey();
|
||||
LibraryBrowser.loadSavedQueryValues(viewKey, query);
|
||||
|
||||
LibraryBrowser.getSavedViewSetting('musicalbums').done(function (val) {
|
||||
LibraryBrowser.getSavedViewSetting(viewKey).done(function (val) {
|
||||
|
||||
if (val) {
|
||||
$('#selectView', page).val(val).selectmenu('refresh').trigger('change');
|
||||
|
@ -10,6 +10,11 @@
|
||||
StartIndex: 0
|
||||
};
|
||||
|
||||
function getSavedQueryKey() {
|
||||
|
||||
return 'musicartists' + (query.ParentId || '');
|
||||
}
|
||||
|
||||
function reloadItems(page) {
|
||||
|
||||
Dashboard.showLoadingMsg();
|
||||
@ -55,7 +60,7 @@
|
||||
reloadItems(page);
|
||||
});
|
||||
|
||||
LibraryBrowser.saveQueryValues('musicartists', query);
|
||||
LibraryBrowser.saveQueryValues(getSavedQueryKey(), query);
|
||||
|
||||
Dashboard.hideLoadingMsg();
|
||||
});
|
||||
@ -103,6 +108,8 @@
|
||||
|
||||
}).on('pagebeforeshow', "#musicArtistsPage", function () {
|
||||
|
||||
query.ParentId = LibraryMenu.getTopParentId();
|
||||
|
||||
var limit = LibraryBrowser.getDefaultPageSize();
|
||||
|
||||
// If the default page size has changed, the start index will have to be reset
|
||||
@ -111,7 +118,7 @@
|
||||
query.StartIndex = 0;
|
||||
}
|
||||
|
||||
LibraryBrowser.loadSavedQueryValues('musicartists', query);
|
||||
LibraryBrowser.loadSavedQueryValues(getSavedQueryKey(), query);
|
||||
|
||||
reloadItems(this);
|
||||
|
||||
|
@ -11,6 +11,11 @@
|
||||
StartIndex: 0
|
||||
};
|
||||
|
||||
function getSavedQueryKey() {
|
||||
|
||||
return 'musicgenres' + (query.ParentId || '');
|
||||
}
|
||||
|
||||
function reloadItems(page) {
|
||||
|
||||
Dashboard.showLoadingMsg();
|
||||
@ -56,7 +61,7 @@
|
||||
reloadItems(page);
|
||||
});
|
||||
|
||||
LibraryBrowser.saveQueryValues('musicgenres', query);
|
||||
LibraryBrowser.saveQueryValues(getSavedQueryKey(), query);
|
||||
|
||||
Dashboard.hideLoadingMsg();
|
||||
});
|
||||
@ -89,6 +94,8 @@
|
||||
|
||||
}).on('pagebeforeshow', "#musicGenresPage", function () {
|
||||
|
||||
query.ParentId = LibraryMenu.getTopParentId();
|
||||
|
||||
var limit = LibraryBrowser.getDefaultPageSize();
|
||||
|
||||
// If the default page size has changed, the start index will have to be reset
|
||||
@ -97,7 +104,7 @@
|
||||
query.StartIndex = 0;
|
||||
}
|
||||
|
||||
LibraryBrowser.loadSavedQueryValues('musicgenres', query);
|
||||
LibraryBrowser.loadSavedQueryValues(getSavedQueryKey(), query);
|
||||
|
||||
reloadItems(this);
|
||||
|
||||
|
@ -6,6 +6,8 @@
|
||||
|
||||
var page = this;
|
||||
|
||||
var parentId = LibraryMenu.getTopParentId();
|
||||
|
||||
var options = {
|
||||
|
||||
SortBy: "DateCreated",
|
||||
@ -13,7 +15,8 @@
|
||||
IncludeItemTypes: "MusicAlbum",
|
||||
Limit: screenWidth >= 1920 ? 6 : (screenWidth >= 1440 ? 6 : 5),
|
||||
Recursive: true,
|
||||
Fields: "PrimaryImageAspectRatio"
|
||||
Fields: "PrimaryImageAspectRatio",
|
||||
ParentId: parentId
|
||||
};
|
||||
|
||||
ApiClient.getItems(Dashboard.getCurrentUserId(), options).done(function (result) {
|
||||
@ -35,7 +38,8 @@
|
||||
IncludeItemTypes: "Audio",
|
||||
Limit: screenWidth >= 1920 ? 6 : (screenWidth >= 1440 ? 6 : 5),
|
||||
Recursive: true,
|
||||
Fields: "PrimaryImageAspectRatio,AudioInfo"
|
||||
Fields: "PrimaryImageAspectRatio,AudioInfo",
|
||||
ParentId: parentId
|
||||
};
|
||||
|
||||
ApiClient.getItems(Dashboard.getCurrentUserId(), options).done(function (result) {
|
||||
@ -58,7 +62,8 @@
|
||||
Limit: screenWidth >= 1920 ? 6 : (screenWidth >= 1440 ? 6 : 5),
|
||||
Recursive: true,
|
||||
Fields: "PrimaryImageAspectRatio,AudioInfo",
|
||||
Filters: "IsPlayed"
|
||||
Filters: "IsPlayed",
|
||||
ParentId: parentId
|
||||
};
|
||||
|
||||
ApiClient.getItems(Dashboard.getCurrentUserId(), options).done(function (result) {
|
||||
@ -87,7 +92,8 @@
|
||||
Limit: screenWidth >= 1920 ? 12 : (screenWidth >= 1440 ? 12 : 10),
|
||||
Recursive: true,
|
||||
Fields: "PrimaryImageAspectRatio,AudioInfo",
|
||||
Filters: "IsPlayed"
|
||||
Filters: "IsPlayed",
|
||||
ParentId: parentId
|
||||
};
|
||||
|
||||
ApiClient.getItems(Dashboard.getCurrentUserId(), options).done(function (result) {
|
||||
|
@ -11,6 +11,11 @@
|
||||
StartIndex: 0
|
||||
};
|
||||
|
||||
function getSavedQueryKey() {
|
||||
|
||||
return 'musicvideos' + (query.ParentId || '');
|
||||
}
|
||||
|
||||
function reloadItems(page) {
|
||||
|
||||
Dashboard.showLoadingMsg();
|
||||
@ -54,7 +59,7 @@
|
||||
reloadItems(page);
|
||||
});
|
||||
|
||||
LibraryBrowser.saveQueryValues('musicvideos', query);
|
||||
LibraryBrowser.saveQueryValues(getSavedQueryKey(), query);
|
||||
|
||||
Dashboard.hideLoadingMsg();
|
||||
});
|
||||
@ -210,6 +215,8 @@
|
||||
|
||||
}).on('pagebeforeshow', "#musicVideosPage", function () {
|
||||
|
||||
query.ParentId = LibraryMenu.getTopParentId();
|
||||
|
||||
var limit = LibraryBrowser.getDefaultPageSize();
|
||||
|
||||
// If the default page size has changed, the start index will have to be reset
|
||||
@ -218,7 +225,7 @@
|
||||
query.StartIndex = 0;
|
||||
}
|
||||
|
||||
LibraryBrowser.loadSavedQueryValues('musicvideos', query);
|
||||
LibraryBrowser.loadSavedQueryValues(getSavedQueryKey(), query);
|
||||
|
||||
reloadItems(this);
|
||||
|
||||
|
@ -14,7 +14,10 @@
|
||||
StartIndex: 0
|
||||
};
|
||||
|
||||
LibraryBrowser.loadSavedQueryValues('songs', query);
|
||||
function getSavedQueryKey() {
|
||||
|
||||
return 'songs' + (query.ParentId || '');
|
||||
}
|
||||
|
||||
function updateFilterControls(page) {
|
||||
|
||||
@ -104,7 +107,7 @@
|
||||
reloadItems(page);
|
||||
});
|
||||
|
||||
LibraryBrowser.saveQueryValues('songs', query);
|
||||
LibraryBrowser.saveQueryValues(getSavedQueryKey(), query);
|
||||
|
||||
Dashboard.hideLoadingMsg();
|
||||
});
|
||||
@ -145,6 +148,10 @@
|
||||
|
||||
}).on('pagebeforeshow', "#songsPage", function () {
|
||||
|
||||
query.ParentId = LibraryMenu.getTopParentId();
|
||||
|
||||
LibraryBrowser.loadSavedQueryValues(getSavedQueryKey(), query);
|
||||
|
||||
reloadItems(this);
|
||||
|
||||
}).on('pageshow', "#songsPage", function () {
|
||||
|
@ -11,6 +11,11 @@
|
||||
StartIndex: 0
|
||||
};
|
||||
|
||||
function getSavedQueryKey() {
|
||||
|
||||
return 'tvgenres' + (query.ParentId || '');
|
||||
}
|
||||
|
||||
function reloadItems(page) {
|
||||
|
||||
Dashboard.showLoadingMsg();
|
||||
@ -57,7 +62,7 @@
|
||||
reloadItems(page);
|
||||
});
|
||||
|
||||
LibraryBrowser.saveQueryValues('tvgenres', query);
|
||||
LibraryBrowser.saveQueryValues(getSavedQueryKey(), query);
|
||||
|
||||
Dashboard.hideLoadingMsg();
|
||||
});
|
||||
@ -98,6 +103,8 @@
|
||||
|
||||
}).on('pagebeforeshow', "#tvGenresPage", function () {
|
||||
|
||||
query.ParentId = LibraryMenu.getTopParentId();
|
||||
|
||||
var limit = LibraryBrowser.getDefaultPageSize();
|
||||
|
||||
// If the default page size has changed, the start index will have to be reset
|
||||
@ -106,7 +113,7 @@
|
||||
query.StartIndex = 0;
|
||||
}
|
||||
|
||||
LibraryBrowser.loadSavedQueryValues('tvgenres', query);
|
||||
LibraryBrowser.loadSavedQueryValues(getSavedQueryKey(), query);
|
||||
|
||||
reloadItems(this);
|
||||
|
||||
|
@ -4,6 +4,8 @@
|
||||
|
||||
var screenWidth = $(window).width();
|
||||
|
||||
var parentId = LibraryMenu.getTopParentId();
|
||||
|
||||
var page = this;
|
||||
|
||||
var options = {
|
||||
@ -15,7 +17,8 @@
|
||||
Recursive: true,
|
||||
Fields: "PrimaryImageAspectRatio,SeriesInfo,UserData",
|
||||
Filters: "IsUnplayed",
|
||||
ExcludeLocationTypes: "Virtual"
|
||||
ExcludeLocationTypes: "Virtual",
|
||||
ParentId: parentId
|
||||
};
|
||||
|
||||
ApiClient.getItems(Dashboard.getCurrentUserId(), options).done(function (result) {
|
||||
|
@ -13,6 +13,11 @@
|
||||
Limit: 100
|
||||
};
|
||||
|
||||
function getSavedQueryKey() {
|
||||
|
||||
return 'tvpeople' + (query.ParentId || '');
|
||||
}
|
||||
|
||||
function reloadItems(page) {
|
||||
|
||||
Dashboard.showLoadingMsg();
|
||||
@ -52,7 +57,7 @@
|
||||
reloadItems(page);
|
||||
});
|
||||
|
||||
LibraryBrowser.saveQueryValues('tvpeople', query);
|
||||
LibraryBrowser.saveQueryValues(getSavedQueryKey(), query);
|
||||
|
||||
Dashboard.hideLoadingMsg();
|
||||
});
|
||||
@ -135,7 +140,9 @@
|
||||
|
||||
}).on('pagebeforeshow', "#tvPeoplePage", function () {
|
||||
|
||||
LibraryBrowser.loadSavedQueryValues('tvpeople', query);
|
||||
query.ParentId = LibraryMenu.getTopParentId();
|
||||
|
||||
LibraryBrowser.loadSavedQueryValues(getSavedQueryKey(), query);
|
||||
|
||||
reloadItems(this);
|
||||
|
||||
|
@ -4,6 +4,8 @@
|
||||
|
||||
var screenWidth = $(window).width();
|
||||
|
||||
var parentId = LibraryMenu.getTopParentId();
|
||||
|
||||
var options = {
|
||||
|
||||
SortBy: "DatePlayed",
|
||||
@ -13,7 +15,8 @@
|
||||
Limit: screenWidth >= 1920 ? 4 : (screenWidth >= 1440 ? 4 : 3),
|
||||
Recursive: true,
|
||||
Fields: "PrimaryImageAspectRatio,SeriesInfo,UserData",
|
||||
ExcludeLocationTypes: "Virtual"
|
||||
ExcludeLocationTypes: "Virtual",
|
||||
ParentId: parentId
|
||||
};
|
||||
|
||||
ApiClient.getItems(Dashboard.getCurrentUserId(), options).done(function (result) {
|
||||
@ -38,12 +41,15 @@
|
||||
|
||||
function loadNextUp(page) {
|
||||
|
||||
var parentId = LibraryMenu.getTopParentId();
|
||||
|
||||
var options = {
|
||||
|
||||
Limit: 24,
|
||||
Fields: "PrimaryImageAspectRatio,SeriesInfo,DateCreated",
|
||||
UserId: Dashboard.getCurrentUserId(),
|
||||
ExcludeLocationTypes: "Virtual"
|
||||
ExcludeLocationTypes: "Virtual",
|
||||
ParentId: parentId
|
||||
};
|
||||
|
||||
ApiClient.getNextUpEpisodes(options).done(function (result) {
|
||||
|
@ -13,6 +13,11 @@
|
||||
StartIndex: 0
|
||||
};
|
||||
|
||||
function getSavedQueryKey() {
|
||||
|
||||
return 'tvshows' + (query.ParentId || '');
|
||||
}
|
||||
|
||||
function reloadItems(page) {
|
||||
|
||||
Dashboard.showLoadingMsg();
|
||||
@ -97,7 +102,7 @@
|
||||
reloadItems(page);
|
||||
});
|
||||
|
||||
LibraryBrowser.saveQueryValues('tvshows', query);
|
||||
LibraryBrowser.saveQueryValues(getSavedQueryKey(), query);
|
||||
|
||||
Dashboard.hideLoadingMsg();
|
||||
});
|
||||
@ -238,7 +243,7 @@
|
||||
} else {
|
||||
reloadItems(page);
|
||||
}
|
||||
LibraryBrowser.saveViewSetting('tvshows', view);
|
||||
LibraryBrowser.saveViewSetting(getSavedQueryKey(), view);
|
||||
});
|
||||
|
||||
$('#chkTrailer', this).on('change', function () {
|
||||
@ -341,6 +346,8 @@
|
||||
|
||||
}).on('pagebeforeshow', "#tvShowsPage", function () {
|
||||
|
||||
query.ParentId = LibraryMenu.getTopParentId();
|
||||
|
||||
var page = this;
|
||||
var limit = LibraryBrowser.getDefaultPageSize();
|
||||
|
||||
@ -350,9 +357,11 @@
|
||||
query.StartIndex = 0;
|
||||
}
|
||||
|
||||
LibraryBrowser.loadSavedQueryValues('tvshows', query);
|
||||
var viewKey = getSavedQueryKey();
|
||||
|
||||
LibraryBrowser.getSavedViewSetting('tvshows').done(function (val) {
|
||||
LibraryBrowser.loadSavedQueryValues(viewKey, query);
|
||||
|
||||
LibraryBrowser.getSavedViewSetting(viewKey).done(function (val) {
|
||||
|
||||
if (val) {
|
||||
$('#selectView', page).val(val).selectmenu('refresh').trigger('change');
|
||||
|
@ -11,6 +11,11 @@
|
||||
StartIndex: 0
|
||||
};
|
||||
|
||||
function getSavedQueryKey() {
|
||||
|
||||
return 'tvstudios' + (query.ParentId || '');
|
||||
}
|
||||
|
||||
function reloadItems(page) {
|
||||
|
||||
Dashboard.showLoadingMsg();
|
||||
@ -57,7 +62,7 @@
|
||||
reloadItems(page);
|
||||
});
|
||||
|
||||
LibraryBrowser.saveQueryValues('tvstudios', query);
|
||||
LibraryBrowser.saveQueryValues(getSavedQueryKey(), query);
|
||||
|
||||
Dashboard.hideLoadingMsg();
|
||||
});
|
||||
@ -98,6 +103,8 @@
|
||||
|
||||
}).on('pagebeforeshow', "#tvStudiosPage", function () {
|
||||
|
||||
query.ParentId = LibraryMenu.getTopParentId();
|
||||
|
||||
var limit = LibraryBrowser.getDefaultPageSize();
|
||||
|
||||
// If the default page size has changed, the start index will have to be reset
|
||||
@ -106,7 +113,7 @@
|
||||
query.StartIndex = 0;
|
||||
}
|
||||
|
||||
LibraryBrowser.loadSavedQueryValues('tvstudios', query);
|
||||
LibraryBrowser.loadSavedQueryValues(getSavedQueryKey(), query);
|
||||
|
||||
reloadItems(this);
|
||||
|
||||
|
@ -4,11 +4,14 @@
|
||||
|
||||
var page = this;
|
||||
|
||||
var parentId = LibraryMenu.getTopParentId();
|
||||
|
||||
var query = {
|
||||
|
||||
Limit: 32,
|
||||
Fields: "SeriesInfo,UserData",
|
||||
UserId: Dashboard.getCurrentUserId()
|
||||
UserId: Dashboard.getCurrentUserId(),
|
||||
ParentId: parentId
|
||||
};
|
||||
|
||||
$.getJSON(ApiClient.getUrl("Shows/Upcoming", query)).done(function (result) {
|
||||
|
@ -5,9 +5,9 @@
|
||||
</head>
|
||||
<body>
|
||||
<div id="songsPage" data-role="page" class="page libraryPage" data-theme="b" data-view="music">
|
||||
<div class="libraryViewNav">
|
||||
<div class="libraryViewNav scopedLibraryViewNav">
|
||||
<a href="musicrecommended.html">${TabSuggested}</a>
|
||||
<a href="songs.html" class="ui-btn-active">${TabSongs}</a>
|
||||
<a href="#" class="ui-btn-active">${TabSongs}</a>
|
||||
<a href="musicalbums.html">${TabAlbums}</a>
|
||||
<a href="musicalbumartists.html">${TabAlbumArtists}</a>
|
||||
<a href="musicartists.html">${TabArtists}</a>
|
||||
|
@ -5,13 +5,13 @@
|
||||
</head>
|
||||
<body>
|
||||
<div id="tvGenresPage" data-role="page" class="page libraryPage" data-theme="b" data-view="tv">
|
||||
<div class="libraryViewNav">
|
||||
<div class="libraryViewNav scopedLibraryViewNav">
|
||||
<a href="tvrecommended.html">${TabSuggested}</a>
|
||||
<a href="tvlatest.html">${TabLatest}</a>
|
||||
<a href="tvupcoming.html">${TabUpcoming}</a>
|
||||
<a href="tvshows.html">${TabShows}</a>
|
||||
<a href="episodes.html">${TabEpisodes}</a>
|
||||
<a href="tvgenres.html" class="ui-btn-active">${TabGenres}</a>
|
||||
<a href="#" class="ui-btn-active">${TabGenres}</a>
|
||||
<a href="tvpeople.html">${TabPeople}</a>
|
||||
<a href="tvstudios.html">${TabNetworks}</a>
|
||||
</div>
|
||||
|
@ -5,9 +5,9 @@
|
||||
</head>
|
||||
<body>
|
||||
<div id="tvNextUpPage" data-role="page" class="page libraryPage" data-theme="b" data-view="tv">
|
||||
<div class="libraryViewNav">
|
||||
<div class="libraryViewNav scopedLibraryViewNav">
|
||||
<a href="tvrecommended.html">${TabSuggested}</a>
|
||||
<a href="tvlatest.html" class="ui-btn-active">${TabLatest}</a>
|
||||
<a href="#" class="ui-btn-active">${TabLatest}</a>
|
||||
<a href="tvupcoming.html">${TabUpcoming}</a>
|
||||
<a href="tvshows.html">${TabShows}</a>
|
||||
<a href="episodes.html">${TabEpisodes}</a>
|
||||
|
@ -5,14 +5,14 @@
|
||||
</head>
|
||||
<body>
|
||||
<div id="tvPeoplePage" data-role="page" class="page libraryPage" data-theme="b" data-view="tv">
|
||||
<div class="libraryViewNav">
|
||||
<div class="libraryViewNav scopedLibraryViewNav">
|
||||
<a href="tvrecommended.html">${TabSuggested}</a>
|
||||
<a href="tvlatest.html">${TabLatest}</a>
|
||||
<a href="tvupcoming.html">${TabUpcoming}</a>
|
||||
<a href="tvshows.html">${TabShows}</a>
|
||||
<a href="episodes.html">${TabEpisodes}</a>
|
||||
<a href="tvgenres.html">${TabGenres}</a>
|
||||
<a href="tvpeople.html" class="ui-btn-active">${TabPeople}</a>
|
||||
<a href="#" class="ui-btn-active">${TabPeople}</a>
|
||||
<a href="tvstudios.html">${TabNetworks}</a>
|
||||
</div>
|
||||
|
||||
|
@ -5,8 +5,8 @@
|
||||
</head>
|
||||
<body>
|
||||
<div id="tvRecommendedPage" data-role="page" class="page libraryPage" data-theme="b" data-view="tv">
|
||||
<div class="libraryViewNav">
|
||||
<a href="tvrecommended.html" class="ui-btn-active">${TabSuggested}</a>
|
||||
<div class="libraryViewNav scopedLibraryViewNav">
|
||||
<a href="#" class="ui-btn-active">${TabSuggested}</a>
|
||||
<a href="tvlatest.html">${TabLatest}</a>
|
||||
<a href="tvupcoming.html">${TabUpcoming}</a>
|
||||
<a href="tvshows.html">${TabShows}</a>
|
||||
|
@ -5,11 +5,11 @@
|
||||
</head>
|
||||
<body>
|
||||
<div id="tvShowsPage" data-role="page" class="page libraryPage" data-theme="b" data-view="tv">
|
||||
<div class="libraryViewNav">
|
||||
<div class="libraryViewNav scopedLibraryViewNav">
|
||||
<a href="tvrecommended.html">${TabSuggested}</a>
|
||||
<a href="tvlatest.html">${TabLatest}</a>
|
||||
<a href="tvupcoming.html">${TabUpcoming}</a>
|
||||
<a href="tvshows.html" class="ui-btn-active">${TabShows}</a>
|
||||
<a href="#" class="ui-btn-active">${TabShows}</a>
|
||||
<a href="episodes.html">${TabEpisodes}</a>
|
||||
<a href="tvgenres.html">${TabGenres}</a>
|
||||
<a href="tvpeople.html">${TabPeople}</a>
|
||||
|
@ -1,11 +1,11 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>${MediaBrowser}</title>
|
||||
<title>${TitleMediaBrowser}</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="tvStudiosPage" data-role="page" class="page libraryPage" data-theme="b" data-view="tv">
|
||||
<div class="libraryViewNav">
|
||||
<div class="libraryViewNav scopedLibraryViewNav">
|
||||
<a href="tvrecommended.html">${TabSuggested}</a>
|
||||
<a href="tvlatest.html">${TabLatest}</a>
|
||||
<a href="tvupcoming.html">${TabUpcoming}</a>
|
||||
@ -13,7 +13,7 @@
|
||||
<a href="episodes.html">${TabEpisodes}</a>
|
||||
<a href="tvgenres.html">${TabGenres}</a>
|
||||
<a href="tvpeople.html">${TabPeople}</a>
|
||||
<a href="tvstudios.html" class="ui-btn-active">${TabNetworks}</a>
|
||||
<a href="#" class="ui-btn-active">${TabNetworks}</a>
|
||||
</div>
|
||||
<div data-role="content">
|
||||
<div class="viewSettings">
|
||||
|
@ -5,10 +5,10 @@
|
||||
</head>
|
||||
<body>
|
||||
<div id="tvUpcomingPage" data-role="page" class="page libraryPage" data-theme="b" data-view="tv">
|
||||
<div class="libraryViewNav">
|
||||
<div class="libraryViewNav scopedLibraryViewNav">
|
||||
<a href="tvrecommended.html">${TabSuggested}</a>
|
||||
<a href="tvlatest.html">${TabLatest}</a>
|
||||
<a href="tvupcoming.html" class="ui-btn-active">${TabUpcoming}</a>
|
||||
<a href="#" class="ui-btn-active">${TabUpcoming}</a>
|
||||
<a href="tvshows.html">${TabShows}</a>
|
||||
<a href="episodes.html">${TabEpisodes}</a>
|
||||
<a href="tvgenres.html">${TabGenres}</a>
|
||||
|
Loading…
Reference in New Issue
Block a user