Fix PDF: page grids render on file select, delete validation

This commit is contained in:
treamz 2026-03-22 01:39:32 +03:00
parent 88e2e12f7c
commit 6bf2a0b6a1

View File

@ -1160,6 +1160,14 @@
el.appendChild(card); el.appendChild(card);
}); });
}); });
// Render page thumbnails for selected file
const _sel = state.files.find(f => f.id === state.selectedFileId);
if (_sel && typeof renderPageGrid === 'function') {
renderPageGrid('deletePageGrid', 'deleteHint', _sel.id, _sel.pages, 'delete');
renderPageGrid('rotatePageGrid', 'rotateHint', _sel.id, _sel.pages, 'rotate');
renderPageGrid('reorderPageGrid', 'reorderHint', _sel.id, _sel.pages, 'reorder');
}
} }
function escHtml(str) { function escHtml(str) {
@ -1450,6 +1458,10 @@
showError('Введите текст водяного знака.'); showError('Введите текст водяного знака.');
return; return;
} }
if (op === 'pages' && state.pagesSubOp === 'delete' && getSelectedPages('deletePageGrid').length === 0) {
showError('Выберите страницы для удаления');
return;
}
if (op === 'security' && state.securitySub === 'protect' && !document.getElementById('protectPassword').value) { if (op === 'security' && state.securitySub === 'protect' && !document.getElementById('protectPassword').value) {
showError('Введите пароль для защиты файла.'); showError('Введите пароль для защиты файла.');
return; return;
@ -1691,17 +1703,7 @@
return Array.from(grid.querySelectorAll('.page-thumb.selected')).map(t => parseInt(t.dataset.page)); return Array.from(grid.querySelectorAll('.page-thumb.selected')).map(t => parseInt(t.dataset.page));
} }
// Re-render grids when file selection changes
const origRenderSingle = renderSingleFileSelectors;
renderSingleFileSelectors = function() {
origRenderSingle();
const sel = state.files.find(f => f.id === state.selectedFileId);
if (sel) {
renderPageGrid('deletePageGrid', 'deleteHint', sel.id, sel.pages, 'delete');
renderPageGrid('rotatePageGrid', 'rotateHint', sel.id, sel.pages, 'rotate');
renderPageGrid('reorderPageGrid', 'reorderHint', sel.id, sel.pages, 'reorder');
}
};
})(); })();