+
diff --git a/rust/src_webpack/src/plant.ts b/rust/src_webpack/src/plant.ts
index 4705cd8..3407da3 100644
--- a/rust/src_webpack/src/plant.ts
+++ b/rust/src_webpack/src/plant.ts
@@ -49,6 +49,8 @@ export class PlantViews {
}
}
+
+
export class PlantView {
private readonly moistureSensorMinFrequency: HTMLInputElement;
private readonly moistureSensorMaxFrequency: HTMLInputElement;
@@ -186,6 +188,43 @@ export class PlantView {
};
}
+ updateVisibility(plantConfig: PlantConfig) {
+ let sensorOnly = document.getElementsByClassName("plantSensorEnabledOnly_"+ this.plantId)
+ let pumpOnly = document.getElementsByClassName("plantPumpEnabledOnly_"+ this.plantId)
+ let targetOnly = document.getElementsByClassName("plantTargetEnabledOnly_"+ this.plantId)
+
+ console.log("updateVisibility plantConfig: " + plantConfig.mode)
+ let showSensor = plantConfig.sensor_a || plantConfig.sensor_b
+ let showPump = plantConfig.mode !== "OFF"
+ let showTarget = plantConfig.mode === "TargetMoisture"
+
+ console.log("updateVisibility showsensor: " + showSensor + " pump " + showPump + " target " +showTarget)
+
+ for (const element of Array.from(sensorOnly)) {
+ if (showSensor) {
+ element.classList.remove("plantHidden_" + this.plantId)
+ } else {
+ element.classList.add("plantHidden_" + this.plantId)
+ }
+ }
+
+ for (const element of Array.from(pumpOnly)) {
+ if (showPump) {
+ element.classList.remove("plantHidden_" + this.plantId)
+ } else {
+ element.classList.add("plantHidden_" + this.plantId)
+ }
+ }
+
+ for (const element of Array.from(targetOnly)) {
+ if (showTarget) {
+ element.classList.remove("plantHidden_" + this.plantId)
+ } else {
+ element.classList.add("plantHidden_" + this.plantId)
+ }
+ }
+ }
+
setTestResult(result: PumpTestResult) {
this.pump_current_result.innerText = "Did abort " + result.error + " median current " + result.median_current_ma + " max current " + result.max_current_ma + " min current " + result.min_current_ma
}
@@ -214,10 +253,13 @@ export class PlantView {
plantConfig.moisture_sensor_min_frequency?.toString() || "";
this.moistureSensorMaxFrequency.value =
plantConfig.moisture_sensor_max_frequency?.toString() || "";
+
+ this.updateVisibility(plantConfig);
}
getConfig(): PlantConfig {
- return {
+
+ let conv: PlantConfig = {
mode: this.mode.value,
target_moisture: this.targetMoisture.valueAsNumber,
pump_time_s: this.pumpTimeS.valueAsNumber,
@@ -233,5 +275,7 @@ export class PlantView {
max_pump_current_ma: this.maxPumpCurrentMa.valueAsNumber,
ignore_current_error: this.ignoreCurrentError.checked,
};
+ this.updateVisibility(conv);
+ return conv;
}
}
\ No newline at end of file