Add access point IP address configuration in UI
* Allow ap ip address to be configured via ui * Add missing WiFi status to UI enum * Update package-lock.json
This commit is contained in:
3436
interface/package-lock.json
generated
3436
interface/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -4,15 +4,20 @@ import { TextValidator, ValidatorForm, SelectValidator } from 'react-material-ui
|
||||
import MenuItem from '@material-ui/core/MenuItem';
|
||||
import SaveIcon from '@material-ui/icons/Save';
|
||||
|
||||
import {PasswordValidator, RestFormProps, FormActions, FormButton} from '../components';
|
||||
import { PasswordValidator, RestFormProps, FormActions, FormButton } from '../components';
|
||||
|
||||
import { isAPEnabled } from './APModes';
|
||||
import { APSettings, APProvisionMode } from './types';
|
||||
import { isIP } from '../validators';
|
||||
|
||||
type APSettingsFormProps = RestFormProps<APSettings>;
|
||||
|
||||
class APSettingsForm extends React.Component<APSettingsFormProps> {
|
||||
|
||||
componentWillMount() {
|
||||
ValidatorForm.addValidationRule('isIP', isIP);
|
||||
}
|
||||
|
||||
render() {
|
||||
const { data, handleValueChange, saveData, loadData } = this.props;
|
||||
return (
|
||||
@ -53,6 +58,39 @@ class APSettingsForm extends React.Component<APSettingsFormProps> {
|
||||
onChange={handleValueChange('password')}
|
||||
margin="normal"
|
||||
/>
|
||||
<TextValidator
|
||||
validators={['required', 'isIP']}
|
||||
errorMessages={['Local IP is required', 'Must be an IP address']}
|
||||
name="local_ip"
|
||||
label="Local IP"
|
||||
fullWidth
|
||||
variant="outlined"
|
||||
value={data.local_ip}
|
||||
onChange={handleValueChange('local_ip')}
|
||||
margin="normal"
|
||||
/>
|
||||
<TextValidator
|
||||
validators={['required', 'isIP']}
|
||||
errorMessages={['Gateway IP is required', 'Must be an IP address']}
|
||||
name="gateway_ip"
|
||||
label="Gateway"
|
||||
fullWidth
|
||||
variant="outlined"
|
||||
value={data.gateway_ip}
|
||||
onChange={handleValueChange('gateway_ip')}
|
||||
margin="normal"
|
||||
/>
|
||||
<TextValidator
|
||||
validators={['required', 'isIP']}
|
||||
errorMessages={['Subnet mask is required', 'Must be an IP address']}
|
||||
name="subnet_mask"
|
||||
label="Subnet"
|
||||
fullWidth
|
||||
variant="outlined"
|
||||
value={data.subnet_mask}
|
||||
onChange={handleValueChange('subnet_mask')}
|
||||
margin="normal"
|
||||
/>
|
||||
</Fragment>
|
||||
}
|
||||
<FormActions>
|
||||
|
@ -21,4 +21,7 @@ export interface APSettings {
|
||||
provision_mode: APProvisionMode;
|
||||
ssid: string;
|
||||
password: string;
|
||||
local_ip: string;
|
||||
gateway_ip: string;
|
||||
subnet_mask: string;
|
||||
}
|
||||
|
@ -60,7 +60,7 @@ const SingleUpload: FC<SingleUploadProps> = ({ onDrop, onCancel, accept, uploadi
|
||||
}
|
||||
return "Uploading\u2026";
|
||||
}
|
||||
return "Drop file here or click to browse";
|
||||
return "Drop file or click here";
|
||||
}
|
||||
|
||||
const renderProgress = (progress?: ProgressEvent) => (
|
||||
|
@ -7,6 +7,7 @@ export const wifiStatusHighlight = ({ status }: WiFiStatus, theme: Theme) => {
|
||||
switch (status) {
|
||||
case WiFiConnectionStatus.WIFI_STATUS_IDLE:
|
||||
case WiFiConnectionStatus.WIFI_STATUS_DISCONNECTED:
|
||||
case WiFiConnectionStatus.WIFI_STATUS_NO_SHIELD:
|
||||
return theme.palette.info.main;
|
||||
case WiFiConnectionStatus.WIFI_STATUS_CONNECTED:
|
||||
return theme.palette.success.main;
|
||||
@ -20,6 +21,8 @@ export const wifiStatusHighlight = ({ status }: WiFiStatus, theme: Theme) => {
|
||||
|
||||
export const wifiStatus = ({ status }: WiFiStatus) => {
|
||||
switch (status) {
|
||||
case WiFiConnectionStatus.WIFI_STATUS_NO_SHIELD:
|
||||
return "Inactive";
|
||||
case WiFiConnectionStatus.WIFI_STATUS_IDLE:
|
||||
return "Idle";
|
||||
case WiFiConnectionStatus.WIFI_STATUS_NO_SSID_AVAIL:
|
||||
|
@ -4,7 +4,8 @@ export enum WiFiConnectionStatus {
|
||||
WIFI_STATUS_CONNECTED = 3,
|
||||
WIFI_STATUS_CONNECT_FAILED = 4,
|
||||
WIFI_STATUS_CONNECTION_LOST = 5,
|
||||
WIFI_STATUS_DISCONNECTED = 6
|
||||
WIFI_STATUS_DISCONNECTED = 6,
|
||||
WIFI_STATUS_NO_SHIELD = 255
|
||||
}
|
||||
|
||||
export enum WiFiEncryptionType {
|
||||
|
Reference in New Issue
Block a user