gantt-task-react-v 1.2.5 → 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,52 +11148,22 @@ const calculateDataDatePosition = ({
11147
11148
  }
11148
11149
  });
11149
11150
  if (tasksStartingOnDataDate.length > 0) {
11150
- let dataDateEndTime;
11151
- switch (viewMode) {
11152
- case ViewMode.Hour:
11153
- dataDateEndTime = new Date(dataDate.getTime() + 60 * 60 * 1e3);
11154
- break;
11155
- case ViewMode.QuarterDay:
11156
- dataDateEndTime = new Date(dataDate.getTime() + 6 * 60 * 60 * 1e3);
11157
- break;
11158
- case ViewMode.HalfDay:
11159
- dataDateEndTime = new Date(dataDate.getTime() + 12 * 60 * 60 * 1e3);
11160
- break;
11161
- case ViewMode.Day:
11162
- dataDateEndTime = new Date(dataDate);
11163
- dataDateEndTime.setHours(23, 59, 59, 999);
11164
- break;
11165
- case ViewMode.Week: {
11166
- dataDateEndTime = new Date(dataDate);
11167
- dataDateEndTime.setDate(dataDate.getDate() + (6 - dataDate.getDay()));
11168
- dataDateEndTime.setHours(23, 59, 59, 999);
11169
- break;
11170
- }
11171
- case ViewMode.Month: {
11172
- dataDateEndTime = new Date(
11173
- dataDate.getFullYear(),
11174
- dataDate.getMonth() + 1,
11175
- 0
11176
- );
11177
- dataDateEndTime.setHours(23, 59, 59, 999);
11178
- break;
11179
- }
11180
- case ViewMode.Year: {
11181
- dataDateEndTime = new Date(dataDate.getFullYear(), 11, 31);
11182
- dataDateEndTime.setHours(23, 59, 59, 999);
11183
- break;
11184
- }
11185
- default:
11186
- dataDateEndTime = new Date(dataDate);
11187
- dataDateEndTime.setHours(23, 59, 59, 999);
11188
- }
11189
- const dataDateEndPosition = taskXCoordinate(
11190
- dataDateEndTime,
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,
11191
11162
  startDate,
11192
11163
  viewMode,
11193
11164
  columnWidth
11194
11165
  );
11195
- return dataDateEndPosition;
11166
+ return milestoneEndPosition;
11196
11167
  }
11197
11168
  const dataIndex = getDatesDiff(dataDate, startDate, viewMode);
11198
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,52 +11165,22 @@
11164
11165
  }
11165
11166
  });
11166
11167
  if (tasksStartingOnDataDate.length > 0) {
11167
- let dataDateEndTime;
11168
- switch (viewMode) {
11169
- case ViewMode.Hour:
11170
- dataDateEndTime = new Date(dataDate.getTime() + 60 * 60 * 1e3);
11171
- break;
11172
- case ViewMode.QuarterDay:
11173
- dataDateEndTime = new Date(dataDate.getTime() + 6 * 60 * 60 * 1e3);
11174
- break;
11175
- case ViewMode.HalfDay:
11176
- dataDateEndTime = new Date(dataDate.getTime() + 12 * 60 * 60 * 1e3);
11177
- break;
11178
- case ViewMode.Day:
11179
- dataDateEndTime = new Date(dataDate);
11180
- dataDateEndTime.setHours(23, 59, 59, 999);
11181
- break;
11182
- case ViewMode.Week: {
11183
- dataDateEndTime = new Date(dataDate);
11184
- dataDateEndTime.setDate(dataDate.getDate() + (6 - dataDate.getDay()));
11185
- dataDateEndTime.setHours(23, 59, 59, 999);
11186
- break;
11187
- }
11188
- case ViewMode.Month: {
11189
- dataDateEndTime = new Date(
11190
- dataDate.getFullYear(),
11191
- dataDate.getMonth() + 1,
11192
- 0
11193
- );
11194
- dataDateEndTime.setHours(23, 59, 59, 999);
11195
- break;
11196
- }
11197
- case ViewMode.Year: {
11198
- dataDateEndTime = new Date(dataDate.getFullYear(), 11, 31);
11199
- dataDateEndTime.setHours(23, 59, 59, 999);
11200
- break;
11201
- }
11202
- default:
11203
- dataDateEndTime = new Date(dataDate);
11204
- dataDateEndTime.setHours(23, 59, 59, 999);
11205
- }
11206
- const dataDateEndPosition = taskXCoordinate(
11207
- dataDateEndTime,
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,
11208
11179
  startDate,
11209
11180
  viewMode,
11210
11181
  columnWidth
11211
11182
  );
11212
- return dataDateEndPosition;
11183
+ return milestoneEndPosition;
11213
11184
  }
11214
11185
  const dataIndex = getDatesDiff(dataDate, startDate, viewMode);
11215
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.5",
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",