/* * Modul Produktbewertungen, Backend-Liste: Antwortfeld unter der Zeile öffnen, Löschen bestätigen. * Alle- und Zeilenauswahl, Zeilenaktionen bei Fokus und das Aufklappen schmaler Zeilen übernimmt der Kern (common.js). */ ( function() { 'use strict'; function setReply( toggle, bOpen ) { const row = document.getElementById( toggle.getAttribute( 'aria-controls' ) ); if ( !row ) return; row.hidden = !bOpen; toggle.setAttribute( 'aria-expanded', bOpen ? 'true' : 'false' ); if ( bOpen ) row.querySelector( 'textarea' ).focus(); else toggle.focus(); } document.addEventListener( 'click', function( event ) { const toggle = event.target.closest( '.wpsg-reviews-admin__reply-toggle' ); if ( toggle ) { setReply( toggle, toggle.getAttribute( 'aria-expanded' ) !== 'true' ); return; } const cancel = event.target.closest( '.wpsg-reviews-admin__reply-cancel' ); if ( cancel ) { const row = cancel.closest( 'tr' ); const opener = document.querySelector( '.wpsg-reviews-admin__reply-toggle[aria-controls="' + row.id + '"]' ); if ( opener ) setReply( opener, false ); return; } const button = event.target.closest( '.wpsg-reviews-admin [data-confirm]' ); if ( button && !window.confirm( button.getAttribute( 'data-confirm' ) ) ) event.preventDefault(); } ); // Mehrfachaktion Löschen bestätigen document.addEventListener( 'submit', function( event ) { const form = event.target; if ( !form.classList.contains( 'wpsg-reviews-admin__form' ) ) return; const submitter = event.submitter; if ( !submitter || submitter.name !== 'wpsg_review_bulk' ) return; const select = form.elements[ 'wpsg_bulk_action[' + submitter.value + ']' ]; if ( select && select.value === 'delete' && !window.confirm( form.getAttribute( 'data-confirm-bulk' ) ) ) event.preventDefault(); } ); } )();