diff --git a/public/pdf.html b/public/pdf.html index b16bd0a..f76241f 100644 --- a/public/pdf.html +++ b/public/pdf.html @@ -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'); - } - }; + })();