diff --git a/dashboard-ui/css/card.css b/dashboard-ui/css/card.css index a3ab52299d..4620a765f3 100644 --- a/dashboard-ui/css/card.css +++ b/dashboard-ui/css/card.css @@ -21,7 +21,6 @@ iron-list .card { top: 0; background-color: rgba(0, 0, 0, .85); z-index: 998; - display: none; line-height: initial; } diff --git a/dashboard-ui/scripts/librarybrowser.js b/dashboard-ui/scripts/librarybrowser.js index 18b7950124..97c77512bb 100644 --- a/dashboard-ui/scripts/librarybrowser.js +++ b/dashboard-ui/scripts/librarybrowser.js @@ -1,4 +1,4 @@ -define(['scrollHelper', 'appSettings', 'appStorage', 'apphost', 'datetime', 'jQuery', 'itemHelper', 'mediaInfo', 'scrollStyles'], function (scrollHelper, appSettings, appStorage, appHost, datetime, $, itemHelper, mediaInfo) { +define(['scrollHelper', 'appSettings', 'appStorage', 'apphost', 'datetime', 'itemHelper', 'mediaInfo', 'scrollStyles'], function (scrollHelper, appSettings, appStorage, appHost, datetime, itemHelper, mediaInfo) { function parentWithClass(elem, className) { @@ -381,7 +381,9 @@ if (window.location.href.toLowerCase().indexOf(url.toLowerCase()) != -1) { - afterNavigate.call($.mobile.activePage); + if (window.$) { + afterNavigate.call($.mobile.activePage); + } } else { pageClassOn('pagebeforeshow', 'page', afterNavigate); @@ -1689,8 +1691,12 @@ default: break; } - var div = $('
').appendTo(document.body); - var innerWidth = $('.cardImage', div).innerWidth(); + var div = document.createElement('div'); + div.classList.add('card'); + div.classList.add(shape + 'Card'); + div.innerHTML = '
'; + document.body.appendChild(div); + var innerWidth = div.querySelector('.cardImage').clientWidth; if (!innerWidth || isNaN(innerWidth)) { cache = false; @@ -2851,10 +2857,9 @@ })); if (!dispatchEvent) { - // TODO: remove jQuery - require(['jQuery'], function ($) { + if (window.$) { $(button).trigger('layoutchange', [id]); - }); + } } } }); @@ -3105,22 +3110,17 @@ markFavorite: function (link) { - // TODO: remove jQuery - require(['jQuery'], function ($) { - var id = link.getAttribute('data-itemid'); + var id = link.getAttribute('data-itemid'); - var $link = $(link); + var markAsFavorite = !link.classList.contains('btnUserItemRatingOn'); - var markAsFavorite = !$link.hasClass('btnUserItemRatingOn'); + ApiClient.updateFavoriteStatus(Dashboard.getCurrentUserId(), id, markAsFavorite); - ApiClient.updateFavoriteStatus(Dashboard.getCurrentUserId(), id, markAsFavorite); - - if (markAsFavorite) { - $link.addClass('btnUserItemRatingOn'); - } else { - $link.removeClass('btnUserItemRatingOn'); - } - }); + if (markAsFavorite) { + link.classList.add('btnUserItemRatingOn'); + } else { + link.classList.remove('btnUserItemRatingOn'); + } }, renderDetailImage: function (elem, item, editable, preferThumb) { diff --git a/dashboard-ui/scripts/librarylist.js b/dashboard-ui/scripts/librarylist.js index 12a6441fa6..df99c19e50 100644 --- a/dashboard-ui/scripts/librarylist.js +++ b/dashboard-ui/scripts/librarylist.js @@ -618,7 +618,7 @@ LibraryBrowser.playInExternalPlayer(itemId); break; case 'canceltimer': - deleteTimer(itemId, $(card).parents('.itemsContainer')[0]); + deleteTimer(itemId, parentWithClass(card, 'itemsContainer')); break; case 'share': require(['sharingmanager'], function (sharingManager) { @@ -629,10 +629,16 @@ }); break; case 'removefromplaylist': - $(card).parents('.itemsContainer').trigger('removefromplaylist', [playlistItemId]); + var itemsContainer = parentWithClass(card, 'itemsContainer'); + if (itemsContainer) { + $(itemsContainer).trigger('removefromplaylist', [playlistItemId]); + } break; case 'removefromcollection': - $(card).parents('.collectionItems').trigger('removefromcollection', [itemId]); + var itemsContainer = parentWithClass(card, 'itemsContainer'); + if (itemsContainer) { + $(card).parents('.collectionItems').trigger('removefromcollection', [itemId]); + } break; default: break; @@ -732,9 +738,11 @@ var userId = Dashboard.getCurrentUserId(); + var playedIndicator = card.querySelector('.playedIndicator'); + var playedIndicatorHtml = playedIndicator ? playedIndicator.innerHTML : null; var options = { - Limit: parseInt($('.playedIndicator', card).html() || '10'), + Limit: parseInt(playedIndicatorHtml || '10'), Fields: "PrimaryImageAspectRatio,DateCreated", ParentId: itemId, GroupItems: false @@ -823,13 +831,20 @@ innerElem.innerHTML = getOverlayHtml(item, user, card, commands); - $('.btnPlayItem', innerElem).on('click', onPlayItemButtonClick); - $('.btnPlayTrailer', innerElem).on('click', onTrailerButtonClick); - $('.btnMoreCommands', innerElem).on('click', onMoreButtonClick); + var btnPlayItem = innerElem.querySelector('.btnPlayItem'); + if (btnPlayItem) { + btnPlayItem.addEventListener('click', onPlayItemButtonClick); + } + var btnPlayTrailer = innerElem.querySelector('.btnPlayTrailer'); + if (btnPlayTrailer) { + btnPlayTrailer.addEventListener('click', onTrailerButtonClick); + } + var btnMoreCommands = innerElem.querySelector('.btnMoreCommands'); + if (btnMoreCommands) { + btnMoreCommands.addEventListener('click', onMoreButtonClick); + } }); - $(innerElem).show(); - slideUpToShow(innerElem); } @@ -1530,21 +1545,28 @@ } var progressHtml = LibraryBrowser.getItemProgressBarHtml(userData); + var cardProgress; if (progressHtml) { - var cardProgress = card.querySelector('.cardProgress'); + cardProgress = card.querySelector('.cardProgress'); if (!cardProgress) { cardProgress = document.createElement('div'); cardProgress.classList.add('cardProgress'); - $('.cardFooter', card).append(cardProgress); + var cardFooter = card.querySelector('.cardFooter'); + if (cardFooter) { + cardFooter.appendChild(cardProgress); + } } cardProgress.innerHTML = progressHtml; } else { - $('.cardProgress', card).remove(); + cardProgress = card.querySelector('.cardFooter'); + if (cardProgress) { + cardProgress.parentNode.removeChild(cardProgress); + } } } @@ -1585,10 +1607,6 @@ Events.on(apiClient, "websocketmessage", onWebSocketMessage); } - function clearRefreshTimes() { - $('.hasrefreshtime').removeClass('hasrefreshtime').removeAttr('data-lastrefresh'); - } - if (window.ApiClient) { initializeApiClient(window.ApiClient); } @@ -1597,7 +1615,4 @@ initializeApiClient(apiClient); }); - Events.on(ConnectionManager, 'localusersignedin', clearRefreshTimes); - Events.on(ConnectionManager, 'localusersignedout', clearRefreshTimes); - }); \ No newline at end of file diff --git a/dashboard-ui/scripts/site.js b/dashboard-ui/scripts/site.js index 5ab054c2c8..664f24c5a1 100644 --- a/dashboard-ui/scripts/site.js +++ b/dashboard-ui/scripts/site.js @@ -1166,7 +1166,11 @@ var Dashboard = { // The native app can handle a little bit more than safari if (AppInfo.isNativeApp) { - quality -= 10; + if (isBackdrop) { + quality -= 5; + } else { + quality -= 10; + } } else {