This commit is contained in:
2026-01-21 23:19:13 +01:00
parent d7108a9701
commit 40714e8ec6
3 changed files with 15 additions and 2 deletions

View File

@@ -35,6 +35,7 @@ export function initEditor() {
const btnUnsavedSave = document.getElementById('btn-unsaved-save'); const btnUnsavedSave = document.getElementById('btn-unsaved-save');
const btnActivateVersion = document.getElementById('btn-activate-version'); const btnActivateVersion = document.getElementById('btn-activate-version');
const btnDeactivateVersion = document.getElementById('btn-deactivate-version'); const btnDeactivateVersion = document.getElementById('btn-deactivate-version');
const versionActiveBadge = document.getElementById('versionActiveBadge');
const activateDialog = document.getElementById('activateVersionDialog'); const activateDialog = document.getElementById('activateVersionDialog');
const btnActivateCancel = document.getElementById('btn-activate-cancel'); const btnActivateCancel = document.getElementById('btn-activate-cancel');
const btnActivateNo = document.getElementById('btn-activate-no'); const btnActivateNo = document.getElementById('btn-activate-no');
@@ -105,6 +106,7 @@ export function initEditor() {
// restore button removed // restore button removed
if (btnActivateVersion) btnActivateVersion.classList.toggle('hidden', !show); if (btnActivateVersion) btnActivateVersion.classList.toggle('hidden', !show);
if (btnDeactivateVersion) btnDeactivateVersion.classList.toggle('hidden', !show); if (btnDeactivateVersion) btnDeactivateVersion.classList.toggle('hidden', !show);
if (versionActiveBadge) versionActiveBadge.classList.toggle('hidden', !show);
} }
setVersionUiVisible(false); setVersionUiVisible(false);
@@ -311,6 +313,10 @@ export function initEditor() {
const isActive = !!(currentVersionMeta && Number(currentVersionMeta.is_active) === 1); const isActive = !!(currentVersionMeta && Number(currentVersionMeta.is_active) === 1);
btnActivateVersion.classList.toggle('hidden', isActive || !currentVersionId); btnActivateVersion.classList.toggle('hidden', isActive || !currentVersionId);
} }
if (versionActiveBadge) {
const isActive = !!(currentVersionMeta && Number(currentVersionMeta.is_active) === 1);
versionActiveBadge.classList.toggle('hidden', !isActive);
}
} }
function renderVersionOptions(items) { function renderVersionOptions(items) {

View File

@@ -234,9 +234,15 @@ export async function loadList(section) {
return; return;
} }
selectEl.disabled = false; selectEl.disabled = false;
items.forEach(item => { const sorted = items.slice().sort((a, b) => {
const aActive = Number(a.is_active) === 1 ? 1 : 0;
const bActive = Number(b.is_active) === 1 ? 1 : 0;
if (aActive !== bActive) return bActive - aActive;
return Number(b.id || 0) - Number(a.id || 0);
});
sorted.forEach(item => {
const opt = document.createElement('option'); const opt = document.createElement('option');
const label = `#${item.version_no} ${formatVersionDate(item.created_at)}` + (Number(item.is_active) === 1 ? ' (aktiv)' : ''); const label = `${Number(item.is_active) === 1 ? '✓ ' : ''}#${item.version_no} ${formatVersionDate(item.created_at)}` + (Number(item.is_active) === 1 ? ' (aktiv)' : '');
opt.value = String(item.id); opt.value = String(item.id);
opt.textContent = label; opt.textContent = label;
selectEl.appendChild(opt); selectEl.appendChild(opt);

View File

@@ -62,6 +62,7 @@ require __DIR__ . '/../partials/structure/layout_start.php';
<select id="versionSelect" class="input h-8 py-0 text-sm min-w-[200px]"> <select id="versionSelect" class="input h-8 py-0 text-sm min-w-[200px]">
<option value="">Letzte Versionen</option> <option value="">Letzte Versionen</option>
</select> </select>
<span id="versionActiveBadge" class="hidden text-xs px-2 py-1 rounded-full bg-emerald-100 text-emerald-700">Aktiv</span>
<button id="btn-activate-version" type="button" class="btn">Aktiv setzen</button> <button id="btn-activate-version" type="button" class="btn">Aktiv setzen</button>
<button id="btn-deactivate-version" type="button" class="btn">Aktiv deaktivieren</button> <button id="btn-deactivate-version" type="button" class="btn">Aktiv deaktivieren</button>
<button id="btn-clear-main" type="button" class="btn" title="Leeren">🧹</button> <button id="btn-clear-main" type="button" class="btn" title="Leeren">🧹</button>