1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

web client re-org

This commit is contained in:
Luke Pulverenti 2014-05-01 22:54:33 -04:00
parent ea285c28ef
commit d5780727eb
81 changed files with 571 additions and 550 deletions

View file

@ -7,7 +7,7 @@
padding-top: 48px !important; 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; padding-top: 91px !important;
} }
@ -61,6 +61,14 @@
vertical-align: top; vertical-align: top;
} }
.selectedMediaFolder {
color: #fff!important;
}
.viewMenuBar .selectedMediaFolder:before {
content: '\25BA';
color: #fff;
}
.viewMenuSecondary { .viewMenuSecondary {
float: right; float: right;
} }
@ -107,8 +115,8 @@
} }
.listHeader { .listHeader {
margin-top: .75em; margin-top: .5em;
margin-bottom: 0; margin-bottom: .25em;
padding-left: 7px; padding-left: 7px;
} }
@ -126,17 +134,16 @@
.libraryViewNavInner { .libraryViewNavInner {
text-align: center; text-align: center;
font-family: sans-serif, Arial;
font-size: 14px; font-size: 14px;
white-space: nowrap; white-space: nowrap;
padding: 0 0 0; padding: 0 0 0;
overflow-x: auto; overflow-x: auto;
height: 55px; height: 55px;
text-transform: uppercase;
} }
.libraryViewNav .ui-btn-active .libraryViewNavLinkContent { .libraryViewNav .ui-btn-active .libraryViewNavLinkContent {
border-bottom-color: #38c; border-bottom-color: #38c;
color: #fff;
} }
.libraryViewNav a { .libraryViewNav a {
@ -153,24 +160,11 @@
color: #bbb!important; 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 { .libraryViewNavLinkContent {
border-bottom: 6px solid transparent; border-bottom: 5px solid transparent;
display: inline-block; display: inline-block;
padding: 0 1em 6px; padding: 0 .9em 7px;
margin: 0 -2px 0 -1px; color: #ddd;
} }
.ehsContent { .ehsContent {
@ -590,7 +584,7 @@ a.itemTag:hover {
} }
.lblDetailTab { .lblDetailTab {
font-size: 15px!important; font-size: 14px!important;
font-weight: 400!important; font-weight: 400!important;
font-family: 'Open Sans'; font-family: 'Open Sans';
padding: .5em 1em; padding: .5em 1em;

View file

@ -1,5 +1,5 @@
.posterItem { .posterItem {
margin: 4px 5px; margin: 5px 5px;
text-shadow: none; text-shadow: none;
font-weight: normal!important; font-weight: normal!important;
display: inline-block; display: inline-block;
@ -170,9 +170,9 @@
} }
.posterItemProgress .itemProgressBar { .posterItemProgress .itemProgressBar {
height: 10px; height: 8px;
width: 100%; width: 100%;
opacity: .7; opacity: .8;
} }
.miniPosterItemProgress { .miniPosterItemProgress {

View file

@ -45,9 +45,8 @@ body {
} }
h1 { h1 {
font-weight: 400; font-weight: 300;
font-size: 1.8em; font-size: 2em;
text-transform: uppercase;
} }
.ui-loader h1 { .ui-loader h1 {

View file

@ -6,12 +6,12 @@
<body> <body>
<div id="episodesPage" data-role="page" class="page libraryPage" data-theme="b" data-view="tv"> <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="tvrecommended.html">${TabSuggested}</a>
<a href="tvlatest.html">${TabLatest}</a> <a href="tvlatest.html">${TabLatest}</a>
<a href="tvupcoming.html">${TabUpcoming}</a> <a href="tvupcoming.html">${TabUpcoming}</a>
<a href="tvshows.html">${TabShows}</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="tvgenres.html">${TabGenres}</a>
<a href="tvpeople.html">${TabPeople}</a> <a href="tvpeople.html">${TabPeople}</a>
<a href="tvstudios.html">${TabNetworks}</a> <a href="tvstudios.html">${TabNetworks}</a>

View file

@ -5,11 +5,11 @@
</head> </head>
<body> <body>
<div id="gameGenresPage" data-role="page" class="page libraryPage listPage" data-theme="b" data-view="games"> <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="gamesrecommended.html">${TabSuggested}</a>
<a href="games.html">${TabGames}</a> <a href="games.html">${TabGames}</a>
<a href="gamesystems.html">${TabGameSystems}</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> <a href="gamestudios.html">${TabStudios}</a>
</div> </div>
<div data-role="content"> <div data-role="content">

View file

@ -5,9 +5,9 @@
</head> </head>
<body> <body>
<div id="gamesPage" data-role="page" class="page libraryPage listPage" data-theme="b" data-view="games"> <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="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="gamesystems.html">${TabGameSystems}</a>
<a href="gamegenres.html">${TabGenres}</a> <a href="gamegenres.html">${TabGenres}</a>
<a href="gamestudios.html">${TabStudios}</a> <a href="gamestudios.html">${TabStudios}</a>

View file

@ -5,8 +5,8 @@
</head> </head>
<body> <body>
<div id="gamesRecommendedPage" data-role="page" class="page libraryPage" data-theme="b" data-view="games"> <div id="gamesRecommendedPage" data-role="page" class="page libraryPage" data-theme="b" data-view="games">
<div class="libraryViewNav"> <div class="libraryViewNav scopedLibraryViewNav">
<a href="gamesrecommended.html" class="ui-btn-active">${TabSuggested}</a> <a href="#" class="ui-btn-active">${TabSuggested}</a>
<a href="games.html">${TabGames}</a> <a href="games.html">${TabGames}</a>
<a href="gamesystems.html">Game Systems</a> <a href="gamesystems.html">Game Systems</a>
<a href="gamegenres.html">${TabGenres}</a> <a href="gamegenres.html">${TabGenres}</a>

View file

@ -5,12 +5,12 @@
</head> </head>
<body> <body>
<div id="gameStudiosPage" data-role="page" class="page libraryPage listPage" data-theme="b" data-view="games"> <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="gamesrecommended.html">${TabSuggested}</a>
<a href="games.html">${TabGames}</a> <a href="games.html">${TabGames}</a>
<a href="gamesystems.html">${TabGameSystems}</a> <a href="gamesystems.html">${TabGameSystems}</a>
<a href="gamegenres.html">${TabGenres}</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>
<div data-role="content"> <div data-role="content">
<div class="viewSettings"> <div class="viewSettings">

View file

@ -5,10 +5,10 @@
</head> </head>
<body> <body>
<div id="gamesystemsPage" data-role="page" class="page libraryPage" data-theme="b" data-view="games"> <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="gamesrecommended.html">${TabSuggested}</a>
<a href="games.html">${TabGames}</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="gamegenres.html">${TabGenres}</a>
<a href="gamestudios.html">${TabStudios}</a> <a href="gamestudios.html">${TabStudios}</a>
</div> </div>

View file

@ -4,20 +4,23 @@
<title>${TitleMediaBrowser}</title> <title>${TitleMediaBrowser}</title>
</head> </head>
<body> <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"> <div data-role="content">
<table class="ehsContent"> <table class="ehsContent">
<tr> <tr>
<td> <td>
<div id="resumableSection" style="display: none;">
<h1 class="listHeader">${HeaderResume}</h1>
<br /> <div id="resumableItems">
<div id="views"> </div>
</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> </td>
</tr> </tr>
</table> </table>

View file

@ -6,40 +6,37 @@
<body> <body>
<div id="itemByNameDetailPage" data-role="page" class="page libraryPage" data-theme="b"> <div id="itemByNameDetailPage" data-role="page" class="page libraryPage" data-theme="b">
<div id="movieGenreTabs" class="itemTabs" style="display: none;"> <div id="movieGenreTabs" class="itemTabs" style="display: none;">
<div class="libraryViewNav"> <div class="libraryViewNav scopedLibraryViewNav">
<a href="movieslatest.html">${TabLatest}</a> <a href="movieslatest.html">${TabLatest}</a>
<a href="moviesrecommended.html">${TabSuggested}</a> <a href="moviesrecommended.html">${TabSuggested}</a>
<a href="movies.html">${TabMovies}</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="moviegenres.html" class="ui-btn-active">${TabGenres}</a>
<a href="moviepeople.html">${TabPeople}</a> <a href="moviepeople.html">${TabPeople}</a>
<a href="moviestudios.html">${TabStudios}</a> <a href="moviestudios.html">${TabStudios}</a>
</div> </div>
</div> </div>
<div id="moviePeopleTabs" class="itemTabs" style="display: none;"> <div id="moviePeopleTabs" class="itemTabs" style="display: none;">
<div class="libraryViewNav"> <div class="libraryViewNav scopedLibraryViewNav">
<a href="movieslatest.html">${TabLatest}</a> <a href="movieslatest.html">${TabLatest}</a>
<a href="moviesrecommended.html">${TabSuggested}</a> <a href="moviesrecommended.html">${TabSuggested}</a>
<a href="movies.html">${TabMovies}</a> <a href="movies.html">${TabMovies}</a>
<a href="movietrailers.html">${TabTrailers}</a>
<a href="moviegenres.html">${TabGenres}</a> <a href="moviegenres.html">${TabGenres}</a>
<a href="moviepeople.html" class="ui-btn-active">${TabPeople}</a> <a href="moviepeople.html" class="ui-btn-active">${TabPeople}</a>
<a href="moviestudios.html">${TabStudios}</a> <a href="moviestudios.html">${TabStudios}</a>
</div> </div>
</div> </div>
<div id="movieStudioTabs" class="itemTabs" style="display: none;"> <div id="movieStudioTabs" class="itemTabs" style="display: none;">
<div class="libraryViewNav"> <div class="libraryViewNav scopedLibraryViewNav">
<a href="movieslatest.html">${TabLatest}</a> <a href="movieslatest.html">${TabLatest}</a>
<a href="moviesrecommended.html">${TabSuggested}</a> <a href="moviesrecommended.html">${TabSuggested}</a>
<a href="movies.html">${TabMovies}</a> <a href="movies.html">${TabMovies}</a>
<a href="movietrailers.html">${TabTrailers}</a>
<a href="moviegenres.html">${TabGenres}</a> <a href="moviegenres.html">${TabGenres}</a>
<a href="moviepeople.html">${TabPeople}</a> <a href="moviepeople.html">${TabPeople}</a>
<a href="moviestudios.html" class="ui-btn-active">${TabStudios}</a> <a href="moviestudios.html" class="ui-btn-active">${TabStudios}</a>
</div> </div>
</div> </div>
<div id="tvGenreTabs" class="itemTabs" style="display: none;"> <div id="tvGenreTabs" class="itemTabs" style="display: none;">
<div class="libraryViewNav"> <div class="libraryViewNav scopedLibraryViewNav">
<a href="tvrecommended.html">${TabSuggested}</a> <a href="tvrecommended.html">${TabSuggested}</a>
<a href="tvlatest.html">${TabLatest}</a> <a href="tvlatest.html">${TabLatest}</a>
<a href="tvupcoming.html">${TabUpcoming}</a> <a href="tvupcoming.html">${TabUpcoming}</a>
@ -51,7 +48,7 @@
</div> </div>
</div> </div>
<div id="tvPeopleTabs" class="itemTabs" style="display: none;"> <div id="tvPeopleTabs" class="itemTabs" style="display: none;">
<div class="libraryViewNav"> <div class="libraryViewNav scopedLibraryViewNav">
<a href="tvrecommended.html">${TabSuggested}</a> <a href="tvrecommended.html">${TabSuggested}</a>
<a href="tvlatest.html">${TabLatest}</a> <a href="tvlatest.html">${TabLatest}</a>
<a href="tvupcoming.html">${TabUpcoming}</a> <a href="tvupcoming.html">${TabUpcoming}</a>
@ -63,7 +60,7 @@
</div> </div>
</div> </div>
<div id="tvStudioTabs" class="itemTabs" style="display: none;"> <div id="tvStudioTabs" class="itemTabs" style="display: none;">
<div class="libraryViewNav"> <div class="libraryViewNav scopedLibraryViewNav">
<a href="tvrecommended.html">${TabSuggested}</a> <a href="tvrecommended.html">${TabSuggested}</a>
<a href="tvlatest.html">${TabLatest}</a> <a href="tvlatest.html">${TabLatest}</a>
<a href="tvupcoming.html">${TabUpcoming}</a> <a href="tvupcoming.html">${TabUpcoming}</a>
@ -75,7 +72,7 @@
</div> </div>
</div> </div>
<div id="musicGenreTabs" class="itemTabs" style="display: none;"> <div id="musicGenreTabs" class="itemTabs" style="display: none;">
<div class="libraryViewNav"> <div class="libraryViewNav scopedLibraryViewNav">
<a href="musicrecommended.html">${TabSuggested}</a> <a href="musicrecommended.html">${TabSuggested}</a>
<a href="songs.html">${TabSongs}</a> <a href="songs.html">${TabSongs}</a>
<a href="musicalbums.html">${TabAlbums}</a> <a href="musicalbums.html">${TabAlbums}</a>
@ -86,7 +83,7 @@
</div> </div>
</div> </div>
<div id="artistTabs" class="itemTabs" style="display: none;"> <div id="artistTabs" class="itemTabs" style="display: none;">
<div class="libraryViewNav"> <div class="libraryViewNav scopedLibraryViewNav">
<a href="musicrecommended.html">${TabSuggested}</a> <a href="musicrecommended.html">${TabSuggested}</a>
<a href="songs.html">${TabSongs}</a> <a href="songs.html">${TabSongs}</a>
<a href="musicalbums.html">${TabAlbums}</a> <a href="musicalbums.html">${TabAlbums}</a>
@ -97,7 +94,7 @@
</div> </div>
</div> </div>
<div id="gameGenreTabs" class="itemTabs" style="display: none;"> <div id="gameGenreTabs" class="itemTabs" style="display: none;">
<div class="libraryViewNav"> <div class="libraryViewNav scopedLibraryViewNav">
<a href="gamesrecommended.html">${TabSuggested}</a> <a href="gamesrecommended.html">${TabSuggested}</a>
<a href="games.html">${TabGames}</a> <a href="games.html">${TabGames}</a>
<a href="gamesystems.html">Game Systems</a> <a href="gamesystems.html">Game Systems</a>
@ -106,7 +103,7 @@
</div> </div>
</div> </div>
<div id="gameStudioTabs" class="itemTabs" style="display: none;"> <div id="gameStudioTabs" class="itemTabs" style="display: none;">
<div class="libraryViewNav"> <div class="libraryViewNav scopedLibraryViewNav">
<a href="gamesrecommended.html">${TabSuggested}</a> <a href="gamesrecommended.html">${TabSuggested}</a>
<a href="games.html">${TabGames}</a> <a href="games.html">${TabGames}</a>
<a href="gamesystems.html">Game Systems</a> <a href="gamesystems.html">Game Systems</a>

View file

@ -6,29 +6,17 @@
<body> <body>
<div id="itemDetailPage" data-role="page" class="page libraryPage" data-theme="b"> <div id="itemDetailPage" data-role="page" class="page libraryPage" data-theme="b">
<div id="movieTabs" class="itemTabs" style="display: none;"> <div id="movieTabs" class="itemTabs" style="display: none;">
<div class="libraryViewNav"> <div class="libraryViewNav scopedLibraryViewNav">
<a href="movieslatest.html">${TabLatest}</a> <a href="movieslatest.html">${TabLatest}</a>
<a href="moviesrecommended.html">${TabSuggested}</a> <a href="moviesrecommended.html">${TabSuggested}</a>
<a href="movies.html" class="ui-btn-active">${TabMovies}</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="moviegenres.html">${TabGenres}</a>
<a href="moviepeople.html">${TabPeople}</a> <a href="moviepeople.html">${TabPeople}</a>
<a href="moviestudios.html">${TabStudios}</a> <a href="moviestudios.html">${TabStudios}</a>
</div> </div>
</div> </div>
<div id="tvShowsTabs" class="itemTabs" style="display: none;"> <div id="tvShowsTabs" class="itemTabs" style="display: none;">
<div class="libraryViewNav"> <div class="libraryViewNav scopedLibraryViewNav">
<a href="tvrecommended.html">${TabSuggested}</a> <a href="tvrecommended.html">${TabSuggested}</a>
<a href="tvlatest.html">${TabLatest}</a> <a href="tvlatest.html">${TabLatest}</a>
<a href="tvupcoming.html">${TabUpcoming}</a> <a href="tvupcoming.html">${TabUpcoming}</a>
@ -40,7 +28,7 @@
</div> </div>
</div> </div>
<div id="songTabs" class="itemTabs" style="display: none;"> <div id="songTabs" class="itemTabs" style="display: none;">
<div class="libraryViewNav"> <div class="libraryViewNav scopedLibraryViewNav">
<a href="musicrecommended.html">${TabSuggested}</a> <a href="musicrecommended.html">${TabSuggested}</a>
<a href="songs.html" class="ui-btn-active">${TabSongs}</a> <a href="songs.html" class="ui-btn-active">${TabSongs}</a>
<a href="musicalbums.html">${TabAlbums}</a> <a href="musicalbums.html">${TabAlbums}</a>
@ -51,7 +39,7 @@
</div> </div>
</div> </div>
<div id="albumTabs" class="itemTabs" style="display: none;"> <div id="albumTabs" class="itemTabs" style="display: none;">
<div class="libraryViewNav"> <div class="libraryViewNav scopedLibraryViewNav">
<a href="musicrecommended.html">${TabSuggested}</a> <a href="musicrecommended.html">${TabSuggested}</a>
<a href="songs.html">${TabSongs}</a> <a href="songs.html">${TabSongs}</a>
<a href="musicalbums.html" class="ui-btn-active">${TabAlbums}</a> <a href="musicalbums.html" class="ui-btn-active">${TabAlbums}</a>
@ -62,7 +50,7 @@
</div> </div>
</div> </div>
<div id="musicVideoTabs" class="itemTabs" style="display: none;"> <div id="musicVideoTabs" class="itemTabs" style="display: none;">
<div class="libraryViewNav"> <div class="libraryViewNav scopedLibraryViewNav">
<a href="musicrecommended.html">${TabSuggested}</a> <a href="musicrecommended.html">${TabSuggested}</a>
<a href="songs.html">${TabSongs}</a> <a href="songs.html">${TabSongs}</a>
<a href="musicalbums.html">${TabAlbums}</a> <a href="musicalbums.html">${TabAlbums}</a>
@ -73,7 +61,7 @@
</div> </div>
</div> </div>
<div id="gameTabs" class="itemTabs" style="display: none;"> <div id="gameTabs" class="itemTabs" style="display: none;">
<div class="libraryViewNav"> <div class="libraryViewNav scopedLibraryViewNav">
<a href="gamesrecommended.html">${TabSuggested}</a> <a href="gamesrecommended.html">${TabSuggested}</a>
<a href="games.html" class="ui-btn-active">${TabGames}</a> <a href="games.html" class="ui-btn-active">${TabGames}</a>
<a href="gamesystems.html">Game Systems</a> <a href="gamesystems.html">Game Systems</a>
@ -82,7 +70,7 @@
</div> </div>
</div> </div>
<div id="gameSystemTabs" class="itemTabs" style="display: none;"> <div id="gameSystemTabs" class="itemTabs" style="display: none;">
<div class="libraryViewNav"> <div class="libraryViewNav scopedLibraryViewNav">
<a href="gamesrecommended.html">${TabSuggested}</a> <a href="gamesrecommended.html">${TabSuggested}</a>
<a href="games.html">${TabGames}</a> <a href="games.html">${TabGames}</a>
<a href="gamesystems.html" class="ui-btn-active">${TabGameSystems}</a> <a href="gamesystems.html" class="ui-btn-active">${TabGameSystems}</a>

View file

@ -4,7 +4,7 @@
<title>${TitleMediaBrowser}</title> <title>${TitleMediaBrowser}</title>
</head> </head>
<body> <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"> <div class="libraryViewNav">
<a href="livetvsuggested.html">${TabSuggested}</a> <a href="livetvsuggested.html">${TabSuggested}</a>
<a href="livetvguide.html">${TabGuide}</a> <a href="livetvguide.html">${TabGuide}</a>

View file

@ -4,7 +4,7 @@
<title>${TitleMediaBrowser}</title> <title>${TitleMediaBrowser}</title>
</head> </head>
<body> <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"> <div class="libraryViewNav">
<a href="livetvsuggested.html">${TabSuggested}</a> <a href="livetvsuggested.html">${TabSuggested}</a>
<a href="livetvguide.html">${TabGuide}</a> <a href="livetvguide.html">${TabGuide}</a>

View file

@ -4,7 +4,7 @@
<title>${TitleMediaBrowser}</title> <title>${TitleMediaBrowser}</title>
</head> </head>
<body> <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"> <div class="libraryViewNav">
<a href="livetvsuggested.html">${TabSuggested}</a> <a href="livetvsuggested.html">${TabSuggested}</a>
<a href="livetvguide.html" class="ui-btn-active">${TabGuide}</a> <a href="livetvguide.html" class="ui-btn-active">${TabGuide}</a>

View file

@ -4,7 +4,7 @@
<title>${TitleMediaBrowser}</title> <title>${TitleMediaBrowser}</title>
</head> </head>
<body> <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"> <div class="libraryViewNav">
<a href="livetvsuggested.html">${TabSuggested}</a> <a href="livetvsuggested.html">${TabSuggested}</a>
<a href="livetvguide.html">${TabGuide}</a> <a href="livetvguide.html">${TabGuide}</a>

View file

@ -4,7 +4,7 @@
<title>${TitleMediaBrowser}</title> <title>${TitleMediaBrowser}</title>
</head> </head>
<body> <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"> <div class="libraryViewNav">
<a href="livetvsuggested.html">${TabSuggested}</a> <a href="livetvsuggested.html">${TabSuggested}</a>
<a href="livetvguide.html">${TabGuide}</a> <a href="livetvguide.html">${TabGuide}</a>

View file

@ -4,7 +4,7 @@
<title>${TitleMediaBrowser}</title> <title>${TitleMediaBrowser}</title>
</head> </head>
<body> <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"> <div class="libraryViewNav">
<a href="livetvsuggested.html">${TabSuggested}</a> <a href="livetvsuggested.html">${TabSuggested}</a>
<a href="livetvguide.html">${TabGuide}</a> <a href="livetvguide.html">${TabGuide}</a>

View file

@ -4,7 +4,7 @@
<title>${TitleMediaBrowser}</title> <title>${TitleMediaBrowser}</title>
</head> </head>
<body> <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"> <div class="libraryViewNav">
<a href="livetvsuggested.html">${TabSuggested}</a> <a href="livetvsuggested.html">${TabSuggested}</a>
<a href="livetvguide.html">${TabGuide}</a> <a href="livetvguide.html">${TabGuide}</a>

View file

@ -4,7 +4,7 @@
<title>${TitleMediaBrowser}</title> <title>${TitleMediaBrowser}</title>
</head> </head>
<body> <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"> <div class="libraryViewNav">
<a href="livetvsuggested.html">${TabSuggested}</a> <a href="livetvsuggested.html">${TabSuggested}</a>
<a href="livetvguide.html">${TabGuide}</a> <a href="livetvguide.html">${TabGuide}</a>

View file

@ -4,7 +4,7 @@
<title>${TitleMediaBrowser}</title> <title>${TitleMediaBrowser}</title>
</head> </head>
<body> <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"> <div class="libraryViewNav">
<a href="livetvsuggested.html">${TabSuggested}</a> <a href="livetvsuggested.html">${TabSuggested}</a>
<a href="livetvguide.html">${TabGuide}</a> <a href="livetvguide.html">${TabGuide}</a>

View file

@ -4,7 +4,7 @@
<title>${TitleMediaBrowser}</title> <title>${TitleMediaBrowser}</title>
</head> </head>
<body> <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"> <div class="libraryViewNav">
<a href="livetvsuggested.html">${TabSuggested}</a> <a href="livetvsuggested.html">${TabSuggested}</a>
<a href="livetvguide.html">${TabGuide}</a> <a href="livetvguide.html">${TabGuide}</a>

View file

@ -4,7 +4,7 @@
<title>${TitleLiveTV}</title> <title>${TitleLiveTV}</title>
</head> </head>
<body> <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 data-role="content">
<div class="content-primary"> <div class="content-primary">

View file

@ -4,7 +4,7 @@
<title>${TitleMediaBrowser}</title> <title>${TitleMediaBrowser}</title>
</head> </head>
<body> <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"> <div class="libraryViewNav">
<a href="#" class="ui-btn-active">${TabSuggested}</a> <a href="#" class="ui-btn-active">${TabSuggested}</a>
<a href="livetvguide.html">${TabGuide}</a> <a href="livetvguide.html">${TabGuide}</a>

View file

@ -4,7 +4,7 @@
<title>${TitleMediaBrowser}</title> <title>${TitleMediaBrowser}</title>
</head> </head>
<body> <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"> <div class="libraryViewNav">
<a href="livetvsuggested.html">${TabSuggested}</a> <a href="livetvsuggested.html">${TabSuggested}</a>
<a href="livetvguide.html">${TabGuide}</a> <a href="livetvguide.html">${TabGuide}</a>

View file

@ -4,7 +4,7 @@
<title>${TitleMediaBrowser}</title> <title>${TitleMediaBrowser}</title>
</head> </head>
<body> <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"> <div class="libraryViewNav">
<a href="livetvsuggested.html">${TabSuggested}</a> <a href="livetvsuggested.html">${TabSuggested}</a>
<a href="livetvguide.html">${TabGuide}</a> <a href="livetvguide.html">${TabGuide}</a>

View file

@ -6,12 +6,11 @@
<body> <body>
<div id="movieGenresPage" data-role="page" class="page libraryPage" data-theme="b" data-view="movies"> <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="movieslatest.html">${TabLatest}</a>
<a href="moviesrecommended.html">${TabSuggested}</a> <a href="moviesrecommended.html">${TabSuggested}</a>
<a href="movies.html">${TabMovies}</a> <a href="movies.html">${TabMovies}</a>
<a href="movietrailers.html">${TabTrailers}</a> <a href="#" class="ui-btn-active">${TabGenres}</a>
<a href="moviegenres.html" class="ui-btn-active">${TabGenres}</a>
<a href="moviepeople.html">${TabPeople}</a> <a href="moviepeople.html">${TabPeople}</a>
<a href="moviestudios.html">${TabStudios}</a> <a href="moviestudios.html">${TabStudios}</a>
</div> </div>

View file

@ -6,13 +6,12 @@
<body> <body>
<div id="moviePeoplePage" data-role="page" class="page libraryPage" data-theme="b" data-view="movies"> <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="movieslatest.html">${TabLatest}</a>
<a href="moviesrecommended.html">${TabSuggested}</a> <a href="moviesrecommended.html">${TabSuggested}</a>
<a href="movies.html">${TabMovies}</a> <a href="movies.html">${TabMovies}</a>
<a href="movietrailers.html">${TabTrailers}</a>
<a href="moviegenres.html">${TabGenres}</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> <a href="moviestudios.html">${TabStudios}</a>
</div> </div>

View file

@ -6,11 +6,10 @@
<body> <body>
<div id="moviesPage" data-role="page" class="page libraryPage" data-theme="b" data-view="movies"> <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="movieslatest.html">${TabLatest}</a>
<a href="moviesrecommended.html">${TabSuggested}</a> <a href="moviesrecommended.html">${TabSuggested}</a>
<a href="movies.html" class="ui-btn-active">${TabMovies}</a> <a href="#" class="ui-btn-active">${TabMovies}</a>
<a href="movietrailers.html">${TabTrailers}</a>
<a href="moviegenres.html">${TabGenres}</a> <a href="moviegenres.html">${TabGenres}</a>
<a href="moviepeople.html">${TabPeople}</a> <a href="moviepeople.html">${TabPeople}</a>
<a href="moviestudios.html">${TabStudios}</a> <a href="moviestudios.html">${TabStudios}</a>

View file

@ -6,11 +6,10 @@
<body> <body>
<div id="moviesLatestPage" data-role="page" class="page libraryPage" data-theme="b" data-view="movies"> <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="#" class="ui-btn-active">${TabLatest}</a>
<a href="moviesrecommended.html">${TabSuggested}</a> <a href="moviesrecommended.html">${TabSuggested}</a>
<a href="movies.html">${TabMovies}</a> <a href="movies.html">${TabMovies}</a>
<a href="movietrailers.html">${TabTrailers}</a>
<a href="moviegenres.html">${TabGenres}</a> <a href="moviegenres.html">${TabGenres}</a>
<a href="moviepeople.html">${TabPeople}</a> <a href="moviepeople.html">${TabPeople}</a>
<a href="moviestudios.html">${TabStudios}</a> <a href="moviestudios.html">${TabStudios}</a>
@ -25,13 +24,6 @@
<div id="recentlyAddedItems"> <div id="recentlyAddedItems">
</div> </div>
<div id="trailerSection" style="display: none;">
<h1 class="listHeader">${HeaderLatestTrailers}</h1>
<div id="trailerItems">
</div>
</div>
</td> </td>
</tr> </tr>
</table> </table>

View file

@ -6,11 +6,10 @@
<body> <body>
<div id="moviesRecommendedPage" data-role="page" class="page libraryPage" data-theme="b" data-view="movies"> <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="movieslatest.html">${TabLatest}</a>
<a href="#" class="ui-btn-active">${TabSuggested}</a> <a href="#" class="ui-btn-active">${TabSuggested}</a>
<a href="movies.html">${TabMovies}</a> <a href="movies.html">${TabMovies}</a>
<a href="movietrailers.html">${TabTrailers}</a>
<a href="moviegenres.html">${TabGenres}</a> <a href="moviegenres.html">${TabGenres}</a>
<a href="moviepeople.html">${TabPeople}</a> <a href="moviepeople.html">${TabPeople}</a>
<a href="moviestudios.html">${TabStudios}</a> <a href="moviestudios.html">${TabStudios}</a>

View file

@ -6,14 +6,13 @@
<body> <body>
<div id="movieStudiosPage" data-role="page" class="page libraryPage" data-theme="b" data-view="movies"> <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="movieslatest.html">${TabLatest}</a>
<a href="moviesrecommended.html">${TabSuggested}</a> <a href="moviesrecommended.html">${TabSuggested}</a>
<a href="movies.html">${TabMovies}</a> <a href="movies.html">${TabMovies}</a>
<a href="movietrailers.html">${TabTrailers}</a>
<a href="moviegenres.html">${TabGenres}</a> <a href="moviegenres.html">${TabGenres}</a>
<a href="moviepeople.html">${TabPeople}</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>
<div data-role="content"> <div data-role="content">

View file

@ -4,17 +4,7 @@
<title>${TitleMediaBrowser}</title> <title>${TitleMediaBrowser}</title>
</head> </head>
<body> <body>
<div id="movieTrailersPage" data-role="page" class="page libraryPage" data-theme="b" data-view="movies"> <div id="movieTrailersPage" data-role="page" class="page libraryPage trailerPage" 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 class="alphabetPicker"> <div class="alphabetPicker">
</div> </div>

View file

@ -5,11 +5,11 @@
</head> </head>
<body> <body>
<div id="musicAlbumArtistsPage" data-role="page" class="page libraryPage" data-theme="b" data-view="music"> <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="musicrecommended.html">${TabSuggested}</a>
<a href="songs.html">${TabSongs}</a> <a href="songs.html">${TabSongs}</a>
<a href="musicalbums.html">${TabAlbums}</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="musicartists.html">${TabArtists}</a>
<a href="musicgenres.html">${TabGenres}</a> <a href="musicgenres.html">${TabGenres}</a>
<a href="musicvideos.html">${TabMusicVideos}</a> <a href="musicvideos.html">${TabMusicVideos}</a>

View file

@ -5,10 +5,10 @@
</head> </head>
<body> <body>
<div id="musicAlbumsPage" data-role="page" class="page libraryPage" data-theme="b" data-view="music"> <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="musicrecommended.html">${TabSuggested}</a>
<a href="songs.html">${TabSongs}</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="musicalbumartists.html">${TabAlbumArtists}</a>
<a href="musicartists.html">${TabArtists}</a> <a href="musicartists.html">${TabArtists}</a>
<a href="musicgenres.html">${TabGenres}</a> <a href="musicgenres.html">${TabGenres}</a>

View file

@ -5,12 +5,12 @@
</head> </head>
<body> <body>
<div id="musicArtistsPage" data-role="page" class="page libraryPage" data-theme="b" data-view="music"> <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="musicrecommended.html">${TabSuggested}</a>
<a href="songs.html">${TabSongs}</a> <a href="songs.html">${TabSongs}</a>
<a href="musicalbums.html">${TabAlbums}</a> <a href="musicalbums.html">${TabAlbums}</a>
<a href="musicalbumartists.html">${TabAlbumArtists}</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="musicgenres.html">${TabGenres}</a>
<a href="musicvideos.html">${TabMusicVideos}</a> <a href="musicvideos.html">${TabMusicVideos}</a>
</div> </div>

View file

@ -5,13 +5,13 @@
</head> </head>
<body> <body>
<div id="musicGenresPage" data-role="page" class="page libraryPage" data-theme="b" data-view="music"> <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="musicrecommended.html">${TabSuggested}</a>
<a href="songs.html">${TabSongs}</a> <a href="songs.html">${TabSongs}</a>
<a href="musicalbums.html">${TabAlbums}</a> <a href="musicalbums.html">${TabAlbums}</a>
<a href="musicalbumartists.html">${TabAlbumArtists}</a> <a href="musicalbumartists.html">${TabAlbumArtists}</a>
<a href="musicartists.html">${TabArtists}</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> <a href="musicvideos.html">${TabMusicVideos}</a>
</div> </div>
<div data-role="content"> <div data-role="content">

View file

@ -5,8 +5,8 @@
</head> </head>
<body> <body>
<div id="musicRecommendedPage" data-role="page" class="page libraryPage" data-theme="b" data-view="music"> <div id="musicRecommendedPage" data-role="page" class="page libraryPage" data-theme="b" data-view="music">
<div class="libraryViewNav"> <div class="libraryViewNav scopedLibraryViewNav">
<a href="musicrecommended.html" class="ui-btn-active">${TabSuggested}</a> <a href="#" class="ui-btn-active">${TabSuggested}</a>
<a href="songs.html">${TabSongs}</a> <a href="songs.html">${TabSongs}</a>
<a href="musicalbums.html">${TabAlbums}</a> <a href="musicalbums.html">${TabAlbums}</a>
<a href="musicalbumartists.html">${TabAlbumArtists}</a> <a href="musicalbumartists.html">${TabAlbumArtists}</a>

View file

@ -6,14 +6,14 @@
<body> <body>
<div id="musicVideosPage" data-role="page" class="page libraryPage" data-theme="b" data-view="music"> <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="musicrecommended.html">${TabSuggested}</a>
<a href="songs.html">${TabSongs}</a> <a href="songs.html">${TabSongs}</a>
<a href="musicalbums.html">${TabAlbums}</a> <a href="musicalbums.html">${TabAlbums}</a>
<a href="musicalbumartists.html">${TabAlbumArtists}</a> <a href="musicalbumartists.html">${TabAlbumArtists}</a>
<a href="musicartists.html">${TabArtists}</a> <a href="musicartists.html">${TabArtists}</a>
<a href="musicgenres.html">${TabGenres}</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>
<div class="alphabetPicker"> <div class="alphabetPicker">

View file

@ -13,6 +13,11 @@
IsVirtualUnaired: false IsVirtualUnaired: false
}; };
function getSavedQueryKey() {
return 'episodes' + (query.ParentId || '');
}
function reloadItems(page) { function reloadItems(page) {
Dashboard.showLoadingMsg(); Dashboard.showLoadingMsg();
@ -60,9 +65,7 @@
reloadItems(page); reloadItems(page);
}); });
if (getParameterByName('savequery') != 'false') { LibraryBrowser.saveQueryValues(getSavedQueryKey(), query);
LibraryBrowser.saveQueryValues('episodes', query);
}
Dashboard.hideLoadingMsg(); Dashboard.hideLoadingMsg();
}); });
@ -269,6 +272,8 @@
}).on('pagebeforeshow', "#episodesPage", function () { }).on('pagebeforeshow', "#episodesPage", function () {
query.ParentId = LibraryMenu.getTopParentId();
var limit = LibraryBrowser.getDefaultPageSize(); var limit = LibraryBrowser.getDefaultPageSize();
// If the default page size has changed, the start index will have to be reset // If the default page size has changed, the start index will have to be reset
@ -277,7 +282,7 @@
query.StartIndex = 0; query.StartIndex = 0;
} }
LibraryBrowser.loadSavedQueryValues('episodes', query); LibraryBrowser.loadSavedQueryValues(getSavedQueryKey(), query);
var filters = getParameterByName('filters'); var filters = getParameterByName('filters');
if (filters) { if (filters) {

View file

@ -251,6 +251,20 @@ function getParameterByName(name, url) {
return decodeURIComponent(results[1].replace(/\+/g, " ")); 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) { function parseISO8601Date(s, options) {
options = options || {}; options = options || {};

View file

@ -10,6 +10,11 @@
StartIndex: 0 StartIndex: 0
}; };
function getSavedQueryKey() {
return 'gamegenres' + (query.ParentId || '');
}
function reloadItems(page) { function reloadItems(page) {
Dashboard.showLoadingMsg(); Dashboard.showLoadingMsg();
@ -54,7 +59,7 @@
reloadItems(page); reloadItems(page);
}); });
LibraryBrowser.saveQueryValues('gamegenres', query); LibraryBrowser.saveQueryValues(getSavedQueryKey(), query);
Dashboard.hideLoadingMsg(); Dashboard.hideLoadingMsg();
}); });
@ -87,6 +92,8 @@
}).on('pagebeforeshow', "#gameGenresPage", function () { }).on('pagebeforeshow', "#gameGenresPage", function () {
query.ParentId = LibraryMenu.getTopParentId();
var limit = LibraryBrowser.getDefaultPageSize(); var limit = LibraryBrowser.getDefaultPageSize();
// If the default page size has changed, the start index will have to be reset // If the default page size has changed, the start index will have to be reset
@ -95,7 +102,7 @@
query.StartIndex = 0; query.StartIndex = 0;
} }
LibraryBrowser.loadSavedQueryValues('gamegenres', query); LibraryBrowser.loadSavedQueryValues(getSavedQueryKey(), query);
reloadItems(this); reloadItems(this);

View file

@ -12,6 +12,11 @@
StartIndex: 0 StartIndex: 0
}; };
function getSavedQueryKey() {
return 'games' + (query.ParentId || '');
}
function reloadItems(page) { function reloadItems(page) {
Dashboard.showLoadingMsg(); Dashboard.showLoadingMsg();
@ -56,7 +61,7 @@
reloadItems(page); reloadItems(page);
}); });
LibraryBrowser.saveQueryValues('games', query); LibraryBrowser.saveQueryValues(getSavedQueryKey(), query);
Dashboard.hideLoadingMsg(); Dashboard.hideLoadingMsg();
}); });
@ -190,6 +195,8 @@
}).on('pagebeforeshow', "#gamesPage", function () { }).on('pagebeforeshow', "#gamesPage", function () {
query.ParentId = LibraryMenu.getTopParentId();
var limit = LibraryBrowser.getDefaultPageSize(); var limit = LibraryBrowser.getDefaultPageSize();
// If the default page size has changed, the start index will have to be reset // If the default page size has changed, the start index will have to be reset
@ -198,7 +205,7 @@
query.StartIndex = 0; query.StartIndex = 0;
} }
LibraryBrowser.loadSavedQueryValues('games', query); LibraryBrowser.loadSavedQueryValues(getSavedQueryKey(), query);
reloadItems(this); reloadItems(this);

View file

@ -2,6 +2,8 @@
$(document).on('pagebeforeshow', "#gamesRecommendedPage", function () { $(document).on('pagebeforeshow', "#gamesRecommendedPage", function () {
var parentId = LibraryMenu.getTopParentId();
var page = this; var page = this;
var options = { var options = {
@ -11,7 +13,8 @@
MediaTypes: "Game", MediaTypes: "Game",
Limit: 10, Limit: 10,
Recursive: true, Recursive: true,
Fields: "ItemCounts,AudioInfo,PrimaryImageAspectRatio" Fields: "ItemCounts,AudioInfo,PrimaryImageAspectRatio",
ParentId: parentId
}; };
ApiClient.getItems(Dashboard.getCurrentUserId(), options).done(function (result) { ApiClient.getItems(Dashboard.getCurrentUserId(), options).done(function (result) {
@ -32,7 +35,8 @@
Limit: 10, Limit: 10,
Recursive: true, Recursive: true,
Filters: "IsPlayed", Filters: "IsPlayed",
Fields: "ItemCounts,AudioInfo,PrimaryImageAspectRatio" Fields: "ItemCounts,AudioInfo,PrimaryImageAspectRatio",
ParentId: parentId
}; };
ApiClient.getItems(Dashboard.getCurrentUserId(), options).done(function (result) { ApiClient.getItems(Dashboard.getCurrentUserId(), options).done(function (result) {

View file

@ -11,6 +11,11 @@
StartIndex: 0 StartIndex: 0
}; };
function getSavedQueryKey() {
return 'gamestudios' + (query.ParentId || '');
}
function reloadItems(page) { function reloadItems(page) {
Dashboard.showLoadingMsg(); Dashboard.showLoadingMsg();
@ -55,7 +60,7 @@
reloadItems(page); reloadItems(page);
}); });
LibraryBrowser.saveQueryValues('gamestudios', query); LibraryBrowser.saveQueryValues(getSavedQueryKey(), query);
Dashboard.hideLoadingMsg(); Dashboard.hideLoadingMsg();
}); });
@ -88,6 +93,8 @@
}).on('pagebeforeshow', "#gameStudiosPage", function () { }).on('pagebeforeshow', "#gameStudiosPage", function () {
query.ParentId = LibraryMenu.getTopParentId();
var limit = LibraryBrowser.getDefaultPageSize(); var limit = LibraryBrowser.getDefaultPageSize();
// If the default page size has changed, the start index will have to be reset // If the default page size has changed, the start index will have to be reset
@ -96,7 +103,7 @@
query.StartIndex = 0; query.StartIndex = 0;
} }
LibraryBrowser.loadSavedQueryValues('gamestudios', query); LibraryBrowser.loadSavedQueryValues(getSavedQueryKey(), query);
reloadItems(this); reloadItems(this);

View file

@ -11,6 +11,11 @@
StartIndex: 0 StartIndex: 0
}; };
function getSavedQueryKey() {
return 'gamesystems' + (query.ParentId || '');
}
function reloadItems(page) { function reloadItems(page) {
Dashboard.showLoadingMsg(); Dashboard.showLoadingMsg();
@ -52,7 +57,7 @@
reloadItems(page); reloadItems(page);
}); });
LibraryBrowser.saveQueryValues('gamesystems', query); LibraryBrowser.saveQueryValues(getSavedQueryKey(), query);
Dashboard.hideLoadingMsg(); Dashboard.hideLoadingMsg();
}); });
@ -65,6 +70,8 @@
$(document).on('pagebeforeshow', "#gamesystemsPage", function () { $(document).on('pagebeforeshow', "#gamesystemsPage", function () {
query.ParentId = LibraryMenu.getTopParentId();
var limit = LibraryBrowser.getDefaultPageSize(); var limit = LibraryBrowser.getDefaultPageSize();
// If the default page size has changed, the start index will have to be reset // If the default page size has changed, the start index will have to be reset
@ -73,7 +80,7 @@
query.StartIndex = 0; query.StartIndex = 0;
} }
LibraryBrowser.loadSavedQueryValues('gamesystems', query); LibraryBrowser.loadSavedQueryValues(getSavedQueryKey(), query);
reloadItems(this); reloadItems(this);

View file

@ -1,225 +1,71 @@
(function ($, document, apiClient) { (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 () { $(document).on('pagebeforeshow', "#indexPage", function () {
var parentId = LibraryMenu.getTopParentId();
var screenWidth = $(window).width();
var page = this; var page = this;
var userId = Dashboard.getCurrentUserId();
if (!userId) {
return;
}
renderViews(page, userId);
var options = { 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, items: result.Items,
showTitle: true, preferBackdrop: true,
shape: "backdrop", shape: 'backdrop',
centerText: true 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); })(jQuery, document, ApiClient);

View file

@ -192,10 +192,6 @@
$('#gameSystemTabs', page).show(); $('#gameSystemTabs', page).show();
} }
if (item.Type == "Trailer") {
$('#trailerTabs', page).show();
}
if (item.Type == "Episode" || item.Type == "Season" || item.Type == "Series") { if (item.Type == "Episode" || item.Type == "Season" || item.Type == "Series") {
$('#tvShowsTabs', page).show(); $('#tvShowsTabs', page).show();
} }

View file

@ -74,7 +74,9 @@
Dashboard.hideLoadingMsg(); 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) { promise.done(function (item) {

View file

@ -742,7 +742,7 @@
html += "</div>"; html += "</div>";
} }
var overlayText = forceName || options.overlayText; var overlayText = options.overlayText || (forceName && !options.showTitle);
if (overlayText) { if (overlayText) {
html += '<div class="posterItemTextOverlay">'; html += '<div class="posterItemTextOverlay">';

View file

@ -2,17 +2,23 @@
var itemCountsPromise; var itemCountsPromise;
var liveTvInfoPromise; var liveTvInfoPromise;
var itemsPromise;
function ensurePromises() { function ensurePromises() {
itemsPromise = itemsPromise || ApiClient.getItems(Dashboard.getCurrentUserId(), {
SortBy: "SortName"
});
itemCountsPromise = itemCountsPromise || ApiClient.getItemCounts(Dashboard.getCurrentUserId()); itemCountsPromise = itemCountsPromise || ApiClient.getItemCounts(Dashboard.getCurrentUserId());
liveTvInfoPromise = liveTvInfoPromise || ApiClient.getLiveTvInfo(); liveTvInfoPromise = liveTvInfoPromise || ApiClient.getLiveTvInfo();
} }
function renderHeader(page, user) { function renderHeader(user) {
var html = '<div class="viewMenuBar ui-bar-b">'; 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>'; html += '<a class="desktopHomeLink" href="index.html"><img src="css/images/mblogoicon.png" /></a>';
@ -53,72 +59,90 @@
html += '</div>'; html += '</div>';
var $page = $(page); $(document.body).prepend(html);
$page.prepend(html); $('.viewMenuBar').trigger('create');
$('.viewMenuBar', page).trigger('create'); $(document).trigger('headercreated');
$page.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 html = '';
var selectedCssClass = ' selectedViewLink'; html += items.map(function (i) {
var selectedHtml = "<span class='selectedViewIndicator'>&#9654;</span>";
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.ChannelCount) {
} html += '<a class="viewMenuLink viewMenuTextLink desktopViewMenuLink lnkMediaFolder" href="channels.html"><span class="viewName">Channels</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 (liveTvInfo.EnabledUsers.indexOf(user.Id) != -1) { 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) { $('.viewMenuRemoteControlButton').before(html);
html += '<a class="viewMenuLink viewMenuTextLink desktopViewMenuLink' + (view == 'music' ? selectedCssClass : '') + '" href="musicrecommended.html">' + (view == 'music' ? selectedHtml : '') + '<span class="viewName">Music</span></a>';
} }
if (counts.GameCount) { function showLibraryMenu() {
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) {
ensurePromises(); ensurePromises();
$.when(itemCountsPromise, liveTvInfoPromise).done(function (response1, response2) { $.when(itemCountsPromise, itemsPromise, liveTvInfoPromise).done(function (response1, response2, response3) {
var counts = response1[0]; 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'); $(panel).panel('toggle');
}); });
} }
function getLibraryMenu(page, counts, liveTvInfo) { function getLibraryMenu(page, counts, items, liveTvInfo) {
var panel = $('#libraryPanel', page); var panel = $('#libraryPanel', page);
@ -132,34 +156,20 @@
html += '<ul data-role="listview">'; html += '<ul data-role="listview">';
if (counts.MovieCount) { html += items.map(function (i) {
html += '<li><a class="libraryPanelLink" href="movieslatest.html">Movies</a></li>';
}
if (counts.SeriesCount) { return '<li><a data-itemid="' + i.Id + '" class="libraryPanelLink lnkMediaFolder" href="' + getItemHref(i) + '">' + i.Name + '</a></li>';
html += '<li><a class="libraryPanelLink" href="tvrecommended.html">TV</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) { 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 += '</ul>';
html += '</div>'; html += '</div>';
@ -171,8 +181,15 @@
return panel; return panel;
} }
function getTopParentId() {
return getParameterByName('topParentId') || sessionStorage.getItem('topParentId') || null;
}
window.LibraryMenu = { window.LibraryMenu = {
showLibraryMenu: showLibraryMenu showLibraryMenu: showLibraryMenu,
getTopParentId: getTopParentId
}; };
function updateCastIcon() { 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 () { $(document).on('pageinit', ".libraryPage", function () {
var page = this; var page = this;
@ -201,31 +260,42 @@
}); });
}).on('pagebeforeshow', ".libraryPage", function () { }).on('pagebeforeshow', ".page", function () {
var page = this; var page = this;
if (!$('.viewMenuBar', page).length) { if ($(page).hasClass('libraryPage')) {
if (!$('.viewMenuBar').length) {
Dashboard.getCurrentUser().done(function (user) { Dashboard.getCurrentUser().done(function (user) {
renderHeader(page, user); renderHeader(user);
ensurePromises(); ensurePromises();
$.when(itemCountsPromise, liveTvInfoPromise).done(function (response1, response2) { $.when(itemCountsPromise, itemsPromise, liveTvInfoPromise).done(function (response1, response2, response3) {
var counts = response1[0]; 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 () { }).on('pageshow', ".libraryPage", function () {
@ -239,6 +309,7 @@
// Scroll back up so in case vertical scroll was messed with // Scroll back up so in case vertical scroll was messed with
$(document).scrollTop(0); $(document).scrollTop(0);
} }
}); });
$(function () { $(function () {
@ -249,5 +320,4 @@
}); });
})(window, document, jQuery); })(window, document, jQuery);

View file

@ -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($.mobile.activePage);
showPlayerSelection(page);
}); });
}); });

View file

@ -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) { function sendProgressUpdate(itemId, mediaSourceId) {
ApiClient.reportPlaybackProgress({ ApiClient.reportPlaybackProgress({

View file

@ -11,6 +11,11 @@
StartIndex: 0 StartIndex: 0
}; };
function getSavedQueryKey() {
return 'moviegenres' + (query.ParentId || '');
}
function reloadItems(page) { function reloadItems(page) {
Dashboard.showLoadingMsg(); Dashboard.showLoadingMsg();
@ -55,7 +60,7 @@
reloadItems(page); reloadItems(page);
}); });
LibraryBrowser.saveQueryValues('moviegenres', query); LibraryBrowser.saveQueryValues(getSavedQueryKey(), query);
Dashboard.hideLoadingMsg(); Dashboard.hideLoadingMsg();
}); });
@ -88,6 +93,8 @@
}).on('pagebeforeshow', "#movieGenresPage", function () { }).on('pagebeforeshow', "#movieGenresPage", function () {
query.ParentId = LibraryMenu.getTopParentId();
var limit = LibraryBrowser.getDefaultPageSize(); var limit = LibraryBrowser.getDefaultPageSize();
// If the default page size has changed, the start index will have to be reset // If the default page size has changed, the start index will have to be reset
@ -96,7 +103,7 @@
query.StartIndex = 0; query.StartIndex = 0;
} }
LibraryBrowser.loadSavedQueryValues('moviegenres', query); LibraryBrowser.loadSavedQueryValues(getSavedQueryKey(), query);
reloadItems(this); reloadItems(this);

View file

@ -13,6 +13,11 @@
Limit: 100 Limit: 100
}; };
function getSavedQueryKey() {
return 'moviepeople' + (query.ParentId || '');
}
function reloadItems(page) { function reloadItems(page) {
Dashboard.showLoadingMsg(); Dashboard.showLoadingMsg();
@ -52,7 +57,7 @@
reloadItems(page); reloadItems(page);
}); });
LibraryBrowser.saveQueryValues('moviepeople', query); LibraryBrowser.saveQueryValues(getSavedQueryKey(), query);
Dashboard.hideLoadingMsg(); Dashboard.hideLoadingMsg();
}); });
@ -126,7 +131,17 @@
}).on('pagebeforeshow', "#moviePeoplePage", function () { }).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); reloadItems(this);

View file

@ -13,6 +13,11 @@
StartIndex: 0 StartIndex: 0
}; };
function getSavedQueryKey() {
return 'movies' + (query.ParentId || '');
}
function reloadItems(page) { function reloadItems(page) {
Dashboard.showLoadingMsg(); Dashboard.showLoadingMsg();
@ -96,7 +101,7 @@
reloadItems(page); reloadItems(page);
}); });
LibraryBrowser.saveQueryValues('movies', query); LibraryBrowser.saveQueryValues(getSavedQueryKey(), query);
Dashboard.hideLoadingMsg(); Dashboard.hideLoadingMsg();
}); });
@ -203,7 +208,7 @@
reloadItems(page); reloadItems(page);
} }
LibraryBrowser.saveViewSetting('movies', view); LibraryBrowser.saveViewSetting(getSavedQueryKey(), view);
}); });
$('.chkVideoTypeFilter', this).on('change', function () { $('.chkVideoTypeFilter', this).on('change', function () {
@ -361,6 +366,8 @@
}).on('pagebeforeshow', "#moviesPage", function () { }).on('pagebeforeshow', "#moviesPage", function () {
query.ParentId = LibraryMenu.getTopParentId();
var page = this; var page = this;
var limit = LibraryBrowser.getDefaultPageSize(); var limit = LibraryBrowser.getDefaultPageSize();
@ -370,9 +377,11 @@
query.StartIndex = 0; 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) { if (val) {
$('#selectView', page).val(val).selectmenu('refresh').trigger('change'); $('#selectView', page).val(val).selectmenu('refresh').trigger('change');

View file

@ -2,6 +2,8 @@
$(document).on('pagebeforeshow', "#moviesLatestPage", function () { $(document).on('pagebeforeshow', "#moviesLatestPage", function () {
var parentId = LibraryMenu.getTopParentId();
var screenWidth = $(window).width(); var screenWidth = $(window).width();
var page = this; var page = this;
@ -11,11 +13,12 @@
SortBy: "DateCreated", SortBy: "DateCreated",
SortOrder: "Descending", SortOrder: "Descending",
IncludeItemTypes: "Movie", 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, Recursive: true,
Fields: "PrimaryImageAspectRatio", Fields: "PrimaryImageAspectRatio",
Filters: "IsUnplayed", Filters: "IsUnplayed",
CollapseBoxSetItems: false CollapseBoxSetItems: false,
ParentId: parentId
}; };
ApiClient.getItems(Dashboard.getCurrentUserId(), options).done(function (result) { ApiClient.getItems(Dashboard.getCurrentUserId(), options).done(function (result) {
@ -26,34 +29,6 @@
})).createPosterItemMenus(); })).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();
});
}); });

View file

@ -37,6 +37,8 @@
$(document).on('pagebeforeshow', "#moviesRecommendedPage", function () { $(document).on('pagebeforeshow', "#moviesRecommendedPage", function () {
var parentId = LibraryMenu.getTopParentId();
var screenWidth = $(window).width(); var screenWidth = $(window).width();
var page = this; var page = this;
@ -50,7 +52,8 @@
Limit: screenWidth >= 1920 ? 4 : (screenWidth >= 1440 ? 4 : 3), Limit: screenWidth >= 1920 ? 4 : (screenWidth >= 1440 ? 4 : 3),
Recursive: true, Recursive: true,
Fields: "PrimaryImageAspectRatio", Fields: "PrimaryImageAspectRatio",
CollapseBoxSetItems: false CollapseBoxSetItems: false,
ParentId: parentId
}; };
ApiClient.getItems(Dashboard.getCurrentUserId(), options).done(function (result) { ApiClient.getItems(Dashboard.getCurrentUserId(), options).done(function (result) {
@ -77,7 +80,8 @@
userId: Dashboard.getCurrentUserId(), userId: Dashboard.getCurrentUserId(),
categoryLimit: screenWidth >= 1200 ? 6 : 3, categoryLimit: screenWidth >= 1200 ? 6 : 3,
itemLimit: screenWidth >= 1920 ? 8 : (screenWidth >= 1440 ? 8 : 6), itemLimit: screenWidth >= 1920 ? 8 : (screenWidth >= 1440 ? 8 : 6),
Fields: "PrimaryImageAspectRatio" Fields: "PrimaryImageAspectRatio",
ParentId: parentId
}); });
$.getJSON(url).done(function(recommendations) { $.getJSON(url).done(function(recommendations) {

View file

@ -11,6 +11,11 @@
StartIndex: 0 StartIndex: 0
}; };
function getSavedQueryKey() {
return 'moviestudios' + (query.ParentId || '');
}
function reloadItems(page) { function reloadItems(page) {
Dashboard.showLoadingMsg(); Dashboard.showLoadingMsg();
@ -55,7 +60,7 @@
reloadItems(page); reloadItems(page);
}); });
LibraryBrowser.saveQueryValues('moviestudios', query); LibraryBrowser.saveQueryValues(getSavedQueryKey(), query);
Dashboard.hideLoadingMsg(); Dashboard.hideLoadingMsg();
}); });
@ -87,6 +92,8 @@
}).on('pagebeforeshow', "#movieStudiosPage", function () { }).on('pagebeforeshow', "#movieStudiosPage", function () {
query.ParentId = LibraryMenu.getTopParentId();
var limit = LibraryBrowser.getDefaultPageSize(); var limit = LibraryBrowser.getDefaultPageSize();
// If the default page size has changed, the start index will have to be reset // If the default page size has changed, the start index will have to be reset
@ -95,7 +102,7 @@
query.StartIndex = 0; query.StartIndex = 0;
} }
LibraryBrowser.loadSavedQueryValues('moviestudios', query); LibraryBrowser.loadSavedQueryValues(getSavedQueryKey(), query);
reloadItems(this); reloadItems(this);

View file

@ -11,6 +11,11 @@
StartIndex: 0 StartIndex: 0
}; };
function getSavedQueryKey() {
return 'musicartists' + (query.ParentId || '');
}
function reloadItems(page) { function reloadItems(page) {
Dashboard.showLoadingMsg(); Dashboard.showLoadingMsg();
@ -56,7 +61,7 @@
reloadItems(page); reloadItems(page);
}); });
LibraryBrowser.saveQueryValues('musicartists', query); LibraryBrowser.saveQueryValues(getSavedQueryKey(), query);
Dashboard.hideLoadingMsg(); Dashboard.hideLoadingMsg();
}); });
@ -104,6 +109,8 @@
}).on('pagebeforeshow', "#musicAlbumArtistsPage", function () { }).on('pagebeforeshow', "#musicAlbumArtistsPage", function () {
query.ParentId = LibraryMenu.getTopParentId();
var limit = LibraryBrowser.getDefaultPageSize(); var limit = LibraryBrowser.getDefaultPageSize();
// If the default page size has changed, the start index will have to be reset // If the default page size has changed, the start index will have to be reset
@ -112,7 +119,7 @@
query.StartIndex = 0; query.StartIndex = 0;
} }
LibraryBrowser.loadSavedQueryValues('musicartists', query); LibraryBrowser.loadSavedQueryValues(getSavedQueryKey(), query);
reloadItems(this); reloadItems(this);

View file

@ -13,6 +13,11 @@
StartIndex: 0 StartIndex: 0
}; };
function getSavedQueryKey() {
return 'musicalbums' + (query.ParentId || '');
}
function reloadItems(page) { function reloadItems(page) {
Dashboard.showLoadingMsg(); Dashboard.showLoadingMsg();
@ -72,7 +77,7 @@
reloadItems(page); reloadItems(page);
}); });
LibraryBrowser.saveQueryValues('musicalbums', query); LibraryBrowser.saveQueryValues(getSavedQueryKey(), query);
Dashboard.hideLoadingMsg(); Dashboard.hideLoadingMsg();
}); });
@ -157,7 +162,7 @@
} else { } else {
reloadItems(page); reloadItems(page);
} }
LibraryBrowser.saveViewSetting('musicalbums', view); LibraryBrowser.saveViewSetting(getSavedQueryKey(), view);
}); });
$('.alphabetPicker', page).on('alphaselect', function (e, character) { $('.alphabetPicker', page).on('alphaselect', function (e, character) {
@ -184,6 +189,8 @@
}).on('pagebeforeshow', "#musicAlbumsPage", function () { }).on('pagebeforeshow', "#musicAlbumsPage", function () {
query.ParentId = LibraryMenu.getTopParentId();
var page = this; var page = this;
var limit = LibraryBrowser.getDefaultPageSize(); var limit = LibraryBrowser.getDefaultPageSize();
@ -193,9 +200,10 @@
query.StartIndex = 0; 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) { if (val) {
$('#selectView', page).val(val).selectmenu('refresh').trigger('change'); $('#selectView', page).val(val).selectmenu('refresh').trigger('change');

View file

@ -10,6 +10,11 @@
StartIndex: 0 StartIndex: 0
}; };
function getSavedQueryKey() {
return 'musicartists' + (query.ParentId || '');
}
function reloadItems(page) { function reloadItems(page) {
Dashboard.showLoadingMsg(); Dashboard.showLoadingMsg();
@ -55,7 +60,7 @@
reloadItems(page); reloadItems(page);
}); });
LibraryBrowser.saveQueryValues('musicartists', query); LibraryBrowser.saveQueryValues(getSavedQueryKey(), query);
Dashboard.hideLoadingMsg(); Dashboard.hideLoadingMsg();
}); });
@ -103,6 +108,8 @@
}).on('pagebeforeshow', "#musicArtistsPage", function () { }).on('pagebeforeshow', "#musicArtistsPage", function () {
query.ParentId = LibraryMenu.getTopParentId();
var limit = LibraryBrowser.getDefaultPageSize(); var limit = LibraryBrowser.getDefaultPageSize();
// If the default page size has changed, the start index will have to be reset // If the default page size has changed, the start index will have to be reset
@ -111,7 +118,7 @@
query.StartIndex = 0; query.StartIndex = 0;
} }
LibraryBrowser.loadSavedQueryValues('musicartists', query); LibraryBrowser.loadSavedQueryValues(getSavedQueryKey(), query);
reloadItems(this); reloadItems(this);

View file

@ -11,6 +11,11 @@
StartIndex: 0 StartIndex: 0
}; };
function getSavedQueryKey() {
return 'musicgenres' + (query.ParentId || '');
}
function reloadItems(page) { function reloadItems(page) {
Dashboard.showLoadingMsg(); Dashboard.showLoadingMsg();
@ -56,7 +61,7 @@
reloadItems(page); reloadItems(page);
}); });
LibraryBrowser.saveQueryValues('musicgenres', query); LibraryBrowser.saveQueryValues(getSavedQueryKey(), query);
Dashboard.hideLoadingMsg(); Dashboard.hideLoadingMsg();
}); });
@ -89,6 +94,8 @@
}).on('pagebeforeshow', "#musicGenresPage", function () { }).on('pagebeforeshow', "#musicGenresPage", function () {
query.ParentId = LibraryMenu.getTopParentId();
var limit = LibraryBrowser.getDefaultPageSize(); var limit = LibraryBrowser.getDefaultPageSize();
// If the default page size has changed, the start index will have to be reset // If the default page size has changed, the start index will have to be reset
@ -97,7 +104,7 @@
query.StartIndex = 0; query.StartIndex = 0;
} }
LibraryBrowser.loadSavedQueryValues('musicgenres', query); LibraryBrowser.loadSavedQueryValues(getSavedQueryKey(), query);
reloadItems(this); reloadItems(this);

View file

@ -6,6 +6,8 @@
var page = this; var page = this;
var parentId = LibraryMenu.getTopParentId();
var options = { var options = {
SortBy: "DateCreated", SortBy: "DateCreated",
@ -13,7 +15,8 @@
IncludeItemTypes: "MusicAlbum", IncludeItemTypes: "MusicAlbum",
Limit: screenWidth >= 1920 ? 6 : (screenWidth >= 1440 ? 6 : 5), Limit: screenWidth >= 1920 ? 6 : (screenWidth >= 1440 ? 6 : 5),
Recursive: true, Recursive: true,
Fields: "PrimaryImageAspectRatio" Fields: "PrimaryImageAspectRatio",
ParentId: parentId
}; };
ApiClient.getItems(Dashboard.getCurrentUserId(), options).done(function (result) { ApiClient.getItems(Dashboard.getCurrentUserId(), options).done(function (result) {
@ -35,7 +38,8 @@
IncludeItemTypes: "Audio", IncludeItemTypes: "Audio",
Limit: screenWidth >= 1920 ? 6 : (screenWidth >= 1440 ? 6 : 5), Limit: screenWidth >= 1920 ? 6 : (screenWidth >= 1440 ? 6 : 5),
Recursive: true, Recursive: true,
Fields: "PrimaryImageAspectRatio,AudioInfo" Fields: "PrimaryImageAspectRatio,AudioInfo",
ParentId: parentId
}; };
ApiClient.getItems(Dashboard.getCurrentUserId(), options).done(function (result) { ApiClient.getItems(Dashboard.getCurrentUserId(), options).done(function (result) {
@ -58,7 +62,8 @@
Limit: screenWidth >= 1920 ? 6 : (screenWidth >= 1440 ? 6 : 5), Limit: screenWidth >= 1920 ? 6 : (screenWidth >= 1440 ? 6 : 5),
Recursive: true, Recursive: true,
Fields: "PrimaryImageAspectRatio,AudioInfo", Fields: "PrimaryImageAspectRatio,AudioInfo",
Filters: "IsPlayed" Filters: "IsPlayed",
ParentId: parentId
}; };
ApiClient.getItems(Dashboard.getCurrentUserId(), options).done(function (result) { ApiClient.getItems(Dashboard.getCurrentUserId(), options).done(function (result) {
@ -87,7 +92,8 @@
Limit: screenWidth >= 1920 ? 12 : (screenWidth >= 1440 ? 12 : 10), Limit: screenWidth >= 1920 ? 12 : (screenWidth >= 1440 ? 12 : 10),
Recursive: true, Recursive: true,
Fields: "PrimaryImageAspectRatio,AudioInfo", Fields: "PrimaryImageAspectRatio,AudioInfo",
Filters: "IsPlayed" Filters: "IsPlayed",
ParentId: parentId
}; };
ApiClient.getItems(Dashboard.getCurrentUserId(), options).done(function (result) { ApiClient.getItems(Dashboard.getCurrentUserId(), options).done(function (result) {

View file

@ -11,6 +11,11 @@
StartIndex: 0 StartIndex: 0
}; };
function getSavedQueryKey() {
return 'musicvideos' + (query.ParentId || '');
}
function reloadItems(page) { function reloadItems(page) {
Dashboard.showLoadingMsg(); Dashboard.showLoadingMsg();
@ -54,7 +59,7 @@
reloadItems(page); reloadItems(page);
}); });
LibraryBrowser.saveQueryValues('musicvideos', query); LibraryBrowser.saveQueryValues(getSavedQueryKey(), query);
Dashboard.hideLoadingMsg(); Dashboard.hideLoadingMsg();
}); });
@ -210,6 +215,8 @@
}).on('pagebeforeshow', "#musicVideosPage", function () { }).on('pagebeforeshow', "#musicVideosPage", function () {
query.ParentId = LibraryMenu.getTopParentId();
var limit = LibraryBrowser.getDefaultPageSize(); var limit = LibraryBrowser.getDefaultPageSize();
// If the default page size has changed, the start index will have to be reset // If the default page size has changed, the start index will have to be reset
@ -218,7 +225,7 @@
query.StartIndex = 0; query.StartIndex = 0;
} }
LibraryBrowser.loadSavedQueryValues('musicvideos', query); LibraryBrowser.loadSavedQueryValues(getSavedQueryKey(), query);
reloadItems(this); reloadItems(this);

View file

@ -14,7 +14,10 @@
StartIndex: 0 StartIndex: 0
}; };
LibraryBrowser.loadSavedQueryValues('songs', query); function getSavedQueryKey() {
return 'songs' + (query.ParentId || '');
}
function updateFilterControls(page) { function updateFilterControls(page) {
@ -104,7 +107,7 @@
reloadItems(page); reloadItems(page);
}); });
LibraryBrowser.saveQueryValues('songs', query); LibraryBrowser.saveQueryValues(getSavedQueryKey(), query);
Dashboard.hideLoadingMsg(); Dashboard.hideLoadingMsg();
}); });
@ -145,6 +148,10 @@
}).on('pagebeforeshow', "#songsPage", function () { }).on('pagebeforeshow', "#songsPage", function () {
query.ParentId = LibraryMenu.getTopParentId();
LibraryBrowser.loadSavedQueryValues(getSavedQueryKey(), query);
reloadItems(this); reloadItems(this);
}).on('pageshow', "#songsPage", function () { }).on('pageshow', "#songsPage", function () {

View file

@ -11,6 +11,11 @@
StartIndex: 0 StartIndex: 0
}; };
function getSavedQueryKey() {
return 'tvgenres' + (query.ParentId || '');
}
function reloadItems(page) { function reloadItems(page) {
Dashboard.showLoadingMsg(); Dashboard.showLoadingMsg();
@ -57,7 +62,7 @@
reloadItems(page); reloadItems(page);
}); });
LibraryBrowser.saveQueryValues('tvgenres', query); LibraryBrowser.saveQueryValues(getSavedQueryKey(), query);
Dashboard.hideLoadingMsg(); Dashboard.hideLoadingMsg();
}); });
@ -98,6 +103,8 @@
}).on('pagebeforeshow', "#tvGenresPage", function () { }).on('pagebeforeshow', "#tvGenresPage", function () {
query.ParentId = LibraryMenu.getTopParentId();
var limit = LibraryBrowser.getDefaultPageSize(); var limit = LibraryBrowser.getDefaultPageSize();
// If the default page size has changed, the start index will have to be reset // If the default page size has changed, the start index will have to be reset
@ -106,7 +113,7 @@
query.StartIndex = 0; query.StartIndex = 0;
} }
LibraryBrowser.loadSavedQueryValues('tvgenres', query); LibraryBrowser.loadSavedQueryValues(getSavedQueryKey(), query);
reloadItems(this); reloadItems(this);

View file

@ -4,6 +4,8 @@
var screenWidth = $(window).width(); var screenWidth = $(window).width();
var parentId = LibraryMenu.getTopParentId();
var page = this; var page = this;
var options = { var options = {
@ -15,7 +17,8 @@
Recursive: true, Recursive: true,
Fields: "PrimaryImageAspectRatio,SeriesInfo,UserData", Fields: "PrimaryImageAspectRatio,SeriesInfo,UserData",
Filters: "IsUnplayed", Filters: "IsUnplayed",
ExcludeLocationTypes: "Virtual" ExcludeLocationTypes: "Virtual",
ParentId: parentId
}; };
ApiClient.getItems(Dashboard.getCurrentUserId(), options).done(function (result) { ApiClient.getItems(Dashboard.getCurrentUserId(), options).done(function (result) {

View file

@ -13,6 +13,11 @@
Limit: 100 Limit: 100
}; };
function getSavedQueryKey() {
return 'tvpeople' + (query.ParentId || '');
}
function reloadItems(page) { function reloadItems(page) {
Dashboard.showLoadingMsg(); Dashboard.showLoadingMsg();
@ -52,7 +57,7 @@
reloadItems(page); reloadItems(page);
}); });
LibraryBrowser.saveQueryValues('tvpeople', query); LibraryBrowser.saveQueryValues(getSavedQueryKey(), query);
Dashboard.hideLoadingMsg(); Dashboard.hideLoadingMsg();
}); });
@ -135,7 +140,9 @@
}).on('pagebeforeshow', "#tvPeoplePage", function () { }).on('pagebeforeshow', "#tvPeoplePage", function () {
LibraryBrowser.loadSavedQueryValues('tvpeople', query); query.ParentId = LibraryMenu.getTopParentId();
LibraryBrowser.loadSavedQueryValues(getSavedQueryKey(), query);
reloadItems(this); reloadItems(this);

View file

@ -4,6 +4,8 @@
var screenWidth = $(window).width(); var screenWidth = $(window).width();
var parentId = LibraryMenu.getTopParentId();
var options = { var options = {
SortBy: "DatePlayed", SortBy: "DatePlayed",
@ -13,7 +15,8 @@
Limit: screenWidth >= 1920 ? 4 : (screenWidth >= 1440 ? 4 : 3), Limit: screenWidth >= 1920 ? 4 : (screenWidth >= 1440 ? 4 : 3),
Recursive: true, Recursive: true,
Fields: "PrimaryImageAspectRatio,SeriesInfo,UserData", Fields: "PrimaryImageAspectRatio,SeriesInfo,UserData",
ExcludeLocationTypes: "Virtual" ExcludeLocationTypes: "Virtual",
ParentId: parentId
}; };
ApiClient.getItems(Dashboard.getCurrentUserId(), options).done(function (result) { ApiClient.getItems(Dashboard.getCurrentUserId(), options).done(function (result) {
@ -38,12 +41,15 @@
function loadNextUp(page) { function loadNextUp(page) {
var parentId = LibraryMenu.getTopParentId();
var options = { var options = {
Limit: 24, Limit: 24,
Fields: "PrimaryImageAspectRatio,SeriesInfo,DateCreated", Fields: "PrimaryImageAspectRatio,SeriesInfo,DateCreated",
UserId: Dashboard.getCurrentUserId(), UserId: Dashboard.getCurrentUserId(),
ExcludeLocationTypes: "Virtual" ExcludeLocationTypes: "Virtual",
ParentId: parentId
}; };
ApiClient.getNextUpEpisodes(options).done(function (result) { ApiClient.getNextUpEpisodes(options).done(function (result) {

View file

@ -13,6 +13,11 @@
StartIndex: 0 StartIndex: 0
}; };
function getSavedQueryKey() {
return 'tvshows' + (query.ParentId || '');
}
function reloadItems(page) { function reloadItems(page) {
Dashboard.showLoadingMsg(); Dashboard.showLoadingMsg();
@ -97,7 +102,7 @@
reloadItems(page); reloadItems(page);
}); });
LibraryBrowser.saveQueryValues('tvshows', query); LibraryBrowser.saveQueryValues(getSavedQueryKey(), query);
Dashboard.hideLoadingMsg(); Dashboard.hideLoadingMsg();
}); });
@ -238,7 +243,7 @@
} else { } else {
reloadItems(page); reloadItems(page);
} }
LibraryBrowser.saveViewSetting('tvshows', view); LibraryBrowser.saveViewSetting(getSavedQueryKey(), view);
}); });
$('#chkTrailer', this).on('change', function () { $('#chkTrailer', this).on('change', function () {
@ -341,6 +346,8 @@
}).on('pagebeforeshow', "#tvShowsPage", function () { }).on('pagebeforeshow', "#tvShowsPage", function () {
query.ParentId = LibraryMenu.getTopParentId();
var page = this; var page = this;
var limit = LibraryBrowser.getDefaultPageSize(); var limit = LibraryBrowser.getDefaultPageSize();
@ -350,9 +357,11 @@
query.StartIndex = 0; 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) { if (val) {
$('#selectView', page).val(val).selectmenu('refresh').trigger('change'); $('#selectView', page).val(val).selectmenu('refresh').trigger('change');

View file

@ -11,6 +11,11 @@
StartIndex: 0 StartIndex: 0
}; };
function getSavedQueryKey() {
return 'tvstudios' + (query.ParentId || '');
}
function reloadItems(page) { function reloadItems(page) {
Dashboard.showLoadingMsg(); Dashboard.showLoadingMsg();
@ -57,7 +62,7 @@
reloadItems(page); reloadItems(page);
}); });
LibraryBrowser.saveQueryValues('tvstudios', query); LibraryBrowser.saveQueryValues(getSavedQueryKey(), query);
Dashboard.hideLoadingMsg(); Dashboard.hideLoadingMsg();
}); });
@ -98,6 +103,8 @@
}).on('pagebeforeshow', "#tvStudiosPage", function () { }).on('pagebeforeshow', "#tvStudiosPage", function () {
query.ParentId = LibraryMenu.getTopParentId();
var limit = LibraryBrowser.getDefaultPageSize(); var limit = LibraryBrowser.getDefaultPageSize();
// If the default page size has changed, the start index will have to be reset // If the default page size has changed, the start index will have to be reset
@ -106,7 +113,7 @@
query.StartIndex = 0; query.StartIndex = 0;
} }
LibraryBrowser.loadSavedQueryValues('tvstudios', query); LibraryBrowser.loadSavedQueryValues(getSavedQueryKey(), query);
reloadItems(this); reloadItems(this);

View file

@ -4,11 +4,14 @@
var page = this; var page = this;
var parentId = LibraryMenu.getTopParentId();
var query = { var query = {
Limit: 32, Limit: 32,
Fields: "SeriesInfo,UserData", Fields: "SeriesInfo,UserData",
UserId: Dashboard.getCurrentUserId() UserId: Dashboard.getCurrentUserId(),
ParentId: parentId
}; };
$.getJSON(ApiClient.getUrl("Shows/Upcoming", query)).done(function (result) { $.getJSON(ApiClient.getUrl("Shows/Upcoming", query)).done(function (result) {

View file

@ -5,9 +5,9 @@
</head> </head>
<body> <body>
<div id="songsPage" data-role="page" class="page libraryPage" data-theme="b" data-view="music"> <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="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="musicalbums.html">${TabAlbums}</a>
<a href="musicalbumartists.html">${TabAlbumArtists}</a> <a href="musicalbumartists.html">${TabAlbumArtists}</a>
<a href="musicartists.html">${TabArtists}</a> <a href="musicartists.html">${TabArtists}</a>

View file

@ -5,13 +5,13 @@
</head> </head>
<body> <body>
<div id="tvGenresPage" data-role="page" class="page libraryPage" data-theme="b" data-view="tv"> <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="tvrecommended.html">${TabSuggested}</a>
<a href="tvlatest.html">${TabLatest}</a> <a href="tvlatest.html">${TabLatest}</a>
<a href="tvupcoming.html">${TabUpcoming}</a> <a href="tvupcoming.html">${TabUpcoming}</a>
<a href="tvshows.html">${TabShows}</a> <a href="tvshows.html">${TabShows}</a>
<a href="episodes.html">${TabEpisodes}</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="tvpeople.html">${TabPeople}</a>
<a href="tvstudios.html">${TabNetworks}</a> <a href="tvstudios.html">${TabNetworks}</a>
</div> </div>

View file

@ -5,9 +5,9 @@
</head> </head>
<body> <body>
<div id="tvNextUpPage" data-role="page" class="page libraryPage" data-theme="b" data-view="tv"> <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="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="tvupcoming.html">${TabUpcoming}</a>
<a href="tvshows.html">${TabShows}</a> <a href="tvshows.html">${TabShows}</a>
<a href="episodes.html">${TabEpisodes}</a> <a href="episodes.html">${TabEpisodes}</a>

View file

@ -5,14 +5,14 @@
</head> </head>
<body> <body>
<div id="tvPeoplePage" data-role="page" class="page libraryPage" data-theme="b" data-view="tv"> <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="tvrecommended.html">${TabSuggested}</a>
<a href="tvlatest.html">${TabLatest}</a> <a href="tvlatest.html">${TabLatest}</a>
<a href="tvupcoming.html">${TabUpcoming}</a> <a href="tvupcoming.html">${TabUpcoming}</a>
<a href="tvshows.html">${TabShows}</a> <a href="tvshows.html">${TabShows}</a>
<a href="episodes.html">${TabEpisodes}</a> <a href="episodes.html">${TabEpisodes}</a>
<a href="tvgenres.html">${TabGenres}</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> <a href="tvstudios.html">${TabNetworks}</a>
</div> </div>

View file

@ -5,8 +5,8 @@
</head> </head>
<body> <body>
<div id="tvRecommendedPage" data-role="page" class="page libraryPage" data-theme="b" data-view="tv"> <div id="tvRecommendedPage" data-role="page" class="page libraryPage" data-theme="b" data-view="tv">
<div class="libraryViewNav"> <div class="libraryViewNav scopedLibraryViewNav">
<a href="tvrecommended.html" class="ui-btn-active">${TabSuggested}</a> <a href="#" class="ui-btn-active">${TabSuggested}</a>
<a href="tvlatest.html">${TabLatest}</a> <a href="tvlatest.html">${TabLatest}</a>
<a href="tvupcoming.html">${TabUpcoming}</a> <a href="tvupcoming.html">${TabUpcoming}</a>
<a href="tvshows.html">${TabShows}</a> <a href="tvshows.html">${TabShows}</a>

View file

@ -5,11 +5,11 @@
</head> </head>
<body> <body>
<div id="tvShowsPage" data-role="page" class="page libraryPage" data-theme="b" data-view="tv"> <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="tvrecommended.html">${TabSuggested}</a>
<a href="tvlatest.html">${TabLatest}</a> <a href="tvlatest.html">${TabLatest}</a>
<a href="tvupcoming.html">${TabUpcoming}</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="episodes.html">${TabEpisodes}</a>
<a href="tvgenres.html">${TabGenres}</a> <a href="tvgenres.html">${TabGenres}</a>
<a href="tvpeople.html">${TabPeople}</a> <a href="tvpeople.html">${TabPeople}</a>

View file

@ -1,11 +1,11 @@
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
<title>${MediaBrowser}</title> <title>${TitleMediaBrowser}</title>
</head> </head>
<body> <body>
<div id="tvStudiosPage" data-role="page" class="page libraryPage" data-theme="b" data-view="tv"> <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="tvrecommended.html">${TabSuggested}</a>
<a href="tvlatest.html">${TabLatest}</a> <a href="tvlatest.html">${TabLatest}</a>
<a href="tvupcoming.html">${TabUpcoming}</a> <a href="tvupcoming.html">${TabUpcoming}</a>
@ -13,7 +13,7 @@
<a href="episodes.html">${TabEpisodes}</a> <a href="episodes.html">${TabEpisodes}</a>
<a href="tvgenres.html">${TabGenres}</a> <a href="tvgenres.html">${TabGenres}</a>
<a href="tvpeople.html">${TabPeople}</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>
<div data-role="content"> <div data-role="content">
<div class="viewSettings"> <div class="viewSettings">

View file

@ -5,10 +5,10 @@
</head> </head>
<body> <body>
<div id="tvUpcomingPage" data-role="page" class="page libraryPage" data-theme="b" data-view="tv"> <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="tvrecommended.html">${TabSuggested}</a>
<a href="tvlatest.html">${TabLatest}</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="tvshows.html">${TabShows}</a>
<a href="episodes.html">${TabEpisodes}</a> <a href="episodes.html">${TabEpisodes}</a>
<a href="tvgenres.html">${TabGenres}</a> <a href="tvgenres.html">${TabGenres}</a>