{"version":3,"file":"static/js/main-77c967f7.20315d4e.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 { 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\nimport EmojiPicker from \"./EmojiPicker\";\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 [click, setClick] = useState(false);\r\n const { copyAsImage } = useSelector((state) => state?.mindMapStore);\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: JSON.parse(localStorage.getItem(\"resolvedComments\")) ? true : 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 };\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 {!node?.data?.resolved ? (\r\n <>\r\n \r\n \r\n ) : (\r\n \r\n )}\r\n {/* \"profile_picture\" */}\r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n {!node?.data?.resolved ? (\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 \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 {\r\n handlePopupClose();\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 />\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","_node$data14","_node$data15","_node$data16","_node$data17","_getCommentId$data2","_node$data18","_node$data19","_node$data20","_node$data21","_node$data22","_node$data22$first_na","_node$data22$first_na2","_node$data23","_node$data23$last_nam","_node$data24","_node$data25","_node$data26","_getCommentId$data3","_node$data27","_node$data28","_node$data29","_node$data30","_node$data32","_node$data33","_node$data34","_node$data35","_node$data36","_node$data37","_node$data38","_node$data39","_node$data39$first_na","_node$data40","_node$data40$last_nam","_node$data41","_node$data42","_node$data43","_node$data44","_stripHtmlTagsName","_node$data45","_node$data46","_node$data46$emoji","_Object$values","_Object$values2","_userData$first_name$","_userData$last_name$","_getCommentId$data5","_node$data48","params","useParams","location","useLocation","getNodes","setNodes","setCenter","useReactFlow","undo","takeSnapshot","useUndoRedo","textFieldRef","useRef","reply","setReply","click","setClick","copyAsImage","useSelector","state","mindMapStore","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","console","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","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","setContent","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","IcCheckCircleFill","circleFill","checkFill","strokeWidth","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$data31","handleReopenComment","_getNodes3","handleResolvedClick","_getNodes2","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$data47","_index1$data","_index1$data2","_index1$data3","handleDeleteReplyComment","transformOrigin","_getCommentId$data4","handleUnreadClick","_getNodes5","handleReadClick","_getNodes4","cId","_parsedData2","should_delete","isDeleted","redux","setCommentNode","handleDeleteComment","EmojiPicker","onEmojiClick","addEmojiToEditComment","addEmoji","addEmojiToReply","existingEmojiIndex","userId","_","addEmojiToEditReply","updatedCommentContent","addEmojiToComment"],"sourceRoot":""}