gantt-lib 0.115.2 → 0.116.0

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
@@ -593,6 +593,8 @@ interface TaskChartSharedProps<TTask extends Task = Task> {
593
593
  onToggleCollapse?: (parentId: string) => void;
594
594
  /** Task IDs to highlight in the task list (for search results) */
595
595
  highlightedTaskIds?: Set<string>;
596
+ /** Fill parent rows with background in the task list. Defaults to enabled in plan-fact mode only. */
597
+ fillParentRowsInTaskList?: boolean;
596
598
  /** Enable a leading checkbox column for multi-selecting task rows (default: false) */
597
599
  enableTaskMultiSelect?: boolean;
598
600
  /** Controlled selected task IDs for multi-select mode */
@@ -963,6 +965,8 @@ interface TaskListProps {
963
965
  businessDays?: boolean;
964
966
  /** Task IDs highlighted by the active filter */
965
967
  highlightedTaskIds?: Set<string>;
968
+ /** Fill parent rows with background in task list */
969
+ fillParentRows?: boolean;
966
970
  /** Enable a leading checkbox column for multi-selecting task rows (default: false) */
967
971
  enableTaskMultiSelect?: boolean;
968
972
  /** Controlled selected task IDs for multi-select mode */
package/dist/index.d.ts CHANGED
@@ -593,6 +593,8 @@ interface TaskChartSharedProps<TTask extends Task = Task> {
593
593
  onToggleCollapse?: (parentId: string) => void;
594
594
  /** Task IDs to highlight in the task list (for search results) */
595
595
  highlightedTaskIds?: Set<string>;
596
+ /** Fill parent rows with background in the task list. Defaults to enabled in plan-fact mode only. */
597
+ fillParentRowsInTaskList?: boolean;
596
598
  /** Enable a leading checkbox column for multi-selecting task rows (default: false) */
597
599
  enableTaskMultiSelect?: boolean;
598
600
  /** Controlled selected task IDs for multi-select mode */
@@ -963,6 +965,8 @@ interface TaskListProps {
963
965
  businessDays?: boolean;
964
966
  /** Task IDs highlighted by the active filter */
965
967
  highlightedTaskIds?: Set<string>;
968
+ /** Fill parent rows with background in task list */
969
+ fillParentRows?: boolean;
966
970
  /** Enable a leading checkbox column for multi-selecting task rows (default: false) */
967
971
  enableTaskMultiSelect?: boolean;
968
972
  /** Controlled selected task IDs for multi-select mode */
package/dist/index.js CHANGED
@@ -5096,7 +5096,7 @@ var areTaskListRowPropsEqual = (prevProps, nextProps) => {
5096
5096
  const nextPickingTask = nextProps.selectingPredecessorFor === nextTask.id;
5097
5097
  const prevAnyPicking = prevProps.selectingPredecessorFor != null;
5098
5098
  const nextAnyPicking = nextProps.selectingPredecessorFor != null;
5099
- 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.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.taskDateChangeMode === nextProps.taskDateChangeMode;
5099
+ 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.taskDateChangeMode === nextProps.taskDateChangeMode;
5100
5100
  };
5101
5101
  var TaskListRow = import_react11.default.memo(
5102
5102
  ({
@@ -5148,6 +5148,7 @@ var TaskListRow = import_react11.default.memo(
5148
5148
  ancestorLineModes = [],
5149
5149
  customDays,
5150
5150
  isWeekend: isWeekend3,
5151
+ fillParentRow = false,
5151
5152
  businessDays,
5152
5153
  defaultTaskDurationDays = DEFAULT_TASK_DURATION_DAYS,
5153
5154
  isFilterMatch = false,
@@ -6829,6 +6830,7 @@ var TaskListRow = import_react11.default.memo(
6829
6830
  isDragOver && isDirectChildDropTarget ? "gantt-tl-row-drag-over-direct-child" : "",
6830
6831
  isChild ? "gantt-tl-row-child" : "",
6831
6832
  isParent ? "gantt-tl-row-parent" : "",
6833
+ isParent && fillParentRow ? "gantt-tl-row-parent-filled" : "",
6832
6834
  `gantt-tl-row-level-${rowFillLevel}`,
6833
6835
  isTotalRow ? "gantt-tl-row-total" : "",
6834
6836
  rowClassName ?? ""
@@ -7312,6 +7314,7 @@ var TaskList = ({
7312
7314
  isWeekend: isWeekend3,
7313
7315
  businessDays,
7314
7316
  highlightedTaskIds = /* @__PURE__ */ new Set(),
7317
+ fillParentRows = false,
7315
7318
  enableTaskMultiSelect = false,
7316
7319
  selectedTaskIds,
7317
7320
  onSelectedTaskIdsChange,
@@ -8248,6 +8251,7 @@ var TaskList = ({
8248
8251
  ancestorLineModes: ancestorLineModesMap.get(task.id) ?? [],
8249
8252
  customDays,
8250
8253
  isWeekend: isWeekend3,
8254
+ fillParentRow: fillParentRows,
8251
8255
  businessDays,
8252
8256
  defaultTaskDurationDays,
8253
8257
  isFilterMatch: filterMode === "highlight" ? highlightedTaskIds.has(task.id) : false,
@@ -12128,6 +12132,7 @@ function TaskGanttChartInner(props, ref) {
12128
12132
  collapsedParentIds: externalCollapsedParentIds,
12129
12133
  onToggleCollapse: externalOnToggleCollapse,
12130
12134
  highlightedTaskIds,
12135
+ fillParentRowsInTaskList,
12131
12136
  enableTaskMultiSelect = false,
12132
12137
  selectedTaskIds,
12133
12138
  onSelectedTaskIdsChange,
@@ -12180,6 +12185,7 @@ function TaskGanttChartInner(props, ref) {
12180
12185
  const taskDateChangeMode = externalTaskDateChangeMode ?? internalTaskDateChangeMode;
12181
12186
  const handleTaskDateChangeMode = externalOnTaskDateChangeModeChange ?? setInternalTaskDateChangeMode;
12182
12187
  const resolvedRowContentLines = isPlanFactMode ? Math.max(2, Math.floor(rowContentLines)) : Math.max(1, Math.floor(rowContentLines));
12188
+ const shouldFillParentRowsInTaskList = fillParentRowsInTaskList ?? isPlanFactMode;
12183
12189
  const effectiveRowHeight = (0, import_react18.useMemo)(
12184
12190
  () => Math.max(rowHeight, 10 + resolvedRowContentLines * 18),
12185
12191
  [resolvedRowContentLines, rowHeight]
@@ -12989,6 +12995,7 @@ function TaskGanttChartInner(props, ref) {
12989
12995
  onDemoteTask: onDemoteTask ?? handleDemoteTask,
12990
12996
  onUngroupTask: onUngroupTask ?? handleUngroupTask,
12991
12997
  highlightedTaskIds: taskListHighlightedTaskIds,
12998
+ fillParentRows: shouldFillParentRowsInTaskList,
12992
12999
  enableTaskMultiSelect,
12993
13000
  selectedTaskIds,
12994
13001
  onSelectedTaskIdsChange,