File size: 1,130 Bytes
da957b0
 
 
 
 
a2c885c
da957b0
 
a2c885c
 
 
 
da957b0
 
 
 
 
 
a2c885c
da957b0
a2c885c
 
da957b0
 
 
a2c885c
 
da957b0
 
 
 
 
 
 
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
"use client";

export default function DocumentSelector({
    documents,
    selectedDocIndex,
    selectedCorpus,
    onDocChange,
}) {
    const currentValue = selectedCorpus && selectedDocIndex != null
        ? `${selectedCorpus}:${selectedDocIndex}`
        : '';

    return (
        <div className="navigation-controls">
            <div className="select-group">
                <label htmlFor="doc-select">Document</label>
                <select
                    id="doc-select"
                    value={currentValue}
                    onChange={(e) => {
                        const [corpus, idx] = e.target.value.split(':');
                        onDocChange(corpus, parseInt(idx, 10));
                    }}
                >
                    {documents.map(doc => (
                        <option key={`${doc.corpus}:${doc.index}`} value={`${doc.corpus}:${doc.index}`}>
                            [{doc.corpus_name}] Doc {doc.index} ({doc.annotatable_pages.length} pages)
                        </option>
                    ))}
                </select>
            </div>
        </div>
    );
}