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:
parent
653293c3b1
commit
38fe3b9e39
4 changed files with 73 additions and 19 deletions
|
@ -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();
|
||||
}
|
||||
});
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue