mirror of
https://github.com/blakeblackshear/frigate.git
synced 2024-11-21 19:07:46 +01:00
add option to only scrollintoview initially (#10689)
This commit is contained in:
parent
6fbd272acf
commit
1cd374d3ad
@ -21,6 +21,7 @@ export type MotionReviewTimelineProps = {
|
||||
showHandlebar?: boolean;
|
||||
handlebarTime?: number;
|
||||
setHandlebarTime?: React.Dispatch<React.SetStateAction<number>>;
|
||||
onlyInitialHandlebarScroll?: boolean;
|
||||
motionOnly?: boolean;
|
||||
showMinimap?: boolean;
|
||||
minimapStartTime?: number;
|
||||
@ -46,6 +47,7 @@ export function MotionReviewTimeline({
|
||||
showHandlebar = false,
|
||||
handlebarTime,
|
||||
setHandlebarTime,
|
||||
onlyInitialHandlebarScroll = false,
|
||||
motionOnly = false,
|
||||
showMinimap = false,
|
||||
minimapStartTime,
|
||||
@ -114,6 +116,7 @@ export function MotionReviewTimeline({
|
||||
showDraggableElement: showHandlebar,
|
||||
draggableElementTime: handlebarTime,
|
||||
setDraggableElementTime: setHandlebarTime,
|
||||
initialScrollIntoViewOnly: onlyInitialHandlebarScroll,
|
||||
timelineDuration,
|
||||
timelineCollapsed: motionOnly,
|
||||
timelineStartAligned,
|
||||
|
@ -13,6 +13,7 @@ type DraggableElementProps = {
|
||||
draggableElementEarliestTime?: number;
|
||||
draggableElementLatestTime?: number;
|
||||
setDraggableElementTime?: React.Dispatch<React.SetStateAction<number>>;
|
||||
initialScrollIntoViewOnly?: boolean;
|
||||
draggableElementTimeRef: React.MutableRefObject<HTMLDivElement | null>;
|
||||
timelineDuration: number;
|
||||
timelineCollapsed?: boolean;
|
||||
@ -32,6 +33,7 @@ function useDraggableElement({
|
||||
draggableElementEarliestTime,
|
||||
draggableElementLatestTime,
|
||||
setDraggableElementTime,
|
||||
initialScrollIntoViewOnly,
|
||||
draggableElementTimeRef,
|
||||
timelineDuration,
|
||||
timelineCollapsed,
|
||||
@ -42,6 +44,7 @@ function useDraggableElement({
|
||||
}: DraggableElementProps) {
|
||||
const [clientYPosition, setClientYPosition] = useState<number | null>(null);
|
||||
const [initialClickAdjustment, setInitialClickAdjustment] = useState(0);
|
||||
const [elementScrollIntoView, setElementScrollIntoView] = useState(true);
|
||||
const [scrollEdgeSize, setScrollEdgeSize] = useState<number>();
|
||||
const [segments, setSegments] = useState<HTMLDivElement[]>([]);
|
||||
const { alignStartDateToTimeline, getCumulativeScrollTop } = useTimelineUtils(
|
||||
@ -397,9 +400,13 @@ function useDraggableElement({
|
||||
updateDraggableElementPosition(
|
||||
newElementPosition,
|
||||
draggableElementTime,
|
||||
true,
|
||||
elementScrollIntoView,
|
||||
true,
|
||||
);
|
||||
|
||||
if (initialScrollIntoViewOnly) {
|
||||
setElementScrollIntoView(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
// we know that these deps are correct
|
||||
@ -413,6 +420,7 @@ function useDraggableElement({
|
||||
timelineStartAligned,
|
||||
timelineRef,
|
||||
timelineCollapsed,
|
||||
initialScrollIntoViewOnly,
|
||||
segments,
|
||||
]);
|
||||
|
||||
|
@ -344,6 +344,7 @@ export function RecordingView({
|
||||
showHandlebar
|
||||
handlebarTime={currentTime}
|
||||
setHandlebarTime={setCurrentTime}
|
||||
onlyInitialHandlebarScroll={true}
|
||||
events={mainCameraReviewItems}
|
||||
motion_events={motionData ?? []}
|
||||
severityType="significant_motion"
|
||||
|
Loading…
Reference in New Issue
Block a user