fix: Restore edit mode button on page load and move select-all checkbox
This commit is contained in:
parent
af49bb4d6f
commit
3cc39b8ace
@ -26,7 +26,7 @@
|
||||
|
||||
<!-- ── Core styles (local — no CDN dependency for first paint) ────────── -->
|
||||
<link rel="stylesheet" href="/static/vendor/mdi/materialdesignicons.min.css">
|
||||
<link rel="stylesheet" href="/static/style.css?v=1.8.0-5">
|
||||
<link rel="stylesheet" href="/static/style.css?v=1.8.0-6">
|
||||
|
||||
|
||||
<!-- ── Flag icons — non-blocking (loaded async, icons appear after JS) ── -->
|
||||
|
||||
@ -1489,6 +1489,11 @@ function renderVoiceList() {
|
||||
if (_tvBtn) {
|
||||
_tvBtn.classList.toggle('active', !!window._voiceTableView);
|
||||
document.querySelector('.voices-workbench')?.classList.toggle('table-view', !!window._voiceTableView);
|
||||
const editBtn = document.getElementById('voice-table-edit-btn');
|
||||
if (editBtn) {
|
||||
editBtn.style.display = window._voiceTableView ? 'inline-flex' : 'none';
|
||||
editBtn.classList.toggle('active', !!window._voiceTableEditMode);
|
||||
}
|
||||
}
|
||||
|
||||
// Apply sidebar category filter
|
||||
@ -3062,6 +3067,13 @@ function _bulkUpdate() {
|
||||
document.querySelectorAll('.vl-bulk-cb').forEach(cb => {
|
||||
cb.checked = _bulkSelected.has(cb.dataset.id);
|
||||
});
|
||||
|
||||
const headerCb = document.getElementById('vl-select-all-header');
|
||||
if (headerCb) {
|
||||
const rows = [...document.querySelectorAll('#voice-list .vl-row')].filter(r => r.dataset.id);
|
||||
const allSelected = rows.length > 0 && rows.every(r => _bulkSelected.has(r.dataset.id));
|
||||
headerCb.checked = allSelected;
|
||||
}
|
||||
}
|
||||
|
||||
function _bulkToggle(id, checked) {
|
||||
@ -3103,16 +3115,15 @@ $('vl-bulk-select-all')?.addEventListener('click', () => {
|
||||
_bulkUpdate();
|
||||
});
|
||||
|
||||
// Always-visible Select-all toggle in the sort bar (the bulk bar only appears once
|
||||
// Always-visible Select-all toggle in the table header (the bulk bar only appears once
|
||||
// something is selected, so this is the entry point). Selects every visible row, or
|
||||
// clears the selection if they're all already selected.
|
||||
$('vl-select-all-visible')?.addEventListener('click', () => {
|
||||
$('vl-select-all-header')?.addEventListener('change', (e) => {
|
||||
const rows = [...document.querySelectorAll('#voice-list .vl-row')].filter(r => r.dataset.id);
|
||||
const allSelected = rows.length > 0 && rows.every(r => _bulkSelected.has(r.dataset.id));
|
||||
if (allSelected) {
|
||||
rows.forEach(r => _bulkSelected.delete(r.dataset.id));
|
||||
} else {
|
||||
if (e.target.checked) {
|
||||
rows.forEach(r => _bulkSelected.add(r.dataset.id));
|
||||
} else {
|
||||
rows.forEach(r => _bulkSelected.delete(r.dataset.id));
|
||||
}
|
||||
_bulkUpdate();
|
||||
});
|
||||
|
||||
@ -75,7 +75,6 @@
|
||||
<button id="voice-group-tag-btn" class="vl-sort-dir-btn" title="Group into virtual folders by tag"><span class="mdi mdi-folder-outline"></span></button>
|
||||
<button id="voice-table-view-btn" class="vl-sort-dir-btn" title="Toggle full-width table view"><span class="mdi mdi-table"></span></button>
|
||||
<button id="voice-table-edit-btn" class="vl-sort-dir-btn" title="Toggle table edit mode" style="display:none"><span class="mdi mdi-pencil-box-outline"></span></button>
|
||||
<button id="vl-select-all-visible" class="vl-sort-dir-btn" title="Select all visible voices (toggle)"><span class="mdi mdi-checkbox-multiple-marked-outline"></span></button>
|
||||
</div>
|
||||
|
||||
<div class="benchmark-confirm" id="benchmark-confirm" hidden role="group" aria-live="polite">
|
||||
@ -102,7 +101,7 @@
|
||||
</div>
|
||||
|
||||
<div class="vl-table-header" id="vl-table-header">
|
||||
<div></div>
|
||||
<div style="display:flex; justify-content:center; align-items:center;"><input type="checkbox" id="vl-select-all-header" title="Select all visible voices"></div>
|
||||
<div>Img</div>
|
||||
<div>Play</div>
|
||||
<div class="vl-th-sortable" data-sort="id">Name <span class="mdi mdi-sort"></span></div>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user