t commited on
Commit
24388f8
·
1 Parent(s): 2b07d6b

fix: resolve unresponsive edit button in PDF manager

Browse files

- Implemented missing 'openEditModal' function in 'templates/pdf_manager.html'.
- Added event listeners for single-item 'Details' (edit) actions.
- Refactored bulk edit logic to use the shared modal function.
- Prevented 'Enter' key from triggering unwanted form submissions during renaming.

Files changed (1) hide show
  1. templates/pdf_manager.html +26 -12
templates/pdf_manager.html CHANGED
@@ -634,18 +634,8 @@
634
  bulkEditBtn.addEventListener('click', async () => {
635
  const selectedItems = getSelectedItems('pdf');
636
  if (selectedItems.length === 0) return;
637
- await fetchSubjectsAndTags();
638
- editData = [];
639
- for (const item of selectedItems) {
640
- const response = await fetch(`/get_pdf_details/${item.value}`);
641
- if (response.ok) editData.push(await response.json());
642
- }
643
- if (editData.length > 0) {
644
- currentEditIndex = 0;
645
- initializeTomSelect();
646
- populateEditModal(currentEditIndex);
647
- editModal.show();
648
- }
649
  });
650
 
651
  document.getElementById('edit-prev-btn').addEventListener('click', () => {
@@ -846,6 +836,30 @@
846
  }
847
  });
848
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
849
  updateBulkButtons();
850
 
851
  const cards = Array.from(document.querySelectorAll('.col'));
 
634
  bulkEditBtn.addEventListener('click', async () => {
635
  const selectedItems = getSelectedItems('pdf');
636
  if (selectedItems.length === 0) return;
637
+ const ids = selectedItems.map(item => item.value);
638
+ await openEditModal(ids);
 
 
 
 
 
 
 
 
 
 
639
  });
640
 
641
  document.getElementById('edit-prev-btn').addEventListener('click', () => {
 
836
  }
837
  });
838
 
839
+ async function openEditModal(ids) {
840
+ await fetchSubjectsAndTags();
841
+ editData = [];
842
+ for (const id of ids) {
843
+ const response = await fetch(`/get_pdf_details/${id}`);
844
+ if (response.ok) editData.push(await response.json());
845
+ }
846
+ if (editData.length > 0) {
847
+ currentEditIndex = 0;
848
+ initializeTomSelect();
849
+ populateEditModal(currentEditIndex);
850
+ editModal.show();
851
+ }
852
+ }
853
+
854
+ // Single Edit
855
+ document.querySelectorAll('.edit-single-btn').forEach(btn => {
856
+ btn.addEventListener('click', async (e) => {
857
+ e.preventDefault();
858
+ const id = btn.dataset.id;
859
+ await openEditModal([id]);
860
+ });
861
+ });
862
+
863
  updateBulkButtons();
864
 
865
  const cards = Array.from(document.querySelectorAll('.col'));