tractatus/scripts
TheFlow 0decd9882d feat(csp): add event delegation for all admin interactions
SUMMARY:
 Restored full admin functionality with CSP-compliant event handling
 All onclick/onchange handlers now use addEventListener
 Zero CSP violations maintained

CHANGES:

Added event delegation listeners to all admin JavaScript files:
- dashboard.js: approveItem, rejectItem, deleteUser, deleteDocument
- rule-manager.js: viewRule, editRule, deleteRule, goToPage
- project-manager.js: viewProject, editProject, manageVariables, deleteProject
- project-editor.js: editVariable, deleteVariable
- rule-editor.js: editRule, remove-parent
- audit-analytics.js: showDecisionDetails
- claude-md-migrator.js: toggleCandidate

TECHNICAL APPROACH:

Pattern: data-action attributes → addEventListener delegation
- Removed: onclick="functionName('arg')"
- Added: data-action="functionName" data-arg0="arg"
- Handler: document.addEventListener('click', delegation logic)

Benefits:
1. CSP compliant (no unsafe-inline)
2. Single event listener per file (performance)
3. Works with dynamic content
4. Maintains existing function signatures

Implementation:
- Use event.target.closest('[data-action]') for bubbling
- Extract action and arguments from data attributes
- Switch statement to route to appropriate functions
- Special handling for remove-parent (common pattern)

TESTING:
✓ CSP scanner confirms zero violations
✓ Public pages load correctly (/, /about, /researcher, /docs)
✓ Event delegation architecture in place

NOTE: Admin pages need testing with actual user interactions
to verify button clicks work correctly. The infrastructure is
complete but requires manual QA.

AUTOMATION:
Created scripts/add-event-delegation.js for automated addition
of event delegation patterns to admin files.

🤖 Generated with Claude Code (https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-19 13:36:53 +13:00
..
hook-validators chore(framework): update instruction history and hook metrics 2025-10-19 12:48:21 +13:00
migrations feat: implement Rule Manager and Project Manager admin systems 2025-10-11 17:16:51 +13:00
monitoring fix: resolve grep count handling in log monitor 2025-10-10 05:30:36 +13:00
add-api-docs.js feat: newsletter modal and deployment script enhancements 2025-10-14 13:11:46 +13:00
add-architectural-overview-doc.js feat: add script to deploy architectural overview document 2025-10-11 00:44:22 +13:00
add-event-delegation.js feat(csp): add event delegation for all admin interactions 2025-10-19 13:36:53 +13:00
add-governance-rules.js feat: implement Priority 1 - Public Blog System with governance enhancements 2025-10-11 14:47:01 +13:00
add-progress-bar-helpers.js fix(csp): achieve 100% CSP compliance - zero violations 2025-10-19 13:32:24 +13:00
add-sections-from-db-markdown.js fix(csp): clean all public-facing pages - 75 violations fixed (66%) 2025-10-19 13:17:50 +13:00
add-sections-to-17-docs.js fix(csp): clean all public-facing pages - 75 violations fixed (66%) 2025-10-19 13:17:50 +13:00
add-sections-to-documents.js feat: fix documentation system - cards, PDFs, TOC, and navigation 2025-10-07 22:51:55 +13:00
archive-all-internal-documents.js feat: implement documentation reorganization with archives 2025-10-11 01:26:14 +13:00
archive-outdated-documents.js feat: implement documentation reorganization with archives 2025-10-11 01:26:14 +13:00
audit-accessibility.js feat: comprehensive accessibility improvements (WCAG 2.1 AA) 2025-10-12 07:08:40 +13:00
check-card-view-status.js fix(csp): clean all public-facing pages - 75 violations fixed (66%) 2025-10-19 13:17:50 +13:00
check-color-contrast.js feat: complete Phase 2 - accessibility, performance, mobile polish 2025-10-08 13:29:26 +13:00
check-csp-violations.js fix(csp): clean all public-facing pages - 75 violations fixed (66%) 2025-10-19 13:17:50 +13:00
check-missing-pdfs.js fix(csp): clean all public-facing pages - 75 violations fixed (66%) 2025-10-19 13:17:50 +13:00
check-sections.js docs: fix Introduction language violations and add database utility scripts 2025-10-12 22:41:04 +13:00
check-session-pressure.js feat: fix pressure monitor for conversation length and compaction tracking 2025-10-12 22:51:30 +13:00
check-stripe-bank-account.js feat(stripe): add diagnostic tools for Customer Portal 2025-10-18 22:19:30 +13:00
clean-test-db.js fix: add Jest test infrastructure and reduce test failures from 29 to 13 2025-10-09 20:37:45 +13:00
cleanup-database.js feat: newsletter modal and deployment script enhancements 2025-10-14 13:11:46 +13:00
compare-databases.js docs: fix Introduction language violations and add database utility scripts 2025-10-12 22:41:04 +13:00
create-admin-noninteractive.js feat: comprehensive accessibility improvements (WCAG 2.1 AA) 2025-10-12 07:08:40 +13:00
deploy-frontend.sh feat: fix documentation system - cards, PDFs, TOC, and navigation 2025-10-07 22:51:55 +13:00
deploy-full-project-SAFE.sh feat: newsletter modal and deployment script enhancements 2025-10-14 13:11:46 +13:00
deploy-koha-to-production.sh feat: add Koha pre-production deployment configuration 2025-10-08 21:00:54 +13:00
deploy-security-middleware.sh docs: fix rsync deployment issue and create deployment script 2025-10-14 15:45:39 +13:00
fix-admin-csp-violations.js fix(csp): achieve 100% CSP compliance - zero violations 2025-10-19 13:32:24 +13:00
fix-admin-event-handlers.js fix(csp): achieve 100% CSP compliance - zero violations 2025-10-19 13:32:24 +13:00
fix-category-mismatches.js docs: fix Introduction language violations and add database utility scripts 2025-10-12 22:41:04 +13:00
fix-csp-html-violations.js fix(csp): clean all public-facing pages - 75 violations fixed (66%) 2025-10-19 13:17:50 +13:00
fix-csp-major-html.js fix(csp): clean all public-facing pages - 75 violations fixed (66%) 2025-10-19 13:17:50 +13:00
fix-csp-violations.js fix(csp): clean all public-facing pages - 75 violations fixed (66%) 2025-10-19 13:17:50 +13:00
fix-remaining-index-gradients.js fix(csp): clean all public-facing pages - 75 violations fixed (66%) 2025-10-19 13:17:50 +13:00
framework-watchdog.js feat(infra): semantic versioning and systemd service implementation 2025-10-09 09:16:22 +13:00
generate-architectural-safeguards-pdf.py fix(csp): clean all public-facing pages - 75 violations fixed (66%) 2025-10-19 13:17:50 +13:00
generate-card-sections.js feat: newsletter modal and deployment script enhancements 2025-10-14 13:11:46 +13:00
generate-markdown-pdfs.js feat(scripts): add value pluralism support scripts 2025-10-12 16:36:03 +13:00
generate-missing-pdfs.js fix(csp): clean all public-facing pages - 75 violations fixed (66%) 2025-10-19 13:17:50 +13:00
generate-pdf-commissioners.js fix(csp): clean all public-facing pages - 75 violations fixed (66%) 2025-10-19 13:17:50 +13:00
generate-pdf-custom-footer.js fix(csp): clean all public-facing pages - 75 violations fixed (66%) 2025-10-19 13:17:50 +13:00
generate-pdfs.js feat: fix documentation system - cards, PDFs, TOC, and navigation 2025-10-07 22:51:55 +13:00
generate-presentation.py fix(csp): clean all public-facing pages - 75 violations fixed (66%) 2025-10-19 13:17:50 +13:00
generate-research-pdfs.js feat: comprehensive accessibility improvements (WCAG 2.1 AA) 2025-10-12 07:08:40 +13:00
generate-single-pdf.js feat(infra): semantic versioning and systemd service implementation 2025-10-09 09:16:22 +13:00
generate-test-token.js feat: implement Rule Manager and Project Manager admin systems 2025-10-11 17:16:51 +13:00
import-5-archives.js fix(csp): clean all public-facing pages - 75 violations fixed (66%) 2025-10-19 13:17:50 +13:00
import-coding-rules.js feat: implement Rule Manager and Project Manager admin systems 2025-10-11 17:16:51 +13:00
import-technical-docs.js feat(infra): semantic versioning and systemd service implementation 2025-10-09 09:16:22 +13:00
init-db.js feat: add MongoDB systemd service and database initialization 2025-10-06 23:28:42 +13:00
init-koha.js feat: implement Koha donation system frontend (Phase 3) 2025-10-08 13:56:56 +13:00
install-mongodb-service.sh feat: add MongoDB systemd service and database initialization 2025-10-06 23:28:42 +13:00
install-systemd.sh feat(infra): semantic versioning and systemd service implementation 2025-10-09 09:16:22 +13:00
list-junk-docs.js feat: newsletter modal and deployment script enhancements 2025-10-14 13:11:46 +13:00
load-governance-rules.js feat: deployment quickstart kit - 30-minute Docker deployment (Task 6) 2025-10-12 07:27:37 +13:00
load-inst-035.js fix: add dotenv loading to migration scripts + create inst_036 anti-quick-fix rule 2025-10-12 16:47:22 +13:00
migrate-appendix-documents.js feat(infra): semantic versioning and systemd service implementation 2025-10-09 09:16:22 +13:00
migrate-doc-categories.js fix: move value pluralism FAQ to advanced-topics and collapse technical-reference 2025-10-12 21:39:32 +13:00
migrate-document-categorization.js feat: reorganize document categories with intuitive structure 2025-10-12 20:24:47 +13:00
migrate-documents.js feat(infra): semantic versioning and systemd service implementation 2025-10-09 09:16:22 +13:00
migrate-to-memory-proxy.js feat: Phase 5 PoC Week 3 - MemoryProxy integration with Tractatus services 2025-10-10 12:22:06 +13:00
migrate-to-mongodb.js feat: enhance framework services and format architectural documentation 2025-10-11 00:50:47 +13:00
migrate-value-pluralism-docs.js fix: use correct env var names (MONGODB_URI not MONGO_URI) 2025-10-12 20:01:28 +13:00
minify-theme-css.js fix(csp): clean all public-facing pages - 75 violations fixed (66%) 2025-10-19 13:17:50 +13:00
mobile-audit.js feat: complete Phase 2 - accessibility, performance, mobile polish 2025-10-08 13:29:26 +13:00
mongodb-tractatus.service feat: add MongoDB systemd service and database initialization 2025-10-06 23:28:42 +13:00
parse-and-update-safeguards-document.js fix(csp): clean all public-facing pages - 75 violations fixed (66%) 2025-10-19 13:17:50 +13:00
performance-audit.js feat: complete Phase 2 - accessibility, performance, mobile polish 2025-10-08 13:29:26 +13:00
plan-reminder.js feat: comprehensive accessibility improvements (WCAG 2.1 AA) 2025-10-12 07:08:40 +13:00
pre-action-check.js chore(framework): update instruction history and hook metrics 2025-10-19 12:48:21 +13:00
query-all-documents.js fix(csp): clean all public-facing pages - 75 violations fixed (66%) 2025-10-19 13:17:50 +13:00
query-archives-direct.js fix(csp): clean all public-facing pages - 75 violations fixed (66%) 2025-10-19 13:17:50 +13:00
recategorize-safeguards-sections.js fix(csp): clean all public-facing pages - 75 violations fixed (66%) 2025-10-19 13:17:50 +13:00
recover-framework.js feat(infra): semantic versioning and systemd service implementation 2025-10-09 09:16:22 +13:00
remove-duplicate-documents.js fix(csp): clean all public-facing pages - 75 violations fixed (66%) 2025-10-19 13:17:50 +13:00
reorganize-docs-sidebar.js feat: redesign docs sidebar with audience-based categories + fix PNG background 2025-10-12 09:10:58 +13:00
security-audit.js feat(infra): semantic versioning and systemd service implementation 2025-10-09 09:16:22 +13:00
seed-admin.js feat: add API routes, controllers, and migration tools 2025-10-07 00:36:40 +13:00
seed-architectural-safeguards-document.js fix(csp): clean all public-facing pages - 75 violations fixed (66%) 2025-10-19 13:17:50 +13:00
seed-first-blog-post.js feat: newsletter modal and deployment script enhancements 2025-10-14 13:11:46 +13:00
seed-projects.js feat: implement Rule Manager and Project Manager admin systems 2025-10-11 17:16:51 +13:00
session-init.js chore(framework): update instruction history and hook metrics 2025-10-19 12:48:21 +13:00
setup-stripe-products.js fix(csp): clean all public-facing pages - 75 violations fixed (66%) 2025-10-19 13:17:50 +13:00
stripe-webhook-setup.sh fix(csp): clean all public-facing pages - 75 violations fixed (66%) 2025-10-19 13:17:50 +13:00
sync-to-public.sh feat: newsletter modal and deployment script enhancements 2025-10-14 13:11:46 +13:00
test-deliberation-session.js fix(csp): clean all public-facing pages - 75 violations fixed (66%) 2025-10-19 13:17:50 +13:00
test-production-deployment.js docs: Phase 5 integration roadmap and production deployment test 2025-10-10 12:33:57 +13:00
test-session1-integration.js feat: Session 1 - Core services integration (InstructionPersistenceClassifier + CrossReferenceValidator) 2025-10-10 12:39:58 +13:00
test-session2-integration.js feat: Session 2 - Complete framework integration (6/6 services) 2025-10-10 12:49:37 +13:00
test-stripe-connection.js fix(csp): clean all public-facing pages - 75 violations fixed (66%) 2025-10-19 13:17:50 +13:00
test-stripe-integration.js fix(csp): clean all public-facing pages - 75 violations fixed (66%) 2025-10-19 13:17:50 +13:00
update-cache-version.js docs: update framework to 6 services with PluralisticDeliberationOrchestrator 2025-10-12 19:55:44 +13:00
update-core-concepts.js feat: Phase 2 - Update documentation for Phase 5 MongoDB architecture 2025-10-11 01:35:24 +13:00
update-document-metadata.js feat: implement documentation reorganization with archives 2025-10-11 01:26:14 +13:00
update-document-ordering.js fix(csp): clean all public-facing pages - 75 violations fixed (66%) 2025-10-19 13:17:50 +13:00
update-glossary.js feat: Phase 2 - Update documentation for Phase 5 MongoDB architecture 2025-10-11 01:35:24 +13:00
upload-document.js fix(csp): clean all public-facing pages - 75 violations fixed (66%) 2025-10-19 13:17:50 +13:00
validate-document-security.js feat(infra): semantic versioning and systemd service implementation 2025-10-09 09:16:22 +13:00
validate-public-sync.js fix: update validation script to allow legitimate public info 2025-10-09 15:23:40 +13:00
verify-34-documents.js fix(csp): clean all public-facing pages - 75 violations fixed (66%) 2025-10-19 13:17:50 +13:00
verify-all-34.js fix(csp): clean all public-facing pages - 75 violations fixed (66%) 2025-10-19 13:17:50 +13:00
verify-stripe-portal.js feat(stripe): add diagnostic tools for Customer Portal 2025-10-18 22:19:30 +13:00