aboutsummaryrefslogtreecommitdiff
path: root/FrontEnd
diff options
context:
space:
mode:
Diffstat (limited to 'FrontEnd')
-rw-r--r--FrontEnd/src/app/views/home/TimelineBoard.tsx17
1 files changed, 16 insertions, 1 deletions
diff --git a/FrontEnd/src/app/views/home/TimelineBoard.tsx b/FrontEnd/src/app/views/home/TimelineBoard.tsx
index 120083e3..bb3f5947 100644
--- a/FrontEnd/src/app/views/home/TimelineBoard.tsx
+++ b/FrontEnd/src/app/views/home/TimelineBoard.tsx
@@ -100,6 +100,7 @@ const TimelineBoardItem: React.FC<TimelineBoardItemProps> = ({
interface TimelineBoardItemContainerProps {
timelines: TimelineInfo[];
editHandler?: {
+ // offset may exceed index range plusing index.
onMove: (timeline: string, index: number, offset: number) => void;
onDelete: (timeline: string) => void;
};
@@ -277,7 +278,21 @@ const TimelineBoardUI: React.FC<TimelineBoardUIProps> = (props) => {
return (
<TimelineBoardItemContainer
timelines={timelines}
- editHandler={editHandler && editing ? editHandler : undefined}
+ editHandler={
+ editHandler && editing
+ ? {
+ onDelete: editHandler.onDelete,
+ onMove: (timeline, index, offset) => {
+ if (index + offset >= timelines.length) {
+ offset = timelines.length - index - 1;
+ } else if (index + offset < 0) {
+ offset = -index;
+ }
+ editHandler.onMove(timeline, index, offset);
+ },
+ }
+ : undefined
+ }
/>
);
}