mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
removed dead code from librarybrowser.js
This commit is contained in:
parent
9a4988ecbb
commit
7570243d42
20 changed files with 224 additions and 302 deletions
|
@ -61,6 +61,27 @@
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getImageUrl(item, type, index, options) {
|
||||||
|
|
||||||
|
options = options || {};
|
||||||
|
options.type = type;
|
||||||
|
options.index = index;
|
||||||
|
|
||||||
|
if (type == 'Backdrop') {
|
||||||
|
options.tag = item.BackdropImageTags[index];
|
||||||
|
} else if (type == 'Screenshot') {
|
||||||
|
options.tag = item.ScreenshotImageTags[index];
|
||||||
|
} else if (type == 'Primary') {
|
||||||
|
options.tag = item.PrimaryImageTag || item.ImageTags[type];
|
||||||
|
} else {
|
||||||
|
options.tag = item.ImageTags[type];
|
||||||
|
}
|
||||||
|
|
||||||
|
// For search hints
|
||||||
|
return ApiClient.getScaledImageUrl(item.Id || item.ItemId, options);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
function renderImages(page, item, images, imageProviders, elem) {
|
function renderImages(page, item, images, imageProviders, elem) {
|
||||||
|
|
||||||
var html = '';
|
var html = '';
|
||||||
|
@ -74,7 +95,7 @@
|
||||||
|
|
||||||
var height = 150;
|
var height = 150;
|
||||||
|
|
||||||
html += '<div style="height:' + height + 'px;vertical-align:top;background-repeat:no-repeat;background-position:center bottom;background-size:contain;" class="lazy" data-src="' + LibraryBrowser.getImageUrl(currentItem, image.ImageType, image.ImageIndex, { height: height }) + '"></div>';
|
html += '<div style="height:' + height + 'px;vertical-align:top;background-repeat:no-repeat;background-position:center bottom;background-size:contain;" class="lazy" data-src="' + getImageUrl(currentItem, image.ImageType, image.ImageIndex, { height: height }) + '"></div>';
|
||||||
|
|
||||||
html += '<div class="editorTileFooter">';
|
html += '<div class="editorTileFooter">';
|
||||||
|
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
StartIndex: 0,
|
StartIndex: 0,
|
||||||
Limit: pageSize
|
Limit: pageSize
|
||||||
},
|
},
|
||||||
view: libraryBrowser.getSavedView(key) || libraryBrowser.getDefaultItemsView('Poster', 'Poster')
|
view: libraryBrowser.getSavedView(key) || 'Poster'
|
||||||
};
|
};
|
||||||
|
|
||||||
pageData.query.ParentId = params.topParentId;
|
pageData.query.ParentId = params.topParentId;
|
||||||
|
@ -49,7 +49,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
function onViewStyleChange() {
|
function onViewStyleChange() {
|
||||||
|
|
||||||
var viewStyle = self.getCurrentViewStyle();
|
var viewStyle = self.getCurrentViewStyle();
|
||||||
|
|
||||||
var itemsContainer = tabContent.querySelector('.itemsContainer');
|
var itemsContainer = tabContent.querySelector('.itemsContainer');
|
||||||
|
|
|
@ -19,7 +19,7 @@ define(['jQuery', 'listView'], function ($, listView) {
|
||||||
StartIndex: 0,
|
StartIndex: 0,
|
||||||
Limit: LibraryBrowser.getDefaultPageSize()
|
Limit: LibraryBrowser.getDefaultPageSize()
|
||||||
},
|
},
|
||||||
view: LibraryBrowser.getSavedView(key) || LibraryBrowser.getDefaultItemsView('Poster', 'List')
|
view: LibraryBrowser.getSavedView(key) || 'Poster'
|
||||||
};
|
};
|
||||||
|
|
||||||
pageData.query.ParentId = LibraryMenu.getTopParentId();
|
pageData.query.ParentId = LibraryMenu.getTopParentId();
|
||||||
|
|
|
@ -290,14 +290,55 @@
|
||||||
Dashboard.hideLoadingMsg();
|
Dashboard.hideLoadingMsg();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function renderLinks(linksElem, item) {
|
||||||
|
|
||||||
|
var links = [];
|
||||||
|
|
||||||
|
if (item.HomePageUrl) {
|
||||||
|
links.push('<a class="textlink" href="' + item.HomePageUrl + '" target="_blank">' + Globalize.translate('ButtonWebsite') + '</a>');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (item.ExternalUrls) {
|
||||||
|
|
||||||
|
for (var i = 0, length = item.ExternalUrls.length; i < length; i++) {
|
||||||
|
|
||||||
|
var url = item.ExternalUrls[i];
|
||||||
|
|
||||||
|
links.push('<a class="textlink" href="' + url.Url + '" target="_blank">' + url.Name + '</a>');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (links.length) {
|
||||||
|
|
||||||
|
var html = links.join(' / ');
|
||||||
|
|
||||||
|
html = Globalize.translate('ValueLinks', html);
|
||||||
|
|
||||||
|
linksElem.innerHTML = html;
|
||||||
|
linksElem.classList.remove('hide');
|
||||||
|
|
||||||
|
} else {
|
||||||
|
linksElem.classList.add('hide');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function renderImage(page, item, user) {
|
function renderImage(page, item, user) {
|
||||||
|
|
||||||
LibraryBrowser.renderDetailImage(page.querySelector('.detailImageContainer'), item, user.Policy.IsAdministrator && item.MediaType != 'Photo');
|
LibraryBrowser.renderDetailImage(page.querySelector('.detailImageContainer'), item, user.Policy.IsAdministrator && item.MediaType != 'Photo');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function refreshDetailImageUserData(elem, item) {
|
||||||
|
|
||||||
|
var progressHtml = item.IsFolder || !item.UserData ? '' : LibraryBrowser.getItemProgressBarHtml((item.Type == 'Recording' ? item : item.UserData));
|
||||||
|
|
||||||
|
var detailImageProgressContainer = elem.querySelector('.detailImageProgressContainer');
|
||||||
|
|
||||||
|
detailImageProgressContainer.innerHTML = progressHtml || '';
|
||||||
|
}
|
||||||
|
|
||||||
function refreshImage(page, item, user) {
|
function refreshImage(page, item, user) {
|
||||||
|
|
||||||
LibraryBrowser.refreshDetailImageUserData(page.querySelector('.detailImageContainer'), item);
|
refreshDetailImageUserData(page.querySelector('.detailImageContainer'), item);
|
||||||
}
|
}
|
||||||
|
|
||||||
function setPeopleHeader(page, item) {
|
function setPeopleHeader(page, item) {
|
||||||
|
@ -439,6 +480,30 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function renderOverview(elems, item) {
|
||||||
|
|
||||||
|
for (var i = 0, length = elems.length; i < length; i++) {
|
||||||
|
var elem = elems[i];
|
||||||
|
var overview = item.Overview || '';
|
||||||
|
|
||||||
|
if (overview) {
|
||||||
|
elem.innerHTML = overview;
|
||||||
|
|
||||||
|
elem.classList.remove('empty');
|
||||||
|
|
||||||
|
var anchors = elem.querySelectorAll('a');
|
||||||
|
for (var j = 0, length2 = anchors.length; j < length2; j++) {
|
||||||
|
anchors[j].setAttribute("target", "_blank");
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
elem.innerHTML = '';
|
||||||
|
|
||||||
|
elem.classList.add('empty');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function renderDetails(page, item, context, isStatic) {
|
function renderDetails(page, item, context, isStatic) {
|
||||||
|
|
||||||
renderSimilarItems(page, item, context);
|
renderSimilarItems(page, item, context);
|
||||||
|
@ -463,16 +528,16 @@
|
||||||
var seasonOnBottom = screen.availHeight < 800 || screen.availWidth < 600;
|
var seasonOnBottom = screen.availHeight < 800 || screen.availWidth < 600;
|
||||||
|
|
||||||
if (item.Type == 'MusicAlbum' || item.Type == 'MusicArtist' || (item.Type == 'Season' && seasonOnBottom)) {
|
if (item.Type == 'MusicAlbum' || item.Type == 'MusicArtist' || (item.Type == 'Season' && seasonOnBottom)) {
|
||||||
LibraryBrowser.renderOverview([bottomOverview], item);
|
renderOverview([bottomOverview], item);
|
||||||
topOverview.classList.add('hide');
|
topOverview.classList.add('hide');
|
||||||
bottomOverview.classList.remove('hide');
|
bottomOverview.classList.remove('hide');
|
||||||
} else {
|
} else {
|
||||||
LibraryBrowser.renderOverview([topOverview], item);
|
renderOverview([topOverview], item);
|
||||||
topOverview.classList.remove('hide');
|
topOverview.classList.remove('hide');
|
||||||
bottomOverview.classList.add('hide');
|
bottomOverview.classList.add('hide');
|
||||||
}
|
}
|
||||||
|
|
||||||
LibraryBrowser.renderAwardSummary(page.querySelector('#awardSummary'), item);
|
renderAwardSummary(page.querySelector('#awardSummary'), item);
|
||||||
|
|
||||||
var i, length;
|
var i, length;
|
||||||
var itemMiscInfo = page.querySelectorAll('.itemMiscInfo');
|
var itemMiscInfo = page.querySelectorAll('.itemMiscInfo');
|
||||||
|
@ -483,12 +548,12 @@
|
||||||
}
|
}
|
||||||
var itemGenres = page.querySelectorAll('.itemGenres');
|
var itemGenres = page.querySelectorAll('.itemGenres');
|
||||||
for (i = 0, length = itemGenres.length; i < length; i++) {
|
for (i = 0, length = itemGenres.length; i < length; i++) {
|
||||||
LibraryBrowser.renderGenres(itemGenres[i], item, null, isStatic);
|
renderGenres(itemGenres[i], item, null, isStatic);
|
||||||
}
|
}
|
||||||
|
|
||||||
LibraryBrowser.renderStudios(page.querySelector('.itemStudios'), item, isStatic);
|
renderStudios(page.querySelector('.itemStudios'), item, isStatic);
|
||||||
renderUserDataIcons(page, item);
|
renderUserDataIcons(page, item);
|
||||||
LibraryBrowser.renderLinks(page.querySelector('.itemExternalLinks'), item);
|
renderLinks(page.querySelector('.itemExternalLinks'), item);
|
||||||
|
|
||||||
page.querySelector('.criticRatingScore').innerHTML = (item.CriticRating || '0') + '%';
|
page.querySelector('.criticRatingScore').innerHTML = (item.CriticRating || '0') + '%';
|
||||||
|
|
||||||
|
@ -1128,6 +1193,78 @@
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function renderStudios(elem, item, isStatic) {
|
||||||
|
|
||||||
|
if (item.Studios && item.Studios.length && item.Type != "Series") {
|
||||||
|
|
||||||
|
var html = '';
|
||||||
|
|
||||||
|
for (var i = 0, length = item.Studios.length; i < length; i++) {
|
||||||
|
|
||||||
|
if (i > 0) {
|
||||||
|
html += ' / ';
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isStatic) {
|
||||||
|
html += item.Studios[i].Name;
|
||||||
|
} else {
|
||||||
|
html += '<a class="textlink" href="itemdetails.html?id=' + item.Studios[i].Id + '">' + item.Studios[i].Name + '</a>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var translationKey = item.Studios.length > 1 ? "ValueStudios" : "ValueStudio";
|
||||||
|
|
||||||
|
html = Globalize.translate(translationKey, html);
|
||||||
|
|
||||||
|
elem.innerHTML = html;
|
||||||
|
elem.classList.remove('hide');
|
||||||
|
|
||||||
|
} else {
|
||||||
|
elem.classList.add('hide');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function renderGenres(elem, item, limit, isStatic) {
|
||||||
|
|
||||||
|
var html = '';
|
||||||
|
|
||||||
|
var genres = item.Genres || [];
|
||||||
|
|
||||||
|
for (var i = 0, length = genres.length; i < length; i++) {
|
||||||
|
|
||||||
|
if (limit && i >= limit) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (i > 0) {
|
||||||
|
html += '<span> / </span>';
|
||||||
|
}
|
||||||
|
|
||||||
|
var param = item.Type == "Audio" || item.Type == "MusicArtist" || item.Type == "MusicAlbum" ? "musicgenre" : "genre";
|
||||||
|
|
||||||
|
if (item.MediaType == "Game") {
|
||||||
|
param = "gamegenre";
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isStatic) {
|
||||||
|
html += genres[i];
|
||||||
|
} else {
|
||||||
|
html += '<a class="textlink" href="itemdetails.html?' + param + '=' + ApiClient.encodeName(genres[i]) + '">' + genres[i] + '</a>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
elem.innerHTML = html;
|
||||||
|
}
|
||||||
|
|
||||||
|
function renderAwardSummary(elem, item) {
|
||||||
|
if (item.AwardSummary) {
|
||||||
|
elem.classList.remove('hide');
|
||||||
|
elem.innerHTML = Globalize.translate('ValueAwards', item.AwardSummary);
|
||||||
|
} else {
|
||||||
|
elem.classList.add('hide');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function renderCollectionItems(page, parentItem, types, items) {
|
function renderCollectionItems(page, parentItem, types, items) {
|
||||||
|
|
||||||
// First empty out existing content
|
// First empty out existing content
|
||||||
|
|
|
@ -25,7 +25,7 @@
|
||||||
pageData.query.Filters = "";
|
pageData.query.Filters = "";
|
||||||
pageData.query.NameStartsWithOrGreater = '';
|
pageData.query.NameStartsWithOrGreater = '';
|
||||||
var key = getSavedQueryKey();
|
var key = getSavedQueryKey();
|
||||||
pageData.view = libraryBrowser.getSavedView(key) || libraryBrowser.getDefaultItemsView('Poster', 'Poster');
|
pageData.view = libraryBrowser.getSavedView(key) || 'Poster';
|
||||||
|
|
||||||
pageData.query.ParentId = params.parentId || null;
|
pageData.query.ParentId = params.parentId || null;
|
||||||
libraryBrowser.loadSavedQueryValues(key, pageData.query);
|
libraryBrowser.loadSavedQueryValues(key, pageData.query);
|
||||||
|
|
|
@ -47,12 +47,6 @@
|
||||||
return 100;
|
return 100;
|
||||||
},
|
},
|
||||||
|
|
||||||
getDefaultItemsView: function (view, mobileView) {
|
|
||||||
|
|
||||||
return browserInfo.mobile ? mobileView : view;
|
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
getSavedQueryKey: function (modifier) {
|
getSavedQueryKey: function (modifier) {
|
||||||
|
|
||||||
return window.location.href.split('#')[0] + (modifier || '');
|
return window.location.href.split('#')[0] + (modifier || '');
|
||||||
|
@ -567,40 +561,6 @@
|
||||||
return "itemdetails.html?id=" + id;
|
return "itemdetails.html?id=" + id;
|
||||||
},
|
},
|
||||||
|
|
||||||
getImageUrl: function (item, type, index, options) {
|
|
||||||
|
|
||||||
options = options || {};
|
|
||||||
options.type = type;
|
|
||||||
options.index = index;
|
|
||||||
|
|
||||||
if (type == 'Backdrop') {
|
|
||||||
options.tag = item.BackdropImageTags[index];
|
|
||||||
} else if (type == 'Screenshot') {
|
|
||||||
options.tag = item.ScreenshotImageTags[index];
|
|
||||||
} else if (type == 'Primary') {
|
|
||||||
options.tag = item.PrimaryImageTag || item.ImageTags[type];
|
|
||||||
} else {
|
|
||||||
options.tag = item.ImageTags[type];
|
|
||||||
}
|
|
||||||
|
|
||||||
// For search hints
|
|
||||||
return ApiClient.getScaledImageUrl(item.Id || item.ItemId, options);
|
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
getTextActionButton: function (item, text) {
|
|
||||||
|
|
||||||
if (!text) {
|
|
||||||
text = itemHelper.getDisplayName(item);
|
|
||||||
}
|
|
||||||
|
|
||||||
var html = '<button data-id="' + item.Id + '" data-type="' + item.Type + '" data-mediatype="' + item.MediaType + '" data-channelid="' + item.ChannelId + '" data-isfolder="' + item.IsFolder + '" type="button" class="itemAction textActionButton" data-action="link">';
|
|
||||||
html += text;
|
|
||||||
html += '</button>';
|
|
||||||
|
|
||||||
return html;
|
|
||||||
},
|
|
||||||
|
|
||||||
getListItemInfo: function (elem) {
|
getListItemInfo: function (elem) {
|
||||||
|
|
||||||
var elemWithAttributes = elem;
|
var elemWithAttributes = elem;
|
||||||
|
@ -642,85 +602,6 @@
|
||||||
return date;
|
return date;
|
||||||
},
|
},
|
||||||
|
|
||||||
getOfflineIndicatorHtml: function (item) {
|
|
||||||
|
|
||||||
if (item.LocationType == "Offline") {
|
|
||||||
return '<div class="posterRibbon offlinePosterRibbon">' + Globalize.translate('HeaderOffline') + '</div>';
|
|
||||||
}
|
|
||||||
|
|
||||||
if (item.Type == 'Episode') {
|
|
||||||
try {
|
|
||||||
|
|
||||||
var date = datetime.parseISO8601Date(item.PremiereDate, true);
|
|
||||||
|
|
||||||
if (item.PremiereDate && (new Date().getTime() < date.getTime())) {
|
|
||||||
return '<div class="posterRibbon unairedPosterRibbon">' + Globalize.translate('HeaderUnaired') + '</div>';
|
|
||||||
}
|
|
||||||
} catch (err) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
return '<div class="posterRibbon missingPosterRibbon">' + Globalize.translate('HeaderMissing') + '</div>';
|
|
||||||
}
|
|
||||||
|
|
||||||
return '';
|
|
||||||
},
|
|
||||||
|
|
||||||
getGroupCountIndicator: function (item) {
|
|
||||||
|
|
||||||
if (item.ChildCount) {
|
|
||||||
return '<div class="playedIndicator">' + item.ChildCount + '</div>';
|
|
||||||
}
|
|
||||||
|
|
||||||
return '';
|
|
||||||
},
|
|
||||||
|
|
||||||
getSyncIndicator: function (item) {
|
|
||||||
|
|
||||||
if (item.SyncStatus == 'Synced') {
|
|
||||||
|
|
||||||
return '<div class="syncIndicator"><i class="md-icon">sync</i></div>';
|
|
||||||
}
|
|
||||||
|
|
||||||
var syncPercent = item.SyncPercent;
|
|
||||||
if (syncPercent) {
|
|
||||||
return '<div class="syncIndicator"><i class="md-icon">sync</i></div>';
|
|
||||||
}
|
|
||||||
|
|
||||||
if (item.SyncStatus == 'Queued' || item.SyncStatus == 'Converting' || item.SyncStatus == 'ReadyToTransfer' || item.SyncStatus == 'Transferring') {
|
|
||||||
|
|
||||||
return '<div class="syncIndicator"><i class="md-icon">sync</i></div>';
|
|
||||||
}
|
|
||||||
|
|
||||||
return '';
|
|
||||||
},
|
|
||||||
|
|
||||||
metroColors: ["#6FBD45", "#4BB3DD", "#4164A5", "#E12026", "#800080", "#E1B222", "#008040", "#0094FF", "#FF00C7", "#FF870F", "#7F0037"],
|
|
||||||
|
|
||||||
getRandomMetroColor: function () {
|
|
||||||
|
|
||||||
var index = Math.floor(Math.random() * (LibraryBrowser.metroColors.length - 1));
|
|
||||||
|
|
||||||
return LibraryBrowser.metroColors[index];
|
|
||||||
},
|
|
||||||
|
|
||||||
getMetroColor: function (str) {
|
|
||||||
|
|
||||||
if (str) {
|
|
||||||
var character = String(str.substr(0, 1).charCodeAt());
|
|
||||||
var sum = 0;
|
|
||||||
for (var i = 0; i < character.length; i++) {
|
|
||||||
sum += parseInt(character.charAt(i));
|
|
||||||
}
|
|
||||||
var index = String(sum).substr(-1);
|
|
||||||
|
|
||||||
return LibraryBrowser.metroColors[index];
|
|
||||||
} else {
|
|
||||||
return LibraryBrowser.getRandomMetroColor();
|
|
||||||
}
|
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
renderName: function (item, nameElem, linkToElement, context) {
|
renderName: function (item, nameElem, linkToElement, context) {
|
||||||
|
|
||||||
var name = itemHelper.getDisplayName(item, {
|
var name = itemHelper.getDisplayName(item, {
|
||||||
|
@ -779,38 +660,6 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
renderLinks: function (linksElem, item) {
|
|
||||||
|
|
||||||
var links = [];
|
|
||||||
|
|
||||||
if (item.HomePageUrl) {
|
|
||||||
links.push('<a class="textlink" href="' + item.HomePageUrl + '" target="_blank">' + Globalize.translate('ButtonWebsite') + '</a>');
|
|
||||||
}
|
|
||||||
|
|
||||||
if (item.ExternalUrls) {
|
|
||||||
|
|
||||||
for (var i = 0, length = item.ExternalUrls.length; i < length; i++) {
|
|
||||||
|
|
||||||
var url = item.ExternalUrls[i];
|
|
||||||
|
|
||||||
links.push('<a class="textlink" href="' + url.Url + '" target="_blank">' + url.Name + '</a>');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (links.length) {
|
|
||||||
|
|
||||||
var html = links.join(' / ');
|
|
||||||
|
|
||||||
html = Globalize.translate('ValueLinks', html);
|
|
||||||
|
|
||||||
linksElem.innerHTML = html;
|
|
||||||
linksElem.classList.remove('hide');
|
|
||||||
|
|
||||||
} else {
|
|
||||||
linksElem.classList.add('hide');
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
showLayoutMenu: function (button, currentLayout, views) {
|
showLayoutMenu: function (button, currentLayout, views) {
|
||||||
|
|
||||||
var dispatchEvent = true;
|
var dispatchEvent = true;
|
||||||
|
@ -1212,129 +1061,6 @@
|
||||||
ImageLoader.lazyImage(img, url);
|
ImageLoader.lazyImage(img, url);
|
||||||
},
|
},
|
||||||
|
|
||||||
refreshDetailImageUserData: function (elem, item) {
|
|
||||||
|
|
||||||
var progressHtml = item.IsFolder || !item.UserData ? '' : LibraryBrowser.getItemProgressBarHtml((item.Type == 'Recording' ? item : item.UserData));
|
|
||||||
|
|
||||||
var detailImageProgressContainer = elem.querySelector('.detailImageProgressContainer');
|
|
||||||
|
|
||||||
detailImageProgressContainer.innerHTML = progressHtml || '';
|
|
||||||
},
|
|
||||||
|
|
||||||
renderOverview: function (elems, item) {
|
|
||||||
|
|
||||||
for (var i = 0, length = elems.length; i < length; i++) {
|
|
||||||
var elem = elems[i];
|
|
||||||
var overview = item.Overview || '';
|
|
||||||
|
|
||||||
if (overview) {
|
|
||||||
elem.innerHTML = overview;
|
|
||||||
|
|
||||||
elem.classList.remove('empty');
|
|
||||||
|
|
||||||
var anchors = elem.querySelectorAll('a');
|
|
||||||
for (var j = 0, length2 = anchors.length; j < length2; j++) {
|
|
||||||
anchors[j].setAttribute("target", "_blank");
|
|
||||||
}
|
|
||||||
|
|
||||||
} else {
|
|
||||||
elem.innerHTML = '';
|
|
||||||
|
|
||||||
elem.classList.add('empty');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
renderStudios: function (elem, item, isStatic) {
|
|
||||||
|
|
||||||
if (item.Studios && item.Studios.length && item.Type != "Series") {
|
|
||||||
|
|
||||||
var html = '';
|
|
||||||
|
|
||||||
for (var i = 0, length = item.Studios.length; i < length; i++) {
|
|
||||||
|
|
||||||
if (i > 0) {
|
|
||||||
html += ' / ';
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isStatic) {
|
|
||||||
html += item.Studios[i].Name;
|
|
||||||
} else {
|
|
||||||
html += '<a class="textlink" href="itemdetails.html?id=' + item.Studios[i].Id + '">' + item.Studios[i].Name + '</a>';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var translationKey = item.Studios.length > 1 ? "ValueStudios" : "ValueStudio";
|
|
||||||
|
|
||||||
html = Globalize.translate(translationKey, html);
|
|
||||||
|
|
||||||
elem.innerHTML = html;
|
|
||||||
elem.classList.remove('hide');
|
|
||||||
|
|
||||||
} else {
|
|
||||||
elem.classList.add('hide');
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
renderGenres: function (elem, item, limit, isStatic) {
|
|
||||||
|
|
||||||
var html = '';
|
|
||||||
|
|
||||||
var genres = item.Genres || [];
|
|
||||||
|
|
||||||
for (var i = 0, length = genres.length; i < length; i++) {
|
|
||||||
|
|
||||||
if (limit && i >= limit) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (i > 0) {
|
|
||||||
html += '<span> / </span>';
|
|
||||||
}
|
|
||||||
|
|
||||||
var param = item.Type == "Audio" || item.Type == "MusicArtist" || item.Type == "MusicAlbum" ? "musicgenre" : "genre";
|
|
||||||
|
|
||||||
if (item.MediaType == "Game") {
|
|
||||||
param = "gamegenre";
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isStatic) {
|
|
||||||
html += genres[i];
|
|
||||||
} else {
|
|
||||||
html += '<a class="textlink" href="itemdetails.html?' + param + '=' + ApiClient.encodeName(genres[i]) + '">' + genres[i] + '</a>';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
elem.innerHTML = html;
|
|
||||||
},
|
|
||||||
|
|
||||||
renderPremiereDate: function (elem, item) {
|
|
||||||
if (item.PremiereDate) {
|
|
||||||
try {
|
|
||||||
|
|
||||||
var date = datetime.parseISO8601Date(item.PremiereDate, true);
|
|
||||||
|
|
||||||
var translationKey = new Date().getTime() > date.getTime() ? "ValuePremiered" : "ValuePremieres";
|
|
||||||
|
|
||||||
elem.show().html(Globalize.translate(translationKey, date.toLocaleDateString()));
|
|
||||||
|
|
||||||
} catch (err) {
|
|
||||||
elem.hide();
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
elem.hide();
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
renderAwardSummary: function (elem, item) {
|
|
||||||
if (item.AwardSummary) {
|
|
||||||
elem.classList.remove('hide');
|
|
||||||
elem.innerHTML = Globalize.translate('ValueAwards', item.AwardSummary);
|
|
||||||
} else {
|
|
||||||
elem.classList.add('hide');
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
renderDetailPageBackdrop: function (page, item) {
|
renderDetailPageBackdrop: function (page, item) {
|
||||||
|
|
||||||
var screenWidth = screen.availWidth;
|
var screenWidth = screen.availWidth;
|
||||||
|
|
|
@ -98,6 +98,31 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var metroColors = ["#6FBD45", "#4BB3DD", "#4164A5", "#E12026", "#800080", "#E1B222", "#008040", "#0094FF", "#FF00C7", "#FF870F", "#7F0037"];
|
||||||
|
|
||||||
|
function getRandomMetroColor() {
|
||||||
|
|
||||||
|
var index = Math.floor(Math.random() * (metroColors.length - 1));
|
||||||
|
|
||||||
|
return metroColors[index];
|
||||||
|
}
|
||||||
|
|
||||||
|
function getMetroColor(str) {
|
||||||
|
|
||||||
|
if (str) {
|
||||||
|
var character = String(str.substr(0, 1).charCodeAt());
|
||||||
|
var sum = 0;
|
||||||
|
for (var i = 0; i < character.length; i++) {
|
||||||
|
sum += parseInt(character.charAt(i));
|
||||||
|
}
|
||||||
|
var index = String(sum).substr(-1);
|
||||||
|
|
||||||
|
return metroColors[index];
|
||||||
|
} else {
|
||||||
|
return getRandomMetroColor();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function loadUserList(context, apiClient, users) {
|
function loadUserList(context, apiClient, users) {
|
||||||
var html = "";
|
var html = "";
|
||||||
|
|
||||||
|
@ -125,7 +150,7 @@
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|
||||||
var background = libraryBrowser.getMetroColor(user.Id);
|
var background = getMetroColor(user.Id);
|
||||||
|
|
||||||
imgUrl = 'css/images/logindefault.png';
|
imgUrl = 'css/images/logindefault.png';
|
||||||
|
|
||||||
|
@ -173,7 +198,7 @@
|
||||||
|
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
view.querySelector('#divUsers').addEventListener('click', function(e) {
|
view.querySelector('#divUsers').addEventListener('click', function (e) {
|
||||||
var cardContent = parentWithClass(e.target, 'cardContent');
|
var cardContent = parentWithClass(e.target, 'cardContent');
|
||||||
|
|
||||||
if (cardContent) {
|
if (cardContent) {
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
StartIndex: 0,
|
StartIndex: 0,
|
||||||
Limit: pageSize
|
Limit: pageSize
|
||||||
},
|
},
|
||||||
view: libraryBrowser.getSavedView(key) || libraryBrowser.getDefaultItemsView('Poster', 'Poster')
|
view: libraryBrowser.getSavedView(key) || 'Poster'
|
||||||
};
|
};
|
||||||
|
|
||||||
libraryBrowser.loadSavedQueryValues(key, pageData.query);
|
libraryBrowser.loadSavedQueryValues(key, pageData.query);
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
Fields: "DateCreated,SyncInfo,ItemCounts,PrimaryImageAspectRatio",
|
Fields: "DateCreated,SyncInfo,ItemCounts,PrimaryImageAspectRatio",
|
||||||
StartIndex: 0
|
StartIndex: 0
|
||||||
},
|
},
|
||||||
view: libraryBrowser.getSavedView(key) || libraryBrowser.getDefaultItemsView('Thumb', 'Thumb')
|
view: libraryBrowser.getSavedView(key) || 'Thumb'
|
||||||
};
|
};
|
||||||
|
|
||||||
pageData.query.ParentId = params.topParentId;
|
pageData.query.ParentId = params.topParentId;
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
StartIndex: 0,
|
StartIndex: 0,
|
||||||
Limit: pageSize
|
Limit: pageSize
|
||||||
},
|
},
|
||||||
view: libraryBrowser.getSavedView(key) || libraryBrowser.getDefaultItemsView('Poster', 'Poster')
|
view: libraryBrowser.getSavedView(key) || 'Poster'
|
||||||
};
|
};
|
||||||
|
|
||||||
pageData.query.ParentId = params.topParentId;
|
pageData.query.ParentId = params.topParentId;
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
StartIndex: 0,
|
StartIndex: 0,
|
||||||
Limit: pageSize
|
Limit: pageSize
|
||||||
},
|
},
|
||||||
view: libraryBrowser.getSavedView(key) || libraryBrowser.getDefaultItemsView('Poster', 'Poster')
|
view: libraryBrowser.getSavedView(key) || 'Poster'
|
||||||
};
|
};
|
||||||
|
|
||||||
libraryBrowser.loadSavedQueryValues(key, pageData.query);
|
libraryBrowser.loadSavedQueryValues(key, pageData.query);
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
StartIndex: 0,
|
StartIndex: 0,
|
||||||
Limit: pageSize
|
Limit: pageSize
|
||||||
},
|
},
|
||||||
view: libraryBrowser.getSavedView(key) || libraryBrowser.getDefaultItemsView('PosterCard', 'PosterCard')
|
view: libraryBrowser.getSavedView(key) || 'PosterCard'
|
||||||
};
|
};
|
||||||
|
|
||||||
pageData.query.ParentId = params.topParentId;
|
pageData.query.ParentId = params.topParentId;
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
EnableImageTypes: "Primary,Backdrop,Banner,Thumb",
|
EnableImageTypes: "Primary,Backdrop,Banner,Thumb",
|
||||||
Limit: LibraryBrowser.getDefaultPageSize()
|
Limit: LibraryBrowser.getDefaultPageSize()
|
||||||
},
|
},
|
||||||
view: libraryBrowser.getSavedView(key) || libraryBrowser.getDefaultItemsView('PosterCard', 'PosterCard')
|
view: libraryBrowser.getSavedView(key) || 'PosterCard'
|
||||||
};
|
};
|
||||||
|
|
||||||
pageData.query.ParentId = params.topParentId;
|
pageData.query.ParentId = params.topParentId;
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
EnableImageTypes: "Primary,Backdrop,Banner,Thumb",
|
EnableImageTypes: "Primary,Backdrop,Banner,Thumb",
|
||||||
Limit: LibraryBrowser.getDefaultPageSize()
|
Limit: LibraryBrowser.getDefaultPageSize()
|
||||||
},
|
},
|
||||||
view: libraryBrowser.getSavedView(key) || libraryBrowser.getDefaultItemsView('Poster', 'Poster')
|
view: libraryBrowser.getSavedView(key) || 'Poster'
|
||||||
};
|
};
|
||||||
|
|
||||||
pageData.query.ParentId = params.topParentId;
|
pageData.query.ParentId = params.topParentId;
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
Fields: "DateCreated,SyncInfo,ItemCounts",
|
Fields: "DateCreated,SyncInfo,ItemCounts",
|
||||||
StartIndex: 0
|
StartIndex: 0
|
||||||
},
|
},
|
||||||
view: libraryBrowser.getSavedView(key) || libraryBrowser.getDefaultItemsView('PosterCard', 'PosterCard')
|
view: libraryBrowser.getSavedView(key) || 'PosterCard'
|
||||||
};
|
};
|
||||||
|
|
||||||
pageData.query.ParentId = params.topParentId;
|
pageData.query.ParentId = params.topParentId;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
define(['datetime', 'userdataButtons', 'paper-icon-button-light'], function (datetime, userdataButtons) {
|
define(['datetime', 'userdataButtons', 'itemHelper', 'paper-icon-button-light'], function (datetime, userdataButtons, itemHelper) {
|
||||||
|
|
||||||
var currentPlayer;
|
var currentPlayer;
|
||||||
|
|
||||||
|
@ -505,13 +505,26 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getTextActionButton(item, text) {
|
||||||
|
|
||||||
|
if (!text) {
|
||||||
|
text = itemHelper.getDisplayName(item);
|
||||||
|
}
|
||||||
|
|
||||||
|
var html = '<button data-id="' + item.Id + '" data-type="' + item.Type + '" data-mediatype="' + item.MediaType + '" data-channelid="' + item.ChannelId + '" data-isfolder="' + item.IsFolder + '" type="button" class="itemAction textActionButton" data-action="link">';
|
||||||
|
html += text;
|
||||||
|
html += '</button>';
|
||||||
|
|
||||||
|
return html;
|
||||||
|
}
|
||||||
|
|
||||||
var currentImgUrl;
|
var currentImgUrl;
|
||||||
function updateNowPlayingInfo(state) {
|
function updateNowPlayingInfo(state) {
|
||||||
|
|
||||||
nowPlayingTextElement.innerHTML = MediaController.getNowPlayingNames(state.NowPlayingItem).map(function (nowPlayingName) {
|
nowPlayingTextElement.innerHTML = MediaController.getNowPlayingNames(state.NowPlayingItem).map(function (nowPlayingName) {
|
||||||
|
|
||||||
if (nowPlayingName.item) {
|
if (nowPlayingName.item) {
|
||||||
return '<div>' + LibraryBrowser.getTextActionButton(nowPlayingName.item, nowPlayingName.text) + '</div>';
|
return '<div>' + getTextActionButton(nowPlayingName.item, nowPlayingName.text) + '</div>';
|
||||||
}
|
}
|
||||||
|
|
||||||
return '<div>' + nowPlayingName.text + '</div>';
|
return '<div>' + nowPlayingName.text + '</div>';
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
StartIndex: 0,
|
StartIndex: 0,
|
||||||
Limit: 200
|
Limit: 200
|
||||||
},
|
},
|
||||||
view: LibraryBrowser.getSavedView(key) || LibraryBrowser.getDefaultItemsView('List', 'List')
|
view: LibraryBrowser.getSavedView(key) || 'List'
|
||||||
};
|
};
|
||||||
|
|
||||||
pageData.query.ParentId = LibraryMenu.getTopParentId();
|
pageData.query.ParentId = LibraryMenu.getTopParentId();
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
StartIndex: 0,
|
StartIndex: 0,
|
||||||
Limit: LibraryBrowser.getDefaultPageSize()
|
Limit: LibraryBrowser.getDefaultPageSize()
|
||||||
},
|
},
|
||||||
view: LibraryBrowser.getSavedView(key) || LibraryBrowser.getDefaultItemsView('PosterCard', 'PosterCard')
|
view: LibraryBrowser.getSavedView(key) || 'PosterCard'
|
||||||
};
|
};
|
||||||
|
|
||||||
pageData.query.ParentId = LibraryMenu.getTopParentId();
|
pageData.query.ParentId = LibraryMenu.getTopParentId();
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
Fields: "DateCreated,SyncInfo,ItemCounts,PrimaryImageAspectRatio",
|
Fields: "DateCreated,SyncInfo,ItemCounts,PrimaryImageAspectRatio",
|
||||||
StartIndex: 0
|
StartIndex: 0
|
||||||
},
|
},
|
||||||
view: libraryBrowser.getSavedView(key) || libraryBrowser.getDefaultItemsView('Thumb', 'Thumb')
|
view: libraryBrowser.getSavedView(key) || 'Thumb'
|
||||||
};
|
};
|
||||||
|
|
||||||
pageData.query.ParentId = params.topParentId;
|
pageData.query.ParentId = params.topParentId;
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
StartIndex: 0,
|
StartIndex: 0,
|
||||||
Limit: pageSize
|
Limit: pageSize
|
||||||
},
|
},
|
||||||
view: libraryBrowser.getSavedView(key) || libraryBrowser.getDefaultItemsView('Poster', 'Poster')
|
view: libraryBrowser.getSavedView(key) || 'Poster'
|
||||||
};
|
};
|
||||||
|
|
||||||
pageData.query.ParentId = params.topParentId;
|
pageData.query.ParentId = params.topParentId;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue