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

improve detail page refresh after editing

This commit is contained in:
Luke Pulverenti 2016-06-29 00:05:16 -04:00
parent 9b8cb284fb
commit df2609fab6
3 changed files with 35 additions and 27 deletions

View file

@ -1,8 +1,6 @@
define(['dialogHelper', 'css!css/metadataeditor.css', 'emby-button', 'paper-icon-button-light'], function (dialogHelper) {
var currentItem;
var currentResolve;
var currentReject;
var hasChanges = false;
function getBaseRemoteOptions() {
@ -241,7 +239,7 @@
});
}
function showEditor(itemId, options) {
function showEditor(itemId, options, resolve, reject) {
options = options || {};
@ -282,7 +280,16 @@
initEditor(dlg, options);
// Has to be assigned a z-index after the call to .open()
dlg.addEventListener('close', onDialogClosed);
dlg.addEventListener('close', function () {
Dashboard.hideLoadingMsg();
if (hasChanges) {
resolve();
} else {
reject();
}
});
dialogHelper.open(dlg);
@ -299,27 +306,14 @@
xhr.send();
}
function onDialogClosed() {
Dashboard.hideLoadingMsg();
if (hasChanges) {
currentResolve();
} else {
currentReject();
}
}
return {
show: function (itemId, options) {
return new Promise(function (resolve, reject) {
currentResolve = resolve;
currentReject = reject;
hasChanges = false;
showEditor(itemId, options);
showEditor(itemId, options, resolve, reject);
});
}
};

View file

@ -2109,7 +2109,7 @@
Dashboard.getCurrentUser().then(function (user) {
LibraryBrowser.showMoreCommands(button, currentItem.Id, currentItem.Type, LibraryBrowser.getMoreCommands(currentItem, user)).then(function() {
LibraryBrowser.showMoreCommands(button, currentItem.Id, currentItem.Type, LibraryBrowser.getMoreCommands(currentItem, user)).then(function () {
reload(view, params);
});
});
@ -2185,6 +2185,14 @@
removeFromCollection(view, currentItem, [itemId]);
});
view.querySelector('.detailImageContainer').addEventListener('click', function (e) {
var itemDetailGalleryLink = parentWithClass(e.target, 'itemDetailGalleryLink');
if (itemDetailGalleryLink) {
LibraryBrowser.editImages(currentItem.Id).then(function () {
reload(view, params);
});
}
});
//var btnMore = page.querySelectorAll('.btnMoreCommands iron-icon');
//for (var i = 0, length = btnMore.length; i < length; i++) {

View file

@ -773,18 +773,24 @@
editImages: function (itemId) {
return new Promise(function (resolve, reject) {
require(['components/imageeditor/imageeditor'], function (ImageEditor) {
ImageEditor.show(itemId);
ImageEditor.show(itemId).then(resolve, reject);
});
});
},
editSubtitles: function (itemId) {
return new Promise(function (resolve, reject) {
require(['subtitleEditor'], function (subtitleEditor) {
var serverId = ApiClient.serverInfo().Id;
subtitleEditor.show(itemId, serverId);
subtitleEditor.show(itemId, serverId).then(resolve, reject);
});
});
},
@ -956,10 +962,10 @@
}
break;
case 'editsubtitles':
LibraryBrowser.editSubtitles(itemId);
LibraryBrowser.editSubtitles(itemId).then(resolve, reject);
break;
case 'editimages':
LibraryBrowser.editImages(itemId);
LibraryBrowser.editImages(itemId).then(resolve, reject);
break;
case 'identify':
LibraryBrowser.identifyItem(itemId).then(resolve, reject);
@ -3192,7 +3198,7 @@
html += '<div style="position:relative;">';
if (editable) {
html += "<a onclick='LibraryBrowser.editImages(\"" + item.Id + "\");' class='itemDetailGalleryLink' href='#'>";
html += "<a class='itemDetailGalleryLink' href='#'>";
}
if (detectRatio && item.PrimaryImageAspectRatio) {