mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
update by genre views
This commit is contained in:
parent
71b0be28b8
commit
dfbe16f07e
7 changed files with 75 additions and 35 deletions
|
@ -1,4 +1,4 @@
|
|||
define(['events', 'libraryBrowser', 'imageLoader', 'alphaPicker', 'listView', 'cardBuilder', 'emby-itemscontainer'], function (events, libraryBrowser, imageLoader, alphaPicker, listView, cardBuilder) {
|
||||
define(['events', 'libraryBrowser', 'imageLoader', 'listView', 'cardBuilder', 'emby-itemscontainer'], function (events, libraryBrowser, imageLoader, listView, cardBuilder) {
|
||||
'use strict';
|
||||
|
||||
return function (view, params, tabContent) {
|
||||
|
@ -205,26 +205,10 @@
|
|||
|
||||
function updateFilterControls(tabContent) {
|
||||
|
||||
var query = getQuery(tabContent);
|
||||
self.alphaPicker.value(query.NameStartsWithOrGreater);
|
||||
}
|
||||
|
||||
function initPage(tabContent) {
|
||||
|
||||
var alphaPickerElement = tabContent.querySelector('.alphaPicker');
|
||||
alphaPickerElement.addEventListener('alphavaluechanged', function (e) {
|
||||
var newValue = e.detail.value;
|
||||
var query = getQuery(tabContent);
|
||||
query.NameStartsWithOrGreater = newValue;
|
||||
query.StartIndex = 0;
|
||||
reloadItems(tabContent);
|
||||
});
|
||||
|
||||
self.alphaPicker = new alphaPicker({
|
||||
element: alphaPickerElement,
|
||||
valueChangeEvent: 'click'
|
||||
});
|
||||
|
||||
tabContent.querySelector('.btnSort').addEventListener('click', function (e) {
|
||||
libraryBrowser.showSortMenu({
|
||||
items: [{
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
define(['libraryBrowser', 'cardBuilder', 'lazyLoader', 'apphost'], function (libraryBrowser, cardBuilder, lazyLoader, appHost) {
|
||||
define(['libraryBrowser', 'cardBuilder', 'lazyLoader', 'apphost', 'globalize', 'dom'], function (libraryBrowser, cardBuilder, lazyLoader, appHost, globalize, dom) {
|
||||
'use strict';
|
||||
|
||||
return function (view, params, tabContent) {
|
||||
|
@ -56,7 +56,24 @@
|
|||
|
||||
function getPortraitShape() {
|
||||
return enableScrollX() ? 'overflowPortrait' : 'portrait';
|
||||
}
|
||||
}
|
||||
|
||||
function getMoreItemsHref(itemId, type) {
|
||||
|
||||
return 'secondaryitems.html?type=' + type + '&parentId=' + itemId;
|
||||
}
|
||||
|
||||
dom.addEventListener(tabContent, 'click', function (e) {
|
||||
|
||||
var btnMoreFromGenre = dom.parentWithClass(e.target, 'btnMoreFromGenre');
|
||||
if (btnMoreFromGenre) {
|
||||
var id = btnMoreFromGenre.getAttribute('data-id');
|
||||
Dashboard.navigate(getMoreItemsHref(id, 'Movie'));
|
||||
}
|
||||
|
||||
}, {
|
||||
passive: true
|
||||
});
|
||||
|
||||
function fillItemsContainer(elem) {
|
||||
|
||||
|
@ -144,6 +161,9 @@
|
|||
});
|
||||
}
|
||||
|
||||
if (result.Items.length >= query.Limit) {
|
||||
tabContent.querySelector('.btnMoreFromGenre' + id).classList.remove('hide');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -163,9 +183,15 @@
|
|||
var item = items[i];
|
||||
|
||||
html += '<div class="homePageSection">';
|
||||
|
||||
html += '<div style="display:flex;align-items:center;">';
|
||||
html += '<h1 class="listHeader">';
|
||||
html += item.Name;
|
||||
html += '</h1>';
|
||||
html += '<button is="emby-button" type="button" class="raised more mini noIcon hide btnMoreFromGenre btnMoreFromGenre' + item.Id + '" data-id="' + item.Id + '">';
|
||||
html += '<span>' + globalize.translate('ButtonMore') + '</span>';
|
||||
html += '</button>';
|
||||
html += '</div>';
|
||||
|
||||
if (enableScrollX()) {
|
||||
html += '<div is="emby-itemscontainer" class="itemsContainer hiddenScrollX lazy" data-id="' + item.Id + '">';
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
define(['libraryBrowser', 'cardBuilder', 'lazyLoader', 'apphost'], function (libraryBrowser, cardBuilder, lazyLoader, appHost) {
|
||||
define(['libraryBrowser', 'cardBuilder', 'lazyLoader', 'apphost', 'globalize', 'dom'], function (libraryBrowser, cardBuilder, lazyLoader, appHost, globalize, dom) {
|
||||
'use strict';
|
||||
|
||||
return function (view, params, tabContent) {
|
||||
|
@ -56,7 +56,24 @@
|
|||
|
||||
function getPortraitShape() {
|
||||
return enableScrollX() ? 'overflowPortrait' : 'portrait';
|
||||
}
|
||||
}
|
||||
|
||||
function getMoreItemsHref(itemId, type) {
|
||||
|
||||
return 'secondaryitems.html?type=' + type + '&parentId=' + itemId;
|
||||
}
|
||||
|
||||
dom.addEventListener(tabContent, 'click', function (e) {
|
||||
|
||||
var btnMoreFromGenre = dom.parentWithClass(e.target, 'btnMoreFromGenre');
|
||||
if (btnMoreFromGenre) {
|
||||
var id = btnMoreFromGenre.getAttribute('data-id');
|
||||
Dashboard.navigate(getMoreItemsHref(id, 'Series'));
|
||||
}
|
||||
|
||||
}, {
|
||||
passive: true
|
||||
});
|
||||
|
||||
function fillItemsContainer(elem) {
|
||||
|
||||
|
@ -144,6 +161,9 @@
|
|||
});
|
||||
}
|
||||
|
||||
if (result.Items.length >= query.Limit) {
|
||||
tabContent.querySelector('.btnMoreFromGenre' + id).classList.remove('hide');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -163,9 +183,15 @@
|
|||
var item = items[i];
|
||||
|
||||
html += '<div class="homePageSection">';
|
||||
|
||||
html += '<div style="display:flex;align-items:center;">';
|
||||
html += '<h1 class="listHeader">';
|
||||
html += item.Name;
|
||||
html += '</h1>';
|
||||
html += '<button is="emby-button" type="button" class="raised more mini noIcon hide btnMoreFromGenre btnMoreFromGenre' + item.Id + '" data-id="' + item.Id + '">';
|
||||
html += '<span>' + globalize.translate('ButtonMore') + '</span>';
|
||||
html += '</button>';
|
||||
html += '</div>';
|
||||
|
||||
if (enableScrollX()) {
|
||||
html += '<div is="emby-itemscontainer" class="itemsContainer hiddenScrollX lazy" data-id="' + item.Id + '">';
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue