mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
use shared itemHelper
This commit is contained in:
parent
062e381521
commit
31cb9f8d01
9 changed files with 86 additions and 67 deletions
|
@ -16,12 +16,12 @@
|
||||||
},
|
},
|
||||||
"devDependencies": {},
|
"devDependencies": {},
|
||||||
"ignore": [],
|
"ignore": [],
|
||||||
"version": "1.2.72",
|
"version": "1.2.73",
|
||||||
"_release": "1.2.72",
|
"_release": "1.2.73",
|
||||||
"_resolution": {
|
"_resolution": {
|
||||||
"type": "version",
|
"type": "version",
|
||||||
"tag": "1.2.72",
|
"tag": "1.2.73",
|
||||||
"commit": "bd5ee371f1d5340371aedff26b6ad8b7912c66f3"
|
"commit": "f6722bdc762cd5cc372010f6c812dcd7bf8d89c5"
|
||||||
},
|
},
|
||||||
"_source": "https://github.com/MediaBrowser/emby-webcomponents.git",
|
"_source": "https://github.com/MediaBrowser/emby-webcomponents.git",
|
||||||
"_target": "^1.2.0",
|
"_target": "^1.2.0",
|
||||||
|
|
54
dashboard-ui/bower_components/emby-webcomponents/itemhelper.js
vendored
Normal file
54
dashboard-ui/bower_components/emby-webcomponents/itemhelper.js
vendored
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
define([], function () {
|
||||||
|
|
||||||
|
function getDisplayName(item, options) {
|
||||||
|
|
||||||
|
if (!item) {
|
||||||
|
throw new Error("null item passed into getDisplayName");
|
||||||
|
}
|
||||||
|
|
||||||
|
options = options || {};
|
||||||
|
|
||||||
|
var name = item.EpisodeTitle || item.Name || '';
|
||||||
|
|
||||||
|
if (item.Type == "TvChannel") {
|
||||||
|
|
||||||
|
if (item.Number) {
|
||||||
|
return item.Number + ' ' + name;
|
||||||
|
}
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
if (/*options.isInlineSpecial &&*/ item.Type == "Episode" && item.ParentIndexNumber == 0) {
|
||||||
|
|
||||||
|
name = Globalize.translate('core#ValueSpecialEpisodeName', name);
|
||||||
|
|
||||||
|
} else if ((item.Type == "Episode" || item.Type == 'Program') && item.IndexNumber != null && item.ParentIndexNumber != null) {
|
||||||
|
|
||||||
|
var displayIndexNumber = item.IndexNumber;
|
||||||
|
|
||||||
|
var number = "E" + displayIndexNumber;
|
||||||
|
|
||||||
|
if (options.includeParentInfo !== false) {
|
||||||
|
number = "S" + item.ParentIndexNumber + ", " + number;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (item.IndexNumberEnd) {
|
||||||
|
|
||||||
|
displayIndexNumber = item.IndexNumberEnd;
|
||||||
|
number += "-" + displayIndexNumber;
|
||||||
|
}
|
||||||
|
|
||||||
|
name = number + " - " + name;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if (item.EpisodeTitle) {
|
||||||
|
name = item.Name + ' ' + name;
|
||||||
|
}
|
||||||
|
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
getDisplayName: getDisplayName
|
||||||
|
};
|
||||||
|
});
|
|
@ -167,6 +167,11 @@ define(['loading', 'viewManager', 'skinManager', 'pluginManager', 'backdrop', 'b
|
||||||
var currentViewLoadRequest;
|
var currentViewLoadRequest;
|
||||||
function sendRouteToViewManager(ctx, next, route, controllerFactory) {
|
function sendRouteToViewManager(ctx, next, route, controllerFactory) {
|
||||||
|
|
||||||
|
if (isDummyBackToHome && route.type == 'home') {
|
||||||
|
isDummyBackToHome = false;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
cancelCurrentLoadRequest();
|
cancelCurrentLoadRequest();
|
||||||
|
|
||||||
var isBackNav = ctx.isBack;
|
var isBackNav = ctx.isBack;
|
||||||
|
@ -203,7 +208,6 @@ define(['loading', 'viewManager', 'skinManager', 'pluginManager', 'backdrop', 'b
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
viewManager.tryRestoreView(currentRequest).then(function () {
|
viewManager.tryRestoreView(currentRequest).then(function () {
|
||||||
|
|
||||||
// done
|
// done
|
||||||
|
@ -331,21 +335,21 @@ define(['loading', 'viewManager', 'skinManager', 'pluginManager', 'backdrop', 'b
|
||||||
}
|
}
|
||||||
|
|
||||||
var isHandlingBackToDefault;
|
var isHandlingBackToDefault;
|
||||||
|
var isDummyBackToHome;
|
||||||
|
|
||||||
function handleBackToDefault() {
|
function handleBackToDefault() {
|
||||||
|
|
||||||
|
isDummyBackToHome = true;
|
||||||
skinManager.loadUserSkin();
|
skinManager.loadUserSkin();
|
||||||
|
|
||||||
if (isHandlingBackToDefault) {
|
if (isHandlingBackToDefault) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
isHandlingBackToDefault = true;
|
|
||||||
|
|
||||||
// This must result in a call to either
|
// This must result in a call to either
|
||||||
// skinManager.loadUserSkin();
|
// skinManager.loadUserSkin();
|
||||||
// Logout
|
// Logout
|
||||||
// Or exit app
|
// Or exit app
|
||||||
|
|
||||||
skinManager.getCurrentSkin().showBackMenu().then(function () {
|
skinManager.getCurrentSkin().showBackMenu().then(function () {
|
||||||
|
|
||||||
isHandlingBackToDefault = false;
|
isHandlingBackToDefault = false;
|
||||||
|
|
|
@ -30,14 +30,14 @@
|
||||||
"web-component-tester": "polymer/web-component-tester#^3.4.0"
|
"web-component-tester": "polymer/web-component-tester#^3.4.0"
|
||||||
},
|
},
|
||||||
"ignore": [],
|
"ignore": [],
|
||||||
"homepage": "https://github.com/PolymerElements/iron-a11y-announcer",
|
"homepage": "https://github.com/polymerelements/iron-a11y-announcer",
|
||||||
"_release": "1.0.4",
|
"_release": "1.0.4",
|
||||||
"_resolution": {
|
"_resolution": {
|
||||||
"type": "version",
|
"type": "version",
|
||||||
"tag": "v1.0.4",
|
"tag": "v1.0.4",
|
||||||
"commit": "5ce3eb8c4282bb53cd72e348858dc6be6b4c50b9"
|
"commit": "5ce3eb8c4282bb53cd72e348858dc6be6b4c50b9"
|
||||||
},
|
},
|
||||||
"_source": "git://github.com/PolymerElements/iron-a11y-announcer.git",
|
"_source": "git://github.com/polymerelements/iron-a11y-announcer.git",
|
||||||
"_target": "^1.0.0",
|
"_target": "^1.0.0",
|
||||||
"_originalSource": "PolymerElements/iron-a11y-announcer"
|
"_originalSource": "polymerelements/iron-a11y-announcer"
|
||||||
}
|
}
|
|
@ -26,14 +26,14 @@
|
||||||
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
|
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
|
||||||
},
|
},
|
||||||
"main": "iron-meta.html",
|
"main": "iron-meta.html",
|
||||||
"homepage": "https://github.com/polymerelements/iron-meta",
|
"homepage": "https://github.com/PolymerElements/iron-meta",
|
||||||
"_release": "1.1.1",
|
"_release": "1.1.1",
|
||||||
"_resolution": {
|
"_resolution": {
|
||||||
"type": "version",
|
"type": "version",
|
||||||
"tag": "v1.1.1",
|
"tag": "v1.1.1",
|
||||||
"commit": "e171ee234b482219c9514e6f9551df48ef48bd9f"
|
"commit": "e171ee234b482219c9514e6f9551df48ef48bd9f"
|
||||||
},
|
},
|
||||||
"_source": "git://github.com/polymerelements/iron-meta.git",
|
"_source": "git://github.com/PolymerElements/iron-meta.git",
|
||||||
"_target": "^1.0.0",
|
"_target": "^1.0.0",
|
||||||
"_originalSource": "polymerelements/iron-meta"
|
"_originalSource": "PolymerElements/iron-meta"
|
||||||
}
|
}
|
|
@ -34,6 +34,6 @@
|
||||||
"commit": "11c987b2eb3c73b388a79fc8aaea8ca01624f514"
|
"commit": "11c987b2eb3c73b388a79fc8aaea8ca01624f514"
|
||||||
},
|
},
|
||||||
"_source": "git://github.com/Polymer/polymer.git",
|
"_source": "git://github.com/Polymer/polymer.git",
|
||||||
"_target": "^1.0.0",
|
"_target": "^1.1.0",
|
||||||
"_originalSource": "Polymer/polymer"
|
"_originalSource": "Polymer/polymer"
|
||||||
}
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
define(['playlistManager', 'appSettings', 'appStorage', 'apphost', 'datetime', 'jQuery', 'scrollStyles'], function (playlistManager, appSettings, appStorage, appHost, datetime, $) {
|
define(['playlistManager', 'appSettings', 'appStorage', 'apphost', 'datetime', 'jQuery', 'itemHelper', 'scrollStyles'], function (playlistManager, appSettings, appStorage, appHost, datetime, $, itemHelper) {
|
||||||
|
|
||||||
function parentWithClass(elem, className) {
|
function parentWithClass(elem, className) {
|
||||||
|
|
||||||
|
@ -695,7 +695,7 @@
|
||||||
return commands;
|
return commands;
|
||||||
},
|
},
|
||||||
|
|
||||||
canIdentify: function(user, itemType) {
|
canIdentify: function (user, itemType) {
|
||||||
|
|
||||||
if (itemType == "Movie" ||
|
if (itemType == "Movie" ||
|
||||||
itemType == "Trailer" ||
|
itemType == "Trailer" ||
|
||||||
|
@ -1332,7 +1332,7 @@
|
||||||
textlines.push(item.AlbumArtist || ' ');
|
textlines.push(item.AlbumArtist || ' ');
|
||||||
}
|
}
|
||||||
|
|
||||||
var displayName = LibraryBrowser.getPosterViewDisplayName(item);
|
var displayName = itemHelper.getDisplayName(item);
|
||||||
|
|
||||||
if (options.showIndexNumber && item.IndexNumber != null) {
|
if (options.showIndexNumber && item.IndexNumber != null) {
|
||||||
displayName = item.IndexNumber + ". " + displayName;
|
displayName = item.IndexNumber + ". " + displayName;
|
||||||
|
@ -1359,7 +1359,7 @@
|
||||||
else if (item.Type == 'TvChannel') {
|
else if (item.Type == 'TvChannel') {
|
||||||
|
|
||||||
if (item.CurrentProgram) {
|
if (item.CurrentProgram) {
|
||||||
textlines.push(LibraryBrowser.getPosterViewDisplayName(item.CurrentProgram));
|
textlines.push(itemHelper.getDisplayName(item.CurrentProgram));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
@ -2281,7 +2281,7 @@
|
||||||
html += "</div>";
|
html += "</div>";
|
||||||
}
|
}
|
||||||
|
|
||||||
var name = options.showTitle == 'auto' && !item.IsFolder && item.MediaType == 'Photo' ? '' : LibraryBrowser.getPosterViewDisplayName(item, options.displayAsSpecial);
|
var name = options.showTitle == 'auto' && !item.IsFolder && item.MediaType == 'Photo' ? '' : itemHelper.getDisplayName(item);
|
||||||
|
|
||||||
if (!imgUrl && !showTitle) {
|
if (!imgUrl && !showTitle) {
|
||||||
html += "<div class='cardDefaultText'>";
|
html += "<div class='cardDefaultText'>";
|
||||||
|
@ -2384,7 +2384,7 @@
|
||||||
if (item.Type == 'TvChannel') {
|
if (item.Type == 'TvChannel') {
|
||||||
|
|
||||||
if (item.CurrentProgram) {
|
if (item.CurrentProgram) {
|
||||||
lines.push(LibraryBrowser.getPosterViewDisplayName(item.CurrentProgram));
|
lines.push(itemHelper.getDisplayName(item.CurrentProgram));
|
||||||
} else {
|
} else {
|
||||||
lines.push('');
|
lines.push('');
|
||||||
}
|
}
|
||||||
|
@ -2541,48 +2541,6 @@
|
||||||
return day;
|
return day;
|
||||||
},
|
},
|
||||||
|
|
||||||
getPosterViewDisplayName: function (item, displayAsSpecial, includeParentInfo) {
|
|
||||||
|
|
||||||
if (!item) {
|
|
||||||
throw new Error("null item passed into getPosterViewDisplayName");
|
|
||||||
}
|
|
||||||
|
|
||||||
var name = item.EpisodeTitle || item.Name || '';
|
|
||||||
|
|
||||||
if (item.Type == "TvChannel") {
|
|
||||||
|
|
||||||
if (item.Number) {
|
|
||||||
return item.Number + ' ' + name;
|
|
||||||
}
|
|
||||||
return name;
|
|
||||||
}
|
|
||||||
if (displayAsSpecial && item.Type == "Episode" && item.ParentIndexNumber == 0) {
|
|
||||||
|
|
||||||
name = Globalize.translate('ValueSpecialEpisodeName', name);
|
|
||||||
|
|
||||||
} else if (item.Type == "Episode" && item.IndexNumber != null && item.ParentIndexNumber != null) {
|
|
||||||
|
|
||||||
var displayIndexNumber = item.IndexNumber;
|
|
||||||
|
|
||||||
var number = "E" + displayIndexNumber;
|
|
||||||
|
|
||||||
if (includeParentInfo !== false) {
|
|
||||||
number = "S" + item.ParentIndexNumber + ", " + number;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (item.IndexNumberEnd) {
|
|
||||||
|
|
||||||
displayIndexNumber = item.IndexNumberEnd;
|
|
||||||
number += "-" + displayIndexNumber;
|
|
||||||
}
|
|
||||||
|
|
||||||
name = number + " - " + name;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
return name;
|
|
||||||
},
|
|
||||||
|
|
||||||
getOfflineIndicatorHtml: function (item) {
|
getOfflineIndicatorHtml: function (item) {
|
||||||
|
|
||||||
if (item.LocationType == "Offline") {
|
if (item.LocationType == "Offline") {
|
||||||
|
@ -2735,7 +2693,9 @@
|
||||||
|
|
||||||
renderName: function (item, nameElem, linkToElement, context) {
|
renderName: function (item, nameElem, linkToElement, context) {
|
||||||
|
|
||||||
var name = LibraryBrowser.getPosterViewDisplayName(item, false, false);
|
var name = itemHelper.getDisplayName(item, {
|
||||||
|
includeParentInfo: false
|
||||||
|
});
|
||||||
|
|
||||||
Dashboard.setPageTitle(name);
|
Dashboard.setPageTitle(name);
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
define(['appSettings', 'appStorage', 'libraryBrowser', 'apphost', 'jQuery'], function (appSettings, appStorage, LibraryBrowser, appHost, $) {
|
define(['appSettings', 'appStorage', 'libraryBrowser', 'apphost', 'jQuery', 'itemHelper'], function (appSettings, appStorage, LibraryBrowser, appHost, $, itemHelper) {
|
||||||
|
|
||||||
var showOverlayTimeout;
|
var showOverlayTimeout;
|
||||||
|
|
||||||
|
@ -81,7 +81,7 @@
|
||||||
var isSquare = className.indexOf('square') != -1;
|
var isSquare = className.indexOf('square') != -1;
|
||||||
|
|
||||||
var parentName = isSmallItem || isMiniItem || isPortrait ? null : item.SeriesName;
|
var parentName = isSmallItem || isMiniItem || isPortrait ? null : item.SeriesName;
|
||||||
var name = LibraryBrowser.getPosterViewDisplayName(item, true);
|
var name = itemHelper.getDisplayName(item);
|
||||||
|
|
||||||
html += '<div style="margin-bottom:1em;">';
|
html += '<div style="margin-bottom:1em;">';
|
||||||
var logoHeight = isSmallItem || isMiniItem ? 20 : 26;
|
var logoHeight = isSmallItem || isMiniItem ? 20 : 26;
|
||||||
|
|
|
@ -1790,6 +1790,7 @@ var AppInfo = {};
|
||||||
focusManager: embyWebComponentsBowerPath + "/focusmanager",
|
focusManager: embyWebComponentsBowerPath + "/focusmanager",
|
||||||
datetime: embyWebComponentsBowerPath + "/datetime",
|
datetime: embyWebComponentsBowerPath + "/datetime",
|
||||||
globalize: embyWebComponentsBowerPath + "/globalize",
|
globalize: embyWebComponentsBowerPath + "/globalize",
|
||||||
|
itemHelper: embyWebComponentsBowerPath + '/itemhelper',
|
||||||
itemShortcuts: embyWebComponentsBowerPath + "/shortcuts",
|
itemShortcuts: embyWebComponentsBowerPath + "/shortcuts",
|
||||||
imageLoader: embyWebComponentsBowerPath + "/images/imagehelper"
|
imageLoader: embyWebComponentsBowerPath + "/images/imagehelper"
|
||||||
};
|
};
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue