Merge pull request #505 from Fisker-Inc/CEC-4072
CEC-4072 - IDPS Enabled
This commit is contained in:
@@ -11343,6 +11343,44 @@ exports[`App Route /vehicle-add authenticated 1`] = `
|
|||||||
</fieldset>
|
</fieldset>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<label
|
||||||
|
class="MuiFormControlLabel-root"
|
||||||
|
>
|
||||||
|
<span
|
||||||
|
aria-disabled="false"
|
||||||
|
class="MuiButtonBase-root MuiIconButton-root PrivateSwitchBase-root-0 MuiCheckbox-root MuiCheckbox-colorSecondary PrivateSwitchBase-checked-0 Mui-checked MuiIconButton-colorSecondary"
|
||||||
|
>
|
||||||
|
<span
|
||||||
|
class="MuiIconButton-label"
|
||||||
|
>
|
||||||
|
<input
|
||||||
|
checked=""
|
||||||
|
class="PrivateSwitchBase-input-0"
|
||||||
|
data-indeterminate="false"
|
||||||
|
type="checkbox"
|
||||||
|
value=""
|
||||||
|
/>
|
||||||
|
<svg
|
||||||
|
aria-hidden="true"
|
||||||
|
class="MuiSvgIcon-root"
|
||||||
|
focusable="false"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
d="M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
|
</span>
|
||||||
|
<span
|
||||||
|
class="MuiTouchRipple-root"
|
||||||
|
/>
|
||||||
|
</span>
|
||||||
|
<span
|
||||||
|
class="MuiTypography-root MuiFormControlLabel-label MuiTypography-body1"
|
||||||
|
>
|
||||||
|
IDPS Enabled
|
||||||
|
</span>
|
||||||
|
</label>
|
||||||
<button
|
<button
|
||||||
class="MuiButtonBase-root MuiButton-root MuiButton-contained makeStyles-submit-0 MuiButton-containedPrimary MuiButton-fullWidth"
|
class="MuiButtonBase-root MuiButton-root MuiButton-contained makeStyles-submit-0 MuiButton-containedPrimary MuiButton-fullWidth"
|
||||||
tabindex="0"
|
tabindex="0"
|
||||||
@@ -12373,6 +12411,21 @@ exports[`App Route /vehicle-status authenticated 1`] = `
|
|||||||
false
|
false
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
<div
|
||||||
|
class="MuiGrid-root makeStyles-textCenterAlign-0 MuiGrid-item MuiGrid-grid-md-12"
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
class="MuiBox-root MuiBox-root-0"
|
||||||
|
>
|
||||||
|
<p>
|
||||||
|
<b>
|
||||||
|
IDPS Enabled
|
||||||
|
</b>
|
||||||
|
:
|
||||||
|
true
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div
|
<div
|
||||||
class="MuiGrid-root makeStyles-textCenterAlign-0 MuiGrid-item MuiGrid-grid-md-12"
|
class="MuiGrid-root makeStyles-textCenterAlign-0 MuiGrid-item MuiGrid-grid-md-12"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ const DEFAULT_CANBUS_ENABLED = false;
|
|||||||
const DEFAULT_DATA_LOGGER_ENABLED = false;
|
const DEFAULT_DATA_LOGGER_ENABLED = false;
|
||||||
const DEFAULT_MAX_MEM_BUFFER_SIZE = 0;
|
const DEFAULT_MAX_MEM_BUFFER_SIZE = 0;
|
||||||
const DEFAULT_MAX_DISK_BUFFER_SIZE = 0;
|
const DEFAULT_MAX_DISK_BUFFER_SIZE = 0;
|
||||||
|
const DEFAULT_IDPS_ENABLED = true;
|
||||||
|
|
||||||
export default forwardRef(({
|
export default forwardRef(({
|
||||||
ids = [],
|
ids = [],
|
||||||
@@ -36,6 +37,7 @@ export default forwardRef(({
|
|||||||
|
|
||||||
const [selectedLogLevel, setSelectedLogLevel] = useState(DEFAULT_LOG_LEVEL);
|
const [selectedLogLevel, setSelectedLogLevel] = useState(DEFAULT_LOG_LEVEL);
|
||||||
const [canbusEnabled, setCANBusEnabled] = useState(DEFAULT_CANBUS_ENABLED);
|
const [canbusEnabled, setCANBusEnabled] = useState(DEFAULT_CANBUS_ENABLED);
|
||||||
|
const [idpsEnabled, setIDPSEnabled] = useState(DEFAULT_IDPS_ENABLED);
|
||||||
const [dataLoggerEnabled, setDataLoggerEnabled] = useState(DEFAULT_DATA_LOGGER_ENABLED);
|
const [dataLoggerEnabled, setDataLoggerEnabled] = useState(DEFAULT_DATA_LOGGER_ENABLED);
|
||||||
const [maxMemBufferSize, setMaxMemBufferSize] = useState(DEFAULT_MAX_MEM_BUFFER_SIZE);
|
const [maxMemBufferSize, setMaxMemBufferSize] = useState(DEFAULT_MAX_MEM_BUFFER_SIZE);
|
||||||
const [maxDiskBufferSize, setMaxDiskBufferSize] = useState(DEFAULT_MAX_DISK_BUFFER_SIZE);
|
const [maxDiskBufferSize, setMaxDiskBufferSize] = useState(DEFAULT_MAX_DISK_BUFFER_SIZE);
|
||||||
@@ -62,7 +64,8 @@ export default forwardRef(({
|
|||||||
data_logger_enabled: canbusEnabled ? dataLoggerEnabled : false,
|
data_logger_enabled: canbusEnabled ? dataLoggerEnabled : false,
|
||||||
max_mem_buffer_size: parseInt(maxMemBufferSize),
|
max_mem_buffer_size: parseInt(maxMemBufferSize),
|
||||||
max_disk_buffer_size: parseInt(maxDiskBufferSize),
|
max_disk_buffer_size: parseInt(maxDiskBufferSize),
|
||||||
}
|
},
|
||||||
|
idps_enabled: idpsEnabled,
|
||||||
};
|
};
|
||||||
|
|
||||||
await fleetsAPI
|
await fleetsAPI
|
||||||
@@ -135,6 +138,10 @@ export default forwardRef(({
|
|||||||
setCANBusEnabled(event.target.checked);
|
setCANBusEnabled(event.target.checked);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const onIDPSChange = (event) => {
|
||||||
|
setIDPSEnabled(event.target.checked);
|
||||||
|
}
|
||||||
|
|
||||||
const onDataLoggerChange = (event) => {
|
const onDataLoggerChange = (event) => {
|
||||||
setDataLoggerEnabled(event.target.checked);
|
setDataLoggerEnabled(event.target.checked);
|
||||||
}
|
}
|
||||||
@@ -151,12 +158,13 @@ export default forwardRef(({
|
|||||||
if (!toFleet) {
|
if (!toFleet) {
|
||||||
setSelectedLogLevel(DEFAULT_LOG_LEVEL);
|
setSelectedLogLevel(DEFAULT_LOG_LEVEL);
|
||||||
setCANBusEnabled(DEFAULT_CANBUS_ENABLED);
|
setCANBusEnabled(DEFAULT_CANBUS_ENABLED);
|
||||||
|
setIDPSEnabled(DEFAULT_IDPS_ENABLED);
|
||||||
setDataLoggerEnabled(DEFAULT_DATA_LOGGER_ENABLED);
|
setDataLoggerEnabled(DEFAULT_DATA_LOGGER_ENABLED);
|
||||||
setMaxMemBufferSize(DEFAULT_MAX_MEM_BUFFER_SIZE);
|
setMaxMemBufferSize(DEFAULT_MAX_MEM_BUFFER_SIZE);
|
||||||
setMaxDiskBufferSize(DEFAULT_MAX_DISK_BUFFER_SIZE);
|
setMaxDiskBufferSize(DEFAULT_MAX_DISK_BUFFER_SIZE);
|
||||||
}
|
}
|
||||||
}, [
|
}, [
|
||||||
toFleet, setSelectedLogLevel, setCANBusEnabled,
|
toFleet, setSelectedLogLevel, setCANBusEnabled, setIDPSEnabled,
|
||||||
setDataLoggerEnabled, setMaxMemBufferSize, setMaxDiskBufferSize
|
setDataLoggerEnabled, setMaxMemBufferSize, setMaxDiskBufferSize
|
||||||
]);
|
]);
|
||||||
|
|
||||||
@@ -165,9 +173,10 @@ export default forwardRef(({
|
|||||||
setDataLoggerEnabled(DEFAULT_DATA_LOGGER_ENABLED);
|
setDataLoggerEnabled(DEFAULT_DATA_LOGGER_ENABLED);
|
||||||
setMaxMemBufferSize(DEFAULT_MAX_MEM_BUFFER_SIZE);
|
setMaxMemBufferSize(DEFAULT_MAX_MEM_BUFFER_SIZE);
|
||||||
setMaxDiskBufferSize(DEFAULT_MAX_DISK_BUFFER_SIZE);
|
setMaxDiskBufferSize(DEFAULT_MAX_DISK_BUFFER_SIZE);
|
||||||
|
setIDPSEnabled(DEFAULT_IDPS_ENABLED)
|
||||||
}
|
}
|
||||||
}, [
|
}, [
|
||||||
canbusEnabled, setDataLoggerEnabled, setMaxMemBufferSize,
|
canbusEnabled, setDataLoggerEnabled, setIDPSEnabled, setMaxMemBufferSize,
|
||||||
setMaxDiskBufferSize,
|
setMaxDiskBufferSize,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
@@ -237,6 +246,13 @@ export default forwardRef(({
|
|||||||
disabled={!toFleet}
|
disabled={!toFleet}
|
||||||
/>
|
/>
|
||||||
} label="CAN Bus Enabled" />
|
} label="CAN Bus Enabled" />
|
||||||
|
<FormControlLabel control={
|
||||||
|
<Checkbox
|
||||||
|
checked={idpsEnabled}
|
||||||
|
onChange={onIDPSChange}
|
||||||
|
disabled={!toFleet}
|
||||||
|
/>
|
||||||
|
} label="IDPS Enabled" />
|
||||||
<FormControlLabel control={
|
<FormControlLabel control={
|
||||||
<Checkbox
|
<Checkbox
|
||||||
checked={dataLoggerEnabled}
|
checked={dataLoggerEnabled}
|
||||||
|
|||||||
@@ -603,6 +603,44 @@ exports[`VehicleAddForm Render 1`] = `
|
|||||||
</fieldset>
|
</fieldset>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<label
|
||||||
|
class="MuiFormControlLabel-root"
|
||||||
|
>
|
||||||
|
<span
|
||||||
|
aria-disabled="false"
|
||||||
|
class="MuiButtonBase-root MuiIconButton-root PrivateSwitchBase-root-0 MuiCheckbox-root MuiCheckbox-colorSecondary PrivateSwitchBase-checked-0 Mui-checked MuiIconButton-colorSecondary"
|
||||||
|
>
|
||||||
|
<span
|
||||||
|
class="MuiIconButton-label"
|
||||||
|
>
|
||||||
|
<input
|
||||||
|
checked=""
|
||||||
|
class="PrivateSwitchBase-input-0"
|
||||||
|
data-indeterminate="false"
|
||||||
|
type="checkbox"
|
||||||
|
value=""
|
||||||
|
/>
|
||||||
|
<svg
|
||||||
|
aria-hidden="true"
|
||||||
|
class="MuiSvgIcon-root"
|
||||||
|
focusable="false"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
d="M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
|
</span>
|
||||||
|
<span
|
||||||
|
class="MuiTouchRipple-root"
|
||||||
|
/>
|
||||||
|
</span>
|
||||||
|
<span
|
||||||
|
class="MuiTypography-root MuiFormControlLabel-label MuiTypography-body1"
|
||||||
|
>
|
||||||
|
IDPS Enabled
|
||||||
|
</span>
|
||||||
|
</label>
|
||||||
<button
|
<button
|
||||||
class="MuiButtonBase-root MuiButton-root MuiButton-contained makeStyles-submit-0 MuiButton-containedPrimary MuiButton-fullWidth"
|
class="MuiButtonBase-root MuiButton-root MuiButton-contained makeStyles-submit-0 MuiButton-containedPrimary MuiButton-fullWidth"
|
||||||
tabindex="0"
|
tabindex="0"
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ const MainForm = () => {
|
|||||||
const [vin, setVIN] = useState("");
|
const [vin, setVIN] = useState("");
|
||||||
const [selectedLogLevel, setSelectedLogLevel] = useState("info");
|
const [selectedLogLevel, setSelectedLogLevel] = useState("info");
|
||||||
const [canbusEnabled, setCANBusEnabled] = useState(true);
|
const [canbusEnabled, setCANBusEnabled] = useState(true);
|
||||||
|
const [idpsEnabled, setIDPSEnabled] = useState(true);
|
||||||
const [dataLoggerEnabled, setDataLoggerEnabled] = useState(false);
|
const [dataLoggerEnabled, setDataLoggerEnabled] = useState(false);
|
||||||
const [maxMemBufferSize, setMaxMemBufferSize] = useState(0);
|
const [maxMemBufferSize, setMaxMemBufferSize] = useState(0);
|
||||||
const [maxDiskBufferSize, setMaxDiskBufferSize] = useState(0);
|
const [maxDiskBufferSize, setMaxDiskBufferSize] = useState(0);
|
||||||
@@ -62,6 +63,10 @@ const MainForm = () => {
|
|||||||
setCANBusEnabled(event.target.checked);
|
setCANBusEnabled(event.target.checked);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const onIDPSChange = (event) => {
|
||||||
|
setIDPSEnabled(event.target.checked);
|
||||||
|
}
|
||||||
|
|
||||||
const onDataLoggerChange = (event) => {
|
const onDataLoggerChange = (event) => {
|
||||||
setDataLoggerEnabled(event.target.checked);
|
setDataLoggerEnabled(event.target.checked);
|
||||||
}
|
}
|
||||||
@@ -91,7 +96,8 @@ const MainForm = () => {
|
|||||||
max_mem_buffer_size: canbusEnabled ? parseInt(maxMemBufferSize) : 0,
|
max_mem_buffer_size: canbusEnabled ? parseInt(maxMemBufferSize) : 0,
|
||||||
max_disk_buffer_size: canbusEnabled && dataLoggerEnabled ? parseInt(maxDiskBufferSize) : 0,
|
max_disk_buffer_size: canbusEnabled && dataLoggerEnabled ? parseInt(maxDiskBufferSize) : 0,
|
||||||
dtc_enabled: dtcEnabled
|
dtc_enabled: dtcEnabled
|
||||||
}
|
},
|
||||||
|
idps_enabled: idpsEnabled,
|
||||||
};
|
};
|
||||||
|
|
||||||
const result = await addVehicle(formData, token);
|
const result = await addVehicle(formData, token);
|
||||||
@@ -195,6 +201,12 @@ const MainForm = () => {
|
|||||||
required
|
required
|
||||||
fullWidth
|
fullWidth
|
||||||
/>
|
/>
|
||||||
|
<FormControlLabel control={
|
||||||
|
<Checkbox
|
||||||
|
checked={idpsEnabled}
|
||||||
|
onChange={onIDPSChange}
|
||||||
|
/>
|
||||||
|
} label="IDPS Enabled" />
|
||||||
<Button
|
<Button
|
||||||
type="submit"
|
type="submit"
|
||||||
disabled={busy}
|
disabled={busy}
|
||||||
|
|||||||
@@ -162,6 +162,21 @@ exports[`VehicleDetailsTab Render 1`] = `
|
|||||||
false
|
false
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
<div
|
||||||
|
class="MuiGrid-root makeStyles-textCenterAlign-0 MuiGrid-item MuiGrid-grid-md-12"
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
class="MuiBox-root MuiBox-root-0"
|
||||||
|
>
|
||||||
|
<p>
|
||||||
|
<b>
|
||||||
|
IDPS Enabled
|
||||||
|
</b>
|
||||||
|
:
|
||||||
|
true
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div
|
<div
|
||||||
class="MuiGrid-root makeStyles-textCenterAlign-0 MuiGrid-item MuiGrid-grid-md-12"
|
class="MuiGrid-root makeStyles-textCenterAlign-0 MuiGrid-item MuiGrid-grid-md-12"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -161,6 +161,21 @@ const MainForm = ({ vin }) => {
|
|||||||
</p>
|
</p>
|
||||||
)}
|
)}
|
||||||
</Grid>
|
</Grid>
|
||||||
|
<Grid
|
||||||
|
item
|
||||||
|
md={12}
|
||||||
|
className={classes.textCenterAlign}
|
||||||
|
>
|
||||||
|
<Box sx={{
|
||||||
|
display: "flex",
|
||||||
|
justifyContent: "center",
|
||||||
|
alignItems: "flex-end"
|
||||||
|
}}>
|
||||||
|
<p>
|
||||||
|
<b>IDPS Enabled</b>: {(vehicle.idps_enabled || false).toString()}
|
||||||
|
</p>
|
||||||
|
</Box>
|
||||||
|
</Grid>
|
||||||
{showDebugMask && (
|
{showDebugMask && (
|
||||||
<Grid item md={12} className={classes.textCenterAlign}>
|
<Grid item md={12} className={classes.textCenterAlign}>
|
||||||
<p>
|
<p>
|
||||||
|
|||||||
@@ -170,6 +170,21 @@ exports[`DetailsTab Render 1`] = `
|
|||||||
false
|
false
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
<div
|
||||||
|
class="MuiGrid-root makeStyles-textCenterAlign-0 MuiGrid-item MuiGrid-grid-md-12"
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
class="MuiBox-root MuiBox-root-0"
|
||||||
|
>
|
||||||
|
<p>
|
||||||
|
<b>
|
||||||
|
IDPS Enabled
|
||||||
|
</b>
|
||||||
|
:
|
||||||
|
true
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div
|
<div
|
||||||
class="MuiGrid-root makeStyles-textCenterAlign-0 MuiGrid-item MuiGrid-grid-md-12"
|
class="MuiGrid-root makeStyles-textCenterAlign-0 MuiGrid-item MuiGrid-grid-md-12"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -352,6 +352,21 @@ exports[`CarStatus Render 1`] = `
|
|||||||
false
|
false
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
<div
|
||||||
|
class="MuiGrid-root makeStyles-textCenterAlign-0 MuiGrid-item MuiGrid-grid-md-12"
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
class="MuiBox-root MuiBox-root-0"
|
||||||
|
>
|
||||||
|
<p>
|
||||||
|
<b>
|
||||||
|
IDPS Enabled
|
||||||
|
</b>
|
||||||
|
:
|
||||||
|
false
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div
|
<div
|
||||||
class="MuiGrid-root makeStyles-textCenterAlign-0 MuiGrid-item MuiGrid-grid-md-12"
|
class="MuiGrid-root makeStyles-textCenterAlign-0 MuiGrid-item MuiGrid-grid-md-12"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -1178,6 +1178,44 @@ exports[`VehicleUpdate Render 1`] = `
|
|||||||
</fieldset>
|
</fieldset>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<label
|
||||||
|
class="MuiFormControlLabel-root"
|
||||||
|
>
|
||||||
|
<span
|
||||||
|
aria-disabled="false"
|
||||||
|
class="MuiButtonBase-root MuiIconButton-root PrivateSwitchBase-root-0 MuiCheckbox-root MuiCheckbox-colorSecondary PrivateSwitchBase-checked-0 Mui-checked MuiIconButton-colorSecondary"
|
||||||
|
>
|
||||||
|
<span
|
||||||
|
class="MuiIconButton-label"
|
||||||
|
>
|
||||||
|
<input
|
||||||
|
checked=""
|
||||||
|
class="PrivateSwitchBase-input-0"
|
||||||
|
data-indeterminate="false"
|
||||||
|
type="checkbox"
|
||||||
|
value=""
|
||||||
|
/>
|
||||||
|
<svg
|
||||||
|
aria-hidden="true"
|
||||||
|
class="MuiSvgIcon-root"
|
||||||
|
focusable="false"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
d="M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
|
</span>
|
||||||
|
<span
|
||||||
|
class="MuiTouchRipple-root"
|
||||||
|
/>
|
||||||
|
</span>
|
||||||
|
<span
|
||||||
|
class="MuiTypography-root MuiFormControlLabel-label MuiTypography-body1"
|
||||||
|
>
|
||||||
|
IDPS Enabled
|
||||||
|
</span>
|
||||||
|
</label>
|
||||||
<button
|
<button
|
||||||
class="MuiButtonBase-root MuiButton-root MuiButton-contained makeStyles-submit-0 MuiButton-containedPrimary MuiButton-fullWidth"
|
class="MuiButtonBase-root MuiButton-root MuiButton-contained makeStyles-submit-0 MuiButton-containedPrimary MuiButton-fullWidth"
|
||||||
tabindex="0"
|
tabindex="0"
|
||||||
|
|||||||
@@ -47,6 +47,7 @@ const MainForm = () => {
|
|||||||
const infoSourceEl = useRef(null);
|
const infoSourceEl = useRef(null);
|
||||||
const [selectedLogLevel, setSelectedLogLevel] = useState("info");
|
const [selectedLogLevel, setSelectedLogLevel] = useState("info");
|
||||||
const [canbusEnabled, setCANBusEnabled] = useState(true);
|
const [canbusEnabled, setCANBusEnabled] = useState(true);
|
||||||
|
const [idpsEnabled, setIDPSEnabled] = useState(true);
|
||||||
const [dataLoggerEnabled, setDataLoggerEnabled] = useState(false);
|
const [dataLoggerEnabled, setDataLoggerEnabled] = useState(false);
|
||||||
const [maxMemBufferSize, setMaxMemBufferSize] = useState(0);
|
const [maxMemBufferSize, setMaxMemBufferSize] = useState(0);
|
||||||
const [maxDiskBufferSize, setMaxDiskBufferSize] = useState(0);
|
const [maxDiskBufferSize, setMaxDiskBufferSize] = useState(0);
|
||||||
@@ -116,6 +117,8 @@ const MainForm = () => {
|
|||||||
debugMaskEl.current.value = vehicle.debug_mask ?? ""
|
debugMaskEl.current.value = vehicle.debug_mask ?? ""
|
||||||
}
|
}
|
||||||
|
|
||||||
|
setIDPSEnabled(vehicle.idps_enabled ?? idpsEnabled);
|
||||||
|
|
||||||
tagsEl.current.value = vehicle.tags ?? ""
|
tagsEl.current.value = vehicle.tags ?? ""
|
||||||
|
|
||||||
// eslint-disable-next-line react-hooks/exhaustive-deps
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||||
@@ -129,6 +132,10 @@ const MainForm = () => {
|
|||||||
setCANBusEnabled(event.target.checked);
|
setCANBusEnabled(event.target.checked);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const onIDPSChange = (event) => {
|
||||||
|
setIDPSEnabled(event.target.checked);
|
||||||
|
}
|
||||||
|
|
||||||
const onDataLoggerChange = (event) => {
|
const onDataLoggerChange = (event) => {
|
||||||
setDataLoggerEnabled(event.target.checked);
|
setDataLoggerEnabled(event.target.checked);
|
||||||
}
|
}
|
||||||
@@ -181,7 +188,8 @@ const MainForm = () => {
|
|||||||
},
|
},
|
||||||
dlt_enabled: dltEnabled,
|
dlt_enabled: dltEnabled,
|
||||||
dlt_level: dltEnabled ? parseInt(dltLevel) : 0,
|
dlt_level: dltEnabled ? parseInt(dltLevel) : 0,
|
||||||
debug_mask: debugMaskEl.current?.value
|
debug_mask: debugMaskEl.current?.value,
|
||||||
|
idps_enabled: idpsEnabled,
|
||||||
};
|
};
|
||||||
|
|
||||||
const result = await updateVehicle(vin, formData, token);
|
const result = await updateVehicle(vin, formData, token);
|
||||||
@@ -508,6 +516,12 @@ const MainForm = () => {
|
|||||||
inputRef={debugMaskEl}
|
inputRef={debugMaskEl}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
|
<FormControlLabel control={
|
||||||
|
<Checkbox
|
||||||
|
checked={idpsEnabled}
|
||||||
|
onChange={onIDPSChange}
|
||||||
|
/>
|
||||||
|
} label="IDPS Enabled" />
|
||||||
<Button
|
<Button
|
||||||
type="submit"
|
type="submit"
|
||||||
disabled={busy}
|
disabled={busy}
|
||||||
|
|||||||
@@ -142,6 +142,7 @@ describe("FleetContext", () => {
|
|||||||
name: "EU-WEST",
|
name: "EU-WEST",
|
||||||
log_level: "warning",
|
log_level: "warning",
|
||||||
canbus: { enabled: false },
|
canbus: { enabled: false },
|
||||||
|
idps_enabled: true,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
@@ -222,6 +223,7 @@ describe("FleetContext", () => {
|
|||||||
name: "EU-WEST",
|
name: "EU-WEST",
|
||||||
log_level: "warning",
|
log_level: "warning",
|
||||||
canbus: { enabled: false },
|
canbus: { enabled: false },
|
||||||
|
idps_enabled: true,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
@@ -761,6 +763,7 @@ const expectedFleetData = {
|
|||||||
max_disk_buffer_size: 2,
|
max_disk_buffer_size: 2,
|
||||||
filters: expectedFilters,
|
filters: expectedFilters,
|
||||||
},
|
},
|
||||||
|
idps_enabled: true,
|
||||||
vehicles: ["USWESTVIN12345678", "USWESTVIN12345679", "USWESTVIN12345670"],
|
vehicles: ["USWESTVIN12345678", "USWESTVIN12345679", "USWESTVIN12345670"],
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -775,6 +778,7 @@ const expectedFleetsData = [
|
|||||||
max_disk_buffer_size: 2,
|
max_disk_buffer_size: 2,
|
||||||
filters: expectedFilters,
|
filters: expectedFilters,
|
||||||
},
|
},
|
||||||
|
idps_enabled: true,
|
||||||
vehicles: ["USWESTVIN12345678", "USWESTVIN12345679", "USWESTVIN12345670"],
|
vehicles: ["USWESTVIN12345678", "USWESTVIN12345679", "USWESTVIN12345670"],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -786,12 +790,14 @@ const expectedFleetsData = [
|
|||||||
max_mem_buffer_size: 0,
|
max_mem_buffer_size: 0,
|
||||||
max_disk_buffer_size: 0,
|
max_disk_buffer_size: 0,
|
||||||
},
|
},
|
||||||
|
idps_enabled: true,
|
||||||
vehicles: ["USCENTVIN12345678", "USCENTVIN12345679", "USCENTVIN12345670"],
|
vehicles: ["USCENTVIN12345678", "USCENTVIN12345679", "USCENTVIN12345670"],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "US-EAST",
|
name: "US-EAST",
|
||||||
log_level: "error",
|
log_level: "error",
|
||||||
canbus: { enabled: true },
|
canbus: { enabled: true },
|
||||||
|
idps_enabled: true,
|
||||||
vehicles: ["USEASTVIN12345678", "USEASTVIN12345679", "USEASTVIN12345670"],
|
vehicles: ["USEASTVIN12345678", "USEASTVIN12345679", "USEASTVIN12345670"],
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -255,6 +255,7 @@ describe("VehicleContext", () => {
|
|||||||
vin: "3C4PDCBG0ET127145",
|
vin: "3C4PDCBG0ET127145",
|
||||||
log_level: "warning",
|
log_level: "warning",
|
||||||
canbus: { enabled: false },
|
canbus: { enabled: false },
|
||||||
|
idps_enabled: true,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
@@ -394,6 +395,7 @@ const expectedVehicleData = {
|
|||||||
max_disk_buffer_size: 2,
|
max_disk_buffer_size: 2,
|
||||||
filters: expectedFilters,
|
filters: expectedFilters,
|
||||||
},
|
},
|
||||||
|
idps_enabled: true,
|
||||||
iccid: "8988300000000000000",
|
iccid: "8988300000000000000",
|
||||||
connected: true,
|
connected: true,
|
||||||
connectedHMI: false,
|
connectedHMI: false,
|
||||||
@@ -414,6 +416,7 @@ const expectedVehiclesData = [
|
|||||||
max_disk_buffer_size: 2,
|
max_disk_buffer_size: 2,
|
||||||
filters: expectedFilters,
|
filters: expectedFilters,
|
||||||
},
|
},
|
||||||
|
idps_enabled: true,
|
||||||
iccid: "8988300000000000000",
|
iccid: "8988300000000000000",
|
||||||
connected: true,
|
connected: true,
|
||||||
connectedHMI: false,
|
connectedHMI: false,
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ let fleet = {
|
|||||||
name: "US-WEST",
|
name: "US-WEST",
|
||||||
log_level: "info",
|
log_level: "info",
|
||||||
canbus: { enabled: true, data_logger_enabled: true, max_mem_buffer_size: 1, max_disk_buffer_size: 2, filters: fleetCANFilters },
|
canbus: { enabled: true, data_logger_enabled: true, max_mem_buffer_size: 1, max_disk_buffer_size: 2, filters: fleetCANFilters },
|
||||||
|
idps_enabled: true,
|
||||||
vehicles: ["USWESTVIN12345678", "USWESTVIN12345679", "USWESTVIN12345670"],
|
vehicles: ["USWESTVIN12345678", "USWESTVIN12345679", "USWESTVIN12345670"],
|
||||||
vehicles_count: 3,
|
vehicles_count: 3,
|
||||||
}
|
}
|
||||||
@@ -27,6 +28,7 @@ let fleets = [
|
|||||||
name: "US-WEST",
|
name: "US-WEST",
|
||||||
log_level: "info",
|
log_level: "info",
|
||||||
canbus: { enabled: true, data_logger_enabled: true, max_mem_buffer_size: 1, max_disk_buffer_size: 2, filters: fleetCANFilters },
|
canbus: { enabled: true, data_logger_enabled: true, max_mem_buffer_size: 1, max_disk_buffer_size: 2, filters: fleetCANFilters },
|
||||||
|
idps_enabled: true,
|
||||||
vehicles: ["USWESTVIN12345678", "USWESTVIN12345679", "USWESTVIN12345670"],
|
vehicles: ["USWESTVIN12345678", "USWESTVIN12345679", "USWESTVIN12345670"],
|
||||||
vehicles_count: 3,
|
vehicles_count: 3,
|
||||||
},
|
},
|
||||||
@@ -34,6 +36,7 @@ let fleets = [
|
|||||||
name: "US-CENTRAL",
|
name: "US-CENTRAL",
|
||||||
log_level: "warning",
|
log_level: "warning",
|
||||||
canbus: { enabled: false, data_logger_enabled: false, max_mem_buffer_size: 0, max_disk_buffer_size: 0 },
|
canbus: { enabled: false, data_logger_enabled: false, max_mem_buffer_size: 0, max_disk_buffer_size: 0 },
|
||||||
|
idps_enabled: true,
|
||||||
vehicles: ["USCENTVIN12345678", "USCENTVIN12345679", "USCENTVIN12345670"],
|
vehicles: ["USCENTVIN12345678", "USCENTVIN12345679", "USCENTVIN12345670"],
|
||||||
vehicles_count: 3,
|
vehicles_count: 3,
|
||||||
},
|
},
|
||||||
@@ -41,6 +44,7 @@ let fleets = [
|
|||||||
name: "US-EAST",
|
name: "US-EAST",
|
||||||
log_level: "error",
|
log_level: "error",
|
||||||
canbus: { enabled: true },
|
canbus: { enabled: true },
|
||||||
|
idps_enabled: true,
|
||||||
vehicles: ["USEASTVIN12345678", "USEASTVIN12345679", "USEASTVIN12345670"],
|
vehicles: ["USEASTVIN12345678", "USEASTVIN12345679", "USEASTVIN12345670"],
|
||||||
vehicles_count: 3,
|
vehicles_count: 3,
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ let vehicle = {
|
|||||||
max_disk_buffer_size: 2,
|
max_disk_buffer_size: 2,
|
||||||
filters: filters,
|
filters: filters,
|
||||||
},
|
},
|
||||||
|
idps_enabled: true,
|
||||||
};
|
};
|
||||||
let vehicleState = {
|
let vehicleState = {
|
||||||
data: {
|
data: {
|
||||||
|
|||||||
@@ -27,6 +27,10 @@ const tableColumns = [
|
|||||||
id: "data_logger_enabled",
|
id: "data_logger_enabled",
|
||||||
label: "Data Logger Enabled"
|
label: "Data Logger Enabled"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
id: "idps_enabled",
|
||||||
|
label: "IDPS Enabled"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
id: "num_vehicles",
|
id: "num_vehicles",
|
||||||
label: "Vehicles"
|
label: "Vehicles"
|
||||||
@@ -159,6 +163,7 @@ const FleetSelectionTable = (props) => {
|
|||||||
<TableCell align="center">{row.log_level}</TableCell>
|
<TableCell align="center">{row.log_level}</TableCell>
|
||||||
<TableCell align="center">{row.canbus.enabled ? "true" : "false"}</TableCell>
|
<TableCell align="center">{row.canbus.enabled ? "true" : "false"}</TableCell>
|
||||||
<TableCell align="center">{row.canbus.data_logger_enabled ? "true" : "false"}</TableCell>
|
<TableCell align="center">{row.canbus.data_logger_enabled ? "true" : "false"}</TableCell>
|
||||||
|
<TableCell align="center">{row.idps_enabled ? "true" : "false"}</TableCell>
|
||||||
<TableCell align="center">{row.vehicles_count || 0}</TableCell>
|
<TableCell align="center">{row.vehicles_count || 0}</TableCell>
|
||||||
<TableCell align="center">{!row.canbus.filters ? 0 : row.canbus.filters.length}</TableCell>
|
<TableCell align="center">{!row.canbus.filters ? 0 : row.canbus.filters.length}</TableCell>
|
||||||
</TableRow>)
|
</TableRow>)
|
||||||
@@ -169,7 +174,7 @@ const FleetSelectionTable = (props) => {
|
|||||||
<TableRow>
|
<TableRow>
|
||||||
<TablePagination
|
<TablePagination
|
||||||
rowsPerPageOptions={[5, 10, 25, 100]}
|
rowsPerPageOptions={[5, 10, 25, 100]}
|
||||||
colSpan={8}
|
colSpan={9}
|
||||||
count={totalFleets}
|
count={totalFleets}
|
||||||
rowsPerPage={pageSize}
|
rowsPerPage={pageSize}
|
||||||
page={pageIndex}
|
page={pageIndex}
|
||||||
|
|||||||
@@ -566,6 +566,44 @@ exports[`FleetAddForm Render 1`] = `
|
|||||||
</fieldset>
|
</fieldset>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<label
|
||||||
|
class="MuiFormControlLabel-root"
|
||||||
|
>
|
||||||
|
<span
|
||||||
|
aria-disabled="false"
|
||||||
|
class="MuiButtonBase-root MuiIconButton-root PrivateSwitchBase-root-0 MuiCheckbox-root MuiCheckbox-colorSecondary PrivateSwitchBase-checked-0 Mui-checked MuiIconButton-colorSecondary"
|
||||||
|
>
|
||||||
|
<span
|
||||||
|
class="MuiIconButton-label"
|
||||||
|
>
|
||||||
|
<input
|
||||||
|
checked=""
|
||||||
|
class="PrivateSwitchBase-input-0"
|
||||||
|
data-indeterminate="false"
|
||||||
|
type="checkbox"
|
||||||
|
value=""
|
||||||
|
/>
|
||||||
|
<svg
|
||||||
|
aria-hidden="true"
|
||||||
|
class="MuiSvgIcon-root"
|
||||||
|
focusable="false"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
d="M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
|
</span>
|
||||||
|
<span
|
||||||
|
class="MuiTouchRipple-root"
|
||||||
|
/>
|
||||||
|
</span>
|
||||||
|
<span
|
||||||
|
class="MuiTypography-root MuiFormControlLabel-label MuiTypography-body1"
|
||||||
|
>
|
||||||
|
IDPS Enabled
|
||||||
|
</span>
|
||||||
|
</label>
|
||||||
<button
|
<button
|
||||||
class="MuiButtonBase-root MuiButton-root MuiButton-contained makeStyles-submit-0 MuiButton-containedPrimary MuiButton-fullWidth"
|
class="MuiButtonBase-root MuiButton-root MuiButton-contained makeStyles-submit-0 MuiButton-containedPrimary MuiButton-fullWidth"
|
||||||
tabindex="0"
|
tabindex="0"
|
||||||
|
|||||||
@@ -34,6 +34,7 @@ const MainForm = () => {
|
|||||||
const nameEl = useRef(null);
|
const nameEl = useRef(null);
|
||||||
const [selectedLogLevel, setSelectedLogLevel] = useState("info");
|
const [selectedLogLevel, setSelectedLogLevel] = useState("info");
|
||||||
const [canbusEnabled, setCANBusEnabled] = useState(true);
|
const [canbusEnabled, setCANBusEnabled] = useState(true);
|
||||||
|
const [idpsEnabled, setIDPSEnabled] = useState(true);
|
||||||
const [dataLoggerEnabled, setDataLoggerEnabled] = useState(false);
|
const [dataLoggerEnabled, setDataLoggerEnabled] = useState(false);
|
||||||
const [maxMemBufferSize, setMaxMemBufferSize] = useState(0);
|
const [maxMemBufferSize, setMaxMemBufferSize] = useState(0);
|
||||||
const [maxDiskBufferSize, setMaxDiskBufferSize] = useState(0);
|
const [maxDiskBufferSize, setMaxDiskBufferSize] = useState(0);
|
||||||
@@ -60,6 +61,10 @@ const MainForm = () => {
|
|||||||
setCANBusEnabled(event.target.checked);
|
setCANBusEnabled(event.target.checked);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const onIDPSChange = (event) => {
|
||||||
|
setIDPSEnabled(event.target.checked);
|
||||||
|
}
|
||||||
|
|
||||||
const onDataLoggerChange = (event) => {
|
const onDataLoggerChange = (event) => {
|
||||||
setDataLoggerEnabled(event.target.checked);
|
setDataLoggerEnabled(event.target.checked);
|
||||||
}
|
}
|
||||||
@@ -84,7 +89,8 @@ const MainForm = () => {
|
|||||||
data_logger_enabled: canbusEnabled ? dataLoggerEnabled : false,
|
data_logger_enabled: canbusEnabled ? dataLoggerEnabled : false,
|
||||||
max_mem_buffer_size: canbusEnabled ? parseInt(maxMemBufferSize) : 0,
|
max_mem_buffer_size: canbusEnabled ? parseInt(maxMemBufferSize) : 0,
|
||||||
max_disk_buffer_size: canbusEnabled && dataLoggerEnabled ? parseInt(maxDiskBufferSize) : 0
|
max_disk_buffer_size: canbusEnabled && dataLoggerEnabled ? parseInt(maxDiskBufferSize) : 0
|
||||||
}
|
},
|
||||||
|
idps_enabled: idpsEnabled,
|
||||||
};
|
};
|
||||||
const result = await addFleet(formData, token);
|
const result = await addFleet(formData, token);
|
||||||
if (!result || result.error) return;
|
if (!result || result.error) return;
|
||||||
@@ -181,6 +187,12 @@ const MainForm = () => {
|
|||||||
required
|
required
|
||||||
fullWidth
|
fullWidth
|
||||||
/>
|
/>
|
||||||
|
<FormControlLabel control={
|
||||||
|
<Checkbox
|
||||||
|
checked={idpsEnabled}
|
||||||
|
onChange={onIDPSChange}
|
||||||
|
/>
|
||||||
|
} label="IDPS Enabled" />
|
||||||
<Button
|
<Button
|
||||||
type="submit"
|
type="submit"
|
||||||
disabled={busy}
|
disabled={busy}
|
||||||
|
|||||||
@@ -94,6 +94,17 @@ exports[`FleetDetailsTab Render 1`] = `
|
|||||||
false
|
false
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
<div
|
||||||
|
class="MuiGrid-root makeStyles-textCenterAlign-0 MuiGrid-item MuiGrid-grid-md-12"
|
||||||
|
>
|
||||||
|
<p>
|
||||||
|
<b>
|
||||||
|
IDPS Enabled
|
||||||
|
</b>
|
||||||
|
:
|
||||||
|
true
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
<div
|
<div
|
||||||
class="MuiGrid-root makeStyles-textCenterAlign-0 MuiGrid-item MuiGrid-grid-md-12"
|
class="MuiGrid-root makeStyles-textCenterAlign-0 MuiGrid-item MuiGrid-grid-md-12"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -76,6 +76,11 @@ const MainForm = ({ name }) => {
|
|||||||
<p><b>DTC Enabled</b>: {(fleet.canbus.dtc_enabled || false).toString()}</p>
|
<p><b>DTC Enabled</b>: {(fleet.canbus.dtc_enabled || false).toString()}</p>
|
||||||
</Grid>
|
</Grid>
|
||||||
)}
|
)}
|
||||||
|
<Grid item md={12} className={classes.textCenterAlign}>
|
||||||
|
<p>
|
||||||
|
<b>IDPS Enabled</b>: {(fleet.idps_enabled || false).toString()}
|
||||||
|
</p>
|
||||||
|
</Grid>
|
||||||
{showDebugMask && (
|
{showDebugMask && (
|
||||||
<Grid item md={12} className={classes.textCenterAlign}>
|
<Grid item md={12} className={classes.textCenterAlign}>
|
||||||
<p>
|
<p>
|
||||||
|
|||||||
@@ -934,6 +934,44 @@ exports[`FleetVehicleAdd Render 1`] = `
|
|||||||
</fieldset>
|
</fieldset>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<label
|
||||||
|
class="MuiFormControlLabel-root"
|
||||||
|
>
|
||||||
|
<span
|
||||||
|
aria-disabled="false"
|
||||||
|
class="MuiButtonBase-root MuiIconButton-root PrivateSwitchBase-root-0 MuiCheckbox-root MuiCheckbox-colorSecondary PrivateSwitchBase-checked-0 Mui-checked MuiIconButton-colorSecondary"
|
||||||
|
>
|
||||||
|
<span
|
||||||
|
class="MuiIconButton-label"
|
||||||
|
>
|
||||||
|
<input
|
||||||
|
checked=""
|
||||||
|
class="PrivateSwitchBase-input-0"
|
||||||
|
data-indeterminate="false"
|
||||||
|
type="checkbox"
|
||||||
|
value=""
|
||||||
|
/>
|
||||||
|
<svg
|
||||||
|
aria-hidden="true"
|
||||||
|
class="MuiSvgIcon-root"
|
||||||
|
focusable="false"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
d="M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
|
</span>
|
||||||
|
<span
|
||||||
|
class="MuiTouchRipple-root"
|
||||||
|
/>
|
||||||
|
</span>
|
||||||
|
<span
|
||||||
|
class="MuiTypography-root MuiFormControlLabel-label MuiTypography-body1"
|
||||||
|
>
|
||||||
|
IDPS Enabled
|
||||||
|
</span>
|
||||||
|
</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -45,6 +45,7 @@ const MainForm = () => {
|
|||||||
const { payload, query, setQuery, loading } = useQuery();
|
const { payload, query, setQuery, loading } = useQuery();
|
||||||
const [selectedLogLevel, setSelectedLogLevel] = useState("info");
|
const [selectedLogLevel, setSelectedLogLevel] = useState("info");
|
||||||
const [canbusEnabled, setCANBusEnabled] = useState(true);
|
const [canbusEnabled, setCANBusEnabled] = useState(true);
|
||||||
|
const [idpsEnabled, setIDPSEnabled] = useState(true);
|
||||||
const [dataLoggerEnabled, setDataLoggerEnabled] = useState(false);
|
const [dataLoggerEnabled, setDataLoggerEnabled] = useState(false);
|
||||||
const [maxMemBufferSize, setMaxMemBufferSize] = useState(0);
|
const [maxMemBufferSize, setMaxMemBufferSize] = useState(0);
|
||||||
const [maxDiskBufferSize, setMaxDiskBufferSize] = useState(0);
|
const [maxDiskBufferSize, setMaxDiskBufferSize] = useState(0);
|
||||||
@@ -100,6 +101,10 @@ const MainForm = () => {
|
|||||||
setCANBusEnabled(event.target.checked);
|
setCANBusEnabled(event.target.checked);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const onIDPSChange = (event) => {
|
||||||
|
setIDPSEnabled(event.target.checked);
|
||||||
|
}
|
||||||
|
|
||||||
const onDataLoggerChange = (event) => {
|
const onDataLoggerChange = (event) => {
|
||||||
setDataLoggerEnabled(event.target.checked);
|
setDataLoggerEnabled(event.target.checked);
|
||||||
}
|
}
|
||||||
@@ -124,7 +129,8 @@ const MainForm = () => {
|
|||||||
data_logger_enabled: canbusEnabled ? dataLoggerEnabled : false,
|
data_logger_enabled: canbusEnabled ? dataLoggerEnabled : false,
|
||||||
max_mem_buffer_size: canbusEnabled ? parseInt(maxMemBufferSize) : 0,
|
max_mem_buffer_size: canbusEnabled ? parseInt(maxMemBufferSize) : 0,
|
||||||
max_disk_buffer_size: canbusEnabled && dataLoggerEnabled ? parseInt(maxDiskBufferSize) : 0
|
max_disk_buffer_size: canbusEnabled && dataLoggerEnabled ? parseInt(maxDiskBufferSize) : 0
|
||||||
}
|
},
|
||||||
|
idps_enabled: idpsEnabled,
|
||||||
};
|
};
|
||||||
|
|
||||||
const result = await addFleetVehicles(name, formData, token);
|
const result = await addFleetVehicles(name, formData, token);
|
||||||
@@ -228,6 +234,12 @@ const MainForm = () => {
|
|||||||
required
|
required
|
||||||
fullWidth
|
fullWidth
|
||||||
/>
|
/>
|
||||||
|
<FormControlLabel control={
|
||||||
|
<Checkbox
|
||||||
|
checked={idpsEnabled}
|
||||||
|
onChange={onIDPSChange}
|
||||||
|
/>
|
||||||
|
} label="IDPS Enabled" />
|
||||||
</Box>
|
</Box>
|
||||||
</AccordionDetails>
|
</AccordionDetails>
|
||||||
</Accordion>
|
</Accordion>
|
||||||
|
|||||||
@@ -102,6 +102,17 @@ exports[`DetailsTab Render 1`] = `
|
|||||||
false
|
false
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
<div
|
||||||
|
class="MuiGrid-root makeStyles-textCenterAlign-0 MuiGrid-item MuiGrid-grid-md-12"
|
||||||
|
>
|
||||||
|
<p>
|
||||||
|
<b>
|
||||||
|
IDPS Enabled
|
||||||
|
</b>
|
||||||
|
:
|
||||||
|
true
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
<div
|
<div
|
||||||
class="MuiGrid-root makeStyles-textCenterAlign-0 MuiGrid-item MuiGrid-grid-md-12"
|
class="MuiGrid-root makeStyles-textCenterAlign-0 MuiGrid-item MuiGrid-grid-md-12"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -191,6 +191,17 @@ exports[`FleetStatus Render 1`] = `
|
|||||||
false
|
false
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
<div
|
||||||
|
class="MuiGrid-root makeStyles-textCenterAlign-0 MuiGrid-item MuiGrid-grid-md-12"
|
||||||
|
>
|
||||||
|
<p>
|
||||||
|
<b>
|
||||||
|
IDPS Enabled
|
||||||
|
</b>
|
||||||
|
:
|
||||||
|
true
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
<div
|
<div
|
||||||
class="MuiGrid-root makeStyles-textCenterAlign-0 MuiGrid-item MuiGrid-grid-md-12"
|
class="MuiGrid-root makeStyles-textCenterAlign-0 MuiGrid-item MuiGrid-grid-md-12"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -200,6 +200,29 @@ exports[`FleetTable Render 1`] = `
|
|||||||
</svg>
|
</svg>
|
||||||
</span>
|
</span>
|
||||||
</th>
|
</th>
|
||||||
|
<th
|
||||||
|
class="MuiTableCell-root MuiTableCell-head MuiTableCell-alignCenter"
|
||||||
|
scope="col"
|
||||||
|
>
|
||||||
|
<span
|
||||||
|
aria-disabled="false"
|
||||||
|
class="MuiButtonBase-root MuiTableSortLabel-root"
|
||||||
|
role="button"
|
||||||
|
tabindex="0"
|
||||||
|
>
|
||||||
|
IDPS Enabled
|
||||||
|
<svg
|
||||||
|
aria-hidden="true"
|
||||||
|
class="MuiSvgIcon-root MuiTableSortLabel-icon MuiTableSortLabel-iconDirectionAsc"
|
||||||
|
focusable="false"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
d="M20 12l-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
|
</span>
|
||||||
|
</th>
|
||||||
<th
|
<th
|
||||||
class="MuiTableCell-root MuiTableCell-head MuiTableCell-alignCenter"
|
class="MuiTableCell-root MuiTableCell-head MuiTableCell-alignCenter"
|
||||||
scope="col"
|
scope="col"
|
||||||
@@ -278,6 +301,11 @@ exports[`FleetTable Render 1`] = `
|
|||||||
>
|
>
|
||||||
true
|
true
|
||||||
</td>
|
</td>
|
||||||
|
<td
|
||||||
|
class="MuiTableCell-root MuiTableCell-body MuiTableCell-alignCenter"
|
||||||
|
>
|
||||||
|
true
|
||||||
|
</td>
|
||||||
<td
|
<td
|
||||||
class="MuiTableCell-root MuiTableCell-body MuiTableCell-alignCenter"
|
class="MuiTableCell-root MuiTableCell-body MuiTableCell-alignCenter"
|
||||||
>
|
>
|
||||||
@@ -316,6 +344,11 @@ exports[`FleetTable Render 1`] = `
|
|||||||
>
|
>
|
||||||
false
|
false
|
||||||
</td>
|
</td>
|
||||||
|
<td
|
||||||
|
class="MuiTableCell-root MuiTableCell-body MuiTableCell-alignCenter"
|
||||||
|
>
|
||||||
|
true
|
||||||
|
</td>
|
||||||
<td
|
<td
|
||||||
class="MuiTableCell-root MuiTableCell-body MuiTableCell-alignCenter"
|
class="MuiTableCell-root MuiTableCell-body MuiTableCell-alignCenter"
|
||||||
>
|
>
|
||||||
@@ -354,6 +387,11 @@ exports[`FleetTable Render 1`] = `
|
|||||||
>
|
>
|
||||||
false
|
false
|
||||||
</td>
|
</td>
|
||||||
|
<td
|
||||||
|
class="MuiTableCell-root MuiTableCell-body MuiTableCell-alignCenter"
|
||||||
|
>
|
||||||
|
true
|
||||||
|
</td>
|
||||||
<td
|
<td
|
||||||
class="MuiTableCell-root MuiTableCell-body MuiTableCell-alignCenter"
|
class="MuiTableCell-root MuiTableCell-body MuiTableCell-alignCenter"
|
||||||
>
|
>
|
||||||
@@ -374,7 +412,7 @@ exports[`FleetTable Render 1`] = `
|
|||||||
>
|
>
|
||||||
<td
|
<td
|
||||||
class="MuiTableCell-root MuiTableCell-footer MuiTablePagination-root"
|
class="MuiTableCell-root MuiTableCell-footer MuiTablePagination-root"
|
||||||
colspan="8"
|
colspan="9"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="MuiToolbar-root MuiToolbar-regular MuiTablePagination-toolbar MuiToolbar-gutters"
|
class="MuiToolbar-root MuiToolbar-regular MuiTablePagination-toolbar MuiToolbar-gutters"
|
||||||
|
|||||||
@@ -640,6 +640,44 @@ exports[`FleetUpdate Render 1`] = `
|
|||||||
</fieldset>
|
</fieldset>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<label
|
||||||
|
class="MuiFormControlLabel-root"
|
||||||
|
>
|
||||||
|
<span
|
||||||
|
aria-disabled="false"
|
||||||
|
class="MuiButtonBase-root MuiIconButton-root PrivateSwitchBase-root-0 MuiCheckbox-root MuiCheckbox-colorSecondary PrivateSwitchBase-checked-0 Mui-checked MuiIconButton-colorSecondary"
|
||||||
|
>
|
||||||
|
<span
|
||||||
|
class="MuiIconButton-label"
|
||||||
|
>
|
||||||
|
<input
|
||||||
|
checked=""
|
||||||
|
class="PrivateSwitchBase-input-0"
|
||||||
|
data-indeterminate="false"
|
||||||
|
type="checkbox"
|
||||||
|
value=""
|
||||||
|
/>
|
||||||
|
<svg
|
||||||
|
aria-hidden="true"
|
||||||
|
class="MuiSvgIcon-root"
|
||||||
|
focusable="false"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
d="M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
|
</span>
|
||||||
|
<span
|
||||||
|
class="MuiTouchRipple-root"
|
||||||
|
/>
|
||||||
|
</span>
|
||||||
|
<span
|
||||||
|
class="MuiTypography-root MuiFormControlLabel-label MuiTypography-body1"
|
||||||
|
>
|
||||||
|
IDPS Enabled
|
||||||
|
</span>
|
||||||
|
</label>
|
||||||
<button
|
<button
|
||||||
class="MuiButtonBase-root MuiButton-root MuiButton-contained makeStyles-submit-0 MuiButton-containedPrimary MuiButton-fullWidth"
|
class="MuiButtonBase-root MuiButton-root MuiButton-contained makeStyles-submit-0 MuiButton-containedPrimary MuiButton-fullWidth"
|
||||||
tabindex="0"
|
tabindex="0"
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ const MainForm = () => {
|
|||||||
const [oldName] = useState(name);
|
const [oldName] = useState(name);
|
||||||
const [selectedLogLevel, setSelectedLogLevel] = useState("info");
|
const [selectedLogLevel, setSelectedLogLevel] = useState("info");
|
||||||
const [canbusEnabled, setCANBusEnabled] = useState(true);
|
const [canbusEnabled, setCANBusEnabled] = useState(true);
|
||||||
|
const [idpsEnabled, setIDPSEnabled] = useState(true);
|
||||||
const [dataLoggerEnabled, setDataLoggerEnabled] = useState(false);
|
const [dataLoggerEnabled, setDataLoggerEnabled] = useState(false);
|
||||||
const [maxMemBufferSize, setMaxMemBufferSize] = useState(0);
|
const [maxMemBufferSize, setMaxMemBufferSize] = useState(0);
|
||||||
const [maxDiskBufferSize, setMaxDiskBufferSize] = useState(0);
|
const [maxDiskBufferSize, setMaxDiskBufferSize] = useState(0);
|
||||||
@@ -89,6 +90,8 @@ const MainForm = () => {
|
|||||||
debugMaskEl.current.value = fleet.debug_mask ?? ""
|
debugMaskEl.current.value = fleet.debug_mask ?? ""
|
||||||
}
|
}
|
||||||
|
|
||||||
|
setIDPSEnabled(fleet.idps_enabled ?? idpsEnabled);
|
||||||
|
|
||||||
// eslint-disable-next-line react-hooks/exhaustive-deps
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||||
}, [fleet]);
|
}, [fleet]);
|
||||||
|
|
||||||
@@ -104,6 +107,10 @@ const MainForm = () => {
|
|||||||
setCANBusEnabled(event.target.checked);
|
setCANBusEnabled(event.target.checked);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const onIDPSChange = (event) => {
|
||||||
|
setIDPSEnabled(event.target.checked);
|
||||||
|
}
|
||||||
|
|
||||||
const onDataLoggerChange = (event) => {
|
const onDataLoggerChange = (event) => {
|
||||||
setDataLoggerEnabled(event.target.checked);
|
setDataLoggerEnabled(event.target.checked);
|
||||||
};
|
};
|
||||||
@@ -133,7 +140,8 @@ const MainForm = () => {
|
|||||||
max_disk_buffer_size: canbusEnabled && dataLoggerEnabled ? parseInt(maxDiskBufferSize) : 0,
|
max_disk_buffer_size: canbusEnabled && dataLoggerEnabled ? parseInt(maxDiskBufferSize) : 0,
|
||||||
dtc_enabled: dtcEnabled
|
dtc_enabled: dtcEnabled
|
||||||
},
|
},
|
||||||
debug_mask: debugMaskEl.current?.value
|
debug_mask: debugMaskEl.current?.value,
|
||||||
|
idps_enabled: idpsEnabled,
|
||||||
};
|
};
|
||||||
|
|
||||||
const result = await updateFleet(oldName, formData, token);
|
const result = await updateFleet(oldName, formData, token);
|
||||||
@@ -267,6 +275,12 @@ const MainForm = () => {
|
|||||||
inputRef={debugMaskEl}
|
inputRef={debugMaskEl}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
|
<FormControlLabel control={
|
||||||
|
<Checkbox
|
||||||
|
checked={idpsEnabled}
|
||||||
|
onChange={onIDPSChange}
|
||||||
|
/>
|
||||||
|
} label="IDPS Enabled" />
|
||||||
<Button
|
<Button
|
||||||
type="submit"
|
type="submit"
|
||||||
disabled={busy}
|
disabled={busy}
|
||||||
|
|||||||
@@ -18,18 +18,21 @@ const fleets = [
|
|||||||
name: "US-WEST",
|
name: "US-WEST",
|
||||||
log_level: "info",
|
log_level: "info",
|
||||||
canbus: { enabled: true, data_logger_enabled: true, max_mem_buffer_size: 1, max_disk_buffer_size: 2, filters: filters },
|
canbus: { enabled: true, data_logger_enabled: true, max_mem_buffer_size: 1, max_disk_buffer_size: 2, filters: filters },
|
||||||
|
idps_enabled: true,
|
||||||
vehicles: ["USWESTVIN12345678", "USWESTVIN12345679", "USWESTVIN12345670"]
|
vehicles: ["USWESTVIN12345678", "USWESTVIN12345679", "USWESTVIN12345670"]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "US-CENTRAL",
|
name: "US-CENTRAL",
|
||||||
log_level: "warning",
|
log_level: "warning",
|
||||||
canbus: { enabled: false, data_logger_enabled: false, max_mem_buffer_size: 0, max_disk_buffer_size: 0 },
|
canbus: { enabled: false, data_logger_enabled: false, max_mem_buffer_size: 0, max_disk_buffer_size: 0 },
|
||||||
|
idps_enabled: true,
|
||||||
vehicles: ["USCENTVIN12345678", "USCENTVIN12345679", "USCENTVIN12345670"]
|
vehicles: ["USCENTVIN12345678", "USCENTVIN12345679", "USCENTVIN12345670"]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "US-EAST",
|
name: "US-EAST",
|
||||||
log_level: "error",
|
log_level: "error",
|
||||||
canbus: { enabled: true },
|
canbus: { enabled: true },
|
||||||
|
idps_enabled: true,
|
||||||
vehicles: ["USEASTVIN12345678", "USEASTVIN12345679", "USEASTVIN12345670"]
|
vehicles: ["USEASTVIN12345678", "USEASTVIN12345679", "USEASTVIN12345670"]
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ const data = [
|
|||||||
ecu_list: "ECUA 2.0.0, ECUB 2.1.1",
|
ecu_list: "ECUA 2.0.0, ECUB 2.1.1",
|
||||||
log_level: "info",
|
log_level: "info",
|
||||||
canbus: { enabled: true, data_logger_enabled: true, max_mem_buffer_size: 1, max_disk_buffer_size: 2, filters: filters },
|
canbus: { enabled: true, data_logger_enabled: true, max_mem_buffer_size: 1, max_disk_buffer_size: 2, filters: filters },
|
||||||
|
idps_enabled: true,
|
||||||
iccid: "8988300000000000000",
|
iccid: "8988300000000000000",
|
||||||
},
|
},
|
||||||
{ vin: "1G1FP87S3GN100062" },
|
{ vin: "1G1FP87S3GN100062" },
|
||||||
|
|||||||
Reference in New Issue
Block a user