diff --git a/src/maps/mapMarkers/fieldMarkers/FieldMarkerSettings.tsx b/src/maps/mapMarkers/fieldMarkers/FieldMarkerSettings.tsx index 37eb394..382a603 100644 --- a/src/maps/mapMarkers/fieldMarkers/FieldMarkerSettings.tsx +++ b/src/maps/mapMarkers/fieldMarkers/FieldMarkerSettings.tsx @@ -12,7 +12,7 @@ import { import ResponsiveDialog from "common/ResponsiveDialog"; import { FieldMarker } from "models"; import { pond } from "protobuf-ts/pond"; - import { useFieldMarkerAPI, useSnackbar } from "providers"; + import { useFieldMarkerAPI, useGlobalState, useSnackbar } from "providers"; import { useState, useEffect } from "react"; interface Props { @@ -48,6 +48,7 @@ import { export default function FieldMarkerSettings(props: Props) { const { open, close, fieldMarker, longitude, latitude } = props; + const [{as}] = useGlobalState(); const fieldMarkerAPI = useFieldMarkerAPI(); const { openSnack } = useSnackbar(); const [title, setTitle] = useState("Field Marker"); @@ -76,7 +77,7 @@ import { newFM.settings.severity = severity; //newFM.settings.affectedArea = fmAffectedArea; fieldMarkerAPI - .addFieldMarker(newFM.settings) + .addFieldMarker(newFM.settings, as) .then(resp => { openSnack("New marker has been saved"); close(true); @@ -90,7 +91,7 @@ import { fm.settings.severity = severity; //fm.settings.affectedArea = fmAffectedArea; fieldMarkerAPI - .updateFieldMarker(fm.key(), fm.settings) + .updateFieldMarker(fm.key(), fm.settings, undefined, as) .then(resp => { openSnack("Updated Field Marker"); close(true); @@ -102,7 +103,7 @@ import { const removeFieldMarker = (fieldMarker: FieldMarker) => { fieldMarkerAPI - .removeFieldMarker(fieldMarker.key()) + .removeFieldMarker(fieldMarker.key(), as) .then(resp => { openSnack("Field Marker Removed"); close(true); diff --git a/src/providers/pond/fieldMarkerAPI.tsx b/src/providers/pond/fieldMarkerAPI.tsx index ed0e4bf..642ada5 100644 --- a/src/providers/pond/fieldMarkerAPI.tsx +++ b/src/providers/pond/fieldMarkerAPI.tsx @@ -7,7 +7,8 @@ import { pondURL } from "./pond"; export interface IFieldMarkerAPIContext { addFieldMarker: ( - fieldMarker: pond.FieldMarkerSettings + fieldMarker: pond.FieldMarkerSettings, + as?: string ) => Promise>; getFieldMarker: (fieldMarkerID: string) => Promise>; listFieldMarkers: ( @@ -20,12 +21,14 @@ export interface IFieldMarkerAPIContext { as?: string ) => Promise>; removeFieldMarker: ( - fieldMarkerID: string + fieldMarkerID: string, + as?: string ) => Promise>; updateFieldMarker: ( key: string, fieldMarker: pond.FieldMarkerSettings, - asRoot?: true + asRoot?: true, + as?: string ) => Promise>; } @@ -38,20 +41,20 @@ interface Props {} export default function FieldMarkerProvider(props: PropsWithChildren) { const { children } = props; const { get, del, post, put } = useHTTP(); - const [{ as }] = useGlobalState(); + //const [{ as }] = useGlobalState(); - const addFieldMarker = (fieldMarker: pond.FieldMarkerSettings) => { + const addFieldMarker = (fieldMarker: pond.FieldMarkerSettings, as?: string) => { if (as) return post(pondURL("/fieldMarkers?as=" + as), fieldMarker); return post(pondURL("/fieldMarkers"), fieldMarker); }; - const getFieldMarker = (fieldMarkerId: string) => { + const getFieldMarker = (fieldMarkerId: string, as?: string) => { if (as) return get(pondURL("/fieldMarkers/" + fieldMarkerId + "?as=" + as)); return get(pondURL("/fieldMarkers/" + fieldMarkerId)); }; - const removeFieldMarker = (key: string) => { + const removeFieldMarker = (key: string, as?: string) => { if (as) return del(pondURL("/fieldMarkers/" + key + "?as=" + as)); return del(pondURL("/fieldMarkers/" + key)); @@ -82,7 +85,7 @@ export default function FieldMarkerProvider(props: PropsWithChildren) { ); }; - const updateFieldMarker = (key: string, hm: pond.FieldMarkerSettings, asRoot?: boolean) => { + const updateFieldMarker = (key: string, hm: pond.FieldMarkerSettings, asRoot?: boolean, as?: string) => { if (as) return put( pondURL(