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