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);
});
});
// 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) {
@ -1450,6 +1458,10 @@
showError('Введите текст водяного знака.');
return;
}
if (op === 'pages' && state.pagesSubOp === 'delete' && getSelectedPages('deletePageGrid').length === 0) {
showError('Выберите страницы для удаления');
return;
}
if (op === 'security' && state.securitySub === 'protect' && !document.getElementById('protectPassword').value) {
showError('Введите пароль для защиты файла.');
return;
@ -1691,17 +1703,7 @@
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');
}
};
})();