adding button for clearing all of the scans, including ones that were replaced by new scans
This commit is contained in:
parent
efb3c9eb59
commit
14126fd7c5
4 changed files with 47 additions and 4 deletions
2
package-lock.json
generated
2
package-lock.json
generated
|
|
@ -10953,7 +10953,7 @@
|
||||||
},
|
},
|
||||||
"node_modules/protobuf-ts": {
|
"node_modules/protobuf-ts": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"resolved": "git+https://gitlab+deploy-token-50627:hv8mB4WkyvtjBpJKU1rN@gitlab.com/brandx/protobuf-ts.git#9dcc83dddad31d4a4d8a002ec31475cbb83f0689",
|
"resolved": "git+https://gitlab+deploy-token-50627:hv8mB4WkyvtjBpJKU1rN@gitlab.com/brandx/protobuf-ts.git#910e6c4dd322a52a7f0c82d5bde650d8ccfff548",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"protobufjs": "^6.8.8"
|
"protobufjs": "^6.8.8"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -41,6 +41,7 @@ export default function DeviceScannedComponents(props: Props){
|
||||||
const [currentStep, setCurrentStep] = useState(0)
|
const [currentStep, setCurrentStep] = useState(0)
|
||||||
const [settingsValid, setSettingsValid] = useState(false);
|
const [settingsValid, setSettingsValid] = useState(false);
|
||||||
const [openDialog, setOpenDialog] = useState(false);
|
const [openDialog, setOpenDialog] = useState(false);
|
||||||
|
const [clearOpen, setClearOpen] = useState(false);
|
||||||
|
|
||||||
useEffect(()=>{
|
useEffect(()=>{
|
||||||
if (scannedComponents.i2c) setScannedI2C(scannedComponents.i2c)
|
if (scannedComponents.i2c) setScannedI2C(scannedComponents.i2c)
|
||||||
|
|
@ -216,11 +217,38 @@ export default function DeviceScannedComponents(props: Props){
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const removeAllScans = () => {
|
||||||
|
deviceAPI.removeAllFoundComponents(device.settings.deviceId)
|
||||||
|
.then(resp => {
|
||||||
|
console.log("Cleared all scans")
|
||||||
|
}).catch(err => {
|
||||||
|
console.log("There was a problem clearing scans")
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
const clearWarning = () => {
|
||||||
|
return (
|
||||||
|
<ResponsiveDialog open={clearOpen} onClose={()=>{setClearOpen(false)}}>
|
||||||
|
<DialogTitle>Clear All Scans</DialogTitle>
|
||||||
|
<DialogContent>This action will clear all scans for this device.</DialogContent>
|
||||||
|
<DialogActions>
|
||||||
|
<Button variant="contained" onClick={()=>{setClearOpen(false)}}>Close</Button>
|
||||||
|
<Button variant="contained" color="primary" onClick={()=>{removeAllScans()}}>Continue</Button>
|
||||||
|
</DialogActions>
|
||||||
|
</ResponsiveDialog>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<React.Fragment>
|
<React.Fragment>
|
||||||
|
{clearWarning()}
|
||||||
<Card raised sx={{padding: 1}}>
|
<Card raised sx={{padding: 1}}>
|
||||||
|
<Box display="flex" flexDirection="row" justifyContent="space-between" alignItems="center">
|
||||||
|
<Typography sx={{fontWeight: 650, fontSize: 25}}>Sensor Scan</Typography>
|
||||||
|
<Button variant="contained" color="primary" onClick={()=>{setClearOpen(true)}}>Clear</Button>
|
||||||
|
</Box>
|
||||||
{scannedI2C !== undefined &&
|
{scannedI2C !== undefined &&
|
||||||
<Box marginBottom={5}>
|
<Box marginBottom={5}>
|
||||||
<Box justifyContent="space-between" display="flex">
|
<Box justifyContent="space-between" display="flex">
|
||||||
|
|
|
||||||
|
|
@ -170,7 +170,7 @@ export default function DevicePage() {
|
||||||
deviceAPI.listFoundComponents(parseInt(deviceID))
|
deviceAPI.listFoundComponents(parseInt(deviceID))
|
||||||
.then(resp => {
|
.then(resp => {
|
||||||
console.log(resp.data)
|
console.log(resp.data)
|
||||||
if (resp.data.foundComponents){
|
if (resp.data.foundComponents?.i2c || resp.data.foundComponents?.oneWire){
|
||||||
setScannedAddresses(pond.ListFoundComponentsResponse.fromObject(resp.data).foundComponents ?? undefined)
|
setScannedAddresses(pond.ListFoundComponentsResponse.fromObject(resp.data).foundComponents ?? undefined)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
|
||||||
|
|
@ -149,6 +149,7 @@ export interface IDeviceAPIContext {
|
||||||
keys?: string[],
|
keys?: string[],
|
||||||
types?: string[]
|
types?: string[]
|
||||||
) => Promise<any>;
|
) => Promise<any>;
|
||||||
|
removeAllFoundComponents: (id: number,otherTeam?: string) => Promise<AxiosResponse<pond.RemoveAllFoundComponentsResponse>>;
|
||||||
removeFoundComponents: (id: number, key: string, type: pond.ObjectType, otherTeam?: string) => Promise<AxiosResponse<pond.RemoveFoundComponentsResponse>>;
|
removeFoundComponents: (id: number, key: string, type: pond.ObjectType, otherTeam?: string) => Promise<AxiosResponse<pond.RemoveFoundComponentsResponse>>;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1002,6 +1003,19 @@ export default function DeviceProvider(props: PropsWithChildren<Props>) {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const removeAllFoundComponents = (id: number, otherTeam?: string) => {
|
||||||
|
let url = "/devices/" + id + "/removeAllFoundComponents";
|
||||||
|
const view = otherTeam ? otherTeam : as
|
||||||
|
if(view) url = url + "?as=" + view
|
||||||
|
return new Promise<AxiosResponse<pond.RemoveAllFoundComponentsResponse>>((resolve, reject) => {
|
||||||
|
del<pond.RemoveAllFoundComponentsResponse>(pondURL(url)).then(resp => {
|
||||||
|
return resolve(resp)
|
||||||
|
}).catch(err => {
|
||||||
|
return reject(err)
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<DeviceAPIContext.Provider
|
<DeviceAPIContext.Provider
|
||||||
value={{
|
value={{
|
||||||
|
|
@ -1051,7 +1065,8 @@ export default function DeviceProvider(props: PropsWithChildren<Props>) {
|
||||||
detectI2C,
|
detectI2C,
|
||||||
detectOneWire,
|
detectOneWire,
|
||||||
listFoundComponents,
|
listFoundComponents,
|
||||||
removeFoundComponents
|
removeFoundComponents,
|
||||||
|
removeAllFoundComponents
|
||||||
}}>
|
}}>
|
||||||
{children}
|
{children}
|
||||||
</DeviceAPIContext.Provider>
|
</DeviceAPIContext.Provider>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue