mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
update live tv scrolling
This commit is contained in:
parent
4a0f78149a
commit
3920d73045
39 changed files with 404 additions and 415 deletions
|
@ -596,7 +596,6 @@ span.itemCommunityRating:not(:empty) + .userDataIcons {
|
|||
.itemOverview {
|
||||
text-overflow: ellipsis;
|
||||
max-height: 100px;
|
||||
overflow-y: auto;
|
||||
padding-right: .5em;
|
||||
}
|
||||
|
||||
|
|
|
@ -160,7 +160,6 @@
|
|||
|
||||
.timeslotHeaders {
|
||||
white-space: nowrap;
|
||||
overflow-x: scroll;
|
||||
}
|
||||
|
||||
.mobileGuide .timeslotHeaders {
|
||||
|
@ -248,7 +247,6 @@
|
|||
|
||||
.programGrid {
|
||||
padding-bottom: 4px;
|
||||
overflow-x: scroll;
|
||||
}
|
||||
|
||||
.programGrid, .timeslotHeaders {
|
||||
|
|
|
@ -290,8 +290,6 @@
|
|||
bottom: 0;
|
||||
left: 0;
|
||||
width: 30%;
|
||||
overflow-y: scroll;
|
||||
overflow-x: auto !important;
|
||||
display: block;
|
||||
border-right: 1px solid #555;
|
||||
}
|
||||
|
|
|
@ -31,8 +31,6 @@
|
|||
left: 0;
|
||||
right: 0;
|
||||
background-color: rgba(0,0,0,.9);
|
||||
overflow-x: auto;
|
||||
overflow-y: hidden;
|
||||
z-index: 1000;
|
||||
}
|
||||
|
||||
|
|
|
@ -201,8 +201,6 @@
|
|||
bottom: 0;
|
||||
z-index: 1000;
|
||||
border: 0 !important;
|
||||
overflow-x: hidden;
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
.searchResultsContainer {
|
||||
|
|
|
@ -162,6 +162,12 @@ h1 a:hover {
|
|||
margin: -10px 0 0 -10px;
|
||||
}
|
||||
|
||||
.smoothScrollX {
|
||||
overflow-x: scroll;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
overflow-y: hidden;
|
||||
}
|
||||
|
||||
.hiddenScrollX {
|
||||
overflow-x: scroll;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
|
@ -180,14 +186,23 @@ h1 a:hover {
|
|||
}
|
||||
|
||||
|
||||
.hiddenScrollY, .ui-panel-inner {
|
||||
.smoothScrollY {
|
||||
overflow-y: auto;
|
||||
-ms-overflow-style: none;
|
||||
overflow: -moz-scrollbars-none;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
overflow-x: hidden;
|
||||
}
|
||||
|
||||
.hiddenScrollY, .ui-panel-inner {
|
||||
overflow-y: auto;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
overflow-x: hidden;
|
||||
}
|
||||
|
||||
.touch .hiddenScrollY {
|
||||
-ms-overflow-style: none;
|
||||
overflow: -moz-scrollbars-none;
|
||||
}
|
||||
|
||||
.touch .hiddenScrollY::-webkit-scrollbar, .touch .ui-panel-inner::-webkit-scrollbar {
|
||||
width: 0 !important;
|
||||
display: none;
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<title>${TitleDlna}</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="dlnaProfilePage" data-role="page" class="page type-interior dlnaPage" data-helpurl="https://github.com/MediaBrowser/Wiki/wiki/Dlna%20profiles">
|
||||
<div id="dlnaProfilePage" data-role="page" class="page type-interior dlnaPage" data-helpurl="https://github.com/MediaBrowser/Wiki/wiki/Dlna%20profiles" data-require="scripts/dlnaprofile">
|
||||
|
||||
<div data-role="content">
|
||||
<div class="content-primary">
|
||||
|
@ -725,18 +725,6 @@
|
|||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
$('.dlnaProfileForm').off('submit', DlnaProfilePage.onSubmit).on('submit', DlnaProfilePage.onSubmit);
|
||||
$('.editDirectPlayProfileForm').off('submit', DlnaProfilePage.onDirectPlayFormSubmit).on('submit', DlnaProfilePage.onDirectPlayFormSubmit);
|
||||
$('.transcodingProfileForm').off('submit', DlnaProfilePage.onTranscodingProfileFormSubmit).on('submit', DlnaProfilePage.onTranscodingProfileFormSubmit);
|
||||
$('.containerProfileForm').off('submit', DlnaProfilePage.onContainerProfileFormSubmit).on('submit', DlnaProfilePage.onContainerProfileFormSubmit);
|
||||
$('.codecProfileForm').off('submit', DlnaProfilePage.onCodecProfileFormSubmit).on('submit', DlnaProfilePage.onCodecProfileFormSubmit);
|
||||
$('.editResponseProfileForm').off('submit', DlnaProfilePage.onResponseProfileFormSubmit).on('submit', DlnaProfilePage.onResponseProfileFormSubmit);
|
||||
$('.identificationHeaderForm').off('submit', DlnaProfilePage.onIdentificationHeaderFormSubmit).on('submit', DlnaProfilePage.onIdentificationHeaderFormSubmit);
|
||||
$('.xmlAttributeForm').off('submit', DlnaProfilePage.onXmlAttributeFormSubmit).on('submit', DlnaProfilePage.onXmlAttributeFormSubmit);
|
||||
$('.subtitleProfileForm').off('submit', DlnaProfilePage.onSubtitleProfileFormSubmit).on('submit', DlnaProfilePage.onSubtitleProfileFormSubmit);
|
||||
</script>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -4,7 +4,7 @@
|
|||
<title>${TitleDlna}</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="dlnaProfilesPage" data-role="page" class="page type-interior dlnaPage" data-helpurl="https://github.com/MediaBrowser/Wiki/wiki/Dlna%20profiles">
|
||||
<div id="dlnaProfilesPage" data-role="page" class="page type-interior dlnaPage" data-helpurl="https://github.com/MediaBrowser/Wiki/wiki/Dlna%20profiles" data-require="scripts/dlnaprofiles">
|
||||
|
||||
<div data-role="content">
|
||||
<div class="content-primary">
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<title>${TitleDlna}</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="dlnaServerSettingsPage" data-role="page" class="page type-interior dlnaPage" data-helpurl="https://github.com/MediaBrowser/Wiki/wiki/Dlna%20server">
|
||||
<div id="dlnaServerSettingsPage" data-role="page" class="page type-interior dlnaPage" data-helpurl="https://github.com/MediaBrowser/Wiki/wiki/Dlna%20server" data-require="scripts/dlnaserversettings">
|
||||
|
||||
<div data-role="content">
|
||||
<div class="content-primary">
|
||||
|
@ -58,10 +58,6 @@
|
|||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
$('.dlnaServerSettingsForm').off('submit', DlnaServerSettingsPage.onSubmit).on('submit', DlnaServerSettingsPage.onSubmit);
|
||||
</script>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<title>${TitleDlna}</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="dlnaSettingsPage" data-role="page" class="page type-interior dlnaPage" data-helpurl="https://github.com/MediaBrowser/Wiki/wiki/Play%20to">
|
||||
<div id="dlnaSettingsPage" data-role="page" class="page type-interior dlnaPage" data-helpurl="https://github.com/MediaBrowser/Wiki/wiki/Play%20to" data-require="scripts/dlnasettings">
|
||||
|
||||
<div data-role="content">
|
||||
<div class="content-primary">
|
||||
|
@ -48,10 +48,6 @@
|
|||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
$('.dlnaSettingsForm').off('submit', DlnaSettingsPage.onSubmit).on('submit', DlnaSettingsPage.onSubmit);
|
||||
</script>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<body>
|
||||
<div id="editItemImagesPage" data-role="page" class="page libraryPage metadataEditorPage" data-contextname="${HeaderMetadataManager}" data-require="scripts/edititemimages">
|
||||
<div data-role="content editPageContent">
|
||||
<div class="editPageSidebar">
|
||||
<div class="editPageSidebar smoothScrollY">
|
||||
<div class="libraryTree">
|
||||
<ul></ul>
|
||||
</div>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<body>
|
||||
<div id="editItemMetadataPage" data-role="page" class="page libraryPage metadataEditorPage" data-contextname="${HeaderMetadataManager}">
|
||||
<div data-role="content editPageContent">
|
||||
<div class="editPageSidebar">
|
||||
<div class="editPageSidebar smoothScrollY">
|
||||
<div class="libraryTree">
|
||||
<ul></ul>
|
||||
</div>
|
||||
|
|
|
@ -6,10 +6,9 @@
|
|||
<body>
|
||||
<div id="editItemSubtitlesPage" data-role="page" class="page libraryPage metadataEditorPage" data-contextname="${HeaderMetadataManager}">
|
||||
<div data-role="content editPageContent">
|
||||
<div class="editPageSidebar">
|
||||
<div class="editPageSidebar smoothScrollY">
|
||||
<div class="libraryTree">
|
||||
<ul>
|
||||
</ul>
|
||||
<ul></ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="editPageInnerContent">
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<title>${TitlePlayback}</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="encodingSettingsPage" data-role="page" class="page type-interior playbackConfigurationPage" data-helpurl="https://github.com/MediaBrowser/Wiki/wiki/Transcoding">
|
||||
<div id="encodingSettingsPage" data-role="page" class="page type-interior playbackConfigurationPage" data-helpurl="https://github.com/MediaBrowser/Wiki/wiki/Transcoding" data-require="scripts/encodingsettings">
|
||||
|
||||
<div data-role="content">
|
||||
<div class="content-primary">
|
||||
|
@ -84,10 +84,6 @@
|
|||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
$('.encodingSettingsForm').off('submit', EncodingSettingsPage.onSubmit).on('submit', EncodingSettingsPage.onSubmit);
|
||||
</script>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -129,7 +129,7 @@
|
|||
<span class="userDataIcons"></span>
|
||||
</p>
|
||||
<p class="itemGenres"></p>
|
||||
<p class="itemOverview desktopOverview"></p>
|
||||
<p class="itemOverview desktopOverview smoothScrollY"></p>
|
||||
<p id="itemBirthday"></p>
|
||||
<p id="itemBirthLocation"></p>
|
||||
<p id="itemDeathDate"></p>
|
||||
|
@ -149,7 +149,7 @@
|
|||
<a class="btnSync hide" data-role="button" data-icon="refresh" data-inline="true" data-mini="true" href="#">${ButtonSync}</a>
|
||||
<button class="btnMoreCommands hide jqmButtonNoText" type="button" data-icon="ellipsis-v" data-inline="true" data-mini="true" data-iconpos="notext">${ButtonMore}</button>
|
||||
</div>
|
||||
<p class="itemOverview mobileOverview"></p>
|
||||
<p class="itemOverview mobileOverview smoothScrollY"></p>
|
||||
<div data-role="content" style="padding-top: 0;">
|
||||
|
||||
<div id="itemTabs" style="text-align: center; margin: 0 0 1em;"></div>
|
||||
|
|
|
@ -177,7 +177,7 @@
|
|||
</div>
|
||||
<p id="artist"></p>
|
||||
<p class="itemGenres"></p>
|
||||
<p class="itemOverview"></p>
|
||||
<p class="itemOverview smoothScrollY"></p>
|
||||
<p id="seriesAirTime"></p>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<title>${TitleMediaLibrary}</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="librarySettingsPage" data-role="page" class="page type-interior mediaLibraryPage">
|
||||
<div id="librarySettingsPage" data-role="page" class="page type-interior mediaLibraryPage" data-require="scripts/librarysettings">
|
||||
|
||||
<div data-role="content">
|
||||
<div class="content-primary">
|
||||
|
@ -14,7 +14,7 @@
|
|||
<a href="#" data-role="button" class="ui-btn-active">${TabAdvanced}</a>
|
||||
</div>
|
||||
|
||||
<form id="librarySettingsForm">
|
||||
<form class="librarySettingsForm">
|
||||
|
||||
<ul data-role="listview" class="ulForm">
|
||||
<li class="fldImagesByName" style="display:none;">
|
||||
|
@ -87,10 +87,6 @@
|
|||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
$('#librarySettingsForm').on('submit', LibrarySettingsPage.onSubmit);
|
||||
</script>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -22,13 +22,13 @@
|
|||
<a href="#popupConfig" data-rel="popup" class="accentButton" style="display:block;padding-left:5px;"><i class="fa fa-calendar"></i><span class="currentDate"></span></a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="timeslotHeaders"></div>
|
||||
<div class="timeslotHeaders hiddenScrollX"></div>
|
||||
</div>
|
||||
|
||||
<div class="programContainer">
|
||||
|
||||
<div class="channelList"></div>
|
||||
<div class="programGrid"></div>
|
||||
<div class="programGrid hiddenScrollX"></div>
|
||||
</div>
|
||||
<div class="channelPaging"></div>
|
||||
</div>
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
<span class="itemCommunityRating"></span>
|
||||
</p>
|
||||
<p class="itemGenres"></p>
|
||||
<p class="itemOverview"></p>
|
||||
<p class="itemOverview smoothScrollY"></p>
|
||||
|
||||
<br />
|
||||
|
||||
|
|
|
@ -29,13 +29,13 @@
|
|||
<span class="userDataIcons"></span>
|
||||
</p>
|
||||
<p class="itemGenres desktopGenres"></p>
|
||||
<p class="itemOverview desktopOverview"></p>
|
||||
<p class="itemOverview desktopOverview smoothScrollY"></p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<p class="itemGenres mobileGenres"></p>
|
||||
<p class="itemOverview mobileOverview"></p>
|
||||
<p class="itemOverview mobileOverview smoothScrollY"></p>
|
||||
</div>
|
||||
<div class="detailButtonsContainer">
|
||||
<span id="playButtonContainer" style="display: none;">
|
||||
|
|
|
@ -29,13 +29,13 @@
|
|||
<span class="userDataIcons"></span>
|
||||
</p>
|
||||
<p class="itemGenres desktopGenres"></p>
|
||||
<p class="itemOverview desktopOverview"></p>
|
||||
<p class="itemOverview desktopOverview smoothScrollY"></p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<p class="itemGenres mobileGenres"></p>
|
||||
<p class="itemOverview mobileOverview"></p>
|
||||
<p class="itemOverview mobileOverview smoothScrollY"></p>
|
||||
</div>
|
||||
<div class="detailButtonsContainer">
|
||||
<span id="playButtonContainer" style="display: none;">
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
<p class="itemGenres"></p>
|
||||
</div>
|
||||
</div>
|
||||
<p class="itemOverview"></p>
|
||||
<p class="itemOverview smoothScrollY"></p>
|
||||
|
||||
<p style="margin-top: 2em;">
|
||||
<span class="timerStatus"></span>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<title>${TitleMetadata}</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="metadataNfoPage" data-role="page" class="page type-interior metadataConfigurationPage">
|
||||
<div id="metadataNfoPage" data-role="page" class="page type-interior metadataConfigurationPage" data-require="scripts/metadatanfo">
|
||||
|
||||
<div data-role="content">
|
||||
|
||||
|
@ -70,10 +70,6 @@
|
|||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
$('.metadataNfoForm').off('submit', NfoMetadataPage.onSubmit).on('submit', NfoMetadataPage.onSubmit);
|
||||
</script>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -144,7 +144,7 @@
|
|||
</div>
|
||||
|
||||
<div class="chapterMenuOverlay" style="display: none;"></div>
|
||||
<div class="chapterMenu" style="display: none;">
|
||||
<div class="chapterMenu hiddenScrollX" style="display: none;">
|
||||
<div class="chapterMenuInner">
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<title>${TitleScheduledTasks}</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="scheduledTaskPage" data-role="page" class="page type-interior scheduledTasksConfigurationPage" data-helpurl="https://github.com/MediaBrowser/Wiki/wiki/Scheduled%20tasks">
|
||||
<div id="scheduledTaskPage" data-role="page" class="page type-interior scheduledTasksConfigurationPage" data-helpurl="https://github.com/MediaBrowser/Wiki/wiki/Scheduled%20tasks" data-require="scripts/scheduledtaskpage">
|
||||
<div data-role="content">
|
||||
<div class="content-primary">
|
||||
|
||||
|
@ -91,9 +91,6 @@
|
|||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$('.addTriggerForm').off('submit', ScheduledTaskPage.onSubmit).on('submit', ScheduledTaskPage.onSubmit);
|
||||
</script>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<title>${TitleScheduledTasks}</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="scheduledTasksPage" data-role="page" class="page type-interior scheduledTasksConfigurationPage" data-helpurl="https://github.com/MediaBrowser/Wiki/wiki/Scheduled%20tasks">
|
||||
<div id="scheduledTasksPage" data-role="page" class="page type-interior scheduledTasksConfigurationPage" data-helpurl="https://github.com/MediaBrowser/Wiki/wiki/Scheduled%20tasks" data-require="scripts/scheduledtaskspage">
|
||||
<div data-role="content">
|
||||
<div class="content-primary">
|
||||
|
||||
|
|
|
@ -940,7 +940,7 @@
|
|||
profile.UserId = $('#selectUser', page).val();
|
||||
}
|
||||
|
||||
$(document).on('pageinit', "#dlnaProfilePage", function () {
|
||||
$(document).on('pageinitdepends', "#dlnaProfilePage", function () {
|
||||
|
||||
var page = this;
|
||||
|
||||
|
@ -1056,19 +1056,24 @@
|
|||
editSubtitleProfile(page);
|
||||
});
|
||||
|
||||
}).on('pageshow', "#dlnaProfilePage", function () {
|
||||
$('.dlnaProfileForm').off('submit', DlnaProfilePage.onSubmit).on('submit', DlnaProfilePage.onSubmit);
|
||||
$('.editDirectPlayProfileForm').off('submit', DlnaProfilePage.onDirectPlayFormSubmit).on('submit', DlnaProfilePage.onDirectPlayFormSubmit);
|
||||
$('.transcodingProfileForm').off('submit', DlnaProfilePage.onTranscodingProfileFormSubmit).on('submit', DlnaProfilePage.onTranscodingProfileFormSubmit);
|
||||
$('.containerProfileForm').off('submit', DlnaProfilePage.onContainerProfileFormSubmit).on('submit', DlnaProfilePage.onContainerProfileFormSubmit);
|
||||
$('.codecProfileForm').off('submit', DlnaProfilePage.onCodecProfileFormSubmit).on('submit', DlnaProfilePage.onCodecProfileFormSubmit);
|
||||
$('.editResponseProfileForm').off('submit', DlnaProfilePage.onResponseProfileFormSubmit).on('submit', DlnaProfilePage.onResponseProfileFormSubmit);
|
||||
$('.identificationHeaderForm').off('submit', DlnaProfilePage.onIdentificationHeaderFormSubmit).on('submit', DlnaProfilePage.onIdentificationHeaderFormSubmit);
|
||||
$('.xmlAttributeForm').off('submit', DlnaProfilePage.onXmlAttributeFormSubmit).on('submit', DlnaProfilePage.onXmlAttributeFormSubmit);
|
||||
$('.subtitleProfileForm').off('submit', DlnaProfilePage.onSubtitleProfileFormSubmit).on('submit', DlnaProfilePage.onSubtitleProfileFormSubmit);
|
||||
|
||||
var page = this;
|
||||
|
||||
loadProfile(page);
|
||||
|
||||
}).on('pagebeforeshow', "#dlnaProfilePage", function () {
|
||||
}).on('pageshowready', "#dlnaProfilePage", function () {
|
||||
|
||||
var page = this;
|
||||
|
||||
$('.radioTabButton', page).checked(false).checkboxradio('refresh');
|
||||
$('#radioInfo', page).checked(true).checkboxradio('refresh').trigger('change');
|
||||
|
||||
loadProfile(page);
|
||||
});
|
||||
|
||||
window.DlnaProfilePage = {
|
||||
|
|
|
@ -104,7 +104,7 @@
|
|||
|
||||
}
|
||||
|
||||
$(document).on('pageshow', "#dlnaProfilesPage", function () {
|
||||
$(document).on('pageshowready', "#dlnaProfilesPage", function () {
|
||||
|
||||
var page = this;
|
||||
|
||||
|
|
|
@ -17,23 +17,6 @@
|
|||
Dashboard.hideLoadingMsg();
|
||||
}
|
||||
|
||||
$(document).on('pageshow', "#dlnaServerSettingsPage", function () {
|
||||
|
||||
Dashboard.showLoadingMsg();
|
||||
|
||||
var page = this;
|
||||
|
||||
var promise1 = ApiClient.getNamedConfiguration("dlna");
|
||||
var promise2 = ApiClient.getUsers();
|
||||
|
||||
$.when(promise1, promise2).done(function (response1, response2) {
|
||||
|
||||
loadPage(page, response1[0], response2[0]);
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
function onSubmit() {
|
||||
|
||||
Dashboard.showLoadingMsg();
|
||||
|
@ -56,8 +39,25 @@
|
|||
return false;
|
||||
}
|
||||
|
||||
window.DlnaServerSettingsPage = {
|
||||
onSubmit: onSubmit
|
||||
};
|
||||
$(document).on('pageinitpdepends', "#dlnaServerSettingsPage", function () {
|
||||
|
||||
$('.dlnaServerSettingsForm').off('submit', onSubmit).on('submit', onSubmit);
|
||||
|
||||
}).on('pageshowready', "#dlnaServerSettingsPage", function () {
|
||||
|
||||
Dashboard.showLoadingMsg();
|
||||
|
||||
var page = this;
|
||||
|
||||
var promise1 = ApiClient.getNamedConfiguration("dlna");
|
||||
var promise2 = ApiClient.getUsers();
|
||||
|
||||
$.when(promise1, promise2).done(function (response1, response2) {
|
||||
|
||||
loadPage(page, response1[0], response2[0]);
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
})(jQuery, document, window);
|
||||
|
|
|
@ -9,20 +9,6 @@
|
|||
Dashboard.hideLoadingMsg();
|
||||
}
|
||||
|
||||
$(document).on('pageshow', "#dlnaSettingsPage", function () {
|
||||
|
||||
Dashboard.showLoadingMsg();
|
||||
|
||||
var page = this;
|
||||
|
||||
ApiClient.getNamedConfiguration("dlna").done(function (config) {
|
||||
|
||||
loadPage(page, config);
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
function onSubmit() {
|
||||
|
||||
Dashboard.showLoadingMsg();
|
||||
|
@ -42,8 +28,22 @@
|
|||
return false;
|
||||
}
|
||||
|
||||
window.DlnaSettingsPage = {
|
||||
onSubmit: onSubmit
|
||||
};
|
||||
$(document).on('pageinitdepends', "#dlnaSettingsPage", function () {
|
||||
|
||||
$('.dlnaSettingsForm').off('submit', onSubmit).on('submit', onSubmit);
|
||||
|
||||
}).on('pageshowready', "#dlnaSettingsPage", function () {
|
||||
|
||||
Dashboard.showLoadingMsg();
|
||||
|
||||
var page = this;
|
||||
|
||||
ApiClient.getNamedConfiguration("dlna").done(function (config) {
|
||||
|
||||
loadPage(page, config);
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
})(jQuery, document, window);
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
$('#chkEnableDebugEncodingLogging', page).checked(config.EnableDebugLogging).checkboxradio('refresh');
|
||||
$('#chkEnableThrottle', page).checked(config.EnableThrottling).checkboxradio('refresh');
|
||||
|
||||
$('.radioEncodingQuality', page).each(function() {
|
||||
$('.radioEncodingQuality', page).each(function () {
|
||||
|
||||
this.checked = config.EncodingQuality == this.value;
|
||||
|
||||
|
@ -17,7 +17,27 @@
|
|||
Dashboard.hideLoadingMsg();
|
||||
}
|
||||
|
||||
$(document).on('pageinit', "#encodingSettingsPage", function () {
|
||||
function onSubmit() {
|
||||
Dashboard.showLoadingMsg();
|
||||
|
||||
var form = this;
|
||||
|
||||
ApiClient.getNamedConfiguration("encoding").done(function (config) {
|
||||
|
||||
config.EnableDebugLogging = $('#chkEnableDebugEncodingLogging', form).checked();
|
||||
config.EncodingQuality = $('.radioEncodingQuality:checked', form).val();
|
||||
config.DownMixAudioBoost = $('#txtDownMixAudioBoost', form).val();
|
||||
config.TranscodingTempPath = $('#txtTranscodingTempPath', form).val();
|
||||
config.EnableThrottling = $('#chkEnableThrottle', form).checked();
|
||||
|
||||
ApiClient.updateNamedConfiguration("encoding", config).done(Dashboard.processServerConfigurationUpdateResult);
|
||||
});
|
||||
|
||||
// Disable default form submission
|
||||
return false;
|
||||
}
|
||||
|
||||
$(document).on('pageinitdepends', "#encodingSettingsPage", function () {
|
||||
|
||||
var page = this;
|
||||
|
||||
|
@ -41,7 +61,10 @@
|
|||
});
|
||||
});
|
||||
|
||||
}).on('pageshow', "#encodingSettingsPage", function () {
|
||||
$('.encodingSettingsForm').off('submit', onSubmit).on('submit', onSubmit);
|
||||
|
||||
|
||||
}).on('pageshowready', "#encodingSettingsPage", function () {
|
||||
|
||||
Dashboard.showLoadingMsg();
|
||||
|
||||
|
@ -54,28 +77,4 @@
|
|||
});
|
||||
});
|
||||
|
||||
window.EncodingSettingsPage = {
|
||||
|
||||
onSubmit: function () {
|
||||
|
||||
Dashboard.showLoadingMsg();
|
||||
|
||||
var form = this;
|
||||
|
||||
ApiClient.getNamedConfiguration("encoding").done(function (config) {
|
||||
|
||||
config.EnableDebugLogging = $('#chkEnableDebugEncodingLogging', form).checked();
|
||||
config.EncodingQuality = $('.radioEncodingQuality:checked', form).val();
|
||||
config.DownMixAudioBoost = $('#txtDownMixAudioBoost', form).val();
|
||||
config.TranscodingTempPath = $('#txtTranscodingTempPath', form).val();
|
||||
config.EnableThrottling = $('#chkEnableThrottle', form).checked();
|
||||
|
||||
ApiClient.updateNamedConfiguration("encoding", config).done(Dashboard.processServerConfigurationUpdateResult);
|
||||
});
|
||||
|
||||
// Disable default form submission
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
})(jQuery, document, window);
|
||||
|
|
|
@ -520,6 +520,12 @@
|
|||
|
||||
ApiClient.getJSON(ApiClient.getUrl('Users/' + userId + '/Items/Latest', options)).done(function (items) {
|
||||
|
||||
if (items.length == 1) {
|
||||
|
||||
Dashboard.navigate(LibraryBrowser.getHref(items[0], context));
|
||||
return;
|
||||
}
|
||||
|
||||
var ids = items.map(function (i) {
|
||||
return i.Id;
|
||||
});
|
||||
|
|
|
@ -20,7 +20,30 @@
|
|||
Dashboard.hideLoadingMsg();
|
||||
}
|
||||
|
||||
$(document).on('pageshow', "#librarySettingsPage", function () {
|
||||
function onSubmit() {
|
||||
Dashboard.showLoadingMsg();
|
||||
|
||||
var form = this;
|
||||
|
||||
ApiClient.getServerConfiguration().done(function (config) {
|
||||
|
||||
config.ItemsByNamePath = $('#txtItemsByNamePath', form).val();
|
||||
|
||||
config.SeasonZeroDisplayName = $('#txtSeasonZeroName', form).val();
|
||||
|
||||
config.EnableRealtimeMonitor = $('#chkEnableRealtimeMonitor', form).checked();
|
||||
|
||||
config.EnableAudioArchiveFiles = $('#chkEnableAudioArchiveFiles', form).checked();
|
||||
config.EnableVideoArchiveFiles = $('#chkEnableVideoArchiveFiles', form).checked();
|
||||
|
||||
ApiClient.updateServerConfiguration(config).done(Dashboard.processServerConfigurationUpdateResult);
|
||||
});
|
||||
|
||||
// Disable default form submission
|
||||
return false;
|
||||
}
|
||||
|
||||
$(document).on('pageshowready', "#librarySettingsPage", function () {
|
||||
|
||||
Dashboard.showLoadingMsg();
|
||||
|
||||
|
@ -32,7 +55,7 @@
|
|||
|
||||
});
|
||||
|
||||
}).on('pageinit', "#librarySettingsPage", function () {
|
||||
}).on('pageinitdepends', "#librarySettingsPage", function () {
|
||||
|
||||
var page = this;
|
||||
|
||||
|
@ -55,36 +78,8 @@
|
|||
instruction: Globalize.translate('HeaderSelectImagesByNamePathHelp')
|
||||
});
|
||||
});
|
||||
|
||||
$('.librarySettingsForm').off('submit', onSubmit).on('submit', onSubmit);
|
||||
});
|
||||
|
||||
function librarySettingsPage() {
|
||||
|
||||
var self = this;
|
||||
|
||||
self.onSubmit = function () {
|
||||
Dashboard.showLoadingMsg();
|
||||
|
||||
var form = this;
|
||||
|
||||
ApiClient.getServerConfiguration().done(function (config) {
|
||||
|
||||
config.ItemsByNamePath = $('#txtItemsByNamePath', form).val();
|
||||
|
||||
config.SeasonZeroDisplayName = $('#txtSeasonZeroName', form).val();
|
||||
|
||||
config.EnableRealtimeMonitor = $('#chkEnableRealtimeMonitor', form).checked();
|
||||
|
||||
config.EnableAudioArchiveFiles = $('#chkEnableAudioArchiveFiles', form).checked();
|
||||
config.EnableVideoArchiveFiles = $('#chkEnableVideoArchiveFiles', form).checked();
|
||||
|
||||
ApiClient.updateServerConfiguration(config).done(Dashboard.processServerConfigurationUpdateResult);
|
||||
});
|
||||
|
||||
// Disable default form submission
|
||||
return false;
|
||||
};
|
||||
}
|
||||
|
||||
window.LibrarySettingsPage = new librarySettingsPage();
|
||||
|
||||
})(jQuery, document, window);
|
||||
|
|
|
@ -186,7 +186,7 @@
|
|||
|
||||
if (canPlayAac && $.browser.safari) {
|
||||
profile.TranscodingProfiles.push({
|
||||
Container: 'aac',
|
||||
Container: 'ts',
|
||||
Type: 'Audio',
|
||||
AudioCodec: 'aac',
|
||||
Context: 'Streaming',
|
||||
|
@ -448,6 +448,15 @@
|
|||
|
||||
self.canPlayNativeHls = function () {
|
||||
|
||||
// Don't use HLS on android 4.4, regardless of what the browser reports
|
||||
if ($.browser.android) {
|
||||
var agent = navigator.userAgent.toLowerCase();
|
||||
|
||||
if (agent.indexOf('android 4.4') != -1) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
var media = document.createElement('video');
|
||||
|
||||
// safari
|
||||
|
@ -1699,7 +1708,7 @@
|
|||
|
||||
})(document, setTimeout, clearTimeout, screen, window.appStorage, $, setInterval, window);
|
||||
|
||||
(function(){
|
||||
(function () {
|
||||
|
||||
function htmlMediaRenderer(type) {
|
||||
|
||||
|
@ -1766,7 +1775,7 @@
|
|||
|
||||
if (parts.length > 1) {
|
||||
|
||||
var parts = parts[parts.length -1].split('=');
|
||||
var parts = parts[parts.length - 1].split('=');
|
||||
|
||||
if (parts.length == 2) {
|
||||
|
||||
|
@ -1833,7 +1842,7 @@
|
|||
.on('error', onError)[0];
|
||||
}
|
||||
|
||||
self.currentTime = function(val) {
|
||||
self.currentTime = function (val) {
|
||||
|
||||
if (mediaElement) {
|
||||
if (val != null) {
|
||||
|
@ -1845,7 +1854,7 @@
|
|||
}
|
||||
};
|
||||
|
||||
self.duration = function(val) {
|
||||
self.duration = function (val) {
|
||||
|
||||
if (mediaElement) {
|
||||
return mediaElement.duration;
|
||||
|
@ -1854,19 +1863,19 @@
|
|||
return null;
|
||||
};
|
||||
|
||||
self.pause = function() {
|
||||
self.pause = function () {
|
||||
if (mediaElement) {
|
||||
mediaElement.pause();
|
||||
}
|
||||
};
|
||||
|
||||
self.unpause = function() {
|
||||
self.unpause = function () {
|
||||
if (mediaElement) {
|
||||
mediaElement.play();
|
||||
}
|
||||
};
|
||||
|
||||
self.volume = function(val) {
|
||||
self.volume = function (val) {
|
||||
if (mediaElement) {
|
||||
if (val != null) {
|
||||
mediaElement.volume = val;
|
||||
|
@ -1877,7 +1886,7 @@
|
|||
}
|
||||
};
|
||||
|
||||
self.setCurrentSrc = function(val) {
|
||||
self.setCurrentSrc = function (val) {
|
||||
|
||||
var elem = mediaElement;
|
||||
|
||||
|
@ -1909,13 +1918,13 @@
|
|||
}
|
||||
};
|
||||
|
||||
self.currentSrc = function() {
|
||||
self.currentSrc = function () {
|
||||
if (mediaElement) {
|
||||
return mediaElement.currentSrc;
|
||||
}
|
||||
};
|
||||
|
||||
self.paused = function() {
|
||||
self.paused = function () {
|
||||
|
||||
if (mediaElement) {
|
||||
return mediaElement.paused;
|
||||
|
@ -1924,7 +1933,7 @@
|
|||
return false;
|
||||
};
|
||||
|
||||
self.destroy = function() {
|
||||
self.destroy = function () {
|
||||
|
||||
self.setCurrentSrc(null);
|
||||
|
||||
|
@ -1940,7 +1949,7 @@
|
|||
}
|
||||
};
|
||||
|
||||
self.setPoster = function(url) {
|
||||
self.setPoster = function (url) {
|
||||
var elem = mediaElement;
|
||||
|
||||
if (elem) {
|
||||
|
|
|
@ -19,25 +19,7 @@
|
|||
Dashboard.hideLoadingMsg();
|
||||
}
|
||||
|
||||
$(document).on('pageshow', "#metadataNfoPage", function () {
|
||||
|
||||
Dashboard.showLoadingMsg();
|
||||
|
||||
var page = this;
|
||||
|
||||
var promise1 = ApiClient.getUsers();
|
||||
var promise2 = ApiClient.getNamedConfiguration(metadataKey);
|
||||
|
||||
$.when(promise1, promise2).done(function (response1, response2) {
|
||||
|
||||
loadPage(page, response2[0], response1[0]);
|
||||
});
|
||||
});
|
||||
|
||||
window.NfoMetadataPage = {
|
||||
|
||||
onSubmit: function () {
|
||||
|
||||
function onSubmit() {
|
||||
Dashboard.showLoadingMsg();
|
||||
|
||||
var form = this;
|
||||
|
@ -56,6 +38,24 @@
|
|||
// Disable default form submission
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
$(document).on('pageinitdepends', "#metadataNfoPage", function () {
|
||||
|
||||
$('.metadataNfoForm').off('submit', onSubmit).on('submit', onSubmit);
|
||||
|
||||
}).on('pageshowready', "#metadataNfoPage", function () {
|
||||
|
||||
Dashboard.showLoadingMsg();
|
||||
|
||||
var page = this;
|
||||
|
||||
var promise1 = ApiClient.getUsers();
|
||||
var promise2 = ApiClient.getNamedConfiguration(metadataKey);
|
||||
|
||||
$.when(promise1, promise2).done(function (response1, response2) {
|
||||
|
||||
loadPage(page, response2[0], response1[0]);
|
||||
});
|
||||
});
|
||||
|
||||
})(jQuery, document, window);
|
||||
|
|
|
@ -1,10 +1,5 @@
|
|||
var ScheduledTaskPage = {
|
||||
|
||||
onPageShow: function () {
|
||||
|
||||
ScheduledTaskPage.refreshScheduledTask();
|
||||
},
|
||||
|
||||
refreshScheduledTask: function () {
|
||||
Dashboard.showLoadingMsg();
|
||||
|
||||
|
@ -154,7 +149,7 @@
|
|||
|
||||
$('#selectTriggerType', page).val('DailyTrigger').trigger('change').selectmenu('refresh');
|
||||
|
||||
$('#popupAddTrigger', page).on("popupafteropen",function() {
|
||||
$('#popupAddTrigger', page).on("popupafteropen", function () {
|
||||
$('#addTriggerForm input:first', this).focus();
|
||||
}).popup("open").on("popupafterclose", function () {
|
||||
|
||||
|
@ -163,35 +158,6 @@
|
|||
});
|
||||
},
|
||||
|
||||
onSubmit: function() {
|
||||
|
||||
ScheduledTaskPage.addTrigger();
|
||||
|
||||
return false;
|
||||
},
|
||||
|
||||
addTrigger: function () {
|
||||
|
||||
Dashboard.showLoadingMsg();
|
||||
|
||||
var id = getParameterByName('id');
|
||||
|
||||
ApiClient.getScheduledTask(id).done(function (task) {
|
||||
|
||||
task.Triggers.push(ScheduledTaskPage.getTriggerToAdd());
|
||||
|
||||
ApiClient.updateScheduledTaskTriggers(task.Id, task.Triggers).done(function () {
|
||||
|
||||
$('#popupAddTrigger').popup('close');
|
||||
|
||||
ScheduledTaskPage.refreshScheduledTask();
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
},
|
||||
|
||||
confirmDeleteTrigger: function (index) {
|
||||
|
||||
Dashboard.confirm(Globalize.translate('MessageDeleteTaskTrigger'), Globalize.translate('HeaderDeleteTaskTrigger'), function (result) {
|
||||
|
@ -319,4 +285,39 @@
|
|||
}
|
||||
};
|
||||
|
||||
$(document).on('pageshow', "#scheduledTaskPage", ScheduledTaskPage.onPageShow);
|
||||
(function () {
|
||||
|
||||
function onSubmit() {
|
||||
|
||||
Dashboard.showLoadingMsg();
|
||||
|
||||
var id = getParameterByName('id');
|
||||
|
||||
ApiClient.getScheduledTask(id).done(function (task) {
|
||||
|
||||
task.Triggers.push(ScheduledTaskPage.getTriggerToAdd());
|
||||
|
||||
ApiClient.updateScheduledTaskTriggers(task.Id, task.Triggers).done(function () {
|
||||
|
||||
$('#popupAddTrigger').popup('close');
|
||||
|
||||
ScheduledTaskPage.refreshScheduledTask();
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
$(document).on('pageinitdepends', "#scheduledTaskPage", function () {
|
||||
|
||||
$('.addTriggerForm').off('submit', onSubmit).on('submit', onSubmit);
|
||||
|
||||
}).on('pageshowready', "#scheduledTaskPage", function () {
|
||||
|
||||
ScheduledTaskPage.refreshScheduledTask();
|
||||
});
|
||||
|
||||
})();
|
||||
|
||||
|
|
|
@ -179,17 +179,10 @@
|
|||
}
|
||||
}
|
||||
|
||||
$(document).on('pageshow', "#scheduledTasksPage", function () {
|
||||
$(document).on('pageinitdepends', "#scheduledTasksPage", function () {
|
||||
|
||||
var page = this;
|
||||
|
||||
Dashboard.showLoadingMsg();
|
||||
|
||||
startInterval();
|
||||
reloadList(page);
|
||||
|
||||
$(ApiClient).on("websocketmessage", onWebSocketMessage).on("websocketopen", onWebSocketConnectionOpen);
|
||||
|
||||
$('#divScheduledTasks', page).on('click', '.btnStartTask', function () {
|
||||
|
||||
var button = this;
|
||||
|
@ -211,6 +204,17 @@
|
|||
});
|
||||
});
|
||||
|
||||
}).on('pageshowready', "#scheduledTasksPage", function () {
|
||||
|
||||
var page = this;
|
||||
|
||||
Dashboard.showLoadingMsg();
|
||||
|
||||
startInterval();
|
||||
reloadList(page);
|
||||
|
||||
$(ApiClient).on("websocketmessage", onWebSocketMessage).on("websocketopen", onWebSocketConnectionOpen);
|
||||
|
||||
}).on('pagehide', "#scheduledTasksPage", function () {
|
||||
|
||||
var page = this;
|
||||
|
|
|
@ -134,7 +134,7 @@
|
|||
|
||||
if (createIfNeeded && !elem.length) {
|
||||
|
||||
var html = '<div class="searchResultsOverlay ui-page-theme-b">';
|
||||
var html = '<div class="searchResultsOverlay ui-page-theme-b smoothScrollY">';
|
||||
|
||||
html += '<div class="searchResultsContainer"><div class="itemsContainer"></div></div></div>';
|
||||
|
||||
|
|
|
@ -1331,7 +1331,7 @@ var Dashboard = {
|
|||
PlayableMediaTypes: ['Audio', 'Video'],
|
||||
|
||||
SupportedCommands: Dashboard.getSupportedRemoteCommands(),
|
||||
SupportsPersistentIdentifier: AppInfo.isNativeApp,
|
||||
SupportsPersistentIdentifier: AppInfo.isNativeApp === true,
|
||||
SupportsMediaControl: true,
|
||||
SupportedLiveMediaTypes: ['Audio', 'Video']
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue