mirror of
https://github.com/blakeblackshear/frigate.git
synced 2025-06-18 01:16:57 +02:00
Draggable grid fixes (#11944)
* Use globals on grid for resizing/dragging flags * remove unneeded useeffect
This commit is contained in:
parent
e56ce993df
commit
349b27b764
@ -97,8 +97,9 @@ export default function DraggableGridLayout({
|
|||||||
const [showCircles, setShowCircles] = useState(true);
|
const [showCircles, setShowCircles] = useState(true);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
setIsEditMode(false);
|
||||||
setEditGroup(false);
|
setEditGroup(false);
|
||||||
}, [cameraGroup]);
|
}, [cameraGroup, setIsEditMode]);
|
||||||
|
|
||||||
// camera state
|
// camera state
|
||||||
|
|
||||||
@ -185,8 +186,6 @@ export default function DraggableGridLayout({
|
|||||||
y: 0, // don't set y, grid does automatically
|
y: 0, // don't set y, grid does automatically
|
||||||
w: width,
|
w: width,
|
||||||
h: height,
|
h: height,
|
||||||
isDraggable: isEditMode,
|
|
||||||
isResizable: isEditMode,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
optionsMap.push(options);
|
optionsMap.push(options);
|
||||||
@ -195,31 +194,12 @@ export default function DraggableGridLayout({
|
|||||||
return optionsMap;
|
return optionsMap;
|
||||||
}, [
|
}, [
|
||||||
cameras,
|
cameras,
|
||||||
isEditMode,
|
|
||||||
isGridLayoutLoaded,
|
isGridLayoutLoaded,
|
||||||
currentGridLayout,
|
currentGridLayout,
|
||||||
includeBirdseye,
|
includeBirdseye,
|
||||||
birdseyeConfig,
|
birdseyeConfig,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
if (currentGridLayout) {
|
|
||||||
const updatedGridLayout = currentGridLayout.map((layout) => ({
|
|
||||||
...layout,
|
|
||||||
isDraggable: isEditMode,
|
|
||||||
isResizable: isEditMode,
|
|
||||||
}));
|
|
||||||
if (isEditMode) {
|
|
||||||
setGridLayout(updatedGridLayout);
|
|
||||||
setCurrentGridLayout(updatedGridLayout);
|
|
||||||
} else {
|
|
||||||
setGridLayout(updatedGridLayout);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// we know that these deps are correct
|
|
||||||
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
||||||
}, [isEditMode, setGridLayout]);
|
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (isGridLayoutLoaded) {
|
if (isGridLayoutLoaded) {
|
||||||
if (gridLayout) {
|
if (gridLayout) {
|
||||||
@ -406,6 +386,8 @@ export default function DraggableGridLayout({
|
|||||||
onResize={handleResize}
|
onResize={handleResize}
|
||||||
onResizeStart={() => setShowCircles(false)}
|
onResizeStart={() => setShowCircles(false)}
|
||||||
onResizeStop={handleLayoutChange}
|
onResizeStop={handleLayoutChange}
|
||||||
|
isDraggable={isEditMode}
|
||||||
|
isResizable={isEditMode}
|
||||||
>
|
>
|
||||||
{includeBirdseye && birdseyeConfig?.enabled && (
|
{includeBirdseye && birdseyeConfig?.enabled && (
|
||||||
<BirdseyeLivePlayerGridItem
|
<BirdseyeLivePlayerGridItem
|
||||||
|
Loading…
Reference in New Issue
Block a user