diff --git a/clients/compose/build.gradle.kts b/clients/compose/build.gradle.kts index 3ace54c..aa55454 100644 --- a/clients/compose/build.gradle.kts +++ b/clients/compose/build.gradle.kts @@ -13,7 +13,7 @@ plugins { alias(libs.plugins.buildconfig) } -version = rootProject.version as PhoebenchVersion +version = PhoebenchVersion(1, 1, 1) if((version as PhoebenchVersion) < (rootProject.version as PhoebenchVersion)) throw GradleException("UI Clients version must be at least as high as protocol/common version") diff --git a/clients/compose/src/commonMain/kotlin/com/jaytux/phoebench/clients/data/ProjectVM.kt b/clients/compose/src/commonMain/kotlin/com/jaytux/phoebench/clients/data/ProjectVM.kt index 8eaf613..3f8572e 100644 --- a/clients/compose/src/commonMain/kotlin/com/jaytux/phoebench/clients/data/ProjectVM.kt +++ b/clients/compose/src/commonMain/kotlin/com/jaytux/phoebench/clients/data/ProjectVM.kt @@ -232,7 +232,7 @@ class ProjectVM( fun updateBenchmark(id: Uuid, name: String?) { withScope { val old = _benchmarks.value.find { it.id == id } ?: return@withScope - _repo.updateVersion(id, name).snackOr { + _repo.updateBenchmark(id, name).snackOr { if(_job == null) { _benchmarks.value = _benchmarks.value.replace({ it.id == id }) { it.copy(name = name ?: old.name) } } diff --git a/clients/compose/src/commonMain/kotlin/com/jaytux/phoebench/clients/ui/ProjectView.kt b/clients/compose/src/commonMain/kotlin/com/jaytux/phoebench/clients/ui/ProjectView.kt index f2371d9..356c17d 100644 --- a/clients/compose/src/commonMain/kotlin/com/jaytux/phoebench/clients/ui/ProjectView.kt +++ b/clients/compose/src/commonMain/kotlin/com/jaytux/phoebench/clients/ui/ProjectView.kt @@ -115,6 +115,7 @@ fun ProjectPanel(vm: ProjectVM, editable: Boolean, versions: Map Unit, onAdd: (name: String) -> Unit) { } } +@Composable +fun EditBenchmarkDialog(benchmark: ProjectVM.Benchmark, onCancel: () -> Unit, onUpdate: (name: String) -> Unit) { + Dialog(onDismissRequest = onCancel) { + var name by remember { mutableStateOf(benchmark.name) } + + Surface(Modifier.padding(15.dp).widthIn(400.dp), shape = MaterialTheme.shapes.medium) { + Column(Modifier.padding(8.dp).width(IntrinsicSize.Min)) { + Text("Modify benchmark", Modifier.align(Alignment.CenterHorizontally), style = MaterialTheme.typography.headlineMedium) + OutlinedTextField(name, { name = it }, Modifier.fillMaxWidth(), label = { Text("Name") }) + Spacer(Modifier.height(10.dp)) + + CancelConfirmXRow(onCancel, { + onUpdate(name.trim()) + }, confirmText = "Update", canConfirm = name.trim().isNotBlank() && name.trim() != benchmark.name) + } + } + } +} + @Composable fun AddVersionDialog(onCancel: () -> Unit, onAdd: (name: String, color: Color, meta: String) -> Unit) { Dialog(onDismissRequest = onCancel) { @@ -789,7 +816,7 @@ fun ProjectPlotArea(vm: ProjectVM, benchmark: ProjectVM.Benchmark) { item { Spacer(Modifier.height(10.dp)) } - items((visibleInputs intersect inputFilter.toSet()).toList()) { + items((visibleInputs intersect inputFilter.toSet()).sorted()) { Row(Modifier.fillMaxWidth().clickable { if(inputFilter.size == allInputs.size) { inputFilter.clear() @@ -809,7 +836,7 @@ fun ProjectPlotArea(vm: ProjectVM, benchmark: ProjectVM.Benchmark) { } } - items((visibleInputs - inputFilter.toSet()).toList()) { + items((visibleInputs - inputFilter.toSet()).sorted()) { Row(Modifier.fillMaxWidth().clickable { if(inputFilter.size == allInputs.size) { inputFilter.clear() diff --git a/server/build.gradle.kts b/server/build.gradle.kts index 9fd48ed..42171fb 100644 --- a/server/build.gradle.kts +++ b/server/build.gradle.kts @@ -7,7 +7,7 @@ plugins { } group = "com.jaytux.phoebench" -version = rootProject.version as PhoebenchVersion +version = PhoebenchVersion(1, 1, 1) if((version as PhoebenchVersion) < (rootProject.version as PhoebenchVersion)) throw GradleException("Server version must be at least as high as protocol/common version") diff --git a/server/src/main/kotlin/com/jaytux/phoebench/server/handlers/ProjectHandler.kt b/server/src/main/kotlin/com/jaytux/phoebench/server/handlers/ProjectHandler.kt index 3bdfbbc..e470e81 100644 --- a/server/src/main/kotlin/com/jaytux/phoebench/server/handlers/ProjectHandler.kt +++ b/server/src/main/kotlin/com/jaytux/phoebench/server/handlers/ProjectHandler.kt @@ -200,7 +200,7 @@ object ProjectHandler { checkMigration(user) val (proj, bench) = accessibleBenchmark(user, req.first, true) val changes = req.second - changes.name?.let { proj.name = it } + changes.name?.let { bench.name = it } ServerScope.launch { Buses.projectBus(proj.id.value).sendAll(ProjectEvent.BenchmarkChanged(