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

Migrates itembynamedetailpage.js to es6 module

This commit is contained in:
matjaz321 2020-08-04 19:33:20 +02:00
parent ce8484e8f0
commit 89f0fe8564

View file

@ -1,8 +1,13 @@
define(['connectionManager', 'listView', 'cardBuilder', 'imageLoader', 'libraryBrowser', 'globalize', 'emby-itemscontainer', 'emby-button'], function (connectionManager, listView, cardBuilder, imageLoader, libraryBrowser, globalize) { import connectionManager from 'connectionManager';
'use strict'; import listView from 'listView';
import cardBuilder from 'cardBuilder';
import imageLoader from 'imageLoader';
import globalize from 'globalize';
import 'emby-itemscontainer';
import 'emby-button';
function renderItems(page, item) { function renderItems(page, item) {
var sections = []; const sections = [];
if (item.ArtistCount) { if (item.ArtistCount) {
sections.push({ sections.push({
@ -11,7 +16,7 @@ define(['connectionManager', 'listView', 'cardBuilder', 'imageLoader', 'libraryB
}); });
} }
if (item.ProgramCount && item.Type == 'Person') { if (item.ProgramCount && item.Type === 'Person') {
sections.push({ sections.push({
name: globalize.translate('HeaderUpcomingOnTV'), name: globalize.translate('HeaderUpcomingOnTV'),
type: 'Program' type: 'Program'
@ -60,10 +65,10 @@ define(['connectionManager', 'listView', 'cardBuilder', 'imageLoader', 'libraryB
}); });
} }
var elem = page.querySelector('#childrenContent'); const elem = page.querySelector('#childrenContent');
elem.innerHTML = sections.map(function (section) { elem.innerHTML = sections.map(function (section) {
var html = ''; let html = '';
var sectionClass = 'verticalSection'; let sectionClass = 'verticalSection';
if (section.type === 'Audio') { if (section.type === 'Audio') {
sectionClass += ' verticalSection-extrabottompadding'; sectionClass += ' verticalSection-extrabottompadding';
@ -78,11 +83,12 @@ define(['connectionManager', 'listView', 'cardBuilder', 'imageLoader', 'libraryB
html += '</div>'; html += '</div>';
html += '<div is="emby-itemscontainer" class="itemsContainer padded-right">'; html += '<div is="emby-itemscontainer" class="itemsContainer padded-right">';
html += '</div>'; html += '</div>';
return html += '</div>'; html += '</div>';
return html;
}).join(''); }).join('');
var sectionElems = elem.querySelectorAll('.verticalSection'); const sectionElems = elem.querySelectorAll('.verticalSection');
for (var i = 0, length = sectionElems.length; i < length; i++) { for (let i = 0, length = sectionElems.length; i < length; i++) {
renderSection(page, item, sectionElems[i], sectionElems[i].getAttribute('data-type')); renderSection(page, item, sectionElems[i], sectionElems[i].getAttribute('data-type'));
} }
} }
@ -259,10 +265,10 @@ define(['connectionManager', 'listView', 'cardBuilder', 'imageLoader', 'libraryB
function loadItems(element, item, type, query, listOptions) { function loadItems(element, item, type, query, listOptions) {
query = getQuery(query, item); query = getQuery(query, item);
getItemsFunction(query, item)(query.StartIndex, query.Limit, query.Fields).then(function (result) { getItemsFunction(query, item)(query.StartIndex, query.Limit, query.Fields).then(function (result) {
var html = ''; let html = '';
if (query.Limit && result.TotalRecordCount > query.Limit) { if (query.Limit && result.TotalRecordCount > query.Limit) {
var link = element.querySelector('a'); const link = element.querySelector('a');
link.classList.remove('hide'); link.classList.remove('hide');
link.setAttribute('href', getMoreItemsHref(item, type)); link.setAttribute('href', getMoreItemsHref(item, type));
} else { } else {
@ -270,9 +276,9 @@ define(['connectionManager', 'listView', 'cardBuilder', 'imageLoader', 'libraryB
} }
listOptions.items = result.Items; listOptions.items = result.Items;
var itemsContainer = element.querySelector('.itemsContainer'); const itemsContainer = element.querySelector('.itemsContainer');
if (type == 'Audio') { if (type === 'Audio') {
html = listView.getListViewHtml(listOptions); html = listView.getListViewHtml(listOptions);
itemsContainer.classList.remove('vertical-wrap'); itemsContainer.classList.remove('vertical-wrap');
itemsContainer.classList.add('vertical-list'); itemsContainer.classList.add('vertical-list');
@ -288,23 +294,23 @@ define(['connectionManager', 'listView', 'cardBuilder', 'imageLoader', 'libraryB
} }
function getMoreItemsHref(item, type) { function getMoreItemsHref(item, type) {
if (item.Type == 'Genre') { if (item.Type === 'Genre') {
return 'list.html?type=' + type + '&genreId=' + item.Id + '&serverId=' + item.ServerId; return 'list.html?type=' + type + '&genreId=' + item.Id + '&serverId=' + item.ServerId;
} }
if (item.Type == 'MusicGenre') { if (item.Type === 'MusicGenre') {
return 'list.html?type=' + type + '&musicGenreId=' + item.Id + '&serverId=' + item.ServerId; return 'list.html?type=' + type + '&musicGenreId=' + item.Id + '&serverId=' + item.ServerId;
} }
if (item.Type == 'Studio') { if (item.Type === 'Studio') {
return 'list.html?type=' + type + '&studioId=' + item.Id + '&serverId=' + item.ServerId; return 'list.html?type=' + type + '&studioId=' + item.Id + '&serverId=' + item.ServerId;
} }
if (item.Type == 'MusicArtist') { if (item.Type === 'MusicArtist') {
return 'list.html?type=' + type + '&artistId=' + item.Id + '&serverId=' + item.ServerId; return 'list.html?type=' + type + '&artistId=' + item.Id + '&serverId=' + item.ServerId;
} }
if (item.Type == 'Person') { if (item.Type === 'Person') {
return 'list.html?type=' + type + '&personId=' + item.Id + '&serverId=' + item.ServerId; return 'list.html?type=' + type + '&personId=' + item.Id + '&serverId=' + item.ServerId;
} }
@ -312,23 +318,23 @@ define(['connectionManager', 'listView', 'cardBuilder', 'imageLoader', 'libraryB
} }
function addCurrentItemToQuery(query, item) { function addCurrentItemToQuery(query, item) {
if (item.Type == 'Person') { if (item.Type === 'Person') {
query.PersonIds = item.Id; query.PersonIds = item.Id;
} else if (item.Type == 'Genre') { } else if (item.Type === 'Genre') {
query.Genres = item.Name; query.Genres = item.Name;
} else if (item.Type == 'MusicGenre') { } else if (item.Type === 'MusicGenre') {
query.Genres = item.Name; query.Genres = item.Name;
} else if (item.Type == 'GameGenre') { } else if (item.Type === 'GameGenre') {
query.Genres = item.Name; query.Genres = item.Name;
} else if (item.Type == 'Studio') { } else if (item.Type === 'Studio') {
query.StudioIds = item.Id; query.StudioIds = item.Id;
} else if (item.Type == 'MusicArtist') { } else if (item.Type === 'MusicArtist') {
query.AlbumArtistIds = item.Id; query.AlbumArtistIds = item.Id;
} }
} }
function getQuery(options, item) { function getQuery(options, item) {
var query = { let query = {
SortOrder: 'Ascending', SortOrder: 'Ascending',
IncludeItemTypes: '', IncludeItemTypes: '',
Recursive: true, Recursive: true,
@ -343,7 +349,7 @@ define(['connectionManager', 'listView', 'cardBuilder', 'imageLoader', 'libraryB
} }
function getItemsFunction(options, item) { function getItemsFunction(options, item) {
var query = getQuery(options, item); const query = getQuery(options, item);
return function (index, limit, fields) { return function (index, limit, fields) {
query.StartIndex = index; query.StartIndex = index;
query.Limit = limit; query.Limit = limit;
@ -352,7 +358,7 @@ define(['connectionManager', 'listView', 'cardBuilder', 'imageLoader', 'libraryB
query.Fields += ',' + fields; query.Fields += ',' + fields;
} }
var apiClient = connectionManager.getApiClient(item.ServerId); const apiClient = connectionManager.getApiClient(item.ServerId);
if (query.IncludeItemTypes === 'MusicArtist') { if (query.IncludeItemTypes === 'MusicArtist') {
query.IncludeItemTypes = null; query.IncludeItemTypes = null;
@ -366,4 +372,3 @@ define(['connectionManager', 'listView', 'cardBuilder', 'imageLoader', 'libraryB
window.ItemsByName = { window.ItemsByName = {
renderItems: renderItems renderItems: renderItems
}; };
});