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:
parent
9b8cb284fb
commit
df2609fab6
3 changed files with 35 additions and 27 deletions
|
@ -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);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -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++) {
|
||||||
|
|
|
@ -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) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue