File size: 7,758 Bytes
f1e753d
 
 
 
 
 
 
662f6d6
cfbbab4
f1e753d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9298a62
f1e753d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9298a62
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
f1e753d
 
 
 
 
 
 
 
 
 
cfbbab4
f1e753d
 
 
 
 
 
9298a62
 
 
 
 
 
 
 
 
 
 
 
f1e753d
 
 
662f6d6
f1e753d
cfbbab4
f1e753d
f5f5021
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>FinanceBench Viewer</title>
    <link rel="stylesheet" href="style.css">
    <link rel="stylesheet" href="trajectory-ui.css">
    <link rel="stylesheet" href="e2e-structures.css">
</head>
<body>
    <div class="app-shell">
        <aside class="app-sidebar">
            <header>
                <h1>🏦 FinanceBench</h1>
                <p class="subtitle">Financial QA Viewer</p>
            </header>

            <div class="controls">
                <div class="view-toggle-row">
                    <div class="sidebar-label">Tab</div>
                    <div class="view-toggle" id="viewToggle">
                        <button id="modeCorpusBtn" type="button" data-mode="corpus" class="active">πŸ“š Corpus</button>
                        <button id="modeEvalBtn" type="button" data-mode="eval">❓ Eval</button>
                        <span id="runTabButtons"></span>
                    </div>
                </div>

                <!-- Corpus controls -->
                <div id="corpusControls">
                    <div class="search-box">
                        <div class="sidebar-label">Document</div>
                        <input type="text" id="corpusFilter" placeholder="Filter by name / company..." />
                        <div class="filter-row">
                            <select id="sectorFilter"><option value="">All sectors</option></select>
                            <select id="docTypeFilter"><option value="">All types</option></select>
                        </div>
                        <select id="docSelect" size="1"></select>
                    </div>
                    <div>
                        <div class="sidebar-label">Navigate</div>
                        <div class="nav-controls">
                            <button id="corpusPrevBtn" title="Previous (←)">← Prev</button>
                            <span id="corpusCounter">0 / 0</span>
                            <button id="corpusNextBtn" title="Next (β†’)">Next β†’</button>
                        </div>
                    </div>
                </div>

                <!-- Eval controls -->
                <div id="evalControls" style="display:none;">
                    <div class="search-box">
                        <div class="sidebar-label">Search</div>
                        <input type="text" id="evalSearch" placeholder="Question / company / id / answer..." />
                        <div style="display:flex;gap:6px;">
                            <button id="evalSearchBtn" style="flex:1;">Search</button>
                            <button id="evalClearBtn" style="flex:1;">Clear</button>
                        </div>
                        <select id="qTypeFilter">
                            <option value="">All question types</option>
                            <option value="metrics-generated">metrics-generated</option>
                            <option value="domain-relevant">domain-relevant</option>
                            <option value="novel-generated">novel-generated</option>
                        </select>
                    </div>
                    <div>
                        <div class="sidebar-label">Navigate</div>
                        <div class="nav-controls">
                            <button id="evalPrevBtn" title="Previous (←)">← Prev</button>
                            <span id="evalCounter">0 / 0</span>
                            <button id="evalNextBtn" title="Next (β†’)">Next β†’</button>
                        </div>
                    </div>
                </div>

                <!-- Shared controls for c1/c2/naive/E2E run tabs -->
                <div id="runControls" style="display:none;">
                    <div class="search-box">
                        <div class="sidebar-label">Search run</div>
                        <input type="text" id="runSearch" placeholder="Question / qid / gold / prediction..." />
                        <select id="runStatusFilter">
                            <option value="all">All statuses</option>
                            <option value="correct">Correct</option>
                            <option value="incorrect">Incorrect</option>
                            <option value="missing">Missing</option>
                        </select>
                        <div class="sidebar-label selector-label">Question</div>
                        <select id="runQidSelect"></select>
                    </div>
                    <div>
                        <div class="sidebar-label">Navigate</div>
                        <div class="nav-controls">
                            <button id="runPrevBtn" title="Previous (←)">← Prev</button>
                            <span id="runCounter">0 / 0</span>
                            <button id="runNextBtn" title="Next (β†’)">Next β†’</button>
                        </div>
                    </div>
                </div>

                <!-- Compare controls -->
                <div id="compareControls" style="display:none;">
                    <div class="search-box">
                        <div class="sidebar-label">Compare filter</div>
                        <input type="text" id="compareSearch" placeholder="Question / company / qid..." />
                        <select id="compareFilter">
                            <option value="all">All questions</option>
                            <option value="disagreement">Disagreement</option>
                            <option value="missing">Any missing</option>
                            <option value="e2e-only">Only E2E correct</option>
                        </select>
                        <div class="sidebar-label selector-label">Question</div>
                        <select id="compareQidSelect"></select>
                    </div>
                    <div>
                        <div class="sidebar-label">Navigate</div>
                        <div class="nav-controls">
                            <button id="comparePrevBtn" title="Previous (←)">← Prev</button>
                            <span id="compareCounter">0 / 0</span>
                            <button id="compareNextBtn" title="Next (β†’)">Next β†’</button>
                        </div>
                    </div>
                </div>

                <div class="sidebar-footer" id="sidebarFooter"></div>
            </div>
        </aside>

        <main class="app-main">
            <div id="loading">Loading dataset…</div>

            <!-- Corpus view -->
            <section id="corpusView" style="display:none;">
                <div class="doc-meta-card" id="docMetaCard"></div>
                <div class="document-text-wrap" id="docTextContent"></div>
            </section>

            <!-- Eval view -->
            <section id="evalView" style="display:none;">
                <div class="card" id="evalCard"></div>
            </section>

            <!-- Shared run view -->
            <section id="runView" style="display:none;">
                <div class="run-summary" id="runSummary"></div>
                <div class="card run-card" id="runCard"></div>
            </section>

            <!-- Comparison view -->
            <section id="compareView" style="display:none;">
                <div class="compare-summaries" id="compareSummaries"></div>
                <div id="compareCard"></div>
            </section>
        </main>
    </div>

    <script src="trajectory-ui.js"></script>
    <script src="viewer.js"></script>
    <script src="e2e-structures.js"></script>
</body>
</html>