update as in the field marker api
This commit is contained in:
parent
4912d319ff
commit
0d3f7fa8a6
2 changed files with 16 additions and 12 deletions
|
|
@ -12,7 +12,7 @@ import {
|
||||||
import ResponsiveDialog from "common/ResponsiveDialog";
|
import ResponsiveDialog from "common/ResponsiveDialog";
|
||||||
import { FieldMarker } from "models";
|
import { FieldMarker } from "models";
|
||||||
import { pond } from "protobuf-ts/pond";
|
import { pond } from "protobuf-ts/pond";
|
||||||
import { useFieldMarkerAPI, useSnackbar } from "providers";
|
import { useFieldMarkerAPI, useGlobalState, useSnackbar } from "providers";
|
||||||
import { useState, useEffect } from "react";
|
import { useState, useEffect } from "react";
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
|
|
@ -48,6 +48,7 @@ import {
|
||||||
|
|
||||||
export default function FieldMarkerSettings(props: Props) {
|
export default function FieldMarkerSettings(props: Props) {
|
||||||
const { open, close, fieldMarker, longitude, latitude } = props;
|
const { open, close, fieldMarker, longitude, latitude } = props;
|
||||||
|
const [{as}] = useGlobalState();
|
||||||
const fieldMarkerAPI = useFieldMarkerAPI();
|
const fieldMarkerAPI = useFieldMarkerAPI();
|
||||||
const { openSnack } = useSnackbar();
|
const { openSnack } = useSnackbar();
|
||||||
const [title, setTitle] = useState("Field Marker");
|
const [title, setTitle] = useState("Field Marker");
|
||||||
|
|
@ -76,7 +77,7 @@ import {
|
||||||
newFM.settings.severity = severity;
|
newFM.settings.severity = severity;
|
||||||
//newFM.settings.affectedArea = fmAffectedArea;
|
//newFM.settings.affectedArea = fmAffectedArea;
|
||||||
fieldMarkerAPI
|
fieldMarkerAPI
|
||||||
.addFieldMarker(newFM.settings)
|
.addFieldMarker(newFM.settings, as)
|
||||||
.then(resp => {
|
.then(resp => {
|
||||||
openSnack("New marker has been saved");
|
openSnack("New marker has been saved");
|
||||||
close(true);
|
close(true);
|
||||||
|
|
@ -90,7 +91,7 @@ import {
|
||||||
fm.settings.severity = severity;
|
fm.settings.severity = severity;
|
||||||
//fm.settings.affectedArea = fmAffectedArea;
|
//fm.settings.affectedArea = fmAffectedArea;
|
||||||
fieldMarkerAPI
|
fieldMarkerAPI
|
||||||
.updateFieldMarker(fm.key(), fm.settings)
|
.updateFieldMarker(fm.key(), fm.settings, undefined, as)
|
||||||
.then(resp => {
|
.then(resp => {
|
||||||
openSnack("Updated Field Marker");
|
openSnack("Updated Field Marker");
|
||||||
close(true);
|
close(true);
|
||||||
|
|
@ -102,7 +103,7 @@ import {
|
||||||
|
|
||||||
const removeFieldMarker = (fieldMarker: FieldMarker) => {
|
const removeFieldMarker = (fieldMarker: FieldMarker) => {
|
||||||
fieldMarkerAPI
|
fieldMarkerAPI
|
||||||
.removeFieldMarker(fieldMarker.key())
|
.removeFieldMarker(fieldMarker.key(), as)
|
||||||
.then(resp => {
|
.then(resp => {
|
||||||
openSnack("Field Marker Removed");
|
openSnack("Field Marker Removed");
|
||||||
close(true);
|
close(true);
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,8 @@ import { pondURL } from "./pond";
|
||||||
|
|
||||||
export interface IFieldMarkerAPIContext {
|
export interface IFieldMarkerAPIContext {
|
||||||
addFieldMarker: (
|
addFieldMarker: (
|
||||||
fieldMarker: pond.FieldMarkerSettings
|
fieldMarker: pond.FieldMarkerSettings,
|
||||||
|
as?: string
|
||||||
) => Promise<AxiosResponse<pond.AddFieldMarkerResponse>>;
|
) => Promise<AxiosResponse<pond.AddFieldMarkerResponse>>;
|
||||||
getFieldMarker: (fieldMarkerID: string) => Promise<AxiosResponse<pond.FieldMarker>>;
|
getFieldMarker: (fieldMarkerID: string) => Promise<AxiosResponse<pond.FieldMarker>>;
|
||||||
listFieldMarkers: (
|
listFieldMarkers: (
|
||||||
|
|
@ -20,12 +21,14 @@ export interface IFieldMarkerAPIContext {
|
||||||
as?: string
|
as?: string
|
||||||
) => Promise<AxiosResponse<pond.ListFieldMarkersResponse>>;
|
) => Promise<AxiosResponse<pond.ListFieldMarkersResponse>>;
|
||||||
removeFieldMarker: (
|
removeFieldMarker: (
|
||||||
fieldMarkerID: string
|
fieldMarkerID: string,
|
||||||
|
as?: string
|
||||||
) => Promise<AxiosResponse<pond.RemoveFieldMarkerResponse>>;
|
) => Promise<AxiosResponse<pond.RemoveFieldMarkerResponse>>;
|
||||||
updateFieldMarker: (
|
updateFieldMarker: (
|
||||||
key: string,
|
key: string,
|
||||||
fieldMarker: pond.FieldMarkerSettings,
|
fieldMarker: pond.FieldMarkerSettings,
|
||||||
asRoot?: true
|
asRoot?: true,
|
||||||
|
as?: string
|
||||||
) => Promise<AxiosResponse<pond.UpdateFieldMarkerResponse>>;
|
) => Promise<AxiosResponse<pond.UpdateFieldMarkerResponse>>;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -38,20 +41,20 @@ interface Props {}
|
||||||
export default function FieldMarkerProvider(props: PropsWithChildren<Props>) {
|
export default function FieldMarkerProvider(props: PropsWithChildren<Props>) {
|
||||||
const { children } = props;
|
const { children } = props;
|
||||||
const { get, del, post, put } = useHTTP();
|
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)
|
if (as)
|
||||||
return post<pond.AddFieldMarkerResponse>(pondURL("/fieldMarkers?as=" + as), fieldMarker);
|
return post<pond.AddFieldMarkerResponse>(pondURL("/fieldMarkers?as=" + as), fieldMarker);
|
||||||
return post<pond.AddFieldMarkerResponse>(pondURL("/fieldMarkers"), fieldMarker);
|
return post<pond.AddFieldMarkerResponse>(pondURL("/fieldMarkers"), fieldMarker);
|
||||||
};
|
};
|
||||||
|
|
||||||
const getFieldMarker = (fieldMarkerId: string) => {
|
const getFieldMarker = (fieldMarkerId: string, as?: string) => {
|
||||||
if (as) return get<pond.FieldMarker>(pondURL("/fieldMarkers/" + fieldMarkerId + "?as=" + as));
|
if (as) return get<pond.FieldMarker>(pondURL("/fieldMarkers/" + fieldMarkerId + "?as=" + as));
|
||||||
return get<pond.FieldMarker>(pondURL("/fieldMarkers/" + fieldMarkerId));
|
return get<pond.FieldMarker>(pondURL("/fieldMarkers/" + fieldMarkerId));
|
||||||
};
|
};
|
||||||
|
|
||||||
const removeFieldMarker = (key: string) => {
|
const removeFieldMarker = (key: string, as?: string) => {
|
||||||
if (as)
|
if (as)
|
||||||
return del<pond.RemoveFieldMarkerResponse>(pondURL("/fieldMarkers/" + key + "?as=" + as));
|
return del<pond.RemoveFieldMarkerResponse>(pondURL("/fieldMarkers/" + key + "?as=" + as));
|
||||||
return del<pond.RemoveFieldMarkerResponse>(pondURL("/fieldMarkers/" + key));
|
return del<pond.RemoveFieldMarkerResponse>(pondURL("/fieldMarkers/" + key));
|
||||||
|
|
@ -82,7 +85,7 @@ export default function FieldMarkerProvider(props: PropsWithChildren<Props>) {
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
const updateFieldMarker = (key: string, hm: pond.FieldMarkerSettings, asRoot?: boolean) => {
|
const updateFieldMarker = (key: string, hm: pond.FieldMarkerSettings, asRoot?: boolean, as?: string) => {
|
||||||
if (as)
|
if (as)
|
||||||
return put<pond.UpdateFieldMarkerResponse>(
|
return put<pond.UpdateFieldMarkerResponse>(
|
||||||
pondURL(
|
pondURL(
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue