Skip to content

Commit 38d47a7

Browse files
add delay to reading deletion and always show toggles
1 parent 6724d9a commit 38d47a7

File tree

7 files changed

+23
-17
lines changed

7 files changed

+23
-17
lines changed

frontend/css/panels/sensors.scss

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@
2020
font-size: 1.2rem;
2121
background: $translucent1_white;
2222
border-radius: 0.5rem;
23+
max-height: 50rem;
24+
overflow: scroll;
2325
th,
2426
td {
2527
width: 1%;

frontend/farm_designer/index.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,6 @@ export class RawFarmDesigner
188188
showZones={show_zones}
189189
showSensorReadings={show_sensor_readings}
190190
showMoistureInterpolationMap={show_moisture_interpolation_map}
191-
hasSensorReadings={this.props.sensorReadings.length > 0}
192191
dispatch={this.props.dispatch}
193192
timeSettings={this.props.timeSettings}
194193
getConfigValue={this.props.getConfigValue}

frontend/farm_designer/map/interfaces.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,6 @@ export interface GardenMapLegendProps {
5353
showZones: boolean;
5454
showSensorReadings: boolean;
5555
showMoistureInterpolationMap: boolean;
56-
hasSensorReadings: boolean;
5756
dispatch: Function;
5857
timeSettings: TimeSettings;
5958
getConfigValue: GetWebAppConfigValue;

frontend/farm_designer/map/legend/__tests__/garden_map_legend_test.tsx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@ describe("<GardenMapLegend />", () => {
4545
showZones: false,
4646
showSensorReadings: false,
4747
showMoistureInterpolationMap: false,
48-
hasSensorReadings: false,
4948
dispatch: jest.fn(),
5049
timeSettings: fakeTimeSettings(),
5150
getConfigValue: jest.fn(),
@@ -69,7 +68,6 @@ describe("<GardenMapLegend />", () => {
6968

7069
it("renders with readings", () => {
7170
const p = fakeProps();
72-
p.hasSensorReadings = true;
7371
const wrapper = mount(<GardenMapLegend {...p} />);
7472
expect(wrapper.text().toLowerCase()).toContain("readings");
7573
});

frontend/farm_designer/map/legend/garden_map_legend.tsx

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -203,18 +203,16 @@ const LayerToggles = (props: LayerTogglesProps) => {
203203
value={props.showZones}
204204
label={DeviceSetting.showAreas}
205205
onClick={toggle(BooleanSetting.show_zones)} />
206-
{props.hasSensorReadings &&
207-
<LayerToggle
208-
settingName={BooleanSetting.show_sensor_readings}
209-
value={props.showSensorReadings}
210-
label={DeviceSetting.showReadings}
211-
onClick={toggle(BooleanSetting.show_sensor_readings)} />}
212-
{props.hasSensorReadings &&
213-
<LayerToggle
214-
settingName={BooleanSetting.show_moisture_interpolation_map}
215-
value={props.showMoistureInterpolationMap}
216-
label={DeviceSetting.showMoisture}
217-
onClick={toggle(BooleanSetting.show_moisture_interpolation_map)} />}
206+
<LayerToggle
207+
settingName={BooleanSetting.show_sensor_readings}
208+
value={props.showSensorReadings}
209+
label={DeviceSetting.showReadings}
210+
onClick={toggle(BooleanSetting.show_sensor_readings)} />
211+
<LayerToggle
212+
settingName={BooleanSetting.show_moisture_interpolation_map}
213+
value={props.showMoistureInterpolationMap}
214+
label={DeviceSetting.showMoisture}
215+
onClick={toggle(BooleanSetting.show_moisture_interpolation_map)} />
218216
</div>;
219217
};
220218

frontend/sensors/sensor_readings/__tests__/sensor_readings_test.tsx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import {
1212
} from "../../../__test_support__/fake_state/resources";
1313
import { fakeTimeSettings } from "../../../__test_support__/fake_time_settings";
1414
import { destroy } from "../../../api/crud";
15+
import { busy } from "../../../toast/toast";
1516

1617
describe("<SensorReadings />", () => {
1718
const fakeProps = (): SensorReadingsProps => ({
@@ -105,22 +106,27 @@ describe("<SensorReadings />", () => {
105106
});
106107

107108
it("deletes selected readings", () => {
109+
jest.useFakeTimers();
108110
window.confirm = () => true;
109111
const p = fakeProps();
110112
const wrapper = mount<SensorReadings>(<SensorReadings {...p} />);
111113
const reading = fakeSensorReading();
112114
reading.uuid = "uuid0";
113115
wrapper.instance().deleteSelected([reading])();
116+
jest.runAllTimers();
114117
expect(destroy).toHaveBeenCalledWith("uuid0");
118+
expect(busy).toHaveBeenCalledWith("Deleting 1 sensor readings...");
115119
});
116120

117121
it("doesn't delete selected readings", () => {
122+
jest.useFakeTimers();
118123
window.confirm = () => false;
119124
const p = fakeProps();
120125
const wrapper = mount<SensorReadings>(<SensorReadings {...p} />);
121126
const reading = fakeSensorReading();
122127
reading.uuid = "uuid0";
123128
wrapper.instance().deleteSelected([reading])();
129+
jest.runAllTimers();
124130
expect(destroy).not.toHaveBeenCalled();
125131
});
126132
});

frontend/sensors/sensor_readings/sensor_readings.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import { SensorReadingsPlot } from "./graph";
1515
import { Position } from "@blueprintjs/core";
1616
import { AddSensorReadingMenu } from "./add_reading";
1717
import { destroy } from "../../api/crud";
18+
import { busy } from "../../toast/toast";
1819

1920
export class SensorReadings
2021
extends React.Component<SensorReadingsProps, SensorReadingsState> {
@@ -51,7 +52,10 @@ export class SensorReadings
5152
if (!confirm(t("Delete {{count}} sensor readings?", {
5253
count: readings.length,
5354
}))) { return; }
54-
readings.map(reading => this.props.dispatch(destroy(reading.uuid)));
55+
busy(t("Deleting {{count}} sensor readings...", { count: readings.length }));
56+
readings.map((reading, index) => {
57+
setTimeout(() => this.props.dispatch(destroy(reading.uuid)), index * 250);
58+
});
5559
};
5660

5761
toggleAddReadingMenu = () => {

0 commit comments

Comments
 (0)