gantt-task-react-powern 0.4.64 → 0.4.66
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/task-list/task-list-header.d.ts +2 -0
- package/dist/components/task-list/task-list-table.d.ts +2 -0
- package/dist/components/task-list/task-list.d.ts +4 -0
- package/dist/index.css +0 -18
- package/dist/index.js +456 -380
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +456 -380
- package/dist/index.modern.js.map +1 -1
- package/dist/types/public-types.d.ts +4 -0
- package/package.json +1 -1
package/dist/index.modern.js
CHANGED
|
@@ -18,10 +18,6 @@ function _extends() {
|
|
|
18
18
|
return _extends.apply(this, arguments);
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
function _objectDestructuringEmpty(obj) {
|
|
22
|
-
if (obj == null) throw new TypeError("Cannot destructure undefined");
|
|
23
|
-
}
|
|
24
|
-
|
|
25
21
|
function _unsupportedIterableToArray(o, minLen) {
|
|
26
22
|
if (!o) return;
|
|
27
23
|
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
|
@@ -284,7 +280,9 @@ var TaskListHeaderDefault = function TaskListHeaderDefault(_ref) {
|
|
|
284
280
|
var headerHeight = _ref.headerHeight,
|
|
285
281
|
fontFamily = _ref.fontFamily,
|
|
286
282
|
fontSize = _ref.fontSize,
|
|
287
|
-
rowWidth = _ref.rowWidth
|
|
283
|
+
rowWidth = _ref.rowWidth,
|
|
284
|
+
allSelected = _ref.allSelected,
|
|
285
|
+
onSelectAll = _ref.onSelectAll;
|
|
288
286
|
return React.createElement("div", {
|
|
289
287
|
className: styles.ganttTable,
|
|
290
288
|
style: {
|
|
@@ -296,7 +294,19 @@ var TaskListHeaderDefault = function TaskListHeaderDefault(_ref) {
|
|
|
296
294
|
style: {
|
|
297
295
|
height: headerHeight - 2
|
|
298
296
|
}
|
|
299
|
-
}, React.createElement("div", {
|
|
297
|
+
}, onSelectAll && React.createElement("div", null, React.createElement("div", {
|
|
298
|
+
className: styles.ganttTable_HeaderItem,
|
|
299
|
+
style: {
|
|
300
|
+
minWidth: parseInt(rowWidth) * 0.3,
|
|
301
|
+
maxWidth: parseInt(rowWidth) * 0.3
|
|
302
|
+
}
|
|
303
|
+
}, React.createElement("input", {
|
|
304
|
+
type: "checkbox",
|
|
305
|
+
checked: allSelected,
|
|
306
|
+
onChange: function onChange(e) {
|
|
307
|
+
return onSelectAll(e.target.checked);
|
|
308
|
+
}
|
|
309
|
+
}))), React.createElement("div", {
|
|
300
310
|
className: styles.ganttTable_HeaderItem,
|
|
301
311
|
style: {
|
|
302
312
|
minWidth: parseInt(rowWidth) * 0.8,
|
|
@@ -375,6 +385,9 @@ var TaskListTableDefault = function TaskListTableDefault(_ref) {
|
|
|
375
385
|
fontSize = _ref.fontSize,
|
|
376
386
|
locale = _ref.locale,
|
|
377
387
|
onExpanderClick = _ref.onExpanderClick,
|
|
388
|
+
_ref$selectedTasks = _ref.selectedTasks,
|
|
389
|
+
selectedTasks = _ref$selectedTasks === void 0 ? [] : _ref$selectedTasks,
|
|
390
|
+
onTaskSelect = _ref.onTaskSelect,
|
|
378
391
|
_ref$taskLabelRendere = _ref.taskLabelRenderer,
|
|
379
392
|
taskLabelRenderer = _ref$taskLabelRendere === void 0 ? function (t) {
|
|
380
393
|
return " " + t.name;
|
|
@@ -404,13 +417,36 @@ var TaskListTableDefault = function TaskListTableDefault(_ref) {
|
|
|
404
417
|
}
|
|
405
418
|
}
|
|
406
419
|
|
|
420
|
+
var isSelected = selectedTasks.includes(t.id);
|
|
407
421
|
return React.createElement("div", {
|
|
408
422
|
className: t.type === "milestone" ? styles$1.taskListMilestoneRow : scheduleType === "lookAhead" ? styles$1.taskListLookAheadRow : styles$1.taskListTableRow,
|
|
409
423
|
style: {
|
|
410
424
|
height: rowHeight
|
|
411
425
|
},
|
|
412
426
|
key: t.id + "row"
|
|
427
|
+
}, onTaskSelect && React.createElement("div", {
|
|
428
|
+
className: styles$1.taskListCell,
|
|
429
|
+
style: {
|
|
430
|
+
minWidth: parseInt(rowWidth) * 0.3,
|
|
431
|
+
maxWidth: parseInt(rowWidth) * 0.3
|
|
432
|
+
}
|
|
413
433
|
}, React.createElement("div", {
|
|
434
|
+
className: styles$1.taskListText,
|
|
435
|
+
style: {
|
|
436
|
+
display: "flex",
|
|
437
|
+
justifyContent: "center",
|
|
438
|
+
alignItems: "center",
|
|
439
|
+
height: "100%",
|
|
440
|
+
paddingLeft: "0",
|
|
441
|
+
paddingRight: "0"
|
|
442
|
+
}
|
|
443
|
+
}, React.createElement("input", {
|
|
444
|
+
type: "checkbox",
|
|
445
|
+
checked: isSelected,
|
|
446
|
+
onChange: function onChange(e) {
|
|
447
|
+
return onTaskSelect(t.id, e.target.checked);
|
|
448
|
+
}
|
|
449
|
+
}))), React.createElement("div", {
|
|
414
450
|
className: styles$1.taskListCell,
|
|
415
451
|
style: {
|
|
416
452
|
minWidth: parseInt(rowWidth) * 0.8,
|
|
@@ -640,18 +676,61 @@ var TaskList = function TaskList(_ref) {
|
|
|
640
676
|
horizontalContainerClass = _ref.horizontalContainerClass,
|
|
641
677
|
TaskListHeader = _ref.TaskListHeader,
|
|
642
678
|
TaskListTable = _ref.TaskListTable,
|
|
643
|
-
taskLabelRenderer = _ref.taskLabelRenderer
|
|
679
|
+
taskLabelRenderer = _ref.taskLabelRenderer,
|
|
680
|
+
onMultiSelect = _ref.onMultiSelect;
|
|
644
681
|
var horizontalContainerRef = useRef(null);
|
|
682
|
+
|
|
683
|
+
var _useState = useState([]),
|
|
684
|
+
selectedTasks = _useState[0],
|
|
685
|
+
setSelectedTasks = _useState[1];
|
|
686
|
+
|
|
687
|
+
var prevSelectedTasksRef = useRef([]);
|
|
645
688
|
useEffect(function () {
|
|
646
689
|
if (horizontalContainerRef.current) {
|
|
647
690
|
horizontalContainerRef.current.scrollTop = scrollY;
|
|
648
691
|
}
|
|
649
692
|
}, [scrollY]);
|
|
693
|
+
useEffect(function () {
|
|
694
|
+
if (onMultiSelect && JSON.stringify(prevSelectedTasksRef.current) !== JSON.stringify(selectedTasks)) {
|
|
695
|
+
var selectedTaskObjects = tasks.filter(function (task) {
|
|
696
|
+
return selectedTasks.includes(task.id);
|
|
697
|
+
});
|
|
698
|
+
prevSelectedTasksRef.current = [].concat(selectedTasks);
|
|
699
|
+
onMultiSelect(selectedTaskObjects);
|
|
700
|
+
}
|
|
701
|
+
}, [selectedTasks, tasks, onMultiSelect]);
|
|
702
|
+
|
|
703
|
+
var handleTaskSelect = function handleTaskSelect(taskId, selected) {
|
|
704
|
+
if (selected) {
|
|
705
|
+
setSelectedTasks(function (prev) {
|
|
706
|
+
return [].concat(prev, [taskId]);
|
|
707
|
+
});
|
|
708
|
+
} else {
|
|
709
|
+
setSelectedTasks(function (prev) {
|
|
710
|
+
return prev.filter(function (id) {
|
|
711
|
+
return id !== taskId;
|
|
712
|
+
});
|
|
713
|
+
});
|
|
714
|
+
}
|
|
715
|
+
};
|
|
716
|
+
|
|
717
|
+
var handleSelectAll = function handleSelectAll(selected) {
|
|
718
|
+
if (selected) {
|
|
719
|
+
setSelectedTasks(tasks.map(function (task) {
|
|
720
|
+
return task.id;
|
|
721
|
+
}));
|
|
722
|
+
} else {
|
|
723
|
+
setSelectedTasks([]);
|
|
724
|
+
}
|
|
725
|
+
};
|
|
726
|
+
|
|
650
727
|
var headerProps = {
|
|
651
728
|
headerHeight: headerHeight,
|
|
652
729
|
fontFamily: fontFamily,
|
|
653
730
|
fontSize: fontSize,
|
|
654
|
-
rowWidth: rowWidth
|
|
731
|
+
rowWidth: rowWidth,
|
|
732
|
+
allSelected: tasks.length > 0 && selectedTasks.length === tasks.length,
|
|
733
|
+
onSelectAll: onMultiSelect ? handleSelectAll : undefined
|
|
655
734
|
};
|
|
656
735
|
var selectedTaskId = selectedTask ? selectedTask.id : "";
|
|
657
736
|
var tableProps = {
|
|
@@ -666,6 +745,8 @@ var TaskList = function TaskList(_ref) {
|
|
|
666
745
|
selectedTaskId: selectedTaskId,
|
|
667
746
|
setSelectedTask: setSelectedTask,
|
|
668
747
|
onExpanderClick: onExpanderClick,
|
|
748
|
+
selectedTasks: onMultiSelect ? selectedTasks : undefined,
|
|
749
|
+
onTaskSelect: onMultiSelect ? handleTaskSelect : undefined,
|
|
669
750
|
taskLabelRenderer: taskLabelRenderer
|
|
670
751
|
};
|
|
671
752
|
return React.createElement("div", {
|
|
@@ -681,19 +762,21 @@ var TaskList = function TaskList(_ref) {
|
|
|
681
762
|
|
|
682
763
|
var styles$4 = {"gridRow":"_2dZTy","gridRowLookAhead":"_2RRca","gridRowLine":"_3rUKi","gridTick":"_RuwuK","darkerGridRow":"_2M-tt"};
|
|
683
764
|
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
765
|
+
const GridBody = _ref => {
|
|
766
|
+
let {
|
|
767
|
+
tasks,
|
|
768
|
+
scheduleType,
|
|
769
|
+
dates,
|
|
770
|
+
rowHeight,
|
|
771
|
+
svgWidth,
|
|
772
|
+
columnWidth,
|
|
773
|
+
todayColor,
|
|
774
|
+
weekendColor,
|
|
775
|
+
rtl
|
|
776
|
+
} = _ref;
|
|
777
|
+
let y = 0;
|
|
778
|
+
const gridRows = [];
|
|
779
|
+
const rowLines = [React.createElement("line", {
|
|
697
780
|
key: "RowLineFirst",
|
|
698
781
|
x: "0",
|
|
699
782
|
y1: 0,
|
|
@@ -702,9 +785,8 @@ var GridBody = function GridBody(_ref) {
|
|
|
702
785
|
className: styles$4.gridRowLine
|
|
703
786
|
})];
|
|
704
787
|
|
|
705
|
-
for (
|
|
706
|
-
|
|
707
|
-
var isDarkerRow = task.type === "milestone";
|
|
788
|
+
for (const task of tasks) {
|
|
789
|
+
const isDarkerRow = task.type === "milestone";
|
|
708
790
|
gridRows.push(React.createElement("rect", {
|
|
709
791
|
key: "Row" + task.id,
|
|
710
792
|
x: "0",
|
|
@@ -724,14 +806,14 @@ var GridBody = function GridBody(_ref) {
|
|
|
724
806
|
y += rowHeight;
|
|
725
807
|
}
|
|
726
808
|
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
809
|
+
const now = new Date();
|
|
810
|
+
let tickX = 0;
|
|
811
|
+
const ticks = [];
|
|
812
|
+
let today = React.createElement("rect", null);
|
|
813
|
+
let weekend = [];
|
|
732
814
|
|
|
733
|
-
for (
|
|
734
|
-
|
|
815
|
+
for (let i = 0; i < dates.length; i++) {
|
|
816
|
+
const date = dates[i];
|
|
735
817
|
ticks.push(React.createElement("line", {
|
|
736
818
|
key: date.getTime(),
|
|
737
819
|
x1: tickX,
|
|
@@ -789,7 +871,7 @@ var GridBody = function GridBody(_ref) {
|
|
|
789
871
|
}, today));
|
|
790
872
|
};
|
|
791
873
|
|
|
792
|
-
|
|
874
|
+
const Grid = props => {
|
|
793
875
|
return React.createElement("g", {
|
|
794
876
|
className: "grid"
|
|
795
877
|
}, React.createElement(GridBody, Object.assign({}, props)));
|
|
@@ -797,16 +879,17 @@ var Grid = function Grid(props) {
|
|
|
797
879
|
|
|
798
880
|
var styles$5 = {"calendarBottomText":"_9w8d5","calendarTopTick":"_1rLuZ","calendarTopText":"_2q1Kt","calendarHeader":"_35nLX","textAnchorStart":"_2Shd-","textAnchorMiddle":"_2XXW4","textAnchorEnd":"_3GdnC"};
|
|
799
881
|
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
882
|
+
const TopPartOfCalendar = _ref => {
|
|
883
|
+
let {
|
|
884
|
+
value,
|
|
885
|
+
x1Line,
|
|
886
|
+
y1Line,
|
|
887
|
+
y2Line,
|
|
888
|
+
xText,
|
|
889
|
+
yText,
|
|
890
|
+
textAnchor = "middle"
|
|
891
|
+
} = _ref;
|
|
892
|
+
const textAnchorClass = textAnchor === "start" ? styles$5.textAnchorStart : textAnchor === "middle" ? styles$5.textAnchorMiddle : styles$5.textAnchorEnd;
|
|
810
893
|
return React.createElement("g", {
|
|
811
894
|
className: "calendarTop"
|
|
812
895
|
}, React.createElement("line", {
|
|
@@ -820,28 +903,30 @@ var TopPartOfCalendar = function TopPartOfCalendar(_ref) {
|
|
|
820
903
|
key: value + "text",
|
|
821
904
|
y: yText,
|
|
822
905
|
x: xText,
|
|
823
|
-
className: styles$5.calendarTopText
|
|
906
|
+
className: `${styles$5.calendarTopText} ${textAnchorClass}`
|
|
824
907
|
}, value));
|
|
825
908
|
};
|
|
826
909
|
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
910
|
+
const Calendar = _ref => {
|
|
911
|
+
let {
|
|
912
|
+
dateSetup,
|
|
913
|
+
locale,
|
|
914
|
+
viewMode,
|
|
915
|
+
rtl,
|
|
916
|
+
headerHeight,
|
|
917
|
+
columnWidth,
|
|
918
|
+
fontFamily,
|
|
919
|
+
fontSize
|
|
920
|
+
} = _ref;
|
|
921
|
+
|
|
922
|
+
const getCalendarValuesForYear = () => {
|
|
923
|
+
const topValues = [];
|
|
924
|
+
const bottomValues = [];
|
|
925
|
+
const topDefaultHeight = headerHeight * 0.5;
|
|
926
|
+
|
|
927
|
+
for (let i = 0; i < dateSetup.dates.length; i++) {
|
|
928
|
+
const date = dateSetup.dates[i];
|
|
929
|
+
const bottomValue = date.getFullYear();
|
|
845
930
|
bottomValues.push(React.createElement("text", {
|
|
846
931
|
key: date.getFullYear(),
|
|
847
932
|
y: headerHeight * 0.8,
|
|
@@ -850,8 +935,8 @@ var Calendar = function Calendar(_ref) {
|
|
|
850
935
|
}, bottomValue));
|
|
851
936
|
|
|
852
937
|
if (i === 0 || date.getFullYear() !== dateSetup.dates[i - 1].getFullYear()) {
|
|
853
|
-
|
|
854
|
-
|
|
938
|
+
const topValue = date.getFullYear().toString();
|
|
939
|
+
let xText;
|
|
855
940
|
|
|
856
941
|
if (rtl) {
|
|
857
942
|
xText = (6 + i + date.getFullYear() + 1) * columnWidth;
|
|
@@ -874,25 +959,25 @@ var Calendar = function Calendar(_ref) {
|
|
|
874
959
|
return [topValues, bottomValues];
|
|
875
960
|
};
|
|
876
961
|
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
962
|
+
const getCalendarValuesForQuarter = () => {
|
|
963
|
+
const topValues = [];
|
|
964
|
+
const bottomValues = [];
|
|
965
|
+
const topDefaultHeight = headerHeight * 0.5;
|
|
881
966
|
|
|
882
|
-
for (
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
967
|
+
for (let i = 0; i < dateSetup.dates.length; i++) {
|
|
968
|
+
const date = dateSetup.dates[i];
|
|
969
|
+
const quarter = Math.floor(date.getMonth() / 3) + 1;
|
|
970
|
+
const bottomValue = `Q${quarter}`;
|
|
886
971
|
bottomValues.push(React.createElement("text", {
|
|
887
|
-
key: bottomValue
|
|
972
|
+
key: `${bottomValue}-${date.getFullYear()}`,
|
|
888
973
|
y: headerHeight * 0.8,
|
|
889
974
|
x: columnWidth * i + columnWidth * 0.5,
|
|
890
975
|
className: styles$5.calendarBottomText
|
|
891
976
|
}, bottomValue));
|
|
892
977
|
|
|
893
978
|
if (i === 0 || date.getFullYear() !== dateSetup.dates[i - 1].getFullYear()) {
|
|
894
|
-
|
|
895
|
-
|
|
979
|
+
const topValue = date.getFullYear().toString();
|
|
980
|
+
let xText;
|
|
896
981
|
|
|
897
982
|
if (rtl) {
|
|
898
983
|
xText = (3 + i + quarter) * columnWidth;
|
|
@@ -915,26 +1000,26 @@ var Calendar = function Calendar(_ref) {
|
|
|
915
1000
|
return [topValues, bottomValues];
|
|
916
1001
|
};
|
|
917
1002
|
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
1003
|
+
const getCalendarValuesForMonth = () => {
|
|
1004
|
+
const topValues = [];
|
|
1005
|
+
const bottomValues = [];
|
|
1006
|
+
const topDefaultHeight = headerHeight * 0.5;
|
|
922
1007
|
|
|
923
|
-
for (
|
|
924
|
-
|
|
925
|
-
|
|
1008
|
+
for (let i = 0; i < dateSetup.dates.length; i++) {
|
|
1009
|
+
const date = dateSetup.dates[i];
|
|
1010
|
+
const bottomValue = date.toLocaleString(locale, {
|
|
926
1011
|
month: "short"
|
|
927
1012
|
});
|
|
928
1013
|
bottomValues.push(React.createElement("text", {
|
|
929
1014
|
key: bottomValue + date.getFullYear(),
|
|
930
1015
|
y: headerHeight * 0.8,
|
|
931
1016
|
x: columnWidth * i + columnWidth * 0.5,
|
|
932
|
-
className: styles$5.calendarTopText
|
|
1017
|
+
className: `${styles$5.calendarTopText} ${styles$5.textAnchorEnd}`
|
|
933
1018
|
}, bottomValue));
|
|
934
1019
|
|
|
935
1020
|
if (i === 0 || date.getFullYear() !== dateSetup.dates[i - 1].getFullYear()) {
|
|
936
|
-
|
|
937
|
-
|
|
1021
|
+
const topValue = date.getFullYear().toString();
|
|
1022
|
+
let xText;
|
|
938
1023
|
|
|
939
1024
|
if (rtl) {
|
|
940
1025
|
xText = (6 + i + date.getMonth() + 1) * columnWidth;
|
|
@@ -959,27 +1044,27 @@ var Calendar = function Calendar(_ref) {
|
|
|
959
1044
|
return [topValues, bottomValues];
|
|
960
1045
|
};
|
|
961
1046
|
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
1047
|
+
const getCalendarValuesForWeek = () => {
|
|
1048
|
+
const topValues = [];
|
|
1049
|
+
const bottomValues = [];
|
|
1050
|
+
let weeksCount = 1;
|
|
1051
|
+
const topDefaultHeight = headerHeight * 0.5;
|
|
1052
|
+
const dates = dateSetup.dates;
|
|
968
1053
|
|
|
969
|
-
for (
|
|
970
|
-
|
|
971
|
-
|
|
1054
|
+
for (let i = dates.length - 1; i >= 0; i--) {
|
|
1055
|
+
const date = dates[i];
|
|
1056
|
+
let topValue = "";
|
|
972
1057
|
|
|
973
1058
|
if (i === 0 || date.getMonth() !== dates[i - 1].getMonth()) {
|
|
974
|
-
topValue = getLocaleMonth(date, locale)
|
|
1059
|
+
topValue = `${getLocaleMonth(date, locale)}, ${date.getFullYear()}`;
|
|
975
1060
|
}
|
|
976
1061
|
|
|
977
|
-
|
|
1062
|
+
const bottomValue = `W${getWeekNumberISO8601(date)}`;
|
|
978
1063
|
bottomValues.push(React.createElement("text", {
|
|
979
1064
|
key: date.getTime(),
|
|
980
1065
|
y: headerHeight * 0.8,
|
|
981
1066
|
x: columnWidth * (i + +rtl),
|
|
982
|
-
className: styles$5.calendarTopText
|
|
1067
|
+
className: `${styles$5.calendarTopText} ${styles$5.textAnchorStart}`
|
|
983
1068
|
}, bottomValue));
|
|
984
1069
|
|
|
985
1070
|
if (topValue) {
|
|
@@ -1005,24 +1090,24 @@ var Calendar = function Calendar(_ref) {
|
|
|
1005
1090
|
return [topValues, bottomValues];
|
|
1006
1091
|
};
|
|
1007
1092
|
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1093
|
+
const getCalendarValuesForDay = () => {
|
|
1094
|
+
const topValues = [];
|
|
1095
|
+
const bottomValues = [];
|
|
1096
|
+
const topDefaultHeight = headerHeight * 0.5;
|
|
1097
|
+
const dates = dateSetup.dates;
|
|
1013
1098
|
|
|
1014
|
-
for (
|
|
1015
|
-
|
|
1016
|
-
|
|
1099
|
+
for (let i = 0; i < dates.length; i++) {
|
|
1100
|
+
const date = dates[i];
|
|
1101
|
+
const bottomValue = `${getLocalDayOfWeek(date, locale, "short")}, ${date.getDate().toString()}`;
|
|
1017
1102
|
bottomValues.push(React.createElement("text", {
|
|
1018
1103
|
key: date.getTime(),
|
|
1019
1104
|
y: headerHeight * 0.8,
|
|
1020
1105
|
x: columnWidth * i + columnWidth * 0.5,
|
|
1021
|
-
className: styles$5.calendarTopText
|
|
1106
|
+
className: `${styles$5.calendarTopText} ${styles$5.textAnchorMiddle}`
|
|
1022
1107
|
}, bottomValue));
|
|
1023
1108
|
|
|
1024
1109
|
if (i + 1 !== dates.length && date.getMonth() !== dates[i + 1].getMonth()) {
|
|
1025
|
-
|
|
1110
|
+
const topValue = `${getLocaleMonth(date, locale)} ${date.getFullYear()}`;
|
|
1026
1111
|
topValues.push(React.createElement(TopPartOfCalendar, {
|
|
1027
1112
|
key: topValue + date.getFullYear(),
|
|
1028
1113
|
value: topValue,
|
|
@@ -1038,28 +1123,28 @@ var Calendar = function Calendar(_ref) {
|
|
|
1038
1123
|
return [topValues, bottomValues];
|
|
1039
1124
|
};
|
|
1040
1125
|
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1126
|
+
const getCalendarValuesForPartOfDay = () => {
|
|
1127
|
+
const topValues = [];
|
|
1128
|
+
const bottomValues = [];
|
|
1129
|
+
const ticks = viewMode === ViewMode.HalfDay ? 2 : 4;
|
|
1130
|
+
const topDefaultHeight = headerHeight * 0.5;
|
|
1131
|
+
const dates = dateSetup.dates;
|
|
1047
1132
|
|
|
1048
|
-
for (
|
|
1049
|
-
|
|
1050
|
-
|
|
1133
|
+
for (let i = 0; i < dates.length; i++) {
|
|
1134
|
+
const date = dates[i];
|
|
1135
|
+
const bottomValue = getCachedDateTimeFormat(locale, {
|
|
1051
1136
|
hour: "numeric"
|
|
1052
1137
|
}).format(date);
|
|
1053
1138
|
bottomValues.push(React.createElement("text", {
|
|
1054
1139
|
key: date.getTime(),
|
|
1055
1140
|
y: headerHeight * 0.8,
|
|
1056
1141
|
x: columnWidth * (i + +rtl),
|
|
1057
|
-
className: styles$5.calendarTopText
|
|
1142
|
+
className: `${styles$5.calendarTopText} ${styles$5.textAnchorMiddle}`,
|
|
1058
1143
|
fontFamily: fontFamily
|
|
1059
1144
|
}, bottomValue));
|
|
1060
1145
|
|
|
1061
1146
|
if (i === 0 || date.getDate() !== dates[i - 1].getDate()) {
|
|
1062
|
-
|
|
1147
|
+
const topValue = `${getLocalDayOfWeek(date, locale, "short")}, ${date.getDate()} ${getLocaleMonth(date, locale)}`;
|
|
1063
1148
|
topValues.push(React.createElement(TopPartOfCalendar, {
|
|
1064
1149
|
key: topValue + date.getFullYear(),
|
|
1065
1150
|
value: topValue,
|
|
@@ -1075,15 +1160,15 @@ var Calendar = function Calendar(_ref) {
|
|
|
1075
1160
|
return [topValues, bottomValues];
|
|
1076
1161
|
};
|
|
1077
1162
|
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1163
|
+
const getCalendarValuesForHour = () => {
|
|
1164
|
+
const topValues = [];
|
|
1165
|
+
const bottomValues = [];
|
|
1166
|
+
const topDefaultHeight = headerHeight * 0.5;
|
|
1167
|
+
const dates = dateSetup.dates;
|
|
1083
1168
|
|
|
1084
|
-
for (
|
|
1085
|
-
|
|
1086
|
-
|
|
1169
|
+
for (let i = 0; i < dates.length; i++) {
|
|
1170
|
+
const date = dates[i];
|
|
1171
|
+
const bottomValue = getCachedDateTimeFormat(locale, {
|
|
1087
1172
|
hour: "numeric"
|
|
1088
1173
|
}).format(date);
|
|
1089
1174
|
bottomValues.push(React.createElement("text", {
|
|
@@ -1095,9 +1180,9 @@ var Calendar = function Calendar(_ref) {
|
|
|
1095
1180
|
}, bottomValue));
|
|
1096
1181
|
|
|
1097
1182
|
if (i !== 0 && date.getDate() !== dates[i - 1].getDate()) {
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1183
|
+
const displayDate = dates[i - 1];
|
|
1184
|
+
const topValue = `${getLocalDayOfWeek(displayDate, locale, "long")}, ${displayDate.getDate()} ${getLocaleMonth(displayDate, locale)}`;
|
|
1185
|
+
const topPosition = (date.getHours() - 24) / 2;
|
|
1101
1186
|
topValues.push(React.createElement(TopPartOfCalendar, {
|
|
1102
1187
|
key: topValue + displayDate.getFullYear(),
|
|
1103
1188
|
value: topValue,
|
|
@@ -1113,58 +1198,37 @@ var Calendar = function Calendar(_ref) {
|
|
|
1113
1198
|
return [topValues, bottomValues];
|
|
1114
1199
|
};
|
|
1115
1200
|
|
|
1116
|
-
|
|
1117
|
-
|
|
1201
|
+
let topValues = [];
|
|
1202
|
+
let bottomValues = [];
|
|
1118
1203
|
|
|
1119
1204
|
switch (dateSetup.viewMode) {
|
|
1120
1205
|
case ViewMode.Year:
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
topValues = _getCalendarValuesFor[0];
|
|
1124
|
-
bottomValues = _getCalendarValuesFor[1];
|
|
1206
|
+
[topValues, bottomValues] = getCalendarValuesForYear();
|
|
1125
1207
|
break;
|
|
1126
1208
|
|
|
1127
1209
|
case ViewMode.Quarter:
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
topValues = _getCalendarValuesFor2[0];
|
|
1131
|
-
bottomValues = _getCalendarValuesFor2[1];
|
|
1210
|
+
[topValues, bottomValues] = getCalendarValuesForQuarter();
|
|
1132
1211
|
break;
|
|
1133
1212
|
|
|
1134
1213
|
case ViewMode.Month:
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
topValues = _getCalendarValuesFor3[0];
|
|
1138
|
-
bottomValues = _getCalendarValuesFor3[1];
|
|
1214
|
+
[topValues, bottomValues] = getCalendarValuesForMonth();
|
|
1139
1215
|
break;
|
|
1140
1216
|
|
|
1141
1217
|
case ViewMode.Week:
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
topValues = _getCalendarValuesFor4[0];
|
|
1145
|
-
bottomValues = _getCalendarValuesFor4[1];
|
|
1218
|
+
[topValues, bottomValues] = getCalendarValuesForWeek();
|
|
1146
1219
|
break;
|
|
1147
1220
|
|
|
1148
1221
|
case ViewMode.Day:
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
topValues = _getCalendarValuesFor5[0];
|
|
1152
|
-
bottomValues = _getCalendarValuesFor5[1];
|
|
1222
|
+
[topValues, bottomValues] = getCalendarValuesForDay();
|
|
1153
1223
|
break;
|
|
1154
1224
|
|
|
1155
1225
|
case ViewMode.QuarterDay:
|
|
1156
1226
|
case ViewMode.HalfDay:
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
topValues = _getCalendarValuesFor6[0];
|
|
1160
|
-
bottomValues = _getCalendarValuesFor6[1];
|
|
1227
|
+
[topValues, bottomValues] = getCalendarValuesForPartOfDay();
|
|
1161
1228
|
break;
|
|
1162
1229
|
|
|
1163
1230
|
case ViewMode.Hour:
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
topValues = _getCalendarValuesFor7[0];
|
|
1167
|
-
bottomValues = _getCalendarValuesFor7[1];
|
|
1231
|
+
[topValues, bottomValues] = getCalendarValuesForHour();
|
|
1168
1232
|
}
|
|
1169
1233
|
|
|
1170
1234
|
return React.createElement("g", {
|
|
@@ -1200,27 +1264,23 @@ function _catch(body, recover) {
|
|
|
1200
1264
|
return result;
|
|
1201
1265
|
}
|
|
1202
1266
|
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
|
|
1267
|
+
const Arrow = _ref => {
|
|
1268
|
+
let {
|
|
1269
|
+
taskFrom,
|
|
1270
|
+
taskTo,
|
|
1271
|
+
rowHeight,
|
|
1272
|
+
taskHeight,
|
|
1273
|
+
arrowIndent,
|
|
1274
|
+
rtl,
|
|
1275
|
+
arrowColor
|
|
1276
|
+
} = _ref;
|
|
1277
|
+
let path;
|
|
1278
|
+
let trianglePoints;
|
|
1213
1279
|
|
|
1214
1280
|
if (rtl) {
|
|
1215
|
-
|
|
1216
|
-
|
|
1217
|
-
path = _drownPathAndTriangle[0];
|
|
1218
|
-
trianglePoints = _drownPathAndTriangle[1];
|
|
1281
|
+
[path, trianglePoints] = drownPathAndTriangleRTL(taskFrom, taskTo, rowHeight, taskHeight, arrowIndent);
|
|
1219
1282
|
} else {
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
path = _drownPathAndTriangle2[0];
|
|
1223
|
-
trianglePoints = _drownPathAndTriangle2[1];
|
|
1283
|
+
[path, trianglePoints] = drownPathAndTriangle(taskFrom, taskTo, rowHeight, taskHeight, arrowIndent);
|
|
1224
1284
|
}
|
|
1225
1285
|
|
|
1226
1286
|
return React.createElement("g", {
|
|
@@ -1236,8 +1296,8 @@ var Arrow = function Arrow(_ref) {
|
|
|
1236
1296
|
}));
|
|
1237
1297
|
};
|
|
1238
1298
|
|
|
1239
|
-
|
|
1240
|
-
|
|
1299
|
+
const drownPathAndTriangle = (taskFrom, taskTo, rowHeight, taskHeight, arrowIndent) => {
|
|
1300
|
+
let taskToStart, taskFromEnd;
|
|
1241
1301
|
|
|
1242
1302
|
if (taskTo.x1 > 0 && taskTo.actualx1 > 0) {
|
|
1243
1303
|
taskToStart = Math.min(taskTo.x1, taskTo.actualx1);
|
|
@@ -1247,24 +1307,38 @@ var drownPathAndTriangle = function drownPathAndTriangle(taskFrom, taskTo, rowHe
|
|
|
1247
1307
|
taskFromEnd = Math.max(taskFrom.x2, taskFrom.actualx2);
|
|
1248
1308
|
} else if (taskFrom.x2 > 0) taskFromEnd = taskFrom.x2;else if (taskFrom.actualx2 > 0) taskFromEnd = taskFrom.actualx2;else taskFromEnd = 0;
|
|
1249
1309
|
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
1310
|
+
const indexCompare = taskFrom.index > taskTo.index ? -1 : 1;
|
|
1311
|
+
const taskToEndPosition = taskTo.y + taskHeight / 2;
|
|
1312
|
+
const taskFromEndPosition = taskFromEnd + arrowIndent * 2;
|
|
1313
|
+
const taskFromHorizontalOffsetValue = taskFromEndPosition < taskToStart ? "" : `H ${taskToStart - arrowIndent}`;
|
|
1314
|
+
const taskToHorizontalOffsetValue = taskFromEndPosition > taskToStart ? arrowIndent : taskToStart - taskFromEnd - arrowIndent;
|
|
1315
|
+
const path = `M ${taskFromEnd} ${taskFrom.y + taskHeight / 2}
|
|
1316
|
+
h ${arrowIndent}
|
|
1317
|
+
v ${indexCompare * rowHeight / 2}
|
|
1318
|
+
${taskFromHorizontalOffsetValue}
|
|
1319
|
+
V ${taskToEndPosition}
|
|
1320
|
+
h ${taskToHorizontalOffsetValue}`;
|
|
1321
|
+
const trianglePoints = `${taskToStart},${taskToEndPosition}
|
|
1322
|
+
${taskToStart - 5},${taskToEndPosition - 5}
|
|
1323
|
+
${taskToStart - 5},${taskToEndPosition + 5}`;
|
|
1257
1324
|
return [path, trianglePoints];
|
|
1258
1325
|
};
|
|
1259
1326
|
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1327
|
+
const drownPathAndTriangleRTL = (taskFrom, taskTo, rowHeight, taskHeight, arrowIndent) => {
|
|
1328
|
+
const indexCompare = taskFrom.index > taskTo.index ? -1 : 1;
|
|
1329
|
+
const taskToEndPosition = taskTo.y + taskHeight / 2;
|
|
1330
|
+
const taskFromEndPosition = taskFrom.x1 - arrowIndent * 2;
|
|
1331
|
+
const taskFromHorizontalOffsetValue = taskFromEndPosition > taskTo.x2 ? "" : `H ${taskTo.x2 + arrowIndent}`;
|
|
1332
|
+
const taskToHorizontalOffsetValue = taskFromEndPosition < taskTo.x2 ? -arrowIndent : taskTo.x2 - taskFrom.x1 + arrowIndent;
|
|
1333
|
+
const path = `M ${taskFrom.x1} ${taskFrom.y + taskHeight / 2}
|
|
1334
|
+
h ${-arrowIndent}
|
|
1335
|
+
v ${indexCompare * rowHeight / 2}
|
|
1336
|
+
${taskFromHorizontalOffsetValue}
|
|
1337
|
+
V ${taskToEndPosition}
|
|
1338
|
+
h ${taskToHorizontalOffsetValue}`;
|
|
1339
|
+
const trianglePoints = `${taskTo.x2},${taskToEndPosition}
|
|
1340
|
+
${taskTo.x2 + 5},${taskToEndPosition + 5}
|
|
1341
|
+
${taskTo.x2 + 5},${taskToEndPosition - 5}`;
|
|
1268
1342
|
return [path, trianglePoints];
|
|
1269
1343
|
};
|
|
1270
1344
|
|
|
@@ -1714,24 +1788,26 @@ var sortTasks = function sortTasks(taskA, taskB) {
|
|
|
1714
1788
|
}
|
|
1715
1789
|
};
|
|
1716
1790
|
|
|
1717
|
-
|
|
1718
|
-
|
|
1719
|
-
|
|
1720
|
-
|
|
1721
|
-
|
|
1722
|
-
|
|
1723
|
-
|
|
1724
|
-
|
|
1725
|
-
|
|
1726
|
-
|
|
1727
|
-
|
|
1728
|
-
|
|
1729
|
-
|
|
1730
|
-
|
|
1791
|
+
const BarDisplay = _ref => {
|
|
1792
|
+
let {
|
|
1793
|
+
x,
|
|
1794
|
+
y,
|
|
1795
|
+
type,
|
|
1796
|
+
width,
|
|
1797
|
+
height,
|
|
1798
|
+
isSelected,
|
|
1799
|
+
progressX,
|
|
1800
|
+
progressWidth,
|
|
1801
|
+
barCornerRadius,
|
|
1802
|
+
styles,
|
|
1803
|
+
onMouseDown
|
|
1804
|
+
} = _ref;
|
|
1805
|
+
|
|
1806
|
+
const getProcessColor = () => {
|
|
1731
1807
|
return isSelected ? styles.progressSelectedColor : styles.progressColor;
|
|
1732
1808
|
};
|
|
1733
1809
|
|
|
1734
|
-
|
|
1810
|
+
const getBarColor = () => {
|
|
1735
1811
|
return isSelected ? styles.backgroundSelectedColor : styles.backgroundColor;
|
|
1736
1812
|
};
|
|
1737
1813
|
|
|
@@ -1778,13 +1854,15 @@ var BarDisplay = function BarDisplay(_ref) {
|
|
|
1778
1854
|
|
|
1779
1855
|
var styles$6 = {"barWrapper":"_KxSXS","barHandle":"_3w_5u","barBackground":"_31ERP"};
|
|
1780
1856
|
|
|
1781
|
-
|
|
1782
|
-
|
|
1783
|
-
|
|
1784
|
-
|
|
1785
|
-
|
|
1786
|
-
|
|
1787
|
-
|
|
1857
|
+
const BarDateHandle = _ref => {
|
|
1858
|
+
let {
|
|
1859
|
+
x,
|
|
1860
|
+
y,
|
|
1861
|
+
width,
|
|
1862
|
+
height,
|
|
1863
|
+
barCornerRadius,
|
|
1864
|
+
onMouseDown
|
|
1865
|
+
} = _ref;
|
|
1788
1866
|
return React.createElement("rect", {
|
|
1789
1867
|
x: x,
|
|
1790
1868
|
y: y,
|
|
@@ -1797,22 +1875,22 @@ var BarDateHandle = function BarDateHandle(_ref) {
|
|
|
1797
1875
|
});
|
|
1798
1876
|
};
|
|
1799
1877
|
|
|
1800
|
-
|
|
1801
|
-
_objectDestructuringEmpty(_ref);
|
|
1802
|
-
|
|
1878
|
+
const BarProgressHandle = _ref => {
|
|
1803
1879
|
return React.createElement("div", null);
|
|
1804
1880
|
};
|
|
1805
1881
|
|
|
1806
|
-
|
|
1807
|
-
|
|
1808
|
-
|
|
1809
|
-
|
|
1810
|
-
|
|
1811
|
-
|
|
1812
|
-
|
|
1813
|
-
|
|
1814
|
-
|
|
1815
|
-
|
|
1882
|
+
const Bar = _ref => {
|
|
1883
|
+
let {
|
|
1884
|
+
task,
|
|
1885
|
+
isProgressChangeable,
|
|
1886
|
+
isDateChangeable,
|
|
1887
|
+
rtl,
|
|
1888
|
+
type,
|
|
1889
|
+
onEventStart,
|
|
1890
|
+
isSelected
|
|
1891
|
+
} = _ref;
|
|
1892
|
+
const progressPoint = getProgressPoint(+!rtl * task.progressWidth + task.progressX, task.y, task.height);
|
|
1893
|
+
const handleHeight = task.height / 2 - 1;
|
|
1816
1894
|
|
|
1817
1895
|
if (type == "planned") {
|
|
1818
1896
|
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", {
|
|
@@ -1831,7 +1909,7 @@ var Bar = function Bar(_ref) {
|
|
|
1831
1909
|
barCornerRadius: task.barCornerRadius,
|
|
1832
1910
|
styles: task.styles,
|
|
1833
1911
|
isSelected: isSelected,
|
|
1834
|
-
onMouseDown:
|
|
1912
|
+
onMouseDown: e => {
|
|
1835
1913
|
isDateChangeable && onEventStart("move", task, e, "planned");
|
|
1836
1914
|
}
|
|
1837
1915
|
}), React.createElement("g", {
|
|
@@ -1842,7 +1920,7 @@ var Bar = function Bar(_ref) {
|
|
|
1842
1920
|
width: task.handleWidth,
|
|
1843
1921
|
height: handleHeight,
|
|
1844
1922
|
barCornerRadius: task.barCornerRadius,
|
|
1845
|
-
onMouseDown:
|
|
1923
|
+
onMouseDown: e => {
|
|
1846
1924
|
onEventStart("start", task, e, "planned");
|
|
1847
1925
|
}
|
|
1848
1926
|
}), React.createElement(BarDateHandle, {
|
|
@@ -1851,12 +1929,12 @@ var Bar = function Bar(_ref) {
|
|
|
1851
1929
|
width: task.handleWidth,
|
|
1852
1930
|
height: handleHeight,
|
|
1853
1931
|
barCornerRadius: task.barCornerRadius,
|
|
1854
|
-
onMouseDown:
|
|
1932
|
+
onMouseDown: e => {
|
|
1855
1933
|
onEventStart("end", task, e, "planned");
|
|
1856
1934
|
}
|
|
1857
1935
|
})), isProgressChangeable && React.createElement(BarProgressHandle, {
|
|
1858
1936
|
progressPoint: progressPoint,
|
|
1859
|
-
onMouseDown:
|
|
1937
|
+
onMouseDown: e => {
|
|
1860
1938
|
onEventStart("progress", task, e, "planned");
|
|
1861
1939
|
}
|
|
1862
1940
|
})));else return React.createElement("g", {
|
|
@@ -1880,7 +1958,7 @@ var Bar = function Bar(_ref) {
|
|
|
1880
1958
|
barCornerRadius: task.barCornerRadius,
|
|
1881
1959
|
styles: task.styles,
|
|
1882
1960
|
isSelected: isSelected,
|
|
1883
|
-
onMouseDown:
|
|
1961
|
+
onMouseDown: e => {
|
|
1884
1962
|
isDateChangeable && onEventStart("move", task, e, "actual");
|
|
1885
1963
|
}
|
|
1886
1964
|
}), React.createElement("g", {
|
|
@@ -1891,7 +1969,7 @@ var Bar = function Bar(_ref) {
|
|
|
1891
1969
|
width: task.handleWidth,
|
|
1892
1970
|
height: handleHeight,
|
|
1893
1971
|
barCornerRadius: task.barCornerRadius,
|
|
1894
|
-
onMouseDown:
|
|
1972
|
+
onMouseDown: e => {
|
|
1895
1973
|
onEventStart("start", task, e, "actual");
|
|
1896
1974
|
}
|
|
1897
1975
|
}), React.createElement(BarDateHandle, {
|
|
@@ -1900,12 +1978,12 @@ var Bar = function Bar(_ref) {
|
|
|
1900
1978
|
width: task.handleWidth,
|
|
1901
1979
|
height: handleHeight,
|
|
1902
1980
|
barCornerRadius: task.barCornerRadius,
|
|
1903
|
-
onMouseDown:
|
|
1981
|
+
onMouseDown: e => {
|
|
1904
1982
|
onEventStart("end", task, e, "actual");
|
|
1905
1983
|
}
|
|
1906
1984
|
})), isProgressChangeable && React.createElement(BarProgressHandle, {
|
|
1907
1985
|
progressPoint: progressPoint,
|
|
1908
|
-
onMouseDown:
|
|
1986
|
+
onMouseDown: e => {
|
|
1909
1987
|
onEventStart("progress", task, e, "actual");
|
|
1910
1988
|
}
|
|
1911
1989
|
})));
|
|
@@ -1917,14 +1995,16 @@ var Bar = function Bar(_ref) {
|
|
|
1917
1995
|
}
|
|
1918
1996
|
};
|
|
1919
1997
|
|
|
1920
|
-
|
|
1921
|
-
|
|
1922
|
-
|
|
1923
|
-
|
|
1924
|
-
|
|
1925
|
-
|
|
1926
|
-
|
|
1927
|
-
|
|
1998
|
+
const BarSmall = _ref => {
|
|
1999
|
+
let {
|
|
2000
|
+
task,
|
|
2001
|
+
type,
|
|
2002
|
+
isProgressChangeable,
|
|
2003
|
+
isDateChangeable,
|
|
2004
|
+
onEventStart,
|
|
2005
|
+
isSelected
|
|
2006
|
+
} = _ref;
|
|
2007
|
+
const progressPoint = getProgressPoint(task.progressWidth + task.x1, task.y, task.height);
|
|
1928
2008
|
return React.createElement("g", {
|
|
1929
2009
|
className: styles$6.barWrapper,
|
|
1930
2010
|
tabIndex: 0
|
|
@@ -1941,14 +2021,14 @@ var BarSmall = function BarSmall(_ref) {
|
|
|
1941
2021
|
barCornerRadius: task.barCornerRadius,
|
|
1942
2022
|
styles: task.styles,
|
|
1943
2023
|
isSelected: isSelected,
|
|
1944
|
-
onMouseDown:
|
|
2024
|
+
onMouseDown: e => {
|
|
1945
2025
|
isDateChangeable && onEventStart("move", task, e);
|
|
1946
2026
|
}
|
|
1947
2027
|
}), React.createElement("g", {
|
|
1948
2028
|
className: "handleGroup"
|
|
1949
2029
|
}, isProgressChangeable && React.createElement(BarProgressHandle, {
|
|
1950
2030
|
progressPoint: progressPoint,
|
|
1951
|
-
onMouseDown:
|
|
2031
|
+
onMouseDown: e => {
|
|
1952
2032
|
onEventStart("progress", task, e);
|
|
1953
2033
|
}
|
|
1954
2034
|
})));
|
|
@@ -1956,14 +2036,17 @@ var BarSmall = function BarSmall(_ref) {
|
|
|
1956
2036
|
|
|
1957
2037
|
var styles$7 = {"milestoneWrapper":"_RRr13","milestoneBackground":"_2P2B1"};
|
|
1958
2038
|
|
|
1959
|
-
|
|
1960
|
-
|
|
1961
|
-
|
|
1962
|
-
|
|
1963
|
-
|
|
1964
|
-
|
|
1965
|
-
|
|
1966
|
-
|
|
2039
|
+
const Milestone = _ref => {
|
|
2040
|
+
let {
|
|
2041
|
+
task,
|
|
2042
|
+
isDateChangeable,
|
|
2043
|
+
onEventStart,
|
|
2044
|
+
isSelected
|
|
2045
|
+
} = _ref;
|
|
2046
|
+
const transform = `rotate(45 ${task.x1 + task.height * 0.356}
|
|
2047
|
+
${task.y + task.height * 0.85})`;
|
|
2048
|
+
|
|
2049
|
+
const getBarColor = () => {
|
|
1967
2050
|
return isSelected ? task.styles.backgroundSelectedColor : task.styles.backgroundColor;
|
|
1968
2051
|
};
|
|
1969
2052
|
|
|
@@ -1980,7 +2063,7 @@ var Milestone = function Milestone(_ref) {
|
|
|
1980
2063
|
ry: task.barCornerRadius,
|
|
1981
2064
|
transform: transform,
|
|
1982
2065
|
className: styles$7.milestoneBackground,
|
|
1983
|
-
onMouseDown:
|
|
2066
|
+
onMouseDown: e => {
|
|
1984
2067
|
isDateChangeable && onEventStart("move", task, e);
|
|
1985
2068
|
}
|
|
1986
2069
|
}));
|
|
@@ -1988,14 +2071,16 @@ var Milestone = function Milestone(_ref) {
|
|
|
1988
2071
|
|
|
1989
2072
|
var styles$8 = {"projectWrapper":"_1KJ6x","projectBackground":"_2RbVy","projectTop":"_2pZMF"};
|
|
1990
2073
|
|
|
1991
|
-
|
|
1992
|
-
|
|
1993
|
-
|
|
1994
|
-
|
|
1995
|
-
|
|
1996
|
-
|
|
1997
|
-
|
|
1998
|
-
|
|
2074
|
+
const Project = _ref => {
|
|
2075
|
+
let {
|
|
2076
|
+
task,
|
|
2077
|
+
isSelected
|
|
2078
|
+
} = _ref;
|
|
2079
|
+
const barColor = isSelected ? task.styles.backgroundSelectedColor : task.styles.backgroundColor;
|
|
2080
|
+
const processColor = isSelected ? task.styles.progressSelectedColor : task.styles.progressColor;
|
|
2081
|
+
const projectWith = task.x2 - task.x1;
|
|
2082
|
+
const projectLeftTriangle = [task.x1, task.y + task.height / 2 - 1, task.x1, task.y + task.height, task.x1 + 15, task.y + task.height / 2 - 1].join(",");
|
|
2083
|
+
const projectRightTriangle = [task.x2, task.y + task.height / 2 - 1, task.x2, task.y + task.height, task.x2 - 15, task.y + task.height / 2 - 1].join(",");
|
|
1999
2084
|
return React.createElement("g", {
|
|
2000
2085
|
tabIndex: 0,
|
|
2001
2086
|
className: styles$8.projectWrapper
|
|
@@ -2036,18 +2121,16 @@ var Project = function Project(_ref) {
|
|
|
2036
2121
|
}));
|
|
2037
2122
|
};
|
|
2038
2123
|
|
|
2039
|
-
|
|
2040
|
-
|
|
2041
|
-
|
|
2042
|
-
|
|
2043
|
-
|
|
2044
|
-
|
|
2045
|
-
|
|
2046
|
-
|
|
2047
|
-
|
|
2048
|
-
|
|
2049
|
-
|
|
2050
|
-
useEffect(function () {
|
|
2124
|
+
const TaskItem = props => {
|
|
2125
|
+
const {
|
|
2126
|
+
task,
|
|
2127
|
+
isDelete,
|
|
2128
|
+
isSelected,
|
|
2129
|
+
onEventStart
|
|
2130
|
+
} = { ...props
|
|
2131
|
+
};
|
|
2132
|
+
const [taskItem, setTaskItem] = useState([React.createElement("div", null)]);
|
|
2133
|
+
useEffect(() => {
|
|
2051
2134
|
switch (task.typeInternal) {
|
|
2052
2135
|
case "milestone":
|
|
2053
2136
|
if (task.x1 >= 0 && task.actualx1 >= 0) setTaskItem([React.createElement(Milestone, Object.assign({}, props))]);else setTaskItem([]);
|
|
@@ -2063,27 +2146,27 @@ var TaskItem = function TaskItem(props) {
|
|
|
2063
2146
|
|
|
2064
2147
|
default:
|
|
2065
2148
|
{
|
|
2066
|
-
|
|
2149
|
+
let taskItem = [];
|
|
2067
2150
|
|
|
2068
2151
|
if ((task === null || task === void 0 ? void 0 : task.x1) >= 0 && (task === null || task === void 0 ? void 0 : task.x2) >= 0) {
|
|
2069
|
-
|
|
2152
|
+
taskItem.push(React.createElement(Bar, Object.assign({}, props, {
|
|
2070
2153
|
type: "planned"
|
|
2071
2154
|
})));
|
|
2072
2155
|
}
|
|
2073
2156
|
|
|
2074
2157
|
if ((task === null || task === void 0 ? void 0 : task.actualx1) >= 0 && (task === null || task === void 0 ? void 0 : task.actualx2) >= 0) {
|
|
2075
|
-
|
|
2158
|
+
taskItem.push(React.createElement(Bar, Object.assign({}, props, {
|
|
2076
2159
|
type: "actual"
|
|
2077
2160
|
})));
|
|
2078
2161
|
}
|
|
2079
2162
|
|
|
2080
|
-
setTaskItem(
|
|
2163
|
+
setTaskItem(taskItem);
|
|
2081
2164
|
}
|
|
2082
2165
|
break;
|
|
2083
2166
|
}
|
|
2084
2167
|
}, [task, isSelected]);
|
|
2085
2168
|
return React.createElement("g", null, React.createElement("g", {
|
|
2086
|
-
onKeyDown:
|
|
2169
|
+
onKeyDown: e => {
|
|
2087
2170
|
switch (e.key) {
|
|
2088
2171
|
case "Delete":
|
|
2089
2172
|
{
|
|
@@ -2094,20 +2177,20 @@ var TaskItem = function TaskItem(props) {
|
|
|
2094
2177
|
|
|
2095
2178
|
e.stopPropagation();
|
|
2096
2179
|
},
|
|
2097
|
-
onMouseEnter:
|
|
2180
|
+
onMouseEnter: e => {
|
|
2098
2181
|
onEventStart("mouseenter", task, e, "planned");
|
|
2099
2182
|
},
|
|
2100
|
-
onMouseLeave:
|
|
2183
|
+
onMouseLeave: e => {
|
|
2101
2184
|
onEventStart("mouseleave", task, e, "planned");
|
|
2102
2185
|
},
|
|
2103
|
-
onDoubleClick:
|
|
2186
|
+
onDoubleClick: e => {
|
|
2104
2187
|
onEventStart("dblclick", task, e, "planned");
|
|
2105
2188
|
},
|
|
2106
|
-
onClick:
|
|
2189
|
+
onClick: e => {
|
|
2107
2190
|
onEventStart("click", task, e, "planned");
|
|
2108
2191
|
}
|
|
2109
2192
|
}, taskItem[0]), React.createElement("g", {
|
|
2110
|
-
onKeyDown:
|
|
2193
|
+
onKeyDown: e => {
|
|
2111
2194
|
switch (e.key) {
|
|
2112
2195
|
case "Delete":
|
|
2113
2196
|
{
|
|
@@ -2118,82 +2201,74 @@ var TaskItem = function TaskItem(props) {
|
|
|
2118
2201
|
|
|
2119
2202
|
e.stopPropagation();
|
|
2120
2203
|
},
|
|
2121
|
-
onMouseEnter:
|
|
2204
|
+
onMouseEnter: e => {
|
|
2122
2205
|
onEventStart("mouseenter", task, e, "actual");
|
|
2123
2206
|
},
|
|
2124
|
-
onMouseLeave:
|
|
2207
|
+
onMouseLeave: e => {
|
|
2125
2208
|
onEventStart("mouseleave", task, e, "actual");
|
|
2126
2209
|
},
|
|
2127
|
-
onDoubleClick:
|
|
2210
|
+
onDoubleClick: e => {
|
|
2128
2211
|
onEventStart("dblclick", task, e, "actual");
|
|
2129
2212
|
},
|
|
2130
|
-
onClick:
|
|
2213
|
+
onClick: e => {
|
|
2131
2214
|
onEventStart("click", task, e, "actual");
|
|
2132
2215
|
}
|
|
2133
2216
|
}, taskItem[1]));
|
|
2134
2217
|
};
|
|
2135
2218
|
|
|
2136
|
-
|
|
2219
|
+
const TaskGanttContent = _ref => {
|
|
2137
2220
|
var _svg$current;
|
|
2138
2221
|
|
|
2139
|
-
|
|
2140
|
-
|
|
2141
|
-
|
|
2142
|
-
|
|
2143
|
-
|
|
2144
|
-
|
|
2145
|
-
|
|
2146
|
-
|
|
2147
|
-
|
|
2148
|
-
|
|
2149
|
-
|
|
2150
|
-
|
|
2151
|
-
|
|
2152
|
-
|
|
2153
|
-
|
|
2154
|
-
|
|
2155
|
-
|
|
2156
|
-
|
|
2157
|
-
|
|
2158
|
-
|
|
2159
|
-
|
|
2160
|
-
|
|
2161
|
-
|
|
2162
|
-
|
|
2163
|
-
|
|
2164
|
-
|
|
2165
|
-
|
|
2166
|
-
|
|
2167
|
-
|
|
2168
|
-
|
|
2169
|
-
|
|
2170
|
-
var _useState3 = useState(false),
|
|
2171
|
-
isMoving = _useState3[0],
|
|
2172
|
-
setIsMoving = _useState3[1];
|
|
2173
|
-
|
|
2174
|
-
useEffect(function () {
|
|
2175
|
-
var dateDelta = dates[1].getTime() - dates[0].getTime() - dates[1].getTimezoneOffset() * 60 * 1000 + dates[0].getTimezoneOffset() * 60 * 1000;
|
|
2176
|
-
var newXStep = timeStep * columnWidth / dateDelta;
|
|
2222
|
+
let {
|
|
2223
|
+
tasks,
|
|
2224
|
+
dates,
|
|
2225
|
+
ganttEvent,
|
|
2226
|
+
selectedTask,
|
|
2227
|
+
rowHeight,
|
|
2228
|
+
columnWidth,
|
|
2229
|
+
timeStep,
|
|
2230
|
+
svg,
|
|
2231
|
+
taskHeight,
|
|
2232
|
+
arrowIndent,
|
|
2233
|
+
fontFamily,
|
|
2234
|
+
fontSize,
|
|
2235
|
+
rtl,
|
|
2236
|
+
setGanttEvent,
|
|
2237
|
+
setFailedTask,
|
|
2238
|
+
setSelectedTask,
|
|
2239
|
+
onDateChange,
|
|
2240
|
+
onProgressChange,
|
|
2241
|
+
onDoubleClick,
|
|
2242
|
+
onClick,
|
|
2243
|
+
onDelete
|
|
2244
|
+
} = _ref;
|
|
2245
|
+
const point = svg === null || svg === void 0 ? void 0 : (_svg$current = svg.current) === null || _svg$current === void 0 ? void 0 : _svg$current.createSVGPoint();
|
|
2246
|
+
const [xStep, setXStep] = useState(0);
|
|
2247
|
+
const [initEventX1Delta, setInitEventX1Delta] = useState(0);
|
|
2248
|
+
const [isMoving, setIsMoving] = useState(false);
|
|
2249
|
+
useEffect(() => {
|
|
2250
|
+
const dateDelta = dates[1].getTime() - dates[0].getTime() - dates[1].getTimezoneOffset() * 60 * 1000 + dates[0].getTimezoneOffset() * 60 * 1000;
|
|
2251
|
+
const newXStep = timeStep * columnWidth / dateDelta;
|
|
2177
2252
|
setXStep(newXStep);
|
|
2178
2253
|
}, [columnWidth, dates, timeStep]);
|
|
2179
|
-
useEffect(
|
|
2180
|
-
|
|
2254
|
+
useEffect(() => {
|
|
2255
|
+
const handleMouseMove = function (event) {
|
|
2181
2256
|
try {
|
|
2182
2257
|
var _svg$current$getScree;
|
|
2183
2258
|
|
|
2184
2259
|
if (!ganttEvent.changedTask || !point || !(svg !== null && svg !== void 0 && svg.current)) return Promise.resolve();
|
|
2185
2260
|
event.preventDefault();
|
|
2186
2261
|
point.x = event.clientX;
|
|
2187
|
-
|
|
2188
|
-
|
|
2189
|
-
|
|
2190
|
-
|
|
2191
|
-
|
|
2262
|
+
const cursor = point.matrixTransform(svg === null || svg === void 0 ? void 0 : (_svg$current$getScree = svg.current.getScreenCTM()) === null || _svg$current$getScree === void 0 ? void 0 : _svg$current$getScree.inverse());
|
|
2263
|
+
const {
|
|
2264
|
+
isChanged,
|
|
2265
|
+
changedTask
|
|
2266
|
+
} = handleTaskBySVGMouseEvent(cursor.x, ganttEvent.action, ganttEvent.changedTask, ganttEvent.type, xStep, timeStep, initEventX1Delta, rtl);
|
|
2192
2267
|
|
|
2193
2268
|
if (isChanged) {
|
|
2194
2269
|
setGanttEvent({
|
|
2195
2270
|
action: ganttEvent.action,
|
|
2196
|
-
changedTask
|
|
2271
|
+
changedTask
|
|
2197
2272
|
});
|
|
2198
2273
|
}
|
|
2199
2274
|
|
|
@@ -2203,40 +2278,41 @@ var TaskGanttContent = function TaskGanttContent(_ref) {
|
|
|
2203
2278
|
}
|
|
2204
2279
|
};
|
|
2205
2280
|
|
|
2206
|
-
|
|
2281
|
+
const handleMouseUp = function (event) {
|
|
2207
2282
|
try {
|
|
2208
2283
|
var _svg$current$getScree2;
|
|
2209
2284
|
|
|
2210
|
-
|
|
2285
|
+
function _temp5() {
|
|
2211
2286
|
if (!operationSuccess) {
|
|
2212
2287
|
setFailedTask(originalSelectedTask);
|
|
2213
2288
|
}
|
|
2214
|
-
}
|
|
2289
|
+
}
|
|
2215
2290
|
|
|
2216
|
-
|
|
2217
|
-
|
|
2218
|
-
|
|
2219
|
-
|
|
2291
|
+
const {
|
|
2292
|
+
action,
|
|
2293
|
+
originalSelectedTask,
|
|
2294
|
+
changedTask,
|
|
2295
|
+
type
|
|
2296
|
+
} = ganttEvent;
|
|
2220
2297
|
if (!changedTask || !point || !(svg !== null && svg !== void 0 && svg.current) || !originalSelectedTask) return Promise.resolve();
|
|
2221
2298
|
event.preventDefault();
|
|
2222
2299
|
point.x = event.clientX;
|
|
2223
|
-
|
|
2224
|
-
|
|
2225
|
-
|
|
2226
|
-
|
|
2227
|
-
|
|
2228
|
-
var isNotLikeOriginal = originalSelectedTask.start !== newChangedTask.start || originalSelectedTask.end !== newChangedTask.end || originalSelectedTask.actualStart !== newChangedTask.actualStart || originalSelectedTask.actualEnd !== newChangedTask.actualEnd || originalSelectedTask.progress !== newChangedTask.progress;
|
|
2300
|
+
const cursor = point.matrixTransform(svg === null || svg === void 0 ? void 0 : (_svg$current$getScree2 = svg.current.getScreenCTM()) === null || _svg$current$getScree2 === void 0 ? void 0 : _svg$current$getScree2.inverse());
|
|
2301
|
+
const {
|
|
2302
|
+
changedTask: newChangedTask
|
|
2303
|
+
} = handleTaskBySVGMouseEvent(cursor.x, action, changedTask, type, xStep, timeStep, initEventX1Delta, rtl);
|
|
2304
|
+
const isNotLikeOriginal = originalSelectedTask.start !== newChangedTask.start || originalSelectedTask.end !== newChangedTask.end || originalSelectedTask.actualStart !== newChangedTask.actualStart || originalSelectedTask.actualEnd !== newChangedTask.actualEnd || originalSelectedTask.progress !== newChangedTask.progress;
|
|
2229
2305
|
svg.current.removeEventListener("mousemove", handleMouseMove);
|
|
2230
2306
|
svg.current.removeEventListener("mouseup", handleMouseUp);
|
|
2231
2307
|
setGanttEvent({
|
|
2232
2308
|
action: ""
|
|
2233
2309
|
});
|
|
2234
2310
|
setIsMoving(false);
|
|
2235
|
-
|
|
2311
|
+
let operationSuccess = true;
|
|
2236
2312
|
|
|
2237
|
-
|
|
2313
|
+
const _temp4 = function () {
|
|
2238
2314
|
if ((action === "move" || action === "end" || action === "start") && onDateChange && isNotLikeOriginal) {
|
|
2239
|
-
|
|
2315
|
+
const _temp = _catch(function () {
|
|
2240
2316
|
return Promise.resolve(onDateChange(newChangedTask, newChangedTask.barChildren)).then(function (result) {
|
|
2241
2317
|
if (result !== undefined) {
|
|
2242
2318
|
operationSuccess = result;
|
|
@@ -2246,11 +2322,11 @@ var TaskGanttContent = function TaskGanttContent(_ref) {
|
|
|
2246
2322
|
operationSuccess = false;
|
|
2247
2323
|
});
|
|
2248
2324
|
|
|
2249
|
-
if (
|
|
2325
|
+
if (_temp && _temp.then) return _temp.then(function () {});
|
|
2250
2326
|
} else {
|
|
2251
|
-
|
|
2327
|
+
const _temp3 = function () {
|
|
2252
2328
|
if (onProgressChange && isNotLikeOriginal) {
|
|
2253
|
-
|
|
2329
|
+
const _temp2 = _catch(function () {
|
|
2254
2330
|
return Promise.resolve(onProgressChange(newChangedTask, newChangedTask.barChildren)).then(function (result) {
|
|
2255
2331
|
if (result !== undefined) {
|
|
2256
2332
|
operationSuccess = result;
|
|
@@ -2260,15 +2336,15 @@ var TaskGanttContent = function TaskGanttContent(_ref) {
|
|
|
2260
2336
|
operationSuccess = false;
|
|
2261
2337
|
});
|
|
2262
2338
|
|
|
2263
|
-
if (
|
|
2339
|
+
if (_temp2 && _temp2.then) return _temp2.then(function () {});
|
|
2264
2340
|
}
|
|
2265
2341
|
}();
|
|
2266
2342
|
|
|
2267
|
-
if (
|
|
2343
|
+
if (_temp3 && _temp3.then) return _temp3.then(function () {});
|
|
2268
2344
|
}
|
|
2269
2345
|
}();
|
|
2270
2346
|
|
|
2271
|
-
return Promise.resolve(
|
|
2347
|
+
return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp5) : _temp5(_temp4));
|
|
2272
2348
|
} catch (e) {
|
|
2273
2349
|
return Promise.reject(e);
|
|
2274
2350
|
}
|
|
@@ -2281,7 +2357,7 @@ var TaskGanttContent = function TaskGanttContent(_ref) {
|
|
|
2281
2357
|
}
|
|
2282
2358
|
}, [ganttEvent, xStep, initEventX1Delta, onProgressChange, timeStep, onDateChange, svg, isMoving, point, rtl, setFailedTask, setGanttEvent]);
|
|
2283
2359
|
|
|
2284
|
-
|
|
2360
|
+
const handleBarEventStart = function (action, task, event, type) {
|
|
2285
2361
|
try {
|
|
2286
2362
|
return Promise.resolve(function () {
|
|
2287
2363
|
if (!event) {
|
|
@@ -2290,15 +2366,15 @@ var TaskGanttContent = function TaskGanttContent(_ref) {
|
|
|
2290
2366
|
}
|
|
2291
2367
|
} else return function () {
|
|
2292
2368
|
if (isKeyboardEvent(event)) {
|
|
2293
|
-
|
|
2369
|
+
const _temp8 = function () {
|
|
2294
2370
|
if (action === "delete") {
|
|
2295
|
-
|
|
2371
|
+
const _temp7 = function () {
|
|
2296
2372
|
if (onDelete) {
|
|
2297
|
-
|
|
2373
|
+
const _temp6 = _catch(function () {
|
|
2298
2374
|
return Promise.resolve(onDelete(task)).then(function (result) {
|
|
2299
2375
|
if (result !== undefined && result) {
|
|
2300
2376
|
setGanttEvent({
|
|
2301
|
-
action
|
|
2377
|
+
action,
|
|
2302
2378
|
changedTask: task
|
|
2303
2379
|
});
|
|
2304
2380
|
}
|
|
@@ -2307,19 +2383,19 @@ var TaskGanttContent = function TaskGanttContent(_ref) {
|
|
|
2307
2383
|
console.error("Error on Delete. " + error);
|
|
2308
2384
|
});
|
|
2309
2385
|
|
|
2310
|
-
if (
|
|
2386
|
+
if (_temp6 && _temp6.then) return _temp6.then(function () {});
|
|
2311
2387
|
}
|
|
2312
2388
|
}();
|
|
2313
2389
|
|
|
2314
|
-
if (
|
|
2390
|
+
if (_temp7 && _temp7.then) return _temp7.then(function () {});
|
|
2315
2391
|
}
|
|
2316
2392
|
}();
|
|
2317
2393
|
|
|
2318
|
-
if (
|
|
2394
|
+
if (_temp8 && _temp8.then) return _temp8.then(function () {});
|
|
2319
2395
|
} else if (action === "mouseenter") {
|
|
2320
2396
|
if (!ganttEvent.action) {
|
|
2321
2397
|
setGanttEvent({
|
|
2322
|
-
action
|
|
2398
|
+
action,
|
|
2323
2399
|
changedTask: task,
|
|
2324
2400
|
originalSelectedTask: task,
|
|
2325
2401
|
type: type
|
|
@@ -2340,17 +2416,17 @@ var TaskGanttContent = function TaskGanttContent(_ref) {
|
|
|
2340
2416
|
|
|
2341
2417
|
if (!(svg !== null && svg !== void 0 && svg.current) || !point) return;
|
|
2342
2418
|
point.x = event.clientX;
|
|
2343
|
-
|
|
2419
|
+
const cursor = point.matrixTransform((_svg$current$getScree3 = svg.current.getScreenCTM()) === null || _svg$current$getScree3 === void 0 ? void 0 : _svg$current$getScree3.inverse());
|
|
2344
2420
|
if (type == "planned") setInitEventX1Delta(cursor.x - task.x1);else if (type == "actual") setInitEventX1Delta(cursor.x - task.actualx1);
|
|
2345
2421
|
setGanttEvent({
|
|
2346
|
-
action
|
|
2422
|
+
action,
|
|
2347
2423
|
changedTask: task,
|
|
2348
2424
|
originalSelectedTask: task,
|
|
2349
2425
|
type: type
|
|
2350
2426
|
});
|
|
2351
2427
|
} else {
|
|
2352
2428
|
setGanttEvent({
|
|
2353
|
-
action
|
|
2429
|
+
action,
|
|
2354
2430
|
changedTask: task,
|
|
2355
2431
|
originalSelectedTask: task,
|
|
2356
2432
|
type: type
|
|
@@ -2367,8 +2443,8 @@ var TaskGanttContent = function TaskGanttContent(_ref) {
|
|
|
2367
2443
|
className: "content"
|
|
2368
2444
|
}, React.createElement("g", {
|
|
2369
2445
|
className: "arrows"
|
|
2370
|
-
}, tasks.map(
|
|
2371
|
-
|
|
2446
|
+
}, tasks.map(_task => {
|
|
2447
|
+
const task = _task.start.getTime() > 0 && _task.end.getTime() > 0 ? _task : undefined;
|
|
2372
2448
|
|
|
2373
2449
|
if (!task) {
|
|
2374
2450
|
return React.createElement("g", {
|
|
@@ -2379,20 +2455,18 @@ var TaskGanttContent = function TaskGanttContent(_ref) {
|
|
|
2379
2455
|
});
|
|
2380
2456
|
}
|
|
2381
2457
|
|
|
2382
|
-
return task.barChildren.map(
|
|
2458
|
+
return task.barChildren.map(child => {
|
|
2383
2459
|
var _task$criticalPathArr, _task$criticalPathArr2;
|
|
2384
2460
|
|
|
2385
2461
|
if (task.x2 > task.x1 || task.actualx2 > task.actualx1) return React.createElement(Arrow, {
|
|
2386
|
-
key:
|
|
2462
|
+
key: `Arrow from ${task.id} to ${tasks[child.index].id}`,
|
|
2387
2463
|
taskFrom: task,
|
|
2388
2464
|
taskTo: tasks[child.index],
|
|
2389
2465
|
rowHeight: rowHeight,
|
|
2390
2466
|
taskHeight: taskHeight,
|
|
2391
2467
|
arrowIndent: arrowIndent,
|
|
2392
2468
|
rtl: rtl,
|
|
2393
|
-
arrowColor: ((_task$criticalPathArr = task.criticalPathArrows) === null || _task$criticalPathArr === void 0 ? void 0 : (_task$criticalPathArr2 = _task$criticalPathArr.find(
|
|
2394
|
-
return arrow.taskId == tasks[child.index].id;
|
|
2395
|
-
})) === null || _task$criticalPathArr2 === void 0 ? void 0 : _task$criticalPathArr2.arrowColor) || "#808080"
|
|
2469
|
+
arrowColor: ((_task$criticalPathArr = task.criticalPathArrows) === null || _task$criticalPathArr === void 0 ? void 0 : (_task$criticalPathArr2 = _task$criticalPathArr.find(arrow => arrow.taskId == tasks[child.index].id)) === null || _task$criticalPathArr2 === void 0 ? void 0 : _task$criticalPathArr2.arrowColor) || "#808080"
|
|
2396
2470
|
});else return React.createElement("g", {
|
|
2397
2471
|
key: _task.id,
|
|
2398
2472
|
style: {
|
|
@@ -2404,8 +2478,8 @@ var TaskGanttContent = function TaskGanttContent(_ref) {
|
|
|
2404
2478
|
className: "bar",
|
|
2405
2479
|
fontFamily: fontFamily,
|
|
2406
2480
|
fontSize: fontSize
|
|
2407
|
-
}, tasks.map(
|
|
2408
|
-
|
|
2481
|
+
}, tasks.map(_task => {
|
|
2482
|
+
const task = _task.start.getTime() > 0 && _task.end.getTime() > 0 ? _task : undefined;
|
|
2409
2483
|
|
|
2410
2484
|
if (!task) {
|
|
2411
2485
|
return React.createElement("g", {
|
|
@@ -2597,6 +2671,7 @@ var Gantt = function Gantt(_ref) {
|
|
|
2597
2671
|
onDelete = _ref.onDelete,
|
|
2598
2672
|
onSelect = _ref.onSelect,
|
|
2599
2673
|
onExpanderClick = _ref.onExpanderClick,
|
|
2674
|
+
onMultiSelect = _ref.onMultiSelect,
|
|
2600
2675
|
taskLabelRenderer = _ref.taskLabelRenderer;
|
|
2601
2676
|
var wrapperRef = useRef(null);
|
|
2602
2677
|
var taskListRef = useRef(null);
|
|
@@ -3004,7 +3079,8 @@ var Gantt = function Gantt(_ref) {
|
|
|
3004
3079
|
onDoubleClick: onDoubleClick,
|
|
3005
3080
|
TaskListHeader: TaskListHeader,
|
|
3006
3081
|
TaskListTable: TaskListTable,
|
|
3007
|
-
taskLabelRenderer: taskLabelRenderer
|
|
3082
|
+
taskLabelRenderer: taskLabelRenderer,
|
|
3083
|
+
onMultiSelect: onMultiSelect
|
|
3008
3084
|
};
|
|
3009
3085
|
return React.createElement("div", null, React.createElement("div", {
|
|
3010
3086
|
className: styles$9.wrapper,
|