Fixed min. required example for edit.

pull/110/head
s8613 2025-07-01 19:09:48 +02:00
parent 810827e0bb
commit be165144ad
1 changed files with 67 additions and 53 deletions

View File

@ -73,10 +73,10 @@ export function KPIForm({
setSnackbarMessage("Name ist erforderlich"); setSnackbarMessage("Name ist erforderlich");
setSnackbarSeverity("error"); setSnackbarSeverity("error");
setSnackbarOpen(true); setSnackbarOpen(true);
return; return;
} }
if (mode === "add") {
if (!formData.examples || formData.examples.length === 0) { if (!formData.examples || formData.examples.length === 0) {
setSnackbarMessage("Mindestens ein Beispielsatz ist erforderlich"); setSnackbarMessage("Mindestens ein Beispielsatz ist erforderlich");
setSnackbarSeverity("error"); setSnackbarSeverity("error");
@ -96,18 +96,27 @@ export function KPIForm({
setSnackbarOpen(true); setSnackbarOpen(true);
return; return;
} }
}
for (const ex of newExamples) { const newExamples = (formData.examples || []).filter(
(ex) => ex.sentence?.trim() && ex.value?.trim(),
);
if (formData.examples && formData.examples.length > 0) {
for (const ex of formData.examples) {
if (!ex.sentence?.trim() && !ex.value?.trim()) continue;
if (!ex.sentence?.trim() || !ex.value?.trim()) { if (!ex.sentence?.trim() || !ex.value?.trim()) {
setSnackbarMessage("Alle Beispielsätze müssen vollständig sein."); setSnackbarMessage("Alle Beispielsätze müssen vollständig sein oder leer gelassen werden.");
setSnackbarSeverity("error"); setSnackbarSeverity("error");
setSnackbarOpen(true); setSnackbarOpen(true);
return; return;
} }
} }
}
setIsSaving(true); setIsSaving(true);
try { try {
if (newExamples.length > 0) {
const spacyEntries = generateSpacyEntries({ const spacyEntries = generateSpacyEntries({
...formData, ...formData,
examples: newExamples, examples: newExamples,
@ -143,6 +152,7 @@ export function KPIForm({
console.log("SpaCy-Eintrag gespeichert:", data); console.log("SpaCy-Eintrag gespeichert:", data);
} }
}
const allExamples = const allExamples =
mode === "edit" ? [...originalExamples, ...newExamples] : newExamples; mode === "edit" ? [...originalExamples, ...newExamples] : newExamples;
@ -167,9 +177,13 @@ export function KPIForm({
})); }));
} }
setSnackbarMessage( const successMessage = newExamples.length > 0
"Beispielsätze gespeichert. Jetzt auf -Neu trainieren- klicken oder weitere Kennzahlen hinzufügen.", ? "Beispielsätze gespeichert. Jetzt auf -Neu trainieren- klicken oder weitere Kennzahlen hinzufügen."
); : mode === "edit"
? "Kennzahl erfolgreich aktualisiert."
: "Kennzahl erfolgreich erstellt.";
setSnackbarMessage(successMessage);
setSnackbarSeverity("success"); setSnackbarSeverity("success");
setSnackbarOpen(true); setSnackbarOpen(true);
} catch (e: any) { } catch (e: any) {