Fix für fehlende Checkboxen
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
// ==UserScript==
|
||||
// @name Anime-Loads: Verlauf-Massenlöschung
|
||||
// @namespace https://git.ponywave.de/Akamaru/Userscripts
|
||||
// @version 1.0
|
||||
// @version 1.1
|
||||
// @description Fügt Buttons hinzu, um Verlaufseinträge auf anime-loads.org schneller zu löschen
|
||||
// @author Akamaru
|
||||
// @match https://www.anime-loads.org/history*
|
||||
@@ -91,10 +91,15 @@
|
||||
}
|
||||
|
||||
function addCheckboxes() {
|
||||
const removeButtons = document.querySelectorAll('.remove-history');
|
||||
removeButtons.forEach(btn => {
|
||||
const tr = btn.closest('tr');
|
||||
if (!tr || tr.querySelector('.bulk-delete-checkbox')) return;
|
||||
const historyDiv = document.getElementById('history');
|
||||
if (!historyDiv) return;
|
||||
|
||||
const rows = historyDiv.querySelectorAll('table tbody tr');
|
||||
rows.forEach(row => {
|
||||
if (row.querySelector('.bulk-delete-checkbox')) return;
|
||||
|
||||
const removeBtn = row.querySelector('.remove-history');
|
||||
if (!removeBtn) return;
|
||||
|
||||
const checkbox = document.createElement('input');
|
||||
checkbox.type = 'checkbox';
|
||||
@@ -102,7 +107,7 @@
|
||||
checkbox.style.cssText = 'margin-right: 10px; transform: scale(1.3);';
|
||||
checkbox.addEventListener('change', updateCounter);
|
||||
|
||||
const td = btn.closest('td');
|
||||
const td = removeBtn.closest('td');
|
||||
td.insertBefore(checkbox, td.firstChild);
|
||||
});
|
||||
|
||||
@@ -241,9 +246,26 @@
|
||||
const newRows = doc.querySelectorAll('#history table tbody tr');
|
||||
|
||||
newRows.forEach(row => {
|
||||
table.appendChild(row.cloneNode(true));
|
||||
const clonedRow = row.cloneNode(true);
|
||||
table.appendChild(clonedRow);
|
||||
|
||||
// Checkbox sofort zum geklonten Row hinzufügen
|
||||
const removeBtn = clonedRow.querySelector('.remove-history');
|
||||
if (removeBtn && !clonedRow.querySelector('.bulk-delete-checkbox')) {
|
||||
const checkbox = document.createElement('input');
|
||||
checkbox.type = 'checkbox';
|
||||
checkbox.className = 'bulk-delete-checkbox';
|
||||
checkbox.style.cssText = 'margin-right: 10px; transform: scale(1.3);';
|
||||
checkbox.addEventListener('change', updateCounter);
|
||||
|
||||
const td = removeBtn.closest('td');
|
||||
td.insertBefore(checkbox, td.firstChild);
|
||||
}
|
||||
});
|
||||
|
||||
// Counter nach jeder Seite aktualisieren
|
||||
updateCounter();
|
||||
|
||||
// Kleine Verzögerung, um Server nicht zu überlasten
|
||||
await new Promise(resolve => setTimeout(resolve, 500));
|
||||
} catch (error) {
|
||||
@@ -254,9 +276,6 @@
|
||||
// Pagination verstecken
|
||||
pagination.style.display = 'none';
|
||||
|
||||
// Checkboxen zu neuen Einträgen hinzufügen
|
||||
addCheckboxes();
|
||||
|
||||
btn.textContent = 'Alle Seiten geladen!';
|
||||
setTimeout(() => {
|
||||
btn.textContent = 'Alle Seiten laden';
|
||||
|
||||
Reference in New Issue
Block a user