File size: 5,152 Bytes
8415278
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>FinLongDocQA Viewer</title>
    <link rel="stylesheet" href="style.css">
</head>
<body>
    <div class="app-shell">
        <aside class="app-sidebar">
            <header>
                <h1>πŸ“ˆ FinLongDocQA</h1>
                <p class="subtitle">Financial long-document numerical reasoning</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>
                    </div>
                </div>

                <!-- Corpus controls -->
                <div id="corpusControls">
                    <div class="search-box">
                        <div class="sidebar-label">Annual report</div>
                        <input type="text" id="corpusFilter" placeholder="Filter by company ticker..." />
                        <div class="filter-row">
                            <select id="yearFilter"><option value="">All years</option></select>
                            <select id="hasQFilter">
                                <option value="">All reports</option>
                                <option value="q">With questions</option>
                                <option value="noq">No questions</option>
                            </select>
                        </div>
                        <select id="docSelect" size="1"></select>
                    </div>
                    <div>
                        <div class="sidebar-label">Navigate reports</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">Question</div>
                        <input type="text" id="evalSearch" placeholder="Question / company / id..." />
                        <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="typeFilter">
                            <option value="">All types</option>
                            <option value="mixed">mixed</option>
                            <option value="table">table</option>
                            <option value="text">text</option>
                        </select>
                        <select id="qSelect" size="1"></select>
                    </div>
                    <div>
                        <div class="sidebar-label">Navigate questions</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>

                <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="page-nav" id="pageNav" style="display:none;">
                    <button id="pagePrevBtn" title="Previous page">← Page</button>
                    <span id="pageCounter">–</span>
                    <button id="pageNextBtn" title="Next page">Page β†’</button>
                    <label class="page-jump">Go to page
                        <select id="pageSelect"></select>
                    </label>
                    <span class="page-note">page numbers match the evidence pages cited in the Eval tab</span>
                </div>
                <div class="md-render" id="mdRender"></div>
            </section>

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

    <script src="https://cdn.jsdelivr.net/npm/marked@12.0.2/marked.min.js"></script>
    <script src="viewer.js"></script>
</body>
</html>