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

98 lines
2.7 KiB
JavaScript
Raw Normal View History

2016-08-15 22:40:29 -04:00
define(['libraryBrowser', 'cardBuilder', 'emby-itemscontainer', 'emby-tabs', 'emby-button', 'scripts/channelslatest', 'scripts/sections'], function (libraryBrowser, cardBuilder) {
2014-03-18 13:05:57 -04:00
// The base query options
var query = {
StartIndex: 0
};
function reloadItems(page) {
Dashboard.showLoadingMsg();
query.UserId = Dashboard.getCurrentUserId();
2015-12-14 10:43:03 -05:00
ApiClient.getJSON(ApiClient.getUrl("Channels", query)).then(function (result) {
2014-03-18 13:05:57 -04:00
// Scroll back up so they can see the results from the beginning
2015-06-28 10:45:21 -04:00
window.scrollTo(0, 0);
2014-03-18 13:05:57 -04:00
var html = '';
2015-05-13 00:55:19 -04:00
var view = 'Thumb';
if (view == "Thumb") {
2016-07-29 16:06:58 -04:00
html = cardBuilder.getCardsHtml({
2015-05-13 00:55:19 -04:00
items: result.Items,
shape: "backdrop",
context: 'channels',
showTitle: true,
2015-06-10 00:01:14 -04:00
lazy: true,
2015-05-13 00:55:19 -04:00
centerText: true,
preferThumb: true
});
}
else if (view == "ThumbCard") {
2016-07-29 16:06:58 -04:00
html = cardBuilder.getCardsHtml({
2015-05-13 00:55:19 -04:00
items: result.Items,
shape: "backdrop",
preferThumb: true,
context: 'channels',
lazy: true,
cardLayout: true,
showTitle: true
});
}
2014-03-18 13:05:57 -04:00
2015-06-28 10:45:21 -04:00
var elem = page.querySelector('#items');
elem.innerHTML = html;
ImageLoader.lazyChildren(elem);
2014-03-18 13:05:57 -04:00
2016-05-09 15:27:38 -04:00
libraryBrowser.saveQueryValues('channels', query);
2014-03-18 13:05:57 -04:00
Dashboard.hideLoadingMsg();
});
}
2015-07-18 14:07:03 -04:00
function loadTab(page, index) {
switch (index) {
case 1:
2016-05-09 15:27:38 -04:00
libraryBrowser.loadSavedQueryValues('channels', query);
2015-07-18 14:07:03 -04:00
reloadItems(page);
break;
default:
break;
}
}
2016-08-15 22:40:29 -04:00
return function (view, params) {
2015-07-18 14:07:03 -04:00
2016-08-15 22:40:29 -04:00
var self = this;
var viewTabs = view.querySelector('.libraryViewNav');
2015-07-18 14:07:03 -04:00
2016-08-15 22:40:29 -04:00
libraryBrowser.configurePaperLibraryTabs(view, viewTabs, view.querySelectorAll('.pageTabContent'), [0, 1]);
2015-07-18 14:07:03 -04:00
2016-08-15 22:40:29 -04:00
viewTabs.addEventListener('tabchange', function (e) {
loadTab(view, parseInt(e.detail.selectedTabIndex));
2015-07-18 14:07:03 -04:00
});
2014-03-18 13:05:57 -04:00
2016-08-15 22:40:29 -04:00
if (AppInfo.enableHeadRoom) {
require(["headroom-window"], function (headroom) {
headroom.add(viewTabs);
self.headroom = headroom;
});
}
view.addEventListener('viewdestroy', function (e) {
2014-03-18 13:05:57 -04:00
2016-08-15 22:40:29 -04:00
if (self.headroom) {
self.headroom.remove(viewTabs);
}
});
};
});