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

rework metadata manager tabs

This commit is contained in:
Luke Pulverenti 2015-07-14 16:29:51 -04:00
parent f5fb6ccca5
commit a7ade97b44
19 changed files with 672 additions and 824 deletions

View file

@ -2,14 +2,6 @@
var currentItem;
function updateTabs(page, item) {
var query = MetadataEditor.getEditQueryString(item);
$('#btnEditMetadata', page).attr('href', 'edititemmetadata.html?' + query);
$('#btnEditImages', page).attr('href', 'edititemimages.html?' + query);
}
function reload(page) {
Dashboard.showLoadingMsg();
@ -22,8 +14,6 @@
LibraryBrowser.renderName(item, $('.itemName', page), true);
updateTabs(page, item);
reloadTitles(page, item);
});
}
@ -192,7 +182,7 @@
Dashboard.hideLoadingMsg();
$('.popupIdentify', page).popup('close');
$('.popupIdentifyCollection', page).popup('close');
reload(page);
@ -237,29 +227,14 @@
return false;
}
$(document).on('pageinitdepends', "#editCollectionTitlesPage", function () {
$(document).on('pageinitdepends', "#editItemMetadataPage", function () {
var page = this;
$('.libraryTree', page).on('itemclicked', function (event, data) {
if (data.id != currentItem.Id) {
MetadataEditor.currentItemId = data.id;
MetadataEditor.currentItemType = data.itemType;
//Dashboard.navigate('edititemmetadata.html?id=' + data.id);
//$.mobile.urlHistory.ignoreNextHashChange = true;
window.location.hash = 'editItemImagesPage?id=' + data.id;
reload(page);
}
});
$('#btnAddItem', page).on('click', function () {
var popup = $('.popupIdentify', page).popup('open');
var popup = $('.popupIdentifyCollection', page).popup('open');
$('#txtLookupName', popup).val('');
$('.collectionItemSearchResults', popup).empty();
@ -279,17 +254,14 @@
$('.collectionItemSearchForm').off('submit', onSearchFormSubmit).on('submit', onSearchFormSubmit);
}).on('pagebeforeshowready', "#editCollectionTitlesPage", function () {
$(page.querySelector('neon-animated-pages')).on('tabchange', function () {
var page = this;
if (parseInt(this.selected) == 2) {
var tabContent = page.querySelector('.collectionItemsTabContent');
reload(page);
}).on('pagebeforehide', "#editCollectionTitlesPage", function () {
var page = this;
currentItem = null;
reload(tabContent);
}
});
});
})(jQuery, document, window, window.FileReader, escape);

View file

@ -8,15 +8,6 @@
var browsableImageType = 'Primary';
var selectedProvider;
function updateTabs(page, item) {
var query = MetadataEditor.getEditQueryString(item);
$('#btnEditMetadata', page).attr('href', 'edititemmetadata.html?' + query);
$('#btnEditSubtitles', page).attr('href', 'edititemsubtitles.html?' + query);
$('#btnEditCollectionTitles', page).attr('href', 'editcollectionitems.html?' + query);
}
function getBaseRemoteOptions() {
var options = {};
@ -245,20 +236,6 @@
LibraryBrowser.renderName(item, $('.itemName', page), true);
updateTabs(page, item);
if (item.Type == "BoxSet") {
$('#btnEditCollectionTitles', page).show();
} else {
$('#btnEditCollectionTitles', page).hide();
}
if (item.MediaType == "Video" && item.LocationType == "FileSystem" && item.Type !== 'TvChannel') {
$('#btnEditSubtitles', page).show();
} else {
$('#btnEditSubtitles', page).hide();
}
ApiClient.getRemoteImageProviders(getBaseRemoteOptions()).done(function (providers) {
if (providers.length) {
@ -520,25 +497,10 @@
window.EditItemImagesPage = new editItemImages();
$(document).on('pageinitdepends', "#editItemImagesPage", function () {
$(document).on('pageinitdepends', "#editItemMetadataPage", function () {
var page = this;
$('.libraryTree', page).on('itemclicked', function (event, data) {
if (data.id != currentItem.Id) {
MetadataEditor.currentItemId = data.id;
MetadataEditor.currentItemType = data.itemType;
//Dashboard.navigate('edititemmetadata.html?id=' + data.id);
//$.mobile.urlHistory.ignoreNextHashChange = true;
window.location.hash = 'editItemImagesPage?id=' + data.id;
reload(page);
}
});
$('#selectBrowsableImageType', page).on('change', function () {
browsableImageType = this.value;
@ -578,12 +540,6 @@
reloadBrowsableImages(page);
});
}).on('pageshowready', "#editItemImagesPage", function () {
var page = this;
reload(page);
$('#uploadImage', page).on("change", function () {
setFiles(page, this.files);
});
@ -605,15 +561,14 @@
return false;
});
}).on('pagebeforehide', "#editItemImagesPage", function () {
$(page.querySelector('neon-animated-pages')).on('tabchange', function () {
var page = this;
if (parseInt(this.selected) == 3) {
var tabContent = page.querySelector('.imageEditorTab');
currentItem = null;
$('#uploadImage', page).off("change");
$("#imageDropZone", page).off('dragover').off('drop');
reload(tabContent);
}
});
});
})(jQuery, document, window, window.FileReader, escape);

View file

@ -4,15 +4,6 @@
var currentSearchResult;
var metadataEditorInfo;
function updateTabs(page, item) {
var query = MetadataEditor.getEditQueryString(item);
$('#btnEditImages', page).attr('href', 'edititemimages.html?' + query);
$('#btnEditSubtitles', page).attr('href', 'edititemsubtitles.html?' + query);
$('#btnEditCollectionTitles', page).attr('href', 'editcollectionitems.html?' + query);
}
function reload(page) {
unbindItemChanged(page);
@ -50,21 +41,19 @@
LibraryBrowser.renderName(item, $('.itemName', page), true);
updateTabs(page, item);
setFieldVisibilities(page, item);
fillItemInfo(page, item, metadataEditorInfo.ParentalRatingOptions);
if (item.Type == "BoxSet") {
$('#btnEditCollectionTitles', page).show();
$('.collectionItemsTabButton', page).show();
} else {
$('#btnEditCollectionTitles', page).hide();
$('.collectionItemsTabButton', page).hide();
}
if (item.MediaType == "Video" && item.LocationType == "FileSystem" && item.Type !== 'TvChannel') {
$('#btnEditSubtitles', page).show();
$('.subtitleTabButton', page).show();
} else {
$('#btnEditSubtitles', page).hide();
$('.subtitleTabButton', page).hide();
}
if (item.MediaType == 'Photo') {
@ -85,20 +74,8 @@
$('#fldTagline', page).hide();
}
Dashboard.getCurrentUser().done(function (user) {
var moreCommands = LibraryBrowser.getMoreCommands(item, user);
if (moreCommands.indexOf('delete') != -1) {
$('#fldDelete', page).show();
} else {
$('#fldDelete', page).hide();
}
Dashboard.hideLoadingMsg();
bindItemChanged(page);
});
Dashboard.hideLoadingMsg();
bindItemChanged(page);
});
}
@ -1447,7 +1424,7 @@
//$.mobile.urlHistory.ignoreNextHashChange = true;
window.location.hash = 'editItemMetadataPage?id=' + data.id;
reload(page);
$(page.querySelector('neon-animated-pages')).trigger('tabchange');
}
});
@ -1462,14 +1439,34 @@
$('.popupAdvancedRefreshForm').off('submit', EditItemMetadataPage.onRefreshFormSubmit).on('submit', EditItemMetadataPage.onRefreshFormSubmit);
$('.identifyOptionsForm').off('submit', EditItemMetadataPage.onIdentificationOptionsSubmit).on('submit', EditItemMetadataPage.onIdentificationOptionsSubmit);
$(page.querySelector('paper-tabs')).on('iron-select', function () {
page.querySelector('neon-animated-pages').selected = this.selected;
});
var tabs = page.querySelector('paper-tabs');
var pages = page.querySelector('neon-animated-pages');
configurePaperLibraryTabs(page, tabs, pages);
$(tabs).on('iron-select', function () {
var selected = this.selected;
page.querySelector('neon-animated-pages').selected = selected;
});
$(pages).on('tabchange', function () {
loadTab(page, parseInt(this.selected));
});
}).on('pageshowready', "#editItemMetadataPage", function () {
var page = this;
reload(page);
$(LibraryBrowser).on('itemdeleting', onItemDeleted);
page.querySelector('paper-tabs').selected = parseInt(getParameterByName('tab') || '0');
page.querySelector('paper-tabs').selected = 0;
}).on('pagebeforehide', "#editItemMetadataPage", function () {
var page = this;
@ -1479,5 +1476,35 @@
});
function configurePaperLibraryTabs(ownerpage, tabs, pages) {
tabs.hideScrollButtons = true;
$(ownerpage).on('pagebeforeshowready', LibraryBrowser.onTabbedPageBeforeShowReady);
$(pages).on('iron-select', function () {
// When transition animations are used, add a content loading delay to allow the animations to finish
// Otherwise with both operations happening at the same time, it can cause the animation to not run at full speed.
var delay = 500;
var pgs = this;
setTimeout(function () {
$(pgs).trigger('tabchange');
}, delay);
});
}
function loadTab(page, index) {
switch (index) {
case 0:
reload(page);
break;
default:
break;
}
}
})(jQuery, document, window);

View file

@ -2,14 +2,6 @@
var currentItem;
function updateTabs(page, item) {
var query = MetadataEditor.getEditQueryString(item);
$('#btnEditMetadata', page).attr('href', 'edititemmetadata.html?' + query);
$('#btnEditImages', page).attr('href', 'edititemimages.html?' + query);
}
function showLocalSubtitles(page, index) {
Dashboard.showLoadingMsg();
@ -273,28 +265,12 @@
LibraryBrowser.renderName(item, $('.itemName', page), true);
updateTabs(page, item);
fillSubtitleList(page, item);
Dashboard.hideLoadingMsg();
});
}
function onWebSocketMessageReceived(e, data) {
var msg = data;
if (msg.MessageType === "LibraryChanged") {
if (msg.Data.ItemsUpdated.indexOf(currentItem.Id) != -1) {
Logger.log('Item updated - reloading subtitles');
reload($.mobile.activePage);
}
}
}
function onSearchSubmit() {
var form = this;
@ -305,51 +281,30 @@
return false;
}
$(document).on('pageinitdepends', "#editItemSubtitlesPage", function () {
$(document).on('pageinitdepends', "#editItemMetadataPage", function () {
var page = this;
$('.libraryTree', page).on('itemclicked', function (event, data) {
if (data.id != currentItem.Id) {
MetadataEditor.currentItemId = data.id;
MetadataEditor.currentItemType = data.itemType;
//Dashboard.navigate('edititemmetadata.html?id=' + data.id);
//$.mobile.urlHistory.ignoreNextHashChange = true;
window.location.hash = 'editItemSubtitlesPage?id=' + data.id;
reload(page);
}
});
$('.subtitleSearchForm').off('submit', onSearchSubmit).on('submit', onSearchSubmit);
}).on('pageshowready', "#editItemSubtitlesPage", function () {
$(page.querySelector('neon-animated-pages')).on('tabchange', function () {
var page = this;
if (parseInt(this.selected) == 1) {
var tabContent = page.querySelector('.subtitleTabContent');
$('.subtitleResults', page).empty();
$('.subtitleResults', tabContent).empty();
Dashboard.showLoadingMsg();
Dashboard.showLoadingMsg();
reload(page);
reload(tabContent);
ApiClient.getCultures().done(function (languages) {
ApiClient.getCultures().done(function (languages) {
fillLanguages(page, languages);
fillLanguages(tabContent, languages);
});
}
});
$(ApiClient).on("websocketmessage", onWebSocketMessageReceived);
}).on('pagebeforehide', "#editItemSubtitlesPage", function () {
var page = this;
currentItem = null;
$(ApiClient).off("websocketmessage", onWebSocketMessageReceived);
});
})(jQuery, window, document);

View file

@ -132,11 +132,12 @@
$(document).on('pageinitdepends', "#indexPage", function () {
var page = this;
var tabContent = page.querySelector('.homeUpcomingTabContent');
$(page.querySelector('neon-animated-pages')).on('tabchange', function () {
if (parseInt(this.selected) == 3) {
var tabContent = page.querySelector('.homeUpcomingTabContent');
if (LibraryBrowser.needsRefresh(tabContent)) {
loadUpcoming(tabContent);
}

View file

@ -211,7 +211,9 @@
var page = this;
var tabs = page.querySelector('paper-tabs');
LibraryBrowser.configurePaperLibraryTabs(page, tabs, page.querySelector('neon-animated-pages'));
var pages = page.querySelector('neon-animated-pages');
LibraryBrowser.configurePaperLibraryTabs(page, tabs, pages);
$(tabs).on('iron-select', function () {
var selected = this.selected;
@ -229,7 +231,7 @@
}
});
$(page.querySelector('neon-animated-pages')).on('tabchange', function () {
$(pages).on('tabchange', function () {
loadTab(page, parseInt(this.selected));
});

View file

@ -88,7 +88,7 @@
$('.btnSync', page).addClass('hide');
}
var editImagesHref = user.Policy.IsAdministrator ? 'edititemimages.html' + editQuery : null;
var editImagesHref = user.Policy.IsAdministrator ? 'edititemmetadata.html' + (editQuery + "&tab=3") : null;
$('#itemImage', page).html(LibraryBrowser.getDetailImageHtml(item, editImagesHref, true));

View file

@ -133,7 +133,7 @@
function renderImage(page, item, user) {
var imageHref = user.Policy.IsAdministrator && item.MediaType != 'Photo' ? "edititemimages.html?id=" + item.Id : "";
var imageHref = user.Policy.IsAdministrator && item.MediaType != 'Photo' ? "edititemmetadata.html?tab=3&id=" + item.Id : "";
LibraryBrowser.renderDetailImage(page.querySelector('.detailImageContainer'), item, imageHref);
}
@ -959,7 +959,7 @@
html += '<span>' + type.name + '</span>';
if (user.Policy.IsAdministrator) {
html += '<a class="detailSectionHeaderButton" href="editcollectionitems.html?id=' + currentItem.Id + '" data-role="button" data-icon="edit" data-iconpos="notext" data-inline="true">' + Globalize.translate('ButtonEdit') + '</a>';
html += '<a class="detailSectionHeaderButton" href="edititemmetadata.html?tab=2&id=' + currentItem.Id + '" data-role="button" data-icon="edit" data-iconpos="notext" data-inline="true">' + Globalize.translate('ButtonEdit') + '</a>';
}
html += '</div>';

View file

@ -138,18 +138,18 @@
}
if (!rRow.HasImageTagsPrimary) {
html += '<a href="edititemimages.html?id=' + rRow.Id + '"><img src="css/images/editor/missingprimaryimage.png" title="Missing primary image." style="height:16px;" /></a>';
html += '<a href="edititemmetadata.html?tab=3&id=' + rRow.Id + '"><img src="css/images/editor/missingprimaryimage.png" title="Missing primary image." style="height:16px;" /></a>';
}
if (!rRow.HasImageTagsBackdrop) {
if (rRow.RowType !== "Episode" && rRow.RowType !== "Season" && rRow.MediaType !== "Audio" && rRow.RowType !== "TvChannel" && rRow.RowType !== "MusicAlbum") {
html += '<a href="edititemimages.html?id=' + rRow.Id + '"><img src="css/images/editor/missingbackdrop.png" title="Missing backdrop image." style="height:16px;" /></a>';
html += '<a href="edititemmetadata.html?tab=3&id=' + rRow.Id + '"><img src="css/images/editor/missingbackdrop.png" title="Missing backdrop image." style="height:16px;" /></a>';
}
}
if (!rRow.HasImageTagsLogo) {
if (rRow.RowType === "Movie" || rRow.RowType === "Trailer" || rRow.RowType === "Series" || rRow.RowType === "MusicArtist" || rRow.RowType === "BoxSet") {
html += '<a href="edititemimages.html?id=' + rRow.Id + '"><img src="css/images/editor/missinglogo.png" title="Missing logo image." style="height:16px;" /></a>';
html += '<a href="edititemmetadata.html?tab=3&id=' + rRow.Id + '"><img src="css/images/editor/missinglogo.png" title="Missing logo image." style="height:16px;" /></a>';
}
}
break;