plane/web/components/gantt-chart/root.tsx

55 lines
1.4 KiB
TypeScript
Raw Normal View History

import { FC } from "react";
// components
import { ChartViewRoot } from "./chart";
// context
import { ChartContextProvider } from "./contexts";
// types
import { IBlockUpdateData, IGanttBlock } from "./types";
type GanttChartRootProps = {
2023-05-21 14:08:33 +00:00
border?: boolean;
title: string;
loaderTitle: string;
blocks: IGanttBlock[] | null;
blockUpdateHandler: (block: any, payload: IBlockUpdateData) => void;
SidebarBlockRender: FC<any>;
BlockRender: FC<any>;
enableBlockLeftResize?: boolean;
enableBlockRightResize?: boolean;
enableBlockMove?: boolean;
enableReorder?: boolean;
bottomSpacing?: boolean;
};
export const GanttChartRoot: FC<GanttChartRootProps> = ({
2023-05-21 13:57:08 +00:00
border = true,
title,
blocks,
loaderTitle = "blocks",
blockUpdateHandler,
SidebarBlockRender,
BlockRender,
enableBlockLeftResize = true,
enableBlockRightResize = true,
enableBlockMove = true,
enableReorder = true,
bottomSpacing = false,
}) => (
<ChartContextProvider>
<ChartViewRoot
2023-05-21 13:57:08 +00:00
border={border}
title={title}
blocks={blocks}
loaderTitle={loaderTitle}
blockUpdateHandler={blockUpdateHandler}
SidebarBlockRender={SidebarBlockRender}
BlockRender={BlockRender}
enableBlockLeftResize={enableBlockLeftResize}
enableBlockRightResize={enableBlockRightResize}
enableBlockMove={enableBlockMove}
enableReorder={enableReorder}
bottomSpacing={bottomSpacing}
/>
</ChartContextProvider>
);