Merge pull request #7342 from thornbill/directory-browser-cleanup

This commit is contained in:
Bill Thornton
2025-12-06 18:16:31 -05:00
committed by GitHub
4 changed files with 15 additions and 37 deletions

View File

@@ -103,14 +103,6 @@ function getEditorHtml(options) {
if (!readOnlyAttribute) {
html += '<div class="results paperList" style="max-height: 200px; overflow-y: auto;"></div>';
}
if (options.enableNetworkSharePath) {
html += '<div class="inputContainer" style="margin-top:2em;">';
html += `<input is="emby-input" id="txtNetworkPath" type="text" label="${globalize.translate('LabelOptionalNetworkPath')}"/>`;
html += '<div class="fieldDescription">';
html += globalize.translate('LabelOptionalNetworkPathHelp', '<b>\\\\server</b>', '<b>\\\\192.168.1.101</b>');
html += '</div>';
html += '</div>';
}
html += '<div class="formDialogFooter">';
html += `<button is="emby-button" type="submit" class="raised button-submit block formDialogFooterItem">${globalize.translate('ButtonOk')}</button>`;
html += '</div>';
@@ -189,12 +181,10 @@ function initEditor(content, options, fileOptions) {
content.querySelector('form').addEventListener('submit', function(e) {
if (options.callback) {
let networkSharePath = this.querySelector('#txtNetworkPath');
networkSharePath = networkSharePath ? networkSharePath.value : null;
const path = this.querySelector('#txtDirectoryPickerPath').value;
validatePath(path, options.validateWriteable, ApiClient).then(
options.callback(path, networkSharePath)
).catch(() => { /* no-op */ });
validatePath(path, options.validateWriteable, ApiClient)
.then(options.callback(path))
.catch(() => { /* no-op */ });
}
e.preventDefault();
e.stopPropagation();
@@ -259,10 +249,6 @@ class DirectoryBrowser {
});
this.currentDialog = dlg;
dlg.querySelector('#txtDirectoryPickerPath').value = fetchedInitialPath;
const txtNetworkPath = dlg.querySelector('#txtNetworkPath');
if (txtNetworkPath) {
txtNetworkPath.value = options.networkSharePath || '';
}
if (!options.pathReadOnly) {
refreshDirectoryBrowser(dlg, fetchedInitialPath, fileOptions, true);
}

View File

@@ -122,9 +122,9 @@ function onAddButtonClick() {
import('../directorybrowser/directorybrowser').then(({ default: DirectoryBrowser }) => {
const picker = new DirectoryBrowser();
picker.show({
callback: function (path, networkSharePath) {
callback: function (path) {
if (path) {
addMediaLocation(page, path, networkSharePath);
addMediaLocation(page, path);
}
picker.close();
@@ -161,7 +161,7 @@ function renderPaths(page) {
}
}
function addMediaLocation(page, path, networkSharePath) {
function addMediaLocation(page, path) {
const pathLower = path.toLowerCase();
const pathFilter = pathInfos.filter(p => {
return p.Path.toLowerCase() == pathLower;
@@ -172,10 +172,6 @@ function addMediaLocation(page, path, networkSharePath) {
Path: path
};
if (networkSharePath) {
pathInfo.NetworkPath = networkSharePath;
}
pathInfos.push(pathInfo);
renderPaths(page);
}

View File

@@ -56,10 +56,10 @@ function onEditLibrary() {
return false;
}
function addMediaLocation(page, path, networkSharePath) {
function addMediaLocation(page, path) {
const virtualFolder = currentOptions.library;
const refreshAfterChange = currentOptions.refresh;
ApiClient.addMediaPath(virtualFolder.Name, path, networkSharePath, refreshAfterChange).then(() => {
ApiClient.addMediaPath(virtualFolder.Name, path, null, refreshAfterChange).then(() => {
hasChanges = true;
refreshLibraryFromServer(page);
}, () => {
@@ -67,11 +67,10 @@ function addMediaLocation(page, path, networkSharePath) {
});
}
function updateMediaLocation(page, path, networkSharePath) {
function updateMediaLocation(page, path) {
const virtualFolder = currentOptions.library;
ApiClient.updateMediaPath(virtualFolder.Name, {
Path: path,
NetworkPath: networkSharePath
Path: path
}).then(() => {
hasChanges = true;
refreshLibraryFromServer(page);
@@ -115,7 +114,7 @@ function onListItemClick(e) {
return;
}
showDirectoryBrowser(dom.parentWithClass(listItem, 'dlg-libraryeditor'), originalPath, pathInfo.NetworkPath);
showDirectoryBrowser(dom.parentWithClass(listItem, 'dlg-libraryeditor'), originalPath);
}
}
@@ -174,19 +173,18 @@ function onAddButtonClick() {
showDirectoryBrowser(dom.parentWithClass(this, 'dlg-libraryeditor'));
}
function showDirectoryBrowser(context, originalPath, networkPath) {
function showDirectoryBrowser(context, originalPath) {
import('../directorybrowser/directorybrowser').then(({ default: DirectoryBrowser }) => {
const picker = new DirectoryBrowser();
picker.show({
pathReadOnly: originalPath != null,
path: originalPath,
networkSharePath: networkPath,
callback: function (path, networkSharePath) {
callback: function (path) {
if (path) {
if (originalPath) {
updateMediaLocation(context, originalPath, networkSharePath);
updateMediaLocation(context, originalPath);
} else {
addMediaLocation(context, path, networkSharePath);
addMediaLocation(context, path);
}
}

View File

@@ -842,8 +842,6 @@
"LabelNumberOfGuideDaysHelp": "Downloading more days worth of guide data provides the ability to schedule out further in advance and view more listings, but it will also take longer to download. Auto will pick based on the number of channels.",
"LabelOpenclDevice": "OpenCL Device",
"LabelOpenclDeviceHelp": "This is the OpenCL device that is used for tone mapping. The left side of the dot is the platform number, and the right side is the device number on the platform. The default value is 0.0. The FFmpeg application file containing the OpenCL hardware acceleration method is required.",
"LabelOptionalNetworkPath": "Shared network folder",
"LabelOptionalNetworkPathHelp": "If this folder is shared on your network, supplying the network share path can allow clients on other devices to access media files directly. For example, {0} or {1}.",
"LabelOriginalAspectRatio": "Original aspect ratio",
"LabelOriginalName": "Original name",
"LabelOriginalTitle": "Original title",