gantt-task-react-v 1.5.18 → 1.5.20

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.
@@ -20813,13 +20813,16 @@ const Gantt = (props) => {
20813
20813
  if (enableDrawer) {
20814
20814
  setActiveArrowKey(null);
20815
20815
  setActiveTaskId(task.id);
20816
+ if ((drawerData == null ? void 0 : drawerData.type) === "task") {
20817
+ setDrawerData({ type: "task", task });
20818
+ }
20816
20819
  }
20817
20820
  selectTask(task.id);
20818
20821
  if (taskBar.onClick) {
20819
20822
  taskBar.onClick(task);
20820
20823
  }
20821
20824
  },
20822
- [enableDrawer, selectTask, taskBar]
20825
+ [enableDrawer, drawerData, selectTask, taskBar]
20823
20826
  );
20824
20827
  const handleTaskDoubleClick = useCallback(
20825
20828
  (task) => {
@@ -20863,6 +20866,32 @@ const Gantt = (props) => {
20863
20866
  setActiveArrowKey(null);
20864
20867
  setActiveTaskId(null);
20865
20868
  }, []);
20869
+ useEffect(() => {
20870
+ if (!drawerData || drawerData.type !== "task")
20871
+ return;
20872
+ const currentTaskId = drawerData.task.id;
20873
+ if (selectedIdsMirror[currentTaskId])
20874
+ return;
20875
+ const selectedIds = Object.keys(selectedIdsMirror);
20876
+ if (selectedIds.length === 0) {
20877
+ setDrawerData(null);
20878
+ setActiveArrowKey(null);
20879
+ setActiveTaskId(null);
20880
+ return;
20881
+ }
20882
+ const newTaskId = selectedIds[0];
20883
+ for (const [, levelMap] of tasksMap) {
20884
+ const task = levelMap.get(newTaskId);
20885
+ if (task && task.type !== "empty") {
20886
+ setActiveTaskId(newTaskId);
20887
+ setDrawerData({ type: "task", task });
20888
+ return;
20889
+ }
20890
+ }
20891
+ setDrawerData(null);
20892
+ setActiveArrowKey(null);
20893
+ setActiveTaskId(null);
20894
+ }, [drawerData, selectedIdsMirror, tasksMap]);
20866
20895
  const handleGoToTask = useCallback(
20867
20896
  (taskId) => {
20868
20897
  for (const [comparisonLevel, levelMap] of tasksMap) {
@@ -20830,13 +20830,16 @@
20830
20830
  if (enableDrawer) {
20831
20831
  setActiveArrowKey(null);
20832
20832
  setActiveTaskId(task.id);
20833
+ if ((drawerData == null ? void 0 : drawerData.type) === "task") {
20834
+ setDrawerData({ type: "task", task });
20835
+ }
20833
20836
  }
20834
20837
  selectTask(task.id);
20835
20838
  if (taskBar.onClick) {
20836
20839
  taskBar.onClick(task);
20837
20840
  }
20838
20841
  },
20839
- [enableDrawer, selectTask, taskBar]
20842
+ [enableDrawer, drawerData, selectTask, taskBar]
20840
20843
  );
20841
20844
  const handleTaskDoubleClick = React.useCallback(
20842
20845
  (task) => {
@@ -20880,6 +20883,32 @@
20880
20883
  setActiveArrowKey(null);
20881
20884
  setActiveTaskId(null);
20882
20885
  }, []);
20886
+ React.useEffect(() => {
20887
+ if (!drawerData || drawerData.type !== "task")
20888
+ return;
20889
+ const currentTaskId = drawerData.task.id;
20890
+ if (selectedIdsMirror[currentTaskId])
20891
+ return;
20892
+ const selectedIds = Object.keys(selectedIdsMirror);
20893
+ if (selectedIds.length === 0) {
20894
+ setDrawerData(null);
20895
+ setActiveArrowKey(null);
20896
+ setActiveTaskId(null);
20897
+ return;
20898
+ }
20899
+ const newTaskId = selectedIds[0];
20900
+ for (const [, levelMap] of tasksMap) {
20901
+ const task = levelMap.get(newTaskId);
20902
+ if (task && task.type !== "empty") {
20903
+ setActiveTaskId(newTaskId);
20904
+ setDrawerData({ type: "task", task });
20905
+ return;
20906
+ }
20907
+ }
20908
+ setDrawerData(null);
20909
+ setActiveArrowKey(null);
20910
+ setActiveTaskId(null);
20911
+ }, [drawerData, selectedIdsMirror, tasksMap]);
20883
20912
  const handleGoToTask = React.useCallback(
20884
20913
  (taskId) => {
20885
20914
  for (const [comparisonLevel, levelMap] of tasksMap) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gantt-task-react-v",
3
- "version": "1.5.18",
3
+ "version": "1.5.20",
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",