dsasd
This commit is contained in:
@@ -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');
|
||||
|
||||
Reference in New Issue
Block a user