gantt-task-react-v 1.2.4 → 1.2.5

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.
@@ -11147,19 +11147,52 @@ const calculateDataDatePosition = ({
11147
11147
  }
11148
11148
  });
11149
11149
  if (tasksStartingOnDataDate.length > 0) {
11150
- let maxEndPosition = -Infinity;
11151
- for (const task of tasksStartingOnDataDate) {
11152
- const taskEndX = taskXCoordinate(
11153
- task.end,
11154
- startDate,
11155
- viewMode,
11156
- columnWidth
11157
- );
11158
- maxEndPosition = Math.max(maxEndPosition, taskEndX);
11159
- }
11160
- if (maxEndPosition > -Infinity) {
11161
- return maxEndPosition;
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);
11162
11188
  }
11189
+ const dataDateEndPosition = taskXCoordinate(
11190
+ dataDateEndTime,
11191
+ startDate,
11192
+ viewMode,
11193
+ columnWidth
11194
+ );
11195
+ return dataDateEndPosition;
11163
11196
  }
11164
11197
  const dataIndex = getDatesDiff(dataDate, startDate, viewMode);
11165
11198
  const extraMultiplier = () => {
@@ -11164,19 +11164,52 @@
11164
11164
  }
11165
11165
  });
11166
11166
  if (tasksStartingOnDataDate.length > 0) {
11167
- let maxEndPosition = -Infinity;
11168
- for (const task of tasksStartingOnDataDate) {
11169
- const taskEndX = taskXCoordinate(
11170
- task.end,
11171
- startDate,
11172
- viewMode,
11173
- columnWidth
11174
- );
11175
- maxEndPosition = Math.max(maxEndPosition, taskEndX);
11176
- }
11177
- if (maxEndPosition > -Infinity) {
11178
- return maxEndPosition;
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);
11179
11205
  }
11206
+ const dataDateEndPosition = taskXCoordinate(
11207
+ dataDateEndTime,
11208
+ startDate,
11209
+ viewMode,
11210
+ columnWidth
11211
+ );
11212
+ return dataDateEndPosition;
11180
11213
  }
11181
11214
  const dataIndex = getDatesDiff(dataDate, startDate, viewMode);
11182
11215
  const extraMultiplier = () => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gantt-task-react-v",
3
- "version": "1.2.4",
3
+ "version": "1.2.5",
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",