gantt-task-react-v 1.2.6 → 1.2.7

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.
@@ -11120,6 +11120,9 @@ const calculateDataDatePosition = ({
11120
11120
  return false;
11121
11121
  const taskStartDate = new Date(task.start);
11122
11122
  const dataDateNormalized = new Date(dataDate);
11123
+ if (viewMode === ViewMode.Day) {
11124
+ return taskStartDate.getFullYear() === dataDateNormalized.getFullYear() && taskStartDate.getMonth() === dataDateNormalized.getMonth() && taskStartDate.getDate() === dataDateNormalized.getDate();
11125
+ }
11123
11126
  switch (viewMode) {
11124
11127
  case ViewMode.Hour:
11125
11128
  return taskStartDate.getFullYear() === dataDateNormalized.getFullYear() && taskStartDate.getMonth() === dataDateNormalized.getMonth() && taskStartDate.getDate() === dataDateNormalized.getDate() && taskStartDate.getHours() === dataDateNormalized.getHours();
@@ -11127,8 +11130,6 @@ const calculateDataDatePosition = ({
11127
11130
  return taskStartDate.getFullYear() === dataDateNormalized.getFullYear() && taskStartDate.getMonth() === dataDateNormalized.getMonth() && taskStartDate.getDate() === dataDateNormalized.getDate() && Math.floor(taskStartDate.getHours() / 6) === Math.floor(dataDateNormalized.getHours() / 6);
11128
11131
  case ViewMode.HalfDay:
11129
11132
  return taskStartDate.getFullYear() === dataDateNormalized.getFullYear() && taskStartDate.getMonth() === dataDateNormalized.getMonth() && taskStartDate.getDate() === dataDateNormalized.getDate() && Math.floor(taskStartDate.getHours() / 12) === Math.floor(dataDateNormalized.getHours() / 12);
11130
- case ViewMode.Day:
11131
- return taskStartDate.getFullYear() === dataDateNormalized.getFullYear() && taskStartDate.getMonth() === dataDateNormalized.getMonth() && taskStartDate.getDate() === dataDateNormalized.getDate();
11132
11133
  case ViewMode.Week: {
11133
11134
  const taskWeekStart = new Date(taskStartDate);
11134
11135
  taskWeekStart.setDate(taskStartDate.getDate() - taskStartDate.getDay());
@@ -11147,14 +11148,22 @@ const calculateDataDatePosition = ({
11147
11148
  }
11148
11149
  });
11149
11150
  if (tasksStartingOnDataDate.length > 0) {
11150
- const dataDatePosition = taskXCoordinate(
11151
- dataDate,
11151
+ const virtualMilestone = {
11152
+ id: "virtual-data-date-milestone",
11153
+ type: "milestone",
11154
+ name: "Data Date",
11155
+ start: dataDate,
11156
+ end: dataDate,
11157
+ // Same as start date for milestone
11158
+ progress: 100
11159
+ };
11160
+ const milestoneEndPosition = taskXCoordinate(
11161
+ virtualMilestone.end,
11152
11162
  startDate,
11153
11163
  viewMode,
11154
11164
  columnWidth
11155
11165
  );
11156
- const offsetPercentage = 0.95;
11157
- return dataDatePosition + columnWidth * offsetPercentage;
11166
+ return milestoneEndPosition;
11158
11167
  }
11159
11168
  const dataIndex = getDatesDiff(dataDate, startDate, viewMode);
11160
11169
  const extraMultiplier = () => {
@@ -11137,6 +11137,9 @@
11137
11137
  return false;
11138
11138
  const taskStartDate = new Date(task.start);
11139
11139
  const dataDateNormalized = new Date(dataDate);
11140
+ if (viewMode === ViewMode.Day) {
11141
+ return taskStartDate.getFullYear() === dataDateNormalized.getFullYear() && taskStartDate.getMonth() === dataDateNormalized.getMonth() && taskStartDate.getDate() === dataDateNormalized.getDate();
11142
+ }
11140
11143
  switch (viewMode) {
11141
11144
  case ViewMode.Hour:
11142
11145
  return taskStartDate.getFullYear() === dataDateNormalized.getFullYear() && taskStartDate.getMonth() === dataDateNormalized.getMonth() && taskStartDate.getDate() === dataDateNormalized.getDate() && taskStartDate.getHours() === dataDateNormalized.getHours();
@@ -11144,8 +11147,6 @@
11144
11147
  return taskStartDate.getFullYear() === dataDateNormalized.getFullYear() && taskStartDate.getMonth() === dataDateNormalized.getMonth() && taskStartDate.getDate() === dataDateNormalized.getDate() && Math.floor(taskStartDate.getHours() / 6) === Math.floor(dataDateNormalized.getHours() / 6);
11145
11148
  case ViewMode.HalfDay:
11146
11149
  return taskStartDate.getFullYear() === dataDateNormalized.getFullYear() && taskStartDate.getMonth() === dataDateNormalized.getMonth() && taskStartDate.getDate() === dataDateNormalized.getDate() && Math.floor(taskStartDate.getHours() / 12) === Math.floor(dataDateNormalized.getHours() / 12);
11147
- case ViewMode.Day:
11148
- return taskStartDate.getFullYear() === dataDateNormalized.getFullYear() && taskStartDate.getMonth() === dataDateNormalized.getMonth() && taskStartDate.getDate() === dataDateNormalized.getDate();
11149
11150
  case ViewMode.Week: {
11150
11151
  const taskWeekStart = new Date(taskStartDate);
11151
11152
  taskWeekStart.setDate(taskStartDate.getDate() - taskStartDate.getDay());
@@ -11164,14 +11165,22 @@
11164
11165
  }
11165
11166
  });
11166
11167
  if (tasksStartingOnDataDate.length > 0) {
11167
- const dataDatePosition = taskXCoordinate(
11168
- dataDate,
11168
+ const virtualMilestone = {
11169
+ id: "virtual-data-date-milestone",
11170
+ type: "milestone",
11171
+ name: "Data Date",
11172
+ start: dataDate,
11173
+ end: dataDate,
11174
+ // Same as start date for milestone
11175
+ progress: 100
11176
+ };
11177
+ const milestoneEndPosition = taskXCoordinate(
11178
+ virtualMilestone.end,
11169
11179
  startDate,
11170
11180
  viewMode,
11171
11181
  columnWidth
11172
11182
  );
11173
- const offsetPercentage = 0.95;
11174
- return dataDatePosition + columnWidth * offsetPercentage;
11183
+ return milestoneEndPosition;
11175
11184
  }
11176
11185
  const dataIndex = getDatesDiff(dataDate, startDate, viewMode);
11177
11186
  const extraMultiplier = () => {
@@ -8,7 +8,7 @@ export interface DataDatePositionOptions {
8
8
  rtl?: boolean;
9
9
  }
10
10
  /**
11
- * Calculate enhanced data date line position that considers tasks starting on the same date
12
- * When tasks start exactly on the data date, positions the line at the end of those task bars
11
+ * Calculate data date line position by creating a virtual milestone bar for the data date
12
+ * and positioning the line at the end of that milestone bar (just like the custom frontend fix)
13
13
  */
14
14
  export declare const calculateDataDatePosition: ({ dataDate, startDate, viewMode, columnWidth, tasks, rtl, }: DataDatePositionOptions) => number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gantt-task-react-v",
3
- "version": "1.2.6",
3
+ "version": "1.2.7",
4
4
  "description": "Interactive Gantt Chart for React with TypeScript.",
5
5
  "author": "aguilanbon",
6
6
  "homepage": "https://github.com/aguilanbon/gantt-task-react-v",