Remove nennung-feature (domain models, DI modules, and UI components).
This commit is contained in:
+8
@@ -0,0 +1,8 @@
|
||||
package at.mocode.frontend.features.pferde.di
|
||||
|
||||
import at.mocode.frontend.features.pferde.presentation.PferdeViewModel
|
||||
import org.koin.dsl.module
|
||||
|
||||
val pferdeModule = module {
|
||||
factory { PferdeViewModel() }
|
||||
}
|
||||
+6
-1
@@ -12,7 +12,12 @@ data class Pferd(
|
||||
val geschlecht: Geschlecht = Geschlecht.WALLACH,
|
||||
val farbe: String = "",
|
||||
val geburtsjahr: Int? = null,
|
||||
val status: PferdeStatus = PferdeStatus.AKTIV
|
||||
val status: PferdeStatus = PferdeStatus.AKTIV,
|
||||
val feiId: String? = null,
|
||||
val oepsNummer: String? = null,
|
||||
val vater: String? = null,
|
||||
val mutter: String? = null,
|
||||
val besitzer: String? = null
|
||||
)
|
||||
|
||||
enum class Geschlecht(val label: String) {
|
||||
|
||||
+38
-6
@@ -38,6 +38,9 @@ fun PferdeScreen(
|
||||
onFarbeChange = viewModel::onEditFarbeChange,
|
||||
onGeburtsjahrChange = viewModel::onEditGeburtsjahrChange,
|
||||
onStatusChange = viewModel::onEditStatusChange,
|
||||
onFeiIdChange = viewModel::onEditFeiIdChange,
|
||||
onOepsNummerChange = viewModel::onEditOepsNummerChange,
|
||||
onBesitzerChange = viewModel::onEditBesitzerChange,
|
||||
onSave = viewModel::onSave,
|
||||
onCancel = viewModel::onCancel
|
||||
)
|
||||
@@ -105,6 +108,9 @@ private fun PferdeEditorContent(
|
||||
onFarbeChange: (String) -> Unit,
|
||||
onGeburtsjahrChange: (String) -> Unit,
|
||||
onStatusChange: (PferdeStatus) -> Unit,
|
||||
onFeiIdChange: (String) -> Unit,
|
||||
onOepsNummerChange: (String) -> Unit,
|
||||
onBesitzerChange: (String) -> Unit,
|
||||
onSave: () -> Unit,
|
||||
onCancel: () -> Unit
|
||||
) {
|
||||
@@ -134,6 +140,23 @@ private fun PferdeEditorContent(
|
||||
|
||||
Spacer(Modifier.height(16.dp))
|
||||
|
||||
Row(horizontalArrangement = Arrangement.spacedBy(16.dp)) {
|
||||
MsTextField(
|
||||
value = uiState.editFeiId,
|
||||
onValueChange = onFeiIdChange,
|
||||
label = "FEI ID",
|
||||
modifier = Modifier.weight(1f)
|
||||
)
|
||||
MsTextField(
|
||||
value = uiState.editOepsNummer,
|
||||
onValueChange = onOepsNummerChange,
|
||||
label = "ÖPS Nummer",
|
||||
modifier = Modifier.weight(1f)
|
||||
)
|
||||
}
|
||||
|
||||
Spacer(Modifier.height(16.dp))
|
||||
|
||||
Row(horizontalArrangement = Arrangement.spacedBy(16.dp)) {
|
||||
MsEnumDropdown(
|
||||
label = "Geschlecht",
|
||||
@@ -160,16 +183,25 @@ private fun PferdeEditorContent(
|
||||
label = "Geburtsjahr",
|
||||
modifier = Modifier.weight(1f)
|
||||
)
|
||||
MsEnumDropdown(
|
||||
label = "Status",
|
||||
options = PferdeStatus.entries.toTypedArray(),
|
||||
selectedOption = uiState.editStatus,
|
||||
onOptionSelected = onStatusChange,
|
||||
optionLabel = { it.label },
|
||||
MsTextField(
|
||||
value = uiState.editBesitzer,
|
||||
onValueChange = onBesitzerChange,
|
||||
label = "Besitzer",
|
||||
modifier = Modifier.weight(1f)
|
||||
)
|
||||
}
|
||||
|
||||
Spacer(Modifier.height(16.dp))
|
||||
|
||||
MsEnumDropdown(
|
||||
label = "Status",
|
||||
options = PferdeStatus.entries.toTypedArray(),
|
||||
selectedOption = uiState.editStatus,
|
||||
onOptionSelected = onStatusChange,
|
||||
optionLabel = { it.label },
|
||||
modifier = Modifier.width(300.dp)
|
||||
)
|
||||
|
||||
Spacer(Modifier.height(24.dp))
|
||||
|
||||
if (uiState.editStatus == PferdeStatus.INAKTIV) {
|
||||
|
||||
+22
-3
@@ -3,6 +3,7 @@ package at.mocode.frontend.features.pferde.presentation
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.runtime.mutableStateOf
|
||||
import androidx.compose.runtime.setValue
|
||||
import androidx.lifecycle.ViewModel
|
||||
import at.mocode.frontend.features.pferde.domain.Geschlecht
|
||||
import at.mocode.frontend.features.pferde.domain.Pferd
|
||||
import at.mocode.frontend.features.pferde.domain.PferdeStatus
|
||||
@@ -21,13 +22,16 @@ data class PferdeUiState(
|
||||
val editGeschlecht: Geschlecht = Geschlecht.WALLACH,
|
||||
val editFarbe: String = "",
|
||||
val editGeburtsjahr: String = "",
|
||||
val editStatus: PferdeStatus = PferdeStatus.AKTIV
|
||||
val editStatus: PferdeStatus = PferdeStatus.AKTIV,
|
||||
val editFeiId: String = "",
|
||||
val editOepsNummer: String = "",
|
||||
val editBesitzer: String = ""
|
||||
)
|
||||
|
||||
/**
|
||||
* ViewModel für die Pferde-Verwaltung.
|
||||
*/
|
||||
open class PferdeViewModel(initialLoad: Boolean = true) {
|
||||
open class PferdeViewModel(initialLoad: Boolean = true) : ViewModel() {
|
||||
var uiState by mutableStateOf(PferdeUiState())
|
||||
protected set
|
||||
|
||||
@@ -60,10 +64,25 @@ open class PferdeViewModel(initialLoad: Boolean = true) {
|
||||
editGeschlecht = pferd.geschlecht,
|
||||
editFarbe = pferd.farbe,
|
||||
editGeburtsjahr = pferd.geburtsjahr?.toString() ?: "",
|
||||
editStatus = pferd.status
|
||||
editStatus = pferd.status,
|
||||
editFeiId = pferd.feiId ?: "",
|
||||
editOepsNummer = pferd.oepsNummer ?: "",
|
||||
editBesitzer = pferd.besitzer ?: ""
|
||||
)
|
||||
}
|
||||
|
||||
fun onEditFeiIdChange(value: String) {
|
||||
uiState = uiState.copy(editFeiId = value)
|
||||
}
|
||||
|
||||
fun onEditOepsNummerChange(value: String) {
|
||||
uiState = uiState.copy(editOepsNummer = value)
|
||||
}
|
||||
|
||||
fun onEditBesitzerChange(value: String) {
|
||||
uiState = uiState.copy(editBesitzer = value)
|
||||
}
|
||||
|
||||
fun onEditNameChange(value: String) {
|
||||
uiState = uiState.copy(editName = value)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user