diff --git a/src/pages/Devices.tsx b/src/pages/Devices.tsx index 70828af..5390005 100644 --- a/src/pages/Devices.tsx +++ b/src/pages/Devices.tsx @@ -198,7 +198,7 @@ export default function Devices() { page*limit, order, orderBy, - search, + undefined, undefined, undefined, undefined, @@ -208,6 +208,7 @@ export default function Devices() { getKeys(), getTypes(), fieldContains, + search, ).then(resp => { let newDevices: Device[] = [] resp.data.devices.forEach(device => { @@ -225,7 +226,7 @@ export default function Devices() { useEffect(() => { loadDevices() - }, [limit, page, order, orderBy, fieldContains, tab]) + }, [limit, page, order, orderBy, fieldContains, search, tab]) useEffect(() => { loadGroups() diff --git a/src/providers/pond/deviceAPI.tsx b/src/providers/pond/deviceAPI.tsx index e09f20c..5f37bf9 100644 --- a/src/providers/pond/deviceAPI.tsx +++ b/src/providers/pond/deviceAPI.tsx @@ -38,6 +38,7 @@ export interface IDeviceAPIContext { keys?: string[], types?: string[], fieldContains?: Map, + prefixSearch?: string, ) => Promise>; listForUser: ( asRoot: boolean, @@ -305,6 +306,7 @@ export default function DeviceProvider(props: PropsWithChildren) { keys?: string[], types?: string[], fieldContains?: Map, + prefixSearch?: string, ) => { const url = pondURL( "/devices" + @@ -324,7 +326,8 @@ export default function DeviceProvider(props: PropsWithChildren) { (withMeasurements ? "&measurements=" + withMeasurements.toString() : "") + (keys ? "&keys=" + keys.toString() : "") + (types ? "&types=" + types.toString() : "") + - (fieldContains ? "&fieldContains=" + JSON.stringify(Object.fromEntries(fieldContains)) : "") + (fieldContains ? "&fieldContains=" + JSON.stringify(Object.fromEntries(fieldContains)) : "") + + (prefixSearch ? "&prefixSearch=" + prefixSearch : "") ); return new Promise>((resolve, reject)=>{ get(url).then(resp => {