diff --git a/frontend/app/assets/localization/de-DE.yaml b/frontend/app/assets/localization/de-DE.yaml index 63f25b81..910e5d81 100644 --- a/frontend/app/assets/localization/de-DE.yaml +++ b/frontend/app/assets/localization/de-DE.yaml @@ -210,6 +210,7 @@ noAuthorization: forms: submit: "Hochladen" optional: "optional" + mandatory: "mandatorisch" validation: enterText: "Bitte geben Sie einen Text ein" enterNumber: "Bitte geben Sie eine Nummer ein" @@ -239,6 +240,7 @@ forms: labelD: "Komponente D" label: "Label" hint: "Komponente eingeben" + required: "Komponente A und Label A erforderlich" timeseries: label: "Label" component: diff --git a/frontend/app/assets/localization/en-GB.yaml b/frontend/app/assets/localization/en-GB.yaml index 2238c7d5..4c9b9848 100644 --- a/frontend/app/assets/localization/en-GB.yaml +++ b/frontend/app/assets/localization/en-GB.yaml @@ -211,6 +211,7 @@ noAuthorization: forms: submit: "Submit" optional: "optional" + mandatory: "mandatory" validation: enterText: "Please enter some text" enterNumber: "Please enter a number" @@ -240,6 +241,7 @@ forms: labelD: "Component D" label: "Label" hint: "Enter a Component" + required: "Component A und Label A required" timeseries: label: "Label" component: diff --git a/frontend/app/lib/forms/upload_picoscope_form.dart b/frontend/app/lib/forms/upload_picoscope_form.dart index 57177844..8c15983e 100644 --- a/frontend/app/lib/forms/upload_picoscope_form.dart +++ b/frontend/app/lib/forms/upload_picoscope_form.dart @@ -59,7 +59,7 @@ class _UploadPicoscopeFormState extends State { labelText: tr("forms.picoscope.component.labelA"), hintText: tr("forms.picoscope.component.hint"), border: const OutlineInputBorder(), - suffixText: tr("forms.optional"), + suffixText: tr("forms.mandatory"), ), ), ), @@ -68,7 +68,7 @@ class _UploadPicoscopeFormState extends State { child: DropdownMenu( controller: _labelAController, label: Text(tr("forms.picoscope.component.label")), - hintText: tr("forms.optional"), + hintText: tr("forms.mandatory"), onSelected: (PicoscopeLabel? picoscopeLabel) { setState(() { selectedLabelA = picoscopeLabel; @@ -245,6 +245,15 @@ class _UploadPicoscopeFormState extends State { final PicoscopeLabel? labelD = EnumToString.fromString(PicoscopeLabel.values, _labelDController.text); + if (componentA == "" || labelA == null) { + messengerState.showSnackBar( + SnackBar( + content: Text(tr("forms.picoscope.component.required")), + ), + ); + return; + } + final bool result = await provider.uploadPicoscopeData( widget.caseId, file, diff --git a/frontend/app/lib/views/case_detail_view.dart b/frontend/app/lib/views/case_detail_view.dart index 5b3cfd38..229bc405 100644 --- a/frontend/app/lib/views/case_detail_view.dart +++ b/frontend/app/lib/views/case_detail_view.dart @@ -384,16 +384,20 @@ class _DesktopCaseDetailViewState extends State { TableRow buildDataRow(DataModel model) { Text textWidget = const Text(""); + DatasetType datasetType = DatasetType.unknown; switch (model.runtimeType) { case ObdDataModel: textWidget = Text(tr("general.obd")); + datasetType = DatasetType.obd; break; case TimeseriesDataModel: final timeseriesDataModel = model as TimeseriesDataModel; textWidget = Text(timeseriesDataModel.type?.name.capitalize() ?? ""); + datasetType = DatasetType.timeseries; break; case SymptomModel: textWidget = Text(tr("general.symptom")); + datasetType = DatasetType.symptom; break; } @@ -425,7 +429,7 @@ class _DesktopCaseDetailViewState extends State { deleteButton( colorScheme, model.dataId, - DatasetType.obd, + datasetType, ), ], );