mirror of
https://github.com/blakeblackshear/frigate.git
synced 2024-11-21 19:07:46 +01:00
5f15641b1b
* initial working konva * working multi polygons * multi zones * clean up * new zone dialog * clean up * relative coordinates and colors * fix color order * better motion tuner * objects for zones * progress * merge dev * edit pane * motion and object masks * filtering * add objects and unsaved to type * motion tuner, edit controls, tooltips * object and motion edit panes * polygon item component, switch color, object form, hover cards * working zone edit pane * working motion masks * object masks and deletion of all types * use FilterSwitch * motion tuner fixes and tweaks * clean up * tweaks * spaces in camera name * tweaks * allow dragging of points while drawing polygon * turn off editing mode when switching camera * limit interpolated coordinates and use crosshair cursor * padding * fix tooltip trigger for icons * konva tweaks * consolidate * fix top menu items on mobile
51 lines
1.2 KiB
TypeScript
51 lines
1.2 KiB
TypeScript
export const reviewQueries = (
|
|
name: string,
|
|
review_alerts: boolean,
|
|
review_detections: boolean,
|
|
camera: string,
|
|
alertsZones: string[],
|
|
detectionsZones: string[],
|
|
) => {
|
|
let alertQueries = "";
|
|
let detectionQueries = "";
|
|
let same_alerts = false;
|
|
let same_detections = false;
|
|
|
|
const alerts = new Set<string>(alertsZones || []);
|
|
|
|
if (review_alerts) {
|
|
alerts.add(name);
|
|
} else {
|
|
same_alerts = !alerts.has(name);
|
|
alerts.delete(name);
|
|
}
|
|
|
|
alertQueries = [...alerts]
|
|
.map((zone) => `&cameras.${camera}.review.alerts.required_zones=${zone}`)
|
|
.join("");
|
|
|
|
const detections = new Set<string>(detectionsZones || []);
|
|
|
|
if (review_detections) {
|
|
detections.add(name);
|
|
} else {
|
|
same_detections = !detections.has(name);
|
|
detections.delete(name);
|
|
}
|
|
|
|
detectionQueries = [...detections]
|
|
.map(
|
|
(zone) => `&cameras.${camera}.review.detections.required_zones=${zone}`,
|
|
)
|
|
.join("");
|
|
|
|
if (!alertQueries && !same_alerts) {
|
|
alertQueries = `&cameras.${camera}.review.alerts`;
|
|
}
|
|
if (!detectionQueries && !same_detections) {
|
|
detectionQueries = `&cameras.${camera}.review.detections`;
|
|
}
|
|
|
|
return { alertQueries, detectionQueries };
|
|
};
|