1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

update bulk menus

This commit is contained in:
Luke Pulverenti 2015-09-27 20:59:30 -04:00
parent 653293c3b1
commit 38fe3b9e39
4 changed files with 73 additions and 19 deletions

View file

@ -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();
}
});