gantt-lib 0.135.2 → 0.135.3

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 CHANGED
@@ -657,6 +657,8 @@ interface TaskChartSharedProps<TTask extends Task = Task> {
657
657
  taskDateChangeMode?: TaskDateChangeMode;
658
658
  /** Controlled callback for task-list date picker mode changes */
659
659
  onTaskDateChangeModeChange?: (mode: TaskDateChangeMode) => void;
660
+ /** Render task-list dependencies as compact text for print/export layouts (default: false). */
661
+ printDependencyLabels?: boolean;
660
662
  }
661
663
  interface GanttModeProps<TTask extends Task = Task> extends TaskChartSharedProps<TTask> {
662
664
  /** Omitted mode keeps the historical task-based gantt behavior. */
@@ -1087,6 +1089,8 @@ interface TaskListProps {
1087
1089
  taskDateChangeMode?: TaskDateChangeMode;
1088
1090
  /** Controlled callback for task-list date picker mode changes */
1089
1091
  onTaskDateChangeModeChange?: (mode: TaskDateChangeMode) => void;
1092
+ /** Render dependencies as compact text for print/export layouts instead of interactive chips. */
1093
+ printDependencyLabels?: boolean;
1090
1094
  /** Visible row indices from the shared chart viewport window */
1091
1095
  visibleRowIndices?: number[];
1092
1096
  /** Display-only placeholder rows appended below streamed task rows. */
package/dist/index.d.ts CHANGED
@@ -657,6 +657,8 @@ interface TaskChartSharedProps<TTask extends Task = Task> {
657
657
  taskDateChangeMode?: TaskDateChangeMode;
658
658
  /** Controlled callback for task-list date picker mode changes */
659
659
  onTaskDateChangeModeChange?: (mode: TaskDateChangeMode) => void;
660
+ /** Render task-list dependencies as compact text for print/export layouts (default: false). */
661
+ printDependencyLabels?: boolean;
660
662
  }
661
663
  interface GanttModeProps<TTask extends Task = Task> extends TaskChartSharedProps<TTask> {
662
664
  /** Omitted mode keeps the historical task-based gantt behavior. */
@@ -1087,6 +1089,8 @@ interface TaskListProps {
1087
1089
  taskDateChangeMode?: TaskDateChangeMode;
1088
1090
  /** Controlled callback for task-list date picker mode changes */
1089
1091
  onTaskDateChangeModeChange?: (mode: TaskDateChangeMode) => void;
1092
+ /** Render dependencies as compact text for print/export layouts instead of interactive chips. */
1093
+ printDependencyLabels?: boolean;
1090
1094
  /** Visible row indices from the shared chart viewport window */
1091
1095
  visibleRowIndices?: number[];
1092
1096
  /** Display-only placeholder rows appended below streamed task rows. */
package/dist/index.js CHANGED
@@ -6341,6 +6341,11 @@ var LINK_TYPE_LABELS_RU2 = {
6341
6341
  function formatTaskNumberLabel(taskNumber) {
6342
6342
  return taskNumber ? `${taskNumber}. ` : "";
6343
6343
  }
6344
+ function formatDependencyPrintLabel(dep, predecessorTaskNumber, lag) {
6345
+ const effectiveLag = lag ?? 0;
6346
+ const lagSuffix = effectiveLag === 0 ? "" : effectiveLag > 0 ? `+${effectiveLag}` : String(effectiveLag);
6347
+ return `[${predecessorTaskNumber ?? dep.taskId}]${LINK_TYPE_LABELS_RU2[dep.type]}${lagSuffix}`;
6348
+ }
6344
6349
  var ArrowLeft = () => /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
6345
6350
  "svg",
6346
6351
  {
@@ -6752,7 +6757,7 @@ var areTaskListRowPropsEqual = (prevProps, nextProps) => {
6752
6757
  const nextPickingTask = nextProps.selectingPredecessorFor === nextTask.id;
6753
6758
  const prevAnyPicking = prevProps.selectingPredecessorFor != null;
6754
6759
  const nextAnyPicking = nextProps.selectingPredecessorFor != null;
6755
- return prevTaskUnchanged && prevProps.rowIndex === nextProps.rowIndex && prevProps.taskNumber === nextProps.taskNumber && prevProps.taskNumberMap === nextProps.taskNumberMap && prevProps.rowHeight === nextProps.rowHeight && prevIsSelected === nextIsSelected && prevProps.disableTaskNameEditing === nextProps.disableTaskNameEditing && prevProps.disableDependencyEditing === nextProps.disableDependencyEditing && prevProps.allTasks === nextProps.allTasks && prevProps.activeLinkType === nextProps.activeLinkType && prevProps.dependencyPickMode === nextProps.dependencyPickMode && prevPickingTask === nextPickingTask && prevAnyPicking === nextAnyPicking && resolveSelectedChipRole(prevProps) === resolveSelectedChipRole(nextProps) && prevIsEditingTask === nextIsEditingTask && prevProps.isDragging === nextProps.isDragging && prevProps.isDragOver === nextProps.isDragOver && prevProps.dragOverPlacement === nextProps.dragOverPlacement && prevProps.isNestedDropTarget === nextProps.isNestedDropTarget && prevProps.isDirectChildDropTarget === nextProps.isDirectChildDropTarget && prevCollapsed === nextCollapsed && prevProps.canDemoteTask === nextProps.canDemoteTask && prevProps.isLastChild === nextProps.isLastChild && prevProps.nestingDepth === nextProps.nestingDepth && prevProps.hasVisibleChildren === nextProps.hasVisibleChildren && prevProps.ancestorLineModes === nextProps.ancestorLineModes && prevProps.customDays === nextProps.customDays && prevProps.isWeekend === nextProps.isWeekend && prevProps.fillParentRow === nextProps.fillParentRow && prevProps.businessDays === nextProps.businessDays && prevProps.defaultTaskDurationDays === nextProps.defaultTaskDurationDays && prevProps.isFilterMatch === nextProps.isFilterMatch && prevProps.isFilterHideMode === nextProps.isFilterHideMode && prevProps.resolvedColumns === nextProps.resolvedColumns && prevProps.isTaskSelected === nextProps.isTaskSelected && resolveActiveCustomCellForRow(prevProps) === resolveActiveCustomCellForRow(nextProps) && prevProps.taskListMenuCommands === nextProps.taskListMenuCommands && prevProps.hideTaskListRowActions === nextProps.hideTaskListRowActions && prevProps.rowClassName === nextProps.rowClassName && prevProps.getTaskListNamePrefixIcon === nextProps.getTaskListNamePrefixIcon && prevProps.taskDateChangeMode === nextProps.taskDateChangeMode;
6760
+ return prevTaskUnchanged && prevProps.rowIndex === nextProps.rowIndex && prevProps.taskNumber === nextProps.taskNumber && prevProps.taskNumberMap === nextProps.taskNumberMap && prevProps.rowHeight === nextProps.rowHeight && prevIsSelected === nextIsSelected && prevProps.disableTaskNameEditing === nextProps.disableTaskNameEditing && prevProps.disableDependencyEditing === nextProps.disableDependencyEditing && prevProps.allTasks === nextProps.allTasks && prevProps.activeLinkType === nextProps.activeLinkType && prevProps.dependencyPickMode === nextProps.dependencyPickMode && prevPickingTask === nextPickingTask && prevAnyPicking === nextAnyPicking && resolveSelectedChipRole(prevProps) === resolveSelectedChipRole(nextProps) && prevIsEditingTask === nextIsEditingTask && prevProps.isDragging === nextProps.isDragging && prevProps.isDragOver === nextProps.isDragOver && prevProps.dragOverPlacement === nextProps.dragOverPlacement && prevProps.isNestedDropTarget === nextProps.isNestedDropTarget && prevProps.isDirectChildDropTarget === nextProps.isDirectChildDropTarget && prevCollapsed === nextCollapsed && prevProps.canDemoteTask === nextProps.canDemoteTask && prevProps.isLastChild === nextProps.isLastChild && prevProps.nestingDepth === nextProps.nestingDepth && prevProps.hasVisibleChildren === nextProps.hasVisibleChildren && prevProps.ancestorLineModes === nextProps.ancestorLineModes && prevProps.customDays === nextProps.customDays && prevProps.isWeekend === nextProps.isWeekend && prevProps.fillParentRow === nextProps.fillParentRow && prevProps.businessDays === nextProps.businessDays && prevProps.defaultTaskDurationDays === nextProps.defaultTaskDurationDays && prevProps.isFilterMatch === nextProps.isFilterMatch && prevProps.isFilterHideMode === nextProps.isFilterHideMode && prevProps.resolvedColumns === nextProps.resolvedColumns && prevProps.isTaskSelected === nextProps.isTaskSelected && resolveActiveCustomCellForRow(prevProps) === resolveActiveCustomCellForRow(nextProps) && prevProps.taskListMenuCommands === nextProps.taskListMenuCommands && prevProps.hideTaskListRowActions === nextProps.hideTaskListRowActions && prevProps.rowClassName === nextProps.rowClassName && prevProps.getTaskListNamePrefixIcon === nextProps.getTaskListNamePrefixIcon && prevProps.taskDateChangeMode === nextProps.taskDateChangeMode && prevProps.printDependencyLabels === nextProps.printDependencyLabels;
6756
6761
  };
6757
6762
  var TaskListRow = import_react11.default.memo(
6758
6763
  ({
@@ -6820,7 +6825,8 @@ var TaskListRow = import_react11.default.memo(
6820
6825
  rowClassName,
6821
6826
  getTaskListNamePrefixIcon,
6822
6827
  taskDateChangeMode = "preserve-duration",
6823
- onTaskDateChangeModeChange
6828
+ onTaskDateChangeModeChange,
6829
+ printDependencyLabels = false
6824
6830
  }) => {
6825
6831
  const [editingColumnId, setEditingColumnId] = (0, import_react11.useState)(null);
6826
6832
  const [editingColumnStartValue, setEditingColumnStartValue] = (0, import_react11.useState)(void 0);
@@ -8306,7 +8312,11 @@ var TaskListRow = import_react11.default.memo(
8306
8312
  ),
8307
8313
  sourcePickerContent
8308
8314
  ] }) : /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(import_jsx_runtime14.Fragment, { children: [
8309
- chips.length >= 2 ? (
8315
+ printDependencyLabels ? /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: "gantt-tl-dependency-print-labels", children: chips.map(({ dep, lag }) => formatDependencyPrintLabel(
8316
+ dep,
8317
+ taskNumberMap[dep.taskId],
8318
+ lag
8319
+ )).join(", ") }) : chips.length >= 2 ? (
8310
8320
  /* 2+ deps — show only "N связей" summary chip that opens a popover */
8311
8321
  /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(Popover, { open: overflowOpen, onOpenChange: setOverflowOpen, children: [
8312
8322
  /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
@@ -8383,7 +8393,7 @@ var TaskListRow = import_react11.default.memo(
8383
8393
  }
8384
8394
  )
8385
8395
  ) : null,
8386
- !disableDependencyEditing && !isPicking && /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
8396
+ !printDependencyLabels && !disableDependencyEditing && !isPicking && /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
8387
8397
  "button",
8388
8398
  {
8389
8399
  type: "button",
@@ -9047,6 +9057,7 @@ var TaskList = ({
9047
9057
  bodyMinHeight,
9048
9058
  taskDateChangeMode = "preserve-duration",
9049
9059
  onTaskDateChangeModeChange,
9060
+ printDependencyLabels = false,
9050
9061
  visibleRowIndices,
9051
9062
  skeletonRowCount = 0
9052
9063
  }) => {
@@ -10204,7 +10215,8 @@ var TaskList = ({
10204
10215
  rowClassName: getTaskListRowClassName?.(task),
10205
10216
  getTaskListNamePrefixIcon,
10206
10217
  taskDateChangeMode,
10207
- onTaskDateChangeModeChange
10218
+ onTaskDateChangeModeChange,
10219
+ printDependencyLabels
10208
10220
  }
10209
10221
  )
10210
10222
  },
@@ -14219,7 +14231,8 @@ function TaskGanttChartInner(props, ref) {
14219
14231
  getTaskListNamePrefixIcon,
14220
14232
  rowContentLines = 1,
14221
14233
  taskDateChangeMode: externalTaskDateChangeMode,
14222
- onTaskDateChangeModeChange: externalOnTaskDateChangeModeChange
14234
+ onTaskDateChangeModeChange: externalOnTaskDateChangeModeChange,
14235
+ printDependencyLabels = false
14223
14236
  } = props;
14224
14237
  const dayWidth = !isTableMatrixMode ? props.dayWidth ?? 40 : 40;
14225
14238
  const criticalPathMode = !isTableMatrixMode && !isPlanFactMode ? props.criticalPathMode : void 0;
@@ -15407,6 +15420,7 @@ function TaskGanttChartInner(props, ref) {
15407
15420
  bodyMinHeight: tableBodyMinHeight,
15408
15421
  taskDateChangeMode,
15409
15422
  onTaskDateChangeModeChange: handleTaskDateChangeMode,
15423
+ printDependencyLabels,
15410
15424
  visibleRowIndices: visibleTaskWindowIndices,
15411
15425
  skeletonRowCount
15412
15426
  }