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.
- File Upload Panel
- Status: MVP
- Purpose: drag-and-drop / browse upload component for sending documents to the ingestion pipeline
- Implementation:
frontend/file_upload_ui.py -
Notes: layout exposes upload area, file list, preview, and status regions; callbacks must be implemented by the host page. Defaults:
max_size_mb=1024. -
Version History Display
- Status: MVP (enhanced)
- Purpose: paginated table of saved versions with download/compare/rollback actions
- Implementation:
frontend/version_history_ui.py -
Notes: host page must provide
rowsdata fromVersionManagerAPI and wire action callbacks. -
Version Comparison UI
- Status: MVP (enhanced)
- Purpose: unified diff view of two document versions with navigation and copy controls
-
Implementation:
frontend/version_compare_ui.py -
Batch Processing UI
- Status: MVP (enhanced)
- Purpose: monitor bulk ingestion/chunking jobs with progress bars and action buttons
- 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.