gantt-task-react-powern 0.6.2 → 0.6.4

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.
@@ -20,8 +20,8 @@ export declare type TaskGanttContentProps = {
20
20
  fontFamily: string;
21
21
  rtl: boolean;
22
22
  virtualItems?: VirtualItem[];
23
- ganttHeight: number;
24
- scrollY: number;
23
+ visibleStartY: number;
24
+ visibleEndY: number;
25
25
  setGanttEvent: (value: GanttEvent) => void;
26
26
  setFailedTask: (value: BarTask | null) => void;
27
27
  setSelectedTask: (taskId: string) => void;
package/dist/index.js CHANGED
@@ -793,7 +793,7 @@ var TaskList = function TaskList(_ref) {
793
793
  estimateSize: function estimateSize() {
794
794
  return rowHeight;
795
795
  },
796
- overscan: 5
796
+ overscan: 10
797
797
  });
798
798
  React.useEffect(function () {
799
799
  if (horizontalContainerRef.current) {
@@ -949,7 +949,6 @@ var TaskList = function TaskList(_ref) {
949
949
  taskLabelRenderer: taskLabelRenderer,
950
950
  virtualItems: virtualizer.getVirtualItems()
951
951
  };
952
- console.debug(virtualizer.getTotalSize());
953
952
  return React__default.createElement("div", {
954
953
  ref: taskListRef
955
954
  }, React__default.createElement(TaskListHeader, Object.assign({}, headerProps)), React__default.createElement("div", {
@@ -984,6 +983,7 @@ var GridBody = function GridBody(_ref) {
984
983
  visibleStartY = _ref.visibleStartY,
985
984
  visibleEndY = _ref.visibleEndY;
986
985
  var visibleHeight = visibleEndY - visibleStartY;
986
+ var now = new Date();
987
987
  var items = virtualItems.length > 0 ? virtualItems : tasks.map(function (_, i) {
988
988
  return {
989
989
  index: i,
@@ -993,30 +993,34 @@ var GridBody = function GridBody(_ref) {
993
993
  key: i
994
994
  };
995
995
  });
996
- var now = new Date();
997
- var x = 0;
998
- var todayRects = [];
999
- var weekendRects = [];
1000
996
 
1001
- for (var i = 0; i < dates.length; i++) {
997
+ var isWeekend = function isWeekend(date) {
998
+ var d = date.getDay();
999
+ return d === 0 || d === 6;
1000
+ };
1001
+
1002
+ var isTodayColumn = function isTodayColumn(i) {
1002
1003
  var date = dates[i];
1003
- var isTodayColumn = i + 1 < dates.length && date.getTime() < now.getTime() && dates[i + 1].getTime() >= now.getTime() || i + 1 === dates.length && date.getTime() <= now.getTime() && addToDate(date, date.getTime() - dates[i - 1].getTime(), "millisecond").getTime() > now.getTime();
1004
+ var next = dates[i + 1];
1005
+ if (next && date <= now && next > now) return true;
1004
1006
 
1005
- if (isTodayColumn) {
1006
- todayRects.push(React__default.createElement("rect", {
1007
- key: "today-" + i,
1008
- x: rtl ? x + columnWidth : x,
1009
- y: visibleStartY,
1010
- width: columnWidth,
1011
- height: visibleHeight,
1012
- fill: todayColor
1013
- }));
1007
+ if (!next && date <= now) {
1008
+ var step = date.getTime() - dates[i - 1].getTime();
1009
+ var end = addToDate(date, step, "millisecond");
1010
+ return end > now;
1014
1011
  }
1015
1012
 
1016
- if (rtl && i + 1 < dates.length && date.getTime() >= now.getTime() && dates[i + 1].getTime() < now.getTime()) {
1013
+ return false;
1014
+ };
1015
+
1016
+ var todayRects = [];
1017
+ var weekendRects = [];
1018
+
1019
+ for (var i = 0, x = 0; i < dates.length; i++, x += columnWidth) {
1020
+ if (isTodayColumn(i)) {
1017
1021
  todayRects.push(React__default.createElement("rect", {
1018
- key: "today-rtl-" + i,
1019
- x: x,
1022
+ key: "today-" + i,
1023
+ x: rtl ? x + columnWidth : x,
1020
1024
  y: visibleStartY,
1021
1025
  width: columnWidth,
1022
1026
  height: visibleHeight,
@@ -1024,7 +1028,7 @@ var GridBody = function GridBody(_ref) {
1024
1028
  }));
1025
1029
  }
1026
1030
 
1027
- if (date.getDay() === 0 || date.getDay() === 6) {
1031
+ if (isWeekend(dates[i])) {
1028
1032
  weekendRects.push(React__default.createElement("rect", {
1029
1033
  key: "weekend-" + i,
1030
1034
  x: x,
@@ -1034,44 +1038,43 @@ var GridBody = function GridBody(_ref) {
1034
1038
  fill: weekendColor
1035
1039
  }));
1036
1040
  }
1037
-
1038
- x += columnWidth;
1039
1041
  }
1040
1042
 
1041
- x = 0;
1042
1043
  var tickLines = dates.map(function (_, i) {
1043
- var line = React__default.createElement("line", {
1044
+ return React__default.createElement("line", {
1044
1045
  key: "tick-" + i,
1045
- x1: x,
1046
+ x1: i * columnWidth,
1046
1047
  y1: visibleStartY,
1047
- x2: x,
1048
+ x2: i * columnWidth,
1048
1049
  y2: visibleEndY,
1049
1050
  className: styles$4.gridTick
1050
1051
  });
1051
- x += columnWidth;
1052
- return line;
1053
1052
  });
1054
1053
  var rowBackgrounds = [];
1055
1054
  var rowLines = [];
1056
1055
  rowLines.push(React__default.createElement("line", {
1057
- key: "top",
1056
+ key: "top-line",
1058
1057
  x1: 0,
1059
1058
  y1: visibleStartY,
1060
1059
  x2: svgWidth,
1061
1060
  y2: visibleStartY,
1062
1061
  className: styles$4.gridRowLine
1063
1062
  }));
1064
- items.forEach(function (vi) {
1063
+
1064
+ for (var _iterator = _createForOfIteratorHelperLoose(items), _step; !(_step = _iterator()).done;) {
1065
+ var vi = _step.value;
1065
1066
  var task = tasks[vi.index];
1067
+ if (!task) break;
1066
1068
  var y = vi.start;
1067
1069
  var isMilestone = task.type === "milestone";
1070
+ var rowClass = isMilestone ? styles$4.darkerGridRow : scheduleType === "lookAhead" ? styles$4.gridRowLookAhead : styles$4.gridRow;
1068
1071
  rowBackgrounds.push(React__default.createElement("rect", {
1069
1072
  key: "bg-" + vi.key,
1070
1073
  x: 0,
1071
1074
  y: y,
1072
1075
  width: svgWidth,
1073
1076
  height: rowHeight,
1074
- className: isMilestone ? styles$4.darkerGridRow : scheduleType === "lookAhead" ? styles$4.gridRowLookAhead : styles$4.gridRow
1077
+ className: rowClass
1075
1078
  }));
1076
1079
  rowLines.push(React__default.createElement("line", {
1077
1080
  key: "line-" + vi.key,
@@ -1081,7 +1084,8 @@ var GridBody = function GridBody(_ref) {
1081
1084
  y2: y + rowHeight,
1082
1085
  className: styles$4.gridRowLine
1083
1086
  }));
1084
- });
1087
+ }
1088
+
1085
1089
  return React__default.createElement("g", {
1086
1090
  className: "gridBody"
1087
1091
  }, React__default.createElement("g", {
@@ -2529,8 +2533,6 @@ var TaskGanttContent = function TaskGanttContent(_ref) {
2529
2533
  rtl = _ref.rtl,
2530
2534
  _ref$virtualItems = _ref.virtualItems,
2531
2535
  virtualItems = _ref$virtualItems === void 0 ? [] : _ref$virtualItems,
2532
- ganttHeight = _ref.ganttHeight,
2533
- scrollY = _ref.scrollY,
2534
2536
  setGanttEvent = _ref.setGanttEvent,
2535
2537
  setFailedTask = _ref.setFailedTask,
2536
2538
  setSelectedTask = _ref.setSelectedTask,
@@ -2538,7 +2540,9 @@ var TaskGanttContent = function TaskGanttContent(_ref) {
2538
2540
  onProgressChange = _ref.onProgressChange,
2539
2541
  onDoubleClick = _ref.onDoubleClick,
2540
2542
  onClick = _ref.onClick,
2541
- onDelete = _ref.onDelete;
2543
+ onDelete = _ref.onDelete,
2544
+ visibleStartY = _ref.visibleStartY,
2545
+ visibleEndY = _ref.visibleEndY;
2542
2546
  var point = svg === null || svg === void 0 ? void 0 : (_svg$current = svg.current) === null || _svg$current === void 0 ? void 0 : _svg$current.createSVGPoint();
2543
2547
 
2544
2548
  var _useState = React.useState(0),
@@ -2746,8 +2750,6 @@ var TaskGanttContent = function TaskGanttContent(_ref) {
2746
2750
  };
2747
2751
 
2748
2752
  var getArrows = function getArrows(isCritical, criticalPathType) {
2749
- var visibleMinY = scrollY - rowHeight * 5;
2750
- var visibleMaxY = scrollY + ganttHeight + rowHeight * 5;
2751
2753
  return tasks.flatMap(function (_task) {
2752
2754
  var task = _task.start.getTime() > 0 && _task.end.getTime() > 0 ? _task : undefined;
2753
2755
 
@@ -2768,7 +2770,7 @@ var TaskGanttContent = function TaskGanttContent(_ref) {
2768
2770
  var minY = Math.min(yFrom, yTo);
2769
2771
  var maxY = Math.max(yFrom, yTo);
2770
2772
 
2771
- if (maxY < visibleMinY || minY > visibleMaxY) {
2773
+ if (maxY < visibleStartY || minY > visibleEndY) {
2772
2774
  return null;
2773
2775
  }
2774
2776
 
@@ -2880,7 +2882,7 @@ var TaskGantt = function TaskGantt(_ref) {
2880
2882
  estimateSize: function estimateSize() {
2881
2883
  return barProps.rowHeight;
2882
2884
  },
2883
- overscan: 20
2885
+ overscan: 10
2884
2886
  });
2885
2887
  React.useEffect(function () {
2886
2888
  if (horizontalContainerRef.current) {
@@ -2921,6 +2923,8 @@ var TaskGantt = function TaskGantt(_ref) {
2921
2923
  visibleStartY: visibleStartY,
2922
2924
  visibleEndY: visibleEndY
2923
2925
  })), React__default.createElement(TaskGanttContent, Object.assign({}, newBarProps, {
2926
+ visibleStartY: visibleStartY,
2927
+ visibleEndY: visibleEndY,
2924
2928
  virtualItems: virtualizer.getVirtualItems()
2925
2929
  })))));
2926
2930
  };
@@ -3494,8 +3498,8 @@ var Gantt = function Gantt(_ref) {
3494
3498
  onDoubleClick: onDoubleClick,
3495
3499
  onClick: onClick,
3496
3500
  onDelete: onDelete,
3497
- ganttHeight: ganttHeight,
3498
- scrollY: scrollY
3501
+ visibleStartY: visibleStartY,
3502
+ visibleEndY: visibleEndY
3499
3503
  };
3500
3504
  var tableProps = {
3501
3505
  rowHeight: rowHeight,