mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
rework collection editor
This commit is contained in:
parent
39d4daa2fb
commit
0e1c7cbb7a
21 changed files with 436 additions and 402 deletions
|
@ -893,7 +893,7 @@
|
|||
{ name: Globalize.translate('HeaderBooks'), type: 'Book' }
|
||||
];
|
||||
|
||||
renderCollectionItems(page, collectionItemTypes, result.Items, user, context);
|
||||
renderCollectionItems(page, item, collectionItemTypes, result.Items, user, context);
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -947,7 +947,10 @@
|
|||
});
|
||||
}
|
||||
|
||||
function renderCollectionItems(page, types, items, user) {
|
||||
function renderCollectionItems(page, parentItem, types, items, user) {
|
||||
|
||||
// First empty out existing content
|
||||
page.querySelector('.collectionItems').innerHTML = '';
|
||||
|
||||
for (var i = 0, length = types.length; i < length; i++) {
|
||||
|
||||
|
@ -960,7 +963,7 @@
|
|||
});
|
||||
|
||||
if (typeItems.length) {
|
||||
renderCollectionItemType(page, type, typeItems, user);
|
||||
renderCollectionItemType(page, parentItem, type, typeItems, user);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -977,17 +980,17 @@
|
|||
});
|
||||
|
||||
if (otherTypeItems.length) {
|
||||
renderCollectionItemType(page, otherType, otherTypeItems, user);
|
||||
renderCollectionItemType(page, parentItem, otherType, otherTypeItems, user);
|
||||
}
|
||||
|
||||
if (!items.length) {
|
||||
renderCollectionItemType(page, { name: Globalize.translate('HeaderItems') }, items, user);
|
||||
renderCollectionItemType(page, parentItem, { name: Globalize.translate('HeaderItems') }, items, user);
|
||||
}
|
||||
|
||||
$('.collectionItems', page).createCardMenus();
|
||||
}
|
||||
|
||||
function renderCollectionItemType(page, type, items, user, context) {
|
||||
function renderCollectionItemType(page, parentItem, type, items, user, context) {
|
||||
|
||||
var html = '';
|
||||
|
||||
|
@ -996,10 +999,6 @@
|
|||
html += '<h1>';
|
||||
html += '<span>' + type.name + '</span>';
|
||||
|
||||
if (user.Policy.IsAdministrator) {
|
||||
html += '<a class="detailSectionHeaderButton clearLink" style="margin-top:-8px;display:inline-block;" href="edititemmetadata.html?tab=2&id=' + currentItem.Id + '" title="' + Globalize.translate('ButtonEdit') + '" style="display:none;"><paper-icon-button icon="mode-edit"></paper-icon-button></a>';
|
||||
}
|
||||
|
||||
html += '</h1>';
|
||||
|
||||
html += '<div class="detailSectionContent">';
|
||||
|
@ -1013,7 +1012,10 @@
|
|||
centerText: true,
|
||||
context: context,
|
||||
lazy: true,
|
||||
showDetailsMenu: true
|
||||
showDetailsMenu: true,
|
||||
overlayMoreButton: true,
|
||||
showAddToCollection: false,
|
||||
showRemoveFromCollection: true
|
||||
});
|
||||
html += '</div>';
|
||||
|
||||
|
@ -1022,6 +1024,31 @@
|
|||
var collectionItems = page.querySelector('.collectionItems');
|
||||
$(collectionItems).append(html);
|
||||
ImageLoader.lazyChildren(collectionItems);
|
||||
|
||||
$(collectionItems).off('removefromcollection').on('removefromcollection', function (e, itemId) {
|
||||
|
||||
removeFromCollection(page, parentItem, [itemId], user, context);
|
||||
});
|
||||
}
|
||||
|
||||
function removeFromCollection(page, parentItem, itemIds, user, context) {
|
||||
|
||||
Dashboard.showLoadingMsg();
|
||||
|
||||
var url = ApiClient.getUrl("Collections/" + parentItem.Id + "/Items", {
|
||||
|
||||
Ids: itemIds.join(',')
|
||||
});
|
||||
|
||||
ApiClient.ajax({
|
||||
type: "DELETE",
|
||||
url: url
|
||||
|
||||
}).done(function () {
|
||||
|
||||
renderChildren(page, parentItem, user, context);
|
||||
Dashboard.hideLoadingMsg();
|
||||
});
|
||||
}
|
||||
|
||||
function renderUserDataIcons(page, item) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue