import React, { Component, Fragment } from 'react'; import { ValidatorForm, TextValidator, SelectValidator } from 'react-material-ui-form-validator'; import { Checkbox, Typography, Box, Link } from '@material-ui/core'; import SaveIcon from '@material-ui/icons/Save'; import MenuItem from '@material-ui/core/MenuItem'; import { ENDPOINT_ROOT } from '../api'; import { restController, RestControllerProps, RestFormLoader, RestFormProps, FormActions, FormButton, BlockFormControlLabel, SectionContent } from '../components'; import { isIP, isHostname, or } from '../validators'; import { EMSESPSettings } from './EMSESPtypes'; export const EMSESP_SETTINGS_ENDPOINT = ENDPOINT_ROOT + "emsespSettings"; type EMSESPSettingsControllerProps = RestControllerProps; class EMSESPSettingsController extends Component { componentDidMount() { ValidatorForm.addValidationRule('isIPOrHostname', or(isIP, isHostname)); this.props.loadData(); } render() { return ( ( )} /> ) } } export default restController(EMSESP_SETTINGS_ENDPOINT, EMSESPSettingsController); type EMSESPSettingsControllerFormProps = RestFormProps; function EMSESPSettingsControllerForm(props: EMSESPSettingsControllerFormProps) { const { data, saveData, loadData, handleValueChange } = props; return ( Customize EMS-ESP by editing the default settings here. Refer to the {'Wiki'} for descriptions of each setting. Service Key (0x0B) Modem (0x0D) Terminal (0x0A) Time Module (0x0F) Alarm Module (0x12) } label="Shower Timer" /> } label="Shower Alert" /> OFF ERR INFO DEBUG {data.syslog_level !== -1 && } } variant="contained" color="primary" type="submit"> Save Reset ); }