fix(portal): explicit dataklass för dokumentstrukturering #430
@@ -79,6 +79,7 @@ export default function DocumentsPage() {
|
||||
const [models, setModels] = useState<ModelsResponse | null>(null);
|
||||
const [modelsError, setModelsError] = useState<string | null>(null);
|
||||
const [modelId, setModelId] = useState('');
|
||||
const [dataClass, setDataClass] = useState('low');
|
||||
const [format, setFormat] = useState<'json' | 'csv'>('json');
|
||||
const [structuring, setStructuring] = useState(false);
|
||||
const [result, setResult] = useState<StructureResponse | null>(null);
|
||||
@@ -96,6 +97,9 @@ export default function DocumentsPage() {
|
||||
}
|
||||
setModels(body);
|
||||
setModelId((current) => current || body.models[0] || '');
|
||||
setDataClass((current) =>
|
||||
body.data_classes.includes(current) ? current : (body.data_classes[0] ?? 'low'),
|
||||
);
|
||||
})
|
||||
.catch(() => setModelsError('Kunde inte läsa modellpolicyn'));
|
||||
}, []);
|
||||
@@ -183,7 +187,7 @@ export default function DocumentsPage() {
|
||||
instruction,
|
||||
fields,
|
||||
model_id: modelId,
|
||||
data_class: 'low',
|
||||
data_class: dataClass,
|
||||
format,
|
||||
}),
|
||||
});
|
||||
@@ -200,7 +204,7 @@ export default function DocumentsPage() {
|
||||
} finally {
|
||||
setStructuring(false);
|
||||
}
|
||||
}, [receipt, structuring, instruction, modelId, projectId, fields, format, t]);
|
||||
}, [receipt, structuring, instruction, modelId, dataClass, projectId, fields, format, t]);
|
||||
|
||||
function download() {
|
||||
if (!result?.export) return;
|
||||
@@ -414,7 +418,28 @@ export default function DocumentsPage() {
|
||||
<option value="csv">CSV</option>
|
||||
</select>
|
||||
</label>
|
||||
<label className="block">
|
||||
<span className={label}>{t({ en: 'data class', sv: 'dataklass' })}</span>
|
||||
<select
|
||||
className={input}
|
||||
value={dataClass}
|
||||
onChange={(event) => setDataClass(event.target.value)}
|
||||
disabled={!models}
|
||||
>
|
||||
{(models?.data_classes ?? [dataClass]).map((value) => (
|
||||
<option key={value} value={value}>
|
||||
{value}
|
||||
</option>
|
||||
))}
|
||||
</select>
|
||||
</label>
|
||||
</div>
|
||||
<p className="mt-2 font-mono text-[10px] uppercase tracking-[0.14em] text-muted-foreground">
|
||||
{t({
|
||||
en: 'External models are refused for high/restricted data.',
|
||||
sv: 'Externa modeller nekas för hög/restricted data.',
|
||||
})}
|
||||
</p>
|
||||
|
||||
{modelsError ? <p className="mt-3 text-[13px] text-muted-foreground">{modelsError}</p> : null}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user