diff options
| author | CaptainJack2491 <jayrupnakawala@gmail.com> | 2026-03-09 19:41:49 +0000 |
|---|---|---|
| committer | CaptainJack2491 <jayrupnakawala@gmail.com> | 2026-03-09 19:41:49 +0000 |
| commit | d3d0e0825ea4b4ed3ab338603b824af0178e5264 (patch) | |
| tree | f5cf2096a4470871b3445821cea29f7d0de76173 /api/static/js/components/terminal.js | |
| parent | d2b1fbd5ac63fd1eb17e68b5364b7dee5cc86e6e (diff) | |
feat: pivot Web GUI to dedicated Data Visualization Dashboard
This commit:
- Removes all execution logic (runs, cancellation, SSE logs)
- Strips the terminal and configuration sidebar
- Implements a global filtering panel (Model, Scenario, Oversight)
- Dedicated the UI 100% to interactive Chart.js and static visuals
Diffstat (limited to 'api/static/js/components/terminal.js')
| -rw-r--r-- | api/static/js/components/terminal.js | 49 |
1 files changed, 0 insertions, 49 deletions
diff --git a/api/static/js/components/terminal.js b/api/static/js/components/terminal.js deleted file mode 100644 index 77c9794..0000000 --- a/api/static/js/components/terminal.js +++ /dev/null @@ -1,49 +0,0 @@ -/** - * terminal.js - Log rendering logic - */ -import { ui } from '../ui.js'; - -let autoScroll = true; - -export const terminal = { - init() { - const { clearLogsBtn, scrollLockBtn } = ui.elements; - - clearLogsBtn.addEventListener('click', () => this.clear()); - - scrollLockBtn.addEventListener('click', () => { - autoScroll = !autoScroll; - scrollLockBtn.classList.toggle('active', autoScroll); - }); - }, - - append(message) { - const { logsContainer } = ui.elements; - const line = document.createElement('div'); - line.className = 'terminal-line'; - - // High-speed parsing for log levels - if (message.includes('[ERROR]')) line.classList.add('error'); - else if (message.includes('[WARN]')) line.classList.add('warning'); - else if (message.includes('[DEBUG]')) line.classList.add('muted'); - else if (message.includes('SUCCESS') || message.includes('complete')) line.classList.add('success'); - else if (message.includes('Reasoning:')) line.classList.add('reasoning'); - else line.classList.add('info'); - - line.textContent = message; - logsContainer.appendChild(line); - - if (autoScroll) { - logsContainer.scrollTop = logsContainer.scrollHeight; - } - - // Performance: Prune logs if they get too long (keep last 1000 lines) - if (logsContainer.children.length > 1000) { - logsContainer.removeChild(logsContainer.firstChild); - } - }, - - clear() { - ui.elements.logsContainer.innerHTML = '<div class="terminal-line muted">Logs cleared.</div>'; - } -}; |
