diff --git a/dashboard-ui/bower_components/paper-behaviors/.bower.json b/dashboard-ui/bower_components/paper-behaviors/.bower.json index e4eac82735..dbdd848f9b 100644 --- a/dashboard-ui/bower_components/paper-behaviors/.bower.json +++ b/dashboard-ui/bower_components/paper-behaviors/.bower.json @@ -42,7 +42,7 @@ "tag": "v1.0.4", "commit": "a7ac7fbdb79b4d82416ec9b41613575386d0d226" }, - "_source": "git://github.com/polymerelements/paper-behaviors.git", + "_source": "git://github.com/PolymerElements/paper-behaviors.git", "_target": "^1.0.0", - "_originalSource": "polymerelements/paper-behaviors" + "_originalSource": "PolymerElements/paper-behaviors" } \ No newline at end of file diff --git a/dashboard-ui/css/librarybrowser.css b/dashboard-ui/css/librarybrowser.css index b73c583e04..024115d16b 100644 --- a/dashboard-ui/css/librarybrowser.css +++ b/dashboard-ui/css/librarybrowser.css @@ -1234,6 +1234,8 @@ span.itemCommunityRating:not(:empty) + .userDataIcons { font-size: 28px; vertical-align: middle; color: #fff; + display: inline-block; + padding-top: 1px; } .selectionCommandsPanel iron-icon { diff --git a/dashboard-ui/scripts/librarylist.js b/dashboard-ui/scripts/librarylist.js index 423a0b2619..0057fa89f0 100644 --- a/dashboard-ui/scripts/librarylist.js +++ b/dashboard-ui/scripts/librarylist.js @@ -979,12 +979,40 @@ } for (var i = 0, length = this.length; i < length; i++) { - initTapHold(this[i]); + initTapHoldMenus(this[i]); } return this; }; + function initTapHoldMenus(elem) { + + if (elem.classList.contains('itemsContainer')) { + initTapHold(elem); + return; + } + + var elems = elem.querySelectorAll('.itemsContainer'); + for (var i = 0, length = elems.length; i < length; i++) { + initTapHold(elems[i]); + } + } + + function initTapHold(element) { + + if (!LibraryBrowser.allowSwipe(element)) { + return; + } + + require(['hammer'], function (Hammer) { + + var hammertime = new Hammer(element); + + hammertime.on('press', onTapHold); + hammertime.on('pressup', onTapHoldUp); + }); + } + function disableEvent(e) { e.preventDefault(); return false; @@ -1018,21 +1046,6 @@ } } - function initTapHold(element) { - - if (!LibraryBrowser.allowSwipe(element)) { - return; - } - - require(['hammer'], function (Hammer) { - - var hammertime = new Hammer(element); - - hammertime.on('press', onTapHold); - hammertime.on('pressup', onTapHoldUp); - }); - } - function onItemSelectionPanelClick(e, itemSelectionPanel) { // toggle the checkbox, if it wasn't clicked on @@ -1155,7 +1168,7 @@ } function showMenuForSelectedItems(e) { - + Dashboard.getCurrentUser().done(function (user) { var items = []; @@ -1172,6 +1185,18 @@ ironIcon: 'playlist-add' }); + items.push({ + name: Globalize.translate('ButtonRefresh'), + id: 'refresh', + ironIcon: 'refresh' + }); + + items.push({ + name: Globalize.translate('ButtonSync'), + id: 'sync', + ironIcon: 'refresh' + }); + require(['actionsheet'], function () { ActionSheetElement.show({ @@ -1187,9 +1212,35 @@ case 'playlist': PlaylistManager.showPanel(selectedItems); break; + case 'refresh': + selectedItems.map(function (itemId) { + + // TODO: Create an endpoint to do this in bulk + ApiClient.refreshItem(itemId, { + + Recursive: true, + ImageRefreshMode: 'FullRefresh', + MetadataRefreshMode: 'FullRefresh', + ReplaceAllImages: false, + ReplaceAllMetadata: true + }); + + }); + break; + case 'sync': + SyncManager.showMenu({ + items: selectedItems.map(function (i) { + return { + Id: i + }; + }) + }); + break; default: break; } + + hideSelections(); } }); diff --git a/dashboard-ui/scripts/site.js b/dashboard-ui/scripts/site.js index 38c596e160..c6de3ab20b 100644 --- a/dashboard-ui/scripts/site.js +++ b/dashboard-ui/scripts/site.js @@ -1774,6 +1774,7 @@ var AppInfo = {}; AppInfo.enableMovieTrailersTab = true; } + AppInfo.enableAppLayouts = true; if (isCordova) { AppInfo.enableAppLayouts = true; AppInfo.hasKnownExternalPlayerSupport = true;