remove redundant code and refrences
This commit is contained in:
		@@ -4,8 +4,6 @@ import { NTP_SETTINGS_ENDPOINT }  from  '../constants/Endpoints';
 | 
			
		||||
import {restComponent} from '../components/RestComponent';
 | 
			
		||||
import SectionContent from '../components/SectionContent';
 | 
			
		||||
import NTPSettingsForm from '../forms/NTPSettingsForm';
 | 
			
		||||
import { simpleGet }  from  '../helpers/SimpleGet';
 | 
			
		||||
import { simplePost } from '../helpers/SimplePost';
 | 
			
		||||
 | 
			
		||||
class NTPSettings extends Component {
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -4,8 +4,6 @@ import { OTA_SETTINGS_ENDPOINT }  from  '../constants/Endpoints';
 | 
			
		||||
import {restComponent} from '../components/RestComponent';
 | 
			
		||||
import SectionContent from '../components/SectionContent';
 | 
			
		||||
import OTASettingsForm from '../forms/OTASettingsForm';
 | 
			
		||||
import { simpleGet }  from  '../helpers/SimpleGet';
 | 
			
		||||
import { simplePost } from '../helpers/SimplePost';
 | 
			
		||||
 | 
			
		||||
class OTASettings extends Component {
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -5,24 +5,18 @@ import { WIFI_SETTINGS_ENDPOINT }  from  '../constants/Endpoints';
 | 
			
		||||
import { restComponent } from '../components/RestComponent';
 | 
			
		||||
import SectionContent from '../components/SectionContent';
 | 
			
		||||
import WiFiSettingsForm from '../forms/WiFiSettingsForm';
 | 
			
		||||
import { simpleGet }  from  '../helpers/SimpleGet';
 | 
			
		||||
import { simplePost } from '../helpers/SimplePost';
 | 
			
		||||
 | 
			
		||||
class WiFiSettings extends Component {
 | 
			
		||||
 | 
			
		||||
  constructor(props) {
 | 
			
		||||
    super(props);
 | 
			
		||||
 | 
			
		||||
    this.state = {
 | 
			
		||||
             selectedNetwork: null,
 | 
			
		||||
           };
 | 
			
		||||
    this.deselectNetworkAndLoadData = this.deselectNetworkAndLoadData.bind(this);
 | 
			
		||||
    this.deselectNetwork = this.deselectNetwork.bind(this);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  componentDidMount() {
 | 
			
		||||
    const { selectedNetwork, deselectNetwork } = this.props;
 | 
			
		||||
    if (selectedNetwork){
 | 
			
		||||
    const { selectedNetwork } = this.props;
 | 
			
		||||
    if (selectedNetwork) {
 | 
			
		||||
      var wifiSettings = {
 | 
			
		||||
        ssid:selectedNetwork.ssid,
 | 
			
		||||
        password:"",
 | 
			
		||||
@@ -30,25 +24,18 @@ class WiFiSettings extends Component {
 | 
			
		||||
        static_ip_config:false,
 | 
			
		||||
      }
 | 
			
		||||
      this.props.setData(wifiSettings);
 | 
			
		||||
      this.setState({ selectedNetwork });
 | 
			
		||||
      deselectNetwork();
 | 
			
		||||
    }else {
 | 
			
		||||
    } else {
 | 
			
		||||
      this.props.loadData();
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  deselectNetworkAndLoadData() {
 | 
			
		||||
    this.deselectNetwork();
 | 
			
		||||
    this.props.deselectNetwork();
 | 
			
		||||
    this.props.loadData();
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  deselectNetwork() {
 | 
			
		||||
    this.setState({ selectedNetwork:null });
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  render() {
 | 
			
		||||
    const { selectedNetwork } = this.state;
 | 
			
		||||
    const { data, fetched, errorMessage } = this.props;
 | 
			
		||||
    const { data, fetched, errorMessage, selectedNetwork } = this.props;
 | 
			
		||||
    return (
 | 
			
		||||
      <SectionContent title="WiFi Settings">
 | 
			
		||||
      	<WiFiSettingsForm
 | 
			
		||||
@@ -56,7 +43,7 @@ class WiFiSettings extends Component {
 | 
			
		||||
          wifiSettingsFetched={fetched}
 | 
			
		||||
          errorMessage={errorMessage}
 | 
			
		||||
          selectedNetwork={selectedNetwork}
 | 
			
		||||
          deselectNetwork={this.deselectNetwork}
 | 
			
		||||
          deselectNetwork={this.props.deselectNetwork}
 | 
			
		||||
          onSubmit={this.props.saveData}
 | 
			
		||||
          onReset={this.deselectNetworkAndLoadData}
 | 
			
		||||
          handleValueChange={this.props.handleValueChange}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
import React from 'react';
 | 
			
		||||
import React, {Fragment} from 'react';
 | 
			
		||||
import PropTypes from 'prop-types';
 | 
			
		||||
 | 
			
		||||
import { withStyles } from 'material-ui/styles';
 | 
			
		||||
@@ -142,8 +142,8 @@ class WiFiSettingsForm extends React.Component {
 | 
			
		||||
 | 
			
		||||
        		{
 | 
			
		||||
          		wifiSettings.static_ip_config &&
 | 
			
		||||
          		[
 | 
			
		||||
          			<TextValidator key="local_ip"
 | 
			
		||||
          		<Fragment>
 | 
			
		||||
          			<TextValidator
 | 
			
		||||
          			  validators={['required', 'isIP']}
 | 
			
		||||
          			  errorMessages={['Local IP is required', 'Must be an IP address']}
 | 
			
		||||
          			  name="local_ip"
 | 
			
		||||
@@ -152,8 +152,8 @@ class WiFiSettingsForm extends React.Component {
 | 
			
		||||
          			  value={wifiSettings.local_ip}
 | 
			
		||||
          			  onChange={handleValueChange('local_ip')}
 | 
			
		||||
          			  margin="normal"
 | 
			
		||||
          			/>,
 | 
			
		||||
                <TextValidator key="gateway_ip"
 | 
			
		||||
          			/>
 | 
			
		||||
                <TextValidator
 | 
			
		||||
                  validators={['required', 'isIP']}
 | 
			
		||||
                  errorMessages={['Gateway IP is required', 'Must be an IP address']}
 | 
			
		||||
                  name="gateway_ip"
 | 
			
		||||
@@ -162,8 +162,8 @@ class WiFiSettingsForm extends React.Component {
 | 
			
		||||
                  value={wifiSettings.gateway_ip}
 | 
			
		||||
                  onChange={handleValueChange('gateway_ip')}
 | 
			
		||||
                  margin="normal"
 | 
			
		||||
                />,
 | 
			
		||||
                <TextValidator key="subnet_mask"
 | 
			
		||||
                />
 | 
			
		||||
                <TextValidator
 | 
			
		||||
          			  validators={['required', 'isIP']}
 | 
			
		||||
          			  errorMessages={['Subnet mask is required', 'Must be an IP address']}
 | 
			
		||||
          			  name="subnet_mask"
 | 
			
		||||
@@ -172,8 +172,8 @@ class WiFiSettingsForm extends React.Component {
 | 
			
		||||
          			  value={wifiSettings.subnet_mask}
 | 
			
		||||
          			  onChange={handleValueChange('subnet_mask')}
 | 
			
		||||
                  margin="normal"
 | 
			
		||||
          			/>,
 | 
			
		||||
                <TextValidator key="dns_ip_1"
 | 
			
		||||
          			/>
 | 
			
		||||
                <TextValidator
 | 
			
		||||
          			  validators={['isOptionalIP']}
 | 
			
		||||
          			  errorMessages={['Must be an IP address']}
 | 
			
		||||
          			  name="dns_ip_1"
 | 
			
		||||
@@ -182,8 +182,8 @@ class WiFiSettingsForm extends React.Component {
 | 
			
		||||
          			  value={wifiSettings.dns_ip_1}
 | 
			
		||||
          			  onChange={handleValueChange('dns_ip_1')}
 | 
			
		||||
                  margin="normal"
 | 
			
		||||
          			/>,
 | 
			
		||||
                <TextValidator key="dns_ip_2"
 | 
			
		||||
          			/>
 | 
			
		||||
                <TextValidator
 | 
			
		||||
          			  validators={['isOptionalIP']}
 | 
			
		||||
          			  errorMessages={['Must be an IP address']}
 | 
			
		||||
          			  name="dns_ip_2"
 | 
			
		||||
@@ -193,7 +193,7 @@ class WiFiSettingsForm extends React.Component {
 | 
			
		||||
          			  onChange={handleValueChange('dns_ip_2')}
 | 
			
		||||
                  margin="normal"
 | 
			
		||||
          			/>
 | 
			
		||||
          		]
 | 
			
		||||
          		</Fragment>
 | 
			
		||||
      		  }
 | 
			
		||||
 | 
			
		||||
          <Button variant="raised" color="primary" className={classes.button} type="submit">
 | 
			
		||||
 
 | 
			
		||||
@@ -1,35 +0,0 @@
 | 
			
		||||
/**
 | 
			
		||||
* Executes a get request for an endpoint, updating the local state of the calling
 | 
			
		||||
* component. The calling component must bind setState before using this
 | 
			
		||||
* function.
 | 
			
		||||
*
 | 
			
		||||
* This is designed for re-use in simple situations, we arn't using redux here!
 | 
			
		||||
*/
 | 
			
		||||
export const simpleGet = (
 | 
			
		||||
  endpointUrl,
 | 
			
		||||
  setState,
 | 
			
		||||
  raiseNotification = null,
 | 
			
		||||
  dataKey="status",
 | 
			
		||||
  fetchedKey="fetched",
 | 
			
		||||
  errorMessageKey = "errorMessage"
 | 
			
		||||
) => {
 | 
			
		||||
  setState({
 | 
			
		||||
           [dataKey]:null,
 | 
			
		||||
           [fetchedKey]: false,
 | 
			
		||||
           [errorMessageKey]:null
 | 
			
		||||
         });
 | 
			
		||||
  fetch(endpointUrl)
 | 
			
		||||
    .then(response => {
 | 
			
		||||
      if (response.status === 200) {
 | 
			
		||||
        return response.json();
 | 
			
		||||
      }
 | 
			
		||||
      throw Error("Invalid status code: " + response.status);
 | 
			
		||||
    })
 | 
			
		||||
    .then(json => {setState({[dataKey]: json, [fetchedKey]:true})})
 | 
			
		||||
    .catch(error =>{
 | 
			
		||||
      if (raiseNotification) {
 | 
			
		||||
        raiseNotification("Problem fetching: " + error.message);
 | 
			
		||||
      }
 | 
			
		||||
      setState({[dataKey]: null, [fetchedKey]:true, [errorMessageKey]:error.message});
 | 
			
		||||
    });
 | 
			
		||||
}
 | 
			
		||||
@@ -1,38 +0,0 @@
 | 
			
		||||
/**
 | 
			
		||||
* Executes a post request for saving data to an endpoint, updating the local
 | 
			
		||||
* state with the response. The calling component must bind setState before
 | 
			
		||||
* using this function.
 | 
			
		||||
*
 | 
			
		||||
* This is designed for re-use in simple situations, we arn't using redux here!
 | 
			
		||||
*/
 | 
			
		||||
export const simplePost = (
 | 
			
		||||
  endpointUrl,
 | 
			
		||||
  state,
 | 
			
		||||
  setState,
 | 
			
		||||
  raiseNotification = null,
 | 
			
		||||
  dataKey="settings",
 | 
			
		||||
  fetchedKey="fetched",
 | 
			
		||||
  errorMessageKey = "errorMessage"
 | 
			
		||||
) => {
 | 
			
		||||
  setState({[fetchedKey]: false});
 | 
			
		||||
  fetch(endpointUrl, {
 | 
			
		||||
    method: 'POST',
 | 
			
		||||
    body: JSON.stringify(state[dataKey]),
 | 
			
		||||
    headers: new Headers({
 | 
			
		||||
      'Content-Type': 'application/json'
 | 
			
		||||
    })
 | 
			
		||||
  })
 | 
			
		||||
  .then(response => {
 | 
			
		||||
    if (response.status === 200) {
 | 
			
		||||
      return response.json();
 | 
			
		||||
    }
 | 
			
		||||
    throw Error("Invalid status code: " + response.status);
 | 
			
		||||
  })
 | 
			
		||||
  .then(json => {
 | 
			
		||||
    raiseNotification("Changes successfully applied.");
 | 
			
		||||
    setState({[dataKey]: json, [fetchedKey]:true});
 | 
			
		||||
  }).catch(error => {
 | 
			
		||||
    raiseNotification("Problem saving: " + error.message);
 | 
			
		||||
    setState({[dataKey]: null, [fetchedKey]:true, [errorMessageKey]:error.message});
 | 
			
		||||
  });
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user