From 6c06b850eb01ea885fb3fe44472fa980a2102b1b Mon Sep 17 00:00:00 2001 From: Lars Gebhardt-Kusche Date: Thu, 22 Jan 2026 00:01:36 +0100 Subject: [PATCH] dsasd --- public/assets/js/ui-editor.js | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/public/assets/js/ui-editor.js b/public/assets/js/ui-editor.js index ad2b89c..6f26e4d 100644 --- a/public/assets/js/ui-editor.js +++ b/public/assets/js/ui-editor.js @@ -320,7 +320,10 @@ export function initEditor() { } } - function renderVersionOptions(items) { + function renderVersionOptions(items, opts = {}) { + const keepSelection = !!opts.keepSelection; + const preferredId = opts.preferredId ? String(opts.preferredId) : ''; + const selectionToKeep = preferredId || (keepSelection ? String(versionSelect?.value || lastVersionSelection || '') : ''); versionItems = items || []; versionMap = new Map(); if (!versionSelect) return ''; @@ -348,7 +351,12 @@ export function initEditor() { versionMap.set(String(item.id), item); if (Number(item.is_active) === 1 && !activeId) activeId = String(item.id); }); - const fallbackId = activeId || (rows[0] ? String(rows[0].id) : ''); + let fallbackId = ''; + if (selectionToKeep && versionMap.has(selectionToKeep)) { + fallbackId = selectionToKeep; + } else { + fallbackId = activeId || (rows[0] ? String(rows[0].id) : ''); + } if (fallbackId) { lastVersionSelection = fallbackId; versionSelect.value = fallbackId; @@ -357,17 +365,17 @@ export function initEditor() { return lastVersionSelection; } - async function loadVersionsForCurrent() { + async function loadVersionsForCurrent(opts = {}) { if (!current?.id) { - renderVersionOptions([]); + renderVersionOptions([], opts); return ''; } try { const res = await apiAction('content_versions.list', { method: 'GET', data: { content_id: current.id, id: current.id } }); if (!res?.ok) throw new Error(res?.error || 'Versionen konnten nicht geladen werden'); - return renderVersionOptions(Array.isArray(res?.items) ? res.items : []); + return renderVersionOptions(Array.isArray(res?.items) ? res.items : [], opts); } catch { - renderVersionOptions([]); + renderVersionOptions([], opts); return ''; } } @@ -1043,7 +1051,7 @@ export function initEditor() { try { const res = await apiAction('content_versions.deactivate', { method: 'POST', data: { content_id: current.id } }); if (!res?.ok) throw new Error(res?.error || 'Deaktivieren fehlgeschlagen'); - await loadVersionsForCurrent(); + await loadVersionsForCurrent({ keepSelection: true, preferredId: currentVersionId }); toast('Aktive Version deaktiviert', true); } catch (e) { err(e.message || 'Deaktivieren fehlgeschlagen');