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": {},
|
||||
"ignore": [],
|
||||
"version": "1.2.72",
|
||||
"_release": "1.2.72",
|
||||
"version": "1.2.73",
|
||||
"_release": "1.2.73",
|
||||
"_resolution": {
|
||||
"type": "version",
|
||||
"tag": "1.2.72",
|
||||
"commit": "bd5ee371f1d5340371aedff26b6ad8b7912c66f3"
|
||||
"tag": "1.2.73",
|
||||
"commit": "f6722bdc762cd5cc372010f6c812dcd7bf8d89c5"
|
||||
},
|
||||
"_source": "https://github.com/MediaBrowser/emby-webcomponents.git",
|
||||
"_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;
|
||||
function sendRouteToViewManager(ctx, next, route, controllerFactory) {
|
||||
|
||||
if (isDummyBackToHome && route.type == 'home') {
|
||||
isDummyBackToHome = false;
|
||||
return;
|
||||
}
|
||||
|
||||
cancelCurrentLoadRequest();
|
||||
|
||||
var isBackNav = ctx.isBack;
|
||||
|
@ -203,7 +208,6 @@ define(['loading', 'viewManager', 'skinManager', 'pluginManager', 'backdrop', 'b
|
|||
return;
|
||||
}
|
||||
}
|
||||
|
||||
viewManager.tryRestoreView(currentRequest).then(function () {
|
||||
|
||||
// done
|
||||
|
@ -331,21 +335,21 @@ define(['loading', 'viewManager', 'skinManager', 'pluginManager', 'backdrop', 'b
|
|||
}
|
||||
|
||||
var isHandlingBackToDefault;
|
||||
var isDummyBackToHome;
|
||||
|
||||
function handleBackToDefault() {
|
||||
|
||||
isDummyBackToHome = true;
|
||||
skinManager.loadUserSkin();
|
||||
|
||||
if (isHandlingBackToDefault) {
|
||||
return;
|
||||
}
|
||||
|
||||
isHandlingBackToDefault = true;
|
||||
|
||||
// This must result in a call to either
|
||||
// skinManager.loadUserSkin();
|
||||
// Logout
|
||||
// Or exit app
|
||||
|
||||
skinManager.getCurrentSkin().showBackMenu().then(function () {
|
||||
|
||||
isHandlingBackToDefault = false;
|
||||
|
|
|
@ -30,14 +30,14 @@
|
|||
"web-component-tester": "polymer/web-component-tester#^3.4.0"
|
||||
},
|
||||
"ignore": [],
|
||||
"homepage": "https://github.com/PolymerElements/iron-a11y-announcer",
|
||||
"homepage": "https://github.com/polymerelements/iron-a11y-announcer",
|
||||
"_release": "1.0.4",
|
||||
"_resolution": {
|
||||
"type": "version",
|
||||
"tag": "v1.0.4",
|
||||
"commit": "5ce3eb8c4282bb53cd72e348858dc6be6b4c50b9"
|
||||
},
|
||||
"_source": "git://github.com/PolymerElements/iron-a11y-announcer.git",
|
||||
"_source": "git://github.com/polymerelements/iron-a11y-announcer.git",
|
||||
"_target": "^1.0.0",
|
||||
"_originalSource": "PolymerElements/iron-a11y-announcer"
|
||||
"_originalSource": "polymerelements/iron-a11y-announcer"
|
||||
}
|
|
@ -26,14 +26,14 @@
|
|||
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
|
||||
},
|
||||
"main": "iron-meta.html",
|
||||
"homepage": "https://github.com/polymerelements/iron-meta",
|
||||
"homepage": "https://github.com/PolymerElements/iron-meta",
|
||||
"_release": "1.1.1",
|
||||
"_resolution": {
|
||||
"type": "version",
|
||||
"tag": "v1.1.1",
|
||||
"commit": "e171ee234b482219c9514e6f9551df48ef48bd9f"
|
||||
},
|
||||
"_source": "git://github.com/polymerelements/iron-meta.git",
|
||||
"_source": "git://github.com/PolymerElements/iron-meta.git",
|
||||
"_target": "^1.0.0",
|
||||
"_originalSource": "polymerelements/iron-meta"
|
||||
"_originalSource": "PolymerElements/iron-meta"
|
||||
}
|
|
@ -34,6 +34,6 @@
|
|||
"commit": "11c987b2eb3c73b388a79fc8aaea8ca01624f514"
|
||||
},
|
||||
"_source": "git://github.com/Polymer/polymer.git",
|
||||
"_target": "^1.0.0",
|
||||
"_target": "^1.1.0",
|
||||
"_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) {
|
||||
|
||||
|
@ -1332,7 +1332,7 @@
|
|||
textlines.push(item.AlbumArtist || ' ');
|
||||
}
|
||||
|
||||
var displayName = LibraryBrowser.getPosterViewDisplayName(item);
|
||||
var displayName = itemHelper.getDisplayName(item);
|
||||
|
||||
if (options.showIndexNumber && item.IndexNumber != null) {
|
||||
displayName = item.IndexNumber + ". " + displayName;
|
||||
|
@ -1359,7 +1359,7 @@
|
|||
else if (item.Type == 'TvChannel') {
|
||||
|
||||
if (item.CurrentProgram) {
|
||||
textlines.push(LibraryBrowser.getPosterViewDisplayName(item.CurrentProgram));
|
||||
textlines.push(itemHelper.getDisplayName(item.CurrentProgram));
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
@ -2281,7 +2281,7 @@
|
|||
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) {
|
||||
html += "<div class='cardDefaultText'>";
|
||||
|
@ -2384,7 +2384,7 @@
|
|||
if (item.Type == 'TvChannel') {
|
||||
|
||||
if (item.CurrentProgram) {
|
||||
lines.push(LibraryBrowser.getPosterViewDisplayName(item.CurrentProgram));
|
||||
lines.push(itemHelper.getDisplayName(item.CurrentProgram));
|
||||
} else {
|
||||
lines.push('');
|
||||
}
|
||||
|
@ -2541,48 +2541,6 @@
|
|||
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) {
|
||||
|
||||
if (item.LocationType == "Offline") {
|
||||
|
@ -2735,7 +2693,9 @@
|
|||
|
||||
renderName: function (item, nameElem, linkToElement, context) {
|
||||
|
||||
var name = LibraryBrowser.getPosterViewDisplayName(item, false, false);
|
||||
var name = itemHelper.getDisplayName(item, {
|
||||
includeParentInfo: false
|
||||
});
|
||||
|
||||
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;
|
||||
|
||||
|
@ -81,7 +81,7 @@
|
|||
var isSquare = className.indexOf('square') != -1;
|
||||
|
||||
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;">';
|
||||
var logoHeight = isSmallItem || isMiniItem ? 20 : 26;
|
||||
|
|
|
@ -1790,6 +1790,7 @@ var AppInfo = {};
|
|||
focusManager: embyWebComponentsBowerPath + "/focusmanager",
|
||||
datetime: embyWebComponentsBowerPath + "/datetime",
|
||||
globalize: embyWebComponentsBowerPath + "/globalize",
|
||||
itemHelper: embyWebComponentsBowerPath + '/itemhelper',
|
||||
itemShortcuts: embyWebComponentsBowerPath + "/shortcuts",
|
||||
imageLoader: embyWebComponentsBowerPath + "/images/imagehelper"
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue