fixed event is registered multiple times
parent
d8895914cc
commit
f045c1b328
|
@ -288,18 +288,19 @@ export function SideMenuContent({
|
||||||
|
|
||||||
subscribeTopicMessage();
|
subscribeTopicMessage();
|
||||||
|
|
||||||
document.addEventListener(wsConnectionCustomEventName, () =>
|
const handleSubscribeTopicMessage = () => subscribeTopicMessage();
|
||||||
subscribeTopicMessage()
|
|
||||||
|
document.addEventListener(
|
||||||
|
wsConnectionCustomEventName,
|
||||||
|
handleSubscribeTopicMessage
|
||||||
);
|
);
|
||||||
|
|
||||||
// auto close sideMenu on mobile
|
// auto close sideMenu on mobile
|
||||||
// this will prevent to auto close sideMenu on first render as the useEffects will be called after the first render
|
// this will prevent to auto close sideMenu on first render as the useEffects will be called after the first render
|
||||||
if (contentFirstRender.current) {
|
if (contentFirstRender.current) {
|
||||||
contentFirstRender.current = false;
|
contentFirstRender.current = false;
|
||||||
return;
|
//return;
|
||||||
}
|
} else if (
|
||||||
|
|
||||||
if (
|
|
||||||
/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(
|
/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(
|
||||||
navigator.userAgent
|
navigator.userAgent
|
||||||
) ||
|
) ||
|
||||||
|
@ -307,6 +308,12 @@ export function SideMenuContent({
|
||||||
) {
|
) {
|
||||||
setIsSideMenuCollapsed(true);
|
setIsSideMenuCollapsed(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return () =>
|
||||||
|
document.removeEventListener(
|
||||||
|
wsConnectionCustomEventName,
|
||||||
|
handleSubscribeTopicMessage
|
||||||
|
);
|
||||||
}, [location.pathname]);
|
}, [location.pathname]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|
|
@ -22,6 +22,7 @@ const WebSocketContext = createContext(null);
|
||||||
export const useWebSocketContext = () => useContext(WebSocketContext);
|
export const useWebSocketContext = () => useContext(WebSocketContext);
|
||||||
|
|
||||||
let wsConnectionEvent = null;
|
let wsConnectionEvent = null;
|
||||||
|
let firstConnection = true;
|
||||||
|
|
||||||
export default function WebSocketProvider({
|
export default function WebSocketProvider({
|
||||||
children,
|
children,
|
||||||
|
@ -56,11 +57,14 @@ export default function WebSocketProvider({
|
||||||
);
|
);
|
||||||
|
|
||||||
ws.current.onopen = () => {
|
ws.current.onopen = () => {
|
||||||
console.log("connected");
|
|
||||||
sideBarContext.setConnectionBadgeStatus("success");
|
sideBarContext.setConnectionBadgeStatus("success");
|
||||||
setIsWebSocketReady(true);
|
setIsWebSocketReady(true);
|
||||||
|
|
||||||
|
if (firstConnection) {
|
||||||
|
firstConnection = false;
|
||||||
|
} else {
|
||||||
document.dispatchEvent(wsConnectionEvent);
|
document.dispatchEvent(wsConnectionEvent);
|
||||||
|
}
|
||||||
|
|
||||||
myFetch("/user/", "GET").then((data) => {
|
myFetch("/user/", "GET").then((data) => {
|
||||||
appContext.userId.current = data.UserId;
|
appContext.userId.current = data.UserId;
|
||||||
|
|
|
@ -153,7 +153,15 @@ function LogManagerServersTable({ t, webSocketContext, appContext }) {
|
||||||
|
|
||||||
lmscRequest();
|
lmscRequest();
|
||||||
|
|
||||||
document.addEventListener(wsConnectionCustomEventName, () => lmscRequest());
|
const handleLmscRequest = () => lmscRequest();
|
||||||
|
|
||||||
|
document.addEventListener(wsConnectionCustomEventName, handleLmscRequest);
|
||||||
|
|
||||||
|
return () =>
|
||||||
|
document.removeEventListener(
|
||||||
|
wsConnectionCustomEventName,
|
||||||
|
handleLmscRequest
|
||||||
|
);
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|
|
@ -132,8 +132,14 @@ export default function AdminAreaRoles() {
|
||||||
|
|
||||||
rolesRequest();
|
rolesRequest();
|
||||||
|
|
||||||
document.addEventListener(wsConnectionCustomEventName, () =>
|
const handleRolesRequest = () => rolesRequest();
|
||||||
rolesRequest()
|
|
||||||
|
document.addEventListener(wsConnectionCustomEventName, handleRolesRequest);
|
||||||
|
|
||||||
|
return () =>
|
||||||
|
document.removeEventListener(
|
||||||
|
wsConnectionCustomEventName,
|
||||||
|
handleRolesRequest
|
||||||
);
|
);
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
|
|
|
@ -341,8 +341,14 @@ export default function AllUsers() {
|
||||||
|
|
||||||
usersRequest();
|
usersRequest();
|
||||||
|
|
||||||
document.addEventListener(wsConnectionCustomEventName, () =>
|
const handleUsersRequest = () => usersRequest();
|
||||||
usersRequest()
|
|
||||||
|
document.addEventListener(wsConnectionCustomEventName, handleUsersRequest);
|
||||||
|
|
||||||
|
return () =>
|
||||||
|
document.removeEventListener(
|
||||||
|
wsConnectionCustomEventName,
|
||||||
|
handleUsersRequest
|
||||||
);
|
);
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
|
|
|
@ -18,13 +18,23 @@ export default function Consoles() {
|
||||||
const lmscRequest = () =>
|
const lmscRequest = () =>
|
||||||
myFetch("/lmsc", "GET").then((data) => {
|
myFetch("/lmsc", "GET").then((data) => {
|
||||||
consolesContext.setConnectedLogManagerServers(data);
|
consolesContext.setConnectedLogManagerServers(data);
|
||||||
|
|
||||||
setSelectedLogServer(data.length > 0 ? data[0].Address : "");
|
setSelectedLogServer(data.length > 0 ? data[0].Address : "");
|
||||||
});
|
});
|
||||||
|
|
||||||
lmscRequest();
|
lmscRequest();
|
||||||
|
|
||||||
document.addEventListener(wsConnectionCustomEventName, () => lmscRequest());
|
const handleWsConnectionEvent = () => lmscRequest();
|
||||||
|
|
||||||
|
document.addEventListener(
|
||||||
|
wsConnectionCustomEventName,
|
||||||
|
handleWsConnectionEvent
|
||||||
|
);
|
||||||
|
|
||||||
|
return () =>
|
||||||
|
document.removeEventListener(
|
||||||
|
wsConnectionCustomEventName,
|
||||||
|
handleWsConnectionEvent
|
||||||
|
);
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
|
|
@ -21,6 +21,7 @@ import {
|
||||||
GetDuration,
|
GetDuration,
|
||||||
hasXYPermission,
|
hasXYPermission,
|
||||||
myFetch,
|
myFetch,
|
||||||
|
wsConnectionCustomEventName,
|
||||||
} from "../../../utils";
|
} from "../../../utils";
|
||||||
import {
|
import {
|
||||||
CheckOutlined,
|
CheckOutlined,
|
||||||
|
@ -63,6 +64,7 @@ export default function GroupTasksViewModal({ isOpen }) {
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (!isOpen) return;
|
if (!isOpen) return;
|
||||||
|
|
||||||
|
const stepsRequest = () =>
|
||||||
myFetch(
|
myFetch(
|
||||||
`/grouptasks/${paramCategory}/steps/${paramGroupTaskId}`,
|
`/grouptasks/${paramCategory}/steps/${paramGroupTaskId}`,
|
||||||
"GET"
|
"GET"
|
||||||
|
@ -84,6 +86,21 @@ export default function GroupTasksViewModal({ isOpen }) {
|
||||||
groupTasksContext.setSelectInputs(inputs);
|
groupTasksContext.setSelectInputs(inputs);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
stepsRequest();
|
||||||
|
|
||||||
|
const handleWsConnectionEvent = () => stepsRequest();
|
||||||
|
|
||||||
|
document.addEventListener(
|
||||||
|
wsConnectionCustomEventName,
|
||||||
|
handleWsConnectionEvent
|
||||||
|
);
|
||||||
|
|
||||||
|
return () =>
|
||||||
|
document.removeEventListener(
|
||||||
|
wsConnectionCustomEventName,
|
||||||
|
handleWsConnectionEvent
|
||||||
|
);
|
||||||
}, [isOpen, paramCategory]);
|
}, [isOpen, paramCategory]);
|
||||||
|
|
||||||
if (!isOpen) return <></>;
|
if (!isOpen) return <></>;
|
||||||
|
|
|
@ -95,8 +95,17 @@ export default function GroupTasks({ isGroupTasksViewModalOpen }) {
|
||||||
|
|
||||||
groupTasksRequest();
|
groupTasksRequest();
|
||||||
|
|
||||||
document.addEventListener(wsConnectionCustomEventName, () =>
|
const handleGroupTasksRequest = () => groupTasksRequest();
|
||||||
groupTasksRequest()
|
|
||||||
|
document.addEventListener(
|
||||||
|
wsConnectionCustomEventName,
|
||||||
|
handleGroupTasksRequest
|
||||||
|
);
|
||||||
|
|
||||||
|
return () =>
|
||||||
|
document.removeEventListener(
|
||||||
|
wsConnectionCustomEventName,
|
||||||
|
handleGroupTasksRequest
|
||||||
);
|
);
|
||||||
}, [groupTasksContext.paginationPage]);
|
}, [groupTasksContext.paginationPage]);
|
||||||
|
|
||||||
|
|
|
@ -519,7 +519,18 @@ export default function Robots() {
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
initRequest();
|
initRequest();
|
||||||
|
|
||||||
document.addEventListener(wsConnectionCustomEventName, () => initRequest());
|
const handleInitRequest = () => initRequest();
|
||||||
|
|
||||||
|
document.addEventListener(
|
||||||
|
wsConnectionCustomEventName,
|
||||||
|
() => handleInitRequest
|
||||||
|
);
|
||||||
|
|
||||||
|
return () =>
|
||||||
|
document.removeEventListener(
|
||||||
|
wsConnectionCustomEventName,
|
||||||
|
() => handleInitRequest
|
||||||
|
);
|
||||||
}, [robotsPaginationPage]);
|
}, [robotsPaginationPage]);
|
||||||
|
|
||||||
const initRequest2 = () => fetchRobots(1, unauthorizedRobotsPaginationPage);
|
const initRequest2 = () => fetchRobots(1, unauthorizedRobotsPaginationPage);
|
||||||
|
@ -527,8 +538,14 @@ export default function Robots() {
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
initRequest2();
|
initRequest2();
|
||||||
|
|
||||||
document.addEventListener(wsConnectionCustomEventName, () =>
|
const handleInitRequest2 = () => initRequest2();
|
||||||
initRequest2()
|
|
||||||
|
document.addEventListener(wsConnectionCustomEventName, handleInitRequest2);
|
||||||
|
|
||||||
|
return () =>
|
||||||
|
document.removeEventListener(
|
||||||
|
wsConnectionCustomEventName,
|
||||||
|
handleInitRequest2
|
||||||
);
|
);
|
||||||
}, [unauthorizedRobotsPaginationPage]);
|
}, [unauthorizedRobotsPaginationPage]);
|
||||||
|
|
||||||
|
|
|
@ -462,8 +462,17 @@ export default function UserProfile({ userSession, setUserSession }) {
|
||||||
|
|
||||||
userProfileRequest();
|
userProfileRequest();
|
||||||
|
|
||||||
document.addEventListener(wsConnectionCustomEventName, () =>
|
const handleUserProfileRequest = () => userProfileRequest();
|
||||||
userProfileRequest()
|
|
||||||
|
document.addEventListener(
|
||||||
|
wsConnectionCustomEventName,
|
||||||
|
handleUserProfileRequest
|
||||||
|
);
|
||||||
|
|
||||||
|
return () =>
|
||||||
|
document.removeEventListener(
|
||||||
|
wsConnectionCustomEventName,
|
||||||
|
handleUserProfileRequest
|
||||||
);
|
);
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue