Add shortcut for a camera to depend on all others.

This commit is contained in:
Dermot Duffy
2022-06-08 21:45:11 -07:00
parent a2e1ad161b
commit 40be446c69
7 changed files with 41 additions and 17 deletions
+10 -6
View File
@@ -264,7 +264,14 @@ export const getFullDependentBrowseMediaQueryParameters = (
const cameraConfig = cameras.get(camera);
if (cameraConfig) {
cameraIDs.add(camera);
for (const eventCameraID of cameraConfig.dependent_cameras || []) {
const dependentCameras: Set<string> = new Set();
(cameraConfig.dependent_cameras || []).forEach((item) =>
dependentCameras.add(item),
);
if (cameraConfig.dependent_cameras_all) {
cameras.forEach((_, key) => dependentCameras.add(key));
}
for (const eventCameraID of dependentCameras) {
if (!cameraIDs.has(eventCameraID)) {
getDependentCameras(eventCameraID);
}
@@ -281,12 +288,9 @@ export const getFullDependentBrowseMediaQueryParameters = (
cameras.get(cameraID),
mediaType ? { mediaType: mediaType } : {},
);
// Fail on a single bad camera, as it's almost certainly a user error that
// should be fixed rather than hidden.
if (!param) {
return null;
if (param) {
params.push(param);
}
params.push(param);
}
return params.length ? params : null;
};