fixed tag apis to use new context logic
This commit is contained in:
parent
dd2d24c357
commit
6a6334da6a
4 changed files with 17 additions and 3 deletions
|
|
@ -233,7 +233,7 @@ export default function DeviceOverview(props: Props) {
|
||||||
<StatusChip status="pending" />
|
<StatusChip status="pending" />
|
||||||
</Grid>
|
</Grid>
|
||||||
)}
|
)}
|
||||||
{user.allowedTo("provision") && <DeviceTags device={device} disableAdd={disableAddTag} />}
|
{<DeviceTags device={device} disableAdd={disableAddTag} />}
|
||||||
</Grid>
|
</Grid>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -68,6 +68,7 @@ function AddDeviceTag(props: AddDeviceTagProps) {
|
||||||
<TagUI tag={tag} onClick={() => addTagToDevice(tag)} />
|
<TagUI tag={tag} onClick={() => addTagToDevice(tag)} />
|
||||||
</ListItem>
|
</ListItem>
|
||||||
));
|
));
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<React.Fragment>
|
<React.Fragment>
|
||||||
<IconButton aria-label="add tag" onClick={() => setOpen(true)} size="small">
|
<IconButton aria-label="add tag" onClick={() => setOpen(true)} size="small">
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@ import { useGlobalState } from "providers";
|
||||||
import moment from "moment";
|
import moment from "moment";
|
||||||
import { or } from "utils/types";
|
import { or } from "utils/types";
|
||||||
import { dateRange } from "providers/http";
|
import { dateRange } from "providers/http";
|
||||||
|
import { getContextKeys, getContextTypes } from "pbHelpers/Context";
|
||||||
|
|
||||||
export interface IDeviceAPIContext {
|
export interface IDeviceAPIContext {
|
||||||
add: (name: string, description: string, backpack: pond.BackpackSettings, otherTeam?: string) => Promise<AxiosResponse<pond.AddDeviceResponse>>;
|
add: (name: string, description: string, backpack: pond.BackpackSettings, otherTeam?: string) => Promise<AxiosResponse<pond.AddDeviceResponse>>;
|
||||||
|
|
@ -725,8 +726,12 @@ export default function DeviceProvider(props: PropsWithChildren<Props>) {
|
||||||
};
|
};
|
||||||
|
|
||||||
const tag = (id: number, tag: string) => {
|
const tag = (id: number, tag: string) => {
|
||||||
|
const keys = getContextKeys()
|
||||||
|
const types = getContextTypes()
|
||||||
|
let url = "/devices/" + id + "/tags/" + tag + "?keys=" + keys + "&types=" + types
|
||||||
|
if (as && !keys.includes(as)) url += "&as=" + as
|
||||||
return new Promise<AxiosResponse>((resolve, reject) => {
|
return new Promise<AxiosResponse>((resolve, reject) => {
|
||||||
put(pondURL("/devices/" + id + "/tags/" + tag), {}).then(resp => {
|
put(pondURL(url), {}).then(resp => {
|
||||||
return resolve(resp)
|
return resolve(resp)
|
||||||
}).catch(err => {
|
}).catch(err => {
|
||||||
return reject(err)
|
return reject(err)
|
||||||
|
|
|
||||||
|
|
@ -33,8 +33,16 @@ export default function TagProvider(props: PropsWithChildren<Props>) {
|
||||||
const [{ as }] = useGlobalState()
|
const [{ as }] = useGlobalState()
|
||||||
|
|
||||||
const addTag = (tag: pond.TagSettings) => {
|
const addTag = (tag: pond.TagSettings) => {
|
||||||
|
let keys = getContextKeys()
|
||||||
|
let types = getContextTypes()
|
||||||
|
let url = "/tags"
|
||||||
|
if (keys.includes(as)) {
|
||||||
|
url += "?keys=" + keys + "&types=" + types
|
||||||
|
} else {
|
||||||
|
url += "?as=" + as + "&keys=" + keys + "&types=" + types
|
||||||
|
}
|
||||||
return new Promise<AxiosResponse>((resolve, reject) => {
|
return new Promise<AxiosResponse>((resolve, reject) => {
|
||||||
post(pondURL("/tags"), tag).then(resp => {
|
post(pondURL(url), tag).then(resp => {
|
||||||
return resolve(resp)
|
return resolve(resp)
|
||||||
}).catch(err => {
|
}).catch(err => {
|
||||||
return reject(err)
|
return reject(err)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue