Changeset View
Changeset View
Standalone View
Standalone View
web/chat/edit-text-message.react.js
Show First 20 Lines • Show All 81 Lines • ▼ Show 20 Lines | const updateDimensions = useCallback(() => { | ||||
updatePosition({ | updatePosition({ | ||||
left, | left, | ||||
top, | top, | ||||
width, | width, | ||||
height, | height, | ||||
}); | }); | ||||
}, [background, updatePosition]); | }, [background, updatePosition]); | ||||
const preventCloseTab = React.useCallback( | |||||
event => { | |||||
if (!isMessageEdited) { | |||||
return null; | |||||
} | |||||
event.preventDefault(); | |||||
return (event.returnValue = ''); | |||||
}, | |||||
[isMessageEdited], | |||||
); | |||||
React.useEffect(() => { | React.useEffect(() => { | ||||
if (!background) { | if (!background) { | ||||
return undefined; | return undefined; | ||||
} | } | ||||
window.addEventListener('resize', updateDimensions); | window.addEventListener('resize', updateDimensions); | ||||
window.addEventListener('beforeunload', preventCloseTab); | |||||
return () => { | return () => { | ||||
window.removeEventListener('resize', updateDimensions); | window.removeEventListener('resize', updateDimensions); | ||||
window.removeEventListener('beforeunload', preventCloseTab); | |||||
}; | }; | ||||
}, [background, updateDimensions]); | }, [background, preventCloseTab, updateDimensions]); | ||||
React.useEffect(() => { | React.useEffect(() => { | ||||
updateDimensions(); | updateDimensions(); | ||||
// eslint-disable-next-line react-hooks/exhaustive-deps | // eslint-disable-next-line react-hooks/exhaustive-deps | ||||
}, []); | }, []); | ||||
let editFailed; | let editFailed; | ||||
if (editState?.isError) { | if (editState?.isError) { | ||||
▲ Show 20 Lines • Show All 65 Lines • Show Last 20 Lines |