Article dossier (Proposal C): per-stage input/output sections w/ raw-trace toggle, metadata sidebar + per-stage cost receipt, run_decisions rationale, image section, metabox dossier link, board deep-links. DB-migration methods extracted to class-db-migrations.php (byte-parity verified by QA). QA: APPROVE-W-P2 qa-reviews/prautoblogger/2026-06-12-579c66e.md P2s carried to M3: populate request_json (input trace), sidebar pv consolidation, image stages in run_stages. Thread: pipeline-v2-phase2-admin seq 16-20 Agent-Session: cto-phase2-admin-m2-merge-20260612
42 lines
1.3 KiB
JavaScript
42 lines
1.3 KiB
JavaScript
/**
|
|
* PRAutoBlogger Article Dossier -- raw-trace toggle (M2).
|
|
*
|
|
* Toggles the hidden raw-trace <div> per stage when the "Show raw trace"
|
|
* button is clicked. Vanilla JS, no build step, no external deps.
|
|
*
|
|
* Accessible: uses aria-expanded + aria-controls; respects the hidden attribute.
|
|
*
|
|
* @see admin/class-dossier-page.php -- Enqueues this file.
|
|
* @see templates/admin/dossier-page.php -- Renders the toggle buttons.
|
|
*/
|
|
( function () {
|
|
'use strict';
|
|
|
|
document.addEventListener( 'DOMContentLoaded', function () {
|
|
var toggles = document.querySelectorAll( '.prab-trace-toggle' );
|
|
|
|
toggles.forEach( function ( btn ) {
|
|
btn.addEventListener( 'click', function () {
|
|
var targetId = btn.getAttribute( 'aria-controls' );
|
|
if ( ! targetId ) {
|
|
return;
|
|
}
|
|
var panel = document.getElementById( targetId );
|
|
if ( ! panel ) {
|
|
return;
|
|
}
|
|
var isOpen = btn.getAttribute( 'aria-expanded' ) === 'true';
|
|
if ( isOpen ) {
|
|
panel.hidden = true;
|
|
btn.setAttribute( 'aria-expanded', 'false' );
|
|
btn.textContent = btn.textContent.replace( /hide/i, 'Show' );
|
|
} else {
|
|
panel.hidden = false;
|
|
btn.setAttribute( 'aria-expanded', 'true' );
|
|
btn.textContent = btn.textContent.replace( /show/i, 'Hide' );
|
|
}
|
|
} );
|
|
} );
|
|
} );
|
|
}() );
|