diff --git a/package-lock.json b/package-lock.json
index f60c304..1bef6b0 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -10953,7 +10953,7 @@
},
"node_modules/protobuf-ts": {
"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": {
"protobufjs": "^6.8.8"
}
diff --git a/src/device/autoDetect/DeviceScannedComponents.tsx b/src/device/autoDetect/DeviceScannedComponents.tsx
index 3448b86..cda95ae 100644
--- a/src/device/autoDetect/DeviceScannedComponents.tsx
+++ b/src/device/autoDetect/DeviceScannedComponents.tsx
@@ -41,6 +41,7 @@ export default function DeviceScannedComponents(props: Props){
const [currentStep, setCurrentStep] = useState(0)
const [settingsValid, setSettingsValid] = useState(false);
const [openDialog, setOpenDialog] = useState(false);
+ const [clearOpen, setClearOpen] = useState(false);
useEffect(()=>{
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 (
+ {setClearOpen(false)}}>
+ Clear All Scans
+ This action will clear all scans for this device.
+
+
+
+
+
+ )
+ }
+
return (
+ {clearWarning()}
+
+ Sensor Scan
+
+
{scannedI2C !== undefined &&
diff --git a/src/pages/Device.tsx b/src/pages/Device.tsx
index 0a4e89a..7344659 100644
--- a/src/pages/Device.tsx
+++ b/src/pages/Device.tsx
@@ -170,7 +170,7 @@ export default function DevicePage() {
deviceAPI.listFoundComponents(parseInt(deviceID))
.then(resp => {
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)
}
})
diff --git a/src/providers/pond/deviceAPI.tsx b/src/providers/pond/deviceAPI.tsx
index 4a90b85..241781b 100644
--- a/src/providers/pond/deviceAPI.tsx
+++ b/src/providers/pond/deviceAPI.tsx
@@ -149,6 +149,7 @@ export interface IDeviceAPIContext {
keys?: string[],
types?: string[]
) => Promise;
+ removeAllFoundComponents: (id: number,otherTeam?: string) => Promise>;
removeFoundComponents: (id: number, key: string, type: pond.ObjectType, otherTeam?: string) => Promise>;
}
@@ -990,7 +991,7 @@ export default function DeviceProvider(props: PropsWithChildren) {
}
const removeFoundComponents = (id: number, key: string, type: pond.ObjectType, otherTeam?: string) => {
- let url = "/devices/" + id + "/removeFoundComponents/" + key + "?scanType=" + type;
+ let url = "/devices/" + id + "/removeFoundComponents/" + key + "?scanType=" + type;
const view = otherTeam ? otherTeam : as
if(view) url = url + "&as=" + view
return new Promise>((resolve, reject) => {
@@ -1002,6 +1003,19 @@ export default function DeviceProvider(props: PropsWithChildren) {
})
}
+ 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>((resolve, reject) => {
+ del(pondURL(url)).then(resp => {
+ return resolve(resp)
+ }).catch(err => {
+ return reject(err)
+ })
+ })
+ }
+
return (
) {
detectI2C,
detectOneWire,
listFoundComponents,
- removeFoundComponents
+ removeFoundComponents,
+ removeAllFoundComponents
}}>
{children}