diff --git a/src/components/cardbuilder/cardBuilder.js b/src/components/cardbuilder/cardBuilder.js index 1faacff764..0344300d39 100644 --- a/src/components/cardbuilder/cardBuilder.js +++ b/src/components/cardbuilder/cardBuilder.js @@ -1,5 +1,5 @@ -define(['datetime', 'imageLoader', 'connectionManager', 'itemHelper', 'focusManager', 'indicators', 'globalize', 'layoutManager', 'apphost', 'dom', 'browser', 'playbackManager', 'itemShortcuts', 'css!./card', 'paper-icon-button-light', 'programStyles'], - function (datetime, imageLoader, connectionManager, itemHelper, focusManager, indicators, globalize, layoutManager, appHost, dom, browser, playbackManager, itemShortcuts) { +define(['datetime', 'imageLoader', 'connectionManager', 'itemHelper', 'focusManager', 'indicators', 'globalize', 'layoutManager', 'apphost', 'dom', 'browser', 'playbackManager', 'itemShortcuts', 'scripts/imagehelper', 'css!./card', 'paper-icon-button-light', 'programStyles'], + function (datetime, imageLoader, connectionManager, itemHelper, focusManager, indicators, globalize, layoutManager, appHost, dom, browser, playbackManager, itemShortcuts, imageHelper) { 'use strict'; var devicePixelRatio = window.devicePixelRatio || 1; @@ -1546,28 +1546,8 @@ define(['datetime', 'imageLoader', 'connectionManager', 'itemHelper', 'focusMana } function getCardDefaultText(item, options) { - - var collectionType = item.CollectionType; - if (collectionType === 'livetv') { - return ''; - } - if (collectionType === 'movies') { - return ''; - } - if (collectionType === 'tvshows') { - return ''; - } - if (collectionType === 'homevideos' || collectionType === 'photos') { - return ''; - } - if (collectionType === 'music') { - return ''; - } - if (collectionType === 'musicvideos') { - return ''; - } - if (collectionType === 'books') { - return ''; + if (item.CollectionType) { + return '' + imageHelper.getLibraryIcon(item.CollectionType) + '' } if (item.Type === 'MusicAlbum') { return ''; diff --git a/src/components/homesections/homesections.js b/src/components/homesections/homesections.js index 141a558cd6..cf1456a12a 100644 --- a/src/components/homesections/homesections.js +++ b/src/components/homesections/homesections.js @@ -1,4 +1,4 @@ -define(['connectionManager', 'cardBuilder', 'appSettings', 'dom', 'apphost', 'layoutManager', 'imageLoader', 'globalize', 'itemShortcuts', 'itemHelper', 'appRouter', 'paper-icon-button-light', 'emby-itemscontainer', 'emby-scroller', 'emby-button', 'css!./homesections'], function (connectionManager, cardBuilder, appSettings, dom, appHost, layoutManager, imageLoader, globalize, itemShortcuts, itemHelper, appRouter) { +define(['connectionManager', 'cardBuilder', 'appSettings', 'dom', 'apphost', 'layoutManager', 'imageLoader', 'globalize', 'itemShortcuts', 'itemHelper', 'appRouter', 'scripts/imagehelper','paper-icon-button-light', 'emby-itemscontainer', 'emby-scroller', 'emby-button', 'css!./homesections'], function (connectionManager, cardBuilder, appSettings, dom, appHost, layoutManager, imageLoader, globalize, itemShortcuts, itemHelper, appRouter, imageHelper) { 'use strict'; function getDefaultSection(index) { @@ -156,49 +156,10 @@ define(['connectionManager', 'cardBuilder', 'appSettings', 'dom', 'apphost', 'la html += '
'; - // "My Library" backgrounds + // library card background images for (var i = 0, length = items.length; i < length; i++) { var item = items[i]; - var icon; - switch (item.CollectionType) { - case "movies": - icon = "video_library"; - break; - case "music": - icon = "library_music"; - break; - case "photos": - icon = "photo_library"; - break; - case "livetv": - icon = "live_tv"; - break; - case "tvshows": - icon = "tv"; - break; - case "trailers": - icon = "local_movies"; - break; - case "homevideos": - icon = "photo_library"; - break; - case "musicvideos": - icon = "music_video"; - break; - case "books": - icon = "library_books"; - break; - case "channels": - icon = "videocam"; - break; - case "playlists": - icon = "view_list"; - break; - default: - icon = "folder"; - break; - } - + var icon = imageHelper.getLibraryIcon(item.CollectionType); html += '' + icon + '' + item.Name + ''; } diff --git a/src/controllers/medialibrarypage.js b/src/controllers/medialibrarypage.js index 488ff94f4c..405d38bfa7 100644 --- a/src/controllers/medialibrarypage.js +++ b/src/controllers/medialibrarypage.js @@ -1,4 +1,4 @@ -define(["jQuery", "apphost", "scripts/taskbutton", "loading", "libraryMenu", "globalize", "dom", "indicators", "cardStyle", "emby-itemrefreshindicator"], function($, appHost, taskButton, loading, libraryMenu, globalize, dom, indicators) { +define(["jQuery", "apphost", "scripts/taskbutton", "loading", "libraryMenu", "globalize", "dom", "indicators", "scripts/imagehelper", "cardStyle", "emby-itemrefreshindicator"], function($, appHost, taskButton, loading, libraryMenu, globalize, dom, indicators, imageHelper) { "use strict"; function addVirtualFolder(page) { @@ -217,35 +217,6 @@ define(["jQuery", "apphost", "scripts/taskbutton", "loading", "libraryMenu", "gl }] } - function getIcon(type) { - switch (type) { - case "movies": - return "video_library"; - case "music": - return "library_music"; - case "photos": - return "photo_library"; - case "livetv": - return "live_tv"; - case "tvshows": - return "tv"; - case "trailers": - return "local_movies"; - case "homevideos": - return "photo_library"; - case "musicvideos": - return "video_library"; - case "books": - return "library_books"; - case "channels": - return "videocam"; - case "playlists": - return "view_list"; - default: - return "folder"; - } - } - function getVirtualFolderHtml(page, virtualFolder, index) { var html = ""; var style = ""; @@ -267,7 +238,7 @@ define(["jQuery", "apphost", "scripts/taskbutton", "loading", "libraryMenu", "gl hasCardImageContainer = true; } else if (!virtualFolder.showNameWithIcon) { html += '
'; - html += '' + (virtualFolder.icon || getIcon(virtualFolder.CollectionType)) + ""; + html += '' + (virtualFolder.icon || imageHelper.getLibraryIcon(virtualFolder.CollectionType)) + ""; hasCardImageContainer = true; } if (hasCardImageContainer) { @@ -278,7 +249,7 @@ define(["jQuery", "apphost", "scripts/taskbutton", "loading", "libraryMenu", "gl } if (!imgUrl && virtualFolder.showNameWithIcon) { html += '

'; - html += '' + (virtualFolder.icon || getIcon(virtualFolder.CollectionType)) + ""; + html += '' + (virtualFolder.icon || imageHelper.getLibraryIcon(virtualFolder.CollectionType)) + ""; virtualFolder.showNameWithIcon && (html += '
', html += virtualFolder.Name, html += "
"); html += "

"; } diff --git a/src/scripts/imagehelper.js b/src/scripts/imagehelper.js index 437a8b7aab..486a030a54 100644 --- a/src/scripts/imagehelper.js +++ b/src/scripts/imagehelper.js @@ -28,7 +28,37 @@ define(["browser"], function (browser) { } } + function getLibraryIcon(library) { + switch (library) { + case "movies": + return "video_library"; + case "music": + return "library_music"; + case "photos": + return "photo_library"; + case "livetv": + return "live_tv"; + case "tvshows": + return "tv"; + case "trailers": + return "local_movies"; + case "homevideos": + return "photo_library"; + case "musicvideos": + return "music_video"; + case "books": + return "library_books"; + case "channels": + return "videocam"; + case "playlists": + return "view_list"; + default: + return "folder"; + } + } + return { getDeviceIcon: getDeviceIcon, + getLibraryIcon: getLibraryIcon }; }); \ No newline at end of file diff --git a/src/scripts/librarymenu.js b/src/scripts/librarymenu.js index 59275c218c..89f672ca02 100644 --- a/src/scripts/librarymenu.js +++ b/src/scripts/librarymenu.js @@ -1,4 +1,4 @@ -define(["dom", "layoutManager", "inputManager", "connectionManager", "events", "viewManager", "libraryBrowser", "appRouter", "apphost", "playbackManager", "browser", "globalize", "paper-icon-button-light", "material-icons", "scrollStyles", "flexStyles"], function (dom, layoutManager, inputManager, connectionManager, events, viewManager, libraryBrowser, appRouter, appHost, playbackManager, browser, globalize) { +define(["dom", "layoutManager", "inputManager", "connectionManager", "events", "viewManager", "libraryBrowser", "appRouter", "apphost", "playbackManager", "browser", "globalize", "scripts/imagehelper", "paper-icon-button-light", "material-icons", "scrollStyles", "flexStyles"], function (dom, layoutManager, inputManager, connectionManager, events, viewManager, libraryBrowser, appRouter, appHost, playbackManager, browser, globalize, imageHelper) { "use strict"; function getCurrentApiClient() { @@ -532,48 +532,11 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", " html += globalize.translate("HeaderMedia"); html += ""; html += items.map(function (i) { - var icon = "folder"; + var icon = i.icon || imageHelper.getLibraryIcon(i.CollectionType); var itemId = i.Id; - - if ("channels" === i.CollectionType) { - itemId = "channels"; - } - else if ("livetv" === i.CollectionType) { - itemId = "livetv"; - } - else if ("music" === i.CollectionType) { - icon = "library_music"; - } - else if ("musicvideos" === i.CollectionType) { - icon = "music_video"; - } - else if ("books" === i.CollectionType) { - icon = "library_books"; - } - else if ("playlists" === i.CollectionType) { - icon = "view_list"; - } - else if ("movies" === i.CollectionType) { - icon = "video_library"; - } - else if ("homevideos" === i.CollectionType || "photos" === i.CollectionType) { - icon = "photo_library"; - } - else if ("channels" === i.CollectionType || "Channel" === i.Type) { - icon = "videocam"; - } - else if ("tvshows" === i.CollectionType) { - icon = "tv"; - } - else if ("livetv" === i.CollectionType) { - icon = "live_tv"; - } - icon = i.icon || icon; - if (i.onclick) { i.onclick; } - return '' + icon + '' + i.Name + ""; }).join(""); libraryMenuOptions.innerHTML = html;