fix: prevent other tab to open the modal by using ref instead of local storage
parent
3f6d8cf8c8
commit
af1fb1bbbe
|
@ -13,11 +13,7 @@ export default function GroupTasksViewModal({ isOpen }) {
|
||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
let { groupTaskId } = useParams();
|
let { groupTaskId } = useParams();
|
||||||
|
|
||||||
const handleCancel = () => {
|
const handleCancel = () => navigate(Constants.ROUTE_PATHS.GROUP_TASKS);
|
||||||
console.log("handleCancel", isOpen);
|
|
||||||
navigate(Constants.ROUTE_PATHS.GROUP_TASKS);
|
|
||||||
};
|
|
||||||
|
|
||||||
let currentGroupTask;
|
let currentGroupTask;
|
||||||
|
|
||||||
webSocketContext.GroupTasks.forEach((groupTask) => {
|
webSocketContext.GroupTasks.forEach((groupTask) => {
|
||||||
|
@ -95,8 +91,6 @@ export default function GroupTasksViewModal({ isOpen }) {
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleTaskFailedTryAgainRunTaskStep = (taskStepId, step) => {
|
const handleTaskFailedTryAgainRunTaskStep = (taskStepId, step) => {
|
||||||
console.log("handleTaskFailedTryAgainRunTaskStep ", taskStepId);
|
|
||||||
|
|
||||||
webSocketContext.SendSocketMessage(
|
webSocketContext.SendSocketMessage(
|
||||||
SentMessagesCommands.TaskFailedTryAgainRunTaskStep,
|
SentMessagesCommands.TaskFailedTryAgainRunTaskStep,
|
||||||
{
|
{
|
||||||
|
@ -121,9 +115,6 @@ export default function GroupTasksViewModal({ isOpen }) {
|
||||||
|
|
||||||
groupTaskSteps.sort((a, b) => a.Step - b.Step);
|
groupTaskSteps.sort((a, b) => a.Step - b.Step);
|
||||||
|
|
||||||
console.log("currentGroupTask", currentGroupTask);
|
|
||||||
console.log("groupTaskSteps", groupTaskSteps);
|
|
||||||
|
|
||||||
webSocketContext.CategoryGroups.forEach((categoryGroup) => {
|
webSocketContext.CategoryGroups.forEach((categoryGroup) => {
|
||||||
if (categoryGroup.category === currentGroupTask.Category) {
|
if (categoryGroup.category === currentGroupTask.Category) {
|
||||||
categoryGroup.groups.forEach((group) => {
|
categoryGroup.groups.forEach((group) => {
|
||||||
|
@ -136,11 +127,7 @@ export default function GroupTasksViewModal({ isOpen }) {
|
||||||
|
|
||||||
let stepItems = [];
|
let stepItems = [];
|
||||||
|
|
||||||
console.log("groupTasks", groupTasks);
|
|
||||||
|
|
||||||
groupTasks.forEach((groupTask, index) => {
|
groupTasks.forEach((groupTask, index) => {
|
||||||
console.log("groupTask123", groupTask, groupTaskSteps[index]);
|
|
||||||
|
|
||||||
stepItems.push({
|
stepItems.push({
|
||||||
key: index,
|
key: index,
|
||||||
title: groupTask.name,
|
title: groupTask.name,
|
||||||
|
@ -207,12 +194,10 @@ export default function GroupTasksViewModal({ isOpen }) {
|
||||||
>
|
>
|
||||||
{webSocketContext.GroupTasks.map((groupTask) => {
|
{webSocketContext.GroupTasks.map((groupTask) => {
|
||||||
if (groupTask.Id === groupTaskId) {
|
if (groupTask.Id === groupTaskId) {
|
||||||
console.log("groupTask", groupTask);
|
|
||||||
|
|
||||||
let currentGroupTask = groupTask;
|
let currentGroupTask = groupTask;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<div key={groupTaskId}>
|
||||||
<h1 style={{ color: "#e67e22", fontWeight: "bold" }}>
|
<h1 style={{ color: "#e67e22", fontWeight: "bold" }}>
|
||||||
{currentGroupTask.GroupName}
|
{currentGroupTask.GroupName}
|
||||||
</h1>
|
</h1>
|
||||||
|
@ -226,7 +211,7 @@ export default function GroupTasksViewModal({ isOpen }) {
|
||||||
{FormatDatetime(currentGroupTask.StartedAt)}
|
{FormatDatetime(currentGroupTask.StartedAt)}
|
||||||
</p>
|
</p>
|
||||||
<Steps direction="vertical" items={stepsItemHandler()} />
|
<Steps direction="vertical" items={stepsItemHandler()} />
|
||||||
</>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
return "";
|
return "";
|
||||||
|
|
|
@ -155,13 +155,7 @@ export default function GroupTypeSelectionModal({
|
||||||
|
|
||||||
const rememberId = window.crypto.randomUUID();
|
const rememberId = window.crypto.randomUUID();
|
||||||
|
|
||||||
localStorage.setItem("rememberId", rememberId);
|
webSocketContext.StartGroupTasksOpenModalRememberIdRef.current = rememberId;
|
||||||
|
|
||||||
console.log(
|
|
||||||
"starting task",
|
|
||||||
currentSelectedModalGroupType,
|
|
||||||
webSocketContext.groupTypeSelectionModalRememberId
|
|
||||||
);
|
|
||||||
|
|
||||||
webSocketContext.SendSocketMessage(SentMessagesCommands.StartGroupTasks, {
|
webSocketContext.SendSocketMessage(SentMessagesCommands.StartGroupTasks, {
|
||||||
category: categoryGroup.category,
|
category: categoryGroup.category,
|
||||||
|
|
|
@ -95,6 +95,7 @@ export function WebSocketProvider({ children, userSession, setUserSession }) {
|
||||||
const [groupTasks, setGroupTasks] = useState([]);
|
const [groupTasks, setGroupTasks] = useState([]);
|
||||||
const [groupTasksSteps, setGroupTasksSteps] = useState([]);
|
const [groupTasksSteps, setGroupTasksSteps] = useState([]);
|
||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
|
const StartGroupTasksOpenModalRememberIdRef = useRef(null);
|
||||||
|
|
||||||
let socket = null;
|
let socket = null;
|
||||||
const ws = useRef(null);
|
const ws = useRef(null);
|
||||||
|
@ -131,9 +132,10 @@ export function WebSocketProvider({ children, userSession, setUserSession }) {
|
||||||
case ReceivedMessagesCommands.NewGroupTaskStarted:
|
case ReceivedMessagesCommands.NewGroupTaskStarted:
|
||||||
setGroupTasks((arr) => [...arr, body]);
|
setGroupTasks((arr) => [...arr, body]);
|
||||||
|
|
||||||
if (body.RememberId === localStorage.getItem("rememberId")) {
|
if (
|
||||||
|
body.RememberId === StartGroupTasksOpenModalRememberIdRef.current
|
||||||
|
) {
|
||||||
navigate(`${Constants.ROUTE_PATHS.GROUP_TASKS}/${body.Id}`);
|
navigate(`${Constants.ROUTE_PATHS.GROUP_TASKS}/${body.Id}`);
|
||||||
localStorage.removeItem("rememberId");
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ReceivedMessagesCommands.NewGroupTaskStep:
|
case ReceivedMessagesCommands.NewGroupTaskStep:
|
||||||
|
@ -208,6 +210,8 @@ export function WebSocketProvider({ children, userSession, setUserSession }) {
|
||||||
SendSocketMessage: SendSocketMessage,
|
SendSocketMessage: SendSocketMessage,
|
||||||
GroupTasksSteps: groupTasksSteps,
|
GroupTasksSteps: groupTasksSteps,
|
||||||
setGroupTasksSteps: setGroupTasksSteps,
|
setGroupTasksSteps: setGroupTasksSteps,
|
||||||
|
StartGroupTasksOpenModalRememberIdRef:
|
||||||
|
StartGroupTasksOpenModalRememberIdRef,
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
{children}
|
{children}
|
||||||
|
|
Loading…
Reference in New Issue