gantt-task-react-v 1.7.3 → 1.7.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -5,5 +5,6 @@ export declare const useTableListResize: (clientColumns: readonly Column[] | und
|
|
|
5
5
|
taskListWidth: number,
|
|
6
6
|
tableWidth: number,
|
|
7
7
|
onTableResizeStart: (clientX: number) => void,
|
|
8
|
-
onColumnResizeStart: (columnIndex: number, clientX: number) => void
|
|
8
|
+
onColumnResizeStart: (columnIndex: number, clientX: number) => void,
|
|
9
|
+
handleColumnVisibilityChange: (columnId: string, hidden: boolean) => void
|
|
9
10
|
];
|
|
@@ -5378,22 +5378,16 @@ const useTableListResize = (clientColumns, canMoveTasks, onResizeColumn, ganttRe
|
|
|
5378
5378
|
useEffect(() => {
|
|
5379
5379
|
if (clientColumns) {
|
|
5380
5380
|
setColumns([...clientColumns]);
|
|
5381
|
-
const
|
|
5382
|
-
const newColumnIds = clientColumns.map((col) => col.id);
|
|
5383
|
-
const widthOfAddedColumns = clientColumns.filter((col) => !currentColumnIds.includes(col.id)).reduce((res, { width }) => res + width, 0);
|
|
5384
|
-
const widthOfRemovedColumns = clientColumns.filter((col) => !newColumnIds.includes(col.id)).reduce((res, { width }) => res + width, 0);
|
|
5381
|
+
const visibleColumns = clientColumns.filter((col) => !col.hidden);
|
|
5385
5382
|
setTableWidth(
|
|
5386
|
-
(
|
|
5387
|
-
prev + widthOfAddedColumns - widthOfRemovedColumns,
|
|
5388
|
-
clientColumns.reduce((res, { width }) => res + width, 0) + extraWidth
|
|
5389
|
-
)
|
|
5383
|
+
visibleColumns.reduce((res, { width }) => res + width, 0) + extraWidth
|
|
5390
5384
|
);
|
|
5391
5385
|
}
|
|
5392
5386
|
}, [clientColumns, extraWidth]);
|
|
5393
5387
|
const [tableResizeEvent, setTableResizeEvent] = useState(null);
|
|
5394
5388
|
const [columnResizeEvent, setColumnResizeEvent] = useState(null);
|
|
5395
5389
|
const [tableWidthState, setTableWidth] = useState(
|
|
5396
|
-
() => columnsState.reduce((res, { width }) => res + width, 0) + extraWidth
|
|
5390
|
+
() => columnsState.filter((c) => !c.hidden).reduce((res, { width }) => res + width, 0) + extraWidth
|
|
5397
5391
|
);
|
|
5398
5392
|
const onTableResizeStart = (clientX) => {
|
|
5399
5393
|
const newTableResizeEvent = {
|
|
@@ -5411,9 +5405,19 @@ const useTableListResize = (clientColumns, canMoveTasks, onResizeColumn, ganttRe
|
|
|
5411
5405
|
initialTableWidth: tableWidthState
|
|
5412
5406
|
});
|
|
5413
5407
|
};
|
|
5408
|
+
const handleColumnVisibilityChange = (columnId, hidden2) => {
|
|
5409
|
+
setColumns((prev) => {
|
|
5410
|
+
const next = prev.map(
|
|
5411
|
+
(col) => col.id === columnId ? { ...col, hidden: hidden2 } : col
|
|
5412
|
+
);
|
|
5413
|
+
const visibleWidth = next.filter((c) => !c.hidden).reduce((s, { width }) => s + width, 0) + extraWidth;
|
|
5414
|
+
setTableWidth(visibleWidth);
|
|
5415
|
+
return next;
|
|
5416
|
+
});
|
|
5417
|
+
};
|
|
5414
5418
|
const isResizeTableInProgress = Boolean(tableResizeEvent);
|
|
5415
5419
|
const isResizeColumnInProgress = Boolean(columnResizeEvent);
|
|
5416
|
-
const taskListWidth = columnsState.reduce((res, { width }) => res + width, 0) + extraWidth;
|
|
5420
|
+
const taskListWidth = columnsState.filter((c) => !c.hidden).reduce((res, { width }) => res + width, 0) + extraWidth;
|
|
5417
5421
|
useEffect(() => {
|
|
5418
5422
|
if (!isResizeTableInProgress) {
|
|
5419
5423
|
return void 0;
|
|
@@ -5534,7 +5538,8 @@ const useTableListResize = (clientColumns, canMoveTasks, onResizeColumn, ganttRe
|
|
|
5534
5538
|
taskListWidth,
|
|
5535
5539
|
tableWidthState,
|
|
5536
5540
|
onTableResizeStart,
|
|
5537
|
-
onColumnResizeStart
|
|
5541
|
+
onColumnResizeStart,
|
|
5542
|
+
handleColumnVisibilityChange
|
|
5538
5543
|
];
|
|
5539
5544
|
};
|
|
5540
5545
|
const toggleWrapper = "_toggleWrapper_rjfhl_1";
|
|
@@ -5698,7 +5703,8 @@ const TaskListTableHeadersDefaultInner = ({
|
|
|
5698
5703
|
position: "sticky",
|
|
5699
5704
|
left: leftOffset,
|
|
5700
5705
|
zIndex: 2,
|
|
5701
|
-
backgroundColor: "var(--gantt-table-header-background-color, #fff)"
|
|
5706
|
+
backgroundColor: "var(--gantt-table-header-background-color, #fff)",
|
|
5707
|
+
paddingRight: 8
|
|
5702
5708
|
};
|
|
5703
5709
|
leftOffset += columns[i].width;
|
|
5704
5710
|
}
|
|
@@ -5710,7 +5716,8 @@ const TaskListTableHeadersDefaultInner = ({
|
|
|
5710
5716
|
position: "sticky",
|
|
5711
5717
|
right: rightOffset,
|
|
5712
5718
|
zIndex: 2,
|
|
5713
|
-
backgroundColor: "var(--gantt-table-header-background-color, #fff)"
|
|
5719
|
+
backgroundColor: "var(--gantt-table-header-background-color, #fff)",
|
|
5720
|
+
paddingLeft: 8
|
|
5714
5721
|
};
|
|
5715
5722
|
rightOffset += columns[i].width;
|
|
5716
5723
|
}
|
|
@@ -10450,7 +10457,7 @@ const TaskListTableRowInner = forwardRef(
|
|
|
10450
10457
|
if (isOverlay2) {
|
|
10451
10458
|
return "var(--gantt-table-drag-task-background-color)";
|
|
10452
10459
|
}
|
|
10453
|
-
return isSelected ? "var(--gantt-table-selected-task-background-color)" : isEven ? "var(--gantt-table-even-background-color)" :
|
|
10460
|
+
return isSelected ? "var(--gantt-table-selected-task-background-color)" : isEven ? "var(--gantt-table-even-background-color)" : "var(--gantt-background-color, #fff)";
|
|
10454
10461
|
}, [isEven, isOverlay2, isSelected]);
|
|
10455
10462
|
const rowClassName = useMemo(() => {
|
|
10456
10463
|
const classNames = [styles$h.taskListTableRow];
|
|
@@ -10470,35 +10477,31 @@ const TaskListTableRowInner = forwardRef(
|
|
|
10470
10477
|
}, [isCut2, moveOverPosition, isOverlay2, isDragging]);
|
|
10471
10478
|
const pinnedStyles = useMemo(() => {
|
|
10472
10479
|
const result = {};
|
|
10473
|
-
|
|
10474
|
-
if (moveHandleProps || !isOverlay2 && task.type !== "project" && task.id !== "no-project-asigned") {
|
|
10475
|
-
leftOffset = 24;
|
|
10476
|
-
}
|
|
10480
|
+
const pinnedBg = backgroundColor || "var(--gantt-background-color, #fff)";
|
|
10477
10481
|
for (let i = 0; i < columns.length; i++) {
|
|
10478
10482
|
if (columns[i].pinned === "left") {
|
|
10479
10483
|
result[i] = {
|
|
10480
|
-
position: "
|
|
10481
|
-
|
|
10482
|
-
zIndex:
|
|
10483
|
-
backgroundColor:
|
|
10484
|
+
position: "relative",
|
|
10485
|
+
transform: "translateX(var(--pinned-translate-left, 0px))",
|
|
10486
|
+
zIndex: 2,
|
|
10487
|
+
backgroundColor: pinnedBg,
|
|
10488
|
+
paddingRight: 8
|
|
10484
10489
|
};
|
|
10485
|
-
leftOffset += columns[i].width;
|
|
10486
10490
|
}
|
|
10487
10491
|
}
|
|
10488
|
-
let rightOffset = 0;
|
|
10489
10492
|
for (let i = columns.length - 1; i >= 0; i--) {
|
|
10490
10493
|
if (columns[i].pinned === "right") {
|
|
10491
10494
|
result[i] = {
|
|
10492
|
-
position: "
|
|
10493
|
-
|
|
10494
|
-
zIndex:
|
|
10495
|
-
backgroundColor:
|
|
10495
|
+
position: "relative",
|
|
10496
|
+
transform: "translateX(var(--pinned-translate-right, 0px))",
|
|
10497
|
+
zIndex: 2,
|
|
10498
|
+
backgroundColor: pinnedBg,
|
|
10499
|
+
paddingLeft: 8
|
|
10496
10500
|
};
|
|
10497
|
-
rightOffset += columns[i].width;
|
|
10498
10501
|
}
|
|
10499
10502
|
}
|
|
10500
10503
|
return result;
|
|
10501
|
-
}, [columns,
|
|
10504
|
+
}, [columns, backgroundColor]);
|
|
10502
10505
|
return /* @__PURE__ */ jsxs(
|
|
10503
10506
|
"div",
|
|
10504
10507
|
{
|
|
@@ -11169,17 +11172,55 @@ const TaskListInner = ({
|
|
|
11169
11172
|
taskListWidth,
|
|
11170
11173
|
tableWidth,
|
|
11171
11174
|
onTableResizeStart,
|
|
11172
|
-
onColumnResizeStart
|
|
11175
|
+
onColumnResizeStart,
|
|
11176
|
+
internalColumnVisibilityChange
|
|
11173
11177
|
] = useTableListResize(
|
|
11174
11178
|
columnsProp,
|
|
11175
11179
|
canReorderTasks,
|
|
11176
11180
|
onResizeColumn,
|
|
11177
11181
|
ganttRef
|
|
11178
11182
|
);
|
|
11183
|
+
const handleColumnVisibilityChange = useCallback(
|
|
11184
|
+
(columnId, hidden2) => {
|
|
11185
|
+
internalColumnVisibilityChange(columnId, hidden2);
|
|
11186
|
+
if (onColumnVisibilityChange) {
|
|
11187
|
+
onColumnVisibilityChange(columnId, hidden2);
|
|
11188
|
+
}
|
|
11189
|
+
},
|
|
11190
|
+
[internalColumnVisibilityChange, onColumnVisibilityChange]
|
|
11191
|
+
);
|
|
11179
11192
|
const columns = useMemo(
|
|
11180
11193
|
() => allColumns.filter((col) => !col.hidden),
|
|
11181
11194
|
[allColumns]
|
|
11182
11195
|
);
|
|
11196
|
+
const horizontalScrollRef = useRef(null);
|
|
11197
|
+
const setHorizontalScrollRef = useCallback(
|
|
11198
|
+
(el) => {
|
|
11199
|
+
horizontalScrollRef.current = el;
|
|
11200
|
+
if (taskListHorizontalScrollRef) {
|
|
11201
|
+
taskListHorizontalScrollRef.current = el;
|
|
11202
|
+
}
|
|
11203
|
+
},
|
|
11204
|
+
[taskListHorizontalScrollRef]
|
|
11205
|
+
);
|
|
11206
|
+
useEffect(() => {
|
|
11207
|
+
const scrollEl = horizontalScrollRef.current;
|
|
11208
|
+
const containerEl = taskListContainerRef.current;
|
|
11209
|
+
if (!scrollEl || !containerEl)
|
|
11210
|
+
return void 0;
|
|
11211
|
+
const update = () => {
|
|
11212
|
+
const sl = scrollEl.scrollLeft;
|
|
11213
|
+
const maxSl = scrollEl.scrollWidth - scrollEl.clientWidth;
|
|
11214
|
+
containerEl.style.setProperty("--pinned-translate-left", `${sl}px`);
|
|
11215
|
+
containerEl.style.setProperty(
|
|
11216
|
+
"--pinned-translate-right",
|
|
11217
|
+
`${sl - maxSl}px`
|
|
11218
|
+
);
|
|
11219
|
+
};
|
|
11220
|
+
update();
|
|
11221
|
+
scrollEl.addEventListener("scroll", update, { passive: true });
|
|
11222
|
+
return () => scrollEl.removeEventListener("scroll", update);
|
|
11223
|
+
}, [taskListContainerRef, taskListWidth, tableWidth]);
|
|
11183
11224
|
const renderedIndexes = useOptimizedList(
|
|
11184
11225
|
taskListContainerRef,
|
|
11185
11226
|
"scrollTop",
|
|
@@ -11256,7 +11297,7 @@ const TaskListInner = ({
|
|
|
11256
11297
|
/* @__PURE__ */ jsxs(
|
|
11257
11298
|
"div",
|
|
11258
11299
|
{
|
|
11259
|
-
ref:
|
|
11300
|
+
ref: setHorizontalScrollRef,
|
|
11260
11301
|
className: styles$e.taskListHorizontalScroll,
|
|
11261
11302
|
style: {
|
|
11262
11303
|
width: tableWidth
|
|
@@ -11271,7 +11312,7 @@ const TaskListInner = ({
|
|
|
11271
11312
|
allColumns,
|
|
11272
11313
|
canToggleColumns: !!canToggleColumns,
|
|
11273
11314
|
onColumnResizeStart,
|
|
11274
|
-
onColumnVisibilityChange,
|
|
11315
|
+
onColumnVisibilityChange: handleColumnVisibilityChange,
|
|
11275
11316
|
canResizeColumns
|
|
11276
11317
|
}
|
|
11277
11318
|
),
|
|
@@ -5395,22 +5395,16 @@
|
|
|
5395
5395
|
React.useEffect(() => {
|
|
5396
5396
|
if (clientColumns) {
|
|
5397
5397
|
setColumns([...clientColumns]);
|
|
5398
|
-
const
|
|
5399
|
-
const newColumnIds = clientColumns.map((col) => col.id);
|
|
5400
|
-
const widthOfAddedColumns = clientColumns.filter((col) => !currentColumnIds.includes(col.id)).reduce((res, { width }) => res + width, 0);
|
|
5401
|
-
const widthOfRemovedColumns = clientColumns.filter((col) => !newColumnIds.includes(col.id)).reduce((res, { width }) => res + width, 0);
|
|
5398
|
+
const visibleColumns = clientColumns.filter((col) => !col.hidden);
|
|
5402
5399
|
setTableWidth(
|
|
5403
|
-
(
|
|
5404
|
-
prev + widthOfAddedColumns - widthOfRemovedColumns,
|
|
5405
|
-
clientColumns.reduce((res, { width }) => res + width, 0) + extraWidth
|
|
5406
|
-
)
|
|
5400
|
+
visibleColumns.reduce((res, { width }) => res + width, 0) + extraWidth
|
|
5407
5401
|
);
|
|
5408
5402
|
}
|
|
5409
5403
|
}, [clientColumns, extraWidth]);
|
|
5410
5404
|
const [tableResizeEvent, setTableResizeEvent] = React.useState(null);
|
|
5411
5405
|
const [columnResizeEvent, setColumnResizeEvent] = React.useState(null);
|
|
5412
5406
|
const [tableWidthState, setTableWidth] = React.useState(
|
|
5413
|
-
() => columnsState.reduce((res, { width }) => res + width, 0) + extraWidth
|
|
5407
|
+
() => columnsState.filter((c) => !c.hidden).reduce((res, { width }) => res + width, 0) + extraWidth
|
|
5414
5408
|
);
|
|
5415
5409
|
const onTableResizeStart = (clientX) => {
|
|
5416
5410
|
const newTableResizeEvent = {
|
|
@@ -5428,9 +5422,19 @@
|
|
|
5428
5422
|
initialTableWidth: tableWidthState
|
|
5429
5423
|
});
|
|
5430
5424
|
};
|
|
5425
|
+
const handleColumnVisibilityChange = (columnId, hidden2) => {
|
|
5426
|
+
setColumns((prev) => {
|
|
5427
|
+
const next = prev.map(
|
|
5428
|
+
(col) => col.id === columnId ? { ...col, hidden: hidden2 } : col
|
|
5429
|
+
);
|
|
5430
|
+
const visibleWidth = next.filter((c) => !c.hidden).reduce((s, { width }) => s + width, 0) + extraWidth;
|
|
5431
|
+
setTableWidth(visibleWidth);
|
|
5432
|
+
return next;
|
|
5433
|
+
});
|
|
5434
|
+
};
|
|
5431
5435
|
const isResizeTableInProgress = Boolean(tableResizeEvent);
|
|
5432
5436
|
const isResizeColumnInProgress = Boolean(columnResizeEvent);
|
|
5433
|
-
const taskListWidth = columnsState.reduce((res, { width }) => res + width, 0) + extraWidth;
|
|
5437
|
+
const taskListWidth = columnsState.filter((c) => !c.hidden).reduce((res, { width }) => res + width, 0) + extraWidth;
|
|
5434
5438
|
React.useEffect(() => {
|
|
5435
5439
|
if (!isResizeTableInProgress) {
|
|
5436
5440
|
return void 0;
|
|
@@ -5551,7 +5555,8 @@
|
|
|
5551
5555
|
taskListWidth,
|
|
5552
5556
|
tableWidthState,
|
|
5553
5557
|
onTableResizeStart,
|
|
5554
|
-
onColumnResizeStart
|
|
5558
|
+
onColumnResizeStart,
|
|
5559
|
+
handleColumnVisibilityChange
|
|
5555
5560
|
];
|
|
5556
5561
|
};
|
|
5557
5562
|
const toggleWrapper = "_toggleWrapper_rjfhl_1";
|
|
@@ -5715,7 +5720,8 @@
|
|
|
5715
5720
|
position: "sticky",
|
|
5716
5721
|
left: leftOffset,
|
|
5717
5722
|
zIndex: 2,
|
|
5718
|
-
backgroundColor: "var(--gantt-table-header-background-color, #fff)"
|
|
5723
|
+
backgroundColor: "var(--gantt-table-header-background-color, #fff)",
|
|
5724
|
+
paddingRight: 8
|
|
5719
5725
|
};
|
|
5720
5726
|
leftOffset += columns[i].width;
|
|
5721
5727
|
}
|
|
@@ -5727,7 +5733,8 @@
|
|
|
5727
5733
|
position: "sticky",
|
|
5728
5734
|
right: rightOffset,
|
|
5729
5735
|
zIndex: 2,
|
|
5730
|
-
backgroundColor: "var(--gantt-table-header-background-color, #fff)"
|
|
5736
|
+
backgroundColor: "var(--gantt-table-header-background-color, #fff)",
|
|
5737
|
+
paddingLeft: 8
|
|
5731
5738
|
};
|
|
5732
5739
|
rightOffset += columns[i].width;
|
|
5733
5740
|
}
|
|
@@ -10467,7 +10474,7 @@
|
|
|
10467
10474
|
if (isOverlay2) {
|
|
10468
10475
|
return "var(--gantt-table-drag-task-background-color)";
|
|
10469
10476
|
}
|
|
10470
|
-
return isSelected ? "var(--gantt-table-selected-task-background-color)" : isEven ? "var(--gantt-table-even-background-color)" :
|
|
10477
|
+
return isSelected ? "var(--gantt-table-selected-task-background-color)" : isEven ? "var(--gantt-table-even-background-color)" : "var(--gantt-background-color, #fff)";
|
|
10471
10478
|
}, [isEven, isOverlay2, isSelected]);
|
|
10472
10479
|
const rowClassName = React.useMemo(() => {
|
|
10473
10480
|
const classNames = [styles$h.taskListTableRow];
|
|
@@ -10487,35 +10494,31 @@
|
|
|
10487
10494
|
}, [isCut2, moveOverPosition, isOverlay2, isDragging]);
|
|
10488
10495
|
const pinnedStyles = React.useMemo(() => {
|
|
10489
10496
|
const result = {};
|
|
10490
|
-
|
|
10491
|
-
if (moveHandleProps || !isOverlay2 && task.type !== "project" && task.id !== "no-project-asigned") {
|
|
10492
|
-
leftOffset = 24;
|
|
10493
|
-
}
|
|
10497
|
+
const pinnedBg = backgroundColor || "var(--gantt-background-color, #fff)";
|
|
10494
10498
|
for (let i = 0; i < columns.length; i++) {
|
|
10495
10499
|
if (columns[i].pinned === "left") {
|
|
10496
10500
|
result[i] = {
|
|
10497
|
-
position: "
|
|
10498
|
-
|
|
10499
|
-
zIndex:
|
|
10500
|
-
backgroundColor:
|
|
10501
|
+
position: "relative",
|
|
10502
|
+
transform: "translateX(var(--pinned-translate-left, 0px))",
|
|
10503
|
+
zIndex: 2,
|
|
10504
|
+
backgroundColor: pinnedBg,
|
|
10505
|
+
paddingRight: 8
|
|
10501
10506
|
};
|
|
10502
|
-
leftOffset += columns[i].width;
|
|
10503
10507
|
}
|
|
10504
10508
|
}
|
|
10505
|
-
let rightOffset = 0;
|
|
10506
10509
|
for (let i = columns.length - 1; i >= 0; i--) {
|
|
10507
10510
|
if (columns[i].pinned === "right") {
|
|
10508
10511
|
result[i] = {
|
|
10509
|
-
position: "
|
|
10510
|
-
|
|
10511
|
-
zIndex:
|
|
10512
|
-
backgroundColor:
|
|
10512
|
+
position: "relative",
|
|
10513
|
+
transform: "translateX(var(--pinned-translate-right, 0px))",
|
|
10514
|
+
zIndex: 2,
|
|
10515
|
+
backgroundColor: pinnedBg,
|
|
10516
|
+
paddingLeft: 8
|
|
10513
10517
|
};
|
|
10514
|
-
rightOffset += columns[i].width;
|
|
10515
10518
|
}
|
|
10516
10519
|
}
|
|
10517
10520
|
return result;
|
|
10518
|
-
}, [columns,
|
|
10521
|
+
}, [columns, backgroundColor]);
|
|
10519
10522
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
10520
10523
|
"div",
|
|
10521
10524
|
{
|
|
@@ -11186,17 +11189,55 @@
|
|
|
11186
11189
|
taskListWidth,
|
|
11187
11190
|
tableWidth,
|
|
11188
11191
|
onTableResizeStart,
|
|
11189
|
-
onColumnResizeStart
|
|
11192
|
+
onColumnResizeStart,
|
|
11193
|
+
internalColumnVisibilityChange
|
|
11190
11194
|
] = useTableListResize(
|
|
11191
11195
|
columnsProp,
|
|
11192
11196
|
canReorderTasks,
|
|
11193
11197
|
onResizeColumn,
|
|
11194
11198
|
ganttRef
|
|
11195
11199
|
);
|
|
11200
|
+
const handleColumnVisibilityChange = React.useCallback(
|
|
11201
|
+
(columnId, hidden2) => {
|
|
11202
|
+
internalColumnVisibilityChange(columnId, hidden2);
|
|
11203
|
+
if (onColumnVisibilityChange) {
|
|
11204
|
+
onColumnVisibilityChange(columnId, hidden2);
|
|
11205
|
+
}
|
|
11206
|
+
},
|
|
11207
|
+
[internalColumnVisibilityChange, onColumnVisibilityChange]
|
|
11208
|
+
);
|
|
11196
11209
|
const columns = React.useMemo(
|
|
11197
11210
|
() => allColumns.filter((col) => !col.hidden),
|
|
11198
11211
|
[allColumns]
|
|
11199
11212
|
);
|
|
11213
|
+
const horizontalScrollRef = React.useRef(null);
|
|
11214
|
+
const setHorizontalScrollRef = React.useCallback(
|
|
11215
|
+
(el) => {
|
|
11216
|
+
horizontalScrollRef.current = el;
|
|
11217
|
+
if (taskListHorizontalScrollRef) {
|
|
11218
|
+
taskListHorizontalScrollRef.current = el;
|
|
11219
|
+
}
|
|
11220
|
+
},
|
|
11221
|
+
[taskListHorizontalScrollRef]
|
|
11222
|
+
);
|
|
11223
|
+
React.useEffect(() => {
|
|
11224
|
+
const scrollEl = horizontalScrollRef.current;
|
|
11225
|
+
const containerEl = taskListContainerRef.current;
|
|
11226
|
+
if (!scrollEl || !containerEl)
|
|
11227
|
+
return void 0;
|
|
11228
|
+
const update = () => {
|
|
11229
|
+
const sl = scrollEl.scrollLeft;
|
|
11230
|
+
const maxSl = scrollEl.scrollWidth - scrollEl.clientWidth;
|
|
11231
|
+
containerEl.style.setProperty("--pinned-translate-left", `${sl}px`);
|
|
11232
|
+
containerEl.style.setProperty(
|
|
11233
|
+
"--pinned-translate-right",
|
|
11234
|
+
`${sl - maxSl}px`
|
|
11235
|
+
);
|
|
11236
|
+
};
|
|
11237
|
+
update();
|
|
11238
|
+
scrollEl.addEventListener("scroll", update, { passive: true });
|
|
11239
|
+
return () => scrollEl.removeEventListener("scroll", update);
|
|
11240
|
+
}, [taskListContainerRef, taskListWidth, tableWidth]);
|
|
11200
11241
|
const renderedIndexes = useOptimizedList(
|
|
11201
11242
|
taskListContainerRef,
|
|
11202
11243
|
"scrollTop",
|
|
@@ -11273,7 +11314,7 @@
|
|
|
11273
11314
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
11274
11315
|
"div",
|
|
11275
11316
|
{
|
|
11276
|
-
ref:
|
|
11317
|
+
ref: setHorizontalScrollRef,
|
|
11277
11318
|
className: styles$e.taskListHorizontalScroll,
|
|
11278
11319
|
style: {
|
|
11279
11320
|
width: tableWidth
|
|
@@ -11288,7 +11329,7 @@
|
|
|
11288
11329
|
allColumns,
|
|
11289
11330
|
canToggleColumns: !!canToggleColumns,
|
|
11290
11331
|
onColumnResizeStart,
|
|
11291
|
-
onColumnVisibilityChange,
|
|
11332
|
+
onColumnVisibilityChange: handleColumnVisibilityChange,
|
|
11292
11333
|
canResizeColumns
|
|
11293
11334
|
}
|
|
11294
11335
|
),
|
package/package.json
CHANGED