Skip to content

Frontend File Management UI Components

This document catalogs the lightweight Dash-based UI panels used by EvoSpikeNet for document upload, version history, diffing, and batch processing. These components are delivered as MVP widgets that require host pages to wire callbacks and integrate them into a larger layout.

  1. File Upload Panel
  2. Status: MVP
  3. Purpose: drag-and-drop / browse upload component for sending documents to the ingestion pipeline
  4. Implementation: frontend/file_upload_ui.py
  5. Notes: layout exposes upload area, file list, preview, and status regions; callbacks must be implemented by the host page. Defaults: max_size_mb=1024.

  6. Version History Display

  7. Status: MVP (enhanced)
  8. Purpose: paginated table of saved versions with download/compare/rollback actions
  9. Implementation: frontend/version_history_ui.py
  10. Notes: host page must provide rows data from VersionManager API and wire action callbacks.

  11. Version Comparison UI

  12. Status: MVP (enhanced)
  13. Purpose: unified diff view of two document versions with navigation and copy controls
  14. Implementation: frontend/version_compare_ui.py

  15. Batch Processing UI

  16. Status: MVP (enhanced)
  17. Purpose: monitor bulk ingestion/chunking jobs with progress bars and action buttons
  18. Implementation: frontend/batch_processing_ui.py

Integration notes - The front-end modules provide layout and helper constructors; they do not perform backend calls. Example host page: frontend/pages/rag.py demonstrates wiring callbacks to endpoints such as POST /upload_file, POST /batch/create, and POST /batch/cancel. - Accessibility, responsive testing, and basic E2E checks are included in the repository; extend as needed for production.

Callback helpers - frontend/ui_callbacks.py contains example skeleton callbacks for history refresh, diff computation and upload handling.

If you want, I can convert specific code blocks into copyable snippets or add a short README with example host page integration.