From 59cdfd975f4de197b86e4570eafc4f6633b74e08 Mon Sep 17 00:00:00 2001 From: Mikei386 <44135113+Mikei386@users.noreply.github.com> Date: Tue, 23 Jun 2026 20:18:49 +0200 Subject: [PATCH] Add delete actions --- build-plugin.sh | 2 +- packages/u-navigator-2026.06.23.r041.tgz | Bin 31104 -> 0 bytes packages/u-navigator-2026.06.23.r042.tgz | Bin 0 -> 31371 bytes .../emhttp/plugins/u-navigator/api/job.php | 4 +++- .../plugins/u-navigator/api/job_worker.php | 8 +++++++ server/public/app.js | 22 ++++++++++++++++++ server/public/styles.css | 8 +++++++ u-navigator.plg | 4 ++-- 8 files changed, 44 insertions(+), 4 deletions(-) delete mode 100644 packages/u-navigator-2026.06.23.r041.tgz create mode 100644 packages/u-navigator-2026.06.23.r042.tgz diff --git a/build-plugin.sh b/build-plugin.sh index bcbf832..2f1a530 100755 --- a/build-plugin.sh +++ b/build-plugin.sh @@ -2,7 +2,7 @@ set -eu PLUGIN="u-navigator" -VERSION="2026.06.23.r041" +VERSION="2026.06.23.r042" PKG_DIR="packages" WORK_DIR=".plugin-build" PKG_NAME="${PLUGIN}-${VERSION}.tgz" diff --git a/packages/u-navigator-2026.06.23.r041.tgz b/packages/u-navigator-2026.06.23.r041.tgz deleted file mode 100644 index 4be5f6b3154bbfa96e95711fee4fcdb822dee158..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31104 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%0AbO6kluJq3B6cmnJzDJq{k{i`6&s~tbkv`qQZ0= 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
FLD$@CAsKiZa`JB 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 literal 0 HcmV?d00001 diff --git a/plugin-root/usr/local/emhttp/plugins/u-navigator/api/job.php b/plugin-root/usr/local/emhttp/plugins/u-navigator/api/job.php index 685cf9b..b328ea0 100644 --- a/plugin-root/usr/local/emhttp/plugins/u-navigator/api/job.php +++ b/plugin-root/usr/local/emhttp/plugins/u-navigator/api/job.php @@ -6,7 +6,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'GET') { } $action = $_GET['action'] ?? ''; -if (!in_array($action, ['move', 'copy', 'size', 'permissions'], true)) { +if (!in_array($action, ['move', 'copy', 'delete', 'size', 'permissions'], true)) { unav_error(404, 'Unknown job action'); } @@ -18,6 +18,8 @@ if (in_array($action, ['move', 'copy'], true)) { unav_assert_writable(); $destination = unav_destination_path($data['destination'] ?? null); unav_guard_destination($source['path'], $destination['path']); +} elseif ($action === 'delete') { + unav_assert_writable(); } elseif ($action === 'permissions') { unav_assert_writable(); $permissions = unav_permission_options($data); diff --git a/plugin-root/usr/local/emhttp/plugins/u-navigator/api/job_worker.php b/plugin-root/usr/local/emhttp/plugins/u-navigator/api/job_worker.php index 59cd125..17b13fe 100644 --- a/plugin-root/usr/local/emhttp/plugins/u-navigator/api/job_worker.php +++ b/plugin-root/usr/local/emhttp/plugins/u-navigator/api/job_worker.php @@ -16,6 +16,8 @@ function unav_run_job(string $id): void { } elseif ($job['type'] === 'copy') { unav_worker_guard($job['source'], $job['destination']); unav_worker_copy($job['source'], $job['destination'], $job); + } elseif ($job['type'] === 'delete') { + unav_worker_delete_job($job['source'], $job); } elseif ($job['type'] === 'size') { $result = unav_worker_size($job['source'], $job); $job['result'] = $result; @@ -90,6 +92,12 @@ function unav_worker_move(string $source, string $destination, array &$job): voi unav_worker_delete($source); } +function unav_worker_delete_job(string $source, array &$job): void { + $sourceReal = unav_worker_guard_source($source); + unav_worker_update($job, 'running', 15, 'Deleting'); + unav_worker_delete($sourceReal); +} + function unav_worker_size(string $source, array &$job): array { $sourceReal = unav_worker_guard_source($source); unav_worker_update($job, 'running', 10, 'Calculating size'); diff --git a/server/public/app.js b/server/public/app.js index fc659e7..6761892 100644 --- a/server/public/app.js +++ b/server/public/app.js @@ -272,6 +272,7 @@ function renderExplorer(body, win) { +
@@ -293,6 +294,7 @@ function renderExplorer(body, win) { body.querySelector('[data-action="view-icons"]').addEventListener('click', () => setExplorerView(win, 'icons')); body.querySelector('[data-action="upload-files"]').addEventListener('click', () => body.querySelector('[data-upload="files"]').click()); body.querySelector('[data-action="upload-folder"]').addEventListener('click', () => body.querySelector('[data-upload="folder"]').click()); + body.querySelector('[data-action="delete-selected"]').addEventListener('click', () => deleteEntries(win)); for (const inputEl of body.querySelectorAll('.upload-input')) { inputEl.addEventListener('change', async () => { try { @@ -1042,6 +1044,25 @@ async function promptTransfer(win, entry, type) { await createJob(type, entry.path, `${targetDir.replace(/\/$/, '')}/${entry.name}`, []); } +async function deleteEntries(win, entry = null) { + if (isReadOnly()) { + showError(new Error('Read-only mode ist aktiv.')); + return; + } + const entries = entry && selectedPathSet(win).has(entry.path) ? selectedEntries(win) : (entry ? [entry] : selectedEntries(win)); + if (!entries.length) { + showError(new Error('Keine Datei ausgewählt.')); + return; + } + const label = entries.length === 1 ? `"${entries[0].name}" wirklich löschen?` : `${entries.length} Objekte wirklich löschen?`; + if (!confirm(`${label}\n\nDieser Vorgang löscht direkt vom Dateisystem.`)) { + return; + } + for (const item of entries) { + await createJob('delete', item.path, null, [win.id]); + } +} + function openPermissionsDialog(win, entry) { if (isReadOnly()) { showError(new Error('Read-only mode ist aktiv.')); @@ -1301,6 +1322,7 @@ function renderContextMenu() { actions.push(['Berechtigungen...', () => openPermissionsDialog(win, entry)]); actions.push(['Kopieren nach...', () => promptTransfer(win, entry, 'copy')]); actions.push(['Verschieben nach...', () => promptTransfer(win, entry, 'move')]); + actions.push(['Löschen', () => deleteEntries(win, entry)]); } } else { actions.push(['Aktuellen Ordner herunterladen', () => downloadEntries(win, null)]); diff --git a/server/public/styles.css b/server/public/styles.css index d68c0e8..49bea0d 100644 --- a/server/public/styles.css +++ b/server/public/styles.css @@ -57,6 +57,14 @@ color: #ffffff; } +.u-nav button.danger { + color: #c4382d; +} + +.u-nav button.danger:hover { + border-color: #c4382d; +} + .u-nav button.icon { align-items: center; display: inline-flex; diff --git a/u-navigator.plg b/u-navigator.plg index 8f63d42..671bd42 100644 --- a/u-navigator.plg +++ b/u-navigator.plg @@ -1,7 +1,7 @@ - + @@ -24,7 +24,7 @@ https://git.casaderoll.de/michael/Unraid-Navigator/raw/branch/main/packages/&package; -381ba21ef4664561c9a69ddada5b5b15 +b6edc78a8c0336b58273aa31ab69a2af