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

View file

@ -2109,7 +2109,7 @@
Dashboard.getCurrentUser().then(function (user) { 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); reload(view, params);
}); });
}); });
@ -2185,6 +2185,14 @@
removeFromCollection(view, currentItem, [itemId]); 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'); //var btnMore = page.querySelectorAll('.btnMoreCommands iron-icon');
//for (var i = 0, length = btnMore.length; i < length; i++) { //for (var i = 0, length = btnMore.length; i < length; i++) {

View file

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