Move wifi routing
This commit is contained in:
		@@ -8,13 +8,13 @@ import AuthenticationWrapper from './authentication/AuthenticationWrapper';
 | 
			
		||||
import AuthenticatedRoute from './authentication/AuthenticatedRoute';
 | 
			
		||||
import UnauthenticatedRoute from './authentication/UnauthenticatedRoute';
 | 
			
		||||
 | 
			
		||||
// containers
 | 
			
		||||
import WiFiConfiguration from './containers/WiFiConfiguration';
 | 
			
		||||
import NTPConfiguration from './containers/NTPConfiguration';
 | 
			
		||||
import OTAConfiguration from './containers/OTAConfiguration';
 | 
			
		||||
import APConfiguration from './containers/APConfiguration';
 | 
			
		||||
import SignInPage from './containers/SignInPage';
 | 
			
		||||
import Security from './containers/Security';
 | 
			
		||||
 | 
			
		||||
import Security from './sections/Security';
 | 
			
		||||
import WiFiConnection from './sections/WiFiConnection';
 | 
			
		||||
 | 
			
		||||
class AppRouting extends Component {
 | 
			
		||||
 | 
			
		||||
@@ -27,7 +27,7 @@ class AppRouting extends Component {
 | 
			
		||||
      <AuthenticationWrapper>
 | 
			
		||||
        <Switch>
 | 
			
		||||
          <UnauthenticatedRoute exact path="/" component={SignInPage} />
 | 
			
		||||
          <AuthenticatedRoute exact path="/wifi-configuration" component={WiFiConfiguration} />
 | 
			
		||||
          <AuthenticatedRoute exact path="/wifi/*" component={WiFiConnection} />
 | 
			
		||||
          <AuthenticatedRoute exact path="/ap-configuration" component={APConfiguration} />
 | 
			
		||||
          <AuthenticatedRoute exact path="/ntp-configuration" component={NTPConfiguration} />
 | 
			
		||||
          <AuthenticatedRoute exact path="/ota-configuration" component={OTAConfiguration} />
 | 
			
		||||
 
 | 
			
		||||
@@ -21,7 +21,7 @@ export function fetchLoginRedirect() {
 | 
			
		||||
  const loginSearch = localStorage.getItem(LOGIN_SEARCH);
 | 
			
		||||
  clearLoginRedirect();
 | 
			
		||||
  return {
 | 
			
		||||
    pathname: loginPathname || "/wifi-configuration",
 | 
			
		||||
    pathname: loginPathname || "/wifi/",
 | 
			
		||||
    search: (loginPathname && loginSearch) || undefined
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -113,7 +113,7 @@ class MenuAppBar extends React.Component {
 | 
			
		||||
        </Toolbar>
 | 
			
		||||
        <Divider />
 | 
			
		||||
        <List>
 | 
			
		||||
          <ListItem button component={Link} to='/wifi-configuration'>
 | 
			
		||||
          <ListItem button component={Link} to='/wifi/'>
 | 
			
		||||
            <ListItemIcon>
 | 
			
		||||
              <WifiIcon />
 | 
			
		||||
            </ListItemIcon>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,54 +0,0 @@
 | 
			
		||||
import React, { Component } from 'react';
 | 
			
		||||
 | 
			
		||||
import Tabs from '@material-ui/core/Tabs';
 | 
			
		||||
import Tab from '@material-ui/core/Tab';
 | 
			
		||||
 | 
			
		||||
import MenuAppBar from '../components/MenuAppBar';
 | 
			
		||||
import WiFiNetworkScanner from './WiFiNetworkScanner';
 | 
			
		||||
import WiFiSettings from './WiFiSettings';
 | 
			
		||||
import WiFiStatus from './WiFiStatus';
 | 
			
		||||
 | 
			
		||||
class WiFiConfiguration extends Component {
 | 
			
		||||
 | 
			
		||||
  constructor(props) {
 | 
			
		||||
    super(props);
 | 
			
		||||
    this.state = {
 | 
			
		||||
        selectedTab: "wifiStatus",
 | 
			
		||||
        selectedNetwork: null
 | 
			
		||||
    };
 | 
			
		||||
    this.selectNetwork = this.selectNetwork.bind(this);
 | 
			
		||||
    this.deselectNetwork = this.deselectNetwork.bind(this);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // TODO - slightly inapproperate use of callback ref possibly.
 | 
			
		||||
  selectNetwork(network) {
 | 
			
		||||
    this.setState({ selectedTab: "wifiSettings", selectedNetwork:network });
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // deselects the network after the settings component mounts.
 | 
			
		||||
  deselectNetwork(network) {
 | 
			
		||||
    this.setState({ selectedNetwork:null });
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  handleTabChange = (event, selectedTab) => {
 | 
			
		||||
    this.setState({ selectedTab });
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  render() {
 | 
			
		||||
    const { selectedTab } = this.state;
 | 
			
		||||
    return (
 | 
			
		||||
      <MenuAppBar sectionTitle="WiFi Configuration">
 | 
			
		||||
        <Tabs value={selectedTab} onChange={this.handleTabChange} indicatorColor="primary" textColor="primary" variant="fullWidth">
 | 
			
		||||
           <Tab value="wifiStatus" label="WiFi Status" />
 | 
			
		||||
           <Tab value="networkScanner" label="Network Scanner" />
 | 
			
		||||
           <Tab value="wifiSettings" label="WiFi Settings" />
 | 
			
		||||
         </Tabs>
 | 
			
		||||
         {selectedTab === "wifiStatus" && <WiFiStatus />}
 | 
			
		||||
         {selectedTab === "networkScanner" && <WiFiNetworkScanner selectNetwork={this.selectNetwork} />}
 | 
			
		||||
         {selectedTab === "wifiSettings" && <WiFiSettings deselectNetwork={this.deselectNetwork} selectedNetwork={this.state.selectedNetwork} />}
 | 
			
		||||
      </MenuAppBar>
 | 
			
		||||
    )
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export default WiFiConfiguration;
 | 
			
		||||
@@ -6,8 +6,8 @@ import Tab from '@material-ui/core/Tab';
 | 
			
		||||
 | 
			
		||||
import AuthenticatedRoute from '../authentication/AuthenticatedRoute';
 | 
			
		||||
import MenuAppBar from '../components/MenuAppBar';
 | 
			
		||||
import ManageUsers from './ManageUsers';
 | 
			
		||||
import SecuritySettings from './SecuritySettings';
 | 
			
		||||
import ManageUsers from '../containers/ManageUsers';
 | 
			
		||||
import SecuritySettings from '../containers/SecuritySettings';
 | 
			
		||||
 | 
			
		||||
class Security extends Component {
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										72
									
								
								interface/src/sections/WiFiConnection.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										72
									
								
								interface/src/sections/WiFiConnection.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,72 @@
 | 
			
		||||
import React, { Component } from 'react';
 | 
			
		||||
import { Redirect, Switch } from 'react-router-dom'
 | 
			
		||||
 | 
			
		||||
import Tabs from '@material-ui/core/Tabs';
 | 
			
		||||
import Tab from '@material-ui/core/Tab';
 | 
			
		||||
 | 
			
		||||
import AuthenticatedRoute from '../authentication/AuthenticatedRoute';
 | 
			
		||||
import MenuAppBar from '../components/MenuAppBar';
 | 
			
		||||
import WiFiNetworkScanner from '../containers/WiFiNetworkScanner';
 | 
			
		||||
import WiFiSettings from '../containers/WiFiSettings';
 | 
			
		||||
import WiFiStatus from '../containers/WiFiStatus';
 | 
			
		||||
 | 
			
		||||
class WiFiConnection extends Component {
 | 
			
		||||
 | 
			
		||||
  constructor(props) {
 | 
			
		||||
    super(props);
 | 
			
		||||
    this.state = {
 | 
			
		||||
      selectedNetwork: null
 | 
			
		||||
    };
 | 
			
		||||
    this.selectNetwork = this.selectNetwork.bind(this);
 | 
			
		||||
    this.deselectNetwork = this.deselectNetwork.bind(this);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  selectNetwork(network) {
 | 
			
		||||
    this.setState({ selectedNetwork: network });
 | 
			
		||||
    this.props.history.push('/wifi/settings');
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  deselectNetwork(network) {
 | 
			
		||||
    this.setState({ selectedNetwork: null });
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  handleTabChange = (event, path) => {
 | 
			
		||||
    this.props.history.push(path);
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  render() {
 | 
			
		||||
    const ConfiguredWiFiNetworkScanner = (props) => {
 | 
			
		||||
      return (
 | 
			
		||||
        <WiFiNetworkScanner
 | 
			
		||||
          selectNetwork={this.selectNetwork}
 | 
			
		||||
          {...props}
 | 
			
		||||
        />
 | 
			
		||||
      );
 | 
			
		||||
    };
 | 
			
		||||
    const ConfiguredWiFiSettings = (props) => {
 | 
			
		||||
      return (
 | 
			
		||||
        <WiFiSettings
 | 
			
		||||
          deselectNetwork={this.deselectNetwork} selectedNetwork={this.state.selectedNetwork}
 | 
			
		||||
          {...props}
 | 
			
		||||
        />
 | 
			
		||||
      );
 | 
			
		||||
    };
 | 
			
		||||
    return (
 | 
			
		||||
      <MenuAppBar sectionTitle="WiFi Connection">
 | 
			
		||||
        <Tabs value={this.props.match.url} onChange={this.handleTabChange} indicatorColor="primary" textColor="primary" variant="fullWidth">
 | 
			
		||||
          <Tab value="/wifi/status" label="WiFi Status" />
 | 
			
		||||
          <Tab value="/wifi/scan" label="Scan Networks" />
 | 
			
		||||
          <Tab value="/wifi/settings" label="WiFi Settings" />
 | 
			
		||||
        </Tabs>
 | 
			
		||||
        <Switch>
 | 
			
		||||
          <AuthenticatedRoute exact={true} path="/wifi/status" component={WiFiStatus} />
 | 
			
		||||
          <AuthenticatedRoute exact={true} path="/wifi/scan" component={ConfiguredWiFiNetworkScanner} />
 | 
			
		||||
          <AuthenticatedRoute exact={true} path="/wifi/settings" component={ConfiguredWiFiSettings} />
 | 
			
		||||
          <Redirect to="/wifi/status" />
 | 
			
		||||
        </Switch>
 | 
			
		||||
      </MenuAppBar>
 | 
			
		||||
    )
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export default WiFiConnection;
 | 
			
		||||
		Reference in New Issue
	
	Block a user