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 {