TimelineContext
function App() {
return (
<TimelineContext>
// You code here
</TimelineContext>
)
}Usage
function App(){
const [rows, setRows] = useRows()
const [items, setItems] = useItems()
const [timeframe, setTimeframe] = useState(DEFAULT_TIMEFRAME)
const onResizeEnd = useCallback((event: ResizeEndEvent) => {
const updatedRelevance =
event.active.data.current.getRelevanceFromResizeEvent?.(event)
if (!updatedRelevance) return
const activeItemId = event.active.id
// Only update the changed item. This will cause only the changed items to re-render
setItems((prev) => prev.map((item) => {
if (item.id !== activeItemId) return item
return {
...item,
relevance: updatedRelevance,
}
}))
}, [])
return (
<TimelineContext
onResizeEnd={onResizeEnd}
timeframe={timeframe}
onTimeframeChanged={setTimeframe}
>
<Timeline rows={rows} items={items} />
</TimelineContext>
)
}Props
Event Handlers
onDonDragStart? | onDragEnd? | onDragMove? | onDragCancel?
onDonDragStart? | onDragEnd? | onDragMove? | onDragCancel?onResizeStart?
onResizeStart?onResizeMove?
onResizeMove?onResizeEnd?
onResizeEnd?Options
timeframe
timeframeonTimeframeChanged
onTimeframeChangedoverlayed?
overlayed?timeframeGridSizeDefinition?
timeframeGridSizeDefinition?usePanStrategy?
Zoom & PanusePanStrategy?Last updated
