{"version":3,"file":"static/js/main-77c967f7.c17ed671.js","mappings":"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","sources":["Components/Node/ColumnNode.js","Components/Node/Comment.js"],"sourcesContent":["import React, { memo } from 'react'\r\nimport { Handle, Position, NodeResizeControl } from 'reactflow';\r\nimport HeightIcon from '@mui/icons-material/Height';\r\nimport { useDispatch } from 'react-redux';\r\nimport { columnNodeChange, columnNodeKeyUp } from '../../Redux/archBoardSlice';\r\n\r\nconst controlStyle = {\r\n background: 'transparent',\r\n border: 'none',\r\n};\r\n\r\nconst ColumnNode = (node) => {\r\n\r\n const dispatch = useDispatch();\r\n\r\n return (\r\n <>\r\n {node.selected && \r\n \r\n }\r\n \r\n
\r\n
\r\n dispatch(columnNodeChange({ id: node.id, value: e?.target?.value, name: \"title\" }))}\r\n placeholder='Title'\r\n style={{\r\n border: '1px solid black',\r\n width: '100%',\r\n }}\r\n />\r\n
\r\n dispatch(columnNodeKeyUp({ id: node.id, value: e?.target?.value, keyCode: e?.keyCode, name: \"body\" }))}\r\n onChange={(e) => dispatch(columnNodeChange({ id: node.id, value: e?.target?.value, name: \"body\" }))}\r\n >\r\n \r\n
\r\n\r\n \r\n \r\n )\r\n}\r\n\r\nexport default memo(ColumnNode, (prevProps, nextProps) => {\r\n return (\r\n prevProps.data.globalDragging && nextProps.data.globalDragging\r\n );\r\n });\r\n\r\n","import React, {\r\n forwardRef,\r\n memo,\r\n useEffect,\r\n useImperativeHandle,\r\n useRef,\r\n useState,\r\n} from \"react\";\r\nimport { useReactFlow } from \"reactflow\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport EmojiPicker from \"emoji-picker-react\";\r\nimport { setCommentNode, setCommentNodeId } from \"../../Redux/archBoardSlice\";\r\nimport {\r\n Avatar,\r\n Box,\r\n CircularProgress,\r\n IconButton,\r\n List,\r\n ListItem,\r\n ListItemAvatar,\r\n ListItemText,\r\n Popover,\r\n Stack,\r\n Typography,\r\n} from \"@mui/material\";\r\nimport {\r\n addPresentationShowData,\r\n commentSidebar,\r\n createNewComment,\r\n} from \"../../Redux/sidebarSlice\";\r\nimport \"../DrawBoard/DnDFlow.scss\";\r\nimport {\r\n IcAddMention,\r\n IcAddReaction,\r\n IcCheckCircleFill,\r\n IcClose,\r\n IcLeftSingleArrow,\r\n IcMenuDotsHorizontal,\r\n IcRightSingleArrowBoard,\r\n IcSendIcon,\r\n IcSmileEmojiOutlined,\r\n} from \"../../assets/icon-components\";\r\nimport { getId, updateJson } from \"../../CommanFunctions/commanFunctions\";\r\nimport commanService from \"../../CommanFunctions/commanService\";\r\nimport { useLocation, useParams } from \"react-router-dom\";\r\nimport { debounce } from \"lodash\";\r\nimport { EditorContent, ReactRenderer, useEditor } from \"@tiptap/react\";\r\nimport { tipTapExtensions } from \"../DrawBoard/tip-tap-editor\";\r\nimport Mention from \"@tiptap/extension-mention\";\r\nimport tippy from \"tippy.js\";\r\nimport { CustomNameTooltip } from \"../DrawBoard/top-toolbar/components/CustomTooltip\";\r\nimport { useUndoRedo } from \"../DrawBoard/dndUndoRedo/UndoRedoProvider\";\r\nimport { color } from \"../../Utils/style/color/color\";\r\nimport \"../index.css\";\r\n\r\nexport const MentionList = forwardRef((props, ref) => {\r\n const [selectedIndex, setSelectedIndex] = useState(0);\r\n\r\n const selectItem = (index) => {\r\n const item = props.items[index];\r\n\r\n if (item) {\r\n props.command({\r\n id: item.user_id,\r\n label: item.first_name.replace(/ /g, \"_\"),\r\n });\r\n }\r\n };\r\n\r\n const upHandler = () => {\r\n setSelectedIndex(\r\n (selectedIndex + props.items.length - 1) % props.items.length\r\n );\r\n };\r\n\r\n const downHandler = () => {\r\n setSelectedIndex((selectedIndex + 1) % props.items.length);\r\n };\r\n\r\n const enterHandler = () => {\r\n selectItem(selectedIndex);\r\n };\r\n\r\n useEffect(() => setSelectedIndex(0), [props?.items]);\r\n\r\n useImperativeHandle(ref, () => ({\r\n onKeyDown: ({ event }) => {\r\n if (event.key === \"ArrowUp\") {\r\n upHandler();\r\n return true;\r\n }\r\n\r\n if (event.key === \"ArrowDown\") {\r\n downHandler();\r\n return true;\r\n }\r\n\r\n if (event.key === \"Enter\") {\r\n enterHandler();\r\n return true;\r\n }\r\n\r\n return false;\r\n },\r\n }));\r\n return (\r\n \r\n \r\n {props?.items?.map((user, index) => (\r\n {\r\n selectItem(index);\r\n }}\r\n button\r\n sx={{\r\n padding: \"0px\",\r\n gap: \"10px\",\r\n // margin: \"5px 20px\",\r\n width: \"100%\",\r\n borderRadius: \"8px\",\r\n // paddingLeft: \"5px\",\r\n // backgroundColor:\r\n // selectedIndex === index ? \"#F5F5F5\" : \"transparent\",\r\n \"&:hover\": {\r\n backgroundColor: \"#F5F5F5\",\r\n paddingLeft: \"5px\",\r\n },\r\n }}\r\n >\r\n \r\n {user.profile_picture ? (\r\n \r\n ) : (\r\n \r\n {user?.first_name[0]?.toUpperCase()}\r\n \r\n )}\r\n \r\n \r\n {`${user.first_name} ${user?.last_name}`}\r\n \r\n }\r\n secondary={\r\n \r\n {`${user.email_id}`}\r\n \r\n }\r\n />\r\n \r\n ))}\r\n \r\n \r\n );\r\n});\r\n\r\nconst Comment = (node) => {\r\n const dispatch = useDispatch();\r\n\r\n const params = useParams();\r\n const location = useLocation();\r\n\r\n const { id } = params;\r\n\r\n const { getNodes, setNodes, setCenter } = useReactFlow();\r\n const { undo, takeSnapshot } = useUndoRedo();\r\n const getData = getNodes();\r\n const textFieldRef = useRef(null);\r\n\r\n const [reply, setReply] = useState(\"\");\r\n const [loading, setLoading] = useState(false);\r\n const [click, setClick] = useState(false);\r\n const { copyAsImage } = useSelector((state) => state?.mindMapStore);\r\n\r\n useEffect(() => {\r\n if (loading) {\r\n setTimeout(() => {\r\n setLoading(false);\r\n }, 500);\r\n }\r\n }, [loading]);\r\n\r\n const user_data = localStorage.getItem(\"user_data\");\r\n\r\n const [data, setData] = useState([]);\r\n const [index1, setIndex] = useState({\r\n i: null,\r\n data: null,\r\n });\r\n const [onReplyEdit, setOnReplyEdit] = useState({\r\n open: false,\r\n data: null,\r\n replyId: null,\r\n });\r\n const [onEdit, setOnEdit] = useState({\r\n open: false,\r\n data: null,\r\n });\r\n const [emojiPopup, setEmojiPopup] = useState(null);\r\n const emojiOpen = Boolean(emojiPopup);\r\n const emojiId = emojiOpen ? \"simple-popover\" : undefined;\r\n\r\n const [anchorE, setAnchorE] = useState(null);\r\n const open = Boolean(anchorE);\r\n const popoverId = open ? \"simple-popover\" : undefined;\r\n\r\n const [anchorE2, setAnchorE2] = useState(null);\r\n const open2 = Boolean(anchorE2);\r\n const popoverId2 = open2 ? \"simple-popover\" : undefined;\r\n\r\n const [anchorE3, setAnchorE3] = useState(null);\r\n const open3 = Boolean(anchorE3);\r\n const popoverId3 = open3 ? \"simple-popover\" : undefined;\r\n\r\n const userData = useSelector((state) => state.common.userData);\r\n const presentation = useSelector(({ sidebar }) => sidebar?.presentationShow);\r\n const presentationShowData = useSelector(\r\n ({ sidebar }) => sidebar?.presentationShowData\r\n );\r\n\r\n function stripHtmlTags(str) {\r\n return str?.replace(/<\\/?[^>]+(>|$)/g, \"\");\r\n }\r\n\r\n function stripHtmlTagsName(str) {\r\n return str\r\n ?.replace(//g, \"\\n\") // Replace
with newline\r\n .replace(/<\\/?[^>]+(>|$)/g, \"\"); // Remove other HTML tags\r\n }\r\n\r\n useEffect(() => {\r\n const fetchData = async () => {\r\n try {\r\n if (userData?.user_id === node?.data?.architectureInfo?.created_by) {\r\n const response = await commanService.getApi(\r\n \"drawboard/v1\",\r\n `architectures/members/${id}`\r\n );\r\n setData(response?.data?.data);\r\n } else {\r\n const search = new URLSearchParams(location.search);\r\n const a_id = search.get(\"a_id\");\r\n const response = await commanService.getApi(\r\n \"drawboard/v1\",\r\n `architectures/members/${id}?account_id=${a_id}`\r\n );\r\n setData(response?.data?.data);\r\n }\r\n } catch (error) {\r\n console.error(\"Error fetching data:\", error);\r\n }\r\n };\r\n fetchData();\r\n }, [id]);\r\n\r\n const debouncedUpdateJson = debounce((nodes, edges) => {\r\n let parsedData = {};\r\n if (user_data) {\r\n parsedData = JSON.parse(user_data);\r\n }\r\n const search = new URLSearchParams(location.search);\r\n const a_id = search.get(\"a_id\");\r\n const isCurrentNodeExist = getNodes()?.find(\r\n (currNode) => currNode?.id === node?.id\r\n );\r\n\r\n if (presentation) {\r\n const filteredCommentNodes = nodes?.filter(\r\n (node) => node.type === \"comment\"\r\n );\r\n\r\n const updatedPresentationShowData = [...presentationShowData];\r\n\r\n filteredCommentNodes?.forEach((commentNode) => {\r\n const existingIndex = updatedPresentationShowData.findIndex(\r\n (existingNode) => {\r\n return JSON.stringify(existingNode) === JSON.stringify(commentNode);\r\n }\r\n );\r\n\r\n if (existingIndex !== -1) {\r\n updatedPresentationShowData[existingIndex] = commentNode;\r\n } else {\r\n updatedPresentationShowData.push(commentNode);\r\n }\r\n });\r\n dispatch(addPresentationShowData(updatedPresentationShowData));\r\n }\r\n if (isCurrentNodeExist) {\r\n updateJson({\r\n json: {\r\n architecture_json: {\r\n nodes: nodes,\r\n edges: edges,\r\n lastUpdatedBy: parsedData?.user_id,\r\n },\r\n },\r\n id,\r\n dispatch,\r\n undo,\r\n takeSnapshot,\r\n a_id,\r\n });\r\n }\r\n }, 1000);\r\n\r\n const handlePopupClick = (event) => {\r\n setAnchorE(event.currentTarget);\r\n };\r\n\r\n const handlePopupClose = () => {\r\n setAnchorE(null);\r\n setAnchorE2(null);\r\n setAnchorE3(null);\r\n setEmojiPopup(null);\r\n };\r\n\r\n const newCommentEditor = useEditor({\r\n extensions: [\r\n ...tipTapExtensions(\"Enter comment here\"),\r\n Mention.configure({\r\n HTMLAttributes: {\r\n class: \"mention\",\r\n contenteditable: true,\r\n },\r\n suggestion: {\r\n char: \"@\",\r\n items: ({ query, editor }) => {\r\n const userData = editor.extensionStorage.mention.userData;\r\n const trimmedQuery = query.trim().toLowerCase();\r\n\r\n if (!trimmedQuery) {\r\n return userData;\r\n }\r\n\r\n return userData.filter((user) => {\r\n const fullName =\r\n `${user.first_name} ${user?.last_name}`.toLowerCase();\r\n return fullName.startsWith(trimmedQuery);\r\n });\r\n },\r\n render: () => {\r\n let component;\r\n let popup;\r\n\r\n return {\r\n onStart: (props) => {\r\n component = new ReactRenderer(MentionList, {\r\n props,\r\n editor: props.editor,\r\n });\r\n\r\n if (!props.clientRect) {\r\n return;\r\n }\r\n\r\n popup = tippy(\"body\", {\r\n getReferenceClientRect: props.clientRect,\r\n appendTo: () => document.body,\r\n content: component.element,\r\n showOnCreate: true,\r\n interactive: true,\r\n trigger: \"manual\",\r\n placement: \"bottom-start\",\r\n });\r\n },\r\n\r\n onUpdate(props) {\r\n component.updateProps(props);\r\n\r\n if (!props.clientRect) {\r\n return;\r\n }\r\n\r\n popup[0]?.setProps({\r\n getReferenceClientRect: props.clientRect,\r\n });\r\n },\r\n\r\n onKeyDown(props) {\r\n if (props.event.key === \"Escape\") {\r\n popup[0]?.hide();\r\n\r\n return true;\r\n }\r\n\r\n return component.ref?.onKeyDown(props);\r\n },\r\n\r\n onExit() {\r\n !popup[0]?.state?.isDestroyed && popup[0]?.destroy();\r\n component.destroy();\r\n },\r\n };\r\n },\r\n },\r\n }),\r\n ],\r\n onCreate: ({ editor }) => {\r\n editor.chain().focus().run();\r\n editor.commands.focus();\r\n },\r\n });\r\n\r\n const EditCommentEditor = useEditor({\r\n extensions: [\r\n ...tipTapExtensions(\"Enter comment here\"),\r\n Mention.configure({\r\n HTMLAttributes: {\r\n class: \"mention\",\r\n contenteditable: true,\r\n },\r\n suggestion: {\r\n char: \"@\",\r\n items: ({ query, editor }) => {\r\n const userData = editor.extensionStorage.mention.userData;\r\n const trimmedQuery = query.trim().toLowerCase();\r\n\r\n if (!trimmedQuery) {\r\n return userData;\r\n }\r\n\r\n return userData.filter((user) => {\r\n const fullName =\r\n `${user.first_name} ${user?.last_name}`.toLowerCase();\r\n return fullName.startsWith(trimmedQuery);\r\n });\r\n },\r\n render: () => {\r\n let component;\r\n let popup;\r\n\r\n return {\r\n onStart: (props) => {\r\n component = new ReactRenderer(MentionList, {\r\n props,\r\n editor: props.editor,\r\n });\r\n\r\n if (!props.clientRect) {\r\n return;\r\n }\r\n\r\n popup = tippy(\"body\", {\r\n getReferenceClientRect: props.clientRect,\r\n appendTo: () => document.body,\r\n content: component.element,\r\n showOnCreate: true,\r\n interactive: true,\r\n trigger: \"manual\",\r\n placement: \"bottom-start\",\r\n });\r\n },\r\n\r\n onUpdate(props) {\r\n component.updateProps(props);\r\n\r\n if (!props.clientRect) {\r\n return;\r\n }\r\n\r\n popup[0]?.setProps({\r\n getReferenceClientRect: props.clientRect,\r\n });\r\n },\r\n\r\n onKeyDown(props) {\r\n if (props.event.key === \"Escape\") {\r\n popup[0]?.hide();\r\n\r\n return true;\r\n }\r\n\r\n return component.ref?.onKeyDown(props);\r\n },\r\n\r\n onExit() {\r\n !popup[0]?.state?.isDestroyed && popup[0]?.destroy();\r\n component.destroy();\r\n },\r\n };\r\n },\r\n },\r\n }),\r\n ],\r\n onCreate: ({ editor }) => {\r\n editor.chain().focus().run();\r\n editor.commands.focus();\r\n },\r\n // content: onEdit?.data?.data?.label,\r\n // onUpdate: ({ editor }) => {\r\n // const updatedHTML = editor.getHTML();\r\n // // debouncedUpdateHTML(updatedHTML);\r\n // const inputText = editor?.getHTML();\r\n // setOnEdit({\r\n // ...onEdit,\r\n // data: {\r\n // ...onEdit.data,\r\n // data: {\r\n // ...onEdit.data.data,\r\n // label: editor?.getHTML(),\r\n // },\r\n // },\r\n // });\r\n // mentionData(inputText);\r\n // },\r\n });\r\n\r\n const EditReplyEditor = useEditor({\r\n extensions: [\r\n ...tipTapExtensions(\"Enter reply here\"),\r\n Mention.configure({\r\n HTMLAttributes: {\r\n class: \"mention\",\r\n contenteditable: true,\r\n },\r\n suggestion: {\r\n char: \"@\",\r\n items: ({ query, editor }) => {\r\n const userData = editor.extensionStorage.mention.userData;\r\n const trimmedQuery = query.trim().toLowerCase();\r\n\r\n if (!trimmedQuery) {\r\n return userData;\r\n }\r\n\r\n return userData.filter((user) => {\r\n const fullName =\r\n `${user.first_name} ${user?.last_name}`.toLowerCase();\r\n return fullName.startsWith(trimmedQuery);\r\n });\r\n },\r\n render: () => {\r\n let component;\r\n let popup;\r\n\r\n return {\r\n onStart: (props) => {\r\n component = new ReactRenderer(MentionList, {\r\n props,\r\n editor: props.editor,\r\n });\r\n\r\n if (!props.clientRect) {\r\n return;\r\n }\r\n\r\n popup = tippy(\"body\", {\r\n getReferenceClientRect: props.clientRect,\r\n appendTo: () => document.body,\r\n content: component.element,\r\n showOnCreate: true,\r\n interactive: true,\r\n trigger: \"manual\",\r\n placement: \"bottom-start\",\r\n });\r\n },\r\n\r\n onUpdate(props) {\r\n component.updateProps(props);\r\n\r\n if (!props.clientRect) {\r\n return;\r\n }\r\n\r\n popup[0]?.setProps({\r\n getReferenceClientRect: props.clientRect,\r\n });\r\n },\r\n\r\n onKeyDown(props) {\r\n if (props.event.key === \"Escape\") {\r\n popup[0]?.hide();\r\n\r\n return true;\r\n }\r\n\r\n return component.ref?.onKeyDown(props);\r\n },\r\n\r\n onExit() {\r\n !popup[0]?.state?.isDestroyed && popup[0]?.destroy();\r\n component.destroy();\r\n },\r\n };\r\n },\r\n },\r\n }),\r\n ],\r\n onCreate: ({ editor }) => {\r\n editor.chain().focus().run();\r\n editor.commands.focus();\r\n },\r\n });\r\n\r\n const replyEditor = useEditor({\r\n extensions: [\r\n ...tipTapExtensions(\"Reply here\"),\r\n Mention.configure({\r\n HTMLAttributes: {\r\n class: \"mention\",\r\n contenteditable: true,\r\n },\r\n suggestion: {\r\n char: \"@\",\r\n items: ({ query, editor }) => {\r\n const userData = editor.extensionStorage.mention.userData;\r\n const trimmedQuery = query.trim().toLowerCase();\r\n\r\n if (!trimmedQuery) {\r\n return userData;\r\n }\r\n\r\n return userData.filter((user) => {\r\n const fullName =\r\n `${user.first_name} ${user?.last_name}`.toLowerCase();\r\n return fullName.startsWith(trimmedQuery);\r\n });\r\n },\r\n render: () => {\r\n let component;\r\n let popup;\r\n\r\n return {\r\n onStart: (props) => {\r\n component = new ReactRenderer(MentionList, {\r\n props,\r\n editor: props.editor,\r\n });\r\n\r\n if (!props.clientRect) {\r\n return;\r\n }\r\n\r\n popup = tippy(\"body\", {\r\n getReferenceClientRect: props.clientRect,\r\n appendTo: () => document.body,\r\n content: component.element,\r\n showOnCreate: true,\r\n interactive: true,\r\n trigger: \"manual\",\r\n placement: \"bottom-start\",\r\n });\r\n },\r\n\r\n onUpdate(props) {\r\n component.updateProps(props);\r\n\r\n if (!props.clientRect) {\r\n return;\r\n }\r\n\r\n popup[0]?.setProps({\r\n getReferenceClientRect: props.clientRect,\r\n });\r\n },\r\n\r\n onKeyDown(props) {\r\n if (props.event.key === \"Escape\") {\r\n popup[0]?.hide();\r\n\r\n return true;\r\n }\r\n\r\n return component.ref?.onKeyDown(props);\r\n },\r\n\r\n onExit() {\r\n !popup[0]?.state?.isDestroyed && popup[0]?.destroy();\r\n component.destroy();\r\n },\r\n };\r\n },\r\n },\r\n }),\r\n ],\r\n onCreate: ({ editor }) => {\r\n editor.chain().focus().run();\r\n editor.commands.focus();\r\n },\r\n });\r\n\r\n useEffect(() => {\r\n if (newCommentEditor) {\r\n const d = { userData: data };\r\n newCommentEditor.storage.mention = d;\r\n newCommentEditor.commands.setContent(\"\");\r\n }\r\n }, [newCommentEditor, data]);\r\n\r\n useEffect(() => {\r\n if (EditCommentEditor) {\r\n const d = { userData: data };\r\n EditCommentEditor.storage.mention = d;\r\n }\r\n }, [EditCommentEditor, data]);\r\n\r\n useEffect(() => {\r\n if (EditReplyEditor) {\r\n const d = { userData: data };\r\n EditReplyEditor.storage.mention = d;\r\n }\r\n }, [EditReplyEditor, data]);\r\n\r\n const editorRef = useRef(null);\r\n\r\n useEffect(() => {\r\n if (replyEditor) {\r\n const d = { userData: data };\r\n replyEditor.storage.mention = d;\r\n }\r\n }, [replyEditor, data]);\r\n\r\n const getComment = useSelector((state) => state.archBoard?.comment?.payload);\r\n\r\n const getCommentData = (getNodes() || [])\r\n ?.filter((item) => item.type === \"comment\")\r\n .map((item) => ({\r\n ...item,\r\n status: item.data?.resolved ? \"resolved\" : \"unresolved\",\r\n }));\r\n\r\n const getCommentId = getCommentData?.find((rc) => rc?.id === node?.id);\r\n\r\n const getCommentIdData = getCommentData?.reduce((acc, count) => {\r\n if (count?.id === getCommentId?.id) {\r\n count?.data?.replyData?.forEach((ele) => {\r\n if (!acc[ele?.createdBy]) {\r\n acc[ele?.createdBy] = {\r\n first_name: ele?.first_name,\r\n last_name: ele?.last_name,\r\n profile_color: ele?.profile_color,\r\n profile_picture: ele?.profile_picture,\r\n user_id: ele?.createdBy,\r\n comment: [],\r\n };\r\n }\r\n acc[ele?.createdBy]?.comment?.push({\r\n name: ele?.comment,\r\n id: ele?.id,\r\n first_name: ele?.first_name,\r\n last_name: ele?.last_name,\r\n profile_color: ele?.profile_color,\r\n profile_picture: ele?.profile_picture,\r\n user_id: ele?.createdBy,\r\n });\r\n });\r\n }\r\n return acc;\r\n }, {});\r\n\r\n const emojiData = getCommentData?.reduce((acc, comment) => {\r\n if (!acc[comment.id]) {\r\n acc[comment.id] = {\r\n emoji: {},\r\n };\r\n }\r\n\r\n comment.data?.emoji?.forEach((e) => {\r\n if (!acc[comment.id].emoji[e.emoji.unified]) {\r\n acc[comment.id].emoji[e.emoji.unified] = {\r\n imageUrl: e.emoji.imageUrl,\r\n emoji: e.emoji.emoji,\r\n unified: e.emoji.unified,\r\n count: 0,\r\n };\r\n }\r\n acc[comment.id].emoji[e.emoji.unified].count++;\r\n });\r\n\r\n return acc;\r\n }, {});\r\n\r\n const emojiReplyData = getCommentId?.data?.replyData?.reduce(\r\n (acc, rComment) => {\r\n if (!acc[rComment.id]) {\r\n acc[rComment.id] = {\r\n rEmoji: {},\r\n };\r\n }\r\n\r\n rComment?.rEmoji?.forEach((e) => {\r\n if (!acc[rComment?.id].rEmoji[e.emoji.unified]) {\r\n acc[rComment?.id].rEmoji[e.emoji.unified] = {\r\n imageUrl: e.emoji.imageUrl,\r\n emoji: e.emoji.emoji,\r\n unified: e.emoji.unified,\r\n count: 0,\r\n };\r\n }\r\n acc[rComment?.id].rEmoji[e.emoji.unified].count++;\r\n });\r\n return acc;\r\n },\r\n {}\r\n );\r\n\r\n const emojiD = emojiData[getCommentId?.id] || { emoji: {} };\r\n const emojiCount = Object?.values(emojiD)[0];\r\n\r\n const handleEditChange = async () => {\r\n const editorContent = EditCommentEditor.getHTML();\r\n const updatedNodes = getNodes().map((n) => {\r\n if (n.id === onEdit?.data) {\r\n return { ...n, data: { ...n.data, label: editorContent } };\r\n }\r\n return n;\r\n });\r\n localStorage.setItem(\r\n \"architectureJson\",\r\n JSON.stringify({\r\n architecture_json: {\r\n nodes: getNodes(),\r\n // lastUpdatedBy: parsedData?.user_id,\r\n lastEvent: ``,\r\n },\r\n })\r\n );\r\n setNodes(updatedNodes);\r\n debouncedUpdateJson(updatedNodes);\r\n const mentions = [];\r\n const jsonContent = EditCommentEditor.getJSON();\r\n\r\n jsonContent.content[0].content.forEach((node) => {\r\n if (node.type === \"mention\") {\r\n mentions.push(node.attrs.id);\r\n }\r\n });\r\n\r\n await commanService.postApi(\"drawboard/v1\", `comment/${id}`, {\r\n comment: stripHtmlTags(editorContent),\r\n mentions: mentions || [],\r\n });\r\n setOnEdit(false);\r\n };\r\n\r\n const handleReplyClick = async () => {\r\n const editorContent = replyEditor.getHTML();\r\n\r\n localStorage.setItem(\r\n \"architectureJson\",\r\n JSON.stringify({\r\n architecture_json: {\r\n nodes: getNodes(),\r\n lastEvent: ``,\r\n },\r\n })\r\n );\r\n let updatedNodes = [];\r\n setNodes(\r\n (prevNodes) =>\r\n (updatedNodes = prevNodes.map((node) =>\r\n node.id === getCommentId?.id\r\n ? {\r\n ...node,\r\n data: {\r\n ...node.data,\r\n resolved: false,\r\n replyData: [\r\n ...node.data.replyData,\r\n {\r\n id: getId(),\r\n comment: editorContent,\r\n createdAt: Date.now(),\r\n createdBy: userData?.user_id,\r\n first_name: userData?.first_name,\r\n last_name: userData?.last_name,\r\n profile_picture: userData?.profile_picture,\r\n profile_color: userData?.profile_color,\r\n commentId: node?.id,\r\n rEmoji: [],\r\n },\r\n ],\r\n replyTimeStamp: Date.now(),\r\n },\r\n }\r\n : node\r\n ))\r\n );\r\n debouncedUpdateJson(updatedNodes);\r\n const mentions = [];\r\n const jsonContent = replyEditor.getJSON();\r\n\r\n jsonContent.content[0].content.forEach((node) => {\r\n if (node.type === \"mention\") {\r\n mentions.push(node.attrs.id);\r\n }\r\n });\r\n\r\n await commanService.postApi(\"drawboard/v1\", `comment/${id}`, {\r\n comment: stripHtmlTags(editorContent),\r\n mentions: mentions || [],\r\n });\r\n replyEditor.commands.setContent(\"\");\r\n };\r\n\r\n const handleEditReplyComment = async (Id) => {\r\n localStorage.setItem(\r\n \"architectureJson\",\r\n JSON.stringify({\r\n architecture_json: {\r\n nodes: getNodes(),\r\n lastEvent: ``,\r\n },\r\n })\r\n );\r\n let updatedNodes = [];\r\n const editorContent = EditReplyEditor.getHTML();\r\n\r\n setNodes(\r\n (prevNodes) =>\r\n (updatedNodes = prevNodes.map((node) =>\r\n node.id === getCommentId.id\r\n ? {\r\n ...node,\r\n data: {\r\n ...node.data,\r\n replyData: node.data.replyData.map((r) =>\r\n r.id === Id ? { ...r, comment: editorContent } : r\r\n ),\r\n },\r\n }\r\n : node\r\n ))\r\n );\r\n debouncedUpdateJson(updatedNodes);\r\n const mentions = [];\r\n const jsonContent = EditReplyEditor.getJSON();\r\n\r\n jsonContent.content[0].content.forEach((node) => {\r\n if (node.type === \"mention\") {\r\n mentions.push(node.attrs.id);\r\n }\r\n });\r\n\r\n await commanService.postApi(\"drawboard/v1\", `comment/${id}`, {\r\n comment: stripHtmlTags(editorContent),\r\n mentions: mentions || [],\r\n });\r\n setOnReplyEdit(false);\r\n };\r\n\r\n const handleDeleteReplyComment = (id) => {\r\n localStorage.setItem(\r\n \"architectureJson\",\r\n JSON.stringify({\r\n architecture_json: {\r\n nodes: getNodes(),\r\n // lastUpdatedBy: parsedData?.user_id,\r\n lastEvent: ``,\r\n },\r\n })\r\n );\r\n let updatedNodes = [];\r\n setNodes(\r\n (prevNodes) =>\r\n (updatedNodes = prevNodes.map((node) =>\r\n node.id === getCommentId.id\r\n ? {\r\n ...node,\r\n data: {\r\n ...node.data,\r\n replyData: node.data.replyData.filter((r) => r.id !== id),\r\n },\r\n }\r\n : node\r\n ))\r\n );\r\n debouncedUpdateJson(updatedNodes);\r\n setOnReplyEdit(false);\r\n handlePopupClose();\r\n };\r\n\r\n const handleResolvedClick = () => {\r\n const updatedNodes = getNodes()?.map((n) => {\r\n if (n.id === node?.id) {\r\n return {\r\n ...n,\r\n data: { ...n.data, resolved: true, showResolved: false },\r\n };\r\n }\r\n return n;\r\n });\r\n localStorage.setItem(\r\n \"architectureJson\",\r\n JSON.stringify({\r\n architecture_json: {\r\n nodes: getNodes(),\r\n // lastUpdatedBy: parsedData?.user_id,\r\n lastEvent: ``,\r\n },\r\n })\r\n );\r\n setNodes(updatedNodes);\r\n debouncedUpdateJson(updatedNodes);\r\n };\r\n\r\n const handleReopenComment = () => {\r\n const updatedNodes = getNodes()?.map((n) => {\r\n if (n.id === node?.id) {\r\n return { ...n, data: { ...n.data, resolved: false } };\r\n }\r\n return n;\r\n });\r\n localStorage.setItem(\r\n \"architectureJson\",\r\n JSON.stringify({\r\n architecture_json: {\r\n nodes: getNodes(),\r\n // lastUpdatedBy: parsedData?.user_id,\r\n lastEvent: ``,\r\n },\r\n })\r\n );\r\n setNodes(updatedNodes);\r\n debouncedUpdateJson(updatedNodes);\r\n };\r\n\r\n const handleReadClick = () => {\r\n const updatedNodes = getNodes()?.map((n) => {\r\n if (n.id === getCommentId?.id) {\r\n return { ...n, data: { ...n.data, read: true } };\r\n }\r\n return n;\r\n });\r\n localStorage.setItem(\r\n \"architectureJson\",\r\n JSON.stringify({\r\n architecture_json: {\r\n nodes: getNodes(),\r\n // lastUpdatedBy: parsedData?.user_id,\r\n lastEvent: ``,\r\n },\r\n })\r\n );\r\n setNodes(updatedNodes);\r\n debouncedUpdateJson(updatedNodes);\r\n };\r\n\r\n const handleUnreadClick = () => {\r\n const updatedNodes = getNodes()?.map((n) => {\r\n if (n.id === getCommentId?.id) {\r\n return { ...n, data: { ...n.data, read: false } };\r\n }\r\n return n;\r\n });\r\n localStorage.setItem(\r\n \"architectureJson\",\r\n JSON.stringify({\r\n architecture_json: {\r\n nodes: getNodes(),\r\n // lastUpdatedBy: parsedData?.user_id,\r\n lastEvent: ``,\r\n },\r\n })\r\n );\r\n setNodes(updatedNodes);\r\n debouncedUpdateJson(updatedNodes);\r\n };\r\n\r\n const handleDeleteComment = (cId) => {\r\n if (userData?.user_id === node?.data?.user_id) {\r\n localStorage.setItem(\r\n \"architectureJson\",\r\n JSON.stringify({\r\n architecture_json: {\r\n nodes: getNodes(),\r\n // lastUpdatedBy: parsedData?.user_id,\r\n lastEvent: ``,\r\n },\r\n })\r\n );\r\n const updatedNodes = getNodes().filter((n) => n.id !== cId);\r\n setNodes(updatedNodes);\r\n localStorage.setItem(\r\n \"architectureJson\",\r\n JSON.stringify({\r\n architecture_json: {\r\n nodes: updatedNodes,\r\n lastEvent: ``,\r\n },\r\n })\r\n );\r\n let parsedData = {};\r\n const search = new URLSearchParams(location.search);\r\n const a_id = search.get(\"a_id\");\r\n if (user_data) {\r\n parsedData = JSON.parse(user_data);\r\n }\r\n\r\n updateJson({\r\n json: {\r\n architecture_json: {\r\n nodes: updatedNodes,\r\n lastUpdatedBy: parsedData?.user_id,\r\n },\r\n },\r\n id,\r\n dispatch,\r\n undo,\r\n a_id,\r\n should_delete: !updatedNodes || updatedNodes?.length === 0,\r\n isDeleted: true,\r\n takeSnapshot,\r\n });\r\n setOnEdit(false);\r\n\r\n const redux = getCommentData.filter((n) => n.id !== cId);\r\n dispatch(setCommentNode(redux));\r\n }\r\n };\r\n\r\n const handleClick = async () => {\r\n const editorContent = newCommentEditor.getHTML();\r\n const updatedNodes = getNodes().map((n) => {\r\n if (n.id === node?.id) {\r\n return {\r\n ...n,\r\n data: { ...n.data, label: editorContent, new: false, open: true },\r\n };\r\n } else {\r\n return {\r\n ...n,\r\n data: { ...n.data, open: false },\r\n };\r\n }\r\n });\r\n setNodes(updatedNodes);\r\n dispatch(setCommentNodeId(node?.id));\r\n debouncedUpdateJson(updatedNodes);\r\n dispatch(createNewComment(false));\r\n\r\n localStorage.setItem(\r\n \"architectureJson\",\r\n JSON.stringify({\r\n architecture_json: {\r\n nodes: getNodes(),\r\n // lastUpdatedBy: parsedData?.user_id,\r\n lastEvent: ``,\r\n },\r\n })\r\n );\r\n const mentions = [];\r\n const jsonContent = newCommentEditor.getJSON();\r\n\r\n jsonContent.content[0].content.forEach((node) => {\r\n if (node.type === \"mention\") {\r\n mentions.push(node.attrs.id);\r\n }\r\n });\r\n\r\n await commanService.postApi(\"drawboard/v1\", `comment/${id}`, {\r\n comment: stripHtmlTags(editorContent),\r\n mentions: mentions || [],\r\n });\r\n };\r\n\r\n // useEffect(() => {\r\n // dispatch(setCommentNode(getData));\r\n // }, [node]);\r\n\r\n const openPopup = () => {\r\n const updatedNodes = getNodes()?.map((n) => {\r\n if (n.id === node?.id) {\r\n return { ...n, data: { ...n.data, open: true } };\r\n } else {\r\n return { ...n, data: { ...n.data, open: false } };\r\n }\r\n });\r\n localStorage.setItem(\r\n \"architectureJson\",\r\n JSON.stringify({\r\n architecture_json: {\r\n nodes: getNodes(),\r\n // lastUpdatedBy: parsedData?.user_id,\r\n lastEvent: ``,\r\n },\r\n })\r\n );\r\n setNodes(updatedNodes);\r\n dispatch(commentSidebar(true));\r\n replyEditor.commands.focus();\r\n };\r\n\r\n const closePopup = () => {\r\n const updatedNodes = getNodes()?.map((n) => {\r\n if (n.id === node?.id) {\r\n return { ...n, data: { ...n.data, open: false } };\r\n }\r\n return n;\r\n });\r\n localStorage.setItem(\r\n \"architectureJson\",\r\n JSON.stringify({\r\n architecture_json: {\r\n nodes: getNodes(),\r\n lastEvent: ``,\r\n },\r\n })\r\n );\r\n setNodes(updatedNodes);\r\n debouncedUpdateJson(updatedNodes);\r\n setOnEdit({ open: false, data: null });\r\n setOnReplyEdit({ open: false, data: null, replyId: null });\r\n };\r\n\r\n const commentNodes = getNodes().filter((n) => n.key === \"comment\");\r\n const currentIndex = commentNodes.findIndex((n) => n.id === node.id);\r\n const prevNode = commentNodes[currentIndex - 1]?.id;\r\n const nextNode = commentNodes[currentIndex + 1]?.id;\r\n\r\n const handleNavigateNext = () => {\r\n // const commentNodes = getNodes().filter((n) => n.key === \"comment\");\r\n // const currentIndex = commentNodes.findIndex((n) => n.id === node.id);\r\n // const nextNode = commentNodes[currentIndex + 1].id;\r\n const updatedNodes = getNodes().map((prevNodes) => {\r\n if (prevNodes.id === nextNode) {\r\n const { x, y } = prevNodes.positionAbsolute;\r\n setCenter(x, y, { zoom: 1, duration: 800 });\r\n return {\r\n ...prevNodes,\r\n data: {\r\n ...prevNodes.data,\r\n open: true,\r\n },\r\n };\r\n }\r\n return {\r\n ...prevNodes,\r\n data: {\r\n ...prevNodes.data,\r\n open: false,\r\n },\r\n };\r\n });\r\n localStorage.setItem(\r\n \"architectureJson\",\r\n JSON.stringify({\r\n architecture_json: {\r\n nodes: getNodes(),\r\n // lastUpdatedBy: parsedData?.user_id,\r\n lastEvent: ``,\r\n },\r\n })\r\n );\r\n setNodes(updatedNodes);\r\n };\r\n\r\n const handleNavigatePrev = () => {\r\n const updatedNodes = getNodes().map((prevNodes) => {\r\n if (prevNodes.id === prevNode) {\r\n const { x, y } = prevNodes.positionAbsolute;\r\n setCenter(x, y, { zoom: 1, duration: 800 });\r\n return {\r\n ...prevNodes,\r\n data: {\r\n ...prevNodes.data,\r\n open: true,\r\n },\r\n };\r\n }\r\n return {\r\n ...prevNodes,\r\n data: {\r\n ...prevNodes.data,\r\n open: false,\r\n },\r\n };\r\n });\r\n localStorage.setItem(\r\n \"architectureJson\",\r\n JSON.stringify({\r\n architecture_json: {\r\n nodes: getNodes(),\r\n // lastUpdatedBy: parsedData?.user_id,\r\n lastEvent: ``,\r\n },\r\n })\r\n );\r\n setNodes(updatedNodes);\r\n };\r\n\r\n const handleEmojiClick = (e) => {\r\n setEmojiPopup(e.currentTarget);\r\n setLoading(true);\r\n };\r\n\r\n const addEmojiToComment = (commentId, emoji) => {\r\n const addEmoji = getNodes().map((n) => {\r\n if (n.id === commentId) {\r\n const existingEmojiIndex = n.data.emoji.findIndex(\r\n (e) =>\r\n e.emoji.unified === emoji.unified && e.userId === userData?.user_id\r\n );\r\n if (existingEmojiIndex !== -1) {\r\n return {\r\n ...n,\r\n data: {\r\n ...n.data,\r\n emoji: n.data.emoji.filter(\r\n (_, index) => index !== existingEmojiIndex\r\n ),\r\n },\r\n };\r\n }\r\n return {\r\n ...n,\r\n data: {\r\n ...n.data,\r\n emoji: [...n.data.emoji, { emoji, userId: userData?.user_id }],\r\n },\r\n };\r\n }\r\n return n;\r\n });\r\n\r\n localStorage.setItem(\r\n \"architectureJson\",\r\n JSON.stringify({\r\n architecture_json: {\r\n nodes: getNodes(),\r\n // lastUpdatedBy: parsedData?.user_id,\r\n lastEvent: ``,\r\n },\r\n })\r\n );\r\n setNodes(addEmoji);\r\n debouncedUpdateJson(addEmoji);\r\n setEmojiPopup(null);\r\n };\r\n\r\n const addEmojiToEditComment = (commentId, emoji) => {\r\n EditCommentEditor.commands.insertContent(emoji);\r\n const editorContent = EditCommentEditor.getHTML();\r\n\r\n const addEmoji = getNodes().map((n) =>\r\n n.id === commentId\r\n ? {\r\n ...n,\r\n data: { ...n.data, label: editorContent },\r\n }\r\n : n\r\n );\r\n localStorage.setItem(\r\n \"architectureJson\",\r\n JSON.stringify({\r\n architecture_json: {\r\n nodes: getNodes(),\r\n lastEvent: ``,\r\n },\r\n })\r\n );\r\n setNodes(addEmoji);\r\n debouncedUpdateJson(addEmoji);\r\n setEmojiPopup(null);\r\n };\r\n\r\n const addEmojiToReply = (commentId, emoji) => {\r\n const addEmoji = getNodes().map((n) =>\r\n n.id === commentId\r\n ? {\r\n ...n,\r\n data: {\r\n ...n.data,\r\n replyData: n.data.replyData.map((r) =>\r\n r.id === reply\r\n ? {\r\n ...r,\r\n rEmoji: (() => {\r\n const existingEmojiIndex = r.rEmoji.findIndex(\r\n (e) =>\r\n e.emoji.unified === emoji.unified &&\r\n e.userId === userData?.user_id\r\n );\r\n if (existingEmojiIndex !== -1) {\r\n return r.rEmoji.filter(\r\n (_, index) => index !== existingEmojiIndex\r\n );\r\n }\r\n return [\r\n ...r.rEmoji,\r\n { emoji, userId: userData?.user_id },\r\n ];\r\n })(),\r\n }\r\n : r\r\n ),\r\n },\r\n }\r\n : n\r\n );\r\n localStorage.setItem(\r\n \"architectureJson\",\r\n JSON.stringify({\r\n architecture_json: {\r\n nodes: getNodes(),\r\n // lastUpdatedBy: parsedData?.user_id,\r\n lastEvent: ``,\r\n },\r\n })\r\n );\r\n setNodes(addEmoji);\r\n debouncedUpdateJson(addEmoji);\r\n setEmojiPopup(null);\r\n setReply(\"\");\r\n };\r\n\r\n const addEmojiToEditReply = (commentId, emoji) => {\r\n // setOnReplyEdit({\r\n // ...onReplyEdit,\r\n // data: {\r\n // ...onReplyEdit.data,\r\n // name: onReplyEdit?.data?.name + emoji,\r\n // },\r\n // });\r\n // EditReplyEditor.commands.setContent(editorContent + emoji);\r\n EditReplyEditor.commands.insertContent(emoji);\r\n const updatedCommentContent = EditReplyEditor.getHTML();\r\n\r\n const addEmoji = getNodes().map((n) =>\r\n n.id === commentId\r\n ? {\r\n ...n,\r\n data: {\r\n ...n.data,\r\n replyData: n.data.replyData.map((r) =>\r\n r.id === onReplyEdit?.replyId\r\n ? { ...r, comment: updatedCommentContent }\r\n : r\r\n ),\r\n },\r\n }\r\n : n\r\n );\r\n localStorage.setItem(\r\n \"architectureJson\",\r\n JSON.stringify({\r\n architecture_json: {\r\n nodes: getNodes(),\r\n // lastUpdatedBy: parsedData?.user_id,\r\n lastEvent: ``,\r\n },\r\n })\r\n );\r\n setNodes(addEmoji);\r\n debouncedUpdateJson(addEmoji);\r\n setEmojiPopup(null);\r\n };\r\n\r\n const currentTime = Date.now();\r\n const differenceInMs = currentTime - node?.data?.timestamp;\r\n\r\n const differenceInMinutes = Math.floor(differenceInMs / (1000 * 60));\r\n\r\n const differenceInHours = Math.floor(differenceInMinutes / 60);\r\n\r\n const now = new Date();\r\n const pastDate = new Date(node?.data?.timestamp);\r\n\r\n let timeDisplay = \"\";\r\n\r\n if (differenceInHours < 24 && now.getDate() === pastDate.getDate()) {\r\n const formattedTime = pastDate.toLocaleTimeString([], {\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n hour12: false,\r\n });\r\n timeDisplay = `Today, ${formattedTime}`;\r\n } else {\r\n timeDisplay = pastDate.toLocaleString([], {\r\n // weekday: \"short\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n // year: \"numeric\",\r\n month: \"short\",\r\n day: \"numeric\",\r\n hour12: false,\r\n });\r\n }\r\n\r\n const differenceInMsR = currentTime - node?.data?.replyTimeStamp;\r\n\r\n const differenceInMinutesR = Math.floor(differenceInMsR / (1000 * 60));\r\n\r\n const differenceInHoursR = Math.floor(differenceInMinutesR / 60);\r\n\r\n const pastDateR = new Date(node?.data?.replyTimeStamp);\r\n\r\n let timeDisplayR = \"\";\r\n\r\n if (differenceInHoursR < 24 && now.getDate() === pastDateR.getDate()) {\r\n const formattedTime = pastDateR.toLocaleTimeString([], {\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n hour12: false,\r\n });\r\n timeDisplayR = `Today, ${formattedTime}`;\r\n } else {\r\n timeDisplayR = pastDateR.toLocaleString([], {\r\n // weekday: \"short\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n // year: \"numeric\",\r\n month: \"short\",\r\n day: \"numeric\",\r\n hour12: false,\r\n });\r\n }\r\n\r\n if (editorRef.current) {\r\n const childDiv = editorRef.current.querySelectorAll(\"div\");\r\n childDiv.forEach((div) => {\r\n // div.style.overflow = \"hidden\";\r\n // div.style.whiteSpace = \"nowrap\";\r\n div.style.height = \"100%\";\r\n div.style.lineHeight = \"20px\";\r\n });\r\n }\r\n\r\n return (\r\n <>\r\n {(!node?.data?.resolved || node?.data?.showResolved) && !copyAsImage && (\r\n \r\n {node?.data?.new ? (\r\n \r\n ) : node?.data?.profile_picture ? (\r\n \r\n \r\n \"profile_picture\"\r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n {node?.data?.first_name[0]?.toUpperCase()}\r\n {node?.data?.last_name?.[0]\r\n ? node.data.last_name[0].toUpperCase()\r\n : \"\"}\r\n \r\n \r\n\r\n {!getCommentId?.data?.read && (\r\n \r\n )}\r\n \r\n )}\r\n {node?.data?.new && (\r\n \r\n \r\n \r\n {\r\n if (e.shiftKey && e.key === \"Enter\") {\r\n e.preventDefault();\r\n newCommentEditor?.commands?.newline();\r\n } else if (\r\n e.key === \"Enter\" &&\r\n newCommentEditor?.getText().trim()\r\n ) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n handleClick();\r\n }\r\n }}\r\n onDoubleClick={(e) => {\r\n e?.preventDefault();\r\n e?.stopPropagation();\r\n }}\r\n onClick={(e) => {\r\n e?.stopPropagation();\r\n e?.preventDefault();\r\n }}\r\n style={{\r\n minHeight: \"44px\",\r\n width: \"250px\",\r\n padding: \"13px\",\r\n backgroundColor: \"#F7F7F7\",\r\n fontSize: \"14px\",\r\n cursor: \"text\",\r\n borderRadius: \"8px\",\r\n color: \"#282828\",\r\n maxHeight: \"230px\",\r\n overflow: \"auto\",\r\n }}\r\n className=\"nodrag\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {!node?.data?.new && node?.data?.open && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n if (!node?.data?.resolved) {\r\n handleResolvedClick();\r\n } else {\r\n handleReopenComment();\r\n }\r\n }}\r\n >\r\n \r\n \r\n \r\n setAnchorE3(event?.currentTarget)}\r\n >\r\n \r\n \r\n {}\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {node?.data?.profile_picture ? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n {node?.data?.first_name[0]?.toUpperCase()}\r\n {node?.data?.last_name?.[0]\r\n ? node.data.last_name[0].toUpperCase()\r\n : \"\"}\r\n \r\n \r\n )}\r\n \r\n {onEdit?.open ? (\r\n \r\n {\r\n const selection = window.getSelection();\r\n const selectedText = selection.toString();\r\n\r\n if (click) {\r\n EditCommentEditor.chain()\r\n .focus()\r\n .selectAll()\r\n .run();\r\n } else if (\r\n selectedText === EditCommentEditor.getText()\r\n ) {\r\n selection.removeAllRanges();\r\n }\r\n // else if (\r\n // selectedText ||\r\n // !click ||\r\n // !selectedText === EditCommentEditor.getText()\r\n // ) {\r\n // selection.removeAllRanges();\r\n // }\r\n\r\n setClick(false);\r\n }}\r\n onDoubleClick={() => {\r\n const selection = window.getSelection();\r\n if (selection.rangeCount > 0) {\r\n selection.modify(\"move\", \"backward\", \"word\");\r\n selection.modify(\"extend\", \"forward\", \"word\");\r\n }\r\n setClick(true);\r\n }}\r\n >\r\n \r\n \r\n \r\n {\r\n EditCommentEditor.commands.insertContent(\"@\");\r\n EditCommentEditor.getHTML();\r\n // setOnEdit((prevState) => ({\r\n // ...prevState,\r\n // data: {\r\n // ...prevState.data,\r\n // data: {\r\n // ...prevState.data.data,\r\n // label: onEdit.data.data.label + \"@\",\r\n // },\r\n // },\r\n // }));\r\n // setMentionSuggestions(data);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n <>\r\n \r\n \r\n \r\n {/* {node?.data?.first_name +\r\n \" \" +\r\n node?.data?.last_name} */}\r\n {node?.data?.first_name +\r\n \" \" +\r\n (node?.data?.last_name\r\n ? node?.data?.last_name\r\n : \"\")}\r\n \r\n \r\n {differenceInMinutes > 0\r\n ? timeDisplay\r\n : \"just now\"}\r\n \r\n \r\n \r\n {userData?.user_id === node?.data?.user_id && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* {stripHtmlTags(node?.data?.label)\r\n ?.split(\" \")\r\n .map((part, idx) => {\r\n if (part.startsWith(\"@\")) {\r\n return (\r\n \r\n {part + \" \"}\r\n \r\n );\r\n }\r\n return (\r\n \r\n {part.replace(/ /g, \" \") + \" \"}\r\n \r\n );\r\n })} */}\r\n\r\n {stripHtmlTagsName(node?.data?.label)\r\n ?.split(\"\\n\") // Split by line breaks\r\n .map((line, lineIdx) => (\r\n \r\n {line.split(\" \").map((part, idx) => {\r\n if (part.startsWith(\"@\")) {\r\n return (\r\n \r\n {part + \" \"}\r\n \r\n );\r\n }\r\n return (\r\n \r\n {part.replace(/ /g, \" \") + \" \"}\r\n \r\n );\r\n })}\r\n
{/* Add a line break between lines */}\r\n
\r\n ))}\r\n \r\n \r\n {node?.data?.emoji?.length > 0 &&\r\n Object?.values(emojiCount)?.map((emoji, i) => {\r\n return (\r\n \r\n \r\n \r\n {emoji.count}\r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n )}\r\n \r\n \r\n {Object?.values(getCommentIdData)?.map((com, index) => {\r\n return (\r\n \r\n {com?.profile_picture ? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n {com?.first_name?.[0]?.toUpperCase()}\r\n {com?.last_name\r\n ? com?.last_name?.[0]?.toUpperCase()\r\n : \"\"}\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n {com?.first_name} {com?.last_name || \"\"}\r\n \r\n \r\n {differenceInMinutesR > 0\r\n ? timeDisplayR\r\n : \"just now\"}\r\n \r\n \r\n \r\n {com?.comment?.map((item, index) => {\r\n const rEmojiD = emojiReplyData[item?.id] || {\r\n rEmoji: {},\r\n };\r\n const rEmojiCount = Object?.values(rEmojiD)[0];\r\n return (\r\n \r\n {onReplyEdit?.open &&\r\n onReplyEdit?.replyId === item?.id ? (\r\n \r\n {\r\n const selection = window.getSelection();\r\n const selectedText = selection.toString();\r\n if (click) {\r\n EditReplyEditor.chain()\r\n .focus()\r\n .selectAll()\r\n .run();\r\n } else if (\r\n selectedText ===\r\n EditReplyEditor.getText()\r\n ) {\r\n selection.removeAllRanges();\r\n }\r\n setClick(false);\r\n }}\r\n onDoubleClick={() => {\r\n const selection = window.getSelection();\r\n if (selection.rangeCount > 0) {\r\n selection.modify(\r\n \"move\",\r\n \"backward\",\r\n \"word\"\r\n );\r\n selection.modify(\r\n \"extend\",\r\n \"forward\",\r\n \"word\"\r\n );\r\n }\r\n setClick(true);\r\n }}\r\n >\r\n \r\n \r\n \r\n {\r\n EditReplyEditor.commands.insertContent(\r\n \"@\"\r\n );\r\n EditReplyEditor.getHTML();\r\n // setOnReplyEdit((prevState) => ({\r\n // ...prevState,\r\n // data: {\r\n // ...prevState?.data,\r\n // name:\r\n // onReplyEdit?.data?.name +\r\n // \"@\",\r\n // },\r\n // }));\r\n // setMentionSuggestions(data);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n handleEditReplyComment(\r\n onReplyEdit?.replyId\r\n )\r\n }\r\n disabled={\r\n !EditReplyEditor?.getText().trim()\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n <>\r\n \r\n \r\n {/* {stripHtmlTags(item?.name)\r\n ?.split(\" \")\r\n ?.map((part, idx) => {\r\n if (part.startsWith(\"@\")) {\r\n return (\r\n \r\n {part + \" \"}\r\n \r\n );\r\n }\r\n return (\r\n \r\n {part.replace(/ /g, \" \") +\r\n \" \"}\r\n \r\n );\r\n })} */}\r\n\r\n {stripHtmlTagsName(item?.name)\r\n ?.split(\"\\n\") // Split by line breaks\r\n .map((line, lineIdx) => (\r\n \r\n {line\r\n .split(\" \")\r\n .map((part, idx) => {\r\n if (part.startsWith(\"@\")) {\r\n return (\r\n \r\n {part + \" \"}\r\n \r\n );\r\n }\r\n return (\r\n \r\n {part.replace(\r\n / /g,\r\n \" \"\r\n ) + \" \"}\r\n \r\n );\r\n })}\r\n
{\" \"}\r\n {/* Add a line break between lines */}\r\n
\r\n ))}\r\n \r\n \r\n {item?.user_id === userData?.user_id && (\r\n \r\n {\r\n setAnchorE2(event.currentTarget);\r\n setIndex({\r\n i: index,\r\n data: item,\r\n });\r\n }}\r\n >\r\n \r\n \r\n \r\n )}\r\n \r\n {\r\n handleEmojiClick(e);\r\n setReply(item?.id);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n {Object?.values(rEmojiCount)?.map(\r\n (emoji, i) => {\r\n return (\r\n \r\n \r\n \r\n {emoji.count}\r\n \r\n \r\n );\r\n }\r\n )}\r\n \r\n \r\n )}\r\n
\r\n );\r\n })}\r\n \r\n \r\n );\r\n })}\r\n \r\n {userData?.profile_picture ? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n {userData?.first_name[0]?.toUpperCase()}\r\n {userData?.last_name\r\n ? userData?.last_name[0]?.toUpperCase()\r\n : \"\"}\r\n \r\n \r\n )}\r\n \r\n {\r\n const editorText = replyEditor?.getText().trim();\r\n if (e.shiftKey && e.key === \"Enter\") {\r\n // Allow new line\r\n e.preventDefault();\r\n replyEditor?.commands?.newline(); // If using a rich text editor like TipTap\r\n } else if (e.key === \"Enter\") {\r\n if (!editorText) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n } else if (editorText) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n handleReplyClick();\r\n replyEditor.commands.setContent(\"\");\r\n }\r\n }\r\n }}\r\n onDoubleClick={(e) => {\r\n e?.preventDefault();\r\n e?.stopPropagation();\r\n }}\r\n onClick={(e) => {\r\n e?.stopPropagation();\r\n e?.preventDefault();\r\n }}\r\n style={{\r\n minHeight: \"44px\",\r\n width: \"250px\",\r\n padding: \"13px\",\r\n backgroundColor: \"#F7F7F7\",\r\n fontSize: \"14px\",\r\n // paddingTop: \"16px\",\r\n cursor: \"text\",\r\n borderRadius: \"8px\",\r\n color: \"#282828\",\r\n maxHeight: \"230px\",\r\n overflow: \"auto\",\r\n }}\r\n className=\"nodrag\"\r\n />\r\n {\r\n handleReplyClick();\r\n replyEditor.commands.setContent(\"\");\r\n }}\r\n disabled={!replyEditor?.getText().trim()}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n setOnEdit({\r\n open: true,\r\n data: node?.id,\r\n });\r\n EditCommentEditor.commands.setContent(node?.data?.label);\r\n handlePopupClose();\r\n }}\r\n >\r\n \r\n Edit\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n setOnReplyEdit({\r\n open: true,\r\n // data: index1?.data,\r\n replyId: index1?.data?.id,\r\n });\r\n EditReplyEditor.commands.setContent(index1?.data?.name);\r\n handlePopupClose();\r\n setOnEdit(false);\r\n }}\r\n >\r\n \r\n Edit reply\r\n \r\n \r\n handleDeleteReplyComment(index1?.data?.id)}\r\n >\r\n \r\n Delete reply\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n if (!getCommentId?.data?.read) {\r\n handleReadClick();\r\n } else {\r\n handleUnreadClick();\r\n }\r\n handlePopupClose();\r\n }}\r\n >\r\n \r\n {getCommentId?.data?.read\r\n ? \"Mark as unread\"\r\n : \"Mark as read\"}\r\n \r\n \r\n {userData?.user_id === node?.data?.user_id && (\r\n {\r\n handleDeleteComment(node?.id);\r\n }}\r\n >\r\n \r\n Delete comment\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n {loading ? (\r\n \r\n \r\n \r\n ) : (\r\n {\r\n if (onEdit?.open) {\r\n addEmojiToEditComment(getCommentId.id, emoji.emoji);\r\n } else if (reply !== \"\") {\r\n addEmojiToReply(getCommentId.id, emoji);\r\n } else if (onReplyEdit?.open) {\r\n addEmojiToEditReply(getCommentId.id, emoji.emoji);\r\n } else {\r\n addEmojiToComment(getCommentId.id, emoji);\r\n }\r\n }}\r\n style={{\r\n \"& .epr_-quhs3c\": {\r\n fontSize: \"16px !important\",\r\n },\r\n }}\r\n />\r\n )}\r\n \r\n \r\n \r\n )}\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default memo(Comment, (prevProps, nextProps) => {\r\n return prevProps.data.globalDragging && nextProps.data.globalDragging;\r\n});\r\n"],"names":["controlStyle","background","border","ColumnNode","node","_node$data","_node$data2","_node$data3","dispatch","useDispatch","_jsxs","_Fragment","children","selected","_jsx","NodeResizeControl","style","minWidth","minHeight","isVisible","HeightIcon","Handle","type","position","Position","Left","backgroundColor","width","height","className","value","data","title","onChange","e","_e$target","columnNodeChange","id","target","name","placeholder","lable","i","body","onKeyUp","_e$target2","columnNodeKeyUp","keyCode","_e$target3","Right","memo","prevProps","nextProps","globalDragging","MentionList","forwardRef","props","ref","_props$items","selectedIndex","setSelectedIndex","useState","selectItem","index","item","items","command","user_id","label","first_name","replace","useEffect","useImperativeHandle","onKeyDown","_ref","event","key","length","Stack","sx","zIndex","maxHeight","overflowY","boxShadow","borderRadius","padding","List","overflowX","map","user","_user$first_name$","ListItem","onClick","button","gap","paddingLeft","ListItemAvatar","profile_picture","Avatar","src","bgcolor","profile_color","fontSize","toUpperCase","ListItemText","primary","Typography","color","fontWeight","concat","last_name","secondary","email_id","Comment","_ref12","_getCommentId$data","_getCommentId$data$re","_commentNodes","_commentNodes2","_node$data4","_node$data5","_node$data6","_node$data7","_node$data8","_node$data9","_node$data10","_node$data11","_node$data12","_node$data13","_getCommentId$data2","_node$data14","_node$data15","_node$data16","_node$data16$first_na","_node$data17","_node$data17$last_nam","_getCommentId$data3","_node$data18","_node$data19","_node$data20","_node$data21","_node$data23","_node$data24","_node$data25","_node$data26","_node$data27","_node$data28","_node$data29","_node$data30","_node$data30$first_na","_node$data31","_node$data31$last_nam","_node$data32","_node$data33","_node$data34","_node$data35","_stripHtmlTagsName","_node$data36","_node$data37","_node$data37$emoji","_Object$values","_Object$values2","_userData$first_name$","_userData$last_name$","_getCommentId$data5","_node$data39","params","useParams","location","useLocation","getNodes","setNodes","setCenter","useReactFlow","undo","takeSnapshot","useUndoRedo","textFieldRef","useRef","reply","setReply","loading","setLoading","click","setClick","copyAsImage","useSelector","state","mindMapStore","setTimeout","user_data","localStorage","getItem","setData","index1","setIndex","onReplyEdit","setOnReplyEdit","open","replyId","onEdit","setOnEdit","emojiPopup","setEmojiPopup","emojiOpen","Boolean","emojiId","undefined","anchorE","setAnchorE","popoverId","anchorE2","setAnchorE2","open2","popoverId2","anchorE3","setAnchorE3","open3","popoverId3","userData","common","presentation","_ref2","sidebar","presentationShow","presentationShowData","_ref3","stripHtmlTags","str","stripHtmlTagsName","async","_node$data$architectu","architectureInfo","created_by","_response$data","response","commanService","getApi","_response$data2","a_id","URLSearchParams","search","get","error","fetchData","debouncedUpdateJson","debounce","nodes","edges","_getNodes","parsedData","JSON","parse","isCurrentNodeExist","find","currNode","filteredCommentNodes","filter","updatedPresentationShowData","forEach","commentNode","existingIndex","findIndex","existingNode","stringify","push","addPresentationShowData","_parsedData","updateJson","json","architecture_json","lastUpdatedBy","handlePopupClose","newCommentEditor","useEditor","extensions","tipTapExtensions","Mention","configure","HTMLAttributes","class","contenteditable","suggestion","char","_ref4","query","editor","extensionStorage","mention","trimmedQuery","trim","toLowerCase","startsWith","render","component","popup","onStart","ReactRenderer","clientRect","tippy","getReferenceClientRect","appendTo","document","content","element","showOnCreate","interactive","trigger","placement","onUpdate","_popup$","updateProps","setProps","_component$ref","_popup$2","hide","onExit","_popup$3","_popup$3$state","_popup$4","isDestroyed","destroy","onCreate","_ref5","chain","focus","run","commands","EditCommentEditor","_ref6","_popup$5","_component$ref2","_popup$6","_popup$7","_popup$7$state","_popup$8","_ref7","EditReplyEditor","_ref8","_popup$9","_component$ref3","_popup$10","_popup$11","_popup$11$state","_popup$12","_ref9","replyEditor","_ref10","_popup$13","_component$ref4","_popup$14","_popup$15","_popup$15$state","_popup$16","_ref11","d","storage","setContent","editorRef","_state$archBoard","_state$archBoard$comm","archBoard","comment","payload","getCommentData","_item$data","_objectSpread","status","resolved","getCommentId","rc","getCommentIdData","reduce","acc","count","_count$data","_count$data$replyData","replyData","ele","_acc$ele$createdBy","_acc$ele$createdBy$co","createdBy","emojiData","_comment$data","_comment$data$emoji","emoji","unified","imageUrl","emojiReplyData","rComment","_rComment$rEmoji","rEmoji","emojiD","emojiCount","Object","values","handleReplyClick","editorContent","getHTML","setItem","lastEvent","updatedNodes","prevNodes","getId","createdAt","Date","now","commentId","replyTimeStamp","mentions","getJSON","attrs","postApi","handleClick","n","new","setCommentNodeId","createNewComment","openPopup","_getNodes6","commentSidebar","commentNodes","currentIndex","prevNode","nextNode","handleEmojiClick","currentTarget","currentTime","differenceInMs","timestamp","differenceInMinutes","Math","floor","differenceInHours","pastDate","timeDisplay","getDate","formattedTime","toLocaleTimeString","hour","minute","hour12","toLocaleString","month","day","differenceInMsR","differenceInMinutesR","differenceInHoursR","pastDateR","timeDisplayR","current","querySelectorAll","div","lineHeight","showResolved","display","marginTop","marginRight","primaryColor","flexWrap","alignContent","justifyContent","Box","cursor","objectFit","alt","read","whiteColor","alignItems","left","top","direction","borderTop","EditorContent","_newCommentEditor$com","shiftKey","preventDefault","newline","getText","stopPropagation","onDoubleClick","overflow","IconButton","disabled","IcSendIcon","fill","borderBottom","p","handleNavigatePrev","x","y","positionAbsolute","zoom","duration","IcLeftSingleArrow","transform","handleNavigateNext","CustomNameTooltip","arrow","_node$data22","handleReopenComment","_getNodes3","handleResolvedClick","_getNodes2","IcCheckCircleFill","circleFill","checkFill","strokeWidth","IcMenuDotsHorizontal","closePopup","_getNodes7","IcClose","flexDirection","maxWidth","paddingBottom","selection","window","getSelection","selectedText","toString","selectAll","removeAllRanges","rangeCount","modify","whiteSpace","wordWrap","overflowWrap","insertContent","IcAddMention","IcSmileEmojiOutlined","letterSpacing","textOverflow","opacity","commonHoverColor","IcAddReaction","variant","split","line","lineIdx","React","part","idx","com","_com$first_name","_com$first_name$","_com$last_name","_com$last_name$","_com$comment","_stripHtmlTagsName2","_Object$values3","rEmojiD","rEmojiCount","r","Id","handleEditReplyComment","editorText","_replyEditor$commands","edge","Popover","anchorEl","onClose","anchorOrigin","vertical","horizontal","ml","px","transition","_node$data38","_index1$data","_index1$data2","_index1$data3","handleDeleteReplyComment","transformOrigin","_getCommentId$data4","handleUnreadClick","_getNodes5","handleReadClick","_getNodes4","cId","_parsedData2","should_delete","isDeleted","redux","setCommentNode","handleDeleteComment","CircularProgress","EmojiPicker","onEmojiClick","addEmojiToEditComment","addEmoji","addEmojiToReply","existingEmojiIndex","userId","_","addEmojiToEditReply","updatedCommentContent","addEmojiToComment"],"sourceRoot":""}