mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
update recording scheduler
This commit is contained in:
parent
7790a5b573
commit
65f5de02c1
14 changed files with 130 additions and 271 deletions
|
@ -8,29 +8,25 @@
|
||||||
|
|
||||||
<div data-role="content">
|
<div data-role="content">
|
||||||
|
|
||||||
<form class="connectLoginForm" style="text-align: center; margin: 0 auto;display:none;">
|
<form class="connectLoginForm" style="margin: 0 auto;display:none;">
|
||||||
|
|
||||||
<h1 style="text-align: left;">${HeaderSignInWithConnect}</h1>
|
<h1 style="text-align: left;">${HeaderSignInWithConnect}</h1>
|
||||||
<br />
|
|
||||||
<div>
|
<div>
|
||||||
<label for="txtManualName" style="text-align: left;">${LabelEnterConnectUserName}</label>
|
<paper-input type="text" id="txtManualName" required="required" label="${LabelUser}" autocomplete="off"></paper-input>
|
||||||
<input type="text" id="txtManualName" required="required" />
|
|
||||||
<div class="fieldDescription" style="text-align:left;">${LabelEnterConnectUserNameHelp}</div>
|
<div class="fieldDescription" style="text-align:left;">${LabelEnterConnectUserNameHelp}</div>
|
||||||
</div>
|
</div>
|
||||||
<br /><br />
|
|
||||||
<div>
|
<div>
|
||||||
<label for="txtManualPassword" style="text-align: left;">${LabelPassword}</label>
|
<paper-input type="password" id="txtManualPassword" required="required" label="${LabelPassword}" autocomplete="off"></paper-input>
|
||||||
<input type="password" id="txtManualPassword" required="required" />
|
|
||||||
</div>
|
</div>
|
||||||
|
<br />
|
||||||
<button type="submit" data-role="none" class="clearButton">
|
<button type="submit" data-role="none" class="clearButton">
|
||||||
<paper-button raised class="accent block"><iron-icon icon="check"></iron-icon><span>${ButtonSignIn}</span></paper-button>
|
<paper-button raised class="accent block"><iron-icon icon="check"></iron-icon><span>${ButtonSignIn}</span></paper-button>
|
||||||
</button>
|
</button>
|
||||||
<p class="forgotPassword">
|
<div class="forgotPassword">
|
||||||
<a href="http://emby.media/community/index.php?app=core&module=global§ion=lostpass" target="_blank" class="clearLink">
|
<a href="http://emby.media/community/index.php?app=core&module=global§ion=lostpass" target="_blank" class="clearLink">
|
||||||
<paper-button raised class="cancel block"><iron-icon icon="close"></iron-icon><span>${ButtonForgotPassword}</span></paper-button>
|
<paper-button raised class="cancel block"><iron-icon icon="close"></iron-icon><span>${ButtonForgotPassword}</span></paper-button>
|
||||||
</a>
|
</a>
|
||||||
</p>
|
</div>
|
||||||
<div class="skip">
|
<div class="skip">
|
||||||
<paper-button raised class="cancel block btnSkipConnect"><iron-icon icon="close"></iron-icon><span>${ButtonSkip}</span></paper-button>
|
<paper-button raised class="cancel block btnSkipConnect"><iron-icon icon="close"></iron-icon><span>${ButtonSkip}</span></paper-button>
|
||||||
<div class="fieldDescription">${TextConnectToServerManually}</div>
|
<div class="fieldDescription">${TextConnectToServerManually}</div>
|
||||||
|
@ -44,19 +40,16 @@
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<form class="manualServerForm" style="text-align: center; margin: 0 auto;display:none;">
|
<form class="manualServerForm" style="margin: 0 auto;display:none;">
|
||||||
|
|
||||||
<h1 style="text-align: left;">${HeaderConnectToServer}</h1>
|
<h1 style="text-align: left;">${HeaderConnectToServer}</h1>
|
||||||
<br />
|
|
||||||
<div>
|
<div>
|
||||||
<label for="txtServerHost" style="text-align: left;">${LabelServerHost}</label>
|
<paper-input type="text" id="txtServerHost" required="required" label="${LabelServerHost}"></paper-input>
|
||||||
<input type="text" id="txtServerHost" required="required" />
|
|
||||||
<div class="fieldDescription" style="text-align:left;">${LabelServerHostHelp}</div>
|
<div class="fieldDescription" style="text-align:left;">${LabelServerHostHelp}</div>
|
||||||
</div>
|
</div>
|
||||||
<br />
|
<br />
|
||||||
<div>
|
<div>
|
||||||
<label for="txtServerPort" style="text-align: left;">${LabelServerPort}</label>
|
<paper-input type="number" id="txtServerPort" step="1" min="0" value="8096" label="${LabelServerPort}"></paper-input>
|
||||||
<input type="number" id="txtServerPort" step="1" min="0" value="8096" />
|
|
||||||
</div>
|
</div>
|
||||||
<br />
|
<br />
|
||||||
|
|
||||||
|
@ -66,27 +59,22 @@
|
||||||
<paper-button raised class="cancel block btnCancelManualServer"><iron-icon icon="close"></iron-icon><span>${ButtonCancel}</span></paper-button>
|
<paper-button raised class="cancel block btnCancelManualServer"><iron-icon icon="close"></iron-icon><span>${ButtonCancel}</span></paper-button>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<form class="signupForm" style="text-align: center; margin: 0 auto;display:none;">
|
<form class="signupForm" style="margin: 0 auto;display:none;">
|
||||||
|
|
||||||
<h1 style="text-align: left;">${HeaderSignUp}</h1>
|
<h1 style="text-align: left;">${HeaderSignUp}</h1>
|
||||||
<br />
|
<br />
|
||||||
<div>
|
<div>
|
||||||
<label for="txtSignupEmail" style="text-align: left;">${LabelEmail}</label>
|
<paper-input type="text" id="txtSignupEmail" required="required" label="${LabelEmail}"></paper-input>
|
||||||
<input type="email" id="txtSignupEmail" required="required" />
|
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<label for="txtSignupUsername" style="text-align: left;">${LabelUsername}</label>
|
<paper-input type="text" id="txtSignupUsername" required="required" label="${LabelUsername}"></paper-input>
|
||||||
<input type="text" id="txtSignupUsername" required="required" />
|
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<label for="txtSignupPassword" style="text-align: left;">${LabelPassword}</label>
|
<paper-input type="password" id="txtSignupPassword" required="required" label="${LabelPassword}" autocomplete="off"></paper-input>
|
||||||
<input type="password" id="txtSignupPassword" required="required" autocomplete="off" />
|
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<label for="txtSignupPasswordConfirm" style="text-align: left;">${LabelPasswordConfirm}</label>
|
<paper-input type="password" id="txtSignupPasswordConfirm" required="required" label="${LabelPasswordConfirm}" autocomplete="off"></paper-input>
|
||||||
<input type="password" id="txtSignupPasswordConfirm" required="required" autocomplete="off" />
|
|
||||||
</div>
|
</div>
|
||||||
<br />
|
|
||||||
|
|
||||||
<div class="g-recaptcha" id="recaptchaWidget" data-sitekey="6Le2LAgTAAAAAK06Wvttt_yUnbISTy6q3Azqp9po" data-theme="dark"></div>
|
<div class="g-recaptcha" id="recaptchaWidget" data-sitekey="6Le2LAgTAAAAAK06Wvttt_yUnbISTy6q3Azqp9po" data-theme="dark"></div>
|
||||||
<br />
|
<br />
|
||||||
|
|
24
dashboard-ui/cordova/actionsheet.js
vendored
24
dashboard-ui/cordova/actionsheet.js
vendored
|
@ -9,27 +9,23 @@
|
||||||
|
|
||||||
// If any items have an icon, give them all an icon just to make sure they're all lined up evenly
|
// If any items have an icon, give them all an icon just to make sure they're all lined up evenly
|
||||||
var renderIcon = options.items.filter(function (o) {
|
var renderIcon = options.items.filter(function (o) {
|
||||||
return o.ironIcon;
|
return o.ironIcon == 'check';
|
||||||
}).length;
|
}).length;
|
||||||
|
|
||||||
if (renderIcon) {
|
if (renderIcon) {
|
||||||
|
|
||||||
// iOS supports unicode icons
|
for (var i = 0, length = options.items.length; i < length; i++) {
|
||||||
if ($.browser.safari) {
|
|
||||||
|
|
||||||
for (var i = 0, length = options.items.length; i < length; i++) {
|
var option = options.items[i];
|
||||||
|
|
||||||
var option = options.items[i];
|
switch (option.ironIcon) {
|
||||||
|
|
||||||
switch (option.ironIcon) {
|
case 'check':
|
||||||
|
option.name = '• ' + option.name;
|
||||||
case 'check':
|
break;
|
||||||
option.name = '\\u2713 ' + option.name;
|
default:
|
||||||
break;
|
option.name = ' ' + option.name;
|
||||||
default:
|
break;
|
||||||
option.name = '\\u2001 ' + option.name;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<title></title>
|
<title></title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="itemDetailPage" data-role="page" class="page libraryPage itemDetailPage lightBackdropPage" data-theme="b" data-require="scripts/itemdetailpage,paperbuttonstyle,tileitemcss,jqmicons">
|
<div id="itemDetailPage" data-role="page" class="page libraryPage itemDetailPage lightBackdropPage" data-theme="b" data-require="scripts/itemdetailpage,paperbuttonstyle,tileitemcss,jqmicons,scripts/livetvcomponents">
|
||||||
|
|
||||||
<div class="itemTabs homeTabs" style="display: none;">
|
<div class="itemTabs homeTabs" style="display: none;">
|
||||||
<div class="libraryViewNav scopedLibraryViewNav">
|
<div class="libraryViewNav scopedLibraryViewNav">
|
||||||
|
@ -128,6 +128,8 @@
|
||||||
<paper-button raised class="secondary btnPlay hide"><iron-icon icon="play-arrow"></iron-icon><span>${ButtonPlay}</span></paper-button>
|
<paper-button raised class="secondary btnPlay hide"><iron-icon icon="play-arrow"></iron-icon><span>${ButtonPlay}</span></paper-button>
|
||||||
<paper-button raised class="alt btnPlayTrailer hide"><iron-icon icon="play-arrow"></iron-icon><span>${ButtonPlayTrailer}</span></paper-button>
|
<paper-button raised class="alt btnPlayTrailer hide"><iron-icon icon="play-arrow"></iron-icon><span>${ButtonPlayTrailer}</span></paper-button>
|
||||||
<a class="btnPlayExternalTrailer hide clearLink" href="#" target="_blank"><paper-button raised class="alt btnPlayExternalTrailer"><iron-icon icon="play-arrow"></iron-icon><span>${ButtonPlayTrailer}</span></paper-button></a>
|
<a class="btnPlayExternalTrailer hide clearLink" href="#" target="_blank"><paper-button raised class="alt btnPlayExternalTrailer"><iron-icon icon="play-arrow"></iron-icon><span>${ButtonPlayTrailer}</span></paper-button></a>
|
||||||
|
<paper-button raised class="subdued btnRecord hide"><iron-icon icon="videocam"></iron-icon><span>${ButtonRecord}</span></paper-button>
|
||||||
|
<paper-button raised class="subdued hide btnCancelRecording"><iron-icon icon="delete"></iron-icon><span>${ButtonCancelRecording}</span></paper-button>
|
||||||
<paper-button raised class="submit btnSync hide"><iron-icon icon="refresh"></iron-icon><span>${ButtonSync}</span></paper-button>
|
<paper-button raised class="submit btnSync hide"><iron-icon icon="refresh"></iron-icon><span>${ButtonSync}</span></paper-button>
|
||||||
<paper-button raised class="subdued btnShare notext hide" style="background-color:#673AB7"><iron-icon icon="share"></iron-icon></paper-button>
|
<paper-button raised class="subdued btnShare notext hide" style="background-color:#673AB7"><iron-icon icon="share"></iron-icon></paper-button>
|
||||||
<paper-button raised class="subdued btnMoreCommands hide notext"><iron-icon icon="more-vert"></iron-icon></paper-button>
|
<paper-button raised class="subdued btnMoreCommands hide notext"><iron-icon icon="more-vert"></iron-icon></paper-button>
|
||||||
|
@ -155,6 +157,8 @@
|
||||||
<paper-button raised class="secondary btnPlay hide"><iron-icon icon="play-arrow"></iron-icon><span>${ButtonPlay}</span></paper-button>
|
<paper-button raised class="secondary btnPlay hide"><iron-icon icon="play-arrow"></iron-icon><span>${ButtonPlay}</span></paper-button>
|
||||||
<paper-button raised class="alt btnPlayTrailer hide"><iron-icon icon="play-arrow"></iron-icon><span>${ButtonPlayTrailer}</span></paper-button>
|
<paper-button raised class="alt btnPlayTrailer hide"><iron-icon icon="play-arrow"></iron-icon><span>${ButtonPlayTrailer}</span></paper-button>
|
||||||
<a class="btnPlayExternalTrailer hide clearLink" href="#" target="_blank"><paper-button raised class="alt btnPlayExternalTrailer"><iron-icon icon="play-arrow"></iron-icon><span>${ButtonPlayTrailer}</span></paper-button></a>
|
<a class="btnPlayExternalTrailer hide clearLink" href="#" target="_blank"><paper-button raised class="alt btnPlayExternalTrailer"><iron-icon icon="play-arrow"></iron-icon><span>${ButtonPlayTrailer}</span></paper-button></a>
|
||||||
|
<paper-button raised class="subdued btnRecord hide"><iron-icon icon="videocam"></iron-icon><span>${ButtonRecord}</span></paper-button>
|
||||||
|
<paper-button raised class="subdued hide btnCancelRecording"><iron-icon icon="delete"></iron-icon><span>${ButtonCancelRecording}</span></paper-button>
|
||||||
<paper-button raised class="submit btnSync hide"><iron-icon icon="refresh"></iron-icon><span>${ButtonSync}</span></paper-button>
|
<paper-button raised class="submit btnSync hide"><iron-icon icon="refresh"></iron-icon><span>${ButtonSync}</span></paper-button>
|
||||||
<paper-button raised class="subdued btnShare notext hide" style="background-color:#673AB7"><iron-icon icon="share"></iron-icon></paper-button>
|
<paper-button raised class="subdued btnShare notext hide" style="background-color:#673AB7"><iron-icon icon="share"></iron-icon></paper-button>
|
||||||
<paper-button raised class="subdued btnMoreCommands forceHide notext"><iron-icon icon="more-vert"></iron-icon></paper-button>
|
<paper-button raised class="subdued btnMoreCommands forceHide notext"><iron-icon icon="more-vert"></iron-icon></paper-button>
|
||||||
|
@ -163,6 +167,7 @@
|
||||||
<p class="itemGenres"></p>
|
<p class="itemGenres"></p>
|
||||||
<p class="itemOverview smoothScrollY"></p>
|
<p class="itemOverview smoothScrollY"></p>
|
||||||
<p id="seriesAirTime"></p>
|
<p id="seriesAirTime"></p>
|
||||||
|
<p class="airDate"></p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="collectionItems"></div>
|
<div class="collectionItems"></div>
|
||||||
|
|
|
@ -1,67 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<title>Emby</title>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="liveTvProgramPage" data-role="page" class="page libraryPage liveTvPage" data-contextname="${HeaderLiveTv}" data-require="scripts/livetvcomponents,scripts/livetvprogram,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 style="padding: 1em 0;">
|
|
||||||
<div>
|
|
||||||
<table class="detailPageContent primaryDetailPageContent">
|
|
||||||
<tr>
|
|
||||||
<td style="vertical-align: top; padding: 0 1em 0 0;">
|
|
||||||
<div id="itemImage" class="itemImageContainer smallDetailImageContainer"></div>
|
|
||||||
</td>
|
|
||||||
<td style="vertical-align: top; padding: 0;">
|
|
||||||
<p><span class="itemName inlineItemName"></span><span class="itemMiscInfo" style="display: inline;"></span></p>
|
|
||||||
<p class="itemEpisodeName"></p>
|
|
||||||
<p class="itemMiscInfo miscTvProgramInfo"></p>
|
|
||||||
<p>
|
|
||||||
<span class="itemCommunityRating"></span>
|
|
||||||
<span class="userDataIcons"></span>
|
|
||||||
</p>
|
|
||||||
<p class="itemGenres desktopGenres"></p>
|
|
||||||
<p class="itemOverview desktopOverview smoothScrollY"></p>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<p class="itemGenres mobileGenres"></p>
|
|
||||||
<p class="itemOverview mobileOverview smoothScrollY"></p>
|
|
||||||
</div>
|
|
||||||
<div class="detailButtonsContainer">
|
|
||||||
<span id="playButtonContainer" style="display: none;">
|
|
||||||
<paper-button raised class="secondary btnPlay"><iron-icon icon="play-arrow"></iron-icon><span>${ButtonPlay}</span></paper-button>
|
|
||||||
</span>
|
|
||||||
<span id="cancelRecordingButtonContainer" style="display: none;">
|
|
||||||
<paper-button raised class="subdued btnCancelRecording"><iron-icon icon="delete"></iron-icon><span>${ButtonCancelRecording}</span></paper-button>
|
|
||||||
</span>
|
|
||||||
<span id="recordButtonContainer" style="display: none;">
|
|
||||||
<paper-button raised class="subdued btnRecord"><iron-icon icon="videocam"></iron-icon><span>${ButtonRecord}</span></paper-button>
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
<div data-role="content">
|
|
||||||
<div class="detailPageContent">
|
|
||||||
|
|
||||||
<div id="detailsSection" class="detailSection">
|
|
||||||
<div class="detailSectionHeader" style="margin-top: 0;">
|
|
||||||
${HeaderDetails}
|
|
||||||
</div>
|
|
||||||
<div class="detailSectionContent" style="padding: 0 1em;">
|
|
||||||
|
|
||||||
<p class="airDate"></p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -8,15 +8,15 @@
|
||||||
|
|
||||||
<div data-role="content">
|
<div data-role="content">
|
||||||
|
|
||||||
<form class="manualLoginForm" style="display: none; text-align: center; margin: 0 auto;">
|
<form class="manualLoginForm" style="display: none; margin: 0 auto;">
|
||||||
|
|
||||||
<h1 style="text-align: left;">${HeaderPleaseSignIn}</h1>
|
<h1 style="text-align: left;">${HeaderPleaseSignIn}</h1>
|
||||||
|
|
||||||
<label for="txtManualName" style="text-align: left;">${LabelUser}</label>
|
<paper-input type="text" id="txtManualName" required="required" label="${LabelUser}" autocomplete="off"></paper-input>
|
||||||
<input type="text" name="txtManualName" id="txtManualName" required="required" />
|
|
||||||
|
|
||||||
<label for="txtManualPassword" style="text-align: left;">${LabelPassword}</label>
|
<paper-input id="txtManualPassword" type="password" label="${LabelPassword}" autocomplete="off"></paper-input>
|
||||||
<input type="password" name="txtManualPassword" id="txtManualPassword" placeholder="password" />
|
|
||||||
|
<br />
|
||||||
<button type="submit" data-role="none" class="clearButton">
|
<button type="submit" data-role="none" class="clearButton">
|
||||||
<paper-button raised class="accent block"><iron-icon icon="check"></iron-icon><span>${ButtonSignIn}</span></paper-button>
|
<paper-button raised class="accent block"><iron-icon icon="check"></iron-icon><span>${ButtonSignIn}</span></paper-button>
|
||||||
</button>
|
</button>
|
||||||
|
|
|
@ -24,6 +24,7 @@
|
||||||
|
|
||||||
LibraryBrowser.renderName(item, $('.itemName', page), false, context);
|
LibraryBrowser.renderName(item, $('.itemName', page), false, context);
|
||||||
LibraryBrowser.renderParentName(item, $('.parentName', page), context);
|
LibraryBrowser.renderParentName(item, $('.parentName', page), context);
|
||||||
|
LibraryMenu.setTitle(item.Name);
|
||||||
|
|
||||||
Dashboard.getCurrentUser().done(function (user) {
|
Dashboard.getCurrentUser().done(function (user) {
|
||||||
|
|
||||||
|
@ -39,7 +40,17 @@
|
||||||
LibraryBrowser.renderDetailPageBackdrop(page, item);
|
LibraryBrowser.renderDetailPageBackdrop(page, item);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (MediaController.canPlay(item)) {
|
if (item.Type == 'Program') {
|
||||||
|
|
||||||
|
var now = new Date();
|
||||||
|
|
||||||
|
if (now >= parseISO8601Date(item.StartDate, { toLocal: true }) && now < parseISO8601Date(item.EndDate, { toLocal: true })) {
|
||||||
|
$('.btnPlay', page).removeClass('hide');
|
||||||
|
} else {
|
||||||
|
$('.btnPlay', page).addClass('hide');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (MediaController.canPlay(item)) {
|
||||||
$('.btnPlay', page).removeClass('hide');
|
$('.btnPlay', page).removeClass('hide');
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
@ -64,6 +75,18 @@
|
||||||
$('.btnShare', page).addClass('hide');
|
$('.btnShare', page).addClass('hide');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (item.Type == 'Program' && item.TimerId) {
|
||||||
|
$('.btnCancelRecording', page).removeClass('hide');
|
||||||
|
} else {
|
||||||
|
$('.btnCancelRecording', page).addClass('hide');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (item.Type == 'Program' && (!item.TimerId && !item.SeriesTimerId)) {
|
||||||
|
$('.btnRecord', page).removeClass('hide');
|
||||||
|
} else {
|
||||||
|
$('.btnRecord', page).addClass('hide');
|
||||||
|
}
|
||||||
|
|
||||||
if (!item.LocalTrailerCount && item.RemoteTrailers.length && item.PlayAccess == 'Full') {
|
if (!item.LocalTrailerCount && item.RemoteTrailers.length && item.PlayAccess == 'Full') {
|
||||||
|
|
||||||
$('.btnPlayExternalTrailer', page).removeClass('hide').attr('href', item.RemoteTrailers[0].Url);
|
$('.btnPlayExternalTrailer', page).removeClass('hide').attr('href', item.RemoteTrailers[0].Url);
|
||||||
|
@ -90,6 +113,8 @@
|
||||||
} else {
|
} else {
|
||||||
$('.chapterSettingsButton', page).hide();
|
$('.chapterSettingsButton', page).hide();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
LiveTvHelpers.renderOriginalAirDate($('.airDate', page), item);
|
||||||
});
|
});
|
||||||
|
|
||||||
if (item.LocationType == "Offline") {
|
if (item.LocationType == "Offline") {
|
||||||
|
@ -1548,20 +1573,54 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function playCurrentItem(button) {
|
||||||
|
|
||||||
|
if (currentItem.Type == 'Program') {
|
||||||
|
|
||||||
|
ApiClient.getLiveTvChannel(currentItem.ChannelId, Dashboard.getCurrentUserId()).done(function (channel) {
|
||||||
|
|
||||||
|
LibraryBrowser.showPlayMenu(null, channel.Id, channel.Type, false, channel.MediaType, (channel.UserData || {}).PlaybackPositionTicks);
|
||||||
|
});
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var userdata = currentItem.UserData || {};
|
||||||
|
|
||||||
|
var mediaType = currentItem.MediaType;
|
||||||
|
|
||||||
|
if (currentItem.Type == "MusicArtist" || currentItem.Type == "MusicAlbum") {
|
||||||
|
mediaType = "Audio";
|
||||||
|
}
|
||||||
|
|
||||||
|
LibraryBrowser.showPlayMenu(button, currentItem.Id, currentItem.Type, currentItem.IsFolder, mediaType, userdata.PlaybackPositionTicks);
|
||||||
|
}
|
||||||
|
|
||||||
|
function deleteTimer(page, id) {
|
||||||
|
|
||||||
|
Dashboard.confirm(Globalize.translate('MessageConfirmRecordingCancellation'), Globalize.translate('HeaderConfirmRecordingCancellation'), function (result) {
|
||||||
|
|
||||||
|
if (result) {
|
||||||
|
|
||||||
|
Dashboard.showLoadingMsg();
|
||||||
|
|
||||||
|
ApiClient.cancelLiveTvTimer(id).done(function () {
|
||||||
|
|
||||||
|
Dashboard.alert(Globalize.translate('MessageRecordingCancelled'));
|
||||||
|
|
||||||
|
reload(page);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
$(document).on('pageinitdepends', "#itemDetailPage", function () {
|
$(document).on('pageinitdepends', "#itemDetailPage", function () {
|
||||||
|
|
||||||
var page = this;
|
var page = this;
|
||||||
|
|
||||||
$('.btnPlay', page).on('click', function () {
|
$('.btnPlay', page).on('click', function () {
|
||||||
var userdata = currentItem.UserData || {};
|
playCurrentItem(this);
|
||||||
|
|
||||||
var mediaType = currentItem.MediaType;
|
|
||||||
|
|
||||||
if (currentItem.Type == "MusicArtist" || currentItem.Type == "MusicAlbum") {
|
|
||||||
mediaType = "Audio";
|
|
||||||
}
|
|
||||||
|
|
||||||
LibraryBrowser.showPlayMenu(this, currentItem.Id, currentItem.Type, currentItem.IsFolder, mediaType, userdata.PlaybackPositionTicks);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
$('.btnPlayTrailer', page).on('click', function () {
|
$('.btnPlayTrailer', page).on('click', function () {
|
||||||
|
@ -1580,6 +1639,19 @@
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$('.btnRecord', page).on('click', function () {
|
||||||
|
|
||||||
|
var id = getParameterByName('id');
|
||||||
|
|
||||||
|
Dashboard.navigate('livetvnewrecording.html?programid=' + id);
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
$('.btnCancelRecording', page).on('click', function () {
|
||||||
|
|
||||||
|
deleteTimer(page, currentItem.TimerId);
|
||||||
|
});
|
||||||
|
|
||||||
$('.btnShare', page).on('click', function () {
|
$('.btnShare', page).on('click', function () {
|
||||||
|
|
||||||
require(['sharingmanager'], function () {
|
require(['sharingmanager'], function () {
|
||||||
|
|
|
@ -197,7 +197,6 @@
|
||||||
tabs.alignBottom = true;
|
tabs.alignBottom = true;
|
||||||
tabs.classList.add('bottomTabs');
|
tabs.classList.add('bottomTabs');
|
||||||
}
|
}
|
||||||
tabs.noink = true;
|
|
||||||
|
|
||||||
if (LibraryBrowser.enableFullPaperTabs()) {
|
if (LibraryBrowser.enableFullPaperTabs()) {
|
||||||
|
|
||||||
|
@ -207,8 +206,8 @@
|
||||||
|
|
||||||
// Not very iOS-like I suppose
|
// Not very iOS-like I suppose
|
||||||
tabs.noSlide = true;
|
tabs.noSlide = true;
|
||||||
tabs.noink = true;
|
|
||||||
tabs.noBar = true;
|
tabs.noBar = true;
|
||||||
|
tabs.noink = true;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
LibraryBrowser.configureSwipeTabs(ownerpage, tabs, pages);
|
LibraryBrowser.configureSwipeTabs(ownerpage, tabs, pages);
|
||||||
|
@ -219,7 +218,6 @@
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
tabs.noSlide = true;
|
tabs.noSlide = true;
|
||||||
tabs.noink = true;
|
|
||||||
tabs.noBar = true;
|
tabs.noBar = true;
|
||||||
tabs.scrollable = true;
|
tabs.scrollable = true;
|
||||||
|
|
||||||
|
@ -801,7 +799,7 @@
|
||||||
return "channelitems.html?id=" + item.ChannelId + '&folderId=' + item.Id;
|
return "channelitems.html?id=" + item.ChannelId + '&folderId=' + item.Id;
|
||||||
}
|
}
|
||||||
if (item.Type == "Program") {
|
if (item.Type == "Program") {
|
||||||
return "livetvprogram.html?id=" + id;
|
return "itemdetails.html?id=" + id;
|
||||||
}
|
}
|
||||||
if (item.Type == "Series") {
|
if (item.Type == "Series") {
|
||||||
return "itemdetails.html?id=" + id + contextSuffix;
|
return "itemdetails.html?id=" + id + contextSuffix;
|
||||||
|
@ -2302,6 +2300,8 @@
|
||||||
|
|
||||||
} else if (item.Album) {
|
} else if (item.Album) {
|
||||||
html.push(item.Album);
|
html.push(item.Album);
|
||||||
|
} else if (item.Type == 'Program' && item.EpisodeTitle) {
|
||||||
|
html.push(item.Name);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (html.length) {
|
if (html.length) {
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
html += '<paper-icon-button icon="person" class="headerButton headerButtonRight headerUserButton" onclick="return Dashboard.showUserFlyout(this);"></paper-icon-button>';
|
html += '<paper-icon-button icon="person" class="headerButton headerButtonRight headerUserButton" onclick="return Dashboard.showUserFlyout(this);"></paper-icon-button>';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!$.browser.mobile && !AppInfo.isNativeApp) {
|
if (!$.browser.mobile && !Dashboard.isConnectMode()) {
|
||||||
html += '<paper-icon-button icon="settings" class="headerButton headerButtonRight dashboardEntryHeaderButton hide" onclick="return LibraryMenu.onSettingsClicked(event);"></paper-icon-button>';
|
html += '<paper-icon-button icon="settings" class="headerButton headerButtonRight dashboardEntryHeaderButton hide" onclick="return LibraryMenu.onSettingsClicked(event);"></paper-icon-button>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -469,7 +469,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
function showUserAtTop() {
|
function showUserAtTop() {
|
||||||
return AppInfo.isNativeApp;
|
return Dashboard.isConnectMode();
|
||||||
}
|
}
|
||||||
|
|
||||||
var requiresLibraryMenuRefresh = false;
|
var requiresLibraryMenuRefresh = false;
|
||||||
|
@ -797,7 +797,7 @@
|
||||||
document.body.classList.add('hideMainDrawer');
|
document.body.classList.add('hideMainDrawer');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!AppInfo.isNativeApp) {
|
if (!Dashboard.isConnectMode()) {
|
||||||
darkDrawer = true;
|
darkDrawer = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
currentIndexValue = startDateText;
|
currentIndexValue = startDateText;
|
||||||
}
|
}
|
||||||
|
|
||||||
html += '<a href="livetvprogram.html?id=' + program.Id + '" class="tvProgram">';
|
html += '<a href="itemdetails.html?id=' + program.Id + '" class="tvProgram">';
|
||||||
|
|
||||||
var cssClass = "tvProgramTimeSlot";
|
var cssClass = "tvProgramTimeSlot";
|
||||||
|
|
||||||
|
|
|
@ -214,7 +214,7 @@
|
||||||
cssClass += " plainProgramInfo";
|
cssClass += " plainProgramInfo";
|
||||||
}
|
}
|
||||||
|
|
||||||
html += '<a href="livetvprogram.html?id=' + program.Id + '" class="' + cssClass + '" data-programid="' + program.Id + '">';
|
html += '<a href="itemdetails.html?id=' + program.Id + '" class="' + cssClass + '" data-programid="' + program.Id + '">';
|
||||||
|
|
||||||
html += '<div class="guideProgramName">';
|
html += '<div class="guideProgramName">';
|
||||||
html += program.Name;
|
html += program.Name;
|
||||||
|
|
|
@ -163,7 +163,7 @@
|
||||||
|
|
||||||
var programId = getParameterByName('programid');
|
var programId = getParameterByName('programid');
|
||||||
|
|
||||||
Dashboard.navigate('livetvprogram.html?id=' + programId);
|
Dashboard.navigate('itemdetails.html?id=' + programId);
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -1,135 +0,0 @@
|
||||||
(function ($, document) {
|
|
||||||
|
|
||||||
var currentItem;
|
|
||||||
|
|
||||||
function deleteTimer(page, id) {
|
|
||||||
|
|
||||||
Dashboard.confirm(Globalize.translate('MessageConfirmRecordingCancellation'), Globalize.translate('HeaderConfirmRecordingCancellation'), function (result) {
|
|
||||||
|
|
||||||
if (result) {
|
|
||||||
|
|
||||||
Dashboard.showLoadingMsg();
|
|
||||||
|
|
||||||
ApiClient.cancelLiveTvTimer(id).done(function () {
|
|
||||||
|
|
||||||
Dashboard.alert(Globalize.translate('MessageRecordingCancelled'));
|
|
||||||
|
|
||||||
reload(page);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function reload(page) {
|
|
||||||
|
|
||||||
Dashboard.showLoadingMsg();
|
|
||||||
|
|
||||||
ApiClient.getLiveTvProgram(getParameterByName('id'), Dashboard.getCurrentUserId()).done(function (item) {
|
|
||||||
|
|
||||||
var context = 'livetv';
|
|
||||||
currentItem = item;
|
|
||||||
|
|
||||||
var name = item.Name;
|
|
||||||
|
|
||||||
$('#itemImage', page).html(LibraryBrowser.getDetailImageHtml(item));
|
|
||||||
|
|
||||||
Dashboard.setPageTitle(name);
|
|
||||||
|
|
||||||
$('.itemName', page).html(name);
|
|
||||||
|
|
||||||
$('.itemEpisodeName', page).html(item.EpisodeTitle || '');
|
|
||||||
|
|
||||||
$('.itemCommunityRating', page).html(LibraryBrowser.getRatingHtml(item));
|
|
||||||
|
|
||||||
$('.userDataIcons', page).html(LibraryBrowser.getUserDataIconsHtml(item));
|
|
||||||
|
|
||||||
LibraryBrowser.renderGenres($('.itemGenres', page), item, context);
|
|
||||||
LibraryBrowser.renderOverview(page.querySelectorAll('.itemOverview'), item);
|
|
||||||
$('.itemMiscInfo', page).html(LibraryBrowser.getMiscInfoHtml(item));
|
|
||||||
|
|
||||||
LiveTvHelpers.renderMiscProgramInfo($('.miscTvProgramInfo', page), item);
|
|
||||||
|
|
||||||
Events.trigger(page, 'displayingitem', [{
|
|
||||||
|
|
||||||
item: item,
|
|
||||||
context: 'livetv'
|
|
||||||
}]);
|
|
||||||
|
|
||||||
if (item.TimerId) {
|
|
||||||
$('#cancelRecordingButtonContainer', page).show();
|
|
||||||
} else {
|
|
||||||
$('#cancelRecordingButtonContainer', page).hide();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!item.TimerId && !item.SeriesTimerId) {
|
|
||||||
$('#recordButtonContainer', page).show();
|
|
||||||
} else {
|
|
||||||
$('#recordButtonContainer', page).hide();
|
|
||||||
}
|
|
||||||
|
|
||||||
var startDateLocal = parseISO8601Date(item.StartDate, { toLocal: true });
|
|
||||||
var endDateLocal = parseISO8601Date(item.EndDate, { toLocal: true });
|
|
||||||
var now = new Date();
|
|
||||||
|
|
||||||
if (now >= startDateLocal && now < endDateLocal) {
|
|
||||||
$('#playButtonContainer', page).show();
|
|
||||||
} else {
|
|
||||||
$('#playButtonContainer', page).hide();
|
|
||||||
}
|
|
||||||
|
|
||||||
Dashboard.getCurrentUser().done(function (user) {
|
|
||||||
|
|
||||||
if (user.Policy.IsAdministrator && item.LocationType !== "Offline") {
|
|
||||||
$('#editButtonContainer', page).show();
|
|
||||||
} else {
|
|
||||||
$('#editButtonContainer', page).hide();
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
LiveTvHelpers.renderOriginalAirDate($('.airDate', page), item);
|
|
||||||
|
|
||||||
Dashboard.hideLoadingMsg();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
$(document).on('pageinitdepends', "#liveTvProgramPage", function () {
|
|
||||||
|
|
||||||
var page = this;
|
|
||||||
|
|
||||||
$('.btnRecord', page).on('click', function() {
|
|
||||||
|
|
||||||
var id = getParameterByName('id');
|
|
||||||
|
|
||||||
Dashboard.navigate('livetvnewrecording.html?programid=' + id);
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
$('.btnPlay', page).on('click', function () {
|
|
||||||
|
|
||||||
ApiClient.getLiveTvChannel(currentItem.ChannelId, Dashboard.getCurrentUserId()).done(function (channel) {
|
|
||||||
|
|
||||||
var userdata = channel.UserData || {};
|
|
||||||
|
|
||||||
LibraryBrowser.showPlayMenu(null, channel.Id, channel.Type, false, channel.MediaType, userdata.PlaybackPositionTicks);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
$('.btnCancelRecording', page).on('click', function () {
|
|
||||||
|
|
||||||
deleteTimer(page, currentItem.TimerId);
|
|
||||||
});
|
|
||||||
|
|
||||||
}).on('pagebeforeshowready', "#liveTvProgramPage", function () {
|
|
||||||
|
|
||||||
var page = this;
|
|
||||||
|
|
||||||
reload(page);
|
|
||||||
|
|
||||||
}).on('pagebeforehide', "#liveTvProgramPage", function () {
|
|
||||||
|
|
||||||
currentItem = null;
|
|
||||||
});
|
|
||||||
|
|
||||||
})(jQuery, document);
|
|
|
@ -387,7 +387,7 @@
|
||||||
var menuItems = [];
|
var menuItems = [];
|
||||||
|
|
||||||
menuItems.push({
|
menuItems.push({
|
||||||
name: 'Schedules Direct (USA / Canada)',
|
name: 'Schedules Direct',
|
||||||
id: 'SchedulesDirect'
|
id: 'SchedulesDirect'
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -63,9 +63,9 @@
|
||||||
$('.manualLoginForm', page).show();
|
$('.manualLoginForm', page).show();
|
||||||
|
|
||||||
if (focusPassword) {
|
if (focusPassword) {
|
||||||
$('#txtManualPassword', page).focus();
|
$('#txtManualPassword input', page).focus();
|
||||||
} else {
|
} else {
|
||||||
$('#txtManualName', page).focus();
|
$('#txtManualName input', page).focus();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (showCancel) {
|
if (showCancel) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue