gantt-task-react-powern 0.4.69 → 0.4.71
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.
- package/dist/components/grid/grid-body.d.ts +2 -0
- package/dist/components/task-list/task-list-header.d.ts +3 -0
- package/dist/components/task-list/task-list-table.d.ts +3 -0
- package/dist/components/task-list/task-list.d.ts +7 -0
- package/dist/index.css +27 -1
- package/dist/index.js +230 -37
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +230 -37
- package/dist/index.modern.js.map +1 -1
- package/dist/types/public-types.d.ts +8 -0
- package/package.json +1 -1
package/dist/index.modern.js
CHANGED
|
@@ -274,9 +274,6 @@ var getWeekNumberISO8601 = function getWeekNumberISO8601(date) {
|
|
|
274
274
|
return weekNumber;
|
|
275
275
|
}
|
|
276
276
|
};
|
|
277
|
-
var getDaysInMonth = function getDaysInMonth(month, year) {
|
|
278
|
-
return new Date(year, month + 1, 0).getDate();
|
|
279
|
-
};
|
|
280
277
|
|
|
281
278
|
var styles = {"ganttTable":"_3_ygE","ganttTable_Header":"_1nBOt","ganttTable_HeaderSeparator":"_2eZzQ","ganttTable_HeaderItem":"_WuQ0f"};
|
|
282
279
|
|
|
@@ -284,7 +281,10 @@ var TaskListHeaderDefault = function TaskListHeaderDefault(_ref) {
|
|
|
284
281
|
var headerHeight = _ref.headerHeight,
|
|
285
282
|
fontFamily = _ref.fontFamily,
|
|
286
283
|
fontSize = _ref.fontSize,
|
|
287
|
-
rowWidth = _ref.rowWidth
|
|
284
|
+
rowWidth = _ref.rowWidth,
|
|
285
|
+
scheduleType = _ref.scheduleType,
|
|
286
|
+
allSelected = _ref.allSelected,
|
|
287
|
+
onSelectAll = _ref.onSelectAll;
|
|
288
288
|
return React.createElement("div", {
|
|
289
289
|
className: styles.ganttTable,
|
|
290
290
|
style: {
|
|
@@ -296,7 +296,19 @@ var TaskListHeaderDefault = function TaskListHeaderDefault(_ref) {
|
|
|
296
296
|
style: {
|
|
297
297
|
height: headerHeight - 2
|
|
298
298
|
}
|
|
299
|
-
}, React.createElement("div", {
|
|
299
|
+
}, onSelectAll && React.createElement("div", null, React.createElement("div", {
|
|
300
|
+
className: styles.ganttTable_HeaderItem,
|
|
301
|
+
style: {
|
|
302
|
+
minWidth: parseInt(rowWidth) * 0.3,
|
|
303
|
+
maxWidth: parseInt(rowWidth) * 0.3
|
|
304
|
+
}
|
|
305
|
+
}, React.createElement("input", {
|
|
306
|
+
type: "checkbox",
|
|
307
|
+
checked: allSelected,
|
|
308
|
+
onChange: function onChange(e) {
|
|
309
|
+
return onSelectAll(e.target.checked);
|
|
310
|
+
}
|
|
311
|
+
}))), React.createElement("div", {
|
|
300
312
|
className: styles.ganttTable_HeaderItem,
|
|
301
313
|
style: {
|
|
302
314
|
minWidth: parseInt(rowWidth) * 0.8,
|
|
@@ -335,7 +347,7 @@ var TaskListHeaderDefault = function TaskListHeaderDefault(_ref) {
|
|
|
335
347
|
}), React.createElement("div", {
|
|
336
348
|
className: styles.ganttTable_HeaderItem,
|
|
337
349
|
style: {
|
|
338
|
-
minWidth: parseInt(rowWidth) * 0.
|
|
350
|
+
minWidth: parseInt(rowWidth) * 0.6
|
|
339
351
|
},
|
|
340
352
|
title: "Planned Start"
|
|
341
353
|
}, "Planned Start"), React.createElement("div", {
|
|
@@ -347,13 +359,31 @@ var TaskListHeaderDefault = function TaskListHeaderDefault(_ref) {
|
|
|
347
359
|
}), React.createElement("div", {
|
|
348
360
|
className: styles.ganttTable_HeaderItem,
|
|
349
361
|
style: {
|
|
350
|
-
minWidth: parseInt(rowWidth) * 0.
|
|
362
|
+
minWidth: parseInt(rowWidth) * 0.6
|
|
363
|
+
},
|
|
364
|
+
title: "Planned End"
|
|
365
|
+
}, "Planned End"), scheduleType === "lookAhead" && React.createElement("div", {
|
|
366
|
+
className: styles.ganttTable_HeaderItem,
|
|
367
|
+
style: {
|
|
368
|
+
minWidth: parseInt(rowWidth) * 0.6
|
|
369
|
+
},
|
|
370
|
+
title: "Planned Start"
|
|
371
|
+
}, "Actual Start"), scheduleType === "lookAhead" && React.createElement("div", {
|
|
372
|
+
className: styles.ganttTable_HeaderSeparator,
|
|
373
|
+
style: {
|
|
374
|
+
height: headerHeight * 0.5,
|
|
375
|
+
marginTop: headerHeight * 0.25
|
|
376
|
+
}
|
|
377
|
+
}), scheduleType === "lookAhead" && React.createElement("div", {
|
|
378
|
+
className: styles.ganttTable_HeaderItem,
|
|
379
|
+
style: {
|
|
380
|
+
minWidth: parseInt(rowWidth) * 0.6
|
|
351
381
|
},
|
|
352
382
|
title: "Planned End"
|
|
353
|
-
}, "
|
|
383
|
+
}, "Actual End")));
|
|
354
384
|
};
|
|
355
385
|
|
|
356
|
-
var styles$1 = {"taskListWrapper":"_3ZbQT","taskListTableRow":"_34SS0","taskListCell":"_3lLk3","taskListNameWrapper":"_nI1Xw","taskListExpander":"_2QjE6","taskListExpanderPlaceholder":"_1fnLB","taskListEmptyExpander":"_2TfEi","taskListText":"_2ZvXU"};
|
|
386
|
+
var styles$1 = {"taskListWrapper":"_3ZbQT","taskListTableRow":"_34SS0","taskListLookAheadRow":"_GzvG4","taskListMilestoneRow":"_3Ykml","taskListCell":"_3lLk3","taskListNameWrapper":"_nI1Xw","taskListExpander":"_2QjE6","taskListExpanderPlaceholder":"_1fnLB","taskListEmptyExpander":"_2TfEi","taskListText":"_2ZvXU"};
|
|
357
387
|
|
|
358
388
|
var localeDateStringCache = {};
|
|
359
389
|
|
|
@@ -381,11 +411,15 @@ var TaskListTableDefault = function TaskListTableDefault(_ref) {
|
|
|
381
411
|
var rowHeight = _ref.rowHeight,
|
|
382
412
|
rowWidth = _ref.rowWidth,
|
|
383
413
|
tasks = _ref.tasks,
|
|
414
|
+
scheduleType = _ref.scheduleType,
|
|
384
415
|
leafTasks = _ref.leafTasks,
|
|
385
416
|
fontFamily = _ref.fontFamily,
|
|
386
417
|
fontSize = _ref.fontSize,
|
|
387
418
|
locale = _ref.locale,
|
|
388
419
|
onExpanderClick = _ref.onExpanderClick,
|
|
420
|
+
_ref$selectedTasks = _ref.selectedTasks,
|
|
421
|
+
selectedTasks = _ref$selectedTasks === void 0 ? [] : _ref$selectedTasks,
|
|
422
|
+
onTaskSelect = _ref.onTaskSelect,
|
|
389
423
|
_ref$taskLabelRendere = _ref.taskLabelRenderer,
|
|
390
424
|
taskLabelRenderer = _ref$taskLabelRendere === void 0 ? function (t) {
|
|
391
425
|
return " " + t.name;
|
|
@@ -415,13 +449,36 @@ var TaskListTableDefault = function TaskListTableDefault(_ref) {
|
|
|
415
449
|
}
|
|
416
450
|
}
|
|
417
451
|
|
|
452
|
+
var isSelected = selectedTasks.includes(t.id);
|
|
418
453
|
return React.createElement("div", {
|
|
419
|
-
className: styles$1.taskListTableRow,
|
|
454
|
+
className: t.type === "milestone" ? styles$1.taskListMilestoneRow : scheduleType === "lookAhead" ? styles$1.taskListLookAheadRow : styles$1.taskListTableRow,
|
|
420
455
|
style: {
|
|
421
456
|
height: rowHeight
|
|
422
457
|
},
|
|
423
458
|
key: t.id + "row"
|
|
459
|
+
}, onTaskSelect && React.createElement("div", {
|
|
460
|
+
className: styles$1.taskListCell,
|
|
461
|
+
style: {
|
|
462
|
+
minWidth: parseInt(rowWidth) * 0.3,
|
|
463
|
+
maxWidth: parseInt(rowWidth) * 0.3
|
|
464
|
+
}
|
|
424
465
|
}, React.createElement("div", {
|
|
466
|
+
className: styles$1.taskListText,
|
|
467
|
+
style: {
|
|
468
|
+
display: "flex",
|
|
469
|
+
justifyContent: "center",
|
|
470
|
+
alignItems: "center",
|
|
471
|
+
height: "100%",
|
|
472
|
+
paddingLeft: "0",
|
|
473
|
+
paddingRight: "0"
|
|
474
|
+
}
|
|
475
|
+
}, React.createElement("input", {
|
|
476
|
+
type: "checkbox",
|
|
477
|
+
checked: isSelected,
|
|
478
|
+
onChange: function onChange(e) {
|
|
479
|
+
return onTaskSelect(t.id, e.target.checked);
|
|
480
|
+
}
|
|
481
|
+
}))), React.createElement("div", {
|
|
425
482
|
className: styles$1.taskListCell,
|
|
426
483
|
style: {
|
|
427
484
|
minWidth: parseInt(rowWidth) * 0.8,
|
|
@@ -480,7 +537,23 @@ var TaskListTableDefault = function TaskListTableDefault(_ref) {
|
|
|
480
537
|
}
|
|
481
538
|
}, React.createElement("div", {
|
|
482
539
|
className: styles$1.taskListText
|
|
483
|
-
}, "\xA0", toLocaleDateString(t.end, dateTimeOptions)))
|
|
540
|
+
}, "\xA0", toLocaleDateString(t.end, dateTimeOptions))), scheduleType === "lookAhead" && React.createElement("div", {
|
|
541
|
+
className: styles$1.taskListCell,
|
|
542
|
+
style: {
|
|
543
|
+
minWidth: parseInt(rowWidth) * 0.6,
|
|
544
|
+
maxWidth: parseInt(rowWidth) * 0.6
|
|
545
|
+
}
|
|
546
|
+
}, React.createElement("div", {
|
|
547
|
+
className: styles$1.taskListText
|
|
548
|
+
}, "\xA0", toLocaleDateString(t.actualStart, dateTimeOptions))), scheduleType === "lookAhead" && React.createElement("div", {
|
|
549
|
+
className: styles$1.taskListCell,
|
|
550
|
+
style: {
|
|
551
|
+
minWidth: parseInt(rowWidth) * 0.6,
|
|
552
|
+
maxWidth: parseInt(rowWidth) * 0.6
|
|
553
|
+
}
|
|
554
|
+
}, React.createElement("div", {
|
|
555
|
+
className: styles$1.taskListText
|
|
556
|
+
}, "\xA0", toLocaleDateString(t.actualEnd, dateTimeOptions))));
|
|
484
557
|
}));
|
|
485
558
|
};
|
|
486
559
|
|
|
@@ -647,6 +720,7 @@ var TaskList = function TaskList(_ref) {
|
|
|
647
720
|
rowHeight = _ref.rowHeight,
|
|
648
721
|
scrollY = _ref.scrollY,
|
|
649
722
|
tasks = _ref.tasks,
|
|
723
|
+
scheduleType = _ref.scheduleType,
|
|
650
724
|
leafTasks = _ref.leafTasks,
|
|
651
725
|
selectedTask = _ref.selectedTask,
|
|
652
726
|
setSelectedTask = _ref.setSelectedTask,
|
|
@@ -657,18 +731,62 @@ var TaskList = function TaskList(_ref) {
|
|
|
657
731
|
horizontalContainerClass = _ref.horizontalContainerClass,
|
|
658
732
|
TaskListHeader = _ref.TaskListHeader,
|
|
659
733
|
TaskListTable = _ref.TaskListTable,
|
|
660
|
-
taskLabelRenderer = _ref.taskLabelRenderer
|
|
734
|
+
taskLabelRenderer = _ref.taskLabelRenderer,
|
|
735
|
+
onMultiSelect = _ref.onMultiSelect;
|
|
661
736
|
var horizontalContainerRef = useRef(null);
|
|
737
|
+
|
|
738
|
+
var _useState = useState([]),
|
|
739
|
+
selectedTasks = _useState[0],
|
|
740
|
+
setSelectedTasks = _useState[1];
|
|
741
|
+
|
|
742
|
+
var prevSelectedTasksRef = useRef([]);
|
|
662
743
|
useEffect(function () {
|
|
663
744
|
if (horizontalContainerRef.current) {
|
|
664
745
|
horizontalContainerRef.current.scrollTop = scrollY;
|
|
665
746
|
}
|
|
666
747
|
}, [scrollY]);
|
|
748
|
+
useEffect(function () {
|
|
749
|
+
if (onMultiSelect && JSON.stringify(prevSelectedTasksRef.current) !== JSON.stringify(selectedTasks)) {
|
|
750
|
+
var selectedTaskObjects = tasks.filter(function (task) {
|
|
751
|
+
return selectedTasks.includes(task.id);
|
|
752
|
+
});
|
|
753
|
+
prevSelectedTasksRef.current = [].concat(selectedTasks);
|
|
754
|
+
onMultiSelect(selectedTaskObjects);
|
|
755
|
+
}
|
|
756
|
+
}, [selectedTasks, tasks, onMultiSelect]);
|
|
757
|
+
|
|
758
|
+
var handleTaskSelect = function handleTaskSelect(taskId, selected) {
|
|
759
|
+
if (selected) {
|
|
760
|
+
setSelectedTasks(function (prev) {
|
|
761
|
+
return [].concat(prev, [taskId]);
|
|
762
|
+
});
|
|
763
|
+
} else {
|
|
764
|
+
setSelectedTasks(function (prev) {
|
|
765
|
+
return prev.filter(function (id) {
|
|
766
|
+
return id !== taskId;
|
|
767
|
+
});
|
|
768
|
+
});
|
|
769
|
+
}
|
|
770
|
+
};
|
|
771
|
+
|
|
772
|
+
var handleSelectAll = function handleSelectAll(selected) {
|
|
773
|
+
if (selected) {
|
|
774
|
+
setSelectedTasks(tasks.map(function (task) {
|
|
775
|
+
return task.id;
|
|
776
|
+
}));
|
|
777
|
+
} else {
|
|
778
|
+
setSelectedTasks([]);
|
|
779
|
+
}
|
|
780
|
+
};
|
|
781
|
+
|
|
667
782
|
var headerProps = {
|
|
668
783
|
headerHeight: headerHeight,
|
|
669
784
|
fontFamily: fontFamily,
|
|
670
785
|
fontSize: fontSize,
|
|
671
|
-
rowWidth: rowWidth
|
|
786
|
+
rowWidth: rowWidth,
|
|
787
|
+
scheduleType: scheduleType,
|
|
788
|
+
allSelected: tasks.length > 0 && selectedTasks.length === tasks.length,
|
|
789
|
+
onSelectAll: onMultiSelect ? handleSelectAll : undefined
|
|
672
790
|
};
|
|
673
791
|
var selectedTaskId = selectedTask ? selectedTask.id : "";
|
|
674
792
|
var tableProps = {
|
|
@@ -678,10 +796,13 @@ var TaskList = function TaskList(_ref) {
|
|
|
678
796
|
fontSize: fontSize,
|
|
679
797
|
tasks: tasks,
|
|
680
798
|
leafTasks: leafTasks,
|
|
799
|
+
scheduleType: scheduleType,
|
|
681
800
|
locale: locale,
|
|
682
801
|
selectedTaskId: selectedTaskId,
|
|
683
802
|
setSelectedTask: setSelectedTask,
|
|
684
803
|
onExpanderClick: onExpanderClick,
|
|
804
|
+
selectedTasks: onMultiSelect ? selectedTasks : undefined,
|
|
805
|
+
onTaskSelect: onMultiSelect ? handleTaskSelect : undefined,
|
|
685
806
|
taskLabelRenderer: taskLabelRenderer
|
|
686
807
|
};
|
|
687
808
|
return React.createElement("div", {
|
|
@@ -695,15 +816,17 @@ var TaskList = function TaskList(_ref) {
|
|
|
695
816
|
}, React.createElement(TaskListTable, Object.assign({}, tableProps))));
|
|
696
817
|
};
|
|
697
818
|
|
|
698
|
-
var styles$4 = {"gridRow":"_2dZTy","gridRowLine":"_3rUKi","gridTick":"_RuwuK","darkerGridRow":"_2M-tt"};
|
|
819
|
+
var styles$4 = {"gridRow":"_2dZTy","gridRowLookAhead":"_2RRca","gridRowLine":"_3rUKi","gridTick":"_RuwuK","darkerGridRow":"_2M-tt"};
|
|
699
820
|
|
|
700
821
|
var GridBody = function GridBody(_ref) {
|
|
701
822
|
var tasks = _ref.tasks,
|
|
823
|
+
scheduleType = _ref.scheduleType,
|
|
702
824
|
dates = _ref.dates,
|
|
703
825
|
rowHeight = _ref.rowHeight,
|
|
704
826
|
svgWidth = _ref.svgWidth,
|
|
705
827
|
columnWidth = _ref.columnWidth,
|
|
706
828
|
todayColor = _ref.todayColor,
|
|
829
|
+
weekendColor = _ref.weekendColor,
|
|
707
830
|
rtl = _ref.rtl;
|
|
708
831
|
var y = 0;
|
|
709
832
|
var gridRows = [];
|
|
@@ -725,7 +848,7 @@ var GridBody = function GridBody(_ref) {
|
|
|
725
848
|
y: y,
|
|
726
849
|
width: svgWidth,
|
|
727
850
|
height: rowHeight,
|
|
728
|
-
className: isDarkerRow ? styles$4.darkerGridRow : styles$4.gridRow
|
|
851
|
+
className: isDarkerRow ? styles$4.darkerGridRow : scheduleType === "lookAhead" ? styles$4.gridRowLookAhead : styles$4.gridRow
|
|
729
852
|
}));
|
|
730
853
|
rowLines.push(React.createElement("line", {
|
|
731
854
|
key: "RowLine" + task.id,
|
|
@@ -742,6 +865,7 @@ var GridBody = function GridBody(_ref) {
|
|
|
742
865
|
var tickX = 0;
|
|
743
866
|
var ticks = [];
|
|
744
867
|
var today = React.createElement("rect", null);
|
|
868
|
+
var weekend = [];
|
|
745
869
|
|
|
746
870
|
for (var i = 0; i < dates.length; i++) {
|
|
747
871
|
var date = dates[i];
|
|
@@ -764,6 +888,16 @@ var GridBody = function GridBody(_ref) {
|
|
|
764
888
|
});
|
|
765
889
|
}
|
|
766
890
|
|
|
891
|
+
if (date.getDay() === 6 || date.getDay() === 0) {
|
|
892
|
+
weekend.push(React.createElement("rect", {
|
|
893
|
+
x: tickX,
|
|
894
|
+
y: 0,
|
|
895
|
+
width: columnWidth,
|
|
896
|
+
height: y,
|
|
897
|
+
fill: weekendColor
|
|
898
|
+
}));
|
|
899
|
+
}
|
|
900
|
+
|
|
767
901
|
if (rtl && i + 1 !== dates.length && date.getTime() >= now.getTime() && dates[i + 1].getTime() < now.getTime()) {
|
|
768
902
|
today = React.createElement("rect", {
|
|
769
903
|
x: tickX + columnWidth,
|
|
@@ -785,7 +919,9 @@ var GridBody = function GridBody(_ref) {
|
|
|
785
919
|
className: "rowLines"
|
|
786
920
|
}, rowLines), React.createElement("g", {
|
|
787
921
|
className: "ticks"
|
|
788
|
-
}, ticks), React.createElement("g", {
|
|
922
|
+
}, ticks), scheduleType === "lookAhead" && React.createElement("g", {
|
|
923
|
+
className: "weekend"
|
|
924
|
+
}, weekend), React.createElement("g", {
|
|
789
925
|
className: "today"
|
|
790
926
|
}, today));
|
|
791
927
|
};
|
|
@@ -1030,7 +1166,21 @@ var Calendar = function Calendar(_ref) {
|
|
|
1030
1166
|
x1Line: columnWidth * (i + 1),
|
|
1031
1167
|
y1Line: 0,
|
|
1032
1168
|
y2Line: topDefaultHeight,
|
|
1033
|
-
xText: columnWidth * (i + 1)
|
|
1169
|
+
xText: topValues.length === 0 ? columnWidth * (i + 1) * 0.5 : columnWidth * (i + 1) - date.getDate() * columnWidth * 0.5,
|
|
1170
|
+
yText: topDefaultHeight * 0.9
|
|
1171
|
+
}));
|
|
1172
|
+
}
|
|
1173
|
+
|
|
1174
|
+
if (i + 1 === dates.length) {
|
|
1175
|
+
var _topValue = getLocaleMonth(date, locale) + " " + date.getFullYear();
|
|
1176
|
+
|
|
1177
|
+
topValues.push(React.createElement(TopPartOfCalendar, {
|
|
1178
|
+
key: _topValue + date.getFullYear(),
|
|
1179
|
+
value: _topValue,
|
|
1180
|
+
x1Line: columnWidth * (i + 1),
|
|
1181
|
+
y1Line: 0,
|
|
1182
|
+
y2Line: topDefaultHeight,
|
|
1183
|
+
xText: columnWidth * (i + 1) - date.getDate() * columnWidth * 0.5,
|
|
1034
1184
|
yText: topDefaultHeight * 0.9
|
|
1035
1185
|
}));
|
|
1036
1186
|
}
|
|
@@ -1816,7 +1966,7 @@ var Bar = function Bar(_ref) {
|
|
|
1816
1966
|
var handleHeight = task.height / 2 - 1;
|
|
1817
1967
|
|
|
1818
1968
|
if (type == "planned") {
|
|
1819
|
-
if (task.x1 && task.x2) return React.createElement("g", {
|
|
1969
|
+
if ((task === null || task === void 0 ? void 0 : task.x1) >= 0 && (task === null || task === void 0 ? void 0 : task.x2) >= 0) return React.createElement("g", {
|
|
1820
1970
|
className: styles$6.barWrapper,
|
|
1821
1971
|
tabIndex: 0
|
|
1822
1972
|
}, React.createElement(BarDisplay, {
|
|
@@ -1864,7 +2014,7 @@ var Bar = function Bar(_ref) {
|
|
|
1864
2014
|
className: styles$6.barWrapper,
|
|
1865
2015
|
tabIndex: 0
|
|
1866
2016
|
});
|
|
1867
|
-
} else if (task.actualx1 && task.actualx2) {
|
|
2017
|
+
} else if ((task === null || task === void 0 ? void 0 : task.actualx1) >= 0 && (task === null || task === void 0 ? void 0 : task.actualx2) >= 0) {
|
|
1868
2018
|
return React.createElement("g", {
|
|
1869
2019
|
className: styles$6.barWrapper,
|
|
1870
2020
|
tabIndex: 0
|
|
@@ -2051,11 +2201,11 @@ var TaskItem = function TaskItem(props) {
|
|
|
2051
2201
|
useEffect(function () {
|
|
2052
2202
|
switch (task.typeInternal) {
|
|
2053
2203
|
case "milestone":
|
|
2054
|
-
setTaskItem([React.createElement(Milestone, Object.assign({}, props))]);
|
|
2204
|
+
if (task.x1 >= 0 && task.actualx1 >= 0) setTaskItem([React.createElement(Milestone, Object.assign({}, props))]);else setTaskItem([]);
|
|
2055
2205
|
break;
|
|
2056
2206
|
|
|
2057
2207
|
case "project":
|
|
2058
|
-
setTaskItem([React.createElement(Project, Object.assign({}, props))]);
|
|
2208
|
+
if ((task === null || task === void 0 ? void 0 : task.x1) >= 0 && (task === null || task === void 0 ? void 0 : task.x2) >= 0 && task.x2 > task.x1 && (task === null || task === void 0 ? void 0 : task.actualx1) >= 0 && (task === null || task === void 0 ? void 0 : task.actualx2) >= 0 && task.actualx2 > task.actualx1) setTaskItem([React.createElement(Project, Object.assign({}, props))]);else setTaskItem([]);
|
|
2059
2209
|
break;
|
|
2060
2210
|
|
|
2061
2211
|
case "smalltask":
|
|
@@ -2066,13 +2216,13 @@ var TaskItem = function TaskItem(props) {
|
|
|
2066
2216
|
{
|
|
2067
2217
|
var _taskItem = [];
|
|
2068
2218
|
|
|
2069
|
-
if (task.x1 && task.x2) {
|
|
2219
|
+
if ((task === null || task === void 0 ? void 0 : task.x1) >= 0 && (task === null || task === void 0 ? void 0 : task.x2) >= 0) {
|
|
2070
2220
|
_taskItem.push(React.createElement(Bar, Object.assign({}, props, {
|
|
2071
2221
|
type: "planned"
|
|
2072
2222
|
})));
|
|
2073
2223
|
}
|
|
2074
2224
|
|
|
2075
|
-
if (task.actualx1 && task.actualx2) {
|
|
2225
|
+
if ((task === null || task === void 0 ? void 0 : task.actualx1) >= 0 && (task === null || task === void 0 ? void 0 : task.actualx2) >= 0) {
|
|
2076
2226
|
_taskItem.push(React.createElement(Bar, Object.assign({}, props, {
|
|
2077
2227
|
type: "actual"
|
|
2078
2228
|
})));
|
|
@@ -2383,7 +2533,7 @@ var TaskGanttContent = function TaskGanttContent(_ref) {
|
|
|
2383
2533
|
return task.barChildren.map(function (child) {
|
|
2384
2534
|
var _task$criticalPathArr, _task$criticalPathArr2;
|
|
2385
2535
|
|
|
2386
|
-
return React.createElement(Arrow, {
|
|
2536
|
+
if (task.x2 > task.x1 || task.actualx2 > task.actualx1) return React.createElement(Arrow, {
|
|
2387
2537
|
key: "Arrow from " + task.id + " to " + tasks[child.index].id,
|
|
2388
2538
|
taskFrom: task,
|
|
2389
2539
|
taskTo: tasks[child.index],
|
|
@@ -2394,6 +2544,11 @@ var TaskGanttContent = function TaskGanttContent(_ref) {
|
|
|
2394
2544
|
arrowColor: ((_task$criticalPathArr = task.criticalPathArrows) === null || _task$criticalPathArr === void 0 ? void 0 : (_task$criticalPathArr2 = _task$criticalPathArr.find(function (arrow) {
|
|
2395
2545
|
return arrow.taskId == tasks[child.index].id;
|
|
2396
2546
|
})) === null || _task$criticalPathArr2 === void 0 ? void 0 : _task$criticalPathArr2.arrowColor) || "#808080"
|
|
2547
|
+
});else return React.createElement("g", {
|
|
2548
|
+
key: _task.id,
|
|
2549
|
+
style: {
|
|
2550
|
+
height: taskHeight
|
|
2551
|
+
}
|
|
2397
2552
|
});
|
|
2398
2553
|
});
|
|
2399
2554
|
})), React.createElement("g", {
|
|
@@ -2515,6 +2670,12 @@ var Gantt = function Gantt(_ref) {
|
|
|
2515
2670
|
var tasks = _ref.tasks,
|
|
2516
2671
|
_ref$leafTasks = _ref.leafTasks,
|
|
2517
2672
|
leafTasks = _ref$leafTasks === void 0 ? [] : _ref$leafTasks,
|
|
2673
|
+
_ref$scheduleType = _ref.scheduleType,
|
|
2674
|
+
scheduleType = _ref$scheduleType === void 0 ? "main" : _ref$scheduleType,
|
|
2675
|
+
_ref$startDate = _ref.startDate,
|
|
2676
|
+
startDate = _ref$startDate === void 0 ? new Date() : _ref$startDate,
|
|
2677
|
+
_ref$endDate = _ref.endDate,
|
|
2678
|
+
endDate = _ref$endDate === void 0 ? new Date() : _ref$endDate,
|
|
2518
2679
|
_ref$headerHeight = _ref.headerHeight,
|
|
2519
2680
|
headerHeight = _ref$headerHeight === void 0 ? 50 : _ref$headerHeight,
|
|
2520
2681
|
_ref$columnWidth = _ref.columnWidth,
|
|
@@ -2571,6 +2732,8 @@ var Gantt = function Gantt(_ref) {
|
|
|
2571
2732
|
arrowIndent = _ref$arrowIndent === void 0 ? 20 : _ref$arrowIndent,
|
|
2572
2733
|
_ref$todayColor = _ref.todayColor,
|
|
2573
2734
|
todayColor = _ref$todayColor === void 0 ? "rgba(252, 248, 227, 0.5)" : _ref$todayColor,
|
|
2735
|
+
_ref$weekendColor = _ref.weekendColor,
|
|
2736
|
+
weekendColor = _ref$weekendColor === void 0 ? "#f5f5f5" : _ref$weekendColor,
|
|
2574
2737
|
viewDate = _ref.viewDate,
|
|
2575
2738
|
_ref$TooltipContent = _ref.TooltipContent,
|
|
2576
2739
|
TooltipContent = _ref$TooltipContent === void 0 ? StandardTooltipContent : _ref$TooltipContent,
|
|
@@ -2585,18 +2748,26 @@ var Gantt = function Gantt(_ref) {
|
|
|
2585
2748
|
onDelete = _ref.onDelete,
|
|
2586
2749
|
onSelect = _ref.onSelect,
|
|
2587
2750
|
onExpanderClick = _ref.onExpanderClick,
|
|
2751
|
+
onMultiSelect = _ref.onMultiSelect,
|
|
2588
2752
|
taskLabelRenderer = _ref.taskLabelRenderer;
|
|
2589
2753
|
var wrapperRef = useRef(null);
|
|
2590
2754
|
var taskListRef = useRef(null);
|
|
2591
2755
|
|
|
2592
2756
|
var _useState = useState(function () {
|
|
2593
2757
|
var _ganttDateRange = ganttDateRange(tasks, viewMode, preStepsCount),
|
|
2594
|
-
|
|
2595
|
-
|
|
2758
|
+
startDateRange = _ganttDateRange[0],
|
|
2759
|
+
endDateRange = _ganttDateRange[1];
|
|
2760
|
+
|
|
2761
|
+
if (scheduleType === "lookAhead") {
|
|
2762
|
+
return {
|
|
2763
|
+
viewMode: viewMode,
|
|
2764
|
+
dates: seedDates(startDate, endDate, viewMode)
|
|
2765
|
+
};
|
|
2766
|
+
}
|
|
2596
2767
|
|
|
2597
2768
|
return {
|
|
2598
2769
|
viewMode: viewMode,
|
|
2599
|
-
dates: seedDates(
|
|
2770
|
+
dates: seedDates(startDateRange, endDateRange, viewMode)
|
|
2600
2771
|
};
|
|
2601
2772
|
}),
|
|
2602
2773
|
dateSetup = _useState[0],
|
|
@@ -2655,6 +2826,14 @@ var Gantt = function Gantt(_ref) {
|
|
|
2655
2826
|
ignoreScrollEvent = _useState12[0],
|
|
2656
2827
|
setIgnoreScrollEvent = _useState12[1];
|
|
2657
2828
|
|
|
2829
|
+
useEffect(function () {
|
|
2830
|
+
if (scheduleType === "lookAhead" && startDate && endDate) {
|
|
2831
|
+
setDateSetup({
|
|
2832
|
+
viewMode: viewMode,
|
|
2833
|
+
dates: seedDates(startDate, endDate, viewMode)
|
|
2834
|
+
});
|
|
2835
|
+
}
|
|
2836
|
+
}, [startDate, endDate]);
|
|
2658
2837
|
useEffect(function () {
|
|
2659
2838
|
var filteredTasks;
|
|
2660
2839
|
|
|
@@ -2667,10 +2846,14 @@ var Gantt = function Gantt(_ref) {
|
|
|
2667
2846
|
filteredTasks = filteredTasks.sort(sortTasks);
|
|
2668
2847
|
|
|
2669
2848
|
var _ganttDateRange2 = ganttDateRange(filteredTasks, viewMode, preStepsCount),
|
|
2670
|
-
|
|
2671
|
-
|
|
2849
|
+
startDateRange = _ganttDateRange2[0],
|
|
2850
|
+
endDateRange = _ganttDateRange2[1];
|
|
2672
2851
|
|
|
2673
|
-
var newDates = seedDates(
|
|
2852
|
+
var newDates = seedDates(startDateRange, endDateRange, viewMode);
|
|
2853
|
+
|
|
2854
|
+
if (scheduleType === "lookAhead") {
|
|
2855
|
+
newDates = seedDates(startDate, endDate, viewMode);
|
|
2856
|
+
}
|
|
2674
2857
|
|
|
2675
2858
|
if (rtl) {
|
|
2676
2859
|
newDates = newDates.reverse();
|
|
@@ -2680,18 +2863,24 @@ var Gantt = function Gantt(_ref) {
|
|
|
2680
2863
|
}
|
|
2681
2864
|
}
|
|
2682
2865
|
|
|
2683
|
-
|
|
2684
|
-
|
|
2685
|
-
|
|
2686
|
-
|
|
2866
|
+
if (scheduleType !== "lookAhead") {
|
|
2867
|
+
setDateSetup({
|
|
2868
|
+
dates: seedDates(startDateRange, endDateRange, viewMode),
|
|
2869
|
+
viewMode: viewMode
|
|
2870
|
+
});
|
|
2871
|
+
}
|
|
2687
2872
|
|
|
2688
2873
|
var _getCriticalPaths = getCriticalPaths(leafTasks),
|
|
2689
2874
|
primaryPath = _getCriticalPaths[0],
|
|
2690
2875
|
secondaryPath = _getCriticalPaths[1];
|
|
2691
2876
|
|
|
2692
2877
|
uncolorAll(tasks);
|
|
2693
|
-
|
|
2694
|
-
|
|
2878
|
+
|
|
2879
|
+
if (scheduleType !== "lookAhead") {
|
|
2880
|
+
colorPath(secondaryPath, "#00ff00", tasks);
|
|
2881
|
+
colorPath(primaryPath, "#ff0000", tasks);
|
|
2882
|
+
}
|
|
2883
|
+
|
|
2695
2884
|
setBarTasks(convertToBarTasks(filteredTasks, newDates, columnWidth, rowHeight, taskHeight, barCornerRadius, handleWidth, rtl, barProgressColor, barProgressSelectedColor, barBackgroundColor, barBackgroundSelectedColor, projectProgressColor, projectProgressSelectedColor, projectBackgroundColor, projectBackgroundSelectedColor, milestoneBackgroundColor, milestoneBackgroundSelectedColor));
|
|
2696
2885
|
}, [tasks, viewMode, preStepsCount, rowHeight, barCornerRadius, columnWidth, taskHeight, handleWidth, barProgressColor, barProgressSelectedColor, barBackgroundColor, barBackgroundSelectedColor, projectProgressColor, projectProgressSelectedColor, projectBackgroundColor, projectBackgroundSelectedColor, milestoneBackgroundColor, milestoneBackgroundSelectedColor, rtl, scrollX, onExpanderClick]);
|
|
2697
2886
|
useEffect(function () {
|
|
@@ -2910,9 +3099,11 @@ var Gantt = function Gantt(_ref) {
|
|
|
2910
3099
|
columnWidth: columnWidth,
|
|
2911
3100
|
svgWidth: svgWidth,
|
|
2912
3101
|
tasks: tasks,
|
|
3102
|
+
scheduleType: scheduleType,
|
|
2913
3103
|
rowHeight: rowHeight,
|
|
2914
3104
|
dates: dateSetup.dates,
|
|
2915
3105
|
todayColor: todayColor,
|
|
3106
|
+
weekendColor: weekendColor,
|
|
2916
3107
|
rtl: rtl
|
|
2917
3108
|
};
|
|
2918
3109
|
var calendarProps = {
|
|
@@ -2956,6 +3147,7 @@ var Gantt = function Gantt(_ref) {
|
|
|
2956
3147
|
fontSize: fontSize,
|
|
2957
3148
|
tasks: barTasks,
|
|
2958
3149
|
leafTasks: leafTasks,
|
|
3150
|
+
scheduleType: scheduleType,
|
|
2959
3151
|
locale: locale,
|
|
2960
3152
|
headerHeight: headerHeight,
|
|
2961
3153
|
scrollY: scrollY,
|
|
@@ -2968,7 +3160,8 @@ var Gantt = function Gantt(_ref) {
|
|
|
2968
3160
|
onDoubleClick: onDoubleClick,
|
|
2969
3161
|
TaskListHeader: TaskListHeader,
|
|
2970
3162
|
TaskListTable: TaskListTable,
|
|
2971
|
-
taskLabelRenderer: taskLabelRenderer
|
|
3163
|
+
taskLabelRenderer: taskLabelRenderer,
|
|
3164
|
+
onMultiSelect: onMultiSelect
|
|
2972
3165
|
};
|
|
2973
3166
|
return React.createElement("div", null, React.createElement("div", {
|
|
2974
3167
|
className: styles$9.wrapper,
|