mirror of
https://github.com/house-of-abbey/GarminHomeAssistant.git
synced 2026-03-12 22:56:44 +00:00
Refactor HomeAssistantNumericPicker to improve value parsing and initialization
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -7,3 +7,4 @@ Thumbs.db
|
||||
source/ClientId.mc
|
||||
# Gemini API key for automated translations
|
||||
gemini_api_key.txt
|
||||
developer_key
|
||||
@@ -32,28 +32,29 @@ class HomeAssistantNumericPicker extends WatchUi.Picker {
|
||||
) {
|
||||
mItem = haItem;
|
||||
var picker = mItem.getPicker();
|
||||
var min = (picker.get("min") as Lang.String).toFloat();
|
||||
var step = (picker.get("step") as Lang.String).toFloat();
|
||||
var minStr = picker.get("min");
|
||||
var stepStr = picker.get("step");
|
||||
var val = haItem.getValue();
|
||||
|
||||
if (min == null) {
|
||||
min = 0.0;
|
||||
|
||||
var min = 0.0;
|
||||
var step = 1.0;
|
||||
|
||||
if (minStr != null) {
|
||||
min = (minStr as Lang.String).toFloat();
|
||||
}
|
||||
if (step == null) {
|
||||
step = 1.0;
|
||||
if (stepStr != null) {
|
||||
step = (stepStr as Lang.String).toFloat();
|
||||
}
|
||||
|
||||
WatchUi.Picker.initialize(
|
||||
new WatchUi.Text({
|
||||
WatchUi.Picker.initialize({
|
||||
:title => new WatchUi.Text({
|
||||
:text => haItem.getLabel(),
|
||||
:locX => WatchUi.LAYOUT_HALIGN_CENTER,
|
||||
:locY => WatchUi.LAYOUT_VALIGN_BOTTOM
|
||||
}),
|
||||
[factory],
|
||||
{
|
||||
:defaults => [((val - min) / step).toNumber()]
|
||||
}
|
||||
);
|
||||
:pattern => [factory],
|
||||
:defaults => [((val - min) / step).toNumber()]
|
||||
});
|
||||
}
|
||||
|
||||
//! Called when the user has completed picking.
|
||||
@@ -97,4 +98,4 @@ class HomeAssistantNumericPickerDelegate extends WatchUi.PickerDelegate {
|
||||
mPicker.onConfirm(values[0]);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user