fix: sidebar height, authorization (#3626)

This commit is contained in:
Aaryan Khandelwal 2024-02-12 19:10:07 +05:30 committed by GitHub
parent 9cf5348019
commit fc8edab59b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
8 changed files with 65 additions and 54 deletions

View File

@ -20,6 +20,7 @@ export type GanttChartBlocksProps = {
enableBlockLeftResize: boolean;
enableBlockRightResize: boolean;
enableBlockMove: boolean;
enableAddBlock: boolean;
showAllBlocks: boolean;
};
@ -32,6 +33,7 @@ export const GanttChartBlocksList: FC<GanttChartBlocksProps> = observer((props)
enableBlockLeftResize,
enableBlockRightResize,
enableBlockMove,
enableAddBlock,
showAllBlocks,
} = props;
// store hooks
@ -120,7 +122,7 @@ export const GanttChartBlocksList: FC<GanttChartBlocksProps> = observer((props)
enableBlockMove={enableBlockMove}
/>
) : (
<ChartAddBlock block={block} blockUpdateHandler={blockUpdateHandler} />
enableAddBlock && <ChartAddBlock block={block} blockUpdateHandler={blockUpdateHandler} />
)}
</div>
</div>

View File

@ -27,6 +27,7 @@ type Props = {
enableBlockMove: boolean;
enableBlockRightResize: boolean;
enableReorder: boolean;
enableAddBlock: boolean;
itemsContainerWidth: number;
showAllBlocks: boolean;
sidebarToRender: (props: any) => React.ReactNode;
@ -45,6 +46,7 @@ export const GanttChartMainContent: React.FC<Props> = (props) => {
enableBlockMove,
enableBlockRightResize,
enableReorder,
enableAddBlock,
itemsContainerWidth,
showAllBlocks,
sidebarToRender,
@ -111,6 +113,7 @@ export const GanttChartMainContent: React.FC<Props> = (props) => {
enableBlockLeftResize={enableBlockLeftResize}
enableBlockRightResize={enableBlockRightResize}
enableBlockMove={enableBlockMove}
enableAddBlock={enableAddBlock}
showAllBlocks={showAllBlocks}
/>
)}

View File

@ -28,6 +28,7 @@ type ChartViewRootProps = {
enableBlockRightResize: boolean;
enableBlockMove: boolean;
enableReorder: boolean;
enableAddBlock: boolean;
bottomSpacing: boolean;
showAllBlocks: boolean;
};
@ -45,6 +46,7 @@ export const ChartViewRoot: FC<ChartViewRootProps> = (props) => {
enableBlockRightResize,
enableBlockMove,
enableReorder,
enableAddBlock,
bottomSpacing,
showAllBlocks,
} = props;
@ -192,6 +194,7 @@ export const ChartViewRoot: FC<ChartViewRootProps> = (props) => {
enableBlockMove={enableBlockMove}
enableBlockRightResize={enableBlockRightResize}
enableReorder={enableReorder}
enableAddBlock={enableAddBlock}
itemsContainerWidth={itemsContainerWidth}
showAllBlocks={showAllBlocks}
sidebarToRender={sidebarToRender}

View File

@ -14,63 +14,61 @@ export const MonthChartView: FC<any> = () => {
const monthBlocks: IMonthBlock[] = renderView;
return (
<>
<div className="absolute top-0 left-0 h-full w-max flex divide-x divide-custom-border-100/50">
{monthBlocks?.map((block, rootIndex) => (
<div key={`month-${block?.month}-${block?.year}`} className="relative">
<div
className="w-full sticky top-0 z-[5] bg-custom-background-100"
style={{
height: `${HEADER_HEIGHT}px`,
}}
>
<div className="h-1/2">
<div
className="sticky inline-flex whitespace-nowrap px-3 py-2 text-xs font-medium capitalize"
style={{
left: `${SIDEBAR_WIDTH}px`,
}}
>
{block?.title}
</div>
</div>
<div className="h-1/2 w-full flex">
{block?.children?.map((monthDay, index) => (
<div
key={`sub-title-${rootIndex}-${index}`}
className="flex-shrink-0 border-b-[0.5px] border-custom-border-200 py-1 text-center capitalize"
style={{ width: `${currentViewData?.data.width}px` }}
>
<div className="space-x-1 text-xs">
<span className="text-custom-text-200">{monthDay.dayData.shortTitle[0]}</span>{" "}
<span
className={cn({
"rounded-full bg-custom-primary-100 px-1 text-white": monthDay.today,
})}
>
{monthDay.day}
</span>
</div>
</div>
))}
<div className="absolute top-0 left-0 h-full w-max flex divide-x divide-custom-border-100/50">
{monthBlocks?.map((block, rootIndex) => (
<div key={`month-${block?.month}-${block?.year}`} className="relative">
<div
className="w-full sticky top-0 z-[5] bg-custom-background-100"
style={{
height: `${HEADER_HEIGHT}px`,
}}
>
<div className="h-1/2">
<div
className="sticky inline-flex whitespace-nowrap px-3 py-2 text-xs font-medium capitalize"
style={{
left: `${SIDEBAR_WIDTH}px`,
}}
>
{block?.title}
</div>
</div>
<div className="h-full w-full flex divide-x divide-custom-border-100/50">
<div className="h-1/2 w-full flex">
{block?.children?.map((monthDay, index) => (
<div
key={`column-${rootIndex}-${index}`}
className="h-full overflow-hidden"
key={`sub-title-${rootIndex}-${index}`}
className="flex-shrink-0 border-b-[0.5px] border-custom-border-200 py-1 text-center capitalize"
style={{ width: `${currentViewData?.data.width}px` }}
>
{["sat", "sun"].includes(monthDay?.dayData?.shortTitle) && (
<div className="h-full bg-custom-background-90" />
)}
<div className="space-x-1 text-xs">
<span className="text-custom-text-200">{monthDay.dayData.shortTitle[0]}</span>{" "}
<span
className={cn({
"rounded-full bg-custom-primary-100 px-1 text-white": monthDay.today,
})}
>
{monthDay.day}
</span>
</div>
</div>
))}
</div>
</div>
))}
</div>
</>
<div className="h-full w-full flex divide-x divide-custom-border-100/50">
{block?.children?.map((monthDay, index) => (
<div
key={`column-${rootIndex}-${index}`}
className="h-full overflow-hidden"
style={{ width: `${currentViewData?.data.width}px` }}
>
{["sat", "sun"].includes(monthDay?.dayData?.shortTitle) && (
<div className="h-full bg-custom-background-90" />
)}
</div>
))}
</div>
</div>
))}
</div>
);
};

View File

@ -16,6 +16,7 @@ type GanttChartRootProps = {
enableBlockRightResize?: boolean;
enableBlockMove?: boolean;
enableReorder?: boolean;
enableAddBlock?: boolean;
bottomSpacing?: boolean;
showAllBlocks?: boolean;
};
@ -29,10 +30,11 @@ export const GanttChartRoot: FC<GanttChartRootProps> = (props) => {
blockUpdateHandler,
sidebarToRender,
blockToRender,
enableBlockLeftResize = true,
enableBlockRightResize = true,
enableBlockMove = true,
enableReorder = true,
enableBlockLeftResize = false,
enableBlockRightResize = false,
enableBlockMove = false,
enableReorder = false,
enableAddBlock = false,
bottomSpacing = false,
showAllBlocks = false,
} = props;
@ -51,6 +53,7 @@ export const GanttChartRoot: FC<GanttChartRootProps> = (props) => {
enableBlockRightResize={enableBlockRightResize}
enableBlockMove={enableBlockMove}
enableReorder={enableReorder}
enableAddBlock={enableAddBlock}
bottomSpacing={bottomSpacing}
showAllBlocks={showAllBlocks}
/>

View File

@ -18,7 +18,7 @@ export const GanttChartSidebar: React.FC<Props> = (props) => {
<div
// DO NOT REMOVE THE ID
id="gantt-sidebar"
className="sticky left-0 z-10 min-h-full h-max flex-shrink-0 border-r-[0.5px] border-custom-border-200"
className="sticky top-0 left-0 z-10 min-h-full h-max flex-shrink-0 border-r-[0.5px] border-custom-border-200 bg-custom-background-100"
style={{
width: `${SIDEBAR_WIDTH}px`,
}}

View File

@ -84,6 +84,7 @@ export const BaseGanttRoot: React.FC<IBaseGanttRoot> = observer((props: IBaseGan
enableBlockRightResize={isAllowed}
enableBlockMove={isAllowed}
enableReorder={appliedDisplayFilters?.order_by === "sort_order" && isAllowed}
enableAddBlock={isAllowed}
showAllBlocks
/>
</div>

View File

@ -52,6 +52,7 @@ export const ModulesListGanttChartView: React.FC = observer(() => {
enableBlockRightResize={isAllowed}
enableBlockMove={isAllowed}
enableReorder={isAllowed}
enableAddBlock={isAllowed}
showAllBlocks
/>
</div>