gantt-task-react-powern 0.4.85 → 0.4.87

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.
@@ -1357,22 +1357,12 @@ var Arrow = function Arrow(_ref) {
1357
1357
  rowHeight = _ref.rowHeight,
1358
1358
  taskHeight = _ref.taskHeight,
1359
1359
  arrowIndent = _ref.arrowIndent,
1360
- rtl = _ref.rtl,
1361
- arrowColor = _ref.arrowColor;
1362
- var path;
1363
- var trianglePoints;
1360
+ arrowColor = _ref.arrowColor,
1361
+ dependencyType = _ref.dependencyType;
1364
1362
 
1365
- if (rtl) {
1366
- var _drownPathAndTriangle = drownPathAndTriangleRTL(taskFrom, taskTo, rowHeight, taskHeight, arrowIndent);
1367
-
1368
- path = _drownPathAndTriangle[0];
1369
- trianglePoints = _drownPathAndTriangle[1];
1370
- } else {
1371
- var _drownPathAndTriangle2 = drownPathAndTriangle(taskFrom, taskTo, rowHeight, taskHeight, arrowIndent);
1372
-
1373
- path = _drownPathAndTriangle2[0];
1374
- trianglePoints = _drownPathAndTriangle2[1];
1375
- }
1363
+ var _drawPathAndTriangle = drawPathAndTriangle(taskFrom, taskTo, rowHeight, taskHeight, arrowIndent, dependencyType),
1364
+ path = _drawPathAndTriangle[0],
1365
+ trianglePoints = _drawPathAndTriangle[1];
1376
1366
 
1377
1367
  return React.createElement("g", {
1378
1368
  className: "arrow"
@@ -1387,35 +1377,84 @@ var Arrow = function Arrow(_ref) {
1387
1377
  }));
1388
1378
  };
1389
1379
 
1390
- var drownPathAndTriangle = function drownPathAndTriangle(taskFrom, taskTo, rowHeight, taskHeight, arrowIndent) {
1391
- var taskToStart, taskFromEnd;
1380
+ var drawPathAndTriangle = function drawPathAndTriangle(taskFrom, taskTo, rowHeight, taskHeight, arrowIndent, dependencyType) {
1381
+ var indexCompare = taskFrom.index > taskTo.index ? -1 : 1;
1382
+ var taskToEndY = taskTo.y + taskHeight / 2;
1383
+ var verticalOffset = indexCompare * (rowHeight / 2);
1384
+
1385
+ var minX = function minX(t) {
1386
+ if (t.x1 && t.actualx1) {
1387
+ return Math.min(t.x1, t.actualx1);
1388
+ } else if (t.x1) {
1389
+ return t.x1;
1390
+ } else if (t.actualx1) {
1391
+ return t.actualx1;
1392
+ } else {
1393
+ return 0;
1394
+ }
1395
+ };
1392
1396
 
1393
- if (taskTo.x1 > 0 && taskTo.actualx1 > 0) {
1394
- taskToStart = Math.min(taskTo.x1, taskTo.actualx1);
1395
- } else if (taskTo.x1 > 0) taskToStart = taskTo.x1;else if (taskTo.actualx1 > 0) taskToStart = taskTo.actualx1;else taskToStart = 0;
1397
+ var maxX = function maxX(t) {
1398
+ return Math.max(t.x2 || 0, t.actualx2 || 0);
1399
+ };
1396
1400
 
1397
- if (taskFrom.x2 > 0 && taskFrom.actualx2 > 0) {
1398
- taskFromEnd = Math.max(taskFrom.x2, taskFrom.actualx2);
1399
- } else if (taskFrom.x2 > 0) taskFromEnd = taskFrom.x2;else if (taskFrom.actualx2 > 0) taskFromEnd = taskFrom.actualx2;else taskFromEnd = 0;
1401
+ var fromPoint, toPoint;
1400
1402
 
1401
- var indexCompare = taskFrom.index > taskTo.index ? -1 : 1;
1402
- var taskToEndPosition = taskTo.y + taskHeight / 2;
1403
- var taskFromEndPosition = taskFromEnd + arrowIndent * 2;
1404
- var taskFromHorizontalOffsetValue = taskFromEndPosition < taskToStart ? "" : "H " + (taskToStart - arrowIndent);
1405
- var taskToHorizontalOffsetValue = taskFromEndPosition > taskToStart ? arrowIndent : taskToStart - taskFromEnd - arrowIndent;
1406
- var path = "M " + taskFromEnd + " " + (taskFrom.y + taskHeight / 2) + " \n h " + arrowIndent + " \n v " + indexCompare * rowHeight / 2 + " \n " + taskFromHorizontalOffsetValue + "\n V " + taskToEndPosition + " \n h " + taskToHorizontalOffsetValue;
1407
- var trianglePoints = taskToStart + "," + taskToEndPosition + " \n " + (taskToStart - 5) + "," + (taskToEndPosition - 5) + " \n " + (taskToStart - 5) + "," + (taskToEndPosition + 5);
1408
- return [path, trianglePoints];
1409
- };
1403
+ switch (dependencyType) {
1404
+ case "SS":
1405
+ fromPoint = minX(taskFrom);
1406
+ toPoint = minX(taskTo);
1407
+ break;
1408
+
1409
+ case "SF":
1410
+ fromPoint = minX(taskFrom);
1411
+ toPoint = maxX(taskTo);
1412
+ break;
1413
+
1414
+ case "FS":
1415
+ fromPoint = maxX(taskFrom);
1416
+ toPoint = minX(taskTo);
1417
+ break;
1418
+
1419
+ case "FF":
1420
+ fromPoint = maxX(taskFrom);
1421
+ toPoint = maxX(taskTo);
1422
+ break;
1423
+ }
1424
+
1425
+ var arrowPoints = function arrowPoints(x, y, right) {
1426
+ if (right === void 0) {
1427
+ right = true;
1428
+ }
1429
+
1430
+ return right ? x + "," + y + " " + (x - 5) + "," + (y - 5) + " " + (x - 5) + "," + (y + 5) : x + "," + y + " " + (x + 5) + "," + (y - 5) + " " + (x + 5) + "," + (y + 5);
1431
+ };
1432
+
1433
+ var path;
1434
+ var trianglePoints;
1435
+
1436
+ switch (dependencyType) {
1437
+ case "SS":
1438
+ path = "M " + fromPoint + " " + (taskFrom.y + taskHeight / 2) + "\n H " + (fromPoint + Math.min(toPoint - fromPoint, 0) - 2 * arrowIndent) + "\n V " + taskToEndY + "\n H " + (toPoint - 5);
1439
+ trianglePoints = arrowPoints(toPoint, taskToEndY, true);
1440
+ break;
1441
+
1442
+ case "SF":
1443
+ path = "M " + fromPoint + " " + (taskFrom.y + taskHeight / 2) + "\n H " + (fromPoint - 2 * arrowIndent) + "\n V " + (taskFrom.y + taskHeight / 2 + verticalOffset) + "\n " + (fromPoint - toPoint > 4 * arrowIndent ? "" : "H " + (toPoint + 2 * arrowIndent)) + "\n V " + taskToEndY + "\n H " + (toPoint + 5);
1444
+ trianglePoints = arrowPoints(toPoint, taskToEndY, false);
1445
+ break;
1446
+
1447
+ case "FS":
1448
+ path = "M " + fromPoint + " " + (taskFrom.y + taskHeight / 2) + "\n H " + (fromPoint + 2 * arrowIndent) + "\n V " + (taskFrom.y + taskHeight / 2 + verticalOffset) + "\n " + (toPoint - fromPoint > 4 * arrowIndent ? "" : "H " + (toPoint - 2 * arrowIndent)) + "\n V " + taskToEndY + "\n H " + (toPoint - 5);
1449
+ trianglePoints = arrowPoints(toPoint, taskToEndY, true);
1450
+ break;
1451
+
1452
+ case "FF":
1453
+ path = "M " + fromPoint + " " + (taskFrom.y + taskHeight / 2) + "\n H " + (fromPoint + Math.max(toPoint - fromPoint, 0) + 2 * arrowIndent) + "\n V " + taskToEndY + "\n H " + (toPoint + 5);
1454
+ trianglePoints = arrowPoints(toPoint, taskToEndY, false);
1455
+ break;
1456
+ }
1410
1457
 
1411
- var drownPathAndTriangleRTL = function drownPathAndTriangleRTL(taskFrom, taskTo, rowHeight, taskHeight, arrowIndent) {
1412
- var indexCompare = taskFrom.index > taskTo.index ? -1 : 1;
1413
- var taskToEndPosition = taskTo.y + taskHeight / 2;
1414
- var taskFromEndPosition = taskFrom.x1 - arrowIndent * 2;
1415
- var taskFromHorizontalOffsetValue = taskFromEndPosition > taskTo.x2 ? "" : "H " + (taskTo.x2 + arrowIndent);
1416
- var taskToHorizontalOffsetValue = taskFromEndPosition < taskTo.x2 ? -arrowIndent : taskTo.x2 - taskFrom.x1 + arrowIndent;
1417
- var path = "M " + taskFrom.x1 + " " + (taskFrom.y + taskHeight / 2) + " \n h " + -arrowIndent + " \n v " + indexCompare * rowHeight / 2 + " \n " + taskFromHorizontalOffsetValue + "\n V " + taskToEndPosition + " \n h " + taskToHorizontalOffsetValue;
1418
- var trianglePoints = taskTo.x2 + "," + taskToEndPosition + " \n " + (taskTo.x2 + 5) + "," + (taskToEndPosition + 5) + " \n " + (taskTo.x2 + 5) + "," + (taskToEndPosition - 5);
1419
1458
  return [path, trianglePoints];
1420
1459
  };
1421
1460
 
@@ -1428,9 +1467,16 @@ var convertToBarTasks = function convertToBarTasks(tasks, dates, columnWidth, ro
1428
1467
 
1429
1468
  var _loop = function _loop(j) {
1430
1469
  var dependence = barTasks.findIndex(function (value) {
1431
- return value.id === dependencies[j];
1470
+ return value.id === dependencies[j].id;
1432
1471
  });
1433
- if (dependence !== -1 && task.start.getTime() > 0 && task.end.getTime() > 0) barTasks[dependence].barChildren.push(task);
1472
+
1473
+ if (dependence !== -1 && task.start.getTime() > 0 && task.end.getTime() > 0) {
1474
+ var barchild = _extends({}, task, {
1475
+ dependencyType: dependencies[j].type
1476
+ });
1477
+
1478
+ barTasks[dependence].barChildren.push(barchild);
1479
+ }
1434
1480
  };
1435
1481
 
1436
1482
  for (var j = 0; j < dependencies.length; j++) {
@@ -1522,7 +1568,7 @@ var convertToBar = function convertToBar(task, index, dates, columnWidth, rowHei
1522
1568
  };
1523
1569
 
1524
1570
  var convertToMilestone = function convertToMilestone(task, index, dates, columnWidth, rowHeight, taskHeight, barCornerRadius, handleWidth, milestoneBackgroundColor, milestoneBackgroundSelectedColor) {
1525
- var x = task.start && task.end ? taskXCoordinate(task.end, dates, columnWidth) : 0;
1571
+ var x = task.start && task.end ? taskXCoordinate(task.start, dates, columnWidth) : 0;
1526
1572
  var y = taskYCoordinate(index, rowHeight, taskHeight);
1527
1573
  var x1 = task.start && task.end ? x - taskHeight * 0.5 : 0;
1528
1574
  var x2 = task.start && task.end ? x + taskHeight * 0.5 : 0;
@@ -1840,7 +1886,10 @@ function getChildren(taskList, task) {
1840
1886
 
1841
1887
  if (task.type !== "project") {
1842
1888
  tasks = taskList.filter(function (t) {
1843
- return t.dependencies && t.dependencies.indexOf(task.id) !== -1;
1889
+ return t.dependencies && t.dependencies.map(function (_ref) {
1890
+ var id = _ref.id;
1891
+ return id;
1892
+ }).indexOf(task.id) !== -1;
1844
1893
  });
1845
1894
  } else {
1846
1895
  tasks = taskList.filter(function (t) {
@@ -2545,9 +2594,9 @@ var TaskGanttContent = function TaskGanttContent(_ref) {
2545
2594
  taskFrom: task,
2546
2595
  taskTo: tasks[child.index],
2547
2596
  rowHeight: rowHeight,
2597
+ dependencyType: child.dependencyType,
2548
2598
  taskHeight: taskHeight,
2549
2599
  arrowIndent: arrowIndent,
2550
- rtl: rtl,
2551
2600
  arrowColor: (criticalTask === null || criticalTask === void 0 ? void 0 : criticalTask.arrowColor) || "#808080"
2552
2601
  });
2553
2602
  }
@@ -2569,21 +2618,6 @@ var TaskGanttContent = function TaskGanttContent(_ref) {
2569
2618
  }, tasks.map(function (_task) {
2570
2619
  var task = _task.start.getTime() > 0 && _task.end.getTime() > 0 || _task.actualStart.getTime() > 0 && _task.actualEnd.getTime() > 0 ? _task : undefined;
2571
2620
 
2572
- if (!task && _task.typeInternal === "milestone") {
2573
- return React.createElement(Milestone, {
2574
- task: _task,
2575
- arrowIndent: arrowIndent,
2576
- taskHeight: taskHeight,
2577
- isProgressChangeable: false,
2578
- isDateChangeable: false,
2579
- isDelete: !_task.isDisabled,
2580
- onEventStart: function onEventStart() {},
2581
- key: _task.id,
2582
- isSelected: !!selectedTask && _task.id === selectedTask.id,
2583
- rtl: rtl
2584
- });
2585
- }
2586
-
2587
2621
  if (!task) {
2588
2622
  return React.createElement("g", {
2589
2623
  key: _task.id,
@@ -3281,7 +3315,7 @@ function topologicalOrderingHelper(taskID, taskMap, sortedTaskList) {
3281
3315
  taskMap[taskID].started = true;
3282
3316
  var task = taskMap[taskID].task;
3283
3317
  if (task.dependencies) for (var i = 0; i < task.dependencies.length; i++) {
3284
- var successVal = topologicalOrderingHelper(task.dependencies[i], taskMap, sortedTaskList);
3318
+ var successVal = topologicalOrderingHelper(task.dependencies[i].id, taskMap, sortedTaskList);
3285
3319
  if (!successVal) return false;
3286
3320
  }
3287
3321
  taskMap[taskID].finished = true;
@@ -3313,7 +3347,7 @@ function getCriticalPaths(leafTasks) {
3313
3347
  if (task.dependencies) for (var j = 0; j < task.dependencies.length; j++) {
3314
3348
  var _taskMap$task$depende;
3315
3349
 
3316
- (_taskMap$task$depende = taskMap[task.dependencies[j]]) === null || _taskMap$task$depende === void 0 ? void 0 : _taskMap$task$depende.dependents.push(task.id);
3350
+ (_taskMap$task$depende = taskMap[task.dependencies[j].id]) === null || _taskMap$task$depende === void 0 ? void 0 : _taskMap$task$depende.dependents.push(task.id);
3317
3351
  }
3318
3352
  }
3319
3353