Deleted .idea/.gitignore, .idea/clion.iml, .idea/misc.xml, .idea/modules.xml, .idea/platformio.iml, .idea/serialmonitor_settings.xml, .idea/vcs.xml, .idea/watcherTasks.xml files

This commit is contained in:
2020-12-08 15:12:15 +00:00
parent c28bde9f2b
commit 24f6a8a95f
208 changed files with 25332 additions and 335 deletions

View File

@@ -0,0 +1,84 @@
import React, {Component} from 'react';
import {ValidatorForm} from 'react-material-ui-form-validator';
import {Typography, Box, TextField} from '@material-ui/core';
import SaveIcon from '@material-ui/icons/Save';
import {ENDPOINT_ROOT} from '../api';
import {
restController,
RestControllerProps,
RestFormLoader,
FormActions,
FormButton,
SectionContent,
} from '../components';
import {SettingsState} from './types';
export const LIGHT_SETTINGS_ENDPOINT = ENDPOINT_ROOT + "settings";
type LightStateRestControllerProps = RestControllerProps<SettingsState>;
class SettingsController extends Component<LightStateRestControllerProps> {
componentDidMount() {
this.props.loadData();
}
render() {
return (
<SectionContent title='Einstellungen' titleGutter>
<RestFormLoader
{...this.props}
render={props => {
const {data, saveData, handleValueChange} = props;
return (
<ValidatorForm onSubmit={saveData}>
<Box bgcolor="primary.main" color="primary.contrastText" p={2} mt={2} mb={2}>
<Typography variant="body1">
Die unten eingegebenen Werte werden nach klick des 'SAVE' Buttons übernommen und überleben einen Neustart.
</Typography>
</Box>
<div>
<TextField value={data.maxpumpduration} fullWidth={true} type='number'
id="maxpumpduration" label="Maximale Pumpdauer [sec]"
onChange={handleValueChange('maxpumpduration')}/>
</div>
<div>
<TextField value={data.waterOutageWaitDuration} fullWidth={true} type='number'
id="waterOutageWaitDuration" label="Wartezeit nach Wasserausfall [sec]"
onChange={handleValueChange('waterOutageWaitDuration')}/>
</div>
<div>
<TextField value={data.heatUp} fullWidth={true} type='number' id="heatUp"
label="Obere Luftfeuchtigkeitsschwelle [%]"
onChange={handleValueChange('heatUp')}/>
</div>
<div>
<TextField value={data.heatLow} fullWidth={true} type='number' id="heatLow"
label="Untere Luftfeuchtigkeitsschwelle [%]"
onChange={handleValueChange('heatLow')}/>
</div>
<div>
<TextField value={data.fanRuntime} fullWidth={true} type='number' id="fanRuntime"
label="Nachlaufzeit Lüfter [sec]"
onChange={handleValueChange('fanRuntime')}/>
</div>
<FormActions>
<FormButton startIcon={<SaveIcon/>} variant="contained" color="primary"
type="submit">Save
</FormButton>
</FormActions>
</ValidatorForm>
)
}}
/>
</SectionContent>
)
}
}
export default restController(LIGHT_SETTINGS_ENDPOINT, SettingsController);