1
0
mirror of https://github.com/oliexdev/openScale.git synced 2025-08-22 08:13:43 +02:00

Make more MeasurementTypes visible in the default table and chart views

This commit is contained in:
oliexdev
2025-08-03 19:03:02 +02:00
parent 5dcc41d784
commit c44080aa17
2 changed files with 21 additions and 4 deletions

View File

@@ -153,8 +153,14 @@ fun LineChart(
if (targetMeasurementTypeId != null) { if (targetMeasurementTypeId != null) {
setOf(targetMeasurementTypeId.toString()) // If a specific type is targeted, that's the default. setOf(targetMeasurementTypeId.toString()) // If a specific type is targeted, that's the default.
} else { } else {
// Default selection for the general line chart (uses String IDs for settings). setOf(
setOf(MeasurementTypeKey.WEIGHT.id.toString(), MeasurementTypeKey.BODY_FAT.id.toString()) MeasurementTypeKey.WEIGHT.id.toString(),
MeasurementTypeKey.BMI.id.toString(),
MeasurementTypeKey.BODY_FAT.id.toString(),
MeasurementTypeKey.WATER.id.toString(),
MeasurementTypeKey.MUSCLE.id.toString(),
MeasurementTypeKey.COMMENT.id.toString()
)
} }
} }
val currentSelectedTypeIdsStrings by rememberContextualSelectedTypeIds( val currentSelectedTypeIdsStrings by rememberContextualSelectedTypeIds(

View File

@@ -63,6 +63,7 @@ import androidx.compose.ui.unit.dp
import androidx.navigation.NavController import androidx.navigation.NavController
import com.health.openscale.R import com.health.openscale.R
import com.health.openscale.core.data.InputFieldType import com.health.openscale.core.data.InputFieldType
import com.health.openscale.core.data.MeasurementTypeKey
import com.health.openscale.core.data.Trend import com.health.openscale.core.data.Trend
import com.health.openscale.ui.navigation.Routes import com.health.openscale.ui.navigation.Routes
import com.health.openscale.ui.screen.SharedViewModel import com.health.openscale.ui.screen.SharedViewModel
@@ -230,9 +231,19 @@ fun TableScreen(
allTypes.filter { it.isEnabled } allTypes.filter { it.isEnabled }
}, },
// Logic to determine which types are selected by default. // Logic to determine which types are selected by default.
// Example: enabled types that are also marked as default for table view.
defaultSelectionLogic = { availableFilteredTypes -> defaultSelectionLogic = { availableFilteredTypes ->
availableFilteredTypes.filter { it.isEnabled }.map { it.id } val defaultDesiredTypeIds = listOf(
MeasurementTypeKey.WEIGHT.id,
MeasurementTypeKey.BMI.id,
MeasurementTypeKey.BODY_FAT.id,
MeasurementTypeKey.WATER.id,
MeasurementTypeKey.MUSCLE.id,
MeasurementTypeKey.COMMENT.id
)
availableFilteredTypes
.filter { type -> type.id in defaultDesiredTypeIds && type.isEnabled }
.map { it.id }
}, },
onSelectionChanged = { newSelectedIds -> onSelectionChanged = { newSelectedIds ->
selectedColumnIdsFromFilter.clear() selectedColumnIdsFromFilter.clear()