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

change tv and home to multi-pages

This commit is contained in:
Luke Pulverenti 2015-06-29 14:45:42 -04:00
parent e2823d0367
commit 5bfd2d683c
63 changed files with 987 additions and 658 deletions

View file

@ -20,8 +20,8 @@
var pos = $(options.positionTo).offset();
pos.top += options.positionTo.innerHeight / 2;
pos.left += options.positionTo.innerWidth / 2;
pos.top += $(options.positionTo).innerHeight() / 2;
pos.left += $(options.positionTo).innerWidth() / 2;
// Account for margins
pos.top -= 24;

View file

@ -379,7 +379,7 @@
mode: 'off'
});
$(ApiClient).off(".autoorganizelog");
$(ApiClient).off("websocketmessage.autoorganizelog", onWebSocketMessage);
});
})(jQuery, document, window);

View file

@ -109,9 +109,10 @@
function setDefault(page) {
getElement().css('backgroundImage', 'url(css/images/splash.jpg)');
getElement().style.backgroundImage = "url(css/images/splash.jpg)";
page.classList.add('backdropPage staticBackdropPage');
page.classList.add('backdropPage');
page.classList.add('staticBackdropPage');
}
function isEnabledByDefault() {

View file

@ -1022,23 +1022,19 @@ $(document).on('pageshowready', "#dashboardPage", DashboardPage.onPageShow).on('
showOverlayTimeout = null;
}
$('.cardOverlayTarget:visible', this).each(function () {
var elem = this.querySelector('.cardOverlayTarget');
var elem = this;
$(this).animate({ "height": "0" }, "fast", function () {
$(elem).hide();
if ($(elem).is(':visible')) {
require(["jquery", "velocity"], function ($, Velocity) {
Velocity.animate(elem, { "height": "0" },
{
complete: function () {
$(elem).hide();
}
});
});
});
$('.cardOverlayTarget:visible', this).stop().animate({ "height": "0" }, function () {
$(this).hide();
});
}
}
$.fn.createSessionItemMenus = function () {
@ -1082,8 +1078,7 @@ $(document).on('pageshowready', "#dashboardPage", DashboardPage.onPageShow).on('
return this;
}
return this.off('.sessionItemMenu').on('mouseenter.sessionItemMenu', '.playingSession', onHoverIn)
.on('mouseleave.sessionItemMenu', '.playingSession', onHoverOut);
return this.off('mouseenter', '.playingSession', onHoverIn).off('mouseleave', '.playingSession', onHoverOut).on('mouseenter', '.playingSession', onHoverIn).on('mouseleave', '.playingSession', onHoverOut);
};
})(jQuery, document, window);
@ -1225,7 +1220,8 @@ $(document).on('pageshowready', "#dashboardPage", DashboardPage.onPageShow).on('
elem.each(function () {
reloadData(this);
});
}).addClass('activityLogListWidget');
var apiClient = ApiClient;
@ -1233,21 +1229,7 @@ $(document).on('pageshowready', "#dashboardPage", DashboardPage.onPageShow).on('
return;
}
$(apiClient).on('websocketmessage.activityloglistener', function (e, data) {
var msg = data;
if (msg.MessageType === "ActivityLogEntry") {
elem.each(function () {
reloadData(this);
});
}
}).on('websocketopen.activityloglistener', function (e, data) {
startListening(apiClient);
});
$(apiClient).on('websocketmessage', onSocketMessage).on('websocketopen', onSocketOpen);
}
function startListening(apiClient) {
@ -1266,22 +1248,41 @@ $(document).on('pageshowready', "#dashboardPage", DashboardPage.onPageShow).on('
}
function onSocketOpen() {
var apiClient = ApiClient;
if (apiClient) {
startListening(apiClient);
}
}
function onSocketMessage(e, data) {
var msg = data;
if (msg.MessageType === "ActivityLogEntry") {
$('.activityLogListWidget').each(function () {
reloadData(this);
});
}
}
function destroyList(elem) {
var apiClient = ApiClient;
if (apiClient) {
$(apiClient).off('websocketopen.activityloglistener').off('websocketmessage.activityloglistener');
$(apiClient).off('websocketopen', onSocketOpen).off('websocketmessage', onSocketOpen);
stopListening(apiClient);
}
return this;
}
$.fn.activityLogList = function (action) {
if (action == 'destroy') {
this.removeClass('activityLogListWidget');
destroyList(this);
} else {
createList(this);
@ -1310,7 +1311,7 @@ $(document).on('pageshowready', "#dashboardPage", DashboardPage.onPageShow).on('
result.CustomPrefs[welcomeTourKey] = welcomeDismissValue;
ApiClient.updateDisplayPreferences('dashboard', result, userId, 'dashboard');
$(page).off('.checktour');
$(page).off('pageshowready', onPageShowReadyCheckTour);
});
}
@ -1367,6 +1368,16 @@ $(document).on('pageshowready', "#dashboardPage", DashboardPage.onPageShow).on('
});
}
function onPageShowReadyCheckTour() {
var page = this;
var apiClient = ApiClient;
if (apiClient && !AppInfo.isNativeApp) {
showWelcomeIfNeeded(page, apiClient);
}
}
$(document).on('pageinitdepends', "#dashboardPage", function () {
var page = this;
@ -1375,17 +1386,7 @@ $(document).on('pageshowready', "#dashboardPage", DashboardPage.onPageShow).on('
takeTour(page, Dashboard.getCurrentUserId());
});
}).on('pageshowready.checktour', "#dashboardPage", function () {
var page = this;
var apiClient = ApiClient;
if (apiClient && !AppInfo.isNativeApp) {
showWelcomeIfNeeded(page, apiClient);
}
});
}).on('pageshowready', "#dashboardPage", onPageShowReadyCheckTour);
})(jQuery, document, window);

View file

@ -285,17 +285,11 @@
reload(page);
$("body").on("popupafteropen.collections", ".popupIdentify", function (e) {
$("#txtLookupName").focus().select();
});
}).on('pagebeforehide', "#editCollectionTitlesPage", function () {
var page = this;
currentItem = null;
$("body").off("popupafteropen.collections");
});
})(jQuery, document, window, window.FileReader, escape);

View file

@ -809,9 +809,9 @@
function getAlbumArtists(form) {
return $('#txtAlbumArtist', form).val().trim().split(';').filter(function(s){
return $('#txtAlbumArtist', form).val().trim().split(';').filter(function (s) {
return s.length > 0;
return s.length > 0;
}).map(function (a) {
@ -823,9 +823,9 @@
function getArtists(form) {
return $('#txtArtist', form).val().trim().split(';').filter(function(s){
return $('#txtArtist', form).val().trim().split(';').filter(function (s) {
return s.length > 0;
return s.length > 0;
}).map(function (a) {
@ -1379,6 +1379,18 @@
$(ApiClient).off("websocketmessage", onWebSocketMessageReceived);
}
function onItemDeleted(e, itemId) {
if (currentItem && currentItem.Id == itemId) {
if (currentItem.ParentId) {
Dashboard.navigate('edititemmetadata.html?id=' + currentItem.ParentId);
} else {
Dashboard.navigate('edititemmetadata.html');
}
}
}
$(document).on('pageinitdepends', "#editItemMetadataPage", function () {
var page = this;
@ -1450,22 +1462,12 @@
reload(page);
$(LibraryBrowser).on('itemdeleting.editor', function (e, itemId) {
if (currentItem && currentItem.Id == itemId) {
if (currentItem.ParentId) {
Dashboard.navigate('edititemmetadata.html?id=' + currentItem.ParentId);
} else {
Dashboard.navigate('edititemmetadata.html');
}
}
});
$(LibraryBrowser).on('itemdeleting', onItemDeleted);
}).on('pagebeforehide', "#editItemMetadataPage", function () {
var page = this;
$(LibraryBrowser).off('itemdeleting.editor');
$(LibraryBrowser).off('itemdeleting', onItemDeleted);
unbindItemChanged(page);

View file

@ -269,6 +269,53 @@
});
}
function onNodeSelect(event, data) {
var node = data.node;
var eventData = {
id: node.id,
itemType: node.li_attr.itemtype
};
if (eventData.itemType != 'livetv' && eventData.itemType != 'mediafolders') {
$(this).trigger('itemclicked', [eventData]);
}
}
function onNodeOpen(event, data) {
var page = $(this).parents('.page')[0];
var node = data.node;
if (node.children && node.children) {
loadNodesToLoad(page, node);
}
if (node.li_attr && node.id != '#' && !node.li_attr.loadedFromServer) {
node.li_attr.loadedFromServer = true;
$.jstree.reference(".libraryTree", page).load_node(node.id, loadNodeCallback);
}
}
function onNodeLoad(event, data) {
var page = $(this).parents('.page')[0];
var node = data.node;
if (node.children && node.children) {
loadNodesToLoad(page, node);
}
if (node.li_attr && node.id != '#' && !node.li_attr.loadedFromServer) {
node.li_attr.loadedFromServer = true;
$.jstree.reference(".libraryTree", page).load_node(node.id, loadNodeCallback);
}
}
function initializeTreeInternal(page, currentUser, openItems, selectedId) {
nodesToLoad = [];
@ -293,50 +340,7 @@
}
}
}).off('select_node.jstree').on('select_node.jstree', function (event, data) {
var node = data.node;
var eventData = {
id: node.id,
itemType: node.li_attr.itemtype
};
if (eventData.itemType != 'livetv' && eventData.itemType != 'mediafolders') {
$(this).trigger('itemclicked', [eventData]);
}
}).off('open_node.jstree').on('open_node.jstree', function (event, data) {
var node = data.node;
if (node.children && node.children) {
loadNodesToLoad(page, node);
}
if (node.li_attr && node.id != '#' && !node.li_attr.loadedFromServer) {
node.li_attr.loadedFromServer = true;
$.jstree.reference(".libraryTree", page).load_node(node.id, loadNodeCallback);
}
}).off('load_node.jstree').on('load_node.jstree', function (event, data) {
var node = data.node;
if (node.children && node.children) {
loadNodesToLoad(page, node);
}
if (node.li_attr && node.id != '#' && !node.li_attr.loadedFromServer) {
node.li_attr.loadedFromServer = true;
$.jstree.reference(".libraryTree", page).load_node(node.id, loadNodeCallback);
}
});
}).off('select_node.jstree', onNodeSelect).on('select_node.jstree', onNodeSelect).off('open_node.jstree', onNodeOpen).on('open_node.jstree', onNodeOpen).off('load_node.jstree', onNodeLoad).on('load_node.jstree', onNodeLoad);
}
function loadNodesToLoad(page, node) {
@ -431,7 +435,7 @@
var page = this;
$('.libraryTree', page).off('select_node.jstree');
$('.libraryTree', page).off('select_node.jstree', onNodeSelect).off('open_node.jstree', onNodeOpen).off('load_node.jstree', onNodeLoad);
});

View file

@ -312,7 +312,7 @@ function replaceQueryString(url, param, value) {
var re = new RegExp("([?|&])" + param + "=.*?(&|$)", "i");
if (url.match(re))
return url.replace(re, '$1' + param + "=" + value + '$2');
else {
else if (value) {
if (url.indexOf('?') == -1) {
return url + '?' + param + "=" + value;
@ -320,6 +320,8 @@ function replaceQueryString(url, param, value) {
return url + '&' + param + "=" + value;
}
return url;
}
function parseISO8601Date(s, options) {

View file

@ -54,7 +54,7 @@
html += '</div>';
if (result.TotalRecordCount > result.Items.length) {
var href = "favorites.html?sectionid=" + section.id;
var href = "index.html#favoritesPage?sectionid=" + section.id;
html += '<a class="clearLink" href="' + href + '"><paper-button raised class="more">' + Globalize.translate('ButtonMoreItems') + '</paper-button></a>';
}

View file

@ -0,0 +1,191 @@
(function ($, document) {
function getView() {
return 'Thumb';
}
function getResumeView() {
return 'Poster';
}
function reload(page) {
Dashboard.showLoadingMsg();
var context = '';
if (LibraryMenu.getTopParentId()) {
$('.scopedLibraryViewNav', page).show();
$('.globalNav', page).hide();
$('.scopedContent', page).show();
context = 'tv';
loadResume(page);
} else {
$('.scopedLibraryViewNav', page).hide();
$('.globalNav', page).show();
$('.scopedContent', page).hide();
}
loadNextUp(page, context || 'home-nextup');
}
function loadNextUp(page, context) {
var limit = AppInfo.hasLowImageBandwidth ?
16 :
24;
var query = {
Limit: limit,
Fields: "PrimaryImageAspectRatio,SeriesInfo,DateCreated,SyncInfo",
UserId: Dashboard.getCurrentUserId(),
ExcludeLocationTypes: "Virtual",
ImageTypeLimit: 1,
EnableImageTypes: "Primary,Backdrop,Banner,Thumb"
};
query.ParentId = LibraryMenu.getTopParentId();
ApiClient.getNextUpEpisodes(query).done(function (result) {
if (result.Items.length) {
$('.noNextUpItems', page).hide();
} else {
$('.noNextUpItems', page).show();
}
var view = getView();
var html = '';
if (view == 'ThumbCard') {
html += LibraryBrowser.getPosterViewHtml({
items: result.Items,
shape: "backdrop",
showTitle: true,
preferThumb: true,
showParentTitle: true,
lazy: true,
cardLayout: true,
context: 'tv',
showDetailsMenu: true
});
} else if (view == 'Thumb') {
html += LibraryBrowser.getPosterViewHtml({
items: result.Items,
shape: "backdrop",
showTitle: true,
showParentTitle: true,
overlayText: false,
context: context,
lazy: true,
preferThumb: true,
showDetailsMenu: true
});
}
var elem = page.querySelector('#nextUpItems');
elem.innerHTML = html;
ImageLoader.lazyChildren(elem);
Dashboard.hideLoadingMsg();
});
}
function enableScrollX() {
return $.browser.mobile && AppInfo.enableAppLayouts;
}
function getThumbShape() {
return enableScrollX() ? 'overflowBackdrop' : 'backdrop';
}
function loadResume(page) {
var parentId = LibraryMenu.getTopParentId();
var screenWidth = $(window).width();
var limit = 6;
var options = {
SortBy: "DatePlayed",
SortOrder: "Descending",
IncludeItemTypes: "Episode",
Filters: "IsResumable",
Limit: limit,
Recursive: true,
Fields: "PrimaryImageAspectRatio,SeriesInfo,UserData,SyncInfo",
ExcludeLocationTypes: "Virtual",
ParentId: parentId,
ImageTypeLimit: 1,
EnableImageTypes: "Primary,Backdrop,Banner,Thumb"
};
ApiClient.getItems(Dashboard.getCurrentUserId(), options).done(function (result) {
if (result.Items.length) {
$('#resumableSection', page).show();
} else {
$('#resumableSection', page).hide();
}
var view = getResumeView();
var html = '';
if (view == 'PosterCard') {
html += LibraryBrowser.getPosterViewHtml({
items: result.Items,
shape: getThumbShape(),
showTitle: true,
showParentTitle: true,
lazy: true,
cardLayout: true,
context: 'tv',
showDetailsMenu: true
});
} else if (view == 'Poster') {
html += LibraryBrowser.getPosterViewHtml({
items: result.Items,
shape: getThumbShape(),
showTitle: true,
showParentTitle: true,
overlayText: screenWidth >= 800 && !AppInfo.hasLowImageBandwidth,
lazy: true,
context: 'tv',
showDetailsMenu: true
});
}
var elem = page.querySelector('#resumableItems');
elem.innerHTML = html;
ImageLoader.lazyChildren(elem);
});
}
$(document).on('pagebeforeshowready', "#homeNextUpPage", function () {
var page = this;
if (enableScrollX()) {
page.querySelector('#resumableItems').classList.add('hiddenScrollX');
} else {
page.querySelector('#resumableItems').classList.remove('hiddenScrollX');
}
reload(page);
});
})(jQuery, document);

View file

@ -0,0 +1,65 @@
(function ($, document) {
$(document).on('pagebeforeshowready', "#homeUpcomingPage", function () {
Dashboard.showLoadingMsg();
var page = this;
var limit = AppInfo.hasLowImageBandwidth ?
24 :
40;
var query = {
Limit: limit,
Fields: "AirTime,UserData,SeriesStudio,SyncInfo",
UserId: Dashboard.getCurrentUserId(),
ImageTypeLimit: 1,
EnableImageTypes: "Primary,Backdrop,Banner,Thumb"
};
query.ParentId = LibraryMenu.getTopParentId();
var context = '';
if (query.ParentId) {
context = 'tv';
}
ApiClient.getJSON(ApiClient.getUrl("Shows/Upcoming", query)).done(function (result) {
var items = result.Items;
if (items.length) {
page.querySelector('.noItemsMessage').style.display = 'none';
} else {
page.querySelector('.noItemsMessage').style.display = 'block';
}
var elem = page.querySelector('#upcomingItems');
elem.innerHTML = LibraryBrowser.getPosterViewHtml({
items: items,
showLocationTypeIndicator: false,
shape: "backdrop",
showTitle: true,
showPremiereDate: true,
showPremiereDateIndex: true,
preferThumb: true,
context: context || 'home-upcoming',
lazy: true,
showDetailsMenu: true
});
ImageLoader.lazyChildren(elem);
Dashboard.hideLoadingMsg();
});
});
})(jQuery, document);

View file

@ -129,7 +129,7 @@
var elem = $('.itemVideo');
return elem
.one('.loadedmetadata')
.one('.loadedmetadata', onLoadedMetadata)
.one('playing', onOneVideoPlaying)
.on('timeupdate', onTimeUpdate)
.on('ended', onEnded)
@ -220,7 +220,7 @@
}
else {
$(elem).one("loadedmetadata.mediaplayerevent", onLoadedMetadata);
$(elem).one("loadedmetadata", onLoadedMetadata);
}
};
@ -247,7 +247,31 @@
if (elem) {
$(elem).off();
if (elem.tagName == 'AUDIO') {
Events.off(elem, 'timeupdate', onTimeUpdate);
Events.off(elem, 'ended', onEnded);
Events.off(elem, 'volumechange', onVolumeChange);
Events.off(elem, 'playing', onOneAudioPlaying);
Events.off(elem, 'play', onPlay);
Events.off(elem, 'pause', onPause);
Events.off(elem, 'playing', onPlaying);
Events.off(elem, 'error', onError);
} else {
Events.off(elem, 'loadedmetadata', onLoadedMetadata);
Events.off(elem, 'playing', onOneVideoPlaying);
Events.off(elem, 'timeupdate', onTimeUpdate);
Events.off(elem, 'ended', onEnded);
Events.off(elem, 'volumechange', onVolumeChange);
Events.off(elem, 'play', onPlay);
Events.off(elem, 'pause', onPause);
Events.off(elem, 'playing', onPlaying);
Events.off(elem, 'click', onClick);
Events.off(elem, 'dblclick', onDblClick);
Events.off(elem, 'error', onError);
}
if (elem.tagName.toLowerCase() != 'audio') {
$(elem).remove();

View file

@ -117,6 +117,8 @@
$('.welcomeMessage', page).hide();
} else {
Dashboard.hideLoadingMsg();
var elem = $('.welcomeMessage', page).show();
if (displayPreferences.CustomPrefs[homePageTourKey]) {
@ -178,6 +180,8 @@
if (window.ApiClient) {
var userId = Dashboard.getCurrentUserId();
Dashboard.showLoadingMsg();
getDisplayPreferences('home', userId).done(function (result) {
Dashboard.getCurrentUser().done(function (user) {
@ -187,6 +191,7 @@
if (!AppInfo.isNativeApp) {
showWelcomeIfNeeded(page, result);
}
Dashboard.hideLoadingMsg();
});
});

View file

@ -318,7 +318,7 @@
LibraryBrowser.renderOverview(page.querySelector('.itemOverview'), item);
renderUserDataIcons(page, item);
LibraryBrowser.renderLinks($('#itemLinks', page), item);
LibraryBrowser.renderLinks(page.querySelector('#itemLinks'), item);
LibraryBrowser.renderGenres($('.itemGenres', page), item, context);

View file

@ -129,7 +129,7 @@
function onWebSocketMessage(e, data) {
var msg = data;
var page = $.mobile.activePage;
var page = $($.mobile.activePage)[0];
if (msg.MessageType === "UserDataChanged") {
@ -375,7 +375,7 @@
LibraryBrowser.renderGenres($('.itemGenres', page), item, context);
LibraryBrowser.renderStudios($('.itemStudios', page), item, context);
renderUserDataIcons(page, item);
LibraryBrowser.renderLinks($('.itemExternalLinks', page), item);
LibraryBrowser.renderLinks(page.querySelector('.itemExternalLinks'), item);
$('.criticRatingScore', page).html((item.CriticRating || '0') + '%');
@ -1585,6 +1585,12 @@
});
}
function onItemDeleted(e, itemId) {
if (currentItem && currentItem.Id == itemId) {
Dashboard.navigate('index.html');
}
}
$(document).on('pageinitdepends', "#itemDetailPage", function () {
var page = this;
@ -1637,53 +1643,46 @@
});
}).on('pagebeforeshowready', "#itemDetailPage", function () {
var page = this;
$(page).on("click.moreScenes", ".moreScenes", function () {
$(page).on("click", ".moreScenes", function () {
Dashboard.getCurrentUser().done(function (user) {
renderScenes(page, currentItem, user);
});
}).on("click.morePeople", ".morePeople", function () {
}).on("click", ".morePeople", function () {
renderCast(page, currentItem, getContext(currentItem));
}).on("click.moreSpecials", ".moreSpecials", function () {
}).on("click", ".moreSpecials", function () {
Dashboard.getCurrentUser().done(function (user) {
renderSpecials(page, currentItem, user);
});
}).on("click.moreCriticReviews", ".moreCriticReviews", function () {
}).on("click", ".moreCriticReviews", function () {
renderCriticReviews(page, currentItem);
});
}).on('pagebeforeshowready', "#itemDetailPage", function () {
var page = this;
reload(page);
Events.on(ApiClient, 'websocketmessage', onWebSocketMessage);
Events.on(LibraryBrowser, 'itemdeleting.detailpage', function (e, itemId) {
if (currentItem && currentItem.Id == itemId) {
Dashboard.navigate('index.html');
}
});
Events.on(LibraryBrowser, 'itemdeleting', onItemDeleted);
}).on('pagebeforehide', "#itemDetailPage", function () {
Events.off(LibraryBrowser, 'itemdeleting.detailpage');
Events.off(LibraryBrowser, 'itemdeleting', onItemDeleted);
currentItem = null;
var page = this;
$(page).off("click.moreScenes").off("click.morePeople").off("click.moreSpecials").off("click.moreCriticReviews");
Events.off(ApiClient, 'websocketmessage', onWebSocketMessage);
});

View file

@ -545,7 +545,7 @@
var id = item.Id || item.ItemId;
if (item.CollectionType == 'livetv') {
return 'livetvsuggested.html';
return 'livetvsuggested.html#liveTvSuggestedPage';
}
if (item.CollectionType == 'channels') {
@ -2138,7 +2138,9 @@
html = Globalize.translate('ValueLinks', html);
$(linksElem).html(html).trigger('create');
linksElem.innerHTML = html;
$(linksElem).trigger('create');
$(linksElem).show();
} else {
$(linksElem).hide();
@ -2683,23 +2685,23 @@
removeClass(detailContentEffectedByImage, 'detailContentEffectedByPortraitImage');
elem.classList.add('thumbDetailImageContainer');
elem.classList.add('portraitDetailImageContainer');
elem.classList.add('squareDetailImageContainer');
elem.classList.remove('portraitDetailImageContainer');
elem.classList.remove('squareDetailImageContainer');
}
else if (shape == 'square') {
removeClass(detailContentEffectedByImage, 'detailContentEffectedByThumbImage');
removeClass(detailContentEffectedByImage, 'detailContentEffectedByPortraitImage');
addClass(detailContentEffectedByImage, 'detailContentEffectedBySquareImage');
elem.classList.add('thumbDetailImageContainer');
elem.classList.add('portraitDetailImageContainer');
elem.classList.remove('thumbDetailImageContainer');
elem.classList.remove('portraitDetailImageContainer');
elem.classList.add('squareDetailImageContainer');
} else {
removeClass(detailContentEffectedByImage, 'detailContentEffectedByThumbImage');
removeClass(detailContentEffectedByImage, 'detailContentEffectedBySquareImage');
addClass(detailContentEffectedByImage, 'detailContentEffectedByPortraitImage');
elem.classList.add('thumbDetailImageContainer');
elem.classList.remove('thumbDetailImageContainer');
elem.classList.add('portraitDetailImageContainer');
elem.classList.remove('squareDetailImageContainer');
}

View file

@ -350,9 +350,9 @@
var href = card.getAttribute('data-href') || card.href;
if (!href) {
var link = card.getElementsByTagName('a');
if (link) {
href = link.href;
var links = card.getElementsByTagName('a');
if (links.length) {
href = links[0].href;
}
}
@ -518,7 +518,7 @@
$('.detailsMenu').remove();
var html = '<div data-role="popup" class="detailsMenu" data-transition="slidedown" style="border:0;padding:0;" data-ids="' + ids.join(',') + '" data-context="' + (context || '') + '">';
var html = '<div data-role="popup" class="detailsMenu" style="border:0;padding:0;" data-ids="' + ids.join(',') + '" data-context="' + (context || '') + '">';
html += '<div style="padding:1em 1em;background:rgba(20,20,20,1);margin:0;text-align:center;" class="detailsMenuHeader">';
html += '<button type="button" class="imageButton detailsMenuLeftButton" data-role="none"><i class="fa fa-arrow-left"></i></button>';
@ -850,18 +850,28 @@
preventHover = true;
}
this.off('.cardMenu')
.on('contextmenu.cardMenu', '.card', onCardTapHold)
.off('.latestgroupings')
.on('click.latestgroupings', '.groupedCard', onGroupedCardClick)
.off('.dotmenu')
.on('click.dotmenu', '.listviewMenuButton', onListViewMenuButtonClick);
this.off('contextmenu', '.card', onCardTapHold);
this.on('contextmenu', '.card', onCardTapHold);
this.off('click', '.groupedCard', onGroupedCardClick);
this.on('click', '.groupedCard', onGroupedCardClick);
this.off('click', '.listviewMenuButton', onListViewMenuButtonClick);
this.on('click', '.listviewMenuButton', onListViewMenuButtonClick);
if (!AppInfo.isTouchPreferred) {
this.off('.cardHoverMenu').on('mouseenter.cardHoverMenu', '.card:not(.bannerCard)', onHoverIn).on('mouseleave.cardHoverMenu', '.card:not(.bannerCard)', onHoverOut).on("touchstart.cardHoverMenu", '.card:not(.bannerCard)', preventTouchHover);
this.off('mouseenter', '.card:not(.bannerCard)', onHoverIn);
this.on('mouseenter', '.card:not(.bannerCard)', onHoverIn);
this.off('mouseleave', '.card:not(.bannerCard)', onHoverOut);
this.on('mouseleave', '.card:not(.bannerCard)', onHoverOut);
this.off("touchstart", '.card:not(.bannerCard)', preventTouchHover);
this.on("touchstart", '.card:not(.bannerCard)', preventTouchHover);
}
this.off('.mediaDetails').on('click.mediaDetails', '.mediaItem', onCardClick);
this.off('click', '.mediaItem', onCardClick);
this.on('click', '.mediaItem', onCardClick);
return this;
};
@ -927,6 +937,11 @@
}).get();
}
function onSyncJobListSubmit() {
hideSelections($($.mobile.activePage)[0]);
}
function sync(page) {
var selection = getSelectedItems(page);
@ -945,12 +960,8 @@
items: selection
});
Events.off(SyncManager, 'jobsubmit.librarylist');
Events.on(SyncManager, 'jobsubmit.librarylist', function () {
hideSelections(page);
});
Events.off(SyncManager, 'jobsubmit', onSyncJobListSubmit);
Events.on(SyncManager, 'jobsubmit', onSyncJobListSubmit);
}
function combineVersions(page) {
@ -1214,7 +1225,7 @@
}
function initializeApiClient(apiClient) {
$(apiClient).off('websocketmessage.librarylist', onWebSocketMessage).on('websocketmessage.librarylist', onWebSocketMessage);
$(apiClient).off('websocketmessage', onWebSocketMessage).on('websocketmessage', onWebSocketMessage);
}
Dashboard.ready(function () {

View file

@ -125,11 +125,7 @@
if (AppInfo.isTouchPreferred) {
if ('ontouchend' in document) {
$('.mainDrawerButton').on('touchend click', openMainDrawer);
} else {
$('.mainDrawerButton').on('click', openMainDrawer);
}
$('.mainDrawerButton').on('touchend', openMainDrawer).on('click', openMainDrawer);
} else {
$('.mainDrawerButton').createHoverTouch().on('hovertouch', openMainDrawer);
@ -378,6 +374,13 @@
Events.on(drawer.querySelector('.lnkManageServer'), 'click', onManageServerClicked);
}
function onSidebarLinkClick() {
var section = this.getElementsByClassName('sectionName')[0];
var text = section ? section.innerHTML : this.innerHTML;
document.querySelector('.libraryMenuButtonText').innerHTML = text;
}
function updateLibraryMenu(user) {
if (!user) {
@ -462,14 +465,7 @@
libraryMenuOptions.innerHTML = html;
var elem = libraryMenuOptions;
$('.sidebarLink', elem).off('click.updateText').on('click.updateText', function () {
var section = this.getElementsByClassName('sectionName')[0];
var text = section ? section.innerHTML : this.innerHTML;
document.querySelector('.libraryMenuButtonText').innerHTML = text;
});
$('.sidebarLink', elem).off('click', onSidebarLinkClick).on('click', onSidebarLinkClick);
});
if (user.Policy.IsAdministrator) {
@ -811,7 +807,7 @@
Events.off(page, 'swiperight', onPageSwipeLeft);
if (canGoBack) {
Events.on(page, 'swiperight', onPageSwipeLeft);
//Events.on(page, 'swiperight', onPageSwipeLeft);
}
}
@ -862,9 +858,9 @@
function initializeApiClient(apiClient) {
requiresLibraryMenuRefresh = true;
Events.off(apiClient, 'websocketmessage.librarymenu', onWebSocketMessage);
Events.off(apiClient, 'websocketmessage', onWebSocketMessage);
Events.on(apiClient, 'websocketmessage.librarymenu', onWebSocketMessage);
Events.on(apiClient, 'websocketmessage', onWebSocketMessage);
}
Dashboard.ready(function () {
@ -878,7 +874,13 @@
});
Events.on(ConnectionManager, 'localusersignedin localusersignedout', function () {
Events.on(ConnectionManager, 'localusersignedin', function () {
requiresLibraryMenuRefresh = true;
requiresViewMenuRefresh = true;
requiresDrawerRefresh = true;
});
Events.on(ConnectionManager, 'localusersignedout', function () {
requiresLibraryMenuRefresh = true;
requiresViewMenuRefresh = true;
requiresDrawerRefresh = true;

View file

@ -208,7 +208,7 @@
if (currentPosterItem) {
$(currentPosterItem).off('click.overlay');
$(currentPosterItem).off('click');
currentPosterItem = null;
}
}

View file

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

View file

@ -14,7 +14,7 @@
Dashboard.alert(Globalize.translate('MessageRecordingDeleted'));
Dashboard.navigate('livetvrecordings.html');
Dashboard.navigate('livetvsuggested.html#liveTvRecordingsPage');
});
}

View file

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

View file

@ -39,7 +39,7 @@
function monitorPlayer(player) {
Events.on(player, 'playbackstart.mediacontroller', function (e, state) {
Events.on(player, 'playbackstart', function (e, state) {
var info = {
QueueableMediaTypes: state.NowPlayingItem.MediaType,
@ -53,7 +53,7 @@
});
Events.on(player, 'playbackstop.mediacontroller', function (e, state) {
Events.on(player, 'playbackstop', function (e, state) {
var stopInfo = {
itemId: state.NowPlayingItem.Id,
@ -263,7 +263,7 @@
var keys = new bindKeys(self);
$(window).on("keydown", keys.keyBinding).on("keypress keyup", keys.keyPrevent);
$(window).on("keydown", keys.keyBinding).on("keypress", keys.keyPrevent).on("keyup", keys.keyPrevent);
self.registerPlayer = function (player) {
@ -875,12 +875,14 @@
});
});
function onCastButtonClicked() {
showPlayerSelection();
}
$(document).on('headercreated', function () {
$('.btnCast').off('.mediacontroller').on('click.mediacontroller', function () {
showPlayerSelection();
});
$('.btnCast').off('click', onCastButtonClicked).on('click', onCastButtonClicked);
}).on('pagebeforeshow', ".page", function () {

View file

@ -678,10 +678,9 @@
html += '</div>'; // videoBackdrop
html += '</div>'; // mediaPlayer
$(document.body).append(html);
var mediaPlayerElem = $('#mediaPlayer', document.body);
mediaPlayerElem.trigger('create');
var div = document.createElement('div');
div.innerHTML = html;
document.body.appendChild(div);
}
Dashboard.ready(function () {
@ -858,49 +857,73 @@
return html;
}
function bindEventsForPlayback() {
function onPopState() {
// Stop playback on browser back button nav
self.stop();
return;
}
function onBodyMouseMove() {
idleHandler();
}
function onFullScreenChange() {
if (self.isFullScreen()) {
enterFullScreen();
idleState = true;
} else {
exitFullScreenToWindow();
}
}
function bindEventsForPlayback(mediaRenderer) {
var hideElementsOnIdle = true;
if (hideElementsOnIdle) {
$('.itemVideo').off('mousemove.videoplayer keydown.videoplayer scroll.videoplayer mousedown.videoplayer', idleHandler).on('mousemove.videoplayer keydown.videoplayer scroll.videoplayer mousedown.videoplayer', idleHandler).trigger('mousemove');
var itemVideo = document.querySelector('.itemVideo');
if (itemVideo) {
Events.on(itemVideo, 'mousemove', idleHandler);
Events.on(itemVideo, 'keydown', idleHandler);
Events.on(itemVideo, 'scroll', idleHandler);
Events.on(itemVideo, 'mousedown', idleHandler);
idleHandler();
}
}
$(document).on('webkitfullscreenchange.videoplayer mozfullscreenchange.videoplayer msfullscreenchange.videoplayer fullscreenchange.videoplayer', function (e) {
$(document).on('webkitfullscreenchange', onFullScreenChange);
$(document).on('mozfullscreenchange', onFullScreenChange);
$(document).on('msfullscreenchange', onFullScreenChange);
$(document).on('fullscreenchange', onFullScreenChange);
if (self.isFullScreen()) {
enterFullScreen();
idleState = true;
} else {
exitFullScreenToWindow();
}
});
// Stop playback on browser back button nav
$(window).one("popstate.videoplayer", function () {
self.stop();
return;
});
$(window).one("popstate", onPopState);
if (hideElementsOnIdle) {
$(document.body).on("mousemove.videoplayer", function () {
idleHandler(this);
});
$(document.body).on("mousemove", onBodyMouseMove);
}
}
function unbindEventsForPlayback() {
function unbindEventsForPlayback(mediaRenderer) {
$(document).off('.videoplayer');
$(document).off('webkitfullscreenchange', onFullScreenChange);
$(document).off('mozfullscreenchange', onFullScreenChange);
$(document).off('msfullscreenchange', onFullScreenChange);
$(document).off('fullscreenchange', onFullScreenChange);
// Stop playback on browser back button nav
$(window).off("popstate.videoplayer");
$(window).off("popstate", onPopState);
$(document.body).off("mousemove.videoplayer");
$(document.body).off("mousemove", onBodyMouseMove);
$('.itemVideo').off('mousemove.videoplayer keydown.videoplayer scroll.videoplayer mousedown.videoplayer');
var itemVideo = document.querySelector('.itemVideo');
if (itemVideo) {
Events.off(itemVideo, 'mousemove', idleHandler);
Events.off(itemVideo, 'keydown', idleHandler);
Events.off(itemVideo, 'scroll', idleHandler);
Events.off(itemVideo, 'mousedown', idleHandler);
}
}
self.canAutoPlayVideo = function () {
@ -926,7 +949,7 @@
currentTimeElement.html('--:--');
unbindEventsForPlayback();
unbindEventsForPlayback(mediaRenderer);
};
self.playVideo = function (item, mediaSource, startPosition) {
@ -1087,9 +1110,8 @@
}).one("playing.mediaplayerevent", function () {
// For some reason this is firing at the start, so don't bind until playback has begun
$(this).on("ended.playbackstopped", self.onPlaybackStopped).one('ended.playnext', self.playNextAfterEnded);
$(this).on("ended", self.onPlaybackStopped).one('ended', self.playNextAfterEnded);
self.onPlaybackStart(this, item, mediaSource);
@ -1160,7 +1182,7 @@
}
});
bindEventsForPlayback();
bindEventsForPlayback(mediaRenderer);
mediaPlayerContainer.trigger('create');
@ -1185,7 +1207,7 @@
}
var controls = requiresNativeControls ? '.videoAdvancedControls' : '.videoControls';
controls = document.getElementsByClassName(controls)[0];
controls = document.querySelector(controls);
var previousTrackButton = controls.getElementsByClassName('previousTrackButton')[0];
var nextTrackButton = controls.getElementsByClassName('nextTrackButton')[0];

View file

@ -557,16 +557,16 @@
clearProgressInterval();
Events.off(mediaRenderer, 'ended.playbackstopped');
Events.off(mediaRenderer, 'ended.playnext');
Events.off(mediaRenderer, 'ended', self.onPlaybackStopped);
Events.off(mediaRenderer, 'ended', self.playNextAfterEnded);
$(mediaRenderer).one("play", function () {
self.updateCanClientSeek(this);
Events.on(this, 'ended.playbackstopped', self.onPlaybackStopped);
Events.on(this, 'ended', self.onPlaybackStopped);
$(this).one('ended.playnext', self.playNextAfterEnded);
$(this).one('ended', self.playNextAfterEnded);
self.startProgressInterval();
sendProgressUpdate();
@ -1358,11 +1358,11 @@
mediaRenderer.stop();
Events.off(mediaRenderer, "ended.playnext");
Events.off(mediaRenderer, 'ended', self.playNextAfterEnded);
$(mediaRenderer).one("ended", function() {
Events.off(this);
$(this).off('.mediaplayerevent');
this.cleanup(destroyRenderer);
@ -1568,7 +1568,7 @@
Events.off(mediaRenderer, '.mediaplayerevent');
Events.off(mediaRenderer, 'ended.playbackstopped');
Events.off(mediaRenderer, 'ended', self.onPlaybackStopped);
self.cleanup(mediaRenderer);
@ -1697,9 +1697,9 @@
Logger.log('audio element event: playing');
// For some reason this is firing at the start, so don't bind until playback has begun
Events.on(this, "ended.playbackstopped", self.onPlaybackStopped);
$(this).one('ended.playnext', self.playNextAfterEnded);
Events.on(this, 'ended', self.onPlaybackStopped);
$(this).one('ended', self.playNextAfterEnded);
self.onPlaybackStart(this, item, mediaSource);

View file

@ -449,7 +449,12 @@
if (currentPlayer) {
Events.off(currentPlayer, '.nowplayingbar');
$(currentPlayer).off('playbackstart', onPlaybackStart)
.off('playbackstop', onPlaybackStopped)
.off('volumechange', onVolumeChanged)
.off('playstatechange', onStateChanged)
.off('positionchange', onStateChanged);
currentPlayer.endPlayerUpdates();
currentPlayer = null;
@ -486,11 +491,11 @@
onStateChanged.call(player, { type: 'init' }, state);
});
$(player).on('playbackstart.nowplayingbar', onPlaybackStart)
.on('playbackstop.nowplayingbar', onPlaybackStopped)
.on('volumechange.nowplayingbar', onVolumeChanged)
.on('playstatechange.nowplayingbar', onStateChanged)
.on('positionchange.nowplayingbar', onStateChanged);
$(player).on('playbackstart', onPlaybackStart)
.on('playbackstop', onPlaybackStopped)
.on('volumechange', onVolumeChanged)
.on('playstatechange', onStateChanged)
.on('positionchange', onStateChanged);
}
Dashboard.ready(function () {

View file

@ -565,7 +565,12 @@
if (currentPlayer) {
$(currentPlayer).off('.nowplayingpage');
$(currentPlayer).off('playbackstart', onPlaybackStart)
.off('playbackstop', onPlaybackStopped)
.off('volumechange', onStateChanged)
.off('playstatechange', onStateChanged)
.off('positionchange', onStateChanged);
currentPlayer.endPlayerUpdates();
currentPlayer = null;
}
@ -586,11 +591,11 @@
onStateChanged.call(player, { type: 'init' }, state);
});
$(player).on('playbackstart.nowplayingpage', onPlaybackStart)
.on('playbackstop.nowplayingpage', onPlaybackStopped)
.on('volumechange.nowplayingpage', onStateChanged)
.on('playstatechange.nowplayingpage', onStateChanged)
.on('positionchange.nowplayingpage', onStateChanged);
$(player).on('playbackstart', onPlaybackStart)
.on('playbackstop', onPlaybackStopped)
.on('volumechange', onStateChanged)
.on('playstatechange', onStateChanged)
.on('positionchange', onStateChanged);
var playerInfo = MediaController.getPlayerInfo();
@ -708,6 +713,10 @@
return true;
}
function onPlayerChange() {
bindToPlayer($($.mobile.activePage)[0], MediaController.getCurrentPlayer());
}
$(document).on('pageinitdepends', "#nowPlayingPage", function () {
var page = this;
@ -766,10 +775,7 @@
Dashboard.ready(function () {
$(MediaController).on('playerchange.nowplayingpage', function () {
bindToPlayer(page, MediaController.getCurrentPlayer());
});
$(MediaController).on('playerchange', onPlayerChange);
bindToPlayer(page, MediaController.getCurrentPlayer());
@ -787,7 +793,7 @@
releaseCurrentPlayer();
$(MediaController).off('playerchange.nowplayingpage');
$(MediaController).off('playerchange', onPlayerChange);
lastPlayerState = null;
$(document.body).removeClass('hiddenViewMenuBar').removeClass('hiddenNowPlayingBar');

View file

@ -227,14 +227,19 @@
function hideSearchMenu() {
if ($('.viewMenuSearch').is(':visible')) {
var viewMenuSearch = document.querySelector('.viewMenuSearch');
if (!viewMenuSearch) {
return;
}
if (!viewMenuSearch.classList.contains('hide')) {
require(["jquery", "velocity"], function ($, Velocity) {
$('.btnCloseSearch').hide();
var elem = $('.viewMenuSearch')
.css({ left: '0' })[0];
viewMenuSearch.style.left = '0';
Velocity.animate(elem, { "left": "100%" },
Velocity.animate(viewMenuSearch, { "left": "100%" },
{
complete: function () {
$('.viewMenuSearch').visible(false);

View file

@ -440,7 +440,7 @@
html += '<div>';
html += '<h1 style="display:inline-block; vertical-align:middle;" class="' + cssClass + '">' + Globalize.translate('HeaderLatestTvRecordings') + '</h1>';
html += '<a href="livetvrecordings.html?context=livetv" class="clearLink" style="margin-left:2em;"><paper-button raised class="more mini"><span>' + Globalize.translate('ButtonMore') + '</span></paper-button></a>';
html += '<a href="livetvsuggested.html#liveTvRecordingsPage?context=livetv" class="clearLink" style="margin-left:2em;"><paper-button raised class="more mini"><span>' + Globalize.translate('ButtonMore') + '</span></paper-button></a>';
html += '</div>';
}

View file

@ -33,7 +33,7 @@ var Dashboard = {
//$.mobile.listview.prototype.options.dividerTheme = "b";
//$.mobile.popup.prototype.options.theme = "c";
$.mobile.popup.prototype.options.transition = "pop";
$.mobile.popup.prototype.options.transition = "none";
//$.mobile.keepNative = "textarea";
@ -623,7 +623,7 @@ var Dashboard = {
html += '</paper-dialog>';
$(document.body).append(html);
document.body.classList.add('bodyWithPopupOpen');
// This timeout is obviously messy but it's unclear how to determine when the webcomponent is ready for use
@ -1734,9 +1734,9 @@ var AppInfo = {};
apiClient.getDefaultImageQuality = Dashboard.getDefaultImageQuality;
apiClient.normalizeImageOptions = Dashboard.normalizeImageOptions;
$(apiClient).off('.dashboard')
.on("websocketmessage.dashboard", Dashboard.onWebSocketMessageReceived)
.on('requestfail.dashboard', Dashboard.onRequestFail);
$(apiClient).off("websocketmessage", Dashboard.onWebSocketMessageReceived).off('requestfail', Dashboard.onRequestFail);
$(apiClient).on("websocketmessage", Dashboard.onWebSocketMessageReceived).on('requestfail', Dashboard.onRequestFail);
}
//localStorage.clear();
@ -2014,11 +2014,12 @@ var AppInfo = {};
$(document).on('WebComponentsReady', function () {
var drawer = $('.mainDrawerPanel').removeClass('mainDrawerPanelPreInit')[0];
var drawer = document.querySelector('.mainDrawerPanel');
drawer.classList.remove('mainDrawerPanelPreInit');
drawer.forceNarrow = true;
drawer.drawerWidth = screen.availWidth >= 330 ? "310px" : "270px";
if ($.browser.safari) {
if ($.browser.safari && !AppInfo.isNativeApp) {
drawer.disableEdgeSwipe = true;
}

View file

@ -311,7 +311,7 @@
});
startListening(page);
$(ApiClient).on("websocketmessage.syncactivity", onWebSocketMessage);
$(ApiClient).on("websocketmessage", onWebSocketMessage);
}).on('pagebeforehide', ".syncActivityPage", function () {
@ -323,7 +323,7 @@
});
stopListening();
$(ApiClient).off(".syncactivity");
$(ApiClient).off("websocketmessage", onWebSocketMessage);
});
})();

View file

@ -403,14 +403,14 @@
loadJob(page);
startListening(page);
$(ApiClient).on("websocketmessage.syncJobPage", onWebSocketMessage);
$(ApiClient).on("websocketmessage", onWebSocketMessage);
}).on('pagebeforehide', ".syncJobPage", function () {
var page = this;
stopListening();
$(ApiClient).off(".syncJobPage");
$(ApiClient).off("websocketmessage", onWebSocketMessage);
});
})();

View file

@ -72,13 +72,16 @@ $.fn.taskButton = function (options) {
});
}
function onButtonClick(instance, id) {
function onButtonClick() {
var button = this;
var id = button.getAttribute('data-taskid');
var key = 'scheduledTaskButton' + options.taskKey;
var expectedValue = '4';
if (appStorage.getItem(key) == expectedValue) {
onScheduledTaskMessageConfirmed(instance, id);
onScheduledTaskMessageConfirmed(button, id);
} else {
var msg = Globalize.translate('ConfirmMessageScheduledTaskButton');
@ -91,13 +94,28 @@ $.fn.taskButton = function (options) {
if (result) {
appStorage.setItem(key, expectedValue);
onScheduledTaskMessageConfirmed(instance, id);
onScheduledTaskMessageConfirmed(button, id);
}
});
}
}
function onSocketOpen() {
if (ApiClient.isWebSocketOpen()) {
ApiClient.sendWebSocketMessage("ScheduledTasksInfoStart", "1000,1000");
}
}
function onSocketMessage(e, msg) {
if (msg.MessageType == "ScheduledTasksInfo") {
var tasks = msg.Data;
updateTasks(self, tasks);
}
}
var self = this;
if (options.panel) {
@ -106,8 +124,8 @@ $.fn.taskButton = function (options) {
if (options.mode == 'off') {
this.off(".taskbutton");
$(ApiClient).off(".taskbutton");
this.off('click', onButtonClick);
$(ApiClient).off("websocketmessage", onSocketMessage).off('websocketopen', onSocketOpen);
if (ApiClient.isWebSocketOpen()) {
ApiClient.sendWebSocketMessage("ScheduledTasksInfoStop");
@ -115,13 +133,7 @@ $.fn.taskButton = function (options) {
} else if (this.length) {
this.on('click.taskbutton', function () {
var button = this;
var id = button.getAttribute('data-taskid');
onButtonClick(self, id);
});
this.on('click', onButtonClick);
pollTasks(self);
@ -129,21 +141,7 @@ $.fn.taskButton = function (options) {
ApiClient.sendWebSocketMessage("ScheduledTasksInfoStart", "1000,1000");
}
$(ApiClient).on("websocketmessage.taskbutton", function (e, msg) {
if (msg.MessageType == "ScheduledTasksInfo") {
var tasks = msg.Data;
updateTasks(self, tasks);
}
}).on('websocketopen.taskbutton', function () {
if (ApiClient.isWebSocketOpen()) {
ApiClient.sendWebSocketMessage("ScheduledTasksInfoStart", "1000,1000");
}
});
$(ApiClient).on("websocketmessage", onSocketMessage).on('websocketopen', onSocketOpen);
}
return this;

View file

@ -18,16 +18,12 @@
if (LibraryMenu.getTopParentId()) {
$('.scopedLibraryViewNav', page).show();
$('.globalNav', page).hide();
$('.scopedContent', page).show();
context = 'tv';
loadResume(page);
} else {
$('.scopedLibraryViewNav', page).hide();
$('.globalNav', page).show();
$('.scopedContent', page).hide();
}

View file

@ -2,20 +2,6 @@
$(document).on('pagebeforeshowready', "#tvUpcomingPage", function () {
var page = this;
if (LibraryMenu.getTopParentId()) {
$('.scopedLibraryViewNav', page).show();
$('.globalNav', page).hide();
} else {
$('.scopedLibraryViewNav', page).hide();
$('.globalNav', page).show();
}
}).on('pagebeforeshowready', "#tvUpcomingPage", function () {
Dashboard.showLoadingMsg();
var page = this;