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

update live tv guide

This commit is contained in:
Luke Pulverenti 2015-08-02 19:47:31 -04:00
parent 0380fa5a83
commit 4120f18fc9
27 changed files with 330 additions and 352 deletions

View file

@ -16,7 +16,7 @@
<a href="channels.html?tab=1" class="ui-btn-active"><iron-icon icon="live-tv"></iron-icon>${TabChannels}</a>
</div>
</div>
<div class="ehsContent">
<div class="ehsContent fullWidth">
<neon-animated-pages>
<neon-animatable>
<div class="pageTabContent latestContent">

View file

@ -92,7 +92,7 @@
margin-left: 2em;
}
.ehsContent {
.ehsContent, .ehsContent .pageTabContent {
margin: 0 auto;
}
@ -131,8 +131,9 @@
@media all and (min-width: 500px) {
.ehsContent {
.ehsContent:not(.fullWidth), .ehsContent .pageTabContent {
width: 98%;
margin: 0 auto;
}
}
@ -145,14 +146,14 @@
@media all and (min-width: 1200px) {
.ehsContent {
.ehsContent:not(.fullWidth), .ehsContent .pageTabContent {
width: 97%;
}
}
@media all and (min-width: 1920px) {
.ehsContent {
.ehsContent:not(.fullWidth), .ehsContent .pageTabContent {
width: 96%;
}
}

View file

@ -23,7 +23,7 @@
</div>
<div class="pageBackground"></div>
<div class="ehsContent">
<div class="ehsContent fullWidth">
<neon-animated-pages>
<neon-animatable>
<div class="pageTabContent homeTabContent">

View file

@ -4,15 +4,8 @@
<title>Emby</title>
</head>
<body>
<div id="liveTvChannelPage" data-role="page" class="page libraryPage liveTvPage" data-contextname="${HeaderLiveTv}" data-require="scripts/livetvcomponents,scripts/livetvchannel,paperbuttonstyle,livetvcss">
<div class="libraryViewNav">
<a href="livetvsuggested.html"><iron-icon icon="info"></iron-icon>${TabSuggestions}</a>
<a href="livetvguide.html"><iron-icon icon="grid-on"></iron-icon>${TabGuide}</a>
<a href="livetvchannels.html" class="ui-btn-active"><iron-icon icon="live-tv"></iron-icon>${TabChannels}</a>
<a href="livetvrecordings.html"><iron-icon icon="slideshow"></iron-icon>${TabRecordings}</a>
<a href="livetvtimers.html"><iron-icon icon="schedule"></iron-icon>${TabScheduled}</a>
<a href="livetvseriestimers.html"><iron-icon icon="refresh"></iron-icon>${TabSeries}</a>
</div>
<div id="liveTvChannelPage" data-role="page" class="page libraryPage liveTvPage noSecondaryNavPage" data-contextname="${HeaderLiveTv}" data-require="scripts/livetvcomponents,scripts/livetvchannel,paperbuttonstyle,livetvcss" data-backbutton="true" data-menubutton="false">
<table class="detailPageContent primaryDetailPageContent">
<tr>
<td style="vertical-align: top; padding: 0 1em 0 0;">

View file

@ -1,50 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title>Emby</title>
</head>
<body>
<div id="liveTvChannelsPage" data-role="page" class="page libraryPage liveTvPage" data-contextname="${HeaderLiveTv}" data-require="scripts/livetvchannels,livetvcss">
<div class="libraryViewNav">
<a href="livetvsuggested.html"><iron-icon icon="info"></iron-icon>${TabSuggestions}</a>
<a href="livetvguide.html"><iron-icon icon="grid-on"></iron-icon>${TabGuide}</a>
<a href="livetvchannels.html" class="ui-btn-active"><iron-icon icon="live-tv"></iron-icon>${TabChannels}</a>
<a href="livetvrecordings.html"><iron-icon icon="slideshow"></iron-icon>${TabRecordings}</a>
<a href="livetvtimers.html"><iron-icon icon="schedule"></iron-icon>${TabScheduled}</a>
<a href="livetvseriestimers.html"><iron-icon icon="refresh"></iron-icon>${TabSeries}</a>
</div>
<div data-role="content">
<div class="viewSettings">
<div class="listTopPaging">
</div>
</div>
<div id="items" class="itemsContainer" style="max-width:800px;margin: 0 auto;"></div>
</div>
<div data-role="panel" class="viewPanel" data-theme="a" data-position="right" data-display="overlay" data-position-fixed="true">
<form>
<div data-role="controlgroup" data-type="horizontal" data-mini="true" class="viewPanelTabs">
<a href="#" data-role="button" class="viewTabButton" data-tab="tabView">${TabView}</a>
<a href="#" data-role="button" class="viewTabButton" data-tab="tabFilter">${TabFilter}</a>
</div>
<div class="tabView viewTab">
<div>
<label for="selectPageSize">${LabelPageSize}</label>
<select id="selectPageSize"></select>
</div>
</div>
<div class="tabFilter viewTab">
<fieldset data-role="controlgroup">
<legend>${HeaderFilters}</legend>
<input class="chkStandardFilter" type="checkbox" id="chkFavorite" data-filter="IsFavorite" data-mini="true">
<label for="chkFavorite">${OptionFavorite}</label>
<input class="chkStandardFilter" type="checkbox" id="chkLikes" data-filter="Likes" data-mini="true">
<label for="chkLikes">${OptionLikes}</label>
<input class="chkStandardFilter" type="checkbox" id="chkDislikes" data-filter="Dislikes" data-mini="true">
<label for="chkDislikes">${OptionDislikes}</label>
</fieldset>
</div>
</form>
</div>
</div>
</body>
</html>

View file

@ -1,42 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title>Emby</title>
</head>
<body>
<div id="liveTvGuidePage" data-role="page" class="page libraryPage liveTvPage" data-contextname="${HeaderLiveTv}" data-require="scripts/registrationservices,scripts/livetvcomponents,scripts/livetvguide,paperbuttonstyle,livetvcss">
<div class="libraryViewNav">
<a href="livetvsuggested.html"><iron-icon icon="info"></iron-icon>${TabSuggestions}</a>
<a href="livetvguide.html" class="ui-btn-active"><iron-icon icon="grid-on"></iron-icon>${TabGuide}</a>
<a href="livetvchannels.html"><iron-icon icon="live-tv"></iron-icon>${TabChannels}</a>
<a href="livetvrecordings.html"><iron-icon icon="slideshow"></iron-icon>${TabRecordings}</a>
<a href="livetvtimers.html"><iron-icon icon="schedule"></iron-icon>${TabScheduled}</a>
<a href="livetvseriestimers.html"><iron-icon icon="refresh"></iron-icon>${TabSeries}</a>
</div>
<div data-role="content" style="padding-top: 5px;padding-left:0!important;padding-right:0!important;">
<div class="tvGuide">
<div class="tvGuideHeader">
<div class="channelTimeslotHeader">
<div class="timeslotHeaderInner">
<a class="btnSelectDate" href="#" style="display:block;padding-left:5px;color:#fff;text-decoration:none;font-weight:normal!important;padding:4px 10px 4px 0;"><i class="fa fa-calendar" style="margin-right:3px;"></i><span class="currentDate"></span></a>
</div>
</div>
<div class="timeslotHeaders hiddenScrollX"></div>
</div>
<div class="programContainer">
<div class="channelList"></div>
<div class="programGrid hiddenScrollX"></div>
</div>
<div class="channelPaging"></div>
</div>
<div class="guideRequiresUnlock readOnlyContent" style="margin:1em auto;text-align:center;display:none;padding:1em;">
<p class="unlockText"></p>
<paper-button raised class="secondary block btnUnlockGuide"><iron-icon icon="check"></iron-icon><span>${ButtonUnlockGuide}</span></paper-button>
</div>
</div>
</div>
</body>
</html>

View file

@ -4,15 +4,8 @@
<title>Emby</title>
</head>
<body>
<div id="liveTvNewRecordingPage" data-role="page" class="page libraryPage liveTvPage" data-contextname="${HeaderLiveTv}" data-require="scripts/livetvcomponents,scripts/livetvnewrecording,livetvcss">
<div class="libraryViewNav">
<a href="livetvsuggested.html"><iron-icon icon="info"></iron-icon>${TabSuggestions}</a>
<a href="livetvguide.html"><iron-icon icon="grid-on"></iron-icon>${TabGuide}</a>
<a href="livetvchannels.html"><iron-icon icon="live-tv"></iron-icon>${TabChannels}</a>
<a href="livetvrecordings.html" class="ui-btn-active"><iron-icon icon="slideshow"></iron-icon>${TabRecordings}</a>
<a href="livetvtimers.html"><iron-icon icon="schedule"></iron-icon>${TabScheduled}</a>
<a href="livetvseriestimers.html"><iron-icon icon="refresh"></iron-icon>${TabSeries}</a>
</div>
<div id="liveTvNewRecordingPage" data-role="page" class="page libraryPage liveTvPage noSecondaryNavPage" data-contextname="${HeaderLiveTv}" data-require="scripts/livetvcomponents,scripts/livetvnewrecording,livetvcss" data-backbutton="true" data-menubutton="false">
<div data-role="content">
<form class="liveTvNewRecordingForm" style="margin: 0 auto;">
<p><span class="itemName inlineItemName"></span><span class="itemMiscInfo" style="display: inline;"></span></p>

View file

@ -4,15 +4,8 @@
<title>Emby</title>
</head>
<body>
<div id="liveTvRecordingListPage" data-role="page" class="page libraryPage liveTvPage" data-contextname="${HeaderLiveTv}" data-require="scripts/livetvrecordinglist,livetvcss">
<div class="libraryViewNav">
<a href="livetvsuggested.html"><iron-icon icon="info"></iron-icon>${TabSuggestions}</a>
<a href="livetvguide.html"><iron-icon icon="grid-on"></iron-icon>${TabGuide}</a>
<a href="livetvchannels.html"><iron-icon icon="live-tv"></iron-icon>${TabChannels}</a>
<a href="livetvrecordings.html" class="ui-btn-active"><iron-icon icon="slideshow"></iron-icon>${TabRecordings}</a>
<a href="livetvtimers.html"><iron-icon icon="schedule"></iron-icon>${TabScheduled}</a>
<a href="livetvseriestimers.html"><iron-icon icon="refresh"></iron-icon>${TabSeries}</a>
</div>
<div id="liveTvRecordingListPage" data-role="page" class="page libraryPage liveTvPage noSecondaryNavPage" data-contextname="${HeaderLiveTv}" data-require="scripts/livetvrecordinglist,livetvcss" data-backbutton="true" data-menubutton="false">
<div data-role="content">
<div class="viewSettings" style="margin:.5em 0;">

View file

@ -1,40 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title>Emby</title>
</head>
<body>
<div id="liveTvRecordingsPage" data-role="page" class="page libraryPage liveTvPage" data-contextname="${HeaderLiveTv}" data-require="scripts/livetvrecordings,paperbuttonstyle,livetvcss">
<div class="libraryViewNav">
<a href="livetvsuggested.html"><iron-icon icon="info"></iron-icon>${TabSuggestions}</a>
<a href="livetvguide.html"><iron-icon icon="grid-on"></iron-icon>${TabGuide}</a>
<a href="livetvchannels.html"><iron-icon icon="live-tv"></iron-icon>${TabChannels}</a>
<a href="livetvrecordings.html" class="ui-btn-active"><iron-icon icon="slideshow"></iron-icon>${TabRecordings}</a>
<a href="livetvtimers.html"><iron-icon icon="schedule"></iron-icon>${TabScheduled}</a>
<a href="livetvseriestimers.html"><iron-icon icon="refresh"></iron-icon>${TabSeries}</a>
</div>
<div data-role="content">
<div class="ehsContent">
<div id="activeRecordings" style="display: none;">
<h1 class="listHeader">${HeaderActiveRecordings}</h1>
<div class="recordingItems itemsContainer"></div>
<br />
</div>
<div id="latestRecordings" style="display: none;">
<div>
<h1 class="listHeader" style="display:inline-block;vertical-align:middle;">${HeaderLatestRecordings}</h1>
<paper-button raised class="submit mini categorySyncButton" data-category="Latest"><iron-icon icon="refresh"></iron-icon><span>${ButtonSync}</span></paper-button>
</div>
<div class="recordingItems itemsContainer"></div>
<br />
</div>
<div id="recordingGroups" style="display: none;">
<h1 class="listHeader"><a href="livetvrecordinglist.html">${HeaderAllRecordings}<img src="css/images/rightarrow.png" class="headerArrowImage" /></a></h1>
<div id="recordingGroupItems"></div>
</div>
</div>
</div>
</div>
</body>
</html>

View file

@ -4,15 +4,8 @@
<title>Emby</title>
</head>
<body>
<div id="liveTvSeriesTimerPage" data-role="page" class="page libraryPage liveTvPage" data-contextname="${HeaderLiveTv}" data-require="scripts/livetvcomponents,scripts/livetvseriestimer,livetvcss">
<div class="libraryViewNav">
<a href="livetvsuggested.html"><iron-icon icon="info"></iron-icon>${TabSuggestions}</a>
<a href="livetvguide.html"><iron-icon icon="grid-on"></iron-icon>${TabGuide}</a>
<a href="livetvchannels.html"><iron-icon icon="live-tv"></iron-icon>${TabChannels}</a>
<a href="livetvrecordings.html"><iron-icon icon="slideshow"></iron-icon>${TabRecordings}</a>
<a href="livetvtimers.html"><iron-icon icon="schedule"></iron-icon>${TabScheduled}</a>
<a href="livetvseriestimers.html" class="ui-btn-active"><iron-icon icon="refresh"></iron-icon>${TabSeries}</a>
</div>
<div id="liveTvSeriesTimerPage" data-role="page" class="page libraryPage liveTvPage noSecondaryNavPage" data-contextname="${HeaderLiveTv}" data-require="scripts/livetvcomponents,scripts/livetvseriestimer,livetvcss" data-backbutton="true" data-menubutton="false">
<div data-role="content">
<form class="liveTvSeriesTimerForm" style="margin: 0 auto; max-width: 720px;">
<p><span class="itemName inlineItemName"></span></p>

View file

@ -1,57 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title>Emby</title>
</head>
<body>
<div id="liveTvSeriesTimersPage" data-role="page" class="page libraryPage liveTvPage" data-contextname="${HeaderLiveTv}" data-require="scripts/livetvseriestimers,livetvcss">
<div class="libraryViewNav">
<a href="livetvsuggested.html"><iron-icon icon="info"></iron-icon>${TabSuggestions}</a>
<a href="livetvguide.html"><iron-icon icon="grid-on"></iron-icon>${TabGuide}</a>
<a href="livetvchannels.html"><iron-icon icon="live-tv"></iron-icon>${TabChannels}</a>
<a href="livetvrecordings.html"><iron-icon icon="slideshow"></iron-icon>${TabRecordings}</a>
<a href="livetvtimers.html"><iron-icon icon="schedule"></iron-icon>${TabScheduled}</a>
<a href="#" class="ui-btn-active"><iron-icon icon="refresh"></iron-icon>${TabSeries}</a>
</div>
<div data-role="content">
<div style="max-width: 600px; margin: 0 auto;">
<div style="text-align: right;">
<button data-mini="true" data-inline="true" onclick="$('#sortPanel', $(this).parents('.page')).panel( 'toggle' );">${ButtonSort}</button>
</div>
<div id="items"></div>
</div>
</div>
<div data-role="panel" id="sortPanel" data-theme="a" data-position="right" data-display="overlay" data-position-fixed="true">
<form>
<fieldset data-role="controlgroup">
<legend>
${HeaderSortBy}
</legend>
<input class="radioSortBy defaultSort" type="radio" name="radioSortBy" id="radioSortName" value="on" checked="checked" data-sortby="SortName" data-mini="true">
<label for="radioSortName">${OptionNameSort}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioPriority" value="off" data-sortby="Priority" data-mini="true">
<label for="radioPriority">${OptionPriority}</label>
</fieldset>
<fieldset data-role="controlgroup">
<legend>
${HeaderSortOrder}
</legend>
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioAscending" value="on" checked="checked" data-sortorder="Ascending" data-mini="true">
<label for="radioAscending">${OptionAscending}</label>
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioDescending" value="off" data-sortorder="Descending" data-mini="true">
<label for="radioDescending">${OptionDescending}</label>
</fieldset>
</form>
</div>
</div>
</body>
</html>

View file

@ -4,46 +4,182 @@
<title>Emby</title>
</head>
<body>
<div id="liveTvSuggestedPage" data-role="page" class="page libraryPage liveTvPage backdropPage globalBackdropPage" data-contextname="${HeaderLiveTv}" data-backdroptype="series,movie" data-require="scripts/livetvsuggested,paperbuttonstyle,livetvcss">
<div id="liveTvSuggestedPage" data-role="page" class="page libraryPage liveTvPage backdropPage globalBackdropPage pageWithAbsoluteTabs" data-contextname="${HeaderLiveTv}" data-backdroptype="series,movie" data-require="scripts/livetvsuggested,paperbuttonstyle,livetvcss,scripts/livetvchannels,scripts/livetvseriestimers,scripts/livetvtimers,scripts/livetvrecordings,scripts/registrationservices,scripts/livetvcomponents,scripts/livetvguide">
<div class="libraryViewNav">
<a href="#" class="ui-btn-active"><iron-icon icon="info"></iron-icon>${TabSuggestions}</a>
<a href="livetvguide.html"><iron-icon icon="grid-on"></iron-icon>${TabGuide}</a>
<a href="livetvchannels.html"><iron-icon icon="live-tv"></iron-icon>${TabChannels}</a>
<a href="livetvrecordings.html"><iron-icon icon="slideshow"></iron-icon>${TabRecordings}</a>
<a href="livetvtimers.html"><iron-icon icon="schedule"></iron-icon>${TabScheduled}</a>
<a href="livetvseriestimers.html"><iron-icon icon="refresh"></iron-icon>${TabSeries}</a>
</div>
<div data-role="content">
<div class="ehsContent">
<div id="activePrograms" class="homePageSection">
<h1 class="listHeader">${HeaderWhatsOnTV}</h1>
<div class="activeProgramItems itemsContainer"></div>
<br />
</div>
<div id="upcomingPrograms" class="homePageSection">
<h1 class="listHeader">${HeaderUpcomingPrograms}</h1>
<div class="upcomingProgramItems itemsContainer"></div>
<br />
</div>
<div id="upcomingTvMovies" class="homePageSection">
<div>
<h1 class="listHeader" style="display:inline-block;vertical-align:middle;">${HeaderUpcomingMovies}</h1>
<a href="livetvitems.html?type=movies" class="clearLink" style="margin-left:1em;vertical-align:middle;"><paper-button raised class="more mini noIcon">${ButtonMoreItems}</paper-button></a>
</div>
<div class="upcomingTvMovieItems itemsContainer"></div>
<br />
</div>
<div id="upcomingSports" class="homePageSection">
<div>
<h1 class="listHeader" style="display:inline-block;vertical-align:middle;">${HeaderUpcomingSports}</h1>
<a href="livetvitems.html?type=sports" class="clearLink" style="margin-left:1em;vertical-align:middle;"><paper-button raised class="more mini noIcon">${ButtonMoreItems}</paper-button></a>
</div>
<div class="upcomingSportsItems itemsContainer"></div>
<br />
</div>
<div class="libraryViewNav libraryViewNavWithMinHeight">
<paper-tabs style="display:none;min-width:660px;margin:auto;">
<paper-tab><iron-icon icon="info"></iron-icon>${TabSuggestions}</paper-tab>
<paper-tab><iron-icon icon="grid-on"></iron-icon>${TabGuide}</paper-tab>
<paper-tab><iron-icon icon="live-tv"></iron-icon>${TabChannels}</paper-tab>
<paper-tab><iron-icon icon="slideshow"></iron-icon>${TabRecordings}</paper-tab>
<paper-tab><iron-icon icon="schedule"></iron-icon>${TabScheduled}</paper-tab>
<paper-tab><iron-icon icon="refresh"></iron-icon>${TabSeries}</paper-tab>
</paper-tabs>
<div class="legacyTabs" style="display:none;">
<a href="livetvsuggested.html" class="ui-btn-active"><iron-icon icon="info"></iron-icon>${TabSuggestions}</a>
<a href="livetvsuggested.html?tab=1"><iron-icon icon="grid-on"></iron-icon>${TabGuide}</a>
<a href="livetvsuggested.html?tab=2"><iron-icon icon="live-tv"></iron-icon>${TabChannels}</a>
<a href="livetvsuggested.html?tab=3"><iron-icon icon="slideshow"></iron-icon>${TabRecordings}</a>
<a href="livetvsuggested.html?tab=4"><iron-icon icon="schedule"></iron-icon>${TabScheduled}</a>
<a href="livetvsuggested.html?tab=5"><iron-icon icon="refresh"></iron-icon>${TabSeries}</a>
</div>
</div>
<div class="pageBackground"></div>
<div class="ehsContent fullWidth">
<neon-animated-pages>
<neon-animatable>
<div class="pageTabContent suggestedTabContent">
<div id="activePrograms" class="homePageSection">
<h1 class="listHeader">${HeaderWhatsOnTV}</h1>
<div class="activeProgramItems itemsContainer"></div>
<br />
</div>
<div id="upcomingPrograms" class="homePageSection">
<h1 class="listHeader">${HeaderUpcomingPrograms}</h1>
<div class="upcomingProgramItems itemsContainer"></div>
<br />
</div>
<div id="upcomingTvMovies" class="homePageSection">
<div>
<h1 class="listHeader" style="display:inline-block;vertical-align:middle;">${HeaderUpcomingMovies}</h1>
<a href="livetvitems.html?type=movies" class="clearLink" style="margin-left:1em;vertical-align:middle;"><paper-button raised class="more mini noIcon">${ButtonMoreItems}</paper-button></a>
</div>
<div class="upcomingTvMovieItems itemsContainer"></div>
<br />
</div>
<div id="upcomingSports" class="homePageSection">
<div>
<h1 class="listHeader" style="display:inline-block;vertical-align:middle;">${HeaderUpcomingSports}</h1>
<a href="livetvitems.html?type=sports" class="clearLink" style="margin-left:1em;vertical-align:middle;"><paper-button raised class="more mini noIcon">${ButtonMoreItems}</paper-button></a>
</div>
<div class="upcomingSportsItems itemsContainer"></div>
<br />
</div>
</div>
</neon-animatable>
<neon-animatable>
<div class="pageTabContent guideTabContent" style="width:auto;">
<div class="tvGuide">
<div class="tvGuideHeader">
<div class="channelTimeslotHeader">
<div class="timeslotHeaderInner">
<a class="btnSelectDate" href="#" style="display:block;padding-left:5px;color:#fff;text-decoration:none;font-weight:normal!important;padding:4px 10px 4px 0;"><i class="fa fa-calendar" style="margin-right:3px;"></i><span class="currentDate"></span></a>
</div>
</div>
<div class="timeslotHeaders hiddenScrollX"></div>
</div>
<div class="programContainer">
<div class="channelList"></div>
<div class="programGrid hiddenScrollX"></div>
</div>
<div class="channelPaging"></div>
</div>
<div class="guideRequiresUnlock readOnlyContent" style="margin:1em auto;text-align:center;display:none;padding:1em;">
<p class="unlockText"></p>
<paper-button raised class="secondary block btnUnlockGuide"><iron-icon icon="check"></iron-icon><span>${ButtonUnlockGuide}</span></paper-button>
</div>
</div>
</neon-animatable>
<neon-animatable>
<div class="pageTabContent channelsTabContent">
<div class="viewSettings">
<div class="listTopPaging">
</div>
</div>
<div id="items" class="itemsContainer" style="max-width:800px;margin: 0 auto;"></div>
<div data-role="panel" class="viewPanel" data-theme="a" data-position="right" data-display="overlay" data-position-fixed="true">
<form>
<div data-role="controlgroup" data-type="horizontal" data-mini="true" class="viewPanelTabs">
<a href="#" data-role="button" class="viewTabButton" data-tab="tabView">${TabView}</a>
<a href="#" data-role="button" class="viewTabButton" data-tab="tabFilter">${TabFilter}</a>
</div>
<div class="tabView viewTab">
<div>
<label for="selectPageSize">${LabelPageSize}</label>
<select id="selectPageSize"></select>
</div>
</div>
<div class="tabFilter viewTab">
<fieldset data-role="controlgroup">
<legend>${HeaderFilters}</legend>
<input class="chkStandardFilter" type="checkbox" id="chkFavorite" data-filter="IsFavorite" data-mini="true">
<label for="chkFavorite">${OptionFavorite}</label>
<input class="chkStandardFilter" type="checkbox" id="chkLikes" data-filter="Likes" data-mini="true">
<label for="chkLikes">${OptionLikes}</label>
<input class="chkStandardFilter" type="checkbox" id="chkDislikes" data-filter="Dislikes" data-mini="true">
<label for="chkDislikes">${OptionDislikes}</label>
</fieldset>
</div>
</form>
</div>
</div>
</neon-animatable>
<neon-animatable>
<div class="pageTabContent recordingsTabContent">
<div id="activeRecordings" style="display: none;">
<h1 class="listHeader">${HeaderActiveRecordings}</h1>
<div class="recordingItems itemsContainer"></div>
<br />
</div>
<div id="latestRecordings" style="display: none;">
<div>
<h1 class="listHeader" style="display:inline-block;vertical-align:middle;">${HeaderLatestRecordings}</h1>
<paper-button raised class="submit mini categorySyncButton" data-category="Latest"><iron-icon icon="refresh"></iron-icon><span>${ButtonSync}</span></paper-button>
</div>
<div class="recordingItems itemsContainer"></div>
<br />
</div>
<div id="recordingGroups" style="display: none;">
<h1 class="listHeader"><a href="livetvrecordinglist.html">${HeaderAllRecordings}<img src="css/images/rightarrow.png" class="headerArrowImage" /></a></h1>
<div id="recordingGroupItems"></div>
</div>
</div>
</neon-animatable>
<neon-animatable>
<div class="pageTabContent timersTabContent">
<div style="max-width: 600px; margin: 0 auto;">
<div id="items"></div>
</div>
</div>
</neon-animatable>
<neon-animatable>
<div class="pageTabContent seriesTimersTabContent">
<div style="max-width: 600px; margin: 0 auto;">
<div style="text-align: right;">
<button data-mini="true" data-inline="true" onclick="$('#sortPanel', $(this).parents('.page')).panel( 'toggle' );">${ButtonSort}</button>
</div>
<div id="items"></div>
</div>
<div data-role="panel" id="sortPanel" data-theme="a" data-position="right" data-display="overlay" data-position-fixed="true">
<form>
<fieldset data-role="controlgroup">
<legend>
${HeaderSortBy}
</legend>
<input class="radioSortBy defaultSort" type="radio" name="radioSortBy" id="radioSortName" value="on" checked="checked" data-sortby="SortName" data-mini="true">
<label for="radioSortName">${OptionNameSort}</label>
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioPriority" value="off" data-sortby="Priority" data-mini="true">
<label for="radioPriority">${OptionPriority}</label>
</fieldset>
<fieldset data-role="controlgroup">
<legend>
${HeaderSortOrder}
</legend>
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioAscending" value="on" checked="checked" data-sortorder="Ascending" data-mini="true">
<label for="radioAscending">${OptionAscending}</label>
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioDescending" value="off" data-sortorder="Descending" data-mini="true">
<label for="radioDescending">${OptionDescending}</label>
</fieldset>
</form>
</div>
</div>
</neon-animatable>
</neon-animated-pages>
</div>
<div data-role="content">
</div>
</div>
</body>
</html>

View file

@ -4,15 +4,8 @@
<title>Emby</title>
</head>
<body>
<div id="liveTvTimerPage" data-role="page" class="page libraryPage liveTvPage" data-contextname="${HeaderLiveTv}" data-require="scripts/livetvcomponents,scripts/livetvtimer,livetvcss">
<div class="libraryViewNav">
<a href="livetvsuggested.html"><iron-icon icon="info"></iron-icon>${TabSuggestions}</a>
<a href="livetvguide.html"><iron-icon icon="grid-on"></iron-icon>${TabGuide}</a>
<a href="livetvchannels.html"><iron-icon icon="live-tv"></iron-icon>${TabChannels}</a>
<a href="livetvrecordings.html"><iron-icon icon="slideshow"></iron-icon>${TabRecordings}</a>
<a href="livetvtimers.html" class="ui-btn-active"><iron-icon icon="schedule"></iron-icon>${TabScheduled}</a>
<a href="livetvseriestimers.html"><iron-icon icon="refresh"></iron-icon>${TabSeries}</a>
</div>
<div id="liveTvTimerPage" data-role="page" class="page libraryPage liveTvPage noSecondaryNavPage" data-contextname="${HeaderLiveTv}" data-require="scripts/livetvcomponents,scripts/livetvtimer,livetvcss" data-backbutton="true" data-menubutton="false">
<div data-role="content">
<div class="readOnlyContent" style="margin: 0 auto;">

View file

@ -1,23 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title>Emby</title>
</head>
<body>
<div id="liveTvTimersPage" data-role="page" class="page libraryPage liveTvPage" data-contextname="${HeaderLiveTv}" data-require="scripts/livetvtimers,livetvcss">
<div class="libraryViewNav">
<a href="livetvsuggested.html"><iron-icon icon="info"></iron-icon>${TabSuggestions}</a>
<a href="livetvguide.html"><iron-icon icon="grid-on"></iron-icon>${TabGuide}</a>
<a href="livetvchannels.html"><iron-icon icon="live-tv"></iron-icon>${TabChannels}</a>
<a href="livetvrecordings.html"><iron-icon icon="slideshow"></iron-icon>${TabRecordings}</a>
<a href="livetvtimers.html" class="ui-btn-active"><iron-icon icon="schedule"></iron-icon>${TabScheduled}</a>
<a href="livetvseriestimers.html"><iron-icon icon="refresh"></iron-icon>${TabSeries}</a>
</div>
<div data-role="content">
<div style="max-width: 600px; margin: 0 auto;">
<div id="items"></div>
</div>
</div>
</div>
</body>
</html>

View file

@ -73,7 +73,7 @@
<paper-fab class="listAvatar" icon="refresh" style="background-color:#673AB7;" item-icon></paper-fab>
<paper-item-body two-line>
<div>${ButtonSyncSettings}</div>
<div secondary>${ButtonSyncHelp}</div>
<div secondary>${ButtonSyncSettingsHelp}</div>
</paper-item-body>
</paper-icon-item>
</a>

View file

@ -275,7 +275,11 @@
html += '<div class="editorTileInner">';
html += '<p>' + image.Width + ' X ' + image.Height + '</p>';
if (image.Width && image.Height) {
html += '<p>' + image.Width + ' X ' + image.Height + '</p>';
} else {
html += '<p>&nbsp;</p>';
}
html += '<p>';
@ -527,7 +531,7 @@
$('.uploadItemImageForm').off('submit', onSubmit).on('submit', onSubmit);
$('.btnOpenUploadMenu', page).on('click', function() {
$('.btnOpenUploadMenu', page).on('click', function () {
$('#popupUpload', page).popup('open');
});

View file

@ -69,12 +69,16 @@
deferred.resolveWith(null, [culture]);
}, function () {
Logger.log('navigator.globalization.getLocaleName failed');
deferred.resolveWith(null, [null]);
});
} else {
Logger.log('navigator.globalization.getLocaleName is unavailable');
culture = document.documentElement.getAttribute('data-culture');
deferred.resolveWith(null, [culture]);
}

View file

@ -192,6 +192,7 @@
configurePaperLibraryTabs: function (ownerpage, tabs, pages, defaultTabIndex) {
tabs.hideScrollButtons = true;
tabs.noink = true;
if (AppInfo.enableBottomTabs) {
tabs.alignBottom = true;

View file

@ -77,11 +77,11 @@
$('#selectPageSize', page).val(query.Limit).selectmenu('refresh');
}
$(document).on('pageinitdepends', "#liveTvChannelsPage", function () {
$(document).on('pageinitdepends', "#liveTvSuggestedPage", function () {
var page = this;
var page = this.querySelector('.channelsTabContent');
$('#chkFavorite', this).on('change', function () {
$('#chkFavorite', page).on('change', function () {
query.StartIndex = 0;
query.IsFavorite = this.checked ? true : null;
@ -90,7 +90,7 @@
});
$('#chkLikes', this).on('change', function () {
$('#chkLikes', page).on('change', function () {
query.StartIndex = 0;
query.IsLiked = this.checked ? true : null;
@ -98,7 +98,7 @@
reloadItems(page);
});
$('#chkDislikes', this).on('change', function () {
$('#chkDislikes', page).on('change', function () {
query.StartIndex = 0;
query.IsDisliked = this.checked ? true : null;
@ -112,19 +112,27 @@
reloadItems(page);
});
}).on('pagebeforeshowready', "#liveTvChannelsPage", function () {
});
$(document).on('pageinitdepends', "#liveTvSuggestedPage", function () {
// Can't use pagebeforeshow here or the loading popup won't center correctly
var page = this;
if (LibraryBrowser.needsRefresh(page)) {
query.UserId = Dashboard.getCurrentUserId();
LibraryBrowser.loadSavedQueryValues('movies', query);
query.Limit = query.Limit || LibraryBrowser.getDefaultPageSize();
reloadItems(page);
updateFilterControls(this);
}
$(page.querySelector('neon-animated-pages')).on('tabchange', function () {
if (parseInt(this.selected) == 2) {
var tabContent = page.querySelector('.channelsTabContent');
if (LibraryBrowser.needsRefresh(tabContent)) {
query.UserId = Dashboard.getCurrentUserId();
LibraryBrowser.loadSavedQueryValues('movies', query);
query.Limit = query.Limit || LibraryBrowser.getDefaultPageSize();
reloadItems(tabContent);
updateFilterControls(this);
}
}
});
});
})(jQuery, document);

View file

@ -444,9 +444,9 @@
});
}
$(document).on('pageinitdepends', "#liveTvGuidePage", function () {
$(document).on('pageinitdepends', "#liveTvSuggestedPage", function () {
var page = this;
var page = this.querySelector('.guideTabContent');
Events.on(page.querySelector('.programGrid'), 'scroll', function () {
@ -485,13 +485,20 @@
selectDate(page);
});
}).on('pagebeforeshowready', "#liveTvGuidePage", function () {
}).on('pagebeforeshowready', "#liveTvSuggestedPage", function () {
var page = this;
if (LibraryBrowser.needsRefresh(page)) {
reloadPage(page);
}
$(page.querySelector('neon-animated-pages')).on('tabchange', function () {
if (parseInt(this.selected) == 1) {
var tabContent = page.querySelector('.guideTabContent');
if (LibraryBrowser.needsRefresh(tabContent)) {
reloadPage(tabContent);
}
}
});
});
})(jQuery, document);

View file

@ -126,7 +126,7 @@
ApiClient.createLiveTvSeriesTimer(item).done(function () {
Dashboard.hideLoadingMsg();
Dashboard.navigate('livetvseriestimers.html');
Dashboard.navigate('livetvsuggested.html');
});
@ -134,7 +134,7 @@
ApiClient.createLiveTvTimer(item).done(function () {
Dashboard.hideLoadingMsg();
Dashboard.navigate('livetvtimers.html');
Dashboard.navigate('livetvsuggested.html');
});
}

View file

@ -52,7 +52,7 @@
}
$('.recordingItems', elem).html(LibraryBrowser.getPosterViewHtml({
items: recordings,
shape: "auto",
showTitle: true,
@ -101,13 +101,20 @@
});
}
$(document).on('pagebeforeshowready', "#liveTvRecordingsPage", function () {
$(document).on('pagebeforeshowready', "#liveTvSuggestedPage", function () {
var page = this;
if (LibraryBrowser.needsRefresh(page)) {
reload(page);
}
$(page.querySelector('neon-animated-pages')).on('tabchange', function () {
if (parseInt(this.selected) == 3) {
var tabContent = page.querySelector('.recordingsTabContent');
if (LibraryBrowser.needsRefresh(tabContent)) {
reload(tabContent);
}
}
});
});

View file

@ -117,25 +117,32 @@
}).checkboxradio('refresh');
}
$(document).on('pagebeforeshowready', "#liveTvSeriesTimersPage", function () {
$(document).on('pagebeforeshowready', "#liveTvSuggestedPage", function () {
var page = this;
if (LibraryBrowser.needsRefresh(page)) {
reload(page);
}
$(page.querySelector('neon-animated-pages')).on('tabchange', function () {
}).on('pageinit', "#liveTvSeriesTimersPage", function () {
if (parseInt(this.selected) == 5) {
var tabContent = page.querySelector('.seriesTimersTabContent');
var page = this;
if (LibraryBrowser.needsRefresh(tabContent)) {
reload(tabContent);
}
}
});
$('.radioSortBy', this).on('click', function () {
}).on('pageinitdepends', "#liveTvSuggestedPage", function () {
var page = this.querySelector('.seriesTimersTabContent');
$('.radioSortBy', page).on('click', function () {
query.StartIndex = 0;
query.SortBy = this.getAttribute('data-sortby');
reload(page);
});
$('.radioSortOrder', this).on('click', function () {
$('.radioSortOrder', page).on('click', function () {
query.StartIndex = 0;
query.SortOrder = this.getAttribute('data-sortorder');
reload(page);

View file

@ -117,13 +117,56 @@
});
}
$(document).on('pagebeforeshowready', "#liveTvSuggestedPage", function () {
function loadSuggestedTab(page) {
var tabContent = page.querySelector('.suggestedTabContent');
if (LibraryBrowser.needsRefresh(tabContent)) {
reload(tabContent);
}
}
function loadTab(page, index) {
switch (index) {
case 0:
loadSuggestedTab(page);
break;
default:
break;
}
}
$(document).on('pageinitdepends', "#liveTvSuggestedPage", function () {
var page = this;
if (LibraryBrowser.needsRefresh(page)) {
reload(page);
}
var tabs = page.querySelector('paper-tabs');
var pages = page.querySelector('neon-animated-pages');
LibraryBrowser.configurePaperLibraryTabs(page, tabs, pages);
$(tabs).on('iron-select', function () {
var selected = this.selected;
if (LibraryBrowser.navigateOnLibraryTabSelect()) {
if (selected) {
Dashboard.navigate('livetvsuggested.html?tab=' + selected);
} else {
Dashboard.navigate('livetvsuggested.html');
}
} else {
page.querySelector('neon-animated-pages').selected = selected;
}
});
$(pages).on('tabchange', function () {
loadTab(page, parseInt(this.selected));
});
});
})(jQuery, document);

View file

@ -14,7 +14,7 @@
Dashboard.alert(Globalize.translate('MessageRecordingCancelled'));
Dashboard.navigate('livetvtimers.html');
Dashboard.navigate('livetvsuggested.html');
});
}

View file

@ -42,7 +42,7 @@
var program = timer.ProgramInfo || {};
var imgUrl;
if (program.ImageTags && program.ImageTags.Primary) {
imgUrl = ApiClient.getScaledImageUrl(program.Id, {
@ -106,13 +106,20 @@
});
}
$(document).on('pagebeforeshowready', "#liveTvTimersPage", function () {
$(document).on('pagebeforeshowready', "#liveTvSuggestedPage", function () {
var page = this;
if (LibraryBrowser.needsRefresh(page)) {
reload(page);
}
$(page.querySelector('neon-animated-pages')).on('tabchange', function () {
if (parseInt(this.selected) == 4) {
var tabContent = page.querySelector('.timersTabContent');
if (LibraryBrowser.needsRefresh(tabContent)) {
reload(tabContent);
}
}
});
});
})(jQuery, document);

View file

@ -341,12 +341,12 @@
function showCommand(result) {
if (result.category == 'tvguide') {
Dashboard.navigate('livetvguide.html');
Dashboard.navigate('livetvsuggested.html');
return;
}
if (result.category == 'recordings') {
Dashboard.navigate('livetvrecordings.html');
Dashboard.navigate('livetvsuggested.html');
return;
}
}