gantt-lib 0.135.3 → 0.135.4
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.
- package/dist/index.d.mts +5 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +16 -8
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +16 -8
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -3675,8 +3675,8 @@ function handleGlobalMouseMove(e) {
|
|
|
3675
3675
|
if (draggedTask && isMilestoneTask(draggedTask)) {
|
|
3676
3676
|
newWidth = dayWidth;
|
|
3677
3677
|
}
|
|
3678
|
-
const isParentResizePreview = draggedTask && (mode === "resize-left" || mode === "resize-right") && isTaskParent(activeDrag.taskId, allTasks);
|
|
3679
|
-
if (isParentResizePreview && activeDrag.onCascadeProgress) {
|
|
3678
|
+
const isParentResizePreview = !activeDrag.deferCascadePreview && draggedTask && (mode === "resize-left" || mode === "resize-right") && isTaskParent(activeDrag.taskId, allTasks);
|
|
3679
|
+
if (!activeDrag.deferCascadePreview && isParentResizePreview && activeDrag.onCascadeProgress) {
|
|
3680
3680
|
const { dayWidth: dw, monthStart: mStart } = activeDrag;
|
|
3681
3681
|
const previewRange = resolveDragRangeForInteraction(activeDrag, draggedTask, mode, newLeft, newWidth);
|
|
3682
3682
|
const anchor = mode === "resize-left" ? "end" : "start";
|
|
@@ -3727,7 +3727,7 @@ function handleGlobalMouseMove(e) {
|
|
|
3727
3727
|
activeDrag.onCascadeProgress(liveOverrides, activeDrag.parentScalePreview.previewTasks);
|
|
3728
3728
|
}
|
|
3729
3729
|
}
|
|
3730
|
-
if (!activeDrag.disableConstraints && activeDrag.onCascadeProgress && !isParentResizePreview) {
|
|
3730
|
+
if (!activeDrag.deferCascadePreview && !activeDrag.disableConstraints && activeDrag.onCascadeProgress && !isParentResizePreview) {
|
|
3731
3731
|
const { dayWidth: dayWidth2, monthStart: mStart, taskId: dragId } = activeDrag;
|
|
3732
3732
|
const originalDraggedTask = draggedTask ?? allTasks.find((t) => t.id === dragId);
|
|
3733
3733
|
const previewRange = originalDraggedTask ? clampDateRangeForIncomingFS(
|
|
@@ -3851,6 +3851,7 @@ var useTaskDrag = (options) => {
|
|
|
3851
3851
|
rowIndex,
|
|
3852
3852
|
enableAutoSchedule = false,
|
|
3853
3853
|
disableConstraints = false,
|
|
3854
|
+
deferCascadePreview = false,
|
|
3854
3855
|
onCascadeProgress,
|
|
3855
3856
|
onCascade,
|
|
3856
3857
|
locked = false,
|
|
@@ -4188,13 +4189,14 @@ var useTaskDrag = (options) => {
|
|
|
4188
4189
|
onCancel: handleCancel,
|
|
4189
4190
|
allTasks,
|
|
4190
4191
|
disableConstraints,
|
|
4192
|
+
deferCascadePreview,
|
|
4191
4193
|
onCascadeProgress,
|
|
4192
4194
|
businessDays,
|
|
4193
4195
|
weekendPredicate,
|
|
4194
4196
|
cascadeContext: shouldBuildCascadeContext ? createCascadeContext(allTasks) : void 0,
|
|
4195
4197
|
scheduleIntentMode: Boolean(onScheduleIntent)
|
|
4196
4198
|
};
|
|
4197
|
-
}, [edgeZoneWidth, currentLeft, currentWidth, dayWidth, monthStart, taskId, onDragStateChange, handleProgress, handleComplete, handleCancel, allTasks, disableConstraints, onCascadeProgress, onCascade, effectiveLocked, viewMode]);
|
|
4199
|
+
}, [edgeZoneWidth, currentLeft, currentWidth, dayWidth, monthStart, taskId, onDragStateChange, handleProgress, handleComplete, handleCancel, allTasks, disableConstraints, deferCascadePreview, onCascadeProgress, onCascade, effectiveLocked, viewMode]);
|
|
4198
4200
|
const handleMouseDown = useCallback((e) => {
|
|
4199
4201
|
startDrag(e);
|
|
4200
4202
|
}, [startDrag]);
|
|
@@ -4252,10 +4254,10 @@ var useTaskDrag = (options) => {
|
|
|
4252
4254
|
// src/components/TaskRow/TaskRow.tsx
|
|
4253
4255
|
import { Fragment, jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
4254
4256
|
var arePropsEqual = (prevProps, nextProps) => {
|
|
4255
|
-
return prevProps.task.id === nextProps.task.id && prevProps.task.name === nextProps.task.name && prevProps.task.startDate === nextProps.task.startDate && prevProps.task.endDate === nextProps.task.endDate && prevProps.task.baselineStartDate === nextProps.task.baselineStartDate && prevProps.task.baselineEndDate === nextProps.task.baselineEndDate && prevProps.task.type === nextProps.task.type && prevProps.task.color === nextProps.task.color && prevProps.task.progress === nextProps.task.progress && prevProps.task.accepted === nextProps.task.accepted && prevProps.monthStart.getTime() === nextProps.monthStart.getTime() && prevProps.dayWidth === nextProps.dayWidth && prevProps.rowHeight === nextProps.rowHeight && prevProps.overridePosition?.left === nextProps.overridePosition?.left && prevProps.overridePosition?.width === nextProps.overridePosition?.width && prevProps.previewPositionStore === nextProps.previewPositionStore && prevProps.allTasks === nextProps.allTasks && prevProps.disableConstraints === nextProps.disableConstraints && prevProps.task.locked === nextProps.task.locked && prevProps.task.synced === nextProps.task.synced && prevProps.task.divider === nextProps.task.divider && prevProps.highlightExpiredTasks === nextProps.highlightExpiredTasks && prevProps.isCritical === nextProps.isCritical && prevProps.showBaseline === nextProps.showBaseline && prevProps.isFilterMatch === nextProps.isFilterMatch && prevProps.businessDays === nextProps.businessDays && prevProps.customDays === nextProps.customDays && prevProps.isWeekend === nextProps.isWeekend && prevProps.disableTaskDrag === nextProps.disableTaskDrag && prevProps.disableDependencyEditing === nextProps.disableDependencyEditing && prevProps.isDependencyDragActive === nextProps.isDependencyDragActive && prevProps.viewMode === nextProps.viewMode && prevProps.showTaskDateLabels === nextProps.showTaskDateLabels && prevProps.showTaskNames === nextProps.showTaskNames;
|
|
4257
|
+
return prevProps.task.id === nextProps.task.id && prevProps.task.name === nextProps.task.name && prevProps.task.startDate === nextProps.task.startDate && prevProps.task.endDate === nextProps.task.endDate && prevProps.task.baselineStartDate === nextProps.task.baselineStartDate && prevProps.task.baselineEndDate === nextProps.task.baselineEndDate && prevProps.task.type === nextProps.task.type && prevProps.task.color === nextProps.task.color && prevProps.task.progress === nextProps.task.progress && prevProps.task.accepted === nextProps.task.accepted && prevProps.monthStart.getTime() === nextProps.monthStart.getTime() && prevProps.dayWidth === nextProps.dayWidth && prevProps.rowHeight === nextProps.rowHeight && prevProps.overridePosition?.left === nextProps.overridePosition?.left && prevProps.overridePosition?.width === nextProps.overridePosition?.width && prevProps.previewPositionStore === nextProps.previewPositionStore && prevProps.allTasks === nextProps.allTasks && prevProps.disableConstraints === nextProps.disableConstraints && prevProps.deferCascadePreview === nextProps.deferCascadePreview && prevProps.task.locked === nextProps.task.locked && prevProps.task.synced === nextProps.task.synced && prevProps.task.divider === nextProps.task.divider && prevProps.highlightExpiredTasks === nextProps.highlightExpiredTasks && prevProps.isCritical === nextProps.isCritical && prevProps.showBaseline === nextProps.showBaseline && prevProps.isFilterMatch === nextProps.isFilterMatch && prevProps.businessDays === nextProps.businessDays && prevProps.customDays === nextProps.customDays && prevProps.isWeekend === nextProps.isWeekend && prevProps.disableTaskDrag === nextProps.disableTaskDrag && prevProps.disableDependencyEditing === nextProps.disableDependencyEditing && prevProps.isDependencyDragActive === nextProps.isDependencyDragActive && prevProps.viewMode === nextProps.viewMode && prevProps.showTaskDateLabels === nextProps.showTaskDateLabels && prevProps.showTaskNames === nextProps.showTaskNames;
|
|
4256
4258
|
};
|
|
4257
4259
|
var TaskRow = React2.memo(
|
|
4258
|
-
({ task, monthStart, dayWidth, rowHeight, onTasksChange, onScheduleIntent, onDragStateChange, rowIndex, allTasks, enableAutoSchedule, disableConstraints, overridePosition, previewPositionStore, onCascadeProgress, onCascade, divider, highlightExpiredTasks, isCritical = false, showBaseline = false, isFilterMatch = false, businessDays, customDays, isWeekend: isWeekend3, disableTaskDrag = false, disableDependencyEditing = false, onDependencyPortPointerDown, isDependencyDragActive = false, viewMode = "day", showTaskDateLabels = true, showTaskNames = true }) => {
|
|
4260
|
+
({ task, monthStart, dayWidth, rowHeight, onTasksChange, onScheduleIntent, onDragStateChange, rowIndex, allTasks, enableAutoSchedule, disableConstraints, deferCascadePreview = false, overridePosition, previewPositionStore, onCascadeProgress, onCascade, divider, highlightExpiredTasks, isCritical = false, showBaseline = false, isFilterMatch = false, businessDays, customDays, isWeekend: isWeekend3, disableTaskDrag = false, disableDependencyEditing = false, onDependencyPortPointerDown, isDependencyDragActive = false, viewMode = "day", showTaskDateLabels = true, showTaskNames = true }) => {
|
|
4259
4261
|
const defaultParentBarColor = "#782FC4";
|
|
4260
4262
|
const { divider: taskDivider } = task;
|
|
4261
4263
|
const normalizedTask = useMemo2(() => normalizeTaskDatesForType(task), [task]);
|
|
@@ -4377,6 +4379,7 @@ var TaskRow = React2.memo(
|
|
|
4377
4379
|
rowIndex,
|
|
4378
4380
|
enableAutoSchedule,
|
|
4379
4381
|
disableConstraints,
|
|
4382
|
+
deferCascadePreview,
|
|
4380
4383
|
locked: task.locked,
|
|
4381
4384
|
disableTaskDrag,
|
|
4382
4385
|
onCascadeProgress,
|
|
@@ -4800,7 +4803,8 @@ var DragGuideLines = ({
|
|
|
4800
4803
|
dragMode,
|
|
4801
4804
|
left,
|
|
4802
4805
|
width,
|
|
4803
|
-
totalHeight
|
|
4806
|
+
totalHeight,
|
|
4807
|
+
top = 0
|
|
4804
4808
|
}) => {
|
|
4805
4809
|
if (!isDragging || !dragMode) {
|
|
4806
4810
|
return null;
|
|
@@ -4814,6 +4818,7 @@ var DragGuideLines = ({
|
|
|
4814
4818
|
className: "gantt-dgl-guideLine",
|
|
4815
4819
|
style: {
|
|
4816
4820
|
left: `${left}px`,
|
|
4821
|
+
top: `${top}px`,
|
|
4817
4822
|
height: `${totalHeight}px`
|
|
4818
4823
|
}
|
|
4819
4824
|
}
|
|
@@ -4824,6 +4829,7 @@ var DragGuideLines = ({
|
|
|
4824
4829
|
className: "gantt-dgl-guideLine",
|
|
4825
4830
|
style: {
|
|
4826
4831
|
left: `${left + width}px`,
|
|
4832
|
+
top: `${top}px`,
|
|
4827
4833
|
height: `${totalHeight}px`
|
|
4828
4834
|
}
|
|
4829
4835
|
}
|
|
@@ -15513,7 +15519,8 @@ function TaskGanttChartInner(props, ref) {
|
|
|
15513
15519
|
dragMode: dragGuideLines.dragMode,
|
|
15514
15520
|
left: dragGuideLines.left,
|
|
15515
15521
|
width: dragGuideLines.width,
|
|
15516
|
-
totalHeight: totalGridHeight
|
|
15522
|
+
totalHeight: Math.min(totalGridHeight, scrollViewport.viewportHeight),
|
|
15523
|
+
top: Math.max(0, scrollViewport.scrollTop)
|
|
15517
15524
|
}
|
|
15518
15525
|
),
|
|
15519
15526
|
renderedChartTasks.map(({ task, index }) => /* @__PURE__ */ jsx21(
|
|
@@ -15550,6 +15557,7 @@ function TaskGanttChartInner(props, ref) {
|
|
|
15550
15557
|
allTasks: normalizedTasks,
|
|
15551
15558
|
enableAutoSchedule: enableAutoSchedule ?? false,
|
|
15552
15559
|
disableConstraints: disableConstraints ?? false,
|
|
15560
|
+
deferCascadePreview: normalizedTasks.length >= 1e3,
|
|
15553
15561
|
previewPositionStore,
|
|
15554
15562
|
onCascadeProgress: handleCascadeProgress,
|
|
15555
15563
|
onCascade: handleCascade,
|