{"version":3,"file":"static/js/main-4dacae5e.cb223fed.js","mappings":"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","sources":["Components/DrawBoard/Nodes-Types/CardNodeComponents/CardModal.js","Components/DrawBoard/Nodes-Types/CardNodeComponents/CardNode.js","Components/DrawBoard/Nodes-Types/ChartNode.js"],"sourcesContent":["import React, { useState, useEffect, useCallback } from \"react\";\r\nimport DialogContent from \"@mui/material/DialogContent\";\r\nimport Dialog from \"@mui/material/Dialog\";\r\nimport { useReactFlow } from \"reactflow\";\r\nimport {\r\n Box,\r\n IconButton,\r\n Avatar,\r\n ClickAwayListener,\r\n Stack,\r\n Typography,\r\n Popover,\r\n TextField,\r\n} from \"@mui/material\";\r\nimport {\r\n IcChangeBg,\r\n IcCloseThin,\r\n IcDate,\r\n IcLinkOutlined3,\r\n IcListOutlined,\r\n IcNumberListOutlined,\r\n IcPriorityLevel,\r\n IcTaskList,\r\n IcTextAlignCenter,\r\n IcTextAlignLeft,\r\n IcTextAlignRight,\r\n IcTextBold,\r\n IcTextColor,\r\n IcTextItalic,\r\n IcTextStrickTrough,\r\n IcTextUnderline,\r\n} from \"../../../../assets/icon-components\";\r\nimport {\r\n CustomNameTooltip,\r\n CustomTooltip,\r\n} from \"../../top-toolbar/components/CustomTooltip\";\r\nimport ToolTipWithDisabled from \"../../top-toolbar/components/ToolTipWithDisabled\";\r\nimport BackgroundTool from \"../../../Node/common-components/nodeTopToolbar/components/BackgroundTool\";\r\nimport {\r\n toRgba,\r\n updateJson,\r\n} from \"../../../../CommanFunctions/commanFunctions\";\r\nimport { useUndoRedo } from \"../../dndUndoRedo/UndoRedoProvider\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { useLocation, useParams } from \"react-router-dom\";\r\nimport {\r\n getPriorityFill,\r\n getStatusFill,\r\n priorityDropdown,\r\n randomColor,\r\n statusDropdown,\r\n} from \"../KanbanNodeComponents/KanbanUtils\";\r\nimport CancelIcon from \"@mui/icons-material/Cancel\";\r\nimport EditIcon from \"@mui/icons-material/Edit\";\r\nimport DatePicker from \"react-datepicker\";\r\nimport SearchIcon from \"@mui/icons-material/Search\";\r\nimport DoneIcon from \"@mui/icons-material/Done\";\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport commanService from \"../../../../CommanFunctions/commanService\";\r\nimport SimpleCheckBox from \"../../../../common-components/SimpleCheckBox\";\r\nimport SimpleCircularProgress from \"../../../../common-components/SimpleCircularProgress\";\r\nimport { EditorContent, useEditor } from \"@tiptap/react\";\r\nimport { tipTapExtensions } from \"../../tip-tap-editor\";\r\nimport { color } from \"../../../../Utils/style/color/color\";\r\nimport SearchInput from \"../../../../common-components/SearchInput\";\r\n\r\nfunction CardModal({\r\n setShowCardModal,\r\n setShowDescription,\r\n open,\r\n handleColorChange,\r\n nodeId,\r\n handlePriorityClick,\r\n handleMemberSelect,\r\n boardData,\r\n handleChageDate,\r\n handleClearDate,\r\n handleStatusClick,\r\n tEditor,\r\n dEditor,\r\n currCardData,\r\n}) {\r\n const { setNodes, getNode } = useReactFlow();\r\n const [anchorElTag, setAnchorElTag] = useState(null);\r\n const [anchorElDate, setAnchorElDate] = useState(null);\r\n const [anchorElStatus, setAnchorElStatus] = useState(null);\r\n const [anchorElPriority, setAnchorElPriority] = useState(null);\r\n const [assigneeLoader, setAssigneeLoader] = useState(false);\r\n const [anchorElAssign, setAnchorElAssign] = useState(null);\r\n const [members, setMembers] = useState([]);\r\n const [newTag, setNewTag] = useState(\"\");\r\n const [editTagIndex, setEditTagIndex] = useState(null);\r\n const [editTagValue, setEditTagValue] = useState(\"\");\r\n const [error, setError] = useState(false);\r\n const [searchValue, setSearchValue] = useState(\"\");\r\n const [showTextColor, setShowTextColor] = useState(false);\r\n const [textStyles, setTextStyles] = useState({\r\n isBold: false,\r\n isItalic: false,\r\n isUnderline: false,\r\n isStrikethrough: false,\r\n textAlign: \"left\",\r\n listType: null,\r\n fontSize: \"10px\",\r\n });\r\n const currNode = getNode(nodeId);\r\n const [currentTextColor, setCurrentTextColor] = useState(\r\n currNode?.data?.style?.color || \"#18181B\"\r\n );\r\n\r\n const [showColor, setShowColor] = useState(false);\r\n const { undo, takeSnapshot } = useUndoRedo();\r\n const user_data = localStorage.getItem(\"user_data\");\r\n const dispatch = useDispatch();\r\n const location = useLocation();\r\n const { id: architectureId } = useParams();\r\n\r\n const fillColor =\r\n currCardData?.priority && getPriorityFill(currCardData?.priority);\r\n const fillColorStatus =\r\n currCardData?.status && getStatusFill(currCardData?.status);\r\n\r\n const handleAddTag = () => {\r\n if (newTag.trim() !== \"\" && currCardData?.tag?.length < 8) {\r\n setNodes((nds) => {\r\n const updatedNodes = nds.map((nd) => {\r\n if (nd.id === nodeId) {\r\n return {\r\n ...nd,\r\n data: {\r\n ...nd.data,\r\n tag: [...nd.data.tag, { name: newTag, color: randomColor() }],\r\n },\r\n };\r\n }\r\n return nd;\r\n });\r\n return updatedNodes;\r\n });\r\n setNewTag(\"\");\r\n setError(false);\r\n } else {\r\n setError(true);\r\n }\r\n };\r\n\r\n const handleEditTag = (index, value) => {\r\n setEditTagIndex(index);\r\n setEditTagValue(value);\r\n };\r\n\r\n const handleSaveEdit = (index) => {\r\n if (editTagValue.trim().length > 0) {\r\n setNodes((nds) => {\r\n const updatedNodes = nds.map((nd) => {\r\n if (nd.id === nodeId) {\r\n return {\r\n ...nd,\r\n data: {\r\n ...nd.data,\r\n tag: nd.data?.tag?.map((tag, idx) => {\r\n if (idx === index) {\r\n return { ...tag, name: editTagValue };\r\n }\r\n return tag;\r\n }),\r\n },\r\n };\r\n }\r\n return nd;\r\n });\r\n return updatedNodes;\r\n });\r\n setEditTagIndex(null);\r\n setEditTagValue(\"\");\r\n setError(false);\r\n } else {\r\n setError(true);\r\n }\r\n };\r\n\r\n const handleRemoveTag = (index) => {\r\n setNodes((nds) => {\r\n const updatedNodes = nds.map((nd) => {\r\n if (nd.id === nodeId) {\r\n return {\r\n ...nd,\r\n data: {\r\n ...nd.data,\r\n tag: nd?.data?.tag.filter((_, i) => i !== index),\r\n },\r\n };\r\n }\r\n return nd;\r\n });\r\n return updatedNodes;\r\n });\r\n setError(false);\r\n };\r\n\r\n const getArchitectureMembers = useCallback(async () => {\r\n const response = await commanService.getApi(\r\n \"drawboard/v1\",\r\n `architectures/members/${boardData?.architecture_id}`\r\n );\r\n\r\n setMembers(response?.data?.data);\r\n setAssigneeLoader(false);\r\n }, [boardData]);\r\n\r\n const filteredMembers =\r\n members &&\r\n members?.filter((member) => {\r\n const fullName =\r\n `${member?.first_name} ${member?.last_name}`.toLowerCase();\r\n return fullName.includes(searchValue.toLowerCase());\r\n });\r\n\r\n const handleClickAssign = (e) => {\r\n setAssigneeLoader(true);\r\n getArchitectureMembers();\r\n setAnchorElAssign(\r\n anchorElAssign === null\r\n ? {\r\n mouseX: e.clientX - 2,\r\n mouseY: e.clientY - 4,\r\n }\r\n : null\r\n );\r\n };\r\n\r\n const titleEditor = useEditor(\r\n {\r\n extensions: [...tipTapExtensions(\"Heading\")],\r\n content: currCardData?.title,\r\n editorProps: {\r\n handlePaste: (view, event) => {\r\n const pastedContent = event.clipboardData.getData(\"text/plain\");\r\n try {\r\n JSON.parse(pastedContent);\r\n // If it's valid JSON, prevent paste\r\n return true;\r\n } catch (e) {\r\n // If it's not valid JSON, allow paste\r\n return false;\r\n }\r\n },\r\n },\r\n },\r\n []\r\n );\r\n\r\n const descriptionEditor = useEditor(\r\n {\r\n extensions: [...tipTapExtensions(\"Type something\")],\r\n content: currCardData?.description,\r\n editorProps: {\r\n handlePaste: (view, event) => {\r\n const pastedContent = event.clipboardData.getData(\"text/plain\");\r\n try {\r\n JSON.parse(pastedContent);\r\n // If it's valid JSON, prevent paste\r\n return true;\r\n } catch (e) {\r\n // If it's not valid JSON, allow paste\r\n return false;\r\n }\r\n },\r\n },\r\n },\r\n []\r\n );\r\n\r\n const editorElements = document.querySelectorAll(\".tiptap, .tiptap *\");\r\n editorElements.forEach((element) => {\r\n element.addEventListener(\r\n \"mousedown\",\r\n (e) => {\r\n e.stopPropagation();\r\n const selection = window.getSelection();\r\n // Check if a selection exists and clear it\r\n if (selection && selection.rangeCount > 0) {\r\n selection.removeAllRanges();\r\n }\r\n },\r\n true\r\n ); // Use capture phase to ensure it triggers before other handlers\r\n });\r\n\r\n const getCurrentStyles = (editor) => {\r\n return {\r\n isBold: editor.isActive(\"bold\"),\r\n isItalic: editor.isActive(\"italic\"),\r\n isUnderline: editor.isActive(\"underline\"),\r\n isStrikethrough: editor.isActive(\"strike\"),\r\n textAlign: editor.isActive({ textAlign: \"justify\" })\r\n ? \"justify\"\r\n : editor.isActive({ textAlign: \"center\" })\r\n ? \"center\"\r\n : editor.isActive({ textAlign: \"right\" })\r\n ? \"right\"\r\n : \"left\",\r\n listType: editor.isActive(\"bulletList\")\r\n ? \"bullet\"\r\n : editor.isActive(\"orderedList\")\r\n ? \"ordered\"\r\n : null,\r\n textColor: editor.isActive(\"textStyle\")\r\n ? editor.getAttributes(\"textStyle\").color\r\n : editor.getAttributes(\"paragraph\").color,\r\n };\r\n };\r\n\r\n useEffect(() => {\r\n if (descriptionEditor) {\r\n const updateTextStyles = () => {\r\n const currentStyles = getCurrentStyles(descriptionEditor);\r\n const currentColor = currentStyles.textColor || \"black\";\r\n setTextStyles(currentStyles);\r\n setCurrentTextColor(currentColor);\r\n };\r\n\r\n descriptionEditor.on(\"selectionUpdate\", updateTextStyles);\r\n descriptionEditor.on(\"transaction\", updateTextStyles);\r\n\r\n return () => {\r\n descriptionEditor.off(\"selectionUpdate\", updateTextStyles);\r\n descriptionEditor.off(\"transaction\", updateTextStyles);\r\n };\r\n }\r\n }, [descriptionEditor]);\r\n\r\n const handleCloseIcon = () => {\r\n if (titleEditor && descriptionEditor) {\r\n let updatedNodes;\r\n\r\n tEditor?.commands?.setContent(titleEditor?.getHTML());\r\n dEditor?.commands?.setContent(descriptionEditor?.getHTML());\r\n\r\n if (descriptionEditor?.getText().trim().length > 0) {\r\n setShowDescription(true);\r\n }\r\n\r\n setNodes((nds) => {\r\n updatedNodes = nds.map((nd) => {\r\n if (nd.id === nodeId) {\r\n return {\r\n ...nd,\r\n data: {\r\n ...nd.data,\r\n description:\r\n descriptionEditor?.getText().trim().length > 0\r\n ? descriptionEditor?.getHTML()\r\n : \"\",\r\n title:\r\n titleEditor?.getText().trim().length > 0\r\n ? titleEditor?.getHTML()\r\n : \"\",\r\n },\r\n };\r\n }\r\n return nd;\r\n });\r\n\r\n const search = new URLSearchParams(location.search);\r\n const a_id = search.get(\"a_id\");\r\n\r\n let parsedData = {};\r\n if (user_data) {\r\n parsedData = JSON.parse(user_data);\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: architectureId,\r\n dispatch,\r\n undo,\r\n takeSnapshot,\r\n a_id,\r\n });\r\n\r\n return updatedNodes;\r\n });\r\n }\r\n\r\n setShowCardModal(false);\r\n };\r\n\r\n const hasClickedOnGivenClass = (target, className) => {\r\n while (target) {\r\n if (target.classList.contains(className)) {\r\n return true;\r\n }\r\n target = target.parentElement;\r\n }\r\n return false;\r\n };\r\n\r\n const handleClickOutside = (event) => {\r\n if (\r\n !hasClickedOnGivenClass(event.target, \"bg-color-tool\") &&\r\n !hasClickedOnGivenClass(event.target, \"custom-color-popover\")\r\n ) {\r\n setShowColor(false);\r\n setShowTextColor(false);\r\n }\r\n\r\n // if (!hasClickedOnGivenClass(event.target, \"tag-popover\")) {\r\n // setAnchorElTag(null);\r\n // }\r\n\r\n if (open && !anchorElTag && !showColor && !showTextColor) {\r\n if (\r\n !hasClickedOnGivenClass(event.target, \"kanban-card-modal\") &&\r\n !hasClickedOnGivenClass(event.target, \"custom-color-popover\") &&\r\n !hasClickedOnGivenClass(event.target, \"priority-popover\") &&\r\n !hasClickedOnGivenClass(event.target, \"status-popover\") &&\r\n !hasClickedOnGivenClass(event.target, \"tag-popover\") &&\r\n !hasClickedOnGivenClass(event.target, \"assignee-popover\") &&\r\n !hasClickedOnGivenClass(event.target, \"jodit\") &&\r\n !hasClickedOnGivenClass(event.target, \"no-border-datepicker\")\r\n ) {\r\n handleCloseIcon();\r\n }\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n document.addEventListener(\"click\", handleClickOutside, true);\r\n\r\n return () => {\r\n document.removeEventListener(\"click\", handleClickOutside, true);\r\n };\r\n }, [handleClickOutside]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {\" \"}\r\n {\"Card Details\"}\r\n \r\n \r\n handleCloseIcon()}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\"Card Title\"}\r\n {\" \"}\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n {\"Description\"}\r\n \r\n \r\n \r\n \r\n {\r\n e.stopPropagation();\r\n descriptionEditor.chain().focus().toggleBold().run();\r\n }}\r\n >\r\n \r\n \r\n \r\n\r\n \r\n {\r\n e.stopPropagation();\r\n descriptionEditor.chain().focus().toggleItalic().run();\r\n }}\r\n >\r\n \r\n \r\n \r\n\r\n \r\n {\r\n e.stopPropagation();\r\n descriptionEditor\r\n .chain()\r\n .focus()\r\n .toggleUnderline()\r\n .run();\r\n }}\r\n >\r\n \r\n \r\n \r\n\r\n \r\n {\r\n e.stopPropagation();\r\n descriptionEditor.chain().focus().toggleStrike().run();\r\n }}\r\n >\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n {\r\n e.stopPropagation();\r\n descriptionEditor\r\n .chain()\r\n .focus()\r\n .toggleBulletList()\r\n .run();\r\n }}\r\n >\r\n \r\n \r\n \r\n\r\n \r\n {\r\n e.stopPropagation();\r\n descriptionEditor\r\n .chain()\r\n .focus()\r\n .toggleOrderedList()\r\n .run();\r\n }}\r\n >\r\n \r\n \r\n \r\n\r\n \r\n {\r\n e.stopPropagation();\r\n descriptionEditor\r\n .chain()\r\n .focus()\r\n .toggleTaskList()\r\n .run();\r\n }}\r\n >\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n {\r\n e.stopPropagation();\r\n descriptionEditor\r\n .chain()\r\n .focus()\r\n .setTextAlign(\"justify\")\r\n .run();\r\n }}\r\n >\r\n \r\n \r\n \r\n\r\n \r\n {\r\n e.stopPropagation();\r\n descriptionEditor\r\n .chain()\r\n .focus()\r\n .setTextAlign(\"center\")\r\n .run();\r\n }}\r\n >\r\n \r\n \r\n \r\n\r\n \r\n {\r\n e.stopPropagation();\r\n descriptionEditor\r\n .chain()\r\n .focus()\r\n .setTextAlign(\"right\")\r\n .run();\r\n }}\r\n >\r\n \r\n \r\n \r\n\r\n \r\n\r\n setShowTextColor(false)}\r\n >\r\n {\r\n e.stopPropagation();\r\n }}\r\n >\r\n setShowTextColor(false)}\r\n open={showTextColor}\r\n disableFocusListener\r\n disableHoverListener\r\n disableTouchListener\r\n title={\r\n {\r\n setCurrentTextColor(color);\r\n descriptionEditor\r\n .chain()\r\n .focus()\r\n .setColor(color)\r\n .run();\r\n setShowTextColor(false);\r\n }}\r\n />\r\n }\r\n >\r\n \r\n \r\n {\r\n e.stopPropagation();\r\n setShowTextColor(!showTextColor);\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 e.stopPropagation();\r\n descriptionEditor\r\n .chain()\r\n .focus()\r\n .extendMarkRange(\"link\")\r\n .setLink({\r\n href: \"https://example.com\",\r\n target: \"_blank\",\r\n })\r\n .run();\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 {\"Card Color\"}\r\n {\" \"}\r\n \r\n setShowColor(false)}>\r\n \r\n {\r\n setShowColor(false);\r\n }}\r\n open={showColor}\r\n disableFocusListener\r\n disableHoverListener\r\n disableTouchListener\r\n title={\r\n {\r\n handleColorChange(color, \"backgroundColor\");\r\n }}\r\n />\r\n }\r\n >\r\n {\r\n e.stopPropagation();\r\n setShowColor(!showColor);\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 {\"Status\"}\r\n {\" \"}\r\n {\r\n setAnchorElStatus(\r\n anchorElStatus === null\r\n ? {\r\n mouseX: e.clientX - 5,\r\n mouseY: e.clientY - 10,\r\n }\r\n : null\r\n );\r\n }}\r\n sx={{\r\n borderRadius: \"8px\",\r\n width: \"73%\",\r\n fontWeight: \"400\",\r\n padding: \"10px\",\r\n gap: \"10px\",\r\n display: \"flex\",\r\n flexDirection: \"row\",\r\n alignContent: \"center\",\r\n border: \"1px solid white\",\r\n alignItems: \"center\",\r\n \"&:hover\": {\r\n border: \"1px solid #EEEEEE\",\r\n },\r\n }}\r\n >\r\n \r\n {currCardData?.status && (\r\n \r\n {fillColorStatus?.Icon && (\r\n \r\n )}\r\n \r\n )}\r\n\r\n \r\n {\" \"}\r\n {currCardData?.status\r\n ? currCardData?.status\r\n : \"Not set\"}{\" \"}\r\n \r\n \r\n \r\n \r\n\r\n setAnchorElStatus(null)}\r\n anchorReference=\"anchorPosition\"\r\n anchorPosition={\r\n anchorElStatus !== null\r\n ? { top: anchorElStatus.mouseY, left: anchorElStatus.mouseX }\r\n : undefined\r\n }\r\n sx={{\r\n \"& .MuiPaper-root\": {\r\n p: \"10px\",\r\n width: 209,\r\n boxShadow: \"none\",\r\n bgcolor: \"transparent\",\r\n },\r\n }}\r\n className=\"status-popover\"\r\n >\r\n \r\n {statusDropdown.map(({ Icon, name, fill }, i) => {\r\n return (\r\n \r\n {i === statusDropdown.length - 1 && (\r\n \r\n )}\r\n\r\n {\r\n handleStatusClick(name);\r\n setAnchorElStatus(null);\r\n }}\r\n >\r\n \r\n \r\n \r\n {name}\r\n \r\n \r\n {name === currCardData?.status && (\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 {\"Priority\"}\r\n {\" \"}\r\n {\r\n setAnchorElPriority(\r\n anchorElPriority === null\r\n ? {\r\n mouseX: e.clientX - 5,\r\n mouseY: e.clientY - 10,\r\n }\r\n : null\r\n );\r\n }}\r\n sx={{\r\n borderRadius: \"8px\",\r\n width: \"73%\",\r\n fontWeight: \"400\",\r\n padding: \"10px\",\r\n gap: \"10px\",\r\n display: \"flex\",\r\n flexDirection: \"row\",\r\n alignContent: \"center\",\r\n border: \"1px solid white\",\r\n alignItems: \"center\",\r\n \"&:hover\": {\r\n border: \"1px solid #EEEEEE\",\r\n },\r\n }}\r\n >\r\n \r\n {currCardData?.priority && (\r\n \r\n )}\r\n {currCardData?.priority ? currCardData?.priority : \" Not set\"}{\" \"}\r\n \r\n \r\n \r\n\r\n setAnchorElPriority(null)}\r\n anchorReference=\"anchorPosition\"\r\n anchorPosition={\r\n anchorElPriority !== null\r\n ? {\r\n top: anchorElPriority.mouseY,\r\n left: anchorElPriority.mouseX,\r\n }\r\n : undefined\r\n }\r\n sx={{\r\n \"& .MuiPaper-root\": {\r\n p: \"10px\",\r\n width: 209,\r\n boxShadow: \"none\",\r\n bgcolor: \"transparent\",\r\n },\r\n }}\r\n className=\"priority-popover\"\r\n >\r\n \r\n {priorityDropdown.map(({ Icon, name, fill }, i) => {\r\n return (\r\n \r\n {i === priorityDropdown.length - 1 && (\r\n \r\n )}\r\n\r\n {\r\n handlePriorityClick(name, fill);\r\n setAnchorElPriority(null);\r\n }}\r\n >\r\n \r\n \r\n \r\n {name}\r\n \r\n \r\n {currCardData?.priority === name && (\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 {\"Date\"}\r\n {\" \"}\r\n {\r\n setAnchorElDate(\r\n anchorElDate === null\r\n ? {\r\n mouseX: e.clientX - 2,\r\n mouseY: e.clientY - 4,\r\n }\r\n : null\r\n );\r\n }}\r\n >\r\n \r\n {currCardData?.date ? (\r\n <>\r\n \r\n {currCardData?.date}\r\n \r\n ) : (\r\n \"Not set\"\r\n )}\r\n \r\n \r\n \r\n\r\n setAnchorElDate(null)}\r\n anchorReference=\"anchorPosition\"\r\n anchorPosition={\r\n anchorElDate !== null\r\n ? { top: anchorElDate.mouseY, left: anchorElDate.mouseX }\r\n : undefined\r\n }\r\n sx={{\r\n \"& .MuiPaper-root\": {\r\n bgcolor: \"white\",\r\n boxShadow: \"0px 2px 8px rgba(0, 0, 0, 0.2)\",\r\n borderRadius: \"10px\",\r\n },\r\n }}\r\n className=\"no-border-datepicker\"\r\n >\r\n {\r\n handleChageDate(date);\r\n setAnchorElDate(null);\r\n }}\r\n inline\r\n />\r\n {\r\n handleClearDate();\r\n setAnchorElDate(null);\r\n }}\r\n >\r\n \r\n Clear\r\n \r\n \r\n \r\n\r\n {/* \r\n {\" \"}\r\n \r\n {\"Assignee\"}\r\n {\" \"}\r\n {\r\n handleClickAssign(e);\r\n }}\r\n sx={{\r\n borderRadius: \"8px\",\r\n width: \"73%\",\r\n fontWeight: \"400\",\r\n padding: \"10px\",\r\n gap: \"10px\",\r\n display: \"flex\",\r\n flexDirection: \"row\",\r\n alignContent: \"center\",\r\n border: \"1px solid white\",\r\n alignItems: \"center\",\r\n \"&:hover\": {\r\n border: \"1px solid #EEEEEE\",\r\n },\r\n }}\r\n >\r\n \r\n {currCardData?.assign?.length > 0 ? (\r\n \r\n \r\n {currCardData?.assign\r\n ?.slice(0, 5)\r\n .map((val, index) => (\r\n \r\n {val?.profile_picture ? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n {val?.first_name[0]?.toUpperCase()}\r\n \r\n )}\r\n \r\n \r\n {val?.first_name} {val?.last_name}\r\n \r\n \r\n \r\n ))}\r\n \r\n }\r\n placement=\"bottom\"\r\n isAvatarGroup\r\n >\r\n \r\n {currCardData?.assign\r\n ?.slice(0, 5)\r\n .map((val, index) => (\r\n \r\n {val?.profile_picture ? (\r\n \r\n ) : (\r\n \r\n {val?.first_name[0]?.toUpperCase()}\r\n \r\n )}\r\n \r\n ))}\r\n {currCardData?.assign?.length > 5 && (\r\n \r\n \r\n +{5}\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n ) : (\r\n \r\n {\"Not Set\"}\r\n \r\n )}\r\n \r\n \r\n */}\r\n\r\n \r\n {\" \"}\r\n \r\n {\"Assignee\"}\r\n {\" \"}\r\n {\r\n handleClickAssign(e);\r\n }}\r\n sx={{\r\n // borderRadius: \"6.87px\",\r\n // fontSize: \"11px\",\r\n // fontWeight: \"400\",\r\n // \"&:hover\": {\r\n // border: \"1px solid #dcdafa\",\r\n // },\r\n // border: \"1px solid white\",\r\n // width: \"73%\",\r\n // padding: \"10px\",\r\n // gap: \"2.29px\",\r\n // display: \"flex\",\r\n // flexDirection: \"row\",\r\n // alignContent: \"center\",\r\n // alignItems: \"center\",\r\n\r\n borderRadius: \"8px\",\r\n width: \"73%\",\r\n fontWeight: \"400\",\r\n padding: \"10px\",\r\n gap: \"10px\",\r\n display: \"flex\",\r\n flexDirection: \"row\",\r\n alignContent: \"center\",\r\n border: \"1px solid white\",\r\n alignItems: \"center\",\r\n \"&:hover\": {\r\n border: \"1px solid #EEEEEE\",\r\n },\r\n }}\r\n >\r\n \r\n {currCardData?.assign.length > 0 ? (\r\n \r\n \r\n {currCardData?.assign\r\n ?.slice(0, 5)\r\n .map((val, index) => (\r\n \r\n {val?.profile_picture ? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n {val?.first_name[0]?.toUpperCase()}\r\n \r\n )}\r\n \r\n \r\n {val?.first_name} {val?.last_name}\r\n \r\n \r\n \r\n ))}\r\n \r\n }\r\n placement=\"bottom\"\r\n isAvatarGroup\r\n >\r\n \r\n {currCardData?.assign\r\n .slice(0, 5)\r\n .map((val, index) => (\r\n \r\n {val?.profile_picture ? (\r\n \r\n ) : (\r\n \r\n {val?.first_name[0]?.toUpperCase()}\r\n \r\n )}\r\n \r\n ))}\r\n {currCardData?.assign?.length > 5 && (\r\n \r\n \r\n +{5}\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n ) : (\r\n \r\n {\"Not Set\"}\r\n \r\n )}\r\n \r\n \r\n \r\n\r\n setAnchorElAssign(null)}\r\n anchorReference=\"anchorPosition\"\r\n anchorPosition={\r\n anchorElAssign !== null\r\n ? { top: anchorElAssign.mouseY, left: anchorElAssign.mouseX }\r\n : undefined\r\n }\r\n className=\"assignee-popover\"\r\n sx={{\r\n \"& .MuiPaper-root\": {\r\n width: 277,\r\n boxShadow: \"0px 2px 8px 0px #030B160D\",\r\n border: \"1px solid #EFF0F3\",\r\n borderRadius: \"10px\",\r\n bgcolor: \"transparent\",\r\n },\r\n }}\r\n >\r\n \r\n \r\n {/* setSearchValue(e.target.value)}\r\n InputProps={{\r\n startAdornment: (\r\n \r\n ),\r\n }}\r\n sx={{\r\n \"& .MuiOutlinedInput-root\": {\r\n padding: \"1px\",\r\n border: \"1px solid border: 1px solid #EEEEEE\",\r\n borderRadius: \"8px\",\r\n \"& fieldset\": {\r\n border: \"1px solid border: 1px solid #EEEEEE\",\r\n },\r\n \"&:hover fieldset\": {\r\n border: \"1px solid border: 1px solid #EEEEEE\",\r\n },\r\n \"&.Mui-focused fieldset\": {\r\n border: \"1px solid border: 1px solid #EEEEEE\",\r\n },\r\n \"& .MuiInputBase-input::placeholder\": {\r\n color: \"#959BA3\",\r\n },\r\n \"& .MuiInputBase-input\": {\r\n width: \"100%\",\r\n border: \"none\",\r\n padding: \"7px\",\r\n lineHeight: \"20px\",\r\n fontSize: \"12px !important\",\r\n fontWeight: \"400 !important\",\r\n },\r\n },\r\n }}\r\n /> */}\r\n setSearchValue(e.target.value)}\r\n placeholder={\"Search person\"}\r\n bgColor={\"#FFFFFF\"}\r\n width={\"100%\"}\r\n formControlSx={{\r\n width: \"236px\",\r\n }}\r\n />\r\n \r\n {assigneeLoader ? (\r\n \r\n ) : filteredMembers.length > 0 ? (\r\n filteredMembers.map((user, i) => {\r\n return (\r\n \r\n \r\n \r\n {user?.profile_picture ? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n {user?.first_name[0]?.toUpperCase()}\r\n \r\n \r\n )}\r\n \r\n \r\n {user?.first_name + \" \" + user?.last_name}\r\n \r\n \r\n {/* \r\n {user?.first_name + \" \" + user?.last_name}\r\n */}\r\n \r\n e.stopPropagation()}\r\n sx={{ marginRight: \"10px\" }}\r\n >\r\n handleMemberSelect(user)}\r\n checked={currCardData?.assign?.some(\r\n (assignedUser) =>\r\n assignedUser.user_id === user.user_id\r\n )}\r\n />\r\n \r\n \r\n \r\n );\r\n })\r\n ) : (\r\n \r\n No data found\r\n \r\n )}\r\n \r\n \r\n\r\n \r\n {\" \"}\r\n \r\n {\"Tag\"}\r\n {\" \"}\r\n \r\n setAnchorElTag(\r\n anchorElTag === null\r\n ? {\r\n mouseX: e.clientX - 2,\r\n mouseY: e.clientY - 4,\r\n }\r\n : null\r\n )\r\n }\r\n display=\"flex\"\r\n alignItems=\"center\"\r\n gap=\"6.29px\"\r\n sx={{\r\n borderRadius: \"8px\",\r\n width: \"73%\",\r\n fontWeight: \"400\",\r\n padding: \"10px\",\r\n gap: \"10px\",\r\n display: \"flex\",\r\n flexDirection: \"row\",\r\n alignContent: \"center\",\r\n border: \"1px solid white\",\r\n alignItems: \"center\",\r\n \"&:hover\": {\r\n border: \"1px solid #EEEEEE\",\r\n },\r\n }}\r\n justifyContent={\"flex-start\"}\r\n flexWrap={\"wrap\"}\r\n >\r\n \r\n {currCardData?.tag?.length > 0 ? (\r\n currCardData?.tag?.map((val, index) => {\r\n return (\r\n \r\n {val?.name}\r\n \r\n );\r\n })\r\n ) : (\r\n \r\n {\"Not Set\"}\r\n \r\n )}\r\n \r\n \r\n \r\n\r\n setAnchorElTag(null)}\r\n anchorReference=\"anchorPosition\"\r\n anchorPosition={\r\n anchorElTag !== null\r\n ? { top: anchorElTag.mouseY, left: anchorElTag.mouseX }\r\n : undefined\r\n }\r\n sx={{\r\n \"& .MuiPaper-root\": {\r\n width: 277,\r\n boxShadow: \"none\",\r\n bgcolor: \"transparent\",\r\n },\r\n }}\r\n >\r\n \r\n {!editTagValue && (\r\n {\r\n setNewTag(e.target.value);\r\n setError(false);\r\n }}\r\n onKeyDown={(e) => {\r\n if (e.key === \"Enter\") {\r\n handleAddTag();\r\n }\r\n }}\r\n autoComplete=\"off\"\r\n error={error}\r\n helperText={error ? \"You can add a maximum of 8 tags.\" : \"\"}\r\n fullWidth\r\n sx={{\r\n \"& .MuiOutlinedInput-root\": {\r\n padding: \"1px\",\r\n borderBottom: \"2px solid #EEEEEE\",\r\n\r\n \"& fieldset\": {\r\n border: \"none\",\r\n },\r\n \"&:hover fieldset\": {},\r\n \"&.Mui-focused fieldset\": {},\r\n \"& .MuiInputBase-input::placeholder\": {\r\n color: \"#959BA3\",\r\n },\r\n \"& .MuiInputBase-input\": {\r\n width: \"100%\",\r\n border: \"none\",\r\n padding: \"8px\",\r\n lineHeight: \"20px\",\r\n fontSize: \"12px !important\",\r\n fontWeight: \"400 !important\",\r\n },\r\n },\r\n }}\r\n />\r\n )}\r\n \r\n {editTagValue && (\r\n {\r\n setEditTagValue(e.target.value);\r\n setError(false);\r\n }}\r\n fullWidth\r\n sx={{\r\n \"& .MuiOutlinedInput-root\": {\r\n padding: \"1px\",\r\n borderBottom: \"2px solid #EEEEEE\",\r\n\r\n \"& fieldset\": {\r\n border: \"none\",\r\n },\r\n \"&:hover fieldset\": {},\r\n \"&.Mui-focused fieldset\": {},\r\n \"& .MuiInputBase-input::placeholder\": {\r\n color: \"#959BA3\",\r\n },\r\n \"& .MuiInputBase-input\": {\r\n width: \"100%\",\r\n border: \"none\",\r\n padding: \"8px\",\r\n lineHeight: \"20px\",\r\n fontSize: \"12px !important\",\r\n fontWeight: \"400 !important\",\r\n },\r\n },\r\n }}\r\n />\r\n )}\r\n {editTagValue && (\r\n handleSaveEdit(editTagIndex)}\r\n sx={{\r\n backgroundColor: \"none\",\r\n color: \"blue\",\r\n padding: \"2px\",\r\n fontSize: \"12px\",\r\n borderRadius: \"8px\",\r\n textTransform: \"none\",\r\n cursor: \"pointer\",\r\n \"&:hover\": {\r\n backgroundColor: \"none\",\r\n },\r\n }}\r\n >\r\n Save\r\n \r\n )}\r\n \r\n \r\n {currCardData?.tag?.length > 0 &&\r\n currCardData?.tag?.map((val, index) => (\r\n \r\n \r\n {val.name.length > 20\r\n ? `${val.name.slice(0, 20)}...`\r\n : val.name}\r\n \r\n handleEditTag(index, val.name)}\r\n sx={{\r\n padding: \"0px\",\r\n marginLeft: \"4px\",\r\n }}\r\n >\r\n \r\n \r\n handleRemoveTag(index)}\r\n sx={{\r\n padding: \"0px\",\r\n marginLeft: \"4px\",\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\nexport default CardModal;\r\n","import React, {\r\n memo,\r\n useCallback,\r\n useEffect,\r\n useMemo,\r\n useRef,\r\n useState,\r\n} from \"react\";\r\nimport {\r\n Handle,\r\n NodeResizeControl,\r\n NodeResizer,\r\n NodeToolbar,\r\n Position,\r\n useReactFlow,\r\n useStore,\r\n useStoreApi,\r\n} from \"reactflow\";\r\nimport { useUndoRedo } from \"../../dndUndoRedo/UndoRedoProvider\";\r\nimport { useLocation, useParams } from \"react-router-dom\";\r\nimport { useSelector } from \"react-redux\";\r\nimport {\r\n Avatar,\r\n Box,\r\n ClickAwayListener,\r\n IconButton,\r\n Popover,\r\n Stack,\r\n TextField,\r\n Typography,\r\n} from \"@mui/material\";\r\nimport { EditorContent, Extension, useEditor } from \"@tiptap/react\";\r\nimport {\r\n IcAssign,\r\n IcPriority,\r\n IcStatus2,\r\n IcTagOutlined,\r\n IcArrowExpand,\r\n IcChangeBg,\r\n IcDecresFontSize,\r\n IcFontStyle,\r\n IcIncreseFontSize,\r\n IcListOutlined,\r\n IcLockLocked,\r\n IcLockUnLocked,\r\n IcMenuDotsVertical,\r\n IcNumberListOutlined,\r\n IcPriorityLevel,\r\n IcSmileHappyPlus,\r\n IcTaskList,\r\n IcTextAlignCenter,\r\n IcTextAlignLeft,\r\n IcTextAlignRight,\r\n IcTextBold,\r\n IcTextColor,\r\n IcTextItalic,\r\n IcTextStrickTrough,\r\n IcTextUnderline,\r\n IcDate,\r\n} from \"../../../../assets/icon-components\";\r\nimport CheckCircleOutlineIcon from \"@mui/icons-material/CheckCircleOutline\";\r\nimport {\r\n CustomNameTooltip,\r\n CustomTooltip,\r\n} from \"../../top-toolbar/components/CustomTooltip\";\r\nimport {\r\n getPriorityFill,\r\n getStatusFill,\r\n priorityDropdown,\r\n randomColor,\r\n statusDropdown,\r\n} from \"../KanbanNodeComponents/KanbanUtils\";\r\nimport BackgroundTool from \"../../../Node/common-components/nodeTopToolbar/components/BackgroundTool\";\r\nimport ToolTipWithDisabled from \"../../top-toolbar/components/ToolTipWithDisabled\";\r\nimport FrameMoreMenus from \"../../../Node/frameNode/FrameMoreMenus\";\r\nimport LinkTool from \"../../../Node/common-components/nodeTopToolbar/components/LinkTool\";\r\nimport CardModal from \"./CardModal\";\r\nimport VotingCommon from \"../../../mind-map/VotingCommon\";\r\nimport {\r\n removeHTMLTags,\r\n toRgba,\r\n updateJson,\r\n} from \"../../../../CommanFunctions/commanFunctions\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport commanService from \"../../../../CommanFunctions/commanService\";\r\nimport { tipTapExtensions } from \"../../tip-tap-editor\";\r\nimport { debounce } from \"lodash\";\r\nimport SimpleCheckBox from \"../../../../common-components/SimpleCheckBox\";\r\nimport DatePicker from \"react-datepicker\";\r\nimport CancelIcon from \"@mui/icons-material/Cancel\";\r\nimport DoneIcon from \"@mui/icons-material/Done\";\r\nimport EditIcon from \"@mui/icons-material/Edit\";\r\nimport useNodeSelectionStarted from \"../../../../Utils/hooks/useNodeSelectionStarted\";\r\nimport { s3AssetsUrl } from \"../../const\";\r\nimport { color } from \"../../../../Utils/style/color/color\";\r\nimport CommonDivider from \"../../../../common-components/CommonDivider\";\r\nimport { fontFamilyArr } from \"../../../Node/common-components/nodeTopToolbar/MindMapNodesToolbar/ToolbarMenuItems/constants\";\r\nimport EmojiPicker from \"../../../Node/EmojiPicker\";\r\nimport SearchInput from \"../../../../common-components/SearchInput\";\r\nimport { getNodePositionInsideParent } from \"../../../../Utils/grouping-utils\";\r\nimport { sanitizeHtml } from \"../../utils\";\r\n\r\nconst CardNode = (node) => {\r\n const { data, id: nodeId } = node;\r\n\r\n const [linkText, setLinkText] = useState(\"\");\r\n const ref = useRef(null);\r\n const [showDescription, setShowDescription] = useState(\r\n data?.description?.length > 0 ? true : false\r\n );\r\n const { setNodes, getNodes, getNode, getIntersectingNodes } = useReactFlow();\r\n const currNode = getNode(nodeId);\r\n const [showFontStyle, setShowFontStyle] = useState(false);\r\n const [showEdit, setShowEdit] = useState(false);\r\n const [showTextEditor, setShowTextEditor] = useState(false);\r\n const [isHovered, setIsHovered] = useState(false);\r\n const [hoveredItem, setHoveredItem] = useState(\"\");\r\n const [fontstyleEditor, setFontStyleEditor] = useState(null);\r\n const [showDots, setShowDots] = useState(false);\r\n const [showCardModal, setShowCardModal] = useState(false);\r\n const containerRef = useRef(null);\r\n const cardRef = useRef(null);\r\n const mainRef = useRef(null);\r\n const titleRef = useRef(null);\r\n const title1Ref = useRef(null);\r\n const descriptionRef = useRef(null);\r\n const dataRef = useRef(null);\r\n const assignRef = useRef(null);\r\n const tagRef = useRef(null);\r\n const [zoomPercentages, setZoomPercentages] = useState(100);\r\n const [showCardMoreOptions, setShowCardMoreOptions] = useState(false);\r\n const [currentFontFamily, setCurrentFontFamily] = useState(\"Inter\");\r\n const [currentTextAlign, setCurrentTextAlign] = useState(\"left\");\r\n const [currentListType, setCurrentListType] = useState(\"\");\r\n const [showListTypes, setShowListTypes] = useState(false);\r\n const [showReaction, setShowReaction] = useState(false);\r\n const { undo, takeSnapshot } = useUndoRedo();\r\n const [error, setError] = useState(false);\r\n const [members, setMembers] = useState([]);\r\n const [showAlignment, setShowAlignment] = useState(false);\r\n const [showFontSizeOpt, setShowFontSizeOpt] = useState(false);\r\n const [showFontFamily, setShowFontFamily] = useState(false);\r\n const [showColor, setShowColor] = useState(false);\r\n const [showTextColor, setShowTextColor] = useState(false);\r\n const [editTagIndex, setEditTagIndex] = useState(null);\r\n const [editTagValue, setEditTagValue] = useState(\"\");\r\n const fontSizeArr = [\r\n 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,\r\n ];\r\n const [selectedFontSize, setSelectedFontSize] = useState(\"14px\");\r\n const { id: architectureId } = useParams();\r\n const location = useLocation();\r\n const userData = useSelector((state) => state.common.userData);\r\n const architectureData = useSelector(\r\n (data) => data?.archBoard?.architectureRes\r\n );\r\n\r\n const user_data = localStorage.getItem(\"user_data\");\r\n const [open, setOpen] = useState(false);\r\n const [newTag, setNewTag] = useState(\"\");\r\n const [anchorEl, setAnchorEl] = useState(null);\r\n const [boardData, setBoardData] = useState(null);\r\n const [openTag, setOpenTag] = useState(false);\r\n const [anchorElTag, setAnchorElTag] = useState(null);\r\n const canBeOpenTag = openTag && Boolean(anchorElTag);\r\n const idTag = canBeOpenTag ? \"transition-popper\" : undefined;\r\n const [openStatus, setOpenStatus] = useState(false);\r\n const [floatingMenu, setFloatingMenu] = useState(null);\r\n const [currentTextColor, setCurrentTextColor] = useState(\r\n node?.data?.style?.color || \"#18181B\"\r\n );\r\n const [anchorElStatus, setAnchorElStatus] = useState(null);\r\n const [openAssign, setOpenAssign] = useState(false);\r\n const [anchorElAssign, setAnchorElAssign] = useState(null);\r\n const canBeOpenAssign = openAssign && Boolean(anchorElAssign);\r\n const idAssign = canBeOpenAssign ? \"transition-popper\" : undefined;\r\n const canBeOpenStatus = openStatus && Boolean(anchorElStatus);\r\n const idStatus = canBeOpenStatus ? \"transition-popper\" : undefined;\r\n const canBeOpen = open && Boolean(anchorEl);\r\n const [showLink, setShowLink] = useState(false);\r\n const id1 = canBeOpen ? \"transition-popper\" : undefined;\r\n const [searchValue, setSearchValue] = useState(\"\");\r\n const [anchorElDate, setAnchorElDate] = useState(null);\r\n let simpleRef = useRef(null);\r\n const dispatch = useDispatch();\r\n const store = useStoreApi();\r\n const { id } = useParams();\r\n const { showExport, copyAsImage, isDownload } = useSelector(\r\n (state) => state?.mindMapStore\r\n );\r\n const { isNodeSelectionStarted } = useNodeSelectionStarted({\r\n selected: node?.selected,\r\n });\r\n\r\n const textColorPopupRef = useRef(null);\r\n const textPopupRef = useRef(null);\r\n const fontstyle = useRef(null);\r\n const fontList = useRef(null);\r\n const linkRef = useRef(null);\r\n const fontFamilyRef = useRef(null);\r\n const fontSizeRef = useRef(null);\r\n const fontAlign = useRef(null);\r\n\r\n const handleEnterHeadingKeyPress = () => {\r\n setShowEdit(false);\r\n setShowTextEditor(true);\r\n setShowDescription(true);\r\n };\r\n\r\n const TitleEnterKeyHandler = Extension.create({\r\n name: \"enterKeyHandler\",\r\n addKeyboardShortcuts() {\r\n return {\r\n Enter: () => {\r\n handleEnterHeadingKeyPress();\r\n return true; // Prevents default behavior of the Enter key\r\n },\r\n };\r\n },\r\n });\r\n\r\n const titleEditor = useEditor(\r\n {\r\n extensions: [...tipTapExtensions(\"Heading\"), TitleEnterKeyHandler],\r\n content: data?.title,\r\n onUpdate: async ({ editor }) => {\r\n let updatedNodes = [];\r\n setNodes((nds) => {\r\n const data = currNode?.resize ? nodeResizeData() : nds;\r\n updatedNodes = data.map((nd) => {\r\n if (nd.id === nodeId) {\r\n return {\r\n ...nd,\r\n data: {\r\n ...nd.data,\r\n title: editor.getHTML(),\r\n },\r\n };\r\n }\r\n return nd;\r\n });\r\n return updatedNodes; // Return updated nodes\r\n });\r\n debouncedUpdateHTML(updatedNodes);\r\n },\r\n onBlur({ editor }) {\r\n takeSnapshot({ nodes: getNodes(), edges: null });\r\n },\r\n editorProps: {\r\n handlePaste: (view, event) => {\r\n const pastedContent = event.clipboardData.getData(\"text/plain\");\r\n try {\r\n JSON.parse(pastedContent);\r\n // If it's valid JSON, prevent paste\r\n return true;\r\n } catch (e) {\r\n // If it's not valid JSON, allow paste\r\n return false;\r\n }\r\n },\r\n },\r\n onSelectionUpdate: async () => {\r\n const selection = window.getSelection();\r\n if (selection && selection.rangeCount > 0) {\r\n const range = selection.getRangeAt(0); // Get the range of selected text\r\n const rect = range.getBoundingClientRect(); // Get the bounding rectangle\r\n\r\n const x = rect.left;\r\n const y = rect.top;\r\n setFloatingMenu(\r\n floatingMenu === null\r\n ? {\r\n mouseX: x,\r\n mouseY: y + 15,\r\n }\r\n : null\r\n );\r\n }\r\n },\r\n },\r\n []\r\n );\r\n\r\n const editor = useEditor(\r\n {\r\n extensions: [...tipTapExtensions(\"Type something\")],\r\n content: data?.description,\r\n onUpdate: async ({ editor }) => {\r\n let updatedNodes = [];\r\n setNodes((nds) => {\r\n const data = currNode?.resize ? nodeResizeData() : nds;\r\n updatedNodes = data.map((nd) => {\r\n if (nd.id === nodeId) {\r\n return {\r\n ...nd,\r\n data: {\r\n ...nd.data,\r\n description: editor.getHTML(),\r\n },\r\n };\r\n }\r\n return nd;\r\n });\r\n return updatedNodes; // Return updated nodes\r\n });\r\n debouncedUpdateHTML(updatedNodes);\r\n },\r\n onBlur({ editor }) {\r\n takeSnapshot({ nodes: getNodes(), edges: null });\r\n },\r\n editorProps: {\r\n handlePaste: (view, event) => {\r\n const pastedContent = event.clipboardData.getData(\"text/plain\");\r\n try {\r\n JSON.parse(pastedContent);\r\n // If it's valid JSON, prevent paste\r\n return true;\r\n } catch (e) {\r\n // If it's not valid JSON, allow paste\r\n return false;\r\n }\r\n },\r\n },\r\n onSelectionUpdate: async () => {\r\n const selection = window.getSelection();\r\n if (selection && selection.rangeCount > 0) {\r\n const range = selection.getRangeAt(0);\r\n const rect = range.getBoundingClientRect();\r\n\r\n const x = rect.left;\r\n const y = rect.top;\r\n setFloatingMenu(\r\n floatingMenu === null\r\n ? {\r\n mouseX: x,\r\n mouseY: y + 15,\r\n }\r\n : null\r\n );\r\n }\r\n },\r\n },\r\n []\r\n );\r\n\r\n useEffect(() => {\r\n if (titleEditor && data?.title !== titleEditor?.getHTML()) {\r\n titleEditor?.commands?.setContent(data?.title);\r\n }\r\n if (editor && data?.description !== editor?.getHTML()) {\r\n editor?.commands?.setContent(data?.description);\r\n }\r\n }, [data?.title, data?.description]);\r\n\r\n const handleColorChange = (color) => {\r\n let updatedNodes = [];\r\n setNodes((nds) => {\r\n updatedNodes = nds.map((nd) => {\r\n if (nd.id === nodeId) {\r\n return {\r\n ...nd,\r\n data: {\r\n ...nd.data,\r\n documentColor: color,\r\n },\r\n };\r\n }\r\n return nd;\r\n });\r\n return updatedNodes;\r\n });\r\n debouncedUpdateJson(updatedNodes);\r\n };\r\n\r\n const handleEditTag = (index, value) => {\r\n setEditTagIndex(index);\r\n setEditTagValue(value);\r\n };\r\n\r\n const handleSaveEdit = (index) => {\r\n if (editTagValue.trim().length > 0) {\r\n let updatedNodes;\r\n setNodes((nds) => {\r\n updatedNodes = nds.map((nd) => {\r\n if (nd.id === nodeId) {\r\n return {\r\n ...nd,\r\n data: {\r\n ...nd.data,\r\n tag: nd.data?.tag?.map((tag, idx) => {\r\n if (idx === index) {\r\n return { ...tag, name: editTagValue };\r\n }\r\n return tag;\r\n }),\r\n },\r\n };\r\n }\r\n return nd;\r\n });\r\n return updatedNodes;\r\n });\r\n\r\n debouncedUpdateJson(updatedNodes);\r\n setEditTagIndex(null);\r\n setEditTagValue(\"\");\r\n setError(false);\r\n } else {\r\n setError(true);\r\n }\r\n };\r\n\r\n const handleRemoveTag = (index) => {\r\n let updatedNodes;\r\n setNodes((nds) => {\r\n updatedNodes = nds.map((nd) => {\r\n if (nd.id === nodeId) {\r\n return {\r\n ...nd,\r\n data: {\r\n ...nd.data,\r\n tag: nd?.data?.tag.filter((_, i) => i !== index),\r\n },\r\n };\r\n }\r\n return nd;\r\n });\r\n return updatedNodes;\r\n });\r\n\r\n debouncedUpdateJson(updatedNodes);\r\n setError(false);\r\n };\r\n\r\n const toggleLockUnlock = () => {\r\n let parsedData = {};\r\n if (user_data) {\r\n parsedData = JSON.parse(user_data);\r\n }\r\n setNodes((nodes) => {\r\n const updatedNodes = nodes.map((nd) => {\r\n if (nd.id === nodeId) {\r\n return {\r\n ...nd,\r\n data: {\r\n ...nd.data,\r\n locked: !nd?.data?.locked,\r\n },\r\n };\r\n }\r\n return nd;\r\n });\r\n\r\n const search = new URLSearchParams(location.search);\r\n const a_id = search.get(\"a_id\");\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: architectureId,\r\n dispatch,\r\n undo,\r\n a_id,\r\n takeSnapshot,\r\n });\r\n\r\n return updatedNodes;\r\n });\r\n };\r\n\r\n const handleClickOutside = (event) => {\r\n const isColorPickerOpen = document.getElementById(\"rbgcp-wrapper\");\r\n\r\n // if (\r\n // !isColorPickerOpen &&\r\n // textColorPopupRef.current &&\r\n // !textColorPopupRef.current.contains(event.target)\r\n // ) {\r\n // setShowColor(false);\r\n // }\r\n // if (textPopupRef.current && !textPopupRef.current.contains(event.target)) {\r\n // setShowTextColor(false);\r\n // }\r\n if (fontstyle.current && !fontstyle.current.contains(event.target)) {\r\n setShowFontStyle(false);\r\n }\r\n if (fontList.current && !fontList.current.contains(event.target)) {\r\n setShowListTypes(false);\r\n }\r\n if (fontAlign.current && !fontAlign.current.contains(event.target)) {\r\n setShowAlignment(false);\r\n }\r\n if (\r\n fontFamilyRef.current &&\r\n !fontFamilyRef.current.contains(event.target)\r\n ) {\r\n setShowFontFamily(false);\r\n }\r\n if (fontSizeRef.current && !fontSizeRef.current.contains(event.target)) {\r\n setShowFontSizeOpt(false);\r\n }\r\n if (linkRef.current && !linkRef.current.contains(event.target)) {\r\n setShowLink(false);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n document.addEventListener(\"mousedown\", handleClickOutside);\r\n return () => {\r\n document.removeEventListener(\"mousedown\", handleClickOutside);\r\n };\r\n }, []);\r\n\r\n const closeAllTools = () => {\r\n setShowAlignment(false);\r\n setShowFontSizeOpt(false);\r\n setShowFontFamily(false);\r\n setShowColor(false);\r\n setShowTextColor(false);\r\n setShowLink(false);\r\n setShowListTypes(false);\r\n setShowReaction(false);\r\n setShowCardMoreOptions(false);\r\n };\r\n\r\n useEffect(() => {\r\n if (!node.selected) {\r\n closeAllTools();\r\n }\r\n }, [node.selected]);\r\n\r\n const timerForEditor = useRef();\r\n const selectedTextRef = useRef();\r\n const onEditorClick = (event) => {\r\n event.stopPropagation();\r\n clearTimeout(timerForEditor.current);\r\n // Check if there is an active text selection\r\n if (!selectedTextRef.current) {\r\n const selection = window.getSelection();\r\n if (selection && selection.type === \"Range\") {\r\n selectedTextRef.current = true;\r\n return; // Do nothing if there is an active text selection\r\n }\r\n } else {\r\n selectedTextRef.current = false;\r\n }\r\n if (event.detail === 1) {\r\n timerForEditor.current = setTimeout(() => {\r\n // setIsEditorShow(true);\r\n setTimeout(() => {\r\n if (editor) {\r\n editor.commands.focus();\r\n const pos = editor.view.posAtCoords({\r\n left: event.clientX,\r\n top: event.clientY,\r\n });\r\n if (pos) {\r\n editor.commands.setTextSelection(pos.pos);\r\n }\r\n }\r\n if (titleEditor) {\r\n titleEditor.commands.focus();\r\n const pos = titleEditor.view.posAtCoords({\r\n left: event.clientX,\r\n top: event.clientY,\r\n });\r\n if (pos) {\r\n titleEditor.commands.setTextSelection(pos.pos);\r\n }\r\n }\r\n }, 0);\r\n }, 250);\r\n } else if (event.detail === 2) {\r\n }\r\n };\r\n\r\n const toggleBold = () => {\r\n if (showTextEditor) {\r\n // editor.chain().focus().toggleBold().run();\r\n if (editor.state.selection.empty) {\r\n editor.chain().focus().selectParentNode().toggleBold().run();\r\n } else {\r\n editor.chain().focus().toggleBold().run();\r\n }\r\n const isBold = editor.isActive(\"bold\");\r\n setFontStyleEditor({\r\n ...fontstyleEditor,\r\n isBold: isBold,\r\n });\r\n } else if (showEdit) {\r\n // titleEditor.chain().focus().toggleBold().run();\r\n if (titleEditor.state.selection.empty) {\r\n titleEditor.chain().focus().selectParentNode().toggleBold().run();\r\n } else {\r\n titleEditor.chain().focus().toggleBold().run();\r\n }\r\n const isBold = titleEditor.isActive(\"bold\");\r\n setFontStyleEditor({\r\n ...fontstyleEditor,\r\n isBold: isBold,\r\n });\r\n }\r\n };\r\n const toggleItalic = () => {\r\n if (showTextEditor) {\r\n // editor.chain().focus().toggleItalic().run();\r\n if (editor.state.selection.empty) {\r\n editor.chain().focus().selectParentNode().toggleItalic().run();\r\n } else {\r\n editor.chain().focus().toggleItalic().run();\r\n }\r\n const isItalic = editor.isActive(\"italic\");\r\n setFontStyleEditor({\r\n ...fontstyleEditor,\r\n isItalic: isItalic,\r\n });\r\n } else if (showEdit) {\r\n // titleEditor.chain().focus().toggleItalic().run();\r\n if (titleEditor.state.selection.empty) {\r\n titleEditor.chain().focus().selectParentNode().toggleItalic().run();\r\n } else {\r\n titleEditor.chain().focus().toggleItalic().run();\r\n }\r\n const isItalic = titleEditor.isActive(\"italic\");\r\n setFontStyleEditor({\r\n ...fontstyleEditor,\r\n isItalic: isItalic,\r\n });\r\n }\r\n };\r\n\r\n const toggleUnderline = () => {\r\n if (showTextEditor) {\r\n // editor.chain().focus().toggleUnderline().run();\r\n if (editor.state.selection.empty) {\r\n editor.chain().focus().selectParentNode().toggleUnderline().run();\r\n } else {\r\n editor.chain().focus().toggleUnderline().run();\r\n }\r\n const isUnderline = editor.isActive(\"underline\");\r\n setFontStyleEditor({\r\n ...fontstyleEditor,\r\n isUnderline: isUnderline,\r\n });\r\n } else if (showEdit) {\r\n if (titleEditor.state.selection.empty) {\r\n titleEditor.chain().focus().selectParentNode().toggleUnderline().run();\r\n } else {\r\n titleEditor.chain().focus().toggleUnderline().run();\r\n }\r\n const isUnderline = titleEditor.isActive(\"underline\");\r\n setFontStyleEditor({\r\n ...fontstyleEditor,\r\n isUnderline: isUnderline,\r\n });\r\n // titleEditor.chain().focus().toggleUnderline().run();\r\n }\r\n };\r\n\r\n const toggleStrike = () => {\r\n if (showTextEditor) {\r\n // editor.chain().focus().toggleStrike().run();\r\n if (editor.state.selection.empty) {\r\n editor.chain().focus().selectParentNode().toggleStrike().run();\r\n } else {\r\n editor.chain().focus().toggleStrike().run();\r\n }\r\n const isStrike = editor.isActive(\"strike\");\r\n setFontStyleEditor({\r\n ...fontstyleEditor,\r\n isStrikethrough: isStrike,\r\n });\r\n } else if (showEdit) {\r\n if (titleEditor.state.selection.empty) {\r\n titleEditor.chain().focus().selectParentNode().toggleStrike().run();\r\n } else {\r\n titleEditor.chain().focus().toggleStrike().run();\r\n }\r\n const isStrike = titleEditor.isActive(\"strike\");\r\n setFontStyleEditor({\r\n ...fontstyleEditor,\r\n isStrikethrough: isStrike,\r\n });\r\n // titleEditor.chain().focus().toggleStrike().run();\r\n }\r\n };\r\n\r\n const handleClick = (event) => {\r\n setAnchorEl(event.currentTarget);\r\n setOpen((previousOpen) => !previousOpen);\r\n };\r\n\r\n const handleClickAssign = (event) => {\r\n getArchitectureMembers();\r\n setAnchorElAssign(event.currentTarget);\r\n setOpenAssign((previousOpen) => !previousOpen);\r\n };\r\n\r\n const handleClickStatus = (event) => {\r\n setAnchorElStatus(event.currentTarget);\r\n setOpenStatus((previousOpen) => !previousOpen);\r\n };\r\n\r\n const handleClickTag = (event) => {\r\n setAnchorElTag(event.currentTarget);\r\n setOpenTag((previousOpen) => !previousOpen);\r\n };\r\n\r\n const handlePriorityClick = (name) => {\r\n let updatedNodes = [];\r\n setOpen(false);\r\n setNodes((nds) => {\r\n updatedNodes = nds.map((nd) => {\r\n if (nd.id === nodeId) {\r\n return {\r\n ...nd,\r\n data: {\r\n ...nd.data,\r\n priority: name === \"Clear\" ? \"\" : name,\r\n },\r\n };\r\n }\r\n return nd;\r\n });\r\n return updatedNodes;\r\n });\r\n\r\n debouncedUpdateJson(updatedNodes);\r\n };\r\n\r\n const handleStatusClick = (name) => {\r\n let updatedNodes = [];\r\n setOpenStatus(false);\r\n setNodes((nds) => {\r\n updatedNodes = nds.map((nd) => {\r\n if (nd.id === nodeId) {\r\n return {\r\n ...nd,\r\n data: {\r\n ...nd.data,\r\n status: name === \"Clear\" ? \"\" : name,\r\n },\r\n };\r\n }\r\n return nd;\r\n });\r\n return updatedNodes;\r\n });\r\n\r\n debouncedUpdateJson(updatedNodes);\r\n };\r\n\r\n const getArchitectureMembers = useCallback(async () => {\r\n const response = await commanService.getApi(\r\n \"drawboard/v1\",\r\n `architectures/members/${boardData?.architecture_id}`\r\n );\r\n\r\n setMembers(response?.data?.data);\r\n }, [boardData]);\r\n\r\n const handleChageDate = (date) => {\r\n let updatedNodes = [];\r\n setNodes((nds) => {\r\n updatedNodes = nds.map((nd) => {\r\n if (nd.id === nodeId) {\r\n return {\r\n ...nd,\r\n data: {\r\n ...nd.data,\r\n date: date.toLocaleDateString(),\r\n },\r\n };\r\n }\r\n return nd;\r\n });\r\n return updatedNodes;\r\n });\r\n\r\n debouncedUpdateJson(updatedNodes);\r\n };\r\n\r\n const handleClearDate = () => {\r\n let updatedNodes = [];\r\n setNodes((nds) => {\r\n updatedNodes = nds.map((nd) => {\r\n if (nd.id === nodeId) {\r\n return {\r\n ...nd,\r\n data: {\r\n ...nd.data,\r\n date: null,\r\n },\r\n };\r\n }\r\n return nd;\r\n });\r\n return updatedNodes;\r\n });\r\n debouncedUpdateJson(updatedNodes);\r\n };\r\n\r\n async function handleArchitectureResponse() {\r\n const search = new URLSearchParams(location.search);\r\n const a_id = search.get(\"a_id\");\r\n const projectRes = a_id\r\n ? \"\"\r\n : await commanService.getApi(\r\n \"drawboard/v1\",\r\n `projects/${architectureData?.project_id}`\r\n );\r\n setBoardData({\r\n ...architectureData,\r\n project_name: a_id ? \"\" : projectRes.data.data.project_name,\r\n type: \"chart\",\r\n // team_name: teamRes.data.data.teamInfo.team_name,\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n if (architectureData?.architecture_id) {\r\n handleArchitectureResponse();\r\n }\r\n }, [architectureData?.architecture_id]);\r\n\r\n const filteredMembers =\r\n members &&\r\n members?.filter((member) => {\r\n const fullName =\r\n `${member.first_name} ${member?.last_name}`.toLowerCase();\r\n return fullName.includes(searchValue.toLowerCase());\r\n });\r\n\r\n const fillColor = data?.priority && getPriorityFill(data?.priority);\r\n const fillColorStatus = data?.status && getStatusFill(data?.status);\r\n\r\n const handleMemberSelect = (user) => {\r\n let updatedNodes = [];\r\n\r\n setNodes((nds) => {\r\n updatedNodes = nds.map((nd) => {\r\n if (nd.id === nodeId) {\r\n const isUserAssigned = nd.data?.assign?.some(\r\n (e) => e.user_id === user.user_id && e.email_id === user?.email_id\r\n );\r\n\r\n // If the user is already assigned, remove them; otherwise, add them\r\n const updatedAssign = isUserAssigned\r\n ? nd.data.assign.filter(\r\n (e) =>\r\n !(e.user_id === user.user_id && e.email_id === user?.email_id)\r\n )\r\n : [...(nd.data.assign || []), user];\r\n\r\n return {\r\n ...nd,\r\n data: {\r\n ...nd.data,\r\n assign: updatedAssign,\r\n },\r\n };\r\n }\r\n return nd;\r\n });\r\n\r\n return updatedNodes;\r\n });\r\n\r\n debouncedUpdateJson(updatedNodes);\r\n };\r\n\r\n const handleAddTag = () => {\r\n if (newTag.trim() !== \"\" && data?.tag?.length < 8) {\r\n let updatedNodes = [];\r\n setNodes((nds) => {\r\n updatedNodes = nds.map((nd) => {\r\n if (nd.id === nodeId) {\r\n return {\r\n ...nd,\r\n data: {\r\n ...nd.data,\r\n tag: [...nd.data.tag, { name: newTag, color: randomColor() }],\r\n },\r\n };\r\n }\r\n return nd;\r\n });\r\n return updatedNodes;\r\n });\r\n debouncedUpdateJson(updatedNodes);\r\n setNewTag(\"\");\r\n setError(false);\r\n } else {\r\n setError(true);\r\n }\r\n };\r\n\r\n const debouncedUpdateHTML = useMemo(() => {\r\n return debounce((updatedNodes) => {\r\n const search = new URLSearchParams(location.search);\r\n const a_id = search.get(\"a_id\");\r\n updateJson({\r\n json: {\r\n architecture_json: {\r\n nodes: updatedNodes,\r\n },\r\n },\r\n id: architectureId,\r\n dispatch,\r\n undo,\r\n a_id,\r\n });\r\n }, 500);\r\n }, [setNodes]);\r\n\r\n const updateTextAlignment = (alignment) => {\r\n if (showTextEditor) {\r\n editor?.chain().focus().setTextAlign(alignment).run();\r\n const currentAlignment =\r\n editor.getAttributes(\"textAlign\").textAlign || \"left\";\r\n setCurrentTextAlign(alignment);\r\n } else if (showEdit) {\r\n titleEditor?.chain().focus().setTextAlign(alignment).run();\r\n const currentAlignment =\r\n editor.getAttributes(\"textAlign\").textAlign || \"left\";\r\n setCurrentTextAlign(alignment);\r\n }\r\n };\r\n\r\n const debouncedUpdateJson = useCallback(\r\n debounce((tempNodes) => {\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 updateJson({\r\n json: {\r\n architecture_json: {\r\n nodes: tempNodes.length > 0 ? tempNodes : getNodes(),\r\n lastUpdatedBy: parsedData?.user_id,\r\n },\r\n },\r\n id: architectureId,\r\n dispatch,\r\n undo,\r\n takeSnapshot,\r\n a_id,\r\n });\r\n }, 200), // Adjust the delay (in milliseconds) as needed\r\n [updateJson, user_data, undo, location, getNodes]\r\n );\r\n\r\n const editorElements = document.querySelectorAll(\".tiptap, .tiptap *\");\r\n editorElements.forEach((element) => {\r\n element.addEventListener(\r\n \"mousedown\",\r\n (e) => {\r\n e.stopPropagation();\r\n },\r\n true\r\n );\r\n });\r\n\r\n const zoom = useStore((state) =>\r\n (node?.selected || showDots) && !isNodeSelectionStarted\r\n ? state?.transform?.[2]\r\n : 1\r\n );\r\n const sizeAsPerZoom =\r\n (node?.data?.width > node?.data?.height\r\n ? node?.data?.width\r\n : node?.data?.height) * zoom || 100;\r\n useEffect(() => {\r\n if (mainRef.current && !isNodeSelectionStarted) {\r\n setZoomPercentages(zoom * 100);\r\n }\r\n }, [zoom]);\r\n\r\n const isWidthLessthan25 = useMemo(\r\n () => 12.5 < zoomPercentages && zoomPercentages <= 25,\r\n [zoomPercentages]\r\n );\r\n\r\n const isWidthLessthan50 = useMemo(\r\n () => 25 < zoomPercentages && zoomPercentages <= 50,\r\n [zoomPercentages]\r\n );\r\n\r\n const isWidthLessthan100 = useMemo(\r\n () => 50 < zoomPercentages && zoomPercentages <= 100,\r\n [zoomPercentages]\r\n );\r\n\r\n const isNodeSelected = getNodes().filter(\r\n (nd) => nd.id === nodeId && node.selected\r\n );\r\n\r\n const frameMoreOptionsRef = useRef(null);\r\n const reactionRef = useRef(null);\r\n\r\n // const hasGivenIconClass = (target, className) => {\r\n // while (target) {\r\n // if (target.classList.contains(className)) {\r\n // return true;\r\n // }\r\n // target = target.parentElement;\r\n // }\r\n // return false;\r\n // };\r\n\r\n const handleClickOutside1 = (event) => {\r\n if (\r\n frameMoreOptionsRef.current &&\r\n !frameMoreOptionsRef.current.contains(event.target)\r\n ) {\r\n setShowCardMoreOptions(false);\r\n }\r\n if (reactionRef.current && !reactionRef.current.contains(event.target)) {\r\n setShowReaction(false);\r\n }\r\n // if (!hasGivenIconClass(event.target, \"react-flow__node\") && !hasGivenIconClass(event.target, \"bg-color-tool\") && !hasGivenIconClass(event.target, \"custom-color-popover\")) {\r\n // setShowEdit(false);\r\n // }\r\n };\r\n\r\n const debouncedUpdateFontSize = debounce((fontSize) => {\r\n // Ensure fontSize is within the valid range (1-300)\r\n const validatedSize = Math.min(Math.max(parseInt(fontSize) || 1, 1), 300);\r\n\r\n if (editor.state.selection.empty && titleEditor.state.selection.empty) {\r\n setNodes((prevNodes) => {\r\n const updatedNodes = prevNodes.map((node) => {\r\n if (node.id === nodeId) {\r\n return {\r\n ...node,\r\n data: {\r\n ...node.data,\r\n ...node?.data?.title ? { title: sanitizeHtml(node.data.title, \"font-size\") } : {},\r\n ...node?.data?.description ? { description: sanitizeHtml(node.data.description, \"font-size\") } : {},\r\n style: {\r\n ...node.data?.style,\r\n fontSize: `${validatedSize}px`,\r\n }\r\n },\r\n };\r\n }\r\n debouncedUpdateJson(updatedNodes);\r\n return node;\r\n });\r\n })\r\n } else {\r\n if (showTextEditor) {\r\n editor.chain().focus().setFontSize(`${validatedSize}px`).run();\r\n } else if (showEdit) {\r\n titleEditor.chain().focus().setFontSize(`${validatedSize}px`).run();\r\n }\r\n }\r\n\r\n setSelectedFontSize(`${validatedSize}px`);\r\n }, 300);\r\n\r\n const handleUpdateFontSize = (fontSize) => {\r\n const sizeValue = parseInt(fontSize) || 1;\r\n const clampedSize = Math.min(Math.max(sizeValue, 1), 22);\r\n\r\n setSelectedFontSize(`${clampedSize}px`);\r\n debouncedUpdateFontSize(clampedSize);\r\n };\r\n\r\n const handleFontSizeChange = (action) => {\r\n const currentFontSize = parseInt(selectedFontSize);\r\n let newFontSize = currentFontSize;\r\n if (action === \"increase\" && currentFontSize <= 22) {\r\n newFontSize = currentFontSize + 1;\r\n } else if (action === \"decrease\" && currentFontSize > 1) {\r\n newFontSize = currentFontSize - 1;\r\n }\r\n\r\n if (editor.state.selection.empty && titleEditor.state.selection.empty) {\r\n setNodes((prevNodes) => {\r\n const updatedNodes = prevNodes.map((node) => {\r\n if (node.id === nodeId) {\r\n return {\r\n ...node,\r\n data: {\r\n ...node.data,\r\n ...node?.data?.title ? { title: sanitizeHtml(node.data.title, \"font-size\") } : {},\r\n ...node?.data?.description ? { description: sanitizeHtml(node.data.description, \"font-size\") } : {},\r\n style: {\r\n ...node.data?.style,\r\n fontSize: `${newFontSize}px`,\r\n }\r\n },\r\n };\r\n }\r\n return node;\r\n });\r\n\r\n debouncedUpdateJson(updatedNodes);\r\n\r\n return updatedNodes;\r\n })\r\n } else {\r\n if (showTextEditor) {\r\n editor.chain().focus().setFontSize(`${newFontSize}px`).run();\r\n } else if (showEdit) {\r\n titleEditor.chain().focus().setFontSize(`${newFontSize}px`).run();\r\n }\r\n }\r\n setSelectedFontSize(`${newFontSize}px`);\r\n };\r\n\r\n const handleChangeFontFamily = (val) => {\r\n if (editor.state.selection.empty && titleEditor.state.selection.empty) {\r\n setNodes((prevNodes) => {\r\n const updatedNodes = prevNodes.map((node) => {\r\n if (node.id === nodeId) {\r\n return {\r\n ...node,\r\n data: {\r\n ...node.data,\r\n ...node?.data?.title ? { title: sanitizeHtml(node.data.title, \"font-family\") } : {},\r\n ...node?.data?.description ? { description: sanitizeHtml(node.data.description, \"font-family\") } : {},\r\n style: {\r\n ...node.data?.style,\r\n fontFamily: val.family,\r\n }\r\n },\r\n };\r\n }\r\n return node;\r\n });\r\n\r\n debouncedUpdateJson(updatedNodes);\r\n\r\n return updatedNodes;\r\n })\r\n } else {\r\n if (showTextEditor) {\r\n editor.chain().focus().setFontFamily(val.family).run();\r\n } else if (showEdit) {\r\n titleEditor.chain().focus().setFontFamily(val.family).run();\r\n }\r\n }\r\n\r\n setShowFontFamily(false);\r\n setCurrentFontFamily(val?.name);\r\n }\r\n\r\n const handleChangeTextColor = (color) => {\r\n if (editor.state.selection.empty && titleEditor.state.selection.empty) {\r\n setNodes((prevNodes) => {\r\n const updatedNodes = prevNodes.map((node) => {\r\n if (node.id === nodeId) {\r\n return {\r\n ...node,\r\n data: {\r\n ...node.data,\r\n ...node?.data?.title ? { title: sanitizeHtml(node.data.title, \"color\") } : {},\r\n ...node?.data?.description ? { description: sanitizeHtml(node.data.description, \"color\") } : {},\r\n style: {\r\n ...node.data?.style,\r\n textColor: color,\r\n }\r\n },\r\n };\r\n }\r\n return node;\r\n });\r\n\r\n debouncedUpdateJson(updatedNodes);\r\n\r\n return updatedNodes;\r\n })\r\n } else {\r\n if (showTextEditor) {\r\n editor.chain().focus().setColor(color).run();\r\n } else if (showEdit) {\r\n titleEditor.chain().focus().setColor(color).run();\r\n }\r\n }\r\n\r\n setCurrentTextColor(color);\r\n }\r\n\r\n useEffect(() => {\r\n document.addEventListener(\"mousedown\", handleClickOutside1);\r\n return () => {\r\n document.removeEventListener(\"mousedown\", handleClickOutside1);\r\n };\r\n }, [showCardMoreOptions]);\r\n\r\n const getCurrentStyles = (editor) => {\r\n return {\r\n fontSize:\r\n editor.getAttributes(\"textStyle\").fontSize ||\r\n editor.getAttributes(\"paragraph\").fontSize ||\r\n \"14px\",\r\n isBold: editor.isActive(\"bold\"),\r\n isItalic: editor.isActive(\"italic\"),\r\n isUnderline: editor.isActive(\"underline\"),\r\n isStrikethrough: editor.isActive(\"strike\"),\r\n textAlign: editor.isActive({ textAlign: \"left\" })\r\n ? \"left\"\r\n : editor.isActive({ textAlign: \"center\" })\r\n ? \"center\"\r\n : editor.isActive({ textAlign: \"right\" })\r\n ? \"right\"\r\n : \"left\",\r\n listType: editor.isActive(\"bulletList\")\r\n ? \"bullet\"\r\n : editor.isActive(\"orderedList\")\r\n ? \"ordered\"\r\n : editor.isActive(\"taskList\")\r\n ? \"taskList\"\r\n : null,\r\n textColor: editor.isActive(\"textStyle\")\r\n ? editor.getAttributes(\"textStyle\").color\r\n : editor.getAttributes(\"paragraph\").color,\r\n fontFamily:\r\n editor.getAttributes(\"fontFamily\").fontFamily ||\r\n editor.getAttributes(\"textStyle\").fontFamily ||\r\n \"default-font\",\r\n };\r\n };\r\n\r\n const hasSelectedText = (editor) => {\r\n // if (!editor) return false;\r\n\r\n // const { from, to } = editor.state.selection;\r\n // return from !== to;\r\n return true;\r\n };\r\n\r\n const shouldShowBox =\r\n (showEdit && hasSelectedText(titleEditor)) ||\r\n (showTextEditor && hasSelectedText(editor));\r\n\r\n // const checkSelection = () => {\r\n // const currentStyles = getCurrentStyles(editor);\r\n // const currentListType = currentStyles.listType;\r\n // const currentTextAlign = currentStyles.textAlign || \"left\";\r\n // const currentFontSize = currentStyles.fontSize || \"16\";\r\n // const currentTextColor = currentStyles.textColor || \"black\";\r\n // const currentFontFamily =\r\n // fontFamilyArr.find((font) => font.family === currentStyles.fontFamily)\r\n // ?.name || \"Inter\";\r\n // setCurrentFontFamily(currentFontFamily);\r\n // setCurrentTextColor(currentTextColor);\r\n // setSelectedFontSize(parseInt(currentFontSize, 10));\r\n // setCurrentTextAlign(currentTextAlign);\r\n // setCurrentListType(currentListType);\r\n // setFontStyleEditor({\r\n // isBold: currentStyles.isBold,\r\n // isUnderline: currentStyles.isUnderline,\r\n // isStrikethrough: currentStyles.isStrikethrough,\r\n // isItalic: currentStyles.isItalic,\r\n // });\r\n\r\n // const selection = window.getSelection();\r\n // if (selection && selection.rangeCount > 0) {\r\n // const range = selection.getRangeAt(0); // Get the range of selected text\r\n // const rect = range.getBoundingClientRect(); // Get the bounding rectangle\r\n\r\n // const x = rect.left;\r\n // const y = rect.top;\r\n // setFloatingMenu(\r\n // floatingMenu === null\r\n // ? {\r\n // mouseX: x,\r\n // mouseY: y + 15,\r\n // }\r\n // : null\r\n // );\r\n // }\r\n // };\r\n\r\n // const checkSelectionTitle = () => {\r\n // const currentStyles = getCurrentStyles(titleEditor);\r\n // const currentListType = currentStyles.listType;\r\n // const currentTextAlign = currentStyles.textAlign || \"left\";\r\n // const currentFontSize = currentStyles.fontSize || \"18\";\r\n // const currentTextColor = currentStyles.textColor || \"black\";\r\n // const currentFontFamily =\r\n // fontFamilyArr.find((font) => font.family === currentStyles.fontFamily)\r\n // ?.name || \"Inter\";\r\n // setCurrentFontFamily(currentFontFamily);\r\n // setCurrentTextColor(currentTextColor);\r\n // setSelectedFontSize(parseInt(currentFontSize, 10));\r\n // setCurrentTextAlign(currentTextAlign);\r\n // setCurrentListType(currentListType);\r\n // setFontStyleEditor({\r\n // isBold: currentStyles.isBold,\r\n // isUnderline: currentStyles.isUnderline,\r\n // isStrikethrough: currentStyles.isStrikethrough,\r\n // isItalic: currentStyles.isItalic,\r\n // });\r\n // };\r\n\r\n // useEffect(() => {\r\n // const attachListeners = () => {\r\n // if (editor) {\r\n // editor.on(\"selectionUpdate\", checkSelection);\r\n // }\r\n // if (titleEditor) {\r\n // titleEditor.on(\"selectionUpdate\", checkSelectionTitle);\r\n // }\r\n // };\r\n\r\n // const detachListeners = () => {\r\n // if (editor) {\r\n // editor.off(\"selectionUpdate\", checkSelection);\r\n // }\r\n // if (titleEditor) {\r\n // titleEditor.off(\"selectionUpdate\", checkSelectionTitle);\r\n // }\r\n // };\r\n\r\n // attachListeners();\r\n\r\n // return () => {\r\n // detachListeners();\r\n // };\r\n // }, [editor, titleEditor]);\r\n\r\n useEffect(() => {\r\n if (editor && showTextEditor) {\r\n const currentStyles = getCurrentStyles(editor);\r\n const currentListType = currentStyles.listType;\r\n const currentTextAlign = currentStyles.textAlign || \"left\";\r\n const currentFontSize = currentStyles.fontSize || \"18\";\r\n const currentTextColor = currentStyles.textColor || \"black\";\r\n const currentFontFamily =\r\n fontFamilyArr.find((font) => font.family === currentStyles.fontFamily)\r\n ?.name || \"Inter\";\r\n setCurrentFontFamily(currentFontFamily);\r\n setCurrentTextColor(currentTextColor);\r\n setSelectedFontSize(currentFontSize);\r\n setCurrentTextAlign(currentTextAlign);\r\n setCurrentListType(currentListType);\r\n setFontStyleEditor({\r\n isBold: currentStyles.isBold,\r\n isUnderline: currentStyles.isUnderline,\r\n isStrikethrough: currentStyles.isStrikethrough,\r\n isItalic: currentStyles.isItalic,\r\n });\r\n }\r\n if (titleEditor && showEdit) {\r\n const currentStyles = getCurrentStyles(titleEditor);\r\n const currentListType = currentStyles.listType;\r\n const currentTextAlign = currentStyles.textAlign || \"left\";\r\n const currentFontSize = currentStyles.fontSize || \"18\";\r\n const currentTextColor = currentStyles.textColor || \"black\";\r\n const currentFontFamily =\r\n fontFamilyArr.find((font) => font.family === currentStyles.fontFamily)\r\n ?.name || \"Inter\";\r\n setCurrentFontFamily(currentFontFamily);\r\n setCurrentTextColor(currentTextColor);\r\n setSelectedFontSize(currentFontSize);\r\n setCurrentTextAlign(currentTextAlign);\r\n setCurrentListType(currentListType);\r\n setFontStyleEditor({\r\n isBold: currentStyles.isBold,\r\n isUnderline: currentStyles.isUnderline,\r\n isStrikethrough: currentStyles.isStrikethrough,\r\n isItalic: currentStyles.isItalic,\r\n });\r\n }\r\n }, [titleEditor, editor, showEdit, showTextEditor]);\r\n\r\n const handleCloseFloatingMenu = () => {\r\n setFloatingMenu(null);\r\n };\r\n\r\n const [resizedWidth, setResizedWidth] = useState(\"\");\r\n const [transformScale, setTransformScale] = useState(1);\r\n\r\n useEffect(() => {\r\n const width = currNode.style?.width;\r\n const height = currNode.style?.height;\r\n\r\n // Make sure both initialWidth and initialHeight are defined\r\n if (width && height) {\r\n const scaleX = width / 324;\r\n const scaleY = height / (cardRef?.current?.offsetHeight + 40);\r\n const scale = Math.min(scaleX, scaleY);\r\n setTransformScale(scale);\r\n }\r\n }, [currNode, resizedWidth]);\r\n\r\n const onResize = (event, { width, height }) => {\r\n // const titleHeight = title1Ref.current?.offsetHeight || 0;\r\n // const descriptionHeight = descriptionRef.current?.offsetHeight || 0;\r\n // const dataHeight = dataRef.current?.offsetHeight || 0;\r\n // const assignHeight = assignRef.current?.offsetHeight || 0;\r\n // const tagHeight = tagRef.current?.offsetHeight || 0;\r\n\r\n // const totalHeight =\r\n // titleHeight +\r\n // descriptionHeight +\r\n // dataHeight +\r\n // assignHeight +\r\n // tagHeight +\r\n // 30 +\r\n // 40;\r\n\r\n // const updatedNodes = getNodes().map((n) =>\r\n // n?.id === node?.id\r\n // ? {\r\n // ...n,\r\n // selected: true,\r\n // height: totalHeight,\r\n // style: {\r\n // ...n.style,\r\n // height: totalHeight,\r\n // },\r\n // }\r\n // : n\r\n // );\r\n setNodes((prev) => {\r\n return prev?.map((val) => {\r\n if (val?.id === nodeId) {\r\n return {\r\n ...val,\r\n resize: true,\r\n style: {\r\n ...val?.style,\r\n width,\r\n height,\r\n },\r\n };\r\n } else {\r\n return val;\r\n }\r\n });\r\n });\r\n // setResizedWidth(width);\r\n };\r\n\r\n // const onResizeEnd = (event, { width, height }) => {\r\n // let parsedData = {};\r\n // if (user_data) {\r\n // parsedData = JSON.parse(user_data);\r\n // }\r\n\r\n // setNodes((prev) => {\r\n // localStorage.setItem(\r\n // \"architectureJson\",\r\n // JSON.stringify({\r\n // architecture_json: {\r\n // nodes: prev,\r\n // // lastUpdatedBy: parsedData?.user_id,\r\n // lastEvent: ``,\r\n // },\r\n // })\r\n // );\r\n // let updatedNode;\r\n // const updatedNodes = prev?.map((val) => {\r\n // if (val?.id === nodeId) {\r\n // updatedNode = {\r\n // ...val,\r\n // style: {\r\n // ...val?.style,\r\n // width,\r\n // height,\r\n // },\r\n // };\r\n // return updatedNode;\r\n // } else {\r\n // return val;\r\n // }\r\n // });\r\n\r\n // const search = new URLSearchParams(location.search);\r\n // const a_id = search.get(\"a_id\");\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: architectureId,\r\n // dispatch,\r\n // undo,\r\n // a_id,\r\n // takeSnapshot,\r\n // });\r\n\r\n // return updatedNodes;\r\n // });\r\n // };\r\n\r\n const onResizeEnd = (node) => {\r\n let updatedNodes = [];\r\n let parsedData = {};\r\n if (user_data) {\r\n parsedData = JSON.parse(user_data);\r\n }\r\n setNodes((prev) => {\r\n localStorage.setItem(\r\n \"architectureJson\",\r\n JSON.stringify({\r\n architecture_json: {\r\n nodes: prev,\r\n lastEvent: ``,\r\n },\r\n })\r\n );\r\n updatedNodes = prev?.map((_) => {\r\n if (_?.id === node?.id) {\r\n _ = JSON.parse(JSON.stringify(_));\r\n _.style.width = Number(mainRef?.current?.offsetWidth);\r\n _.style.height = Number(mainRef?.current?.offsetHeight);\r\n return _;\r\n } else {\r\n return _;\r\n }\r\n });\r\n\r\n updatedNodes = updatedNodes?.map((n) => {\r\n const intersections = getIntersectingNodes(node, false);\r\n\r\n let groupNode = null;\r\n if (intersections?.length > 0) {\r\n groupNode = intersections[intersections?.length - 1];\r\n }\r\n\r\n if (\r\n node.type !== \"group\" &&\r\n node?.parentNode &&\r\n node?.parentNode === groupNode?.id\r\n ) {\r\n return n;\r\n } else if (\r\n intersections.length &&\r\n node?.parentNode !== groupNode?.id &&\r\n !node?.parentNode\r\n ) {\r\n if (n.id === groupNode.id) {\r\n return {\r\n ...n,\r\n className: \"\",\r\n };\r\n } else if (n.id === node.id && !n?.parentNode) {\r\n const position = getNodePositionInsideParent(n, groupNode) ?? {\r\n x: 0,\r\n y: 0,\r\n };\r\n return {\r\n ...n,\r\n position,\r\n parentNode: groupNode.id,\r\n };\r\n } else return n;\r\n } else if (\r\n node?.parentNode &&\r\n node?.parentNode !== groupNode?.id &&\r\n !groupNode\r\n ) {\r\n if ([node?.id].includes(n.id) && node?.parentNode) {\r\n const parentNode = store\r\n .getState()\r\n ?.nodeInternals?.get(node?.parentNode);\r\n if (parentNode) {\r\n return {\r\n ...n,\r\n position: {\r\n x: n.position.x + (parentNode?.positionAbsolute?.x ?? 0),\r\n y: n.position.y + (parentNode?.positionAbsolute?.y ?? 0),\r\n },\r\n expandParent: undefined,\r\n parentNode: undefined,\r\n };\r\n } else {\r\n return n;\r\n }\r\n } else {\r\n return n;\r\n }\r\n } else if (\r\n node?.parentNode &&\r\n node?.parentNode !== groupNode?.id &&\r\n groupNode\r\n ) {\r\n if (n?.id === node?.id) {\r\n n = structuredClone(n);\r\n n.parentNode = groupNode?.id;\r\n n.position = {\r\n x:\r\n (node?.positionAbsolute?.x || 0) -\r\n (groupNode?.positionAbsolute?.x || 0),\r\n y:\r\n (node?.positionAbsolute?.y || 0) -\r\n (groupNode?.positionAbsolute?.y || 0),\r\n };\r\n return n;\r\n } else return n;\r\n } else {\r\n if (n?.type === \"group\") {\r\n }\r\n return n;\r\n }\r\n });\r\n\r\n return updatedNodes;\r\n });\r\n\r\n const search = new URLSearchParams(location.search);\r\n const a_id = search.get(\"a_id\");\r\n updateJson({\r\n json: {\r\n architecture_json: {\r\n nodes: updatedNodes,\r\n lastUpdatedBy: parsedData?.user_id,\r\n lastEvent: `editor_changed_${node?.id}`,\r\n },\r\n },\r\n id,\r\n dispatch,\r\n undo,\r\n a_id,\r\n takeSnapshot,\r\n });\r\n };\r\n\r\n const nodeResizeData = () => {\r\n if (currNode?.resize) {\r\n const titleHeight = title1Ref.current?.offsetHeight || 0;\r\n const descriptionHeight = descriptionRef.current?.offsetHeight || 0;\r\n const dataHeight = dataRef.current?.offsetHeight || 0;\r\n const assignHeight = assignRef.current?.offsetHeight || 0;\r\n const tagHeight = tagRef.current?.offsetHeight || 0;\r\n\r\n const totalHeight =\r\n titleHeight +\r\n descriptionHeight +\r\n dataHeight +\r\n assignHeight +\r\n tagHeight +\r\n 40 +\r\n 40;\r\n\r\n const updatedNodes = getNodes().map((n) =>\r\n n?.id === node?.id\r\n ? {\r\n ...n,\r\n selected: true,\r\n height: totalHeight,\r\n style: {\r\n ...n.style,\r\n height: totalHeight,\r\n },\r\n }\r\n : n\r\n );\r\n return updatedNodes;\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (currNode?.resize) {\r\n if (\r\n title1Ref.current ||\r\n descriptionRef.current ||\r\n dataRef.current ||\r\n assignRef.current ||\r\n tagRef.current\r\n ) {\r\n const data = nodeResizeData();\r\n setNodes(data);\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 debouncedUpdateJson(getNodes());\r\n }\r\n }\r\n }, [\r\n title1Ref?.current,\r\n descriptionRef?.current,\r\n dataRef?.current,\r\n assignRef?.current,\r\n tagRef?.current,\r\n data?.tag?.length,\r\n ]);\r\n\r\n const selectedNodes = getNodes()?.filter((val) => val?.selected)?.length;\r\n\r\n const isMultiNodeSelected = useMemo(() => {\r\n return selectedNodes > 1;\r\n }, [selectedNodes]);\r\n\r\n useEffect(() => {\r\n setShowReaction(false);\r\n setShowListTypes(false);\r\n setShowAlignment(false);\r\n setShowTextColor(false);\r\n }, [node?.selected]);\r\n\r\n const addEmoji = (emoji) => {\r\n const addEmoji = getNodes().map((n) => {\r\n if (n.id === nodeId) {\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 setShowReaction(false);\r\n };\r\n\r\n const emojiData = getNodes()?.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 useEffect(() => {\r\n if (showTextEditor && editor) {\r\n editor.commands.focus();\r\n }\r\n }, [showTextEditor, editor]);\r\n\r\n const emojiD = emojiData[nodeId] || { emoji: {} };\r\n const emojiCount = Object?.values(emojiD)[0];\r\n\r\n return (\r\n \r\n \r\n 0 ? \"18px\" : \"12px\",\r\n \"& .is-editor-empty\": {\r\n textAlign: \"unset !important\",\r\n },\r\n }}\r\n ref={containerRef}\r\n width={284}\r\n onMouseEnter={() => {\r\n setIsHovered(true);\r\n }}\r\n onMouseLeave={() => {\r\n setIsHovered(false);\r\n }}\r\n onMouseOver={() => setShowDots(true)}\r\n onMouseOut={() => setShowDots(false)}\r\n >\r\n \r\n {\r\n if (node.selected) {\r\n setShowEdit(true);\r\n setShowTextEditor(false);\r\n if (titleEditor) {\r\n titleEditor?.commands.focus();\r\n }\r\n }\r\n }}\r\n style={{\r\n fontSize: node?.data?.style?.fontSize ?? \"18px\",\r\n fontFamily: node?.data?.style?.fontFamily ?? \"Inter\",\r\n color: node?.data?.style?.textColor ?? \"#18181B\",\r\n }}\r\n >\r\n {showEdit && node?.selected && !data?.locked ? (\r\n {\r\n e?.stopPropagation();\r\n e?.preventDefault();\r\n onEditorClick(e);\r\n }}\r\n style={{\r\n cursor: \"text\",\r\n width: \"100%\",\r\n marginBottom: \"none\",\r\n pointerEvents: titleEditor?.isFocused ? \"auto\" : \"none\",\r\n }}\r\n className=\"editortiptoptitle nodrag\"\r\n />\r\n ) : (\r\n 10 ? \"auto\" : \"hidden\",\r\n // fontSize: \"18px\",\r\n fontWeight: 600,\r\n // maxHeight: \"40px\",\r\n marginRight: \"20px !important\",\r\n color:\r\n removeHTMLTags(data?.title).trim().length > 0\r\n ? node?.data?.style?.textColor ?? \"#18181B\"\r\n : \"#A9A8A8\",\r\n }}\r\n className=\"card_title_box\"\r\n dangerouslySetInnerHTML={{\r\n __html:\r\n removeHTMLTags(data?.title).trim().length > 0\r\n ? data?.title\r\n : \"Heading\",\r\n }}\r\n />\r\n )}\r\n \r\n {!data?.locked && (\r\n \r\n {\r\n setShowCardModal(true);\r\n }}\r\n >\r\n \r\n \r\n \r\n )}\r\n\r\n {(showDescription || data?.description?.length > 0) && (\r\n {\r\n if (node.selected) {\r\n setShowTextEditor(true);\r\n setShowEdit(false);\r\n if (editor) {\r\n editor?.commands.focus();\r\n }\r\n }\r\n }}\r\n style={{\r\n fontSize: node?.data?.style?.fontSize ?? \"13.73px\",\r\n fontFamily: node?.data?.style?.fontFamily ?? \"Inter\",\r\n color: node?.data?.style?.textColor ?? \"#18181B\",\r\n }}\r\n >\r\n {showTextEditor && node?.selected && !data?.locked ? (\r\n {\r\n onEditorClick(e);\r\n }}\r\n style={{\r\n cursor: \"text\",\r\n width: \"100%\",\r\n marginBottom: \"none\",\r\n pointerEvents: editor?.isFocused ? \"auto\" : \"none\",\r\n }}\r\n className=\"editortiptop nodrag\"\r\n />\r\n ) : (\r\n 0\r\n ? node?.data?.style?.textColor ?? \"#18181B\"\r\n : \"#A9A8A8\",\r\n }}\r\n className=\"card_description_box\"\r\n dangerouslySetInnerHTML={{\r\n __html:\r\n removeHTMLTags(data?.description).trim().length > 0\r\n ? data?.description\r\n : \"Type something\",\r\n }}\r\n />\r\n )}\r\n \r\n )}\r\n \r\n {data?.priority && (\r\n \r\n {\" \"}\r\n \r\n {data?.priority}{\" \"}\r\n \r\n )}\r\n\r\n {data?.status && (\r\n \r\n \r\n {fillColorStatus?.Icon && (\r\n \r\n )}\r\n \r\n {data?.status} \r\n \r\n )}\r\n\r\n {data?.date && (\r\n \r\n {/* */}\r\n \r\n \r\n {data?.date}\r\n \r\n \r\n )}\r\n \r\n\r\n {data?.assign?.length > 0 && (\r\n \r\n \r\n {data?.assign?.slice(0, 5).map((val, index) => (\r\n \r\n {val?.profile_picture ? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n {val?.first_name[0]?.toUpperCase()}\r\n \r\n )}\r\n \r\n \r\n {val?.first_name} {val?.last_name}\r\n \r\n \r\n \r\n ))}\r\n \r\n }\r\n placement=\"bottom\"\r\n isAvatarGroup\r\n >\r\n \r\n {data?.assign.slice(0, 5).map((val, index) => (\r\n \r\n {val?.profile_picture ? (\r\n \r\n ) : (\r\n \r\n {val?.first_name[0]?.toUpperCase()}\r\n \r\n )}\r\n \r\n ))}\r\n {data?.assign.length > 5 && (\r\n \r\n \r\n +{5}\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n )}\r\n\r\n {data?.tag?.length > 0 && (\r\n \r\n {data?.tag?.map((val, index) => {\r\n return (\r\n \r\n {val.name.length > 20\r\n ? `${val.name.slice(0, 20)}...`\r\n : val.name}\r\n \r\n );\r\n })}\r\n \r\n )}\r\n \r\n {!isDownload && !copyAsImage && !showExport && !data?.locked && (\r\n <>\r\n {node?.selected &&\r\n !showExport &&\r\n !isNodeSelectionStarted &&\r\n !copyAsImage && (\r\n <>\r\n onResizeEnd(node, true)}\r\n minWidth={324}\r\n minHeight={cardRef?.current?.offsetHeight + 40}\r\n handleStyle={{\r\n display: \"none\",\r\n }}\r\n // maxHeight={(cardRef?.current?.offsetHeight + 40) * 2}\r\n // maxWidth={800}\r\n onResize={onResize}\r\n />\r\n onResizeEnd(node)}\r\n minWidth={324}\r\n minHeight={cardRef?.current?.offsetHeight + 40}\r\n style={{\r\n zIndex: 999999999999,\r\n backgroundColor: \"transparent\",\r\n border: \"1px solid transparent\",\r\n }}\r\n // maxHeight={(cardRef?.current?.offsetHeight + 40) * 2}\r\n // maxWidth={800}\r\n onResize={onResize}\r\n >\r\n \r\n \r\n onResizeEnd(node)}\r\n minWidth={324}\r\n minHeight={cardRef?.current?.offsetHeight + 40}\r\n style={{\r\n zIndex: 999999999999,\r\n backgroundColor: \"transparent\",\r\n border: \"1px solid transparent\",\r\n }}\r\n // maxHeight={(cardRef?.current?.offsetHeight + 40) * 2}\r\n // maxWidth={800}\r\n onResize={onResize}\r\n >\r\n \r\n \r\n onResizeEnd(node)}\r\n minWidth={324}\r\n minHeight={cardRef?.current?.offsetHeight + 40}\r\n style={{\r\n zIndex: 999999999999,\r\n backgroundColor: \"transparent\",\r\n border: \"1px solid transparent\",\r\n }}\r\n // maxHeight={(cardRef?.current?.offsetHeight + 40) * 2}\r\n // maxWidth={800}\r\n onResize={onResize}\r\n >\r\n \r\n \r\n onResizeEnd(node)}\r\n minWidth={324}\r\n minHeight={cardRef?.current?.offsetHeight + 40}\r\n style={{\r\n zIndex: 999999999999,\r\n backgroundColor: \"transparent\",\r\n border: \"1px solid transparent\",\r\n }}\r\n // maxHeight={(cardRef?.current?.offsetHeight + 40) * 2}\r\n // maxWidth={800}\r\n onResize={onResize}\r\n >\r\n \r\n \r\n \r\n )}\r\n\r\n {!node?.dragging && !showExport && !copyAsImage && (\r\n <>\r\n {\" \"}\r\n \r\n console.log(\"handle onConnect\", params)\r\n }\r\n onMouseOver={() => {\r\n setShowDots(true);\r\n setHoveredItem(\"left\");\r\n }}\r\n onMouseLeave={() => {\r\n setShowDots(false);\r\n setHoveredItem(\"\");\r\n }}\r\n onClick={(e) => {\r\n e.preventDefault();\r\n }}\r\n >\r\n {(!isNodeSelectionStarted || isNodeSelected <= 0) && (\r\n \r\n )}\r\n \r\n \r\n console.log(\"handle onConnect\", params)\r\n }\r\n onMouseOver={() => {\r\n setShowDots(true);\r\n setHoveredItem(\"right\");\r\n }}\r\n onMouseLeave={() => {\r\n setShowDots(false);\r\n setHoveredItem(\"\");\r\n }}\r\n onClick={(e) => {\r\n e.preventDefault();\r\n }}\r\n >\r\n {(!isNodeSelectionStarted || isNodeSelected <= 0) && (\r\n \r\n )}\r\n \r\n {\r\n setShowDots(true);\r\n setHoveredItem(\"top\");\r\n }}\r\n onMouseLeave={() => {\r\n setShowDots(false);\r\n setHoveredItem(\"\");\r\n }}\r\n onClick={(e) => {\r\n e.preventDefault();\r\n }}\r\n >\r\n {(!isNodeSelectionStarted || isNodeSelected <= 0) && (\r\n \r\n )}\r\n \r\n \r\n console.log(\"handle onConnect\", params)\r\n }\r\n onMouseOver={() => {\r\n setShowDots(true);\r\n setHoveredItem(\"bottom\");\r\n }}\r\n onMouseLeave={() => {\r\n setShowDots(false);\r\n setHoveredItem(\"\");\r\n }}\r\n onClick={(e) => {\r\n e.preventDefault();\r\n }}\r\n >\r\n {(!isNodeSelectionStarted || isNodeSelected <= 0) && (\r\n \r\n )}\r\n \r\n \r\n )}\r\n \r\n )}\r\n {!copyAsImage && (\r\n \r\n \r\n {data?.emoji?.length > 0 &&\r\n Object?.values(emojiCount)?.map((emoji, i) => {\r\n return (\r\n {\r\n const addEmoji = getNodes().map((n) => {\r\n if (n.id === nodeId) {\r\n const existingEmojiIndex =\r\n n?.data?.emoji?.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\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 }\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 }}\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 setAnchorEl(null)}\r\n anchorOrigin={{\r\n vertical: \"bottom\",\r\n horizontal: \"center\",\r\n }}\r\n transformOrigin={{\r\n vertical: \"top\",\r\n horizontal: \"center\",\r\n }}\r\n sx={{\r\n \"& .MuiPaper-root\": {\r\n p: \"10px\",\r\n ml: \"-10px\",\r\n mt: \"5px\",\r\n width: 209,\r\n boxShadow: \"none\",\r\n bgcolor: \"transparent\",\r\n },\r\n }}\r\n BackdropProps={{\r\n style: { backgroundColor: \"transparent\" },\r\n onClick: () => setOpen(false),\r\n }}\r\n >\r\n \r\n {priorityDropdown.map(({ Icon, name, fill }, i) => {\r\n return (\r\n \r\n {i === priorityDropdown.length - 1 && (\r\n \r\n )}\r\n\r\n {\r\n handlePriorityClick(name, fill);\r\n }}\r\n >\r\n \r\n \r\n \r\n {name}\r\n \r\n \r\n {data?.priority === name && (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n setAnchorElStatus(null)}\r\n anchorOrigin={{\r\n vertical: \"bottom\",\r\n horizontal: \"center\",\r\n }}\r\n transformOrigin={{\r\n vertical: \"top\",\r\n horizontal: \"center\",\r\n }}\r\n sx={{\r\n \"& .MuiPaper-root\": {\r\n p: \"10px\",\r\n ml: \"-10px\",\r\n mt: \"5px\",\r\n width: 209,\r\n boxShadow: \"none\",\r\n bgcolor: \"transparent\",\r\n },\r\n }}\r\n BackdropProps={{\r\n style: { backgroundColor: \"transparent\" },\r\n onClick: () => setOpenStatus(false),\r\n }}\r\n >\r\n \r\n {statusDropdown.map(({ Icon, name, fill }, i) => {\r\n return (\r\n \r\n {i === statusDropdown.length - 1 && (\r\n \r\n )}\r\n\r\n {\r\n handleStatusClick(name);\r\n }}\r\n >\r\n \r\n \r\n \r\n {name}\r\n \r\n \r\n {name === data?.status && (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n setAnchorElAssign(null)}\r\n anchorOrigin={{\r\n vertical: \"bottom\",\r\n horizontal: \"center\",\r\n }}\r\n transformOrigin={{\r\n vertical: \"top\",\r\n horizontal: \"center\",\r\n }}\r\n sx={{\r\n \"& .MuiPaper-root\": {\r\n ml: \"-10px\",\r\n width: 277,\r\n mt: \"24px\",\r\n boxShadow: \"0px 2px 8px 0px #030B160D\",\r\n border: \"1px solid #EFF0F3\",\r\n borderRadius: \"10px\",\r\n // top: \"720px !important\",\r\n // left: \"547px !important\",\r\n bgcolor: \"transparent\",\r\n },\r\n }}\r\n BackdropProps={{\r\n style: { backgroundColor: \"transparent\" },\r\n onClick: () => setOpenAssign(false),\r\n }}\r\n >\r\n \r\n \r\n setSearchValue(e.target.value)}\r\n placeholder={\"Search person\"}\r\n bgColor={\"#FFFFFF\"}\r\n width={\"100%\"}\r\n formControlSx={{\r\n width: \"236px\",\r\n }}\r\n />\r\n \r\n {filteredMembers.length > 0 ? (\r\n filteredMembers.map((user, i) => {\r\n return (\r\n \r\n \r\n \r\n {user?.profile_picture ? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n {user?.first_name[0]?.toUpperCase()}\r\n \r\n \r\n )}\r\n \r\n \r\n {[user?.first_name, user?.last_name]\r\n .filter(Boolean)\r\n .join(\" \")}\r\n \r\n \r\n \r\n e.stopPropagation()}\r\n sx={{ marginRight: \"10px\" }}\r\n >\r\n handleMemberSelect(user)}\r\n checked={data?.assign.some(\r\n (assignedUser) =>\r\n assignedUser.user_id === user.user_id\r\n )}\r\n />\r\n \r\n \r\n \r\n );\r\n })\r\n ) : (\r\n \r\n No data found\r\n \r\n )}\r\n \r\n \r\n setAnchorElDate(null)}\r\n anchorOrigin={{\r\n vertical: \"bottom\",\r\n horizontal: \"center\",\r\n }}\r\n transformOrigin={{\r\n vertical: \"top\",\r\n horizontal: \"center\",\r\n }}\r\n sx={{\r\n \"& .MuiPaper-root\": {\r\n ml: \"-10px\",\r\n mt: \"15px\",\r\n\r\n bgcolor: \"white\",\r\n boxShadow: \"0px 2px 8px rgba(0, 0, 0, 0.2)\",\r\n borderRadius: \"10px\",\r\n },\r\n }}\r\n BackdropProps={{\r\n style: { backgroundColor: \"transparent\" },\r\n onClick: () => setAnchorElDate(null),\r\n }}\r\n className=\"no-border-datepicker\"\r\n >\r\n {\r\n handleChageDate(date);\r\n setAnchorElDate(null);\r\n }}\r\n inline\r\n />\r\n {\r\n handleClearDate();\r\n setAnchorElDate(null);\r\n }}\r\n >\r\n \r\n Clear\r\n \r\n \r\n \r\n setOpenTag(false)}\r\n anchorOrigin={{\r\n vertical: \"bottom\",\r\n horizontal: \"center\",\r\n }}\r\n transformOrigin={{\r\n vertical: \"top\",\r\n horizontal: \"center\",\r\n }}\r\n sx={{\r\n \"& .MuiPaper-root\": {\r\n ml: \"-10px\",\r\n width: 277,\r\n mt: \"15px\",\r\n // top:\"790px !important\",\r\n // left:\"634px !important\",\r\n boxShadow: \"none\",\r\n bgcolor: \"transparent\",\r\n },\r\n }}\r\n BackdropProps={{\r\n style: { backgroundColor: \"transparent\" },\r\n onClick: () => setOpenTag(false),\r\n }}\r\n >\r\n \r\n {!editTagValue && (\r\n {\r\n setNewTag(e.target.value);\r\n setError(false);\r\n }}\r\n onKeyDown={(e) => {\r\n if (e.key === \"Enter\") {\r\n handleAddTag();\r\n }\r\n }}\r\n error={error}\r\n helperText={error ? \"You can add a maximum of 8 tags.\" : \"\"}\r\n fullWidth\r\n sx={{\r\n \"& .MuiOutlinedInput-root\": {\r\n padding: \"1px\",\r\n borderBottom: \"2px solid #EEEEEE\",\r\n\r\n \"& fieldset\": {\r\n border: \"none\",\r\n },\r\n \"&:hover fieldset\": {},\r\n \"&.Mui-focused fieldset\": {},\r\n \"& .MuiInputBase-input::placeholder\": {\r\n color: \"#959BA3\",\r\n },\r\n \"& .MuiInputBase-input\": {\r\n width: \"100%\",\r\n border: \"none\",\r\n padding: \"8px\",\r\n lineHeight: \"20px\",\r\n fontSize: \"12px !important\",\r\n fontWeight: \"400 !important\",\r\n },\r\n },\r\n }}\r\n />\r\n )}\r\n \r\n {editTagValue && (\r\n {\r\n setEditTagValue(e.target.value);\r\n setError(false);\r\n }}\r\n fullWidth\r\n sx={{\r\n \"& .MuiOutlinedInput-root\": {\r\n padding: \"1px\",\r\n borderBottom: \"2px solid #EEEEEE\",\r\n\r\n \"& fieldset\": {\r\n border: \"none\",\r\n },\r\n \"&:hover fieldset\": {},\r\n \"&.Mui-focused fieldset\": {},\r\n \"& .MuiInputBase-input::placeholder\": {\r\n color: \"#959BA3\",\r\n },\r\n \"& .MuiInputBase-input\": {\r\n width: \"100%\",\r\n border: \"none\",\r\n padding: \"8px\",\r\n lineHeight: \"20px\",\r\n fontSize: \"12px !important\",\r\n fontWeight: \"400 !important\",\r\n },\r\n },\r\n }}\r\n />\r\n )}\r\n {editTagValue && (\r\n handleSaveEdit(editTagIndex)}\r\n sx={{\r\n backgroundColor: \"none\",\r\n color: \"blue\",\r\n padding: \"2px\",\r\n fontSize: \"12px\",\r\n borderRadius: \"8px\",\r\n textTransform: \"none\",\r\n cursor: \"pointer\",\r\n \"&:hover\": {\r\n backgroundColor: \"none\",\r\n },\r\n }}\r\n >\r\n Save\r\n \r\n )}\r\n \r\n \r\n {data?.tag?.length > 0 &&\r\n data?.tag?.map((val, index) => (\r\n \r\n \r\n {val.name.length > 20\r\n ? `${val.name.slice(0, 20)}...`\r\n : val.name}\r\n \r\n handleEditTag(index, val.name)}\r\n sx={{\r\n padding: \"0px\",\r\n marginLeft: \"4px\",\r\n }}\r\n >\r\n \r\n \r\n handleRemoveTag(index)}\r\n sx={{\r\n padding: \"0px\",\r\n marginLeft: \"4px\",\r\n }}\r\n >\r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n\r\n {node?.selected &&\r\n !isMultiNodeSelected &&\r\n !node.dragging &&\r\n !node?.data?.globalDragging &&\r\n !isMultiNodeSelected &&\r\n !isNodeSelectionStarted && (\r\n \r\n \r\n <>\r\n {!data?.locked && (\r\n <>\r\n \r\n \r\n setShowCardModal(true)}\r\n >\r\n {\"logo\"}\r\n \r\n \r\n \r\n \r\n setShowColor(false)}\r\n >\r\n \r\n {\r\n setShowColor(false);\r\n }}\r\n open={showColor}\r\n disableFocusListener\r\n disableHoverListener\r\n disableTouchListener\r\n title={\r\n {\r\n handleColorChange(color, \"backgroundColor\");\r\n }}\r\n />\r\n }\r\n >\r\n \r\n \r\n {\r\n e.stopPropagation();\r\n setShowReaction(false);\r\n setShowListTypes(false);\r\n setShowColor(!showColor);\r\n setShowTextColor(false);\r\n setShowFontFamily(false);\r\n setShowFontStyle(false);\r\n setShowAlignment(false);\r\n setShowTextColor(false);\r\n setShowFontSizeOpt(false);\r\n setShowCardMoreOptions(false);\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 e.stopPropagation();\r\n handleClick(e);\r\n setShowReaction(false);\r\n setShowListTypes(false);\r\n setShowColor(false);\r\n setShowTextColor(false);\r\n setShowFontFamily(false);\r\n setShowFontStyle(false);\r\n setShowAlignment(false);\r\n setShowTextColor(false);\r\n setShowFontSizeOpt(false);\r\n setShowCardMoreOptions(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n e.stopPropagation();\r\n handleClickStatus(e);\r\n setShowReaction(false);\r\n setShowListTypes(false);\r\n setShowColor(false);\r\n setShowTextColor(false);\r\n setShowFontFamily(false);\r\n setShowFontStyle(false);\r\n setShowAlignment(false);\r\n setShowTextColor(false);\r\n setShowFontSizeOpt(false);\r\n setShowCardMoreOptions(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n e.stopPropagation();\r\n handleClickAssign(e);\r\n setShowReaction(false);\r\n setShowListTypes(false);\r\n setShowColor(false);\r\n setShowTextColor(false);\r\n setShowFontFamily(false);\r\n setShowFontStyle(false);\r\n setShowAlignment(false);\r\n setShowTextColor(false);\r\n setShowFontSizeOpt(false);\r\n setShowCardMoreOptions(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n e.stopPropagation();\r\n setAnchorElDate(\r\n anchorElDate ? null : e.currentTarget\r\n );\r\n setShowReaction(false);\r\n setShowListTypes(false);\r\n setShowColor(false);\r\n setShowTextColor(false);\r\n setShowFontFamily(false);\r\n setShowFontStyle(false);\r\n setShowAlignment(false);\r\n setShowTextColor(false);\r\n setShowFontSizeOpt(false);\r\n setShowCardMoreOptions(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n {shouldShowBox && (\r\n \r\n )}\r\n {shouldShowBox && (\r\n setShowFontFamily(false)}\r\n >\r\n \r\n setShowFontFamily(false)}\r\n open={showFontFamily}\r\n disableFocusListener\r\n disableHoverListener\r\n disableTouchListener\r\n title={\r\n {\r\n e.stopPropagation();\r\n }}\r\n >\r\n {fontFamilyArr?.map((val, i) => (\r\n {\r\n handleChangeFontFamily(val);\r\n }}\r\n >\r\n {val.name}{\" \"}\r\n {currentFontFamily === val.name && (\r\n \r\n )}\r\n \r\n ))}\r\n \r\n }\r\n >\r\n {\r\n e.stopPropagation();\r\n setShowReaction(false);\r\n setShowListTypes(false);\r\n setShowColor(false);\r\n setShowTextColor(false);\r\n setShowFontFamily(!showFontFamily);\r\n setShowFontStyle(false);\r\n setShowAlignment(false);\r\n setShowTextColor(false);\r\n setShowFontSizeOpt(false);\r\n setShowCardMoreOptions(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n {currentFontFamily}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {shouldShowBox && (\r\n \r\n )}\r\n {shouldShowBox && (\r\n \r\n setShowFontSizeOpt(false)}\r\n open={showFontSizeOpt}\r\n disableFocusListener\r\n disableHoverListener\r\n disableTouchListener\r\n title={\r\n \r\n {fontSizeArr?.map((val, i) => {\r\n return (\r\n {\r\n handleUpdateFontSize(val);\r\n }}\r\n >\r\n {val}\r\n \r\n );\r\n })}\r\n \r\n }\r\n >\r\n {\r\n e.stopPropagation();\r\n setShowReaction(false);\r\n setShowListTypes(false);\r\n setShowColor(false);\r\n setShowTextColor(false);\r\n setShowFontFamily(false);\r\n setShowFontStyle(false);\r\n setShowAlignment(false);\r\n setShowTextColor(false);\r\n setShowFontSizeOpt(!showFontSizeOpt);\r\n setShowCardMoreOptions(false);\r\n }}\r\n >\r\n \r\n \r\n handleUpdateFontSize(e.target.value)}\r\n // onBlur={(e) => {\r\n // const value = parseInt(e.target.value) || 1;\r\n // const clampedValue = Math.min(Math.max(value, 1), 300);\r\n // handleUpdateFontSize(clampedValue);\r\n // }}\r\n />\r\n \r\n {\r\n e.stopPropagation();\r\n setShowFontSizeOpt(false);\r\n handleFontSizeChange(\"increase\");\r\n }}\r\n >\r\n {\" \"}\r\n \r\n \r\n {\r\n e.stopPropagation();\r\n setShowFontSizeOpt(false);\r\n if (\r\n parseInt(\r\n selectedFontSize.match(/\\d+/)[0]\r\n ) > 1\r\n ) {\r\n handleFontSizeChange(\"decrease\");\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 {shouldShowBox && (\r\n \r\n )}\r\n {shouldShowBox && (\r\n setShowFontStyle(false)}\r\n >\r\n \r\n setShowFontStyle(false)}\r\n open={showFontStyle}\r\n disableFocusListener\r\n disableHoverListener\r\n disableTouchListener\r\n title={\r\n \r\n \r\n {\r\n e.stopPropagation();\r\n toggleBold();\r\n setShowFontStyle(false);\r\n // const isBold =\r\n // editor.getAttributes(\"bold\");\r\n // setFontStyleEditor({\r\n // ...fontstyleEditor,\r\n // isBold: isBold,\r\n // });\r\n }}\r\n >\r\n \r\n \r\n \r\n\r\n \r\n {\r\n e.stopPropagation();\r\n toggleItalic();\r\n // if (showEdit) {\r\n // const isItalic =\r\n // titleEditor.getAttributes(\"italic\");\r\n // setFontStyleEditor((prev) => ({\r\n // ...prev, // Retains other formatting states (e.g., isBold, isUnderline, etc.)\r\n // isItalic,\r\n // }));\r\n // } else if (showTextEditor) {\r\n // const isItalic =\r\n // !!editor.getAttributes(\"italic\");\r\n // setFontStyleEditor((prev) => ({\r\n // ...prev, // Retains other formatting states (e.g., isBold, isUnderline, etc.)\r\n // isItalic,\r\n // }));\r\n // }\r\n setShowFontStyle(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n {\r\n e.stopPropagation();\r\n toggleUnderline();\r\n // const isUnderline =\r\n // editor.getAttributes(\"underline\");\r\n // setFontStyleEditor({\r\n // ...fontstyleEditor,\r\n // isUnderline: isUnderline,\r\n // });\r\n setShowFontStyle(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n {\r\n e.stopPropagation();\r\n toggleStrike();\r\n setShowFontStyle(false);\r\n // const isStrikethrough =\r\n // editor.getAttributes(\"strike\");\r\n // setFontStyleEditor({\r\n // ...fontstyleEditor,\r\n // isStrikethrough: isStrikethrough,\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 e.stopPropagation();\r\n setShowReaction(false);\r\n setShowListTypes(false);\r\n setShowColor(false);\r\n setShowTextColor(false);\r\n setShowFontFamily(false);\r\n setShowFontStyle(!showFontStyle);\r\n setShowAlignment(false);\r\n setShowTextColor(false);\r\n setShowFontSizeOpt(false);\r\n setShowCardMoreOptions(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {shouldShowBox && (\r\n \r\n setShowAlignment(false)}\r\n >\r\n \r\n setShowAlignment(false)}\r\n open={showAlignment}\r\n disableFocusListener\r\n disableHoverListener\r\n disableTouchListener\r\n title={\r\n \r\n updateTextAlignment(\"left\")}\r\n sx={{\r\n height: \"36px !important\",\r\n width: \"36px !important\",\r\n borderRadius: \"8px\",\r\n transition: \"all 0.3s ease\",\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n gap: \"7px\",\r\n bgcolor:\r\n currentTextAlign === \"left\"\r\n ? \"#007AFF1F\"\r\n : \"#FFF\",\r\n \"&:hover\": { bgcolor: \"#EFF0F3\" },\r\n }}\r\n >\r\n \r\n \r\n \r\n updateTextAlignment(\"center\")\r\n }\r\n sx={{\r\n height: \"36px !important\",\r\n width: \"36px !important\",\r\n borderRadius: \"8px\",\r\n transition: \"all 0.3s ease\",\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n gap: \"7px\",\r\n bgcolor:\r\n currentTextAlign === \"center\"\r\n ? \"#007AFF1F\"\r\n : \"#FFF\",\r\n \"&:hover\": { bgcolor: \"#EFF0F3\" },\r\n }}\r\n >\r\n \r\n \r\n\r\n updateTextAlignment(\"right\")}\r\n sx={{\r\n height: \"36px !important\",\r\n width: \"36px !important\",\r\n borderRadius: \"8px\",\r\n transition: \"all 0.3s ease\",\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n gap: \"7px\",\r\n bgcolor:\r\n currentTextAlign === \"right\"\r\n ? \"#007AFF1F\"\r\n : \"#FFF\",\r\n \"&:hover\": { bgcolor: \"#EFF0F3\" },\r\n }}\r\n >\r\n \r\n \r\n \r\n }\r\n >\r\n \r\n \r\n {\r\n e.stopPropagation();\r\n setShowReaction(false);\r\n setShowListTypes(false);\r\n setShowColor(false);\r\n setShowTextColor(false);\r\n setShowFontFamily(false);\r\n setShowFontStyle(false);\r\n setShowAlignment(!showAlignment);\r\n setShowTextColor(false);\r\n setShowFontSizeOpt(false);\r\n setShowCardMoreOptions(false);\r\n }}\r\n >\r\n {currentTextAlign === \"left\" ? (\r\n \r\n ) : currentTextAlign === \"right\" ? (\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 {shouldShowBox && (\r\n setShowListTypes(false)}\r\n >\r\n \r\n setShowListTypes(false)}\r\n open={showListTypes}\r\n disableFocusListener\r\n disableHoverListener\r\n disableTouchListener\r\n title={\r\n \r\n {\r\n if (showTextEditor) {\r\n editor\r\n .chain()\r\n .focus()\r\n .toggleBulletList()\r\n .run();\r\n const isBullet =\r\n editor.isActive(\"bulletList\");\r\n setCurrentListType(\r\n isBullet ? \"bullet\" : \"\"\r\n );\r\n } else if (showEdit) {\r\n titleEditor\r\n .chain()\r\n .focus()\r\n .toggleBulletList()\r\n .run();\r\n const isBullet =\r\n titleEditor.isActive(\"bulletList\");\r\n setCurrentListType(\r\n isBullet ? \"bullet\" : \"\"\r\n );\r\n }\r\n }}\r\n >\r\n \r\n \r\n {\r\n if (showTextEditor) {\r\n editor\r\n .chain()\r\n .focus()\r\n .toggleOrderedList()\r\n .run();\r\n const isOrdered =\r\n editor.isActive(\"orderedList\");\r\n setCurrentListType(\r\n isOrdered ? \"ordered\" : \"\"\r\n );\r\n } else if (showEdit) {\r\n titleEditor\r\n .chain()\r\n .focus()\r\n .toggleOrderedList()\r\n .run();\r\n const isOrdered =\r\n editor.isActive(\"orderedList\");\r\n setCurrentListType(\r\n isOrdered ? \"ordered\" : \"\"\r\n );\r\n }\r\n }}\r\n >\r\n \r\n \r\n {showTextEditor && (\r\n {\r\n e.stopPropagation();\r\n editor\r\n .chain()\r\n .focus()\r\n .toggleTaskList()\r\n .run();\r\n const isTaskList =\r\n editor.isActive(\"taskList\");\r\n setCurrentListType(\r\n isTaskList ? \"taskList\" : \"\"\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 e.stopPropagation();\r\n setShowListTypes(!showListTypes);\r\n setShowColor(false);\r\n setShowTextColor(false);\r\n setShowFontFamily(false);\r\n setShowFontStyle(false);\r\n setShowAlignment(false);\r\n setShowTextColor(false);\r\n setShowReaction(false);\r\n setShowFontSizeOpt(false);\r\n setShowCardMoreOptions(false);\r\n }}\r\n >\r\n {currentListType === \"ordered\" ? (\r\n \r\n ) : currentListType === \"taskList\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {shouldShowBox && (\r\n \r\n )}\r\n {shouldShowBox && (\r\n \r\n setShowTextColor(false)}\r\n >\r\n \r\n setShowTextColor(false)}\r\n open={showTextColor}\r\n disableFocusListener\r\n disableHoverListener\r\n disableTouchListener\r\n title={\r\n \r\n {\r\n handleChangeTextColor(color);\r\n }}\r\n />\r\n \r\n }\r\n >\r\n \r\n \r\n {\r\n e.stopPropagation();\r\n setShowReaction(false);\r\n setShowListTypes(false);\r\n setShowColor(false);\r\n setShowTextColor(!showTextColor);\r\n setShowFontFamily(false);\r\n setShowFontStyle(false);\r\n setShowAlignment(false);\r\n setShowFontSizeOpt(false);\r\n setShowCardMoreOptions(false);\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 {shouldShowBox && (\r\n \r\n )}\r\n \r\n setShowReaction(false)}\r\n >\r\n setShowReaction(!showReaction)}>\r\n setShowReaction(false)}\r\n open={showReaction}\r\n disableFocusListener\r\n disableHoverListener\r\n disableTouchListener\r\n title={\r\n {\r\n e.stopPropagation();\r\n }}\r\n >\r\n {\r\n addEmoji(emoji);\r\n }}\r\n />\r\n \r\n }\r\n >\r\n \r\n \r\n {\r\n e.stopPropagation();\r\n setShowReaction(!showReaction);\r\n setShowListTypes(false);\r\n setShowColor(false);\r\n setShowTextColor(false);\r\n setShowFontFamily(false);\r\n setShowFontStyle(false);\r\n setShowAlignment(false);\r\n setShowTextColor(false);\r\n setShowFontSizeOpt(false);\r\n setShowCardMoreOptions(false);\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 handleClickTag(e)}\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 toggleLockUnlock();\r\n setShowReaction(false);\r\n setShowListTypes(false);\r\n setShowColor(false);\r\n setShowTextColor(false);\r\n setShowFontFamily(false);\r\n setShowFontStyle(false);\r\n setShowAlignment(false);\r\n setShowTextColor(false);\r\n setShowFontSizeOpt(false);\r\n setShowCardMoreOptions(false);\r\n }}\r\n >\r\n {data?.locked ? : }\r\n \r\n \r\n \r\n \r\n \r\n setShowCardMoreOptions(false)}\r\n >\r\n \r\n setShowCardMoreOptions(false)}\r\n open={showCardMoreOptions}\r\n disableFocusListener\r\n disableHoverListener\r\n disableTouchListener\r\n title={\r\n \r\n }\r\n >\r\n \r\n {\r\n e.stopPropagation();\r\n setShowReaction(false);\r\n setShowListTypes(false);\r\n setShowColor(false);\r\n setShowTextColor(false);\r\n setShowFontFamily(false);\r\n setShowFontStyle(false);\r\n setShowAlignment(false);\r\n setShowTextColor(false);\r\n setShowFontSizeOpt(false);\r\n setShowCardMoreOptions(!showCardMoreOptions);\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 {floatingMenu !== null && showLink && (\r\n \r\n <>\r\n
\r\n {\" \"}\r\n setLinkText(e?.target?.value)}\r\n value={linkText}\r\n placeholder=\"Paste/enter links\"\r\n onKeyPress={(e) => {\r\n if (e.key === \"Enter\") {\r\n if (showTextEditor) {\r\n editor.commands.setLink({\r\n href: linkText,\r\n target: \"_blank\",\r\n });\r\n } else if (showEdit) {\r\n titleEditor.commands.setLink({\r\n href: linkText,\r\n target: \"_blank\",\r\n });\r\n }\r\n setLinkText(\"\");\r\n setFloatingMenu(null);\r\n setShowLink(false);\r\n }\r\n }}\r\n />\r\n
\r\n \r\n \r\n )}\r\n {showCardModal && (\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default memo(CardNode, (prevProps, nextProps) => {\r\n return prevProps.data.globalDragging && nextProps.data.globalDragging;\r\n});\r\n","import {\r\n Chart as ChartJS,\r\n ArcElement,\r\n Title,\r\n Tooltip,\r\n Legend,\r\n LineElement,\r\n PointElement,\r\n LinearScale,\r\n CategoryScale,\r\n BarElement,\r\n RadialLinearScale,\r\n} from \"chart.js\";\r\nimport * as XLSX from \"xlsx\";\r\nimport {\r\n Bar,\r\n Pie,\r\n Line,\r\n Bubble,\r\n Doughnut,\r\n PolarArea,\r\n Radar,\r\n} from \"react-chartjs-2\";\r\nimport {\r\n Position,\r\n NodeToolbar,\r\n useReactFlow,\r\n Handle,\r\n NodeResizeControl,\r\n useStore,\r\n} from \"reactflow\";\r\nimport BtnColoredOutlined from \"../../../common-components/buttons/BtnColoredOutlined\";\r\nimport {\r\n IcDeleteOutlined,\r\n IcMenuDotsVertical,\r\n IcPlus2,\r\n IcUploadOutlined,\r\n} from \"../../../assets/icon-components\";\r\nimport {\r\n CustomNameTooltip,\r\n CustomTooltip,\r\n} from \"../../DrawBoard/top-toolbar/components/CustomTooltip\";\r\nimport {\r\n Box,\r\n TextField,\r\n IconButton,\r\n Stack,\r\n Dialog,\r\n DialogContent,\r\n TableContainer,\r\n Table,\r\n TableRow,\r\n TableCell,\r\n Typography,\r\n Switch,\r\n styled,\r\n} from \"@mui/material\";\r\nimport { useEffect, useRef, useState, useCallback, useMemo, memo } from \"react\";\r\nimport { useDropzone } from \"react-dropzone\";\r\nimport Papa from \"papaparse\";\r\nimport {\r\n IcCloseThin,\r\n IcDownloadChartOutlined,\r\n IcEditChartOutline,\r\n IcLockLocked,\r\n IcLockUnLocked,\r\n} from \"../../../assets/icon-components\";\r\nimport { useLocation, useParams } from \"react-router-dom\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { debounce } from \"lodash\";\r\nimport { getId, updateJson } from \"../../../CommanFunctions/commanFunctions\";\r\nimport BtnGradient from \"../../../common-components/buttons/BtnGradient\";\r\nimport { useSelector } from \"react-redux\";\r\nimport SimpleCircularProgress from \"../../../common-components/SimpleCircularProgress\";\r\nimport html2canvas from \"html2canvas\";\r\nimport FrameMoreMenus from \"../../Node/frameNode/FrameMoreMenus\";\r\nimport { errorToast } from \"../../../Redux/toastSlice\";\r\nimport FrameBackgroundToolbar from \"../../Node/frameNode/FrameBackgroundToolbar\";\r\nimport { updateChartNodeData } from \"../../../Redux/mindMapSlice\";\r\nimport { useUndoRedo } from \"../dndUndoRedo/UndoRedoProvider\";\r\nimport { fontSizes } from \"../../../Utils/style/font/fontsizes\";\r\nimport CommonDivider from \"../../../common-components/CommonDivider\";\r\nimport useNodeSelectionStarted from \"../../../Utils/hooks/useNodeSelectionStarted\";\r\nimport { color } from \"../../../Utils/style/color/color\";\r\nimport FileSizeExceeds from \"../../../common-components/modals/FileSizeExceeds\";\r\nimport ChooseColumnModal from \"../../../common-components/modals/ChooseColumnModal\";\r\nimport Loader from \"../../../CommanUI/Loader/loader\";\r\n\r\nChartJS.register(\r\n ArcElement,\r\n Title,\r\n Tooltip,\r\n Legend,\r\n LineElement,\r\n PointElement,\r\n LinearScale,\r\n CategoryScale,\r\n BarElement,\r\n RadialLinearScale\r\n // BubbleController\r\n);\r\n\r\nconst AntSwitch = styled(Switch)(({ theme }) => ({\r\n width: 28,\r\n height: 17,\r\n padding: 0,\r\n display: \"flex\",\r\n \"&:active\": {\r\n \"& .MuiSwitch-thumb\": {\r\n width: 11,\r\n },\r\n \"& .MuiSwitch-switchBase.Mui-checked\": {\r\n transform: \"translateX(11px) !important\",\r\n },\r\n },\r\n \"& .MuiSwitch-switchBase\": {\r\n padding: \"3px\",\r\n\r\n \"&.Mui-checked\": {\r\n transform: \"translateX(11px) !important\",\r\n color: \"#fff\",\r\n \"& + .MuiSwitch-track\": {\r\n opacity: 1,\r\n backgroundColor: \"#1890ff\",\r\n ...theme.applyStyles(\"dark\", {\r\n backgroundColor: \"#177ddc\",\r\n }),\r\n },\r\n },\r\n },\r\n \"& .MuiSwitch-thumb\": {\r\n boxShadow: \"0 2px 4px 0 rgb(0 35 11 / 20%)\",\r\n width: 11,\r\n height: 11,\r\n borderRadius: 6,\r\n transition: theme.transitions.create([\"width\"], {\r\n duration: 200,\r\n }),\r\n },\r\n \"& .MuiSwitch-track\": {\r\n borderRadius: 16 / 2,\r\n opacity: 1,\r\n backgroundColor: \"rgba(0,0,0,.25)\",\r\n boxSizing: \"border-box\",\r\n ...theme.applyStyles(\"dark\", {\r\n backgroundColor: \"rgba(255,255,255,.35)\",\r\n }),\r\n },\r\n}));\r\n\r\nfunction ChartNode(node) {\r\n const startVoting = useSelector(\r\n ({ archBoard }) => archBoard?.votingData?.startVotingSession\r\n );\r\n\r\n const { showExport, copyAsImage } = useSelector(\r\n (state) => state?.mindMapStore\r\n );\r\n const { isNodeSelectionStarted } = useNodeSelectionStarted({\r\n selected: node?.selected,\r\n });\r\n const [hoveredItem, setHoveredItem] = useState(\"\");\r\n const [openTooltipIndex, setOpenTooltipIndex] = useState(null);\r\n const [showDots, setShowDots] = useState(false);\r\n const [isModalOpen, setIsModalOpen] = useState(false);\r\n const [isColumnModalOpen, setIsColumnModalOpen] = useState(false);\r\n const [chartName, setChartName] = useState(\"\");\r\n const [zoomPercentages, setZoomPercentages] = useState(100);\r\n const [isDotsShow, setIsDotsShow] = useState(true);\r\n const [downloadLoading, setDownloadLoading] = useState(false);\r\n const fileInputRef = useRef(null);\r\n const [showLinkMoreOptions, setShowLinkMoreOptions] = useState(false);\r\n const [showFileSizeExceedsModal, setShowFileSizeExceedsModal] =\r\n useState(false);\r\n const mainRef = useRef(null);\r\n const chartRef = useRef(null);\r\n const tableContainerRef = useRef(null);\r\n const ref = useRef(null);\r\n const { id } = useParams();\r\n const frameMoreOptionsRef = useRef(null);\r\n const [chartData, setChartData] = useState({\r\n labels: [],\r\n datasets: [],\r\n columns: [],\r\n });\r\n const [tempData, setTempData] = useState({\r\n labels: node.data.data.labels,\r\n datasets: node.data.data.datasets,\r\n columns: node.data.data.columns,\r\n topHeader: node.data.data.topHeader,\r\n });\r\n\r\n const [parsedFileData, setParsedFileData] = useState([]);\r\n const [useColumn, setUseColumn] = useState(true);\r\n const [useColumnName, setUseColumnName] = useState(\r\n node?.data?.data?.useColumnName ?? true\r\n );\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [focusedIndex, setFocusedIndex] = useState(null);\r\n\r\n const location = useLocation();\r\n const { undo, takeSnapshot } = useUndoRedo();\r\n const { id: architectureId } = useParams();\r\n const dispatch = useDispatch();\r\n const user_data = localStorage.getItem(\"user_data\");\r\n\r\n const { setNodes, getEdges, getNodes, getNode } = useReactFlow();\r\n\r\n useEffect(() => {\r\n if (node.selected === true) {\r\n dispatch(\r\n updateChartNodeData({\r\n ref: chartRef.current,\r\n })\r\n );\r\n }\r\n }, [node.selected, chartRef]);\r\n\r\n const zoom = useStore((state) =>\r\n (node?.selected || showDots) && !isNodeSelectionStarted\r\n ? state?.transform?.[2]\r\n : 1\r\n );\r\n\r\n const debouncedUpdateTitle = useMemo(\r\n () =>\r\n debounce((value) => {\r\n const updatedNodes = getNodes().map((nd) =>\r\n nd.id === node.id\r\n ? {\r\n ...nd,\r\n data: {\r\n ...nd.data,\r\n label: value,\r\n },\r\n }\r\n : nd\r\n );\r\n\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\r\n const search = new URLSearchParams(location.search);\r\n const a_id = search.get(\"a_id\");\r\n let parsedData = {};\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 takeSnapshot,\r\n a_id,\r\n });\r\n }, 750),\r\n []\r\n );\r\n\r\n const handleConfirmColumn = () => {\r\n setTempData((prevTempData) => ({\r\n ...prevTempData, // Preserve existing data, including topHeader\r\n }));\r\n\r\n if (parsedFileData.length > 0) {\r\n handleParsedData(parsedFileData);\r\n } else {\r\n }\r\n\r\n setUseColumnName(useColumn);\r\n };\r\n\r\n const handleTitle = (e) => {\r\n setChartName(e.target.value);\r\n debouncedUpdateTitle(e.target.value);\r\n };\r\n\r\n useEffect(() => {\r\n if (mainRef.current && !isNodeSelectionStarted) {\r\n setZoomPercentages(zoom * 100);\r\n }\r\n }, [zoom]);\r\n\r\n const handleClickEdit = () => {\r\n setTempData({\r\n labels: node.data.data.labels,\r\n datasets: node.data.data.datasets,\r\n columns: node.data.data.columns,\r\n topHeader: node.data.data.topHeader,\r\n });\r\n setIsModalOpen(true);\r\n };\r\n useEffect(() => {\r\n if (node?.data?.frame) {\r\n try {\r\n const newNode = {\r\n id: getId(),\r\n type: \"frame\",\r\n variant: \"custom\",\r\n position: {\r\n x: node.xPos - 20,\r\n y: node.yPos - 20,\r\n },\r\n positionAbsolute: {\r\n x: node.xPos - 20,\r\n y: node.yPos - 20,\r\n },\r\n data: {\r\n label: \"New Frame\",\r\n type: \"frame\",\r\n variant: \"custom\",\r\n hide: false,\r\n locked: false,\r\n isShadow: false,\r\n showBorder: false,\r\n frame: true,\r\n frameNo: 1,\r\n zIndex: 99999,\r\n style: {\r\n width: 800,\r\n height: 400,\r\n background: \"rgba(255, 255, 255, 1)\",\r\n zIndex: 99999,\r\n },\r\n border: {\r\n width: 1,\r\n type: \"solid\",\r\n borderColor: \"rgba(3, 11, 22, 1)\",\r\n opacity: 1,\r\n },\r\n },\r\n selected: true,\r\n style: {\r\n zIndex: 99999,\r\n width: nodeWH?.width + 60,\r\n height: nodeWH?.height + 60,\r\n },\r\n };\r\n\r\n // Add the new node\r\n setNodes((prevNodes) => [...prevNodes, newNode]);\r\n } catch (error) {\r\n console.error(\"Error adding node:\", error);\r\n }\r\n }\r\n }, [node?.data?.frame]);\r\n\r\n useEffect(() => {\r\n if (node?.data?.data) {\r\n const { labels, datasets } = node.data.data;\r\n\r\n const visibleLabels = labels.filter((label) => label.isShow === true);\r\n const updatedDatasets = datasets.map((dataset) => {\r\n const updatedData = dataset.data.filter((_, index) => {\r\n return labels[index]?.isShow === true;\r\n });\r\n\r\n return {\r\n ...dataset,\r\n data: updatedData,\r\n };\r\n });\r\n\r\n setChartData({\r\n labels: visibleLabels.map((label) => label.label),\r\n datasets: updatedDatasets,\r\n columns: node.data.data.columns,\r\n });\r\n }\r\n }, [node]);\r\n\r\n useEffect(() => {\r\n if (node.data?.label) {\r\n setChartName(node.data?.label);\r\n }\r\n }, [node.data?.label]);\r\n\r\n useEffect(() => {\r\n if (!isDotsShow && showDots && !isNodeSelectionStarted) {\r\n setIsDotsShow(showDots);\r\n }\r\n }, [showDots, isDotsShow, isNodeSelectionStarted]);\r\n\r\n const nodeWH = getNode(node?.id);\r\n const sizeAsPerZoom =\r\n (nodeWH?.width < nodeWH?.height ? nodeWH?.width : nodeWH?.height) * zoom ||\r\n 100;\r\n\r\n const config = {\r\n responsive: true,\r\n indexAxis:\r\n (node?.data?.chartType === \"horizontalBar\" ||\r\n node?.data?.chartType === \"horizontalStackedBar\") &&\r\n \"y\",\r\n animation: false,\r\n scales: {\r\n x: {\r\n beginAtZero: true,\r\n stacked:\r\n node?.data?.chartType === \"stackedBar\" ||\r\n node?.data?.chartType === \"horizontalStackedBar\",\r\n ticks: {\r\n font: {\r\n size: 16,\r\n },\r\n },\r\n },\r\n y: {\r\n beginAtZero: true,\r\n stacked:\r\n node?.data?.chartType === \"stackedBar\" ||\r\n node?.data?.chartType === \"horizontalStackedBar\",\r\n ticks: {\r\n font: {\r\n size: 16,\r\n },\r\n },\r\n },\r\n },\r\n plugins: {\r\n customCanvasBackgroundColor: {\r\n color: \"white\",\r\n },\r\n legend: {\r\n display: node?.data?.legend,\r\n position: \"bottom\",\r\n labels: {\r\n usePointStyle: true,\r\n pointStyle: \"circle\",\r\n boxWidth: 10,\r\n boxHeight: 10,\r\n font: {\r\n size: 14,\r\n },\r\n ...(node?.data?.data?.useColumnName === false && {\r\n generateLabels: (chart) => {\r\n return chart.data.datasets.map((dataset, index) => {\r\n let fillColor = Array.isArray(dataset.backgroundColor)\r\n ? dataset.backgroundColor[0]\r\n : dataset.backgroundColor;\r\n\r\n return {\r\n text:\r\n node?.data?.data?.columns?.[index]?.label ||\r\n `Dataset ${index + 1}`, // Show column labels\r\n fillStyle: fillColor,\r\n strokeStyle: dataset.borderColor,\r\n lineWidth: dataset.borderWidth || 1,\r\n hidden: chart.getDatasetMeta(index)?.hidden,\r\n datasetIndex: index,\r\n };\r\n });\r\n },\r\n }),\r\n },\r\n },\r\n\r\n title: {\r\n display: node?.data?.title,\r\n position: \"top\",\r\n text: chartName || node?.data?.label,\r\n labels: {\r\n font: {\r\n size: 16,\r\n },\r\n },\r\n },\r\n ...((node?.data?.chartType === \"pie\" || node?.data?.chartType === \"doughnut\" || node?.data?.chartType === \"polarArea\") && {\r\n tooltip: {\r\n callbacks: {\r\n label: function (tooltipItem) {\r\n const dataset = tooltipItem.dataset;\r\n const datasetLabel = dataset.label || \"\";\r\n const value = dataset.data[tooltipItem.dataIndex];\r\n const label = tooltipItem.chart.data.labels[tooltipItem.dataIndex];\r\n \r\n return `${label} (${datasetLabel}): ${value}`;\r\n },\r\n },\r\n },\r\n }),\r\n },\r\n };\r\n\r\n const handleDownloadChartImage = async () => {\r\n setDownloadLoading(true);\r\n try {\r\n if (chartRef.current) {\r\n const options = {\r\n scale: 5.0,\r\n useCORS: true,\r\n allowTaint: true,\r\n antialias: \"subpixel\",\r\n logging: false,\r\n };\r\n\r\n const originalCanvas = await html2canvas(chartRef.current, options);\r\n\r\n const desiredWidth =\r\n node.data.chartType === \"doughnut\" ||\r\n node.data.chartType === \"pie\" ||\r\n node.data.chartType === \"polarArea\" ||\r\n node.data.chartType === \"radar\"\r\n ? 450\r\n : 900;\r\n const desiredHeight = 450;\r\n\r\n const fixedCanvas = document.createElement(\"canvas\");\r\n const aspectRatio = originalCanvas.width / originalCanvas.height;\r\n fixedCanvas.width = desiredWidth;\r\n fixedCanvas.height = desiredHeight;\r\n\r\n const ctx = fixedCanvas.getContext(\"2d\");\r\n\r\n let drawWidth = desiredWidth;\r\n let drawHeight = desiredWidth / aspectRatio;\r\n\r\n if (drawHeight > desiredHeight) {\r\n drawHeight = desiredHeight;\r\n drawWidth = desiredHeight * aspectRatio;\r\n }\r\n\r\n ctx.drawImage(\r\n originalCanvas,\r\n 0,\r\n 0,\r\n originalCanvas.width,\r\n originalCanvas.height,\r\n 0,\r\n 0,\r\n drawWidth,\r\n drawHeight\r\n );\r\n\r\n const dataUrl = fixedCanvas.toDataURL(\"image/png\", 1.0);\r\n const link = document.createElement(\"a\");\r\n link.href = dataUrl;\r\n link.download = `${chartName || \"Cloudairy Chart\"}.png`;\r\n link.click();\r\n }\r\n } catch (error) {\r\n console.error(\"Error downloading chart image:\", error);\r\n } finally {\r\n setDownloadLoading(false);\r\n }\r\n };\r\n\r\n const handleCloseModal = () => {\r\n setIsModalOpen(false);\r\n takeSnapshot({ nodes: getNodes(), edges: null });\r\n };\r\n\r\n // const handleUploadClick = () => {\r\n // if (fileInputRef.current) {\r\n // fileInputRef.current.click();\r\n // }\r\n // };\r\n\r\n const { getRootProps, getInputProps } = useDropzone({\r\n onDrop: (files) => {\r\n const file = files[0];\r\n setIsLoading(true);\r\n if (file) {\r\n const fileSizeLimit = 100 * 1024 * 1024;\r\n if (file.size > fileSizeLimit) {\r\n setShowFileSizeExceedsModal(true);\r\n } else {\r\n setIsColumnModalOpen(true);\r\n }\r\n const fileExtension = file.name.split(\".\").pop().toLowerCase();\r\n\r\n if (fileExtension === \"csv\") {\r\n Papa.parse(file, {\r\n header: true,\r\n skipEmptyLines: true,\r\n complete: (results) => {\r\n const topHeadercsv = results.meta.fields;\r\n\r\n // Ensure topHeadercsv has at least one value\r\n const firstHeader =\r\n topHeadercsv.length > 0 ? topHeadercsv[0] : null;\r\n\r\n setTempData((prevTempData) => ({\r\n ...prevTempData,\r\n topHeader: firstHeader,\r\n }));\r\n let rows = results.data;\r\n\r\n // Filter out rows where all values are empty, null, or whitespace\r\n rows = rows.filter((row) => {\r\n return Object.values(row)\r\n .map((value) => (value === null || value === undefined ? \"\" : String(value).trim()))\r\n .some((value) => value !== \"\");\r\n });\r\n setParsedFileData(rows);\r\n setIsLoading(false);\r\n },\r\n });\r\n } else if (fileExtension === \"xlsx\" || fileExtension === \"xls\") {\r\n const reader = new FileReader();\r\n reader.onload = (e) => {\r\n const data = new Uint8Array(e.target.result);\r\n const workbook = XLSX.read(data, { type: \"array\" });\r\n const sheetName = workbook.SheetNames[0];\r\n const worksheet = workbook.Sheets[sheetName];\r\n const jsonData = XLSX.utils.sheet_to_json(worksheet, { header: 1 });\r\n\r\n // \"headers\" is the first row of the Excel file, \"rows\" are the remaining\r\n const [headers, ...rows] = jsonData;\r\n\r\n // OPTIONAL: if you want only the first cell as topHeader:\r\n const topHeaderXLS = headers?.[0] ?? \"Labels\";\r\n\r\n // Now set tempData.topHeader to that first cell\r\n setTempData((prevTempData) => ({\r\n ...prevTempData,\r\n topHeader: topHeaderXLS,\r\n }));\r\n\r\n const parsedRows = rows\r\n .filter((row) => {\r\n // Convert all values in the row to strings and trim spaces\r\n const cleanedRow = row.map((cell) =>\r\n cell === null || cell === undefined ? \"\" : String(cell).trim()\r\n );\r\n\r\n // Check if all values in the row are empty\r\n return cleanedRow.some((cell) => cell !== \"\");\r\n })\r\n .map((row) => {\r\n const rowData = {};\r\n headers.forEach((header, index) => {\r\n rowData[header] = row[index] ?? \"\"; // Replace null/undefined with an empty string\r\n });\r\n return rowData;\r\n });\r\n\r\n setParsedFileData(parsedRows);\r\n setIsLoading(false);\r\n };\r\n reader.readAsArrayBuffer(file);\r\n }\r\n }\r\n },\r\n accept: {\r\n \"text/csv\": [\".csv\"],\r\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\": [\r\n \".xlsx\",\r\n ],\r\n \"application/vnd.ms-excel\": [\".xls\"],\r\n },\r\n maxSize: 2 * 1024 * 1024,\r\n });\r\n\r\n const handleParsedData = (rows) => {\r\n if (rows.length > 0) {\r\n const firstColumnKey = Object.keys(rows[0])[0];\r\n const labels = rows.map((row) => row[firstColumnKey]);\r\n\r\n const months = Object.keys(rows[0]).filter(\r\n (key) => key !== firstColumnKey\r\n );\r\n\r\n let hasInvalidData = false;\r\n const datasets = months.map((month) => {\r\n const data = rows.map((row) => {\r\n let value = row[month];\r\n if (value === undefined || isNaN(parseFloat(value))) {\r\n value = 0;\r\n }\r\n\r\n const parsedValue = parseFloat(value);\r\n\r\n if (isNaN(parsedValue)) {\r\n hasInvalidData = true;\r\n return null;\r\n }\r\n return parsedValue;\r\n });\r\n\r\n const color = getRandomColor();\r\n\r\n // If useColumn is false, prepend the dataset label to the data array\r\n if (!useColumn) {\r\n data.unshift(month);\r\n }\r\n\r\n // return {\r\n // label: month,\r\n // data: data,\r\n // backgroundColor: `color`,\r\n // borderColor: color,\r\n // borderWidth: 1,\r\n // };\r\n let dataset = {\r\n label: month,\r\n data: data,\r\n backgroundColor: color, // This will be replaced for pie/doughnut charts\r\n borderColor: color,\r\n borderWidth: 1,\r\n pointBackgroundColor:color,\r\n pointBorderColor:\"#FFFFFF\"\r\n };\r\n \r\n // Check if the chart is pie or doughnut\r\n if (node?.data?.chartType === \"pie\" || node?.data?.chartType === \"doughnut\" || node?.data?.chartType === \"polarArea\" ) {\r\n // Generate an array of random colors with the same length as the data array\r\n dataset.backgroundColor = data.map(() => getRandomColor());\r\n // Set the borderColor to white for all slices\r\n dataset.borderColor = \"#FFFFFF\";\r\n }\r\n\r\n if(node?.data?.chartType === \"radar\"){\r\n dataset.backgroundColor = data.map(() => \r\n \"rgba(62, 112, 255, 0.2)\");\r\n dataset.pointBackgroundColor=\"#3E70FF\";\r\n dataset.pointBorderColor=\"#FFFFFF\";\r\n }\r\n \r\n return dataset;\r\n });\r\n\r\n if (hasInvalidData) {\r\n dispatch(\r\n errorToast({\r\n message:\r\n \"Invalid data found in the file. Please ensure all values are numbers.\",\r\n })\r\n );\r\n return;\r\n }\r\n\r\n const minRows = 10;\r\n let updatedLabels = Array.from({ length: minRows }, (_, index) => {\r\n const existingLabel = labels[index] || `Label ${index + 1}`;\r\n return {\r\n label: existingLabel,\r\n // isShow: !!labels[index],\r\n isShow: index < rows.length,\r\n };\r\n });\r\n\r\n // If useColumn is false, add the topHeaderName object as the first label\r\n if (!useColumn) {\r\n updatedLabels.unshift({\r\n label: tempData?.topHeader || \"Industry\",\r\n isShow: true,\r\n });\r\n }\r\n\r\n setTempData({\r\n ...tempData,\r\n labels: [...updatedLabels],\r\n datasets: datasets,\r\n columns: Array.from({ length: datasets.length }, (_, i) => ({\r\n backgroundColor: getRandomColor(),\r\n borderColor: getRandomColor(),\r\n borderWidth: 1,\r\n label: `Column ${i + 1}`,\r\n })),\r\n });\r\n }\r\n };\r\n\r\n function getRandomColor() {\r\n const letters = \"0123456789ABCDEF\";\r\n let color = \"#\";\r\n for (let i = 0; i < 6; i++) {\r\n color += letters[Math.floor(Math.random() * 16)];\r\n }\r\n return color;\r\n }\r\n\r\n const handleDataChange = (e, datasetIndex, dataIndex) => {\r\n const newValue = parseFloat(e.target.value);\r\n\r\n setTempData((prev) => {\r\n const newDatasets = prev.datasets.map((dataset, idx) => {\r\n if (idx === datasetIndex) {\r\n const newData = [...dataset.data];\r\n newData[dataIndex] = newValue;\r\n\r\n return { ...dataset, data: newData };\r\n }\r\n return dataset;\r\n });\r\n\r\n const newLabels = [...prev.labels];\r\n if (newLabels[dataIndex] && !newLabels[dataIndex].isShow) {\r\n newLabels[dataIndex] = {\r\n ...newLabels[dataIndex],\r\n isShow: true, // Set isShow to true when data changes\r\n };\r\n }\r\n\r\n return { ...prev, datasets: newDatasets, labels: newLabels };\r\n });\r\n };\r\n\r\n const handleBlur = (datasetIndex, dataIndex) => {\r\n setTempData((prev) => {\r\n const newDatasets = prev.datasets.map((dataset, idx) => {\r\n if (idx === datasetIndex) {\r\n const newData = [...dataset.data];\r\n newData[dataIndex] =\r\n dataset.data[dataIndex] === \"\" || isNaN(dataset.data[dataIndex])\r\n ? 0\r\n : dataset.data[dataIndex];\r\n return { ...dataset, data: newData };\r\n }\r\n return dataset;\r\n });\r\n\r\n return { ...prev, datasets: newDatasets };\r\n });\r\n };\r\n\r\n const handleSave = () => {\r\n setChartData(tempData);\r\n let updatedNodes;\r\n setNodes((nds) => {\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\r\n updatedNodes = nds.map((node1) => {\r\n if (node1.id === node?.id) {\r\n return {\r\n ...node1,\r\n data: {\r\n ...node1.data,\r\n data: {\r\n ...tempData,\r\n useColumnName: useColumnName,\r\n },\r\n },\r\n };\r\n }\r\n return node1;\r\n });\r\n\r\n return updatedNodes;\r\n });\r\n debouncedUpdateJson(updatedNodes, getEdges());\r\n\r\n setIsModalOpen(false);\r\n };\r\n\r\n const handleDataChangeLabel = (e, datasetIndex) => {\r\n const updatedChartData = {\r\n ...tempData,\r\n labels: tempData.labels.map((label, idx) =>\r\n idx === datasetIndex\r\n ? { ...label, label: e.target.value || \" \", isShow: true }\r\n : label\r\n ),\r\n };\r\n\r\n setTempData(updatedChartData);\r\n };\r\n\r\n const handleDeleteRow = (index) => {\r\n setTempData((prev) => {\r\n const updatedDatasets = [...prev.datasets];\r\n let updatedColumns = [...(prev.columns || [])];\r\n updatedDatasets.splice(index, 1);\r\n if (useColumnName === false) {\r\n updatedColumns.splice(index, 1);\r\n }\r\n\r\n return {\r\n ...prev,\r\n datasets: updatedDatasets,\r\n columns: useColumnName === false ? updatedColumns : prev.columns, // If useColumnName is true, keep the existing columns\r\n };\r\n });\r\n };\r\n\r\n const handleDeleteLabel = (index) => {\r\n setTempData((prev) => {\r\n const updatedLabels = prev.labels.filter((_, i) => i !== index);\r\n\r\n const updatedDatasets = prev.datasets.map((dataset) => {\r\n const updatedData = dataset.data.filter((_, i) => i !== index);\r\n return { ...dataset, data: updatedData };\r\n });\r\n return {\r\n ...prev,\r\n labels: updatedLabels,\r\n datasets: updatedDatasets,\r\n };\r\n });\r\n };\r\n\r\n const handleClearData = () => {\r\n setTempData((prevData) => ({\r\n ...prevData,\r\n datasets: prevData.datasets.map((dataset) => ({\r\n ...dataset,\r\n data: dataset.data.map(() => 0),\r\n ...(useColumnName === false ? { label: \"\" } : {}), // Remove label when useColumnName is false\r\n })),\r\n }));\r\n };\r\n\r\n useEffect(() => {\r\n if (node?.data?.chartType === \"pie\" || node?.data?.chartType === \"doughnut\" || node?.data?.chartType === \"polarArea\" ) {\r\n setTempData((prevData) => {\r\n const updatedDatasets = prevData.datasets.map(\r\n (dataset, datasetIndex) => {\r\n const updatedBackgroundColor = dataset.backgroundColor.map(\r\n (color, colorIndex) => {\r\n return colorIndex === openTooltipIndex\r\n ? node?.data?.style?.background || color\r\n : color;\r\n }\r\n );\r\n return {\r\n ...dataset,\r\n backgroundColor: updatedBackgroundColor,\r\n borderColor: \"#FFFFFF\",\r\n };\r\n }\r\n );\r\n\r\n return {\r\n ...prevData,\r\n datasets: updatedDatasets,\r\n };\r\n });\r\n } else {\r\n if (openTooltipIndex !== null) {\r\n const updatedDatasets = tempData.datasets.map(\r\n (dataset, datasetIndex) => {\r\n if (datasetIndex === openTooltipIndex) {\r\n return {\r\n ...dataset,\r\n backgroundColor:\r\n node?.data?.style?.background || dataset.backgroundColor,\r\n borderColor:\r\n node?.data?.style?.background || dataset.backgroundColor,\r\n };\r\n }\r\n return dataset;\r\n }\r\n );\r\n setTempData((prevData) => ({\r\n ...prevData,\r\n datasets: updatedDatasets,\r\n }));\r\n }\r\n }\r\n }, [node?.data?.style?.background, openTooltipIndex]);\r\n\r\n const handleAddColum = () => {\r\n setTempData((prevData) => {\r\n const bgcolor = getRandomColor();\r\n\r\n if (useColumnName === false) {\r\n return {\r\n ...prevData,\r\n columns: [\r\n ...prevData.columns,\r\n {\r\n label: `Column ${prevData.columns.length + 1}`,\r\n backgroundColor: bgcolor,\r\n borderColor: bgcolor,\r\n borderWidth: 1,\r\n },\r\n ],\r\n datasets: [\r\n ...prevData.datasets,\r\n {\r\n label: ``,\r\n data: prevData.labels.map(() => 0),\r\n backgroundColor: bgcolor,\r\n borderColor: bgcolor,\r\n borderWidth: 1,\r\n },\r\n ],\r\n };\r\n }\r\n const newDataset = {\r\n label: `Column ${prevData.datasets.length + 1}`,\r\n data: prevData.labels.map(() => 0),\r\n backgroundColor: bgcolor,\r\n borderColor: bgcolor,\r\n borderWidth: 1,\r\n };\r\n\r\n return {\r\n ...prevData,\r\n datasets: [...prevData.datasets, newDataset],\r\n };\r\n });\r\n\r\n setTimeout(() => {\r\n if (tableContainerRef.current) {\r\n const { scrollWidth } = tableContainerRef.current;\r\n tableContainerRef.current.scrollTo({\r\n left: scrollWidth,\r\n behavior: \"smooth\",\r\n });\r\n }\r\n }, 150);\r\n };\r\n\r\n const onResizeEnd = (event, node) => {\r\n let updatedNodes = [];\r\n const updatedNode = [];\r\n let parsedData = {};\r\n if (user_data) {\r\n parsedData = JSON.parse(user_data);\r\n }\r\n setNodes((prev) => {\r\n localStorage.setItem(\r\n \"architectureJson\",\r\n JSON.stringify({\r\n architecture_json: {\r\n nodes: prev,\r\n // lastUpdatedBy: userData?.user_id,\r\n lastEvent: ``,\r\n },\r\n })\r\n );\r\n // Update the resized node\r\n updatedNodes = prev?.map((_) => {\r\n if (_?.id === node?.id) {\r\n _ = JSON.parse(JSON.stringify(_));\r\n _.style.width = Number(mainRef?.current?.offsetWidth || 0);\r\n _.style.height =\r\n ref?.current?.editor?.offsetHeight + 5 >\r\n Number(mainRef?.current?.offsetHeight)\r\n ? Number(ref?.current?.editor?.offsetHeight + 10)\r\n : Number(mainRef?.current?.offsetHeight);\r\n return _;\r\n } else {\r\n return _;\r\n }\r\n });\r\n\r\n return updatedNodes;\r\n });\r\n\r\n const search = new URLSearchParams(location.search);\r\n const a_id = search.get(\"a_id\");\r\n updateJson({\r\n json: {\r\n architecture_json: {\r\n nodes: updatedNodes,\r\n lastUpdatedBy: parsedData?.user_id,\r\n lastEvent: `editor_changed_${node?.id}`,\r\n },\r\n },\r\n id,\r\n dispatch,\r\n undo,\r\n a_id,\r\n takeSnapshot,\r\n });\r\n };\r\n const handleAddRow = () => {\r\n const newLabel = {\r\n label: `Label ${tempData.labels.length + 1}`,\r\n isShow: false,\r\n };\r\n\r\n setTempData((prevData) => ({\r\n ...prevData,\r\n labels: [...prevData.labels, newLabel],\r\n datasets: prevData.datasets.map((dataset) => ({\r\n ...dataset,\r\n data: [...dataset.data, 0],\r\n })),\r\n }));\r\n setTimeout(() => {\r\n if (tableContainerRef.current) {\r\n const { scrollHeight } = tableContainerRef.current;\r\n tableContainerRef.current.scrollTo({\r\n top: scrollHeight,\r\n behavior: \"smooth\",\r\n });\r\n }\r\n }, 100);\r\n };\r\n\r\n const debouncedUpdateJson = useCallback(\r\n debounce((tempNodes, updatedEdges) => {\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 updateJson({\r\n json: {\r\n architecture_json: {\r\n nodes: tempNodes.length > 0 ? tempNodes : getNodes(),\r\n edges: updatedEdges.length > 0 ? updatedEdges : getEdges(),\r\n lastUpdatedBy: parsedData?.user_id,\r\n },\r\n },\r\n id: architectureId,\r\n dispatch,\r\n undo,\r\n a_id,\r\n });\r\n }, 100),\r\n [updateJson, user_data, dispatch, undo]\r\n );\r\n\r\n const handleCheck = (e, value) => {\r\n let updatedNodes;\r\n setNodes((nds) => {\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 updatedNodes = nds.map((node1) => {\r\n if (node1.id === node?.id) {\r\n return {\r\n ...node1,\r\n data: {\r\n ...node1.data,\r\n [value]: e.target.checked,\r\n },\r\n };\r\n }\r\n return node1;\r\n });\r\n return updatedNodes;\r\n });\r\n debouncedUpdateJson(updatedNodes, getEdges());\r\n };\r\n\r\n const handleChangeDatasetLabel = (index, value) => {\r\n setTempData({\r\n labels: tempData.labels,\r\n datasets: tempData.datasets.map((data, i) =>\r\n index === i\r\n ? {\r\n ...data,\r\n label: value,\r\n }\r\n : data\r\n ),\r\n columns: tempData.columns,\r\n });\r\n };\r\n const handleColumnChange = (index, value) => {\r\n setTempData((prevState) => ({\r\n ...prevState,\r\n columns: prevState?.columns?.map(\r\n (col, i) => (i === index ? { ...col, label: value } : col) // Update only the label field\r\n ),\r\n }));\r\n };\r\n\r\n const isItemToSmall = useMemo(\r\n () => zoomPercentages <= 12.5,\r\n [zoomPercentages]\r\n );\r\n\r\n const isWidthLessthan25 = useMemo(\r\n () => 12.5 < zoomPercentages && zoomPercentages <= 25,\r\n [zoomPercentages]\r\n );\r\n\r\n const isWidthLessthan50 = useMemo(\r\n () => 25 < zoomPercentages && zoomPercentages <= 50,\r\n [zoomPercentages]\r\n );\r\n\r\n const isWidthLessthan100 = useMemo(\r\n () => 50 < zoomPercentages && zoomPercentages <= 100,\r\n [zoomPercentages]\r\n );\r\n\r\n const isNodeSelected = getNodes().filter(\r\n (nd) => nd.id === node.id && node.selected === true\r\n );\r\n\r\n const frameMoreOptionsRefs = useRef([]);\r\n const handleClickOutside = (event) => {\r\n if (\r\n frameMoreOptionsRef.current &&\r\n !frameMoreOptionsRef.current.contains(event.target)\r\n ) {\r\n setShowLinkMoreOptions(false);\r\n }\r\n frameMoreOptionsRefs.current.forEach((ref, i) => {\r\n if (openTooltipIndex === i && ref && !ref.contains(event.target)) {\r\n setOpenTooltipIndex(null);\r\n }\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n document.addEventListener(\"mousedown\", handleClickOutside);\r\n return () => {\r\n document.removeEventListener(\"mousedown\", handleClickOutside);\r\n };\r\n }, [openTooltipIndex]);\r\n\r\n const renderEditModal = () => (\r\n <>\r\n \r\n {isLoading && }\r\n \r\n \r\n \r\n \r\n Edit Data\r\n \r\n handleCloseModal()}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n e.stopPropagation()}\r\n >\r\n \r\n Legend\r\n \r\n handleCheck(e, \"legend\")}\r\n />\r\n \r\n e.stopPropagation()}\r\n >\r\n \r\n Title\r\n \r\n handleCheck(e, \"title\")}\r\n />\r\n \r\n \r\n \r\n {/* handleFileUpload(e)}\r\n style={{ display: \"block\" }}\r\n /> */}\r\n \r\n \r\n \r\n \r\n \r\n Upload File\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 {useColumn ? tempData?.topHeader : \"Labels\"}\r\n \r\n \r\n {tempData?.datasets?.map((dataset, index) => (\r\n \r\n \r\n \r\n {node?.data?.chartType !== \"pie\" && (\r\n \r\n (frameMoreOptionsRefs.current[index] = el)\r\n }\r\n >\r\n setOpenTooltipIndex(null)}\r\n open={openTooltipIndex === index}\r\n disableFocusListener\r\n disableHoverListener\r\n disableTouchListener\r\n title={\r\n \r\n }\r\n placement=\"top\"\r\n >\r\n {\r\n setOpenTooltipIndex(\r\n openTooltipIndex === index\r\n ? null\r\n : index\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 {useColumnName ? (\r\n \r\n handleChangeDatasetLabel(\r\n index,\r\n e.target.value\r\n )\r\n }\r\n variant=\"outlined\"\r\n autoComplete=\"off\"\r\n sx={{\r\n \"& .MuiOutlinedInput-input\": {\r\n borderRadius: \"0px !important\",\r\n fontWeight: \"500 !important\",\r\n },\r\n \"& .MuiOutlinedInput-root\": {\r\n maxWidth: \"80px\",\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n alignContent: \"center\",\r\n padding: \"0px\",\r\n \"& fieldset\": {\r\n border: \"none\",\r\n },\r\n \"&:hover fieldset\": {\r\n border: \"none\",\r\n },\r\n \"&.Mui-focused fieldset\": {\r\n border: \"none\",\r\n },\r\n \"& .MuiInputBase-input::placeholder\": {\r\n color: \"#848382\",\r\n },\r\n \"&.Mui-focused .MuiInputBase-input::placeholder\":\r\n {\r\n color: \"#84838299\",\r\n },\r\n \"& .MuiInputBase-input\": {\r\n padding: \"0\",\r\n border: \"none\",\r\n fontSize: \"12px\",\r\n fontWeight: \"400\",\r\n color: \"#18181B\",\r\n },\r\n },\r\n }}\r\n />\r\n ) : (\r\n \r\n handleColumnChange(index, e.target.value)\r\n }\r\n autoComplete=\"off\"\r\n sx={{\r\n \"& .MuiOutlinedInput-input\": {\r\n borderRadius: \"0px !important\",\r\n fontWeight: \"500 !important\",\r\n textAlign: \"center\",\r\n },\r\n \"& .MuiOutlinedInput-root\": {\r\n maxWidth: \"80px\",\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n alignContent: \"center\",\r\n padding: \"0px\",\r\n \"& fieldset\": {\r\n border: \"none\",\r\n },\r\n \"&:hover fieldset\": {\r\n border: \"none\",\r\n },\r\n \"&.Mui-focused fieldset\": {\r\n border: \"none\",\r\n },\r\n \"& .MuiInputBase-input::placeholder\": {\r\n color: \"#848382\",\r\n },\r\n \"&.Mui-focused .MuiInputBase-input::placeholder\":\r\n {\r\n color: \"#84838299\",\r\n },\r\n \"& .MuiInputBase-input\": {\r\n padding: \"0\",\r\n border: \"none\",\r\n fontSize: \"12px\",\r\n fontWeight: \"400\",\r\n color: \"#18181B\",\r\n },\r\n },\r\n }}\r\n />\r\n )}\r\n \r\n {node?.data?.chartType !== \"pie\" && (\r\n handleDeleteRow(index)}\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 Labels\r\n \r\n \r\n {tempData.datasets.map((dataset, index) => (\r\n \r\n \r\n \r\n {node?.data?.chartType !== \"pie\" && (\r\n \r\n (frameMoreOptionsRefs.current[index] = el)\r\n }\r\n >\r\n setOpenTooltipIndex(null)}\r\n open={openTooltipIndex === index}\r\n disableFocusListener\r\n disableHoverListener\r\n disableTouchListener\r\n title={\r\n \r\n }\r\n placement=\"top\"\r\n >\r\n {\r\n setOpenTooltipIndex(\r\n openTooltipIndex === index\r\n ? null\r\n : index\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 handleChangeDatasetLabel(\r\n index,\r\n e.target.value\r\n )\r\n }\r\n variant=\"outlined\"\r\n autoComplete=\"off\"\r\n sx={{\r\n \"& .MuiOutlinedInput-input\": {\r\n borderRadius: \"0px !important\",\r\n fontWeight: \"500 !important\",\r\n },\r\n \"& .MuiOutlinedInput-root\": {\r\n maxWidth: \"80px\",\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n alignContent: \"center\",\r\n padding: \"0px\",\r\n \"& fieldset\": {\r\n border: \"none\",\r\n },\r\n \"&:hover fieldset\": {\r\n border: \"none\",\r\n },\r\n \"&.Mui-focused fieldset\": {\r\n border: \"none\",\r\n },\r\n \"& .MuiInputBase-input::placeholder\": {\r\n color: \"#848382\",\r\n },\r\n \"&.Mui-focused .MuiInputBase-input::placeholder\":\r\n {\r\n color: \"#84838299\",\r\n },\r\n \"& .MuiInputBase-input\": {\r\n padding: \"0\",\r\n border: \"none\",\r\n fontSize: \"12px\",\r\n fontWeight: \"400\",\r\n color: \"#18181B\",\r\n },\r\n },\r\n }}\r\n />\r\n \r\n {node?.data?.chartType !== \"pie\" && (\r\n handleDeleteRow(index)}\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 ...Array(Math.max(10, tempData.labels.length)).keys(),\r\n ].map((_, i) => {\r\n const label = tempData.labels[i] || {\r\n label: `Label ${i + 1}`,\r\n };\r\n\r\n return (\r\n \r\n {(node?.data?.chartType === \"pie\" || node?.data?.chartType === \"doughnut\" || node?.data?.chartType === \"polarArea\" ) ? (\r\n tempData.datasets.slice(0,1).map((dataset, j) =>{ \r\n return(\r\n \r\n \r\n \r\n {(node?.data?.chartType === \"pie\" || node?.data?.chartType === \"doughnut\" || node?.data?.chartType === \"polarArea\" ) && (\r\n \r\n (frameMoreOptionsRefs.current[i] = el)\r\n }\r\n >\r\n \r\n setOpenTooltipIndex(null)\r\n }\r\n open={openTooltipIndex === i}\r\n disableFocusListener\r\n disableHoverListener\r\n disableTouchListener\r\n title={\r\n \r\n }\r\n placement=\"top\"\r\n >\r\n {\r\n setOpenTooltipIndex(\r\n openTooltipIndex === i\r\n ? null\r\n : i\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 handleDataChangeLabel(e, i)\r\n }\r\n variant=\"outlined\"\r\n autoComplete=\"off\"\r\n sx={{\r\n \"& .MuiOutlinedInput-input\": {\r\n borderRadius: \"0px !important\",\r\n },\r\n \"& .MuiOutlinedInput-root\": {\r\n maxWidth: \"80px\",\r\n padding: \"0px\",\r\n \"& fieldset\": {\r\n border: \"none\",\r\n },\r\n \"&:hover fieldset\": {\r\n border: \"none\",\r\n },\r\n \"&.Mui-focused fieldset\": {\r\n border: \"none\",\r\n },\r\n \"& .MuiInputBase-input::placeholder\":\r\n {\r\n color: \"#848382\",\r\n },\r\n \"&.Mui-focused .MuiInputBase-input::placeholder\":\r\n {\r\n color: \"#84838299\",\r\n },\r\n \"& .MuiInputBase-input\": {\r\n padding: \"0\",\r\n border: \"none\",\r\n fontSize: \"12px\",\r\n fontWeight: \"400\",\r\n color: \"#18181B\",\r\n },\r\n \"& .MuiFormControl-root\": {\r\n borderRadius: \"0 !important\",\r\n },\r\n },\r\n }}\r\n />\r\n \r\n handleDeleteLabel(i)}\r\n >\r\n \r\n \r\n \r\n \r\n )})\r\n ) : (\r\n <>\r\n \r\n \r\n \r\n handleDataChangeLabel(e, i)\r\n }\r\n variant=\"outlined\"\r\n autoComplete=\"off\"\r\n sx={{\r\n \"& .MuiOutlinedInput-input\": {\r\n borderRadius: \"0px !important\",\r\n },\r\n \"& .MuiOutlinedInput-root\": {\r\n maxWidth: \"80px\",\r\n padding: \"0px\",\r\n \"& fieldset\": {\r\n border: \"none\",\r\n },\r\n \"&:hover fieldset\": {\r\n border: \"none\",\r\n },\r\n \"&.Mui-focused fieldset\": {\r\n border: \"none\",\r\n },\r\n \"& .MuiInputBase-input::placeholder\": {\r\n color: \"#848382\",\r\n },\r\n \"&.Mui-focused .MuiInputBase-input::placeholder\":\r\n {\r\n color: \"#84838299\",\r\n },\r\n \"& .MuiInputBase-input\": {\r\n padding: \"0\",\r\n border: \"none\",\r\n fontSize: \"12px\",\r\n fontWeight: \"400\",\r\n color: \"#18181B\",\r\n },\r\n \"& .MuiFormControl-root\": {\r\n borderRadius: \"0 !important\",\r\n },\r\n },\r\n }}\r\n />\r\n handleDeleteLabel(i)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {tempData.datasets.map((dataset, j) => {\r\n const isLabelRow = !useColumnName && i === 0;\r\n const value = dataset.data[i] || \"\";\r\n return (\r\n \r\n setFocusedIndex(`${j}-${i}`)}\r\n onChange={(e) =>\r\n isLabelRow\r\n ? handleChangeDatasetLabel(\r\n j,\r\n e.target.value\r\n )\r\n : handleDataChange(e, j, i)\r\n }\r\n // onBlur={() => handleBlur(j, i)}\r\n onBlur={() => {\r\n setFocusedIndex(null); // Reset on blur\r\n if (value === \"\") {\r\n handleDataChange({ target: { value: 0 } }, j, i); // If empty, reset to 0\r\n }\r\n handleBlur(j, i);\r\n }}\r\n variant=\"outlined\"\r\n type={isLabelRow ? \"text\" : \"number\"}\r\n inputProps={{\r\n step: 1,\r\n style: {\r\n MozAppearance: \"textfield\",\r\n },\r\n }}\r\n autoComplete=\"off\"\r\n sx={{\r\n \"& .MuiOutlinedInput-input\": {\r\n borderRadius: \"0px !important\",\r\n fontWeight: isLabelRow ? \"500\" : \"400\",\r\n color: \"#18181B\",\r\n fontSize: \"12px\",\r\n },\r\n \"& .MuiOutlinedInput-root\": {\r\n width: isLabelRow ? \"80px\" : \"50px\",\r\n padding: \"0px\",\r\n \"& fieldset\": {\r\n border: \"none\",\r\n },\r\n \"&:hover fieldset\": {\r\n border: \"none\",\r\n },\r\n \"&.Mui-focused fieldset\": {\r\n border: \"none\",\r\n },\r\n \"& .MuiInputBase-input::placeholder\": {\r\n color: \"#848382\",\r\n },\r\n \"&.Mui-focused .MuiInputBase-input::placeholder\":\r\n {\r\n color: \"#84838299\",\r\n },\r\n \"& .MuiInputBase-input\": {\r\n padding: \"0\",\r\n border: \"none\",\r\n \"&::-webkit-outer-spin-button, &::-webkit-inner-spin-button\":\r\n {\r\n WebkitAppearance: \"none\",\r\n margin: 0,\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?.chartType !== \"pie\" && (\r\n handleAddColum()}\r\n >\r\n \r\n
\r\n )}\r\n
\r\n handleAddRow()}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n Clear Data\r\n \r\n \r\n \r\n \r\n Add to Board\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n useEffect(() => {\r\n if (!node?.selected) {\r\n setShowLinkMoreOptions(false);\r\n }\r\n }, [node]);\r\n\r\n return (\r\n <>\r\n \r\n \r\n {node?.selected && (\r\n <>\r\n {!node.data?.locked && (\r\n <>\r\n \r\n \r\n \r\n {\r\n handleTitle(e);\r\n }}\r\n variant=\"outlined\"\r\n autoComplete=\"off\"\r\n sx={{\r\n \"& .MuiOutlinedInput-input\": {\r\n borderRadius: \"0px !important\",\r\n wordWrap: \"break-word\",\r\n textOverflow: \"ellipsis\",\r\n },\r\n \"& .MuiOutlinedInput-root\": {\r\n maxWidth: \"150px\",\r\n padding: \"0px\",\r\n \"& fieldset\": {\r\n border: \"none\",\r\n },\r\n \"&:hover fieldset\": {\r\n border: \"none\",\r\n },\r\n \"&.Mui-focused fieldset\": {\r\n border: \"none\",\r\n },\r\n \"& .MuiInputBase-input::placeholder\": {\r\n color: \"#848382\",\r\n },\r\n \"&.Mui-focused .MuiInputBase-input::placeholder\":\r\n {\r\n color: \"#84838299\",\r\n },\r\n \"& .MuiInputBase-input\": {\r\n padding: \"0\",\r\n border: \"none\",\r\n fontSize: \"14px\",\r\n fontWeight: \"400\",\r\n color: \"#18181B\",\r\n },\r\n },\r\n }}\r\n />\r\n {/* \r\n {`${\r\n node?.data?.chartType?.charAt(0).toUpperCase() +\r\n node?.data?.chartType?.slice(1)\r\n } Chart`}\r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n setTempData({\r\n ...tempData,\r\n labels: node.data.data.labels,\r\n datasets: node.data.data.datasets,\r\n columns: node.data.data.columns,\r\n });\r\n setIsModalOpen(true);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n {downloadLoading ? (\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 let updatedNodes;\r\n setNodes((nds) => {\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 updatedNodes = nds.map((node1) => {\r\n if (node1.id === node?.id) {\r\n return {\r\n ...node1,\r\n data: {\r\n ...node1.data,\r\n locked: !node.data?.locked,\r\n },\r\n };\r\n }\r\n return node1;\r\n });\r\n return updatedNodes;\r\n });\r\n\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 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: architectureId,\r\n dispatch,\r\n undo,\r\n a_id,\r\n takeSnapshot,\r\n });\r\n }}\r\n >\r\n {node.data?.locked ? : }\r\n \r\n \r\n \r\n\r\n \r\n \r\n setShowLinkMoreOptions(false)}\r\n open={showLinkMoreOptions}\r\n disableFocusListener\r\n disableHoverListener\r\n disableTouchListener\r\n title={\r\n \r\n }\r\n >\r\n \r\n \r\n setShowLinkMoreOptions(!showLinkMoreOptions)\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?.chartType === \"pie\" ? (\r\n \r\n ) : node?.data?.chartType === \"doughnut\" ? (\r\n \r\n ) : node?.data?.chartType === \"line\" ||\r\n node?.data?.chartType === \"steppedLine\" ? (\r\n \r\n ) : node?.data?.chartType === \"polarArea\" ? (\r\n \r\n ) : node?.data?.chartType === \"radar\" ? (\r\n \r\n ) : node?.data?.chartType === \"bubble\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n\r\n {!node.data?.locked &&\r\n !node?.dragging &&\r\n !showExport &&\r\n !isItemToSmall &&\r\n !startVoting &&\r\n !copyAsImage && (\r\n <>\r\n {\r\n setShowDots(true);\r\n setHoveredItem(\"top\");\r\n }}\r\n onMouseLeave={() => {\r\n setShowDots(false);\r\n setHoveredItem(\"\");\r\n }}\r\n onClick={(e) => {\r\n e.preventDefault();\r\n }}\r\n >\r\n {(!isNodeSelectionStarted || isNodeSelected <= 0) && (\r\n \r\n )}\r\n \r\n console.log(\"handle onConnect\", params)}\r\n onMouseOver={() => {\r\n setShowDots(true);\r\n setHoveredItem(\"left\");\r\n }}\r\n onMouseLeave={() => {\r\n setShowDots(false);\r\n setHoveredItem(\"\");\r\n }}\r\n onClick={(e) => {\r\n e.preventDefault();\r\n }}\r\n >\r\n {(!isNodeSelectionStarted || isNodeSelected <= 0) && (\r\n \r\n )}\r\n \r\n console.log(\"handle onConnect\", params)}\r\n onMouseOver={() => {\r\n setShowDots(true);\r\n setHoveredItem(\"right\");\r\n }}\r\n onMouseLeave={() => {\r\n setShowDots(false);\r\n setHoveredItem(\"\");\r\n }}\r\n onClick={(e) => {\r\n e.preventDefault();\r\n }}\r\n >\r\n {(!isNodeSelectionStarted || isNodeSelected <= 0) && (\r\n \r\n )}\r\n \r\n console.log(\"handle onConnect\", params)}\r\n onMouseOver={() => {\r\n setShowDots(true);\r\n setHoveredItem(\"bottom\");\r\n }}\r\n onMouseLeave={() => {\r\n setShowDots(false);\r\n setHoveredItem(\"\");\r\n }}\r\n onClick={(e) => {\r\n e.preventDefault();\r\n }}\r\n >\r\n {(!isNodeSelectionStarted || isNodeSelected <= 0) && (\r\n \r\n )}\r\n \r\n \r\n )}\r\n {sizeAsPerZoom > 25 &&\r\n !node.data?.locked &&\r\n node?.selected &&\r\n !showExport &&\r\n !isNodeSelectionStarted &&\r\n !startVoting &&\r\n !copyAsImage && (\r\n <>\r\n onResizeEnd(e, node)}\r\n style={{\r\n zIndex: 999999999999,\r\n backgroundColor: \"transparent\",\r\n border: \"1px solid transparent\",\r\n }}\r\n >\r\n \r\n \r\n onResizeEnd(e, node)}\r\n style={{\r\n zIndex: 999999999999,\r\n backgroundColor: \"transparent\",\r\n border: \"1px solid transparent\",\r\n }}\r\n >\r\n \r\n \r\n onResizeEnd(e, node)}\r\n style={{\r\n zIndex: 999999999999,\r\n backgroundColor: \"transparent\",\r\n border: \"1px solid transparent\",\r\n }}\r\n >\r\n \r\n \r\n onResizeEnd(e, node)}\r\n style={{\r\n zIndex: 999999999999,\r\n backgroundColor: \"transparent\",\r\n border: \"1px solid transparent\",\r\n }}\r\n >\r\n \r\n \r\n \r\n )}\r\n {renderEditModal()}\r\n {showFileSizeExceedsModal && (\r\n \r\n )}\r\n {isColumnModalOpen && (\r\n \r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default memo(ChartNode, (prevProps, nextProps) => {\r\n return prevProps.data.globalDragging && nextProps.data.globalDragging;\r\n});\r\n"],"names":["_ref","_currNode$data","_currNode$data$style","_currCardData$assign","_currCardData$assign2","_currCardData$tag2","_currCardData$tag3","_currCardData$tag4","_currCardData$tag5","setShowCardModal","setShowDescription","open","handleColorChange","nodeId","handlePriorityClick","handleMemberSelect","boardData","handleChageDate","handleClearDate","handleStatusClick","tEditor","dEditor","currCardData","setNodes","getNode","useReactFlow","anchorElTag","setAnchorElTag","useState","anchorElDate","setAnchorElDate","anchorElStatus","setAnchorElStatus","anchorElPriority","setAnchorElPriority","assigneeLoader","setAssigneeLoader","anchorElAssign","setAnchorElAssign","members","setMembers","newTag","setNewTag","editTagIndex","setEditTagIndex","editTagValue","setEditTagValue","error","setError","searchValue","setSearchValue","showTextColor","setShowTextColor","textStyles","setTextStyles","isBold","isItalic","isUnderline","isStrikethrough","textAlign","listType","fontSize","currNode","currentTextColor","setCurrentTextColor","data","style","color","showColor","setShowColor","undo","takeSnapshot","useUndoRedo","user_data","localStorage","getItem","dispatch","useDispatch","location","useLocation","id","architectureId","useParams","fillColor","priority","getPriorityFill","fillColorStatus","status","getStatusFill","getArchitectureMembers","useCallback","async","_response$data","response","commanService","getApi","concat","architecture_id","filteredMembers","filter","member","first_name","last_name","toLowerCase","includes","titleEditor","useEditor","extensions","tipTapExtensions","content","title","editorProps","handlePaste","view","event","pastedContent","clipboardData","getData","JSON","parse","e","descriptionEditor","description","document","querySelectorAll","forEach","element","addEventListener","stopPropagation","selection","window","getSelection","rangeCount","removeAllRanges","useEffect","updateTextStyles","currentStyles","editor","isActive","textColor","getAttributes","currentColor","on","off","handleCloseIcon","_tEditor$commands","_dEditor$commands","updatedNodes","commands","setContent","getHTML","getText","trim","length","nds","_parsedData","map","nd","_objectSpread","a_id","URLSearchParams","search","get","parsedData","updateJson","json","architecture_json","nodes","lastUpdatedBy","user_id","hasClickedOnGivenClass","target","className","classList","contains","parentElement","handleClickOutside","removeEventListener","_jsx","Dialog","onClose","onClick","disableEnforceFocus","fullWidth","maxWidth","sx","width","margin","borderRadius","boxShadow","background","children","DialogContent","_jsxs","Box","marginBottom","display","flexDirection","justifyContent","fontWeight","gap","alignItems","IconButton","height","bgcolor","transition","IcCloseThin","fill","EditorContent","cursor","border","padding","minHeight","borderBottom","CustomNameTooltip","placement","arrow","lightPrimary","chain","focus","toggleBold","run","IcTextBold","primaryColor","toggleItalic","IcTextItalic","toggleUnderline","IcTextUnderline","toggleStrike","IcTextStrickTrough","toggleBulletList","IcListOutlined","toggleOrderedList","IcNumberListOutlined","toggleTaskList","IcTaskList","setTextAlign","IcTextAlignLeft","IcTextAlignCenter","IcTextAlignRight","ClickAwayListener","onClickAway","CustomTooltip","mt","PopperProps","disablePortal","disableFocusListener","disableHoverListener","disableTouchListener","BackgroundTool","showOpacity","selectedNodeColor","toRgba","onChangeColor","setColor","ToolTipWithDisabled","tooltipTitle","disabled","IcTextColor","ml","backgroundColor","outline","extendMarkRange","setLink","href","IcLinkOutlined3","documentColor","Stack","IcChangeBg","mouseX","clientX","mouseY","clientY","alignContent","paddingX","paddingY","Icon","Popover","anchorReference","anchorPosition","top","left","undefined","p","statusDropdown","_ref2","i","name","React","mb","direction","marginX","Typography","DoneIcon","size","IcPriorityLevel","priorityDropdown","_ref3","position","date","_Fragment","IcDate","Boolean","DatePicker","selected","onChange","inline","borderTop","handleClickAssign","assign","flexWrap","slice","val","index","_val$first_name$","profile_picture","marginRight","objectFit","src","alt","profile_color","toUpperCase","isAvatarGroup","_val$first_name$2","Avatar","SearchInput","value","placeholder","bgColor","formControlSx","SimpleCircularProgress","loaderColor","loaderPathColor","user","_user$first_name$","_currCardData$assign3","marginTop","overflow","whiteSpace","textOverflow","SimpleCheckBox","checked","some","assignedUser","tag","TextField","onKeyDown","handleAddTag","_currCardData$tag","key","randomColor","autoComplete","helperText","lineHeight","handleSaveEdit","_nd$data","_nd$data$tag","idx","textTransform","variant","handleEditTag","marginLeft","EditIcon","_nd$data2","_","handleRemoveTag","CancelIcon","CardNode","node","_data$description","_node$data","_node$data$style","_node$data2","_node$data3","_node$data4","_node$data5","_data$tag2","_getNodes","_getNodes$filter","_getNodes2","_data$emoji","_node$data$style$font","_node$data18","_node$data18$style","_node$data$style$font2","_node$data19","_node$data19$style","_node$data$style$text","_node$data20","_node$data20$style","_node$data$style$text2","_node$data21","_node$data21$style","_data$description2","_node$data$style$font3","_node$data22","_node$data22$style","_node$data$style$font4","_node$data23","_node$data23$style","_node$data$style$text3","_node$data24","_node$data24$style","_node$data$style$text4","_node$data25","_node$data25$style","_data$assign","_data$assign2","_data$tag3","_data$tag4","_cardRef$current2","_cardRef$current3","_cardRef$current4","_cardRef$current5","_cardRef$current6","_data$emoji2","_Object$values","_data$tag5","_data$tag6","_node$data26","linkText","setLinkText","ref","useRef","showDescription","getNodes","getIntersectingNodes","showFontStyle","setShowFontStyle","showEdit","setShowEdit","showTextEditor","setShowTextEditor","isHovered","setIsHovered","hoveredItem","setHoveredItem","fontstyleEditor","setFontStyleEditor","showDots","setShowDots","showCardModal","containerRef","cardRef","mainRef","titleRef","title1Ref","descriptionRef","dataRef","assignRef","tagRef","zoomPercentages","setZoomPercentages","showCardMoreOptions","setShowCardMoreOptions","currentFontFamily","setCurrentFontFamily","currentTextAlign","setCurrentTextAlign","currentListType","setCurrentListType","showListTypes","setShowListTypes","showReaction","setShowReaction","showAlignment","setShowAlignment","showFontSizeOpt","setShowFontSizeOpt","showFontFamily","setShowFontFamily","fontSizeArr","selectedFontSize","setSelectedFontSize","userData","useSelector","state","common","architectureData","_data$archBoard","archBoard","architectureRes","setOpen","anchorEl","setAnchorEl","setBoardData","openTag","setOpenTag","idTag","openStatus","setOpenStatus","floatingMenu","setFloatingMenu","openAssign","setOpenAssign","idAssign","idStatus","canBeOpen","showLink","setShowLink","id1","simpleRef","store","useStoreApi","showExport","copyAsImage","isDownload","mindMapStore","isNodeSelectionStarted","useNodeSelectionStarted","textColorPopupRef","textPopupRef","fontstyle","fontList","linkRef","fontFamilyRef","fontSizeRef","fontAlign","TitleEnterKeyHandler","Extension","create","addKeyboardShortcuts","Enter","onUpdate","resize","nodeResizeData","debouncedUpdateHTML","onBlur","edges","onSelectionUpdate","rect","getRangeAt","getBoundingClientRect","x","y","_ref4","_titleEditor$commands","_editor$commands","debouncedUpdateJson","getElementById","current","closeAllTools","timerForEditor","selectedTextRef","onEditorClick","clearTimeout","type","detail","setTimeout","pos","posAtCoords","setTextSelection","toLocaleDateString","projectRes","project_id","project_name","handleArchitectureResponse","_nd$data4","_nd$data4$assign","updatedAssign","email_id","useMemo","debounce","updateTextAlignment","alignment","tempNodes","_parsedData2","zoom","useStore","_state$transform","transform","sizeAsPerZoom","isNodeSelected","frameMoreOptionsRef","reactionRef","handleClickOutside1","debouncedUpdateFontSize","validatedSize","Math","min","max","parseInt","empty","prevNodes","_node$data6","_node$data7","_node$data8","sanitizeHtml","setFontSize","handleUpdateFontSize","sizeValue","clampedSize","handleFontSizeChange","action","currentFontSize","newFontSize","_node$data9","_node$data10","_node$data11","getCurrentStyles","fontFamily","shouldShowBox","_fontFamilyArr$find","fontFamilyArr","find","font","family","_fontFamilyArr$find2","resizedWidth","setResizedWidth","transformScale","setTransformScale","_currNode$style","_currNode$style2","_cardRef$current","scaleX","scaleY","offsetHeight","scale","onResize","_ref5","prev","onResizeEnd","_parsedData3","_updatedNodes","setItem","stringify","lastEvent","_ref6","_mainRef$current","_mainRef$current2","Number","offsetWidth","n","_groupNode","_groupNode2","_groupNode3","_groupNode4","intersections","groupNode","parentNode","_store$getState","_store$getState$nodeI","getState","nodeInternals","_parentNode$positionA","_parentNode$positionA2","_parentNode$positionA3","_parentNode$positionA4","positionAbsolute","expandParent","_n2","_groupNode5","_node$positionAbsolut","_groupNode6","_groupNode6$positionA","_node$positionAbsolut2","_groupNode7","_groupNode7$positionA","_n3","structuredClone","_n","_getNodePositionInsid","getNodePositionInsideParent","_title1Ref$current","_descriptionRef$curre","_dataRef$current","_assignRef$current","_tagRef$current","totalHeight","selectedNodes","isMultiNodeSelected","emojiData","reduce","acc","comment","_comment$data","_comment$data$emoji","emoji","unified","imageUrl","count","emojiD","emojiCount","Object","values","locked","paddingBottom","onMouseEnter","onMouseLeave","onMouseOver","onMouseOut","wordWrap","removeHTMLTags","dangerouslySetInnerHTML","__html","preventDefault","pointerEvents","isFocused","right","opacity","visibility","IcArrowExpand","NodeResizer","minWidth","handleStyle","NodeResizeControl","keepAspectRatio","zIndex","transformOrigin","dragging","Handle","connectionMode","isConnectable","transitionDuration","maxHeight","onConnect","params","console","log","bottom","addEmoji","_n$data2","_n$data2$emoji","existingEmojiIndex","findIndex","userId","_n$data$emoji3","anchorOrigin","vertical","horizontal","BackdropProps","_ref7","_ref8","join","_data$tag","globalDragging","NodeToolbar","Position","Top","s3AssetsUrl","colorHeading","CommonDivider","my","orientation","flexItem","currentTarget","previousOpen","IcPriority","IcStatus2","IcAssign","onWheelCapture","_node$data12","_node$data13","_node$data14","setFontFamily","handleChangeFontFamily","CheckCircleOutlineIcon","px","match","titleDark","whiteColor","paddingRight","borderRight","IcDecresFontSize","IcIncreseFontSize","secondaryColor","selectParentNode","isStrike","IcFontStyle","isBullet","isOrdered","isTaskList","_node$data15","_node$data16","_node$data17","handleChangeTextColor","EmojiPicker","onEmojiClick","_n$data","_n$data$emoji","_n$data$emoji2","IcSmileHappyPlus","IcTagOutlined","toggleLockUnlock","_nd$data3","IcLockLocked","IcLockUnLocked","FrameMoreMenus","showRename","showDuplicate","showCopyAsImage","showFrame","showLockUnlock","showCopyLink","showLinkTo","showDelete","exportShow","showBringToFrontAndBack","setShowFrameMoreOptions","IcMenuDotsVertical","handleCloseFloatingMenu","LinkTool","_e$target","onKeyPress","CardModal","VotingCommon","memo","prevProps","nextProps","ChartJS","register","ArcElement","Title","Tooltip","Legend","LineElement","PointElement","LinearScale","CategoryScale","BarElement","RadialLinearScale","AntSwitch","styled","Switch","theme","applyStyles","transitions","duration","boxSizing","ChartNode","_node$data$data$useCo","_node$data$data","_node$data15$data","_node$data32","_node$data32$style","_node$data45","_node$data46","_node$data48","_node$data49","_node$data50","_node$data51","_node$data52","_node$data53","_node$data54","_node$data55","_node$data56","_node$data57","_node$data58","_node$data59","startVoting","_archBoard$votingData","votingData","startVotingSession","openTooltipIndex","setOpenTooltipIndex","isModalOpen","setIsModalOpen","isColumnModalOpen","setIsColumnModalOpen","chartName","setChartName","isDotsShow","setIsDotsShow","downloadLoading","setDownloadLoading","showLinkMoreOptions","setShowLinkMoreOptions","showFileSizeExceedsModal","setShowFileSizeExceedsModal","chartRef","tableContainerRef","chartData","setChartData","labels","datasets","columns","tempData","setTempData","topHeader","parsedFileData","setParsedFileData","useColumn","setUseColumn","useColumnName","setUseColumnName","isLoading","setIsLoading","focusedIndex","setFocusedIndex","getEdges","updateChartNodeData","debouncedUpdateTitle","label","frame","newNode","getId","xPos","yPos","hide","isShadow","showBorder","frameNo","borderColor","nodeWH","visibleLabels","isShow","updatedDatasets","dataset","updatedData","_labels$index","config","responsive","indexAxis","chartType","animation","scales","beginAtZero","stacked","ticks","plugins","customCanvasBackgroundColor","legend","usePointStyle","pointStyle","boxWidth","boxHeight","generateLabels","chart","_node$data16$data","_node$data16$data$col","_node$data16$data$col2","_chart$getDatasetMeta","Array","isArray","text","fillStyle","strokeStyle","lineWidth","borderWidth","hidden","getDatasetMeta","datasetIndex","tooltip","callbacks","tooltipItem","datasetLabel","dataIndex","handleCloseModal","getRootProps","getInputProps","useDropzone","onDrop","files","file","fileSizeLimit","fileExtension","split","pop","Papa","header","skipEmptyLines","complete","results","topHeadercsv","meta","fields","firstHeader","prevTempData","rows","row","String","reader","FileReader","onload","_headers$","Uint8Array","result","workbook","XLSX","sheetName","SheetNames","worksheet","Sheets","jsonData","sheet_to_json","headers","topHeaderXLS","parsedRows","cell","rowData","_row$index","readAsArrayBuffer","accept","maxSize","handleParsedData","firstColumnKey","keys","months","hasInvalidData","month","isNaN","parseFloat","parsedValue","getRandomColor","unshift","pointBackgroundColor","pointBorderColor","errorToast","message","minRows","updatedLabels","from","floor","random","handleDataChange","newValue","newDatasets","newData","newLabels","handleSave","node1","handleDataChangeLabel","updatedChartData","handleDeleteLabel","handleClearData","prevData","_node$data27","_node$data28","updatedBackgroundColor","colorIndex","_node$data29","_node$data29$style","_node$data30","_node$data30$style","_node$data31","_node$data31$style","_ref$current","_ref$current$editor","_ref$current2","_ref$current2$editor","_mainRef$current3","updatedEdges","handleCheck","handleChangeDatasetLabel","isItemToSmall","frameMoreOptionsRefs","isVisible","handleTitle","IcEditChartOutline","options","useCORS","allowTaint","antialias","logging","originalCanvas","html2canvas","desiredWidth","desiredHeight","fixedCanvas","createElement","aspectRatio","ctx","getContext","drawWidth","drawHeight","drawImage","dataUrl","toDataURL","link","download","click","IcDownloadChartOutlined","_parsedData4","_node$data47","edit","showAddComment","saveFile","originalSize","hideImage","handleClickEdit","Pie","Doughnut","Line","PolarArea","Radar","Bubble","Bar","Loader","spacing","inputProps","_node$data33","_node$data34","BtnColoredOutlined","hoverSx","IcUploadOutlined","xs","fontSizes","fontSize13","md","fontSize14","btnTextHeight","TableContainer","Table","TableRow","TableCell","borderLeft","_tempData$datasets","_node$data35","_tempData$columns","_tempData$columns$ind","_node$data36","el","FrameBackgroundToolbar","colorTitle","handleColumnChange","prevState","_prevState$columns","col","float","updatedColumns","splice","handleDeleteRow","IcDeleteOutlined","_node$data37","_node$data38","_node$data39","j","_node$data40","_node$data41","_node$data42","isLabelRow","onFocus","handleBlur","step","MozAppearance","WebkitAppearance","_node$data43","py","stroke","newDataset","scrollWidth","scrollTo","behavior","IcPlus2","_node$data44","handleAddRow","newLabel","scrollHeight","mr","fontSize16","BtnGradient","FileSizeExceeds","ChooseColumnModal","handleConfirmColumn","renderEditModal"],"sourceRoot":""}