gantt-task-react-v 1.1.3 → 1.1.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.
@@ -10021,10 +10021,10 @@ const TaskListTableRowInner = forwardRef(
10021
10021
  const { id, comparisonLevel = 1 } = task;
10022
10022
  const onRootMouseDown = useCallback(
10023
10023
  (event) => {
10024
- event.preventDefault();
10025
10024
  if (event.button !== 0) {
10026
10025
  return;
10027
10026
  }
10027
+ event.preventDefault();
10028
10028
  if (task.type !== "empty") {
10029
10029
  scrollToTask(task);
10030
10030
  }
@@ -12783,6 +12783,9 @@ const TaskItemInner = (props) => {
12783
12783
  ]);
12784
12784
  const onMouseDown = useCallback(
12785
12785
  (event) => {
12786
+ if (event.button !== 0) {
12787
+ return;
12788
+ }
12786
12789
  event.stopPropagation();
12787
12790
  onSelectTaskOnMouseDown(task.id, event);
12788
12791
  },
@@ -17732,9 +17735,13 @@ const useSelection = (taskToRowIndexMap, rowIndexToTaskMap, checkTaskIdExists, o
17732
17735
  toggleTask(taskId);
17733
17736
  return;
17734
17737
  }
17735
- selectTask(taskId);
17738
+ if (selectedIdsMirror[taskId]) {
17739
+ toggleTask(taskId);
17740
+ } else {
17741
+ selectTask(taskId);
17742
+ }
17736
17743
  },
17737
- [selectTask, selectTasksFromLastSelected, toggleTask]
17744
+ [selectTask, selectTasksFromLastSelected, toggleTask, selectedIdsMirror]
17738
17745
  );
17739
17746
  const cutTask = useCallback((task) => {
17740
17747
  setCutIdsMirror({
@@ -17764,7 +17771,9 @@ const useSelection = (taskToRowIndexMap, rowIndexToTaskMap, checkTaskIdExists, o
17764
17771
  );
17765
17772
  useEffect(() => {
17766
17773
  if (onSelectTaskIds) {
17767
- const selectedTaskIds = Object.keys(selectedIdsMirror).filter((x) => selectedIdsMirror[x]);
17774
+ const selectedTaskIds = Object.keys(selectedIdsMirror).filter(
17775
+ (x) => selectedIdsMirror[x]
17776
+ );
17768
17777
  onSelectTaskIds(selectedTaskIds);
17769
17778
  }
17770
17779
  }, [onSelectTaskIds, selectedIdsMirror]);
@@ -17967,9 +17976,16 @@ const useContextMenu = (wrapperRef, scrollToTask) => {
17967
17976
  }
17968
17977
  const { top, left } = wrapperNode.getBoundingClientRect();
17969
17978
  setContextMenu({
17970
- task,
17971
- x: clientX - left,
17972
- y: clientY - top
17979
+ task: null,
17980
+ x: 0,
17981
+ y: 0
17982
+ });
17983
+ requestAnimationFrame(() => {
17984
+ setContextMenu({
17985
+ task,
17986
+ x: clientX - left,
17987
+ y: clientY - top
17988
+ });
17973
17989
  });
17974
17990
  if (task.type !== "empty") {
17975
17991
  scrollToTask(task);
@@ -18109,7 +18125,12 @@ function ContextMenu(props) {
18109
18125
  }
18110
18126
  }, [context, task, x, y]);
18111
18127
  const focus = useFocus(context);
18112
- const dismiss = useDismiss(context);
18128
+ const dismiss = useDismiss(context, {
18129
+ outsidePress: true,
18130
+ outsidePressEvent: "mousedown",
18131
+ ancestorScroll: true,
18132
+ escapeKey: true
18133
+ });
18113
18134
  const role = useRole(context, { role: "tooltip" });
18114
18135
  const { getReferenceProps, getFloatingProps } = useInteractions([
18115
18136
  focus,
@@ -10038,10 +10038,10 @@
10038
10038
  const { id, comparisonLevel = 1 } = task;
10039
10039
  const onRootMouseDown = React.useCallback(
10040
10040
  (event) => {
10041
- event.preventDefault();
10042
10041
  if (event.button !== 0) {
10043
10042
  return;
10044
10043
  }
10044
+ event.preventDefault();
10045
10045
  if (task.type !== "empty") {
10046
10046
  scrollToTask(task);
10047
10047
  }
@@ -12800,6 +12800,9 @@
12800
12800
  ]);
12801
12801
  const onMouseDown = React.useCallback(
12802
12802
  (event) => {
12803
+ if (event.button !== 0) {
12804
+ return;
12805
+ }
12803
12806
  event.stopPropagation();
12804
12807
  onSelectTaskOnMouseDown(task.id, event);
12805
12808
  },
@@ -17749,9 +17752,13 @@
17749
17752
  toggleTask(taskId);
17750
17753
  return;
17751
17754
  }
17752
- selectTask(taskId);
17755
+ if (selectedIdsMirror[taskId]) {
17756
+ toggleTask(taskId);
17757
+ } else {
17758
+ selectTask(taskId);
17759
+ }
17753
17760
  },
17754
- [selectTask, selectTasksFromLastSelected, toggleTask]
17761
+ [selectTask, selectTasksFromLastSelected, toggleTask, selectedIdsMirror]
17755
17762
  );
17756
17763
  const cutTask = React.useCallback((task) => {
17757
17764
  setCutIdsMirror({
@@ -17781,7 +17788,9 @@
17781
17788
  );
17782
17789
  React.useEffect(() => {
17783
17790
  if (onSelectTaskIds) {
17784
- const selectedTaskIds = Object.keys(selectedIdsMirror).filter((x) => selectedIdsMirror[x]);
17791
+ const selectedTaskIds = Object.keys(selectedIdsMirror).filter(
17792
+ (x) => selectedIdsMirror[x]
17793
+ );
17785
17794
  onSelectTaskIds(selectedTaskIds);
17786
17795
  }
17787
17796
  }, [onSelectTaskIds, selectedIdsMirror]);
@@ -17984,9 +17993,16 @@
17984
17993
  }
17985
17994
  const { top, left } = wrapperNode.getBoundingClientRect();
17986
17995
  setContextMenu({
17987
- task,
17988
- x: clientX - left,
17989
- y: clientY - top
17996
+ task: null,
17997
+ x: 0,
17998
+ y: 0
17999
+ });
18000
+ requestAnimationFrame(() => {
18001
+ setContextMenu({
18002
+ task,
18003
+ x: clientX - left,
18004
+ y: clientY - top
18005
+ });
17990
18006
  });
17991
18007
  if (task.type !== "empty") {
17992
18008
  scrollToTask(task);
@@ -18126,7 +18142,12 @@
18126
18142
  }
18127
18143
  }, [context, task, x, y]);
18128
18144
  const focus = useFocus(context);
18129
- const dismiss = useDismiss(context);
18145
+ const dismiss = useDismiss(context, {
18146
+ outsidePress: true,
18147
+ outsidePressEvent: "mousedown",
18148
+ ancestorScroll: true,
18149
+ escapeKey: true
18150
+ });
18130
18151
  const role = useRole(context, { role: "tooltip" });
18131
18152
  const { getReferenceProps, getFloatingProps } = useInteractions([
18132
18153
  focus,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gantt-task-react-v",
3
- "version": "1.1.3",
3
+ "version": "1.1.4",
4
4
  "description": "Interactive Gantt Chart for React with TypeScript.",
5
5
  "author": "aguilanbon",
6
6
  "homepage": "https://github.com/aguilanbon/gantt-task-react-v",