{"version":3,"file":"static/js/main-696b5628.868a0cf2.js","mappings":"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","sources":["Components/DrawBoard/Nodes-Types/TodoListNodeComponents/ListCardNode.js","Components/DrawBoard/Nodes-Types/TodoListNodeComponents/ListNode.js"],"sourcesContent":["import React, {\r\n useRef,\r\n useState,\r\n useEffect,\r\n useCallback,\r\n useMemo,\r\n} from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport \"../style.scss\";\r\nimport {\r\n Avatar,\r\n Box,\r\n ClickAwayListener,\r\n IconButton,\r\n List,\r\n ListItem,\r\n ListItemButton,\r\n Popover,\r\n Stack,\r\n TextField,\r\n Typography,\r\n} from \"@mui/material\";\r\nimport { useReactFlow, Position, NodeToolbar } from \"reactflow\";\r\nimport {\r\n removeHTMLTags,\r\n toRgba,\r\n updateJson,\r\n} from \"../../../../CommanFunctions/commanFunctions\";\r\nimport { debounce } from \"lodash\";\r\nimport { useParams, useLocation } from \"react-router-dom\";\r\nimport SimpleCheckBox from \"../../../../common-components/SimpleCheckBox\";\r\nimport { useSelector } from \"react-redux\";\r\nimport {\r\n IcArrowExpand,\r\n IcAssignOutlined,\r\n IcCalendarOutlined,\r\n IcChangeBg,\r\n IcClear,\r\n IcDecresFontSize,\r\n IcClock,\r\n IcExpanOutlined,\r\n IcFontStyle,\r\n IcLinkOutlined3,\r\n IcListOutlined,\r\n IcLockLocked,\r\n IcLockUnLocked,\r\n IcMenuDotsVertical,\r\n IcNumberListOutlined,\r\n IcProrityOutlined,\r\n IcStatus,\r\n IcStatusCompleted,\r\n IcTagOutlined,\r\n IcTextBold,\r\n IcTextColor,\r\n IcTextItalic,\r\n IcTextStrickTrough,\r\n IcTextUnderline,\r\n} from \"../../../../assets/icon-components\";\r\nimport IcPriorityLevel from \"../../../../assets/icon-components/IcPriorityLevel\";\r\nimport commanService from \"../../../../CommanFunctions/commanService\";\r\nimport { EditorContent, useEditor } from \"@tiptap/react\";\r\nimport { createVerticalTreeLayout } from \"../../../../Utils/hooks/createHieararchy\";\r\nimport {\r\n CustomNameTooltip,\r\n CustomTooltip,\r\n} from \"../../top-toolbar/components/CustomTooltip\";\r\nimport DoneIcon from \"@mui/icons-material/Done\";\r\nimport SearchIcon from \"@mui/icons-material/Search\";\r\nimport DatePicker from \"react-datepicker\";\r\nimport EditIcon from \"@mui/icons-material/Edit\";\r\nimport CancelIcon from \"@mui/icons-material/Cancel\";\r\nimport ToolTipWithDisabled from \"../../top-toolbar/components/ToolTipWithDisabled\";\r\nimport FrameMoreMenus from \"../../../Node/frameNode/FrameMoreMenus\";\r\nimport CardModal from \"../../../../common-components/modals/CardModal\";\r\nimport LinkTool from \"../../../Node/common-components/nodeTopToolbar/components/LinkTool\";\r\nimport IcIncreseFontSize from \"../../../../assets/icon-components/IcIncreseFontSie\";\r\nimport { tipTapExtensions } from \"../../tip-tap-editor\";\r\nimport BtnColoredOutlined from \"../../../../common-components/buttons/BtnColoredOutlined\";\r\nimport BtnGradient from \"../../../../common-components/buttons/BtnGradient\";\r\nimport { useUndoRedo } from \"../../dndUndoRedo/UndoRedoProvider\";\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 SimpleCircularProgress from \"../../../../common-components/SimpleCircularProgress\";\r\nimport BackgroundTool from \"../../../Node/common-components/nodeTopToolbar/components/BackgroundTool\";\r\n\r\nconst ListCardNode = ({\r\n data,\r\n id,\r\n setList,\r\n type,\r\n itemId,\r\n index,\r\n view,\r\n container,\r\n documentColor,\r\n isNodeSelectionStarted,\r\n selectedCardNode,\r\n priorityLevel,\r\n statusLevel,\r\n dateLevel,\r\n asignLevel,\r\n tagLevel,\r\n cardRef,\r\n addTask,\r\n setAddTask,\r\n handleDelete,\r\n Toolbar,\r\n setToolbar,\r\n titleLevel,\r\n descriptionLevel,\r\n setSelectedCardNode,\r\n showToolbar,\r\n lock,\r\n reminder,\r\n reminderIndex,\r\n node,\r\n ...rest\r\n}) => {\r\n const [customizeCard, setCustomizeCard] = useState({\r\n lock: data?.lock ? data?.lock : false,\r\n title: titleLevel || \"\",\r\n description: descriptionLevel || \"\",\r\n priority: priorityLevel || \" \",\r\n assign: asignLevel || [],\r\n tag: tagLevel || [],\r\n documentColor: documentColor || \"#D9D9D9\",\r\n date: dateLevel || null,\r\n reminder: reminder || null,\r\n fontSize: \"14px\",\r\n textColor: \"black\",\r\n });\r\n const [localCustomizeCard, setLocalCustomizeCard] = useState({\r\n lock: data?.lock ? data?.lock : false,\r\n title: titleLevel || \"\",\r\n description: descriptionLevel || \"\",\r\n priority: priorityLevel,\r\n assign: asignLevel || [],\r\n tag: tagLevel || [],\r\n documentColor: documentColor || \"#D9D9D9\",\r\n date: dateLevel || null,\r\n reminder: reminder || null,\r\n reminderIndex: reminderIndex || false,\r\n });\r\n\r\n const [assigneeLoader, setAssigneeLoader] = useState(true);\r\n const [showEdit, setShowEdit] = useState(false);\r\n const [showTextEditor, setShowTextEditor] = useState(false);\r\n const [isHovered, setIsHovered] = useState(false);\r\n const [showCardModal, setShowCardModal] = useState(false);\r\n const containerRef = useRef(null);\r\n const mainRef = useRef(null);\r\n const fontstyle = useRef(null);\r\n const [isOpen, setIsOpen] = useState(false);\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 [nodeSize, setNodeSize] = useState({ width: 0, height: 0 });\r\n const [showFontStyle, setShowFontStyle] = useState(false);\r\n const [showReaction, setShowReaction] = useState(false);\r\n const location = useLocation();\r\n const architectureData = useSelector(\r\n (data) => data?.archBoard?.architectureRes\r\n );\r\n const { isDownload } = useSelector((state) => state.mindMapStore);\r\n const fontList = useRef(null);\r\n\r\n const handleColorChange = (color) => {\r\n setCustomizeCard((prev) => ({ ...prev, documentColor: color }));\r\n setLocalCustomizeCard((prev) => ({ ...prev, documentColor: color }));\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 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 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 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 }\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 isStrikethrough = editor.isActive(\"strike\");\r\n setFontStyleEditor({\r\n ...fontstyleEditor,\r\n isStrikethrough: isStrikethrough,\r\n });\r\n } else if (showEdit) {\r\n // titleEditor.chain().focus().toggleStrike().run();\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 isStrikethrough = titleEditor.isActive(\"strike\");\r\n setFontStyleEditor({\r\n ...fontstyleEditor,\r\n isStrikethrough: isStrikethrough,\r\n });\r\n }\r\n };\r\n\r\n const [editTagIndex, setEditTagIndex] = useState(null);\r\n const [editTagValue, setEditTagValue] = useState(\"\");\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()) {\r\n const updatedTags = customizeCard.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 setCustomizeCard({ ...customizeCard, tag: updatedTags });\r\n setLocalCustomizeCard({ ...customizeCard, tag: updatedTags });\r\n setEditTagIndex(null);\r\n setEditTagValue(\"\");\r\n setError(false);\r\n }\r\n };\r\n const isEmptyHTML = (html) => {\r\n const stripped = html.replace(/<[^>]+>/g, \"\").trim(); // Remove all HTML tags and whitespace\r\n return stripped === \"\";\r\n };\r\n\r\n const handleRemoveTag = (index) => {\r\n const updatedTags = customizeCard.tag.filter((_, i) => i !== index);\r\n setCustomizeCard((prev) => ({\r\n ...prev,\r\n tag: updatedTags,\r\n }));\r\n setLocalCustomizeCard((prev) => ({\r\n ...prev,\r\n tag: updatedTags,\r\n }));\r\n setError(false);\r\n };\r\n // const textFieldRef = useRef(null);\r\n const textColorPopupRef = useRef(null);\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 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 (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 (textPopupRef.current && !textPopupRef.current.contains(event.target)) {\r\n // setShowTextColor(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 useEffect(() => {\r\n document.addEventListener(\"click\", handleClickOutside, true);\r\n\r\n return () => {\r\n document.removeEventListener(\"click\", handleClickOutside, true);\r\n };\r\n }, []);\r\n\r\n const handleFontSizeChange = (action) => {\r\n const currentFontSize = parseInt(customizeCard?.fontSize || \"14\");\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 setCustomizeCard({\r\n ...customizeCard,\r\n fontSize: `${newFontSize}`,\r\n });\r\n setLocalCustomizeCard({\r\n ...localCustomizeCard,\r\n fontSize: `${newFontSize}`,\r\n });\r\n if (showTextEditor) {\r\n if (editor.state.selection.empty) {\r\n editor\r\n .chain()\r\n .focus()\r\n .selectParentNode()\r\n .setFontSize(`${newFontSize}px`)\r\n .run();\r\n } else {\r\n editor.chain().focus().setFontSize(`${newFontSize}px`).run();\r\n }\r\n } else if (showEdit) {\r\n if (titleEditor.state.selection.empty) {\r\n titleEditor\r\n .chain()\r\n .focus()\r\n .selectParentNode()\r\n .setFontSize(`${newFontSize}px`)\r\n .run();\r\n } else {\r\n titleEditor.chain().focus().setFontSize(`${newFontSize}px`).run();\r\n }\r\n }\r\n let updatedNodes;\r\n let updatedNode;\r\n setNodes((nds) => {\r\n updatedNodes = nds.map((node1) => {\r\n if (node1.id === id) {\r\n updatedNode = {\r\n ...node1,\r\n data: {\r\n ...node1.data,\r\n fontSize: newFontSize,\r\n },\r\n };\r\n return updatedNode;\r\n }\r\n return node1;\r\n });\r\n return updatedNodes;\r\n });\r\n debouncedUpdateJson(updatedNodes, getEdges());\r\n };\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 fontSizeArr = [\r\n 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,\r\n ];\r\n const { id: architectureId } = useParams();\r\n const dispatch = useDispatch();\r\n const handleToggle = () => {\r\n // setIsOpen((prev) => !prev);\r\n setIsOpen(!isOpen);\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 };\r\n\r\n const handleClickDuplicate = (val) => {\r\n const newTaskId = `task-${Date.now()}`;\r\n const newTask = {\r\n check: false,\r\n list: \"\",\r\n id: newTaskId,\r\n title: val?.title || \"\",\r\n description: val?.description || \"\",\r\n priority: val?.priority || \"\",\r\n assign: val?.assign || [],\r\n tag: val?.tag || [],\r\n documentColor: val?.documentColor || \"#D9D9D9\",\r\n date: val?.date || null,\r\n reminderIndex: val?.reminderIndex || reminderIndex || false,\r\n };\r\n let updatedNodes;\r\n let updatedNode;\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\r\n updatedNodes = nds.map((node1) => {\r\n if (node1.id === node?.id) {\r\n updatedNode = {\r\n ...node1,\r\n data: {\r\n ...node1.data,\r\n task: [...(node1.data.task || []), newTask],\r\n },\r\n };\r\n return updatedNode;\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 useEffect(() => {\r\n if (!rest.selected) {\r\n closeAllTools();\r\n }\r\n }, [rest.selected]);\r\n\r\n const user_data = localStorage.getItem(\"user_data\");\r\n const [open, setOpen] = React.useState(false);\r\n const [newTag, setNewTag] = useState(\"\");\r\n const { setNodes, getNodes, getNode, getEdges, getZoom } = useReactFlow();\r\n const [anchorEl, setAnchorEl] = React.useState(null);\r\n const zoomLevel = getZoom();\r\n const [boardData, setBoardData] = useState(null);\r\n const [openTag, setOpenTag] = React.useState(false);\r\n const [anchorElTag, setAnchorElTag] = React.useState(null);\r\n const canBeOpenTag = openTag && Boolean(anchorElTag);\r\n const idTag = canBeOpenTag ? \"transition-popper\" : undefined;\r\n const [openStatus, setOpenStatus] = React.useState(false);\r\n const [anchorElStatus, setAnchorElStatus] = React.useState(null);\r\n const [openAssign, setOpenAssign] = React.useState(false);\r\n const [anchorElAssign, setAnchorElAssign] = React.useState(null);\r\n const canBeOpenAssign = openAssign && Boolean(anchorElAssign);\r\n const idAssign = canBeOpenAssign ? \"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 [selectedDate, setSelectedDate] = useState(null);\r\n const [anchorElDate, setAnchorElDate] = useState(null);\r\n const [anchorElReminder, setAnchorElReminder] = useState(null);\r\n const [timeAnchor, setTimeAnchor] = useState(null);\r\n const generateTimeSlots = () => {\r\n const times = [];\r\n for (let hour = 0; hour < 24; hour++) {\r\n for (let minutes of [\"00\", \"15\", \"30\", \"45\"]) {\r\n const period = hour < 12 ? \"AM\" : \"PM\";\r\n const formattedHour = hour % 12 === 0 ? 12 : hour % 12;\r\n const timeString = `${formattedHour}:${minutes} ${period}`;\r\n times.push(timeString);\r\n }\r\n }\r\n return times;\r\n };\r\n\r\n const times = generateTimeSlots();\r\n\r\n // const isPastTime = (time) => {\r\n // const currentTime = new Date();\r\n // const roundedMinutes = Math.ceil(currentTime.getMinutes() / 15) * 15;\r\n // if (roundedMinutes === 60) {\r\n // currentTime.setHours(currentTime.getHours() + 1, 0, 0, 0);\r\n // } else {\r\n // currentTime.setMinutes(roundedMinutes, 0, 0);\r\n // }\r\n\r\n // const [hourMinutes, period] = time.split(\" \");\r\n // let [hours, minutes] = hourMinutes.split(\":\").map(Number);\r\n\r\n // if (period === \"PM\" && hours !== 12) hours += 12;\r\n // if (period === \"AM\" && hours === 12) hours = 0;\r\n\r\n // const timeToCheck = new Date();\r\n // timeToCheck.setHours(hours, minutes, 0, 0);\r\n\r\n // return timeToCheck < currentTime;\r\n // };\r\n const isPastTime = (time, selectedDate) => {\r\n const currentTime = new Date();\r\n const selectedDateTime = new Date(selectedDate);\r\n\r\n // If the selected date is in the future, all times should be enabled\r\n if (selectedDateTime.toDateString() !== currentTime.toDateString()) {\r\n return false;\r\n }\r\n\r\n // Round the current minutes to the nearest 15-minute mark\r\n const roundedMinutes = Math.ceil(currentTime.getMinutes() / 15) * 15;\r\n if (roundedMinutes === 60) {\r\n currentTime.setHours(currentTime.getHours() + 1, 0, 0, 0);\r\n } else {\r\n currentTime.setMinutes(roundedMinutes, 0, 0);\r\n }\r\n\r\n // Convert time string to Date object for comparison\r\n const [hourMinutes, period] = time.split(\" \");\r\n let [hours, minutes] = hourMinutes.split(\":\").map(Number);\r\n\r\n if (period === \"PM\" && hours !== 12) hours += 12;\r\n if (period === \"AM\" && hours === 12) hours = 0;\r\n\r\n const timeToCheck = new Date();\r\n timeToCheck.setHours(hours, minutes, 0, 0);\r\n\r\n return timeToCheck < currentTime;\r\n };\r\n\r\n const handleClickReminder = (event) => {\r\n setTimeAnchor(event.currentTarget);\r\n };\r\n\r\n const handleCloseReminder = () => {\r\n setTimeAnchor(null);\r\n };\r\n\r\n const openReminder = Boolean(timeAnchor);\r\n let simpleRef = useRef(null);\r\n const linkRef = useRef(null);\r\n const nodeNW = getNode(id);\r\n const fontFamilyRef = useRef(null);\r\n const fontSizeRef = useRef(null);\r\n\r\n const priorityDropdown = [\r\n {\r\n name: \"Urgent\",\r\n Icon: IcPriorityLevel,\r\n onClick: () => {},\r\n fill: \"#EA4335\",\r\n },\r\n\r\n {\r\n name: \"High\",\r\n Icon: IcPriorityLevel,\r\n fill: \"#E8A814\",\r\n },\r\n {\r\n name: \"Medium\",\r\n Icon: IcPriorityLevel,\r\n fill: \"#4466FF\",\r\n },\r\n {\r\n name: \"Low\",\r\n Icon: IcPriorityLevel,\r\n fill: \"#A2A4A8\",\r\n },\r\n {\r\n name: \"Clear\",\r\n Icon: IcClear,\r\n fill: \" \",\r\n },\r\n ];\r\n\r\n const statusDropdown = [\r\n {\r\n name: \"To do\",\r\n Icon: IcStatus,\r\n onClick: () => {},\r\n fill: \"#87909E\",\r\n },\r\n\r\n {\r\n name: \"in Progress\",\r\n Icon: IcStatus,\r\n fill: \"#1090E0\",\r\n },\r\n {\r\n name: \"Completed\",\r\n Icon: IcStatusCompleted,\r\n fill: \"#008844\",\r\n },\r\n\r\n {\r\n name: \"Clear\",\r\n Icon: IcClear,\r\n fill: \" \",\r\n },\r\n ];\r\n const nodeWH = getNode(id);\r\n const handleClick = (event) => {\r\n setAnchorEl(event.currentTarget);\r\n setOpen((previousOpen) => !previousOpen);\r\n setShowColor(false);\r\n setShowTextColor(false);\r\n setShowColor(false);\r\n setShowFontStyle(false);\r\n setShowTextColor(false);\r\n setShowListTypes(false);\r\n setAnchorElAssign(null);\r\n setAnchorElTag(null);\r\n setAnchorElDate(null);\r\n setShowFontSizeOpt(false);\r\n setShowFontFamily(false);\r\n };\r\n\r\n const handleClickAssign = (event) => {\r\n getArchitectureMembers();\r\n setAnchorElAssign(event.currentTarget);\r\n setOpenAssign((previousOpen) => !previousOpen);\r\n setShowColor(false);\r\n setShowFontStyle(false);\r\n setShowTextColor(false);\r\n setShowListTypes(false);\r\n setShowFontSizeOpt(false);\r\n setShowFontFamily(false);\r\n };\r\n const handleClickTag = (event) => {\r\n setAnchorElTag(event.currentTarget);\r\n setOpenTag((previousOpen) => !previousOpen);\r\n setShowColor(false);\r\n setShowTextColor(false);\r\n\r\n setShowFontStyle(false);\r\n setShowListTypes(false);\r\n setAnchorElAssign(null);\r\n setAnchorElDate(null);\r\n setAnchorEl(null);\r\n setShowFontSizeOpt(false);\r\n setShowFontFamily(false);\r\n };\r\n\r\n const timerForEditor = useRef();\r\n const selectedTextRef = useRef();\r\n const [isFirstTimeClicked, setIsFirstTimeClicked] = useState(false);\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 // setIsFirstTimeClicked(true);\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 const onClickHandler = (event) => {\r\n // if (isEditorShow) {\r\n // event.stopPropagation();\r\n // }\r\n clearTimeout(timerForSticky.current);\r\n if (event.detail === 1) {\r\n timerForSticky.current = setTimeout(() => {\r\n // setIsEditing(true);\r\n if (!isFirstTimeClicked || event?.metaKey || event?.ctrlKey) {\r\n setIsFirstTimeClicked(true);\r\n } else {\r\n setIsFirstTimeClicked(true);\r\n\r\n timerForEditor.current = setTimeout(() => {\r\n setIsFirstTimeClicked(true);\r\n\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 }\r\n }, 250);\r\n } else if (event.detail === 2) {\r\n setIsFirstTimeClicked(true);\r\n\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 }\r\n };\r\n const handlePriorityClick = (name) => {\r\n setLocalCustomizeCard({\r\n ...localCustomizeCard,\r\n priority: name !== \"Clear\" ? `${name}` : \"\",\r\n });\r\n setCustomizeCard({\r\n ...customizeCard,\r\n priority: name !== \"Clear\" ? `${name}` : \"\",\r\n });\r\n setOpen(false);\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 handleChageDate = (date) => {\r\n setLocalCustomizeCard({\r\n ...localCustomizeCard,\r\n date: date.toLocaleDateString(),\r\n });\r\n setCustomizeCard({\r\n ...customizeCard,\r\n date: date.toLocaleDateString(),\r\n });\r\n setIsOpen(false);\r\n };\r\n\r\n const handleClearDate = (date) => {\r\n setLocalCustomizeCard({\r\n ...localCustomizeCard,\r\n date: null,\r\n });\r\n setCustomizeCard({\r\n ...customizeCard,\r\n date: \"\",\r\n });\r\n setIsOpen(false);\r\n };\r\n // useEffect(() => {\r\n // getArchitectureById();\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 const getPriorityFill = (priorityName) => {\r\n const priority = priorityDropdown.find((p) => p.name === priorityName);\r\n return priority ? priority.fill : \" \";\r\n };\r\n const getStatusFill = (priorityName) => {\r\n const priority = statusDropdown.find((p) => p.name === priorityName);\r\n return priority\r\n ? {\r\n Icon: priority.Icon,\r\n fill: priority.fill !== \"\" ? priority.fill : \"#008844\",\r\n }\r\n : { Icon: null, fill: \"#008844\" };\r\n };\r\n\r\n const filteredMembers =\r\n members &&\r\n members?.filter((member) => {\r\n const fullName = `${member.first_name} ${member.last_name}`.toLowerCase();\r\n return fullName.includes(searchValue.toLowerCase());\r\n });\r\n const hexToRgba = (hex, opacity) => {\r\n const bigint = parseInt(hex.replace(\"#\", \"\"), 16);\r\n const r = (bigint >> 16) & 255;\r\n const g = (bigint >> 8) & 255;\r\n const b = bigint & 255;\r\n\r\n return `rgba(${r},${g},${b},${opacity})`;\r\n };\r\n const fillColor =\r\n localCustomizeCard?.priority &&\r\n getPriorityFill(localCustomizeCard?.priority);\r\n const fillColorStatus =\r\n customizeCard?.status && getStatusFill(localCustomizeCard?.status);\r\n const handleMemberSelect = (user) => {\r\n let updatedAssign = [];\r\n setCustomizeCard((prev) => {\r\n const isSelected = prev.assign.some((u) => u.user_id === user?.user_id);\r\n if (isSelected) {\r\n updatedAssign = prev.assign.filter(\r\n (id) => id?.first_name !== user?.first_name\r\n );\r\n } else {\r\n updatedAssign = [...prev.assign, user];\r\n }\r\n\r\n return { ...prev, assign: updatedAssign };\r\n });\r\n setLocalCustomizeCard((prev) => {\r\n const isSelected = prev.assign.some((u) => u.user_id === user?.user_id);\r\n\r\n if (isSelected) {\r\n updatedAssign = prev.assign.filter(\r\n (id) => id?.first_name !== user?.first_name\r\n );\r\n } else {\r\n updatedAssign = [...prev.assign, user];\r\n }\r\n\r\n return { ...prev, assign: updatedAssign };\r\n });\r\n };\r\n const handleAddTag = () => {\r\n if (newTag.trim() !== \"\" && localCustomizeCard?.tag?.length < 8) {\r\n const updatedTags = [\r\n ...customizeCard.tag,\r\n { name: newTag, color: randomColor() },\r\n ];\r\n setLocalCustomizeCard({ ...localCustomizeCard, tag: updatedTags });\r\n setCustomizeCard({ ...customizeCard, tag: updatedTags });\r\n setNewTag(\"\");\r\n setError(false);\r\n } else {\r\n setError(true);\r\n }\r\n };\r\n\r\n const titleEditor = useEditor({\r\n extensions: tipTapExtensions(\"Heading\"),\r\n content: localCustomizeCard?.title,\r\n value: localCustomizeCard?.title,\r\n onUpdate: ({ editor }) => {\r\n const html = editor.getHTML();\r\n setLocalCustomizeCard((prevState) => ({\r\n ...prevState,\r\n title: html,\r\n }));\r\n setCustomizeCard((prevState) => ({\r\n ...prevState,\r\n title: html,\r\n }));\r\n },\r\n\r\n editorProps: {\r\n handleKeyDown: (_, view, event) => {\r\n // if (event.key === \"Enter\" && !event.shiftKey) {\r\n // event.preventDefault();\r\n // }\r\n },\r\n },\r\n onSelectionUpdate: async ({ editor }) => {\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 const editor = useEditor({\r\n extensions: tipTapExtensions(\"Type something\"),\r\n // content: customizeCard?.description,\r\n // onUpdate: ({ editor }) => {\r\n // const html = editor.getHTML();\r\n // customizeCard((prevState) => ({\r\n // ...prevState,\r\n // description: html,\r\n // }));\r\n // },\r\n content: localCustomizeCard?.description,\r\n value: localCustomizeCard?.description,\r\n onUpdate: ({ editor }) => {\r\n const html = editor.getHTML();\r\n setCustomizeCard((prevState) => ({\r\n ...prevState,\r\n description: html,\r\n }));\r\n setLocalCustomizeCard((prevState) => ({\r\n ...prevState,\r\n description: html,\r\n }));\r\n },\r\n\r\n // editorProps: {\r\n // handleKeyDown: ({ event }) => {\r\n // if (type === \"kanban\") {\r\n // if (event.key === \"Enter\" && !event.shiftKey) {\r\n // event.preventDefault();\r\n // }\r\n // }\r\n // },\r\n // },\r\n onSelectionUpdate: async ({ editor }) => {\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 const randomColor = () => {\r\n const colors = [\r\n \"#059669\",\r\n \"#4F46E5\",\r\n \"#DC2626\",\r\n \"#1A84F9\",\r\n \"#D97706\",\r\n \"#65901F\",\r\n \"#1b5e20\",\r\n ];\r\n return colors[Math.floor(Math.random() * colors.length)];\r\n };\r\n\r\n useEffect(() => {\r\n document.addEventListener(\"mousedown\", handleClickOutside);\r\n\r\n return () => {\r\n document.removeEventListener(\"mousedown\", handleClickOutside);\r\n };\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 takeSnapshot,\r\n a_id,\r\n });\r\n }, 200),\r\n [updateJson, user_data, undo, takeSnapshot]\r\n );\r\n\r\n const handleTitle = (e) => {\r\n setCustomizeCard({ ...customizeCard, title: e.target.value });\r\n\r\n debouncedUpdateTitle(e.target.value);\r\n };\r\n\r\n const debouncedUpdateTitle = useMemo(() => {\r\n return debounce((value) => {\r\n let updatedNodes = [];\r\n setNodes((nds) => {\r\n updatedNodes = nds.map((node1) => {\r\n if (node1.id === id && type === \"card\") {\r\n return {\r\n ...node1,\r\n data: {\r\n ...node1.data,\r\n title: value,\r\n },\r\n };\r\n } else if (node1.id === id) {\r\n return {\r\n ...node1,\r\n data: {\r\n ...node1.data,\r\n containers: node1.data.containers.map((container1) => {\r\n if (container1.id === container) {\r\n return {\r\n ...container1,\r\n items: container1.items.map((item) =>\r\n item.id === itemId ? { ...item, title: value } : item\r\n ),\r\n };\r\n }\r\n return container1;\r\n }),\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 }, 500);\r\n }, [id, type, setNodes, getEdges]);\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 ); // Use capture phase to ensure it triggers before other handlers\r\n });\r\n\r\n const frameMoreOptionsRef = useRef(null);\r\n\r\n const [linkText, setLinkText] = useState(\"\");\r\n const [fontstyleEditor, setFontStyleEditor] = useState(null);\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 \"10px\",\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 : 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 [isTextSelected, setIsTextSelected] = useState(false);\r\n const [isTextSelectedTitle, setIsTextSelectedTitle] = useState(false);\r\n\r\n const checkSelection = () => {\r\n const selection1 = editor && editor.state && editor.state.selection;\r\n if (selection1) {\r\n const { from, to } = selection1;\r\n setIsTextSelected(from !== to);\r\n }\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 || \"14\";\r\n const currentTextColor = currentStyles.textColor || \"black\";\r\n setCurrentColor(currentTextColor);\r\n const currentFontFamily =\r\n fontFamilyArr.find((font) => font.family === currentStyles.fontFamily)\r\n ?.name || \"Inter\";\r\n setCurrentFontFamily(currentFontFamily);\r\n setCurrentTextAlign(currentTextAlign);\r\n setCurrentListType(currentListType);\r\n setCustomizeCard({\r\n ...customizeCard,\r\n fontSize: currentFontSize,\r\n });\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 timerForSticky = useRef();\r\n const checkSelectionTitle = () => {\r\n const selection =\r\n titleEditor && titleEditor.state && titleEditor.state.selection;\r\n if (selection) {\r\n const { from, to } = selection;\r\n setIsTextSelectedTitle(from !== to);\r\n }\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 || \"14\";\r\n const currentTextColor = currentStyles.textColor || \"black\";\r\n setCurrentColor(currentTextColor);\r\n const currentFontFamily =\r\n fontFamilyArr.find((font) => font.family === currentStyles.fontFamily)\r\n ?.name || \"Inter\";\r\n setCurrentFontFamily(currentFontFamily);\r\n setCurrentTextAlign(currentTextAlign);\r\n setCurrentListType(currentListType);\r\n setCustomizeCard({\r\n ...customizeCard,\r\n fontSize: currentFontSize,\r\n textColor: currentTextColor,\r\n });\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 useEffect(() => {\r\n if (editor) {\r\n editor.on(\"selectionUpdate\", checkSelection);\r\n }\r\n return () => {\r\n if (editor) {\r\n editor.off(\"selectionUpdate\", checkSelection);\r\n }\r\n };\r\n }, [editor]);\r\n\r\n useEffect(() => {\r\n if (titleEditor) {\r\n titleEditor.on(\"selectionUpdate\", checkSelectionTitle);\r\n }\r\n return () => {\r\n if (titleEditor) {\r\n titleEditor.off(\"selectionUpdate\", checkSelectionTitle);\r\n }\r\n };\r\n }, [titleEditor]);\r\n\r\n const [floatingMenu, setFloatingMenu] = useState(null);\r\n const [currentColor, setCurrentColor] = useState(\"black\");\r\n const handleCloseFloatingMenu = () => {\r\n setFloatingMenu(null);\r\n };\r\n\r\n useEffect(() => {\r\n if (showTextEditor && editor) {\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 || \"14\";\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 setCurrentTextAlign(currentTextAlign);\r\n setCurrentListType(currentListType);\r\n setCustomizeCard({\r\n ...customizeCard,\r\n fontSize: currentFontSize,\r\n textColor: currentTextColor,\r\n });\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 } else if (showEdit && titleEditor) {\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 currentFontFamily =\r\n fontFamilyArr.find((font) => font.family === currentStyles.fontFamily)\r\n ?.name || \"Inter\";\r\n\r\n const currentTextColor = currentStyles.textColor || \"black\";\r\n\r\n setCustomizeCard({\r\n ...customizeCard,\r\n fontSize: currentFontSize,\r\n textColor: currentTextColor,\r\n });\r\n setCurrentFontFamily(currentFontFamily);\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 }, [editor, titleEditor, showEdit, showTextEditor]);\r\n\r\n const updateTreeLayout = useCallback(() => {\r\n const updatedNodes = getNodes().filter(\r\n (n) => n.data.rootParentId === data.rootParentId\r\n );\r\n // const result = createTreeLayout(\r\n // updatedNodes,\r\n // data.rootParentId,\r\n // data.addition\r\n // );\r\n\r\n const result = createVerticalTreeLayout(updatedNodes, data.rootParentId);\r\n\r\n setNodes((nds) => {\r\n localStorage.setItem(\r\n \"architectureJson\",\r\n JSON.stringify({\r\n architecture_json: {\r\n nodes: nds,\r\n // lastUpdatedBy: parsedData?.user_id,\r\n lastEvent: ``,\r\n },\r\n })\r\n );\r\n\r\n const updatedNodes = nds.map((n) => {\r\n const matchingNode = result.nodes.find(\r\n (resNode) => resNode.id === n.id\r\n );\r\n return matchingNode ? { ...n, ...matchingNode } : n;\r\n });\r\n return updatedNodes;\r\n });\r\n }, [getNodes, setNodes, data.rootParentId, data.addition]);\r\n\r\n const debouncedUpdateTreeLayout = useCallback(\r\n debounce(updateTreeLayout, 100),\r\n [updateTreeLayout]\r\n );\r\n\r\n useEffect(() => {\r\n const nodeElement = mainRef.current;\r\n\r\n if (!nodeElement || !data.rootParentId) return;\r\n\r\n // Create a ResizeObserver instance\r\n const resizeObserver = new ResizeObserver((entries) => {\r\n for (let entry of entries) {\r\n const newHeight = entry.contentRect.height;\r\n const newWidth = entry.contentRect.width;\r\n\r\n // Only call the onHeightChange function if the height has changed\r\n if (newHeight !== nodeSize.height || newWidth !== nodeSize.width) {\r\n setNodeSize({ width: newWidth, height: newHeight }); // Update the height state\r\n debouncedUpdateTreeLayout(); // Call the dummy function\r\n }\r\n }\r\n });\r\n\r\n // Start observing the node element\r\n resizeObserver.observe(nodeElement);\r\n\r\n // Cleanup the observer on component unmount\r\n return () => {\r\n resizeObserver.unobserve(nodeElement);\r\n resizeObserver.disconnect();\r\n };\r\n }, [nodeSize]);\r\n\r\n useEffect(() => {\r\n setShowReaction(false);\r\n setShowListTypes(false);\r\n setShowAlignment(false);\r\n setShowTextColor(false);\r\n }, [rest?.selected]);\r\n\r\n const handleSave = (e) => {\r\n e.stopPropagation();\r\n if (titleEditor) {\r\n titleEditor.commands.setContent(localCustomizeCard.title);\r\n }\r\n if (editor) {\r\n editor.commands.setContent(localCustomizeCard.description);\r\n }\r\n if (\r\n reminder?.time !== localCustomizeCard?.reminder?.time ||\r\n reminder?.date !== localCustomizeCard?.reminder?.date\r\n ) {\r\n let updatedNodes = [];\r\n setNodes((nds) => {\r\n updatedNodes = nds.map((node1) => {\r\n if (node1.id === id) {\r\n return {\r\n ...node1,\r\n data: {\r\n ...data,\r\n task: data.task.map((container1) => {\r\n if (container1.id === container) {\r\n return {\r\n ...container1,\r\n title: localCustomizeCard.title,\r\n description: localCustomizeCard.description,\r\n showDescription: true,\r\n priority: localCustomizeCard.priority || \" \",\r\n date: localCustomizeCard.date || null,\r\n tag: localCustomizeCard.tag || \" \",\r\n assign: localCustomizeCard.assign || \" \",\r\n documentColor: localCustomizeCard.documentColor || \" \",\r\n reminder: {\r\n date: localCustomizeCard?.reminder?.date,\r\n time: localCustomizeCard?.reminder?.time,\r\n },\r\n reminderIndex: false,\r\n };\r\n }\r\n return container1;\r\n }),\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 } else {\r\n let updatedNodes = [];\r\n setNodes((nds) => {\r\n updatedNodes = nds.map((node1) => {\r\n if (node1.id === id) {\r\n return {\r\n ...node1,\r\n data: {\r\n ...data,\r\n task: data.task.map((container1) => {\r\n if (container1.id === container) {\r\n return {\r\n ...container1,\r\n title: localCustomizeCard.title,\r\n description: localCustomizeCard.description,\r\n showDescription: true,\r\n priority: localCustomizeCard.priority || \" \",\r\n date: localCustomizeCard.date || null,\r\n tag: localCustomizeCard.tag || \" \",\r\n assign: localCustomizeCard.assign || \" \",\r\n documentColor: localCustomizeCard.documentColor || \" \",\r\n reminder: {\r\n date: localCustomizeCard?.reminder?.date,\r\n time: localCustomizeCard?.reminder?.time,\r\n },\r\n };\r\n }\r\n return container1;\r\n }),\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 setSelectedCardNode(-1);\r\n const allTitlesValid = node?.data?.task.filter((item) => item.title === \"\");\r\n if (index === selectedCardNode && allTitlesValid?.length) {\r\n setAddTask(false);\r\n } else {\r\n setAddTask(true);\r\n }\r\n };\r\n const handleCancel = (e) => {\r\n e.stopPropagation();\r\n setSelectedCardNode(-1);\r\n setAddTask(true);\r\n setLocalCustomizeCard((prevState) => ({\r\n ...prevState,\r\n title: titleLevel || \"\",\r\n description: descriptionLevel || \"\",\r\n priority: priorityLevel,\r\n assign: asignLevel || [],\r\n tag: tagLevel || [],\r\n documentColor: documentColor || \"#D9D9D9\",\r\n date: dateLevel || null,\r\n taskType: \"\",\r\n reminder: reminder || null,\r\n }));\r\n setCustomizeCard((prevState) => ({\r\n ...prevState,\r\n title: titleLevel || \"\",\r\n description: descriptionLevel || \"\",\r\n priority: priorityLevel,\r\n assign: asignLevel || [],\r\n tag: tagLevel || [],\r\n documentColor: documentColor || \"#D9D9D9\",\r\n date: dateLevel || null,\r\n taskType: \"\",\r\n reminder: reminder || null,\r\n }));\r\n if (titleEditor) {\r\n titleEditor.commands.setContent(titleLevel);\r\n }\r\n if (editor) {\r\n editor.commands.setContent(descriptionLevel);\r\n }\r\n let updatedNodes = [];\r\n if (!titleLevel && !descriptionLevel) {\r\n const currentList = node.data.task.filter((item) => !item.check);\r\n const archiveList = node.data.task.filter((item) => item.check);\r\n const updatedList = (\r\n !view === \"current\" ? archiveList : currentList\r\n ).filter((val, idx) => idx !== index);\r\n\r\n const newList =\r\n !view === \"current\"\r\n ? [...currentList, ...updatedList]\r\n : [...updatedList, ...archiveList];\r\n setNodes((nds) => {\r\n updatedNodes = nds.map((node1) => {\r\n if (node1.id === id) {\r\n return {\r\n ...node1,\r\n data: {\r\n ...data,\r\n task: newList,\r\n },\r\n };\r\n }\r\n return node1;\r\n });\r\n return updatedNodes;\r\n });\r\n\r\n debouncedUpdateJson(updatedNodes, getEdges());\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n setCustomizeCard((prevState) => ({\r\n ...prevState,\r\n title: titleLevel || \"\",\r\n description: descriptionLevel || \"\",\r\n priority: priorityLevel,\r\n assign: asignLevel || [],\r\n tag: tagLevel || [],\r\n documentColor: documentColor || \"\",\r\n date: dateLevel || null,\r\n taskType: \"\",\r\n }));\r\n }, [node?.data?.task]);\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 const emojiD = emojiData[nodeNW?.id] || { emoji: {} };\r\n const emojiCount = Object?.values(emojiD)[0];\r\n return (\r\n setSelectedCardNode(index)}\r\n // sx={{\r\n // border: rest.selected && !copyAsImage ? `1px solid ${color?.primaryColor}` : `none`,\r\n // }}\r\n ref={mainRef}\r\n height={\"100%\"}\r\n width={\"100%\"}\r\n >\r\n \r\n {\r\n setIsHovered(true);\r\n }}\r\n onMouseLeave={() => {\r\n setIsHovered(false);\r\n }}\r\n onClick={onClickHandler}\r\n >\r\n {\r\n setShowEdit(true);\r\n setShowTextEditor(false);\r\n }}\r\n >\r\n {showEdit && (rest?.selected || showToolbar) ? (\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 }}\r\n className=\"titleEditor nodrag\"\r\n />\r\n ) : (\r\n 0 ? \"#18181B\" : \"#A9A8A8\",\r\n }}\r\n className=\"card_title_box\"\r\n dangerouslySetInnerHTML={{\r\n __html:\r\n titleEditor?.getText().length > 0\r\n ? titleEditor?.getHTML()\r\n : \"Heading\",\r\n }}\r\n />\r\n )}\r\n \r\n\r\n \r\n {\r\n setShowCardModal(true);\r\n const contentHTML = editor.getHTML();\r\n const titleHTML = titleEditor.getHTML();\r\n setCustomizeCard((prevState) => ({\r\n ...prevState,\r\n title: removeHTMLTags(titleHTML),\r\n description: contentHTML,\r\n }));\r\n }}\r\n >\r\n \r\n \r\n \r\n {type === \"list\" && (\r\n {\r\n setShowTextEditor(true);\r\n setShowEdit(false);\r\n }}\r\n >\r\n {showTextEditor && (rest?.selected || showToolbar) ? (\r\n // {\r\n // if (e.key === \"Enter\") {\r\n // if (e.shiftKey) {\r\n // e.preventDefault();\r\n // e.stopPropagation();\r\n // editor.commands.insertContent(\"
\");\r\n // } else {\r\n // e.preventDefault();\r\n // e.stopPropagation();\r\n // handleEnterKeyPress();\r\n // }\r\n // }\r\n // }}\r\n // onClick={(e) => {\r\n // onEditorClick(e);\r\n // }}\r\n // style={{\r\n // cursor: \"text\",\r\n // width: \"100%\",\r\n // marginBottom: \"none\",\r\n // }}\r\n // className=\"discriptionEditor nodrag\"\r\n // />\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 }}\r\n className=\"discriptionEditor nodrag\"\r\n />\r\n ) : (\r\n 0 ? \"#18181B\" : \"#B0B0B0 \",\r\n }}\r\n dangerouslySetInnerHTML={{\r\n __html:\r\n editor?.getText().length > 0\r\n ? editor?.getHTML()\r\n : \"Type something\",\r\n }}\r\n />\r\n )}\r\n \r\n )}\r\n {((localCustomizeCard?.priority !== \" \" &&\r\n localCustomizeCard?.priority !== \"\") ||\r\n localCustomizeCard?.date) && (\r\n \r\n {localCustomizeCard?.priority !== \" \" &&\r\n localCustomizeCard?.priority !== \"\" && (\r\n \r\n {\" \"}\r\n \r\n {localCustomizeCard?.priority}{\" \"}\r\n \r\n )}\r\n\r\n {localCustomizeCard?.date !== null && (\r\n \r\n {{\"logo\"}}{\" \"}\r\n {localCustomizeCard?.date}\r\n \r\n )}\r\n \r\n )}\r\n {localCustomizeCard?.assign.length > 0 && (\r\n \r\n \r\n {localCustomizeCard?.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 {localCustomizeCard?.assign.slice(0, 5).map((val, index) => (\r\n \r\n {val?.profile_picture ? (\r\n \"profile_picture\"\r\n ) : (\r\n \r\n {val?.first_name[0]?.toUpperCase()}\r\n \r\n )}\r\n \r\n ))}\r\n {localCustomizeCard?.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 {localCustomizeCard?.tag.length > 0 && (\r\n \r\n {localCustomizeCard?.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 \r\n \r\n {nodeNW?.data?.emoji?.length > 0 &&\r\n Object?.values(emojiCount)?.map((emoji, i) => {\r\n return (\r\n \r\n \r\n \r\n {emoji.count}\r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Cancel\r\n \r\n \r\n \r\n \r\n {index === selectedCardNode ? \"Save\" : \"Add Task\"}\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: \"12px\",\r\n ml: \"-10px\",\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 className=\"priorityList-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 }}\r\n >\r\n \r\n \r\n \r\n {name}\r\n \r\n \r\n {localCustomizeCard?.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 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 mt: \"10px\",\r\n width: 277,\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 className=\"assigneeList-popover\"\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: \"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 {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 {user?.first_name +\r\n (user?.last_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={localCustomizeCard?.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\r\n mt: \"12px\",\r\n // top:\"790px !important\",\r\n // left:\"634px !important\",\r\n boxShadow: \"0px 2px 8px rgba(0, 0, 0, 0.2)\",\r\n bgcolor: \"white\",\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 minDate={new Date()}\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 setAnchorElReminder(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: \"12px\",\r\n // top:\"790px !important\",\r\n // left:\"634px !important\",\r\n boxShadow: \"0px 2px 8px rgba(0, 0, 0, 0.2)\",\r\n bgcolor: \"white\",\r\n borderRadius: \"10px\",\r\n },\r\n }}\r\n BackdropProps={{\r\n style: { backgroundColor: \"transparent\" },\r\n onClick: () => setAnchorElReminder(null),\r\n }}\r\n className=\"no-border-datepicker no-border-datepickerDate\"\r\n >\r\n \r\n \r\n \r\n \r\n {localCustomizeCard?.reminder?.date || \"Due Date\"}\r\n {\" \"}\r\n \r\n {\" \"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {localCustomizeCard?.reminder?.time || \"Time\"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {times\r\n .filter(\r\n (time) => !isPastTime(time, localCustomizeCard?.reminder?.date)\r\n )\r\n .map((time, index) => {\r\n return (\r\n \r\n {\r\n setLocalCustomizeCard({\r\n ...localCustomizeCard,\r\n reminder: { ...customizeCard?.reminder, time: time },\r\n });\r\n setCustomizeCard({\r\n ...customizeCard,\r\n reminder: { ...customizeCard?.reminder, time: time },\r\n });\r\n setTimeAnchor(null);\r\n }}\r\n >\r\n {time}\r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n {/* */}\r\n \r\n {\r\n setLocalCustomizeCard({\r\n ...localCustomizeCard,\r\n reminder: {\r\n ...customizeCard?.reminder,\r\n date: date.toLocaleDateString(),\r\n },\r\n });\r\n setCustomizeCard({\r\n ...customizeCard,\r\n reminder: {\r\n ...customizeCard?.reminder,\r\n date: date.toLocaleDateString(),\r\n },\r\n });\r\n }}\r\n minDate={new Date()}\r\n inline\r\n />\r\n {/* {\r\n handleClearDate();\r\n setAnchorElDate(null);\r\n }}\r\n >\r\n \r\n Clear44\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: \"12px\",\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 className=\"tagList-popover\"\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 {localCustomizeCard?.tag?.length > 0 &&\r\n localCustomizeCard?.tag?.map((val, index) => (\r\n \r\n \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 {showToolbar && (\r\n 1 ? 6 : 6 * zoomLevel}px`,\r\n transform: `scale(${1 / zoomLevel}) translate(${\r\n -2 * zoomLevel\r\n }%, -100%)`,\r\n padding: \"8px\",\r\n }}\r\n >\r\n <>\r\n {!customizeCard?.lock && (\r\n <>\r\n \r\n \r\n {\r\n setShowCardModal(true);\r\n setShowColor(false);\r\n setShowTextColor(false);\r\n }}\r\n >\r\n \r\n {/* {\"logo\"} */}\r\n \r\n \r\n \r\n setShowColor(false)}>\r\n {\r\n e.stopPropagation();\r\n }}\r\n >\r\n setShowColor(false)}\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 setShowColor(!showColor);\r\n\r\n setShowFontStyle(false);\r\n\r\n setShowListTypes(false);\r\n setAnchorElAssign(null);\r\n setAnchorElTag(null);\r\n setAnchorElDate(null);\r\n setAnchorEl(null);\r\n setShowFontSizeOpt(false);\r\n setShowFontFamily(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 handleClick(e)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n handleClickAssign(e)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n setAnchorElDate(anchorElDate ? null : e.currentTarget);\r\n setShowColor(false);\r\n\r\n setShowFontStyle(false);\r\n setShowTextColor(false);\r\n setShowListTypes(false);\r\n setAnchorElAssign(null);\r\n setAnchorElTag(null);\r\n\r\n setAnchorEl(null);\r\n setShowFontSizeOpt(false);\r\n setShowFontFamily(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n setAnchorElReminder(\r\n anchorElDate ? null : e.currentTarget\r\n );\r\n setShowColor(false);\r\n setShowFontStyle(false);\r\n setShowTextColor(false);\r\n setShowListTypes(false);\r\n setAnchorElAssign(null);\r\n setAnchorElTag(null);\r\n setAnchorElDate(null);\r\n setAnchorEl(null);\r\n setShowFontSizeOpt(false);\r\n setShowFontFamily(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n setShowFontFamily(false)}>\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 return (\r\n {\r\n if (showTextEditor) {\r\n if (editor.state.selection.empty) {\r\n editor\r\n .chain()\r\n .focus()\r\n .selectParentNode()\r\n .setFontFamily(val.family)\r\n .run();\r\n } else {\r\n editor\r\n .chain()\r\n .focus()\r\n .setFontFamily(val.family)\r\n .run();\r\n }\r\n } else if (showEdit) {\r\n if (titleEditor.state.selection.empty) {\r\n titleEditor\r\n .chain()\r\n .focus()\r\n .selectParentNode()\r\n .setFontFamily(val.family)\r\n .run();\r\n } else {\r\n titleEditor\r\n .chain()\r\n .focus()\r\n .setFontFamily(val.family)\r\n .run();\r\n }\r\n }\r\n setShowFontFamily(false);\r\n setCurrentFontFamily(val?.name);\r\n }}\r\n >\r\n {val.name}\r\n \r\n );\r\n })}\r\n \r\n }\r\n >\r\n {\r\n e.stopPropagation();\r\n setShowFontFamily(!showFontFamily);\r\n\r\n setShowColor(false);\r\n setShowFontStyle(false);\r\n\r\n setShowListTypes(false);\r\n\r\n setShowTextColor(false);\r\n setAnchorElAssign(null);\r\n setAnchorElTag(null);\r\n setAnchorElDate(null);\r\n setAnchorEl(null);\r\n setShowFontSizeOpt(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 \r\n \r\n \r\n \r\n setShowFontSizeOpt(false)}\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 if (showTextEditor) {\r\n if (editor.state.selection.empty) {\r\n editor\r\n .chain()\r\n .focus()\r\n .selectParentNode()\r\n .setFontSize(`${val}px`)\r\n .run();\r\n } else {\r\n editor\r\n .chain()\r\n .focus()\r\n .setFontSize(`${val}px`)\r\n .run();\r\n }\r\n setCustomizeCard({\r\n ...customizeCard,\r\n fontSize: val,\r\n });\r\n } else if (showEdit) {\r\n if (\r\n titleEditor.state.selection.empty\r\n ) {\r\n titleEditor\r\n .chain()\r\n .focus()\r\n .selectParentNode()\r\n .setFontSize(`${val}px`)\r\n .run();\r\n } else {\r\n titleEditor\r\n .chain()\r\n .focus()\r\n .setFontSize(`${val}px`)\r\n .run();\r\n }\r\n setCustomizeCard({\r\n ...customizeCard,\r\n fontSize: val,\r\n });\r\n }\r\n if (\r\n titleEditor.selection ||\r\n editor.selection\r\n ) {\r\n let updatedNodes = [];\r\n setNodes((nds) => {\r\n updatedNodes = nds.map((node1) => {\r\n if (\r\n node1.id === id &&\r\n type === \"card\"\r\n ) {\r\n return {\r\n ...node1,\r\n data: {\r\n ...node1.data,\r\n fontSize: val,\r\n },\r\n };\r\n } else if (node1.id === id) {\r\n return {\r\n ...node1,\r\n data: {\r\n ...data,\r\n containers:\r\n data.containers.map(\r\n (container1) => {\r\n if (\r\n container1.id ===\r\n container\r\n ) {\r\n return {\r\n ...container1,\r\n items:\r\n container1.items.map(\r\n (item) =>\r\n item.id ===\r\n itemId\r\n ? {\r\n ...item,\r\n fontSize:\r\n val,\r\n }\r\n : item\r\n ),\r\n };\r\n }\r\n return container1;\r\n }\r\n ),\r\n },\r\n };\r\n }\r\n return node1;\r\n });\r\n return updatedNodes;\r\n });\r\n debouncedUpdateJson(\r\n updatedNodes,\r\n getEdges()\r\n );\r\n setShowFontSizeOpt(false);\r\n }\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 setShowColor(false);\r\n setShowTextColor(false);\r\n setShowFontSizeOpt(!showFontSizeOpt);\r\n setShowFontFamily(false);\r\n setShowListTypes(false);\r\n setShowFontStyle(false);\r\n setAnchorElAssign(null);\r\n setAnchorElTag(null);\r\n setAnchorElDate(null);\r\n setAnchorEl(null);\r\n }}\r\n >\r\n \r\n \r\n {`${\r\n customizeCard?.fontSize\r\n ?.toString()\r\n .includes(\"px\")\r\n ? customizeCard.fontSize\r\n : customizeCard?.fontSize + \"px\" || \"16px\"\r\n }`}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n setShowFontSizeOpt(false);\r\n handleFontSizeChange(\"increase\");\r\n }}\r\n >\r\n {\" \"}\r\n \r\n \r\n {\r\n setShowFontSizeOpt(false);\r\n if (parseInt(customizeCard?.fontSize) > 1) {\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 setShowFontStyle(false)}>\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 setShowTextColor(false);\r\n setShowColor(false);\r\n setShowFontStyle(false);\r\n // const isBold = 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\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\r\n setShowFontStyle(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n {/* \r\n {\r\n e.stopPropagation();\r\n editor.chain().focus().toggleUnderline().run()\r\n setShowFontStyle(false);\r\n }}\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 }}\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 setShowFontStyle(!showFontStyle);\r\n\r\n setShowListTypes(false);\r\n setShowTextColor(false);\r\n setShowColor(false);\r\n\r\n setAnchorElAssign(null);\r\n setAnchorElTag(null);\r\n setAnchorElDate(null);\r\n setAnchorEl(null);\r\n setShowFontSizeOpt(false);\r\n setShowFontFamily(false);\r\n // setShowBackgroundPopup(false);\r\n // setShowBorderPopup(false);\r\n // setShowFontFamily(false);\r\n // setShowFontSizeOpt(false);\r\n // setShowTextAlign(false);\r\n // setShowTextColor(false);\r\n // setIsShowToolsPop(true);\r\n // setShowAIOptions(false);\r\n // setShowListTypes(false);\r\n // setShowFillColor(false);\r\n // setShowAddLink(false);\r\n // setShowChangeTones(false);\r\n // setShowTranslates(false);\r\n // setShowFrameMoreOptions(false);\r\n // setShowStickyNotesOpt(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n setShowListTypes(false)}>\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 setShowColor(false);\r\n setShowTextColor(false);\r\n if (showTextEditor) {\r\n editor.chain().focus().toggleBulletList().run();\r\n } else if (showEdit) {\r\n titleEditor\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 setShowColor(false);\r\n if (showTextEditor) {\r\n editor\r\n .chain()\r\n .focus()\r\n .toggleOrderedList()\r\n .run();\r\n } else if (showEdit) {\r\n titleEditor\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 \r\n \r\n {\r\n e.stopPropagation();\r\n setShowListTypes(!showListTypes);\r\n setShowColor(false);\r\n setShowFontStyle(false);\r\n // setShowTextAlign(false);\r\n setShowTextColor(false);\r\n // setShowBackgroundPopup(false);\r\n // setShowBorderPopup(false);\r\n setShowFontSizeOpt(false);\r\n // setIsShowToolsPop(true);\r\n setShowCardMoreOptions(false);\r\n setShowColor(false);\r\n setAnchorElAssign(null);\r\n setAnchorElTag(null);\r\n setAnchorElDate(null);\r\n setAnchorEl(null);\r\n\r\n setShowFontFamily(false);\r\n }}\r\n >\r\n {currentListType === \"ordered\" ? (\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 setShowTextColor(false)}>\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 if (showTextEditor) {\r\n if (editor.state.selection.empty) {\r\n editor\r\n .chain()\r\n .focus()\r\n .selectParentNode()\r\n .setColor(color)\r\n .run();\r\n } else {\r\n editor.chain().focus().setColor(color).run();\r\n }\r\n } else if (showEdit) {\r\n if (titleEditor.state.selection.empty) {\r\n titleEditor\r\n .chain()\r\n .focus()\r\n .selectParentNode()\r\n .setColor(color)\r\n .run();\r\n } else {\r\n titleEditor\r\n .chain()\r\n .focus()\r\n .setColor(color)\r\n .run();\r\n }\r\n }\r\n setCustomizeCard((prev) => ({\r\n ...prev,\r\n textColor: color,\r\n }));\r\n }}\r\n />\r\n }\r\n >\r\n \r\n \r\n {\r\n e.stopPropagation();\r\n setShowTextColor(!showTextColor);\r\n setShowColor(false);\r\n setShowFontStyle(false);\r\n setShowListTypes(false);\r\n setAnchorElAssign(null);\r\n setAnchorElTag(null);\r\n setAnchorElDate(null);\r\n setAnchorEl(null);\r\n setShowFontSizeOpt(false);\r\n setShowFontFamily(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 setShowLink(false)}\r\n ref={linkRef}\r\n >\r\n {\r\n setShowLink(true);\r\n setShowColor(false);\r\n setShowTextColor(false);\r\n setAnchorElReminder(null);\r\n setShowFontStyle(false);\r\n\r\n setShowListTypes(false);\r\n setAnchorElAssign(null);\r\n setAnchorElTag(null);\r\n setAnchorElDate(null);\r\n setAnchorEl(null);\r\n setShowFontSizeOpt(false);\r\n setShowFontFamily(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 handleClickTag(e)}\r\n >\r\n \r\n \r\n \r\n \r\n {type === \"card\" && (\r\n \r\n )}{\" \"}\r\n \r\n )}\r\n {type === \"card\" && (\r\n \r\n \r\n {\r\n setCustomizeCard({\r\n ...customizeCard,\r\n lock: !customizeCard?.lock,\r\n });\r\n setShowColor(false);\r\n setShowTextColor(false);\r\n setAnchorElReminder(null);\r\n // setLink(false)\r\n setShowFontStyle(false);\r\n\r\n setShowListTypes(false);\r\n setAnchorElAssign(null);\r\n setAnchorElTag(null);\r\n setAnchorElDate(null);\r\n setAnchorEl(null);\r\n setShowFontSizeOpt(false);\r\n setShowFontFamily(false);\r\n let updatedNodes = [];\r\n setNodes((nds) => {\r\n updatedNodes = nds.map((node1) => {\r\n if (node1.id === id && type === \"card\") {\r\n return {\r\n ...node1,\r\n data: {\r\n ...node1.data,\r\n locked: !customizeCard?.lock,\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 {customizeCard?.lock ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n )}\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 handleDelete()}\r\n handleDuplicate={() =>\r\n handleClickDuplicate(localCustomizeCard)\r\n }\r\n showDelete={true}\r\n handleCut={handleCardCutCopy}\r\n // exportShow={true}\r\n // showBringToFrontAndBack={true}\r\n setShowFrameMoreOptions={setShowCardMoreOptions}\r\n simpleRef={simpleRef}\r\n // handleClickCopyLink={handleClickCopyLink}\r\n // handleClickBringToFront={handleClickBringToFront}\r\n // handleClickSendToBack={handleClickSendToBack}\r\n />\r\n }\r\n >\r\n \r\n {\r\n setShowCardMoreOptions(!showCardMoreOptions);\r\n setShowTextColor(false);\r\n setShowColor(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n */}\r\n {/* \r\n \r\n \r\n {\"logo\"}\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 {\r\n setShowCardModal(false);\r\n }}\r\n anchorElTag={anchorElTag}\r\n editor={editor}\r\n titleEditor1={titleEditor}\r\n node={id}\r\n typeList={\"list\"}\r\n customizeCard={customizeCard}\r\n setCustomizeCard={setCustomizeCard}\r\n open={showCardModal}\r\n fillColor={fillColor}\r\n hexToRgba={hexToRgba}\r\n showColor={showColor}\r\n setShowColor={setShowColor}\r\n handleColorChange={handleColorChange}\r\n fillColorStatus={fillColorStatus}\r\n setAnchorElStatus={setAnchorElStatus}\r\n openStatus={setOpenStatus}\r\n setOpen={setOpen}\r\n anchorEl={setAnchorEl}\r\n handleClickAssign={handleClickAssign}\r\n handleClickTag={handleClickTag}\r\n handleToggle={handleToggle}\r\n isOpen={isOpen}\r\n setIsOpen={setIsOpen}\r\n handleChageDate={handleChageDate}\r\n setLocalCustomizeCard={setLocalCustomizeCard}\r\n handleTitle={handleTitle}\r\n type={type}\r\n data={data}\r\n handleSave={handleSave}\r\n itemId={itemId}\r\n handleRemoveTag={handleRemoveTag}\r\n container={container}\r\n debouncedUpdateJson={debouncedUpdateJson}\r\n anchorElDate={anchorElDate}\r\n setAnchorElDate={setAnchorElDate}\r\n localCustomizeCard={localCustomizeCard}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default ListCardNode;\r\n","import React, {\r\n useRef,\r\n useState,\r\n memo,\r\n useEffect,\r\n useCallback,\r\n useMemo,\r\n} from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport MuiCheckbox from \"@mui/material/Checkbox\";\r\nimport CheckCircleIcon from \"@mui/icons-material/CheckCircle\";\r\nimport RadioButtonUncheckedIcon from \"@mui/icons-material/RadioButtonUnchecked\";\r\nimport \"../style.scss\";\r\nimport { color as colors } from \"../../../../Utils/style/color/color\";\r\nimport ListCardNode from \"./ListCardNode\";\r\nimport NotificationsNoneIcon from \"@mui/icons-material/NotificationsNone\";\r\nimport {\r\n Box,\r\n FormControlLabel,\r\n IconButton,\r\n Stack,\r\n Typography,\r\n} from \"@mui/material\";\r\nimport { useReactFlow, Handle, Position, NodeToolbar } from \"reactflow\";\r\nimport {\r\n getId,\r\n removeHTMLTags,\r\n updateJson,\r\n} from \"../../../../CommanFunctions/commanFunctions\";\r\nimport { debounce } from \"lodash\";\r\nimport { useParams, useLocation } from \"react-router-dom\";\r\nimport {\r\n IcDragIcon,\r\n IcEditOutlined,\r\n IcLockLocked,\r\n IcLockUnLocked,\r\n IcMenuDotsHorizontal,\r\n IcMenuDotsVertical,\r\n IcPlusSimple,\r\n} from \"../../../../assets/icon-components\";\r\n\r\nimport {\r\n CustomNameTooltip,\r\n CustomTooltip,\r\n} from \"../../top-toolbar/components/CustomTooltip\";\r\n\r\n// import LinkTool from \"../../Node/common-components/nodeTopToolbar/components/LinkTool\";\r\n// import EmojiPicker from \"emoji-picker-react\";\r\n// import IcSmileHappyPlus from \"../../../assets/icon-components/IcSmileHappyPlus\";\r\nimport FrameMoreMenus from \"../../../Node/frameNode/FrameMoreMenus\";\r\nimport { useUndoRedo } from \"../../dndUndoRedo/UndoRedoProvider\";\r\nimport useNodeSelectionStarted from \"../../../../Utils/hooks/useNodeSelectionStarted\";\r\nimport { s3AssetsUrl } from \"../../const\";\r\nimport { color } from \"../../../../Utils/style/color/color\";\r\nimport ToolTipWithDisabled from \"../../top-toolbar/components/ToolTipWithDisabled\";\r\nimport CommonDivider from \"../../../../common-components/CommonDivider\";\r\n\r\nconst ListNode = (node) => {\r\n const [hoveredItem, setHoveredItem] = useState(\"\");\r\n const [showDots, setShowDots] = useState(false);\r\n const initialLists = node?.data?.task || [];\r\n const user_data = localStorage.getItem(\"user_data\");\r\n const { setNodes, getEdges, getNodes, getZoom, getNode } = useReactFlow();\r\n const [list, setList] = useState(initialLists);\r\n const [showDeleteIcon, setShowDeleteIcon] = useState(-1);\r\n const [Toolbar, setToolbar] = useState(false);\r\n const [addTask, setAddTask] = useState(\r\n node?.data?.task.length > 0 ? true : false\r\n );\r\n const a = getNode(node?.id);\r\n const kanbanDragImageRef = useRef(null);\r\n const cardRef = useRef(null);\r\n // const [deleteCheckList, setDeleteCheckList] = useState(true);\r\n // const [showListTitleInput, setShowListTitleInput] = useState(false);\r\n const [draggingIndex, setDraggingIndex] = useState(null);\r\n const [draggingValue, setDraggingValue] = useState(null);\r\n const [selectedCardNode, setSelectedCardNode] = useState(null);\r\n const [selectedEditNode, setSelectedEditNode] = useState(null);\r\n const [reminderIndex, setReminderIndex] = useState([]);\r\n\r\n const [showToolbar, setShowToolbar] = useState(null);\r\n const [view, setView] = useState(node?.data?.view || \"current\");\r\n const [showCardMoreOptions, setShowCardMoreOptions] = useState(false);\r\n const [isHovered, setIsHovered] = useState(false);\r\n const [showMoreOptions, setShowMoreOptions] = useState(false);\r\n let simpleRef = useRef(null);\r\n const selectedNodes = getNodes()?.filter(\r\n (val) => val?.selected && !val?.type === \"comment\"\r\n )?.length;\r\n const isMultiNodeSelected = useMemo(() => {\r\n return selectedNodes > 1;\r\n }, [selectedNodes]);\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 [zoomPercentages, setZoomPercentages] = useState(100);\r\n const { isNodeSelectionStarted } = useNodeSelectionStarted({\r\n selected: node?.selected,\r\n });\r\n\r\n const nodeRef = useRef(null);\r\n useEffect(() => {\r\n setList(initialLists);\r\n }, [node?.data?.task]);\r\n\r\n const handleAddTask = (e) => {\r\n e.stopPropagation();\r\n setSelectedCardNode(-1);\r\n setToolbar(true);\r\n const newTaskId = `task-${Date.now()}`;\r\n const newTask = {\r\n check: false,\r\n list: \"\",\r\n id: newTaskId,\r\n title: \"\",\r\n description: \"\",\r\n priority: \"\",\r\n assign: [],\r\n tag: [],\r\n documentColor: \"#D9D9D9\",\r\n date: null,\r\n };\r\n let updatedNodes;\r\n let updatedNode;\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\r\n updatedNodes = nds.map((node1) => {\r\n if (node1.id === node?.id) {\r\n updatedNode = {\r\n ...node1,\r\n data: {\r\n ...node1.data,\r\n task: [...(node1.data.task || []), newTask],\r\n },\r\n style: {\r\n ...node1.style,\r\n },\r\n };\r\n return updatedNode;\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 useEffect(() => {\r\n setNodes((nds) => {\r\n const updatedNodes = nds.map((node1) => {\r\n if (node1.id === node?.id) {\r\n return {\r\n ...node1,\r\n style: {\r\n ...node1?.style,\r\n height: simpleRef?.current?.offsetHeight || 500,\r\n },\r\n };\r\n }\r\n return node1;\r\n });\r\n\r\n debouncedUpdateJson(updatedNodes, getEdges());\r\n\r\n return updatedNodes;\r\n });\r\n }, [simpleRef?.current, simpleRef?.current?.offsetHeight, node?.data?.task]);\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 takeSnapshot,\r\n a_id,\r\n });\r\n }, 200),\r\n [updateJson, user_data, undo, takeSnapshot]\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 // useEffect(() => {\r\n // if (!node?.data?.task || !Array.isArray(node.data.task)) return;\r\n\r\n // const interval = setInterval(() => {\r\n // const currentTime = new Date();\r\n\r\n // node.data.task.forEach((task, index) => {\r\n // if (!task?.reminder?.date || !task?.reminder?.time) return;\r\n // const [month, day, year] = task.reminder.date.split(\"/\").map(Number);\r\n // let timeString = task.reminder.time.trim().toUpperCase();\r\n // const isPM = timeString.includes(\"PM\");\r\n // let [hours, minutes] = timeString\r\n // .replace(/AM|PM/, \"\")\r\n // .trim()\r\n // .split(\":\")\r\n // .map(Number);\r\n\r\n // if (isPM && hours !== 12) hours += 12;\r\n // if (!isPM && hours === 12) hours = 0;\r\n\r\n // const targetTime = new Date(year, month - 1, day, hours, minutes, 0);\r\n\r\n // const currentTimeMs = currentTime.getTime();\r\n // const targetTimeMs = targetTime.getTime();\r\n // if (\r\n // currentTime.getFullYear() === targetTime.getFullYear() &&\r\n // currentTime.getMonth() === targetTime.getMonth() &&\r\n // currentTime.getDate() === targetTime.getDate() &&\r\n // Math.abs(currentTimeMs - targetTimeMs) <= 1000 &&\r\n // !reminderIndex.includes(index)\r\n // ) {\r\n // setReminderIndex((prevIndexes) => {\r\n // const updatedIndexes = [...prevIndexes, index];\r\n\r\n // setNodes((nds) => {\r\n // const 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 // reminderIndex: updatedIndexes,\r\n // },\r\n // };\r\n // }\r\n // return node1;\r\n // });\r\n\r\n // debouncedUpdateJson(updatedNodes, getEdges());\r\n\r\n // return updatedNodes;\r\n // });\r\n\r\n // return updatedIndexes;\r\n // });\r\n // }\r\n // });\r\n // }, 1000);\r\n\r\n // return () => clearInterval(interval);\r\n // }, [node?.data?.task, reminderIndex]);\r\n\r\n // useEffect(() => {\r\n // if (!node?.data?.task || !Array.isArray(node.data.task)) return;\r\n\r\n // const interval = setInterval(() => {\r\n // const currentTime = new Date();\r\n // const matchingIndexes = [];\r\n\r\n // node.data.task.forEach((task, index) => {\r\n // if (!task?.reminder?.date || !task?.reminder?.time) return;\r\n\r\n // // Convert Date\r\n // const [month, day, year] = task.reminder.date.split(\"/\").map(Number);\r\n // let timeString = task.reminder.date?.toUpperCase();\r\n // const isPM = timeString.includes(\"PM\");\r\n // let [hours, minutes] = timeString\r\n // .replace(/AM|PM/g, \"\")\r\n // .trim()\r\n // .split(\":\")\r\n // .map(Number);\r\n\r\n // if (isPM && hours !== 12) hours += 12;\r\n // if (!isPM && hours === 12) hours = 0;\r\n\r\n // const targetTime = new Date(year, month - 1, day, hours, minutes, 0);\r\n\r\n // const currentTimeMs = currentTime.getTime();\r\n // const targetTimeMs = targetTime.getTime();\r\n\r\n // if (\r\n // currentTime.getFullYear() === targetTime.getFullYear() &&\r\n // currentTime.getMonth() === targetTime.getMonth() &&\r\n // currentTime.getDate() === targetTime.getDate() &&\r\n // Math.abs(currentTimeMs - targetTimeMs) <= 1000\r\n // ) {\r\n // matchingIndexes.push(index); // ✅ Collect index\r\n // }\r\n // });\r\n // if (matchingIndexes.length > 0) {\r\n // setNodes((nds) => {\r\n // const 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 // task: node1.data.task.map((taskItem, indexValue) =>\r\n // matchingIndexes.includes(indexValue)\r\n // ? { ...taskItem, reminderIndex: true }\r\n // : taskItem\r\n // ),\r\n // },\r\n // };\r\n // }\r\n // return node1;\r\n // });\r\n\r\n // debouncedUpdateJson(updatedNodes, getEdges());\r\n\r\n // return updatedNodes;\r\n // });\r\n\r\n // clearInterval(interval);\r\n // }\r\n // }, 1000);\r\n\r\n // return () => clearInterval(interval);\r\n // }, [node?.data?.task]);\r\n useEffect(() => {\r\n if (!node?.data?.task || !Array.isArray(node.data.task)) return;\r\n\r\n const interval = setInterval(() => {\r\n const currentTime = new Date();\r\n const matchingIndexes = [];\r\n\r\n node.data.task.forEach((task, index) => {\r\n if (!task?.reminder?.date || !task?.reminder?.time) return;\r\n\r\n const [month, day, year] = task.reminder.date.split(\"/\").map(Number);\r\n let timeString = task.reminder.time?.toUpperCase();\r\n\r\n if (!timeString) return;\r\n\r\n const isPM = timeString.includes(\"PM\");\r\n let [hours, minutes] = timeString\r\n .replace(/AM|PM/g, \"\")\r\n .trim()\r\n .split(\":\")\r\n .map(Number);\r\n\r\n if (isPM && hours !== 12) hours += 12;\r\n if (!isPM && hours === 12) hours = 0;\r\n\r\n const targetTime = new Date(year, month - 1, day, hours, minutes, 0);\r\n const currentTimeMs = currentTime.getTime();\r\n const targetTimeMs = targetTime.getTime();\r\n\r\n if (\r\n currentTime.getFullYear() === targetTime.getFullYear() &&\r\n currentTime.getMonth() === targetTime.getMonth() &&\r\n currentTime.getDate() === targetTime.getDate() &&\r\n currentTimeMs - targetTimeMs <= 3 * 60 * 1000 &&\r\n currentTimeMs >= targetTimeMs\r\n ) {\r\n matchingIndexes.push(index);\r\n }\r\n });\r\n\r\n if (matchingIndexes.length > 0) {\r\n setNodes((nds) => {\r\n const 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 task: node1.data.task.map((taskItem, indexValue) =>\r\n matchingIndexes.includes(indexValue)\r\n ? { ...taskItem, reminderIndex: true }\r\n : taskItem\r\n ),\r\n },\r\n };\r\n }\r\n return node1;\r\n });\r\n\r\n debouncedUpdateJson(updatedNodes, getEdges());\r\n\r\n return updatedNodes;\r\n });\r\n\r\n clearInterval(interval);\r\n }\r\n }, 5000);\r\n\r\n return () => clearInterval(interval);\r\n }, [node?.data?.task]);\r\n\r\n const filterValue = list.filter((val) => val?.title?.trim());\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 handleCheck = (check, index, isArchive) => {\r\n setTimeout(() => {\r\n const updatedList = (isArchive ? archiveList : currentList).map(\r\n (item, i) => (i === index ? { ...item, check: !check } : item)\r\n );\r\n\r\n const newList = isArchive\r\n ? [...currentList, ...updatedList]\r\n : [...updatedList, ...archiveList];\r\n\r\n setList(newList);\r\n let updatedNodes = [];\r\n setIsHovered(-1);\r\n setNodes((nodes) => {\r\n updatedNodes = nodes.map((nodeItem) => {\r\n if (nodeItem.id === node?.id) {\r\n return {\r\n ...nodeItem,\r\n data: {\r\n ...nodeItem.data,\r\n task: newList,\r\n },\r\n };\r\n }\r\n return nodeItem;\r\n });\r\n\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 debouncedUpdateJson(updatedNodes, getEdges());\r\n\r\n return updatedNodes;\r\n });\r\n }, 100); // Delay execution by 1 second\r\n };\r\n\r\n const handleDelete = (index, isArchive) => {\r\n const filteredList = isArchive ? archiveList : currentList;\r\n\r\n const itemToDelete = filteredList[index];\r\n const updatedList = list.filter((item) => item !== itemToDelete);\r\n\r\n setList(updatedList);\r\n\r\n if (node) {\r\n setNodes((currentNodes) => {\r\n const updatedNodes = currentNodes.map((n) => {\r\n if (n.id === node.id) {\r\n return {\r\n ...n,\r\n data: {\r\n ...n.data,\r\n task: updatedList,\r\n },\r\n };\r\n }\r\n return n;\r\n });\r\n\r\n debouncedUpdateJson(updatedNodes, getEdges());\r\n return updatedNodes;\r\n });\r\n }\r\n };\r\n\r\n const handleDragStart = (event, val, index) => {\r\n if (!val) {\r\n event.preventDefault();\r\n return;\r\n }\r\n setDraggingIndex(index);\r\n setDraggingValue(val);\r\n if (kanbanDragImageRef.current) {\r\n kanbanDragImageRef.current.style.visibility = \"visible\";\r\n event.dataTransfer.setDragImage(kanbanDragImageRef.current, 0, 0);\r\n }\r\n };\r\n const handleDrop = (event, dropIndex) => {\r\n if (\r\n dropIndex !== null &&\r\n dropIndex !== undefined &&\r\n draggingIndex !== null &&\r\n draggingValue !== null &&\r\n !node?.data?.locked\r\n ) {\r\n const updatedList = view === \"current\" ? currentList : archiveList;\r\n const updatedNodes = updatedList?.filter(\r\n (_, index) => index !== draggingIndex\r\n );\r\n const updatedTaskCopy = [...updatedNodes];\r\n updatedTaskCopy.splice(dropIndex, 0, draggingValue);\r\n const newList =\r\n view === \"current\"\r\n ? [...updatedTaskCopy, ...archiveList]\r\n : [...currentList, ...updatedTaskCopy];\r\n\r\n setList(newList);\r\n\r\n setDraggingIndex(null);\r\n setDraggingValue(null);\r\n setNodes((nds) => {\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 task: newList,\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 [selectedMoreMenu, setSelectedMoreMenu] = useState(-1);\r\n\r\n const handleCardCutCopy = async (type = \"cut\") => {\r\n let selectedNode = null;\r\n const updatedList = view === \"current\" ? currentList : archiveList;\r\n selectedNode = updatedList?.find((val, ind) => ind === selectedMoreMenu);\r\n if (!selectedNode) {\r\n console.error(\"Selected node not found.\");\r\n return;\r\n }\r\n const updatedNodes = updatedList.filter(\r\n (_, ind) => ind !== selectedMoreMenu\r\n );\r\n\r\n const newList =\r\n view === \"current\"\r\n ? [...updatedNodes, ...archiveList]\r\n : [...currentList, ...updatedNodes];\r\n\r\n if (type === \"cut\") {\r\n const search = new URLSearchParams(location.search);\r\n const a_id = search.get(\"a_id\");\r\n let parsedData = user_data ? JSON.parse(user_data) : {};\r\n\r\n setNodes((nds) => {\r\n return nds.map((node1) =>\r\n node1.id === node?.id\r\n ? {\r\n ...node1,\r\n data: {\r\n ...node1.data,\r\n task: newList,\r\n },\r\n }\r\n : node1\r\n );\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: architectureId,\r\n dispatch,\r\n undo,\r\n a_id,\r\n takeSnapshot,\r\n });\r\n }\r\n\r\n const nodesToCutArray = [\r\n {\r\n id: selectedNode.id,\r\n type: \"card\",\r\n data: {\r\n resizable: true,\r\n fontSize: \"11.45\",\r\n locked: false,\r\n showDescription:\r\n removeHTMLTags(selectedNode.description).trim().length > 0,\r\n emoji: [],\r\n documentColor: selectedNode.documentColor,\r\n description: selectedNode.description,\r\n title: selectedNode.title,\r\n priority: selectedNode.priority || \"\",\r\n status: selectedNode.status,\r\n assign: selectedNode.assign || [],\r\n date: selectedNode.date,\r\n tag: selectedNode.tag || [],\r\n },\r\n position: { x: 0, y: 0 },\r\n positionAbsolute: { x: 0, y: 0 },\r\n draggable: true,\r\n style: { width: \"324px\" },\r\n },\r\n ];\r\n\r\n const cutData = { nodes: nodesToCutArray, edges: [] };\r\n\r\n try {\r\n await navigator.clipboard.writeText(JSON.stringify(cutData));\r\n } catch (err) {\r\n console.error(\"Clipboard write failed:\", err);\r\n }\r\n\r\n return updatedNodes;\r\n };\r\n\r\n useEffect(() => {\r\n if (!node.selected) {\r\n setShowToolbar(null);\r\n setSelectedCardNode(null);\r\n setSelectedMoreMenu(-1);\r\n setShowCardMoreOptions(false);\r\n setToolbar(false);\r\n if (view === \"current\" && list.length > 0) {\r\n setAddTask(true);\r\n }\r\n } else {\r\n setShowToolbar(true);\r\n }\r\n }, [node.selected]);\r\n\r\n // useEffect(() => {\r\n // if (selectedCardNode !== null && selectedCardNode !== -1) {\r\n // setNodes((nds) =>\r\n // nds.map((node1) => {\r\n // if (node1.id === node?.id) {\r\n // return { ...node1, selected: true };\r\n // }\r\n // return node1;\r\n // })\r\n // );\r\n // }\r\n // }, [selectedCardNode]);\r\n\r\n const currentList = list.filter((item) => !item.check);\r\n const archiveList = list.filter((item) => item.check);\r\n const frameMoreOptionsRef = useRef(null);\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 };\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 allTitlesValid = node?.data?.task.filter((item) => item.title === \"\");\r\n return (\r\n <>\r\n {\r\n if (selectedCardNode !== null && selectedCardNode !== -1) {\r\n e.stopPropagation();\r\n }\r\n }}\r\n ref={simpleRef}\r\n >\r\n \r\n \r\n To Do List\r\n \r\n \r\n {\r\n setView(\"current\");\r\n let updatedNodes;\r\n let updatedNode;\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\r\n updatedNodes = nds.map((node1) => {\r\n if (node1.id === node?.id) {\r\n updatedNode = {\r\n ...node1,\r\n data: {\r\n ...node1.data,\r\n view: \"current\",\r\n },\r\n };\r\n return updatedNode;\r\n }\r\n return node1;\r\n });\r\n return updatedNodes;\r\n });\r\n debouncedUpdateJson(updatedNodes, getEdges());\r\n }}\r\n bgcolor={view === \"current\" ? color?.lightPrimary : \"#FFFFFF\"}\r\n alignItems={\"center\"}\r\n justifyContent={\"center\"}\r\n borderRadius={\"8px\"}\r\n width={\"112px\"}\r\n height={\"32px\"}\r\n sx={{\r\n cursor: \"pointer\",\r\n }}\r\n >\r\n \r\n Current ({currentList.length})\r\n \r\n \r\n {\r\n setView(\"archive\");\r\n let updatedNodes;\r\n let updatedNode;\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\r\n updatedNodes = nds.map((node1) => {\r\n if (node1.id === node?.id) {\r\n updatedNode = {\r\n ...node1,\r\n data: {\r\n ...node1.data,\r\n view: \"archive\",\r\n },\r\n };\r\n return updatedNode;\r\n }\r\n return node1;\r\n });\r\n return updatedNodes;\r\n });\r\n debouncedUpdateJson(updatedNodes, getEdges());\r\n }}\r\n bgcolor={view === \"archive\" ? color?.lightPrimary : \"#FFFFFF\"}\r\n alignItems={\"center\"}\r\n justifyContent={\"center\"}\r\n borderRadius={\"8px\"}\r\n width={\"112px\"}\r\n height={\"32px\"}\r\n sx={{\r\n cursor: \"pointer\",\r\n }}\r\n >\r\n \r\n Archive ({archiveList.length})\r\n \r\n \r\n \r\n \r\n {list?.length > 0 ? (\r\n \r\n {list?.length > 0 && (\r\n \r\n {/* {showListTitleInput && (\r\n
\r\n \r\n
\r\n )} */}\r\n\r\n {view !== \"current\" && archiveList.length === 0 ? (\r\n \r\n \r\n {/* \r\n Not Found\r\n \r\n \r\n Lorem Ipsum is simply dummy text of the typesetting\r\n industry.\r\n */}\r\n \r\n ) : (\r\n <>\r\n {view === \"current\" &&\r\n list\r\n .filter((val) => !val.check)\r\n .map((val, index) => (\r\n {\r\n setDraggingIndex(index);\r\n setDraggingValue(val);\r\n }}\r\n onDragOver={(e) => e.preventDefault()}\r\n onDrop={(e) => handleDrop(e, index)}\r\n onMouseEnter={() => setShowDeleteIcon(index)}\r\n onMouseLeave={() => {\r\n setShowDeleteIcon(-1);\r\n setShowMoreOptions(false);\r\n }}\r\n >\r\n {index === showDeleteIcon &&\r\n (selectedCardNode === null ||\r\n selectedCardNode === -1) &&\r\n selectedCardNode !== index && (\r\n \r\n handleDragStart(e, val, index)\r\n }\r\n onMouseDownCapture={(e) =>\r\n e.stopPropagation()\r\n }\r\n sx={{\r\n width: \"22px\",\r\n height: \"22px\",\r\n display: \"flex\",\r\n justifyContent: \"flex-start\",\r\n alignItems: \"center\",\r\n position: \"absolute\",\r\n padding: \"2px\",\r\n opacity: 1,\r\n top: \"50%\",\r\n transform: \"translateY(-100%)\",\r\n left: \"-18px\",\r\n \"& : hover\": {\r\n bgcolor: \"#F5F5F5\",\r\n },\r\n }}\r\n >\r\n \r\n
\r\n )}\r\n {\r\n if (\r\n index === showDeleteIcon &&\r\n (selectedCardNode === null ||\r\n selectedCardNode === -1) &&\r\n selectedCardNode !== index\r\n ) {\r\n handleDragStart(e, val, index);\r\n }\r\n }}\r\n onMouseDownCapture={(e) => {\r\n if (\r\n index === showDeleteIcon &&\r\n (selectedCardNode === null ||\r\n selectedCardNode === -1) &&\r\n selectedCardNode !== index\r\n ) {\r\n e.stopPropagation();\r\n }\r\n }}\r\n onClick={(e) => {\r\n e.stopPropagation();\r\n // setShowToolbar(index);\r\n }}\r\n >\r\n {val?.title && (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n checkedIcon={\r\n \r\n }\r\n checked={val.check}\r\n // defaultChecked={false}\r\n onChange={(e) => {\r\n if (!node?.data?.locked) {\r\n handleCheck(\r\n val.check,\r\n index,\r\n view === \"current\" ? false : true\r\n );\r\n }\r\n }}\r\n style={{\r\n padding: \"0\",\r\n width: \"20px\",\r\n height: \"20px\",\r\n display: \"flex\",\r\n alignItems: \"start\",\r\n marginTop: \"3px\",\r\n }}\r\n onMouseEnter={() => setIsHovered(index)}\r\n onMouseLeave={() => setIsHovered(-1)}\r\n />\r\n }\r\n style={{\r\n margin: \"0\",\r\n display: \"flex\",\r\n alignItems: \"start\",\r\n }}\r\n />\r\n )}\r\n\r\n \r\n {val?.title && (\r\n \r\n {/* \r\n {stripHtml(val?.title)}\r\n */}\r\n 0\r\n ? val?.reminderIndex\r\n ? \"red\"\r\n : \"#18181B\"\r\n : \"#A9A8A8\",\r\n }}\r\n className=\"card_title_box\"\r\n dangerouslySetInnerHTML={{\r\n __html:\r\n val?.title?.length > 0\r\n ? val.title\r\n : \"Heading\",\r\n }}\r\n />\r\n {val?.reminderIndex && (\r\n \r\n {\r\n let updatedNodes = [];\r\n setNodes((nds) => {\r\n updatedNodes = nds.map(\r\n (node1) => {\r\n if (node1.id === node?.id) {\r\n return {\r\n ...node1,\r\n data: {\r\n ...node1.data,\r\n task: node1.data.task.map(\r\n (taskItem) => {\r\n if (\r\n taskItem.id ===\r\n val?.id\r\n ) {\r\n return {\r\n ...taskItem,\r\n reminderIndex: false,\r\n reminder: null,\r\n };\r\n }\r\n return taskItem;\r\n }\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(\r\n updatedNodes,\r\n getEdges()\r\n );\r\n }}\r\n sx={{\r\n \"&:hover\": {\r\n bgcolor: \"#F5F5F5\",\r\n },\r\n }}\r\n >\r\n {/* */}\r\n \r\n \r\n \r\n )}\r\n {!val?.reminderIndex &&\r\n !node?.data?.locked && (\r\n {}}\r\n flexDirection={\"row\"}\r\n gap={\"4px\"}\r\n alignItems={\"center\"}\r\n sx={{\r\n opacity:\r\n index === showDeleteIcon ? 1 : 0,\r\n }}\r\n >\r\n {\r\n if (!node?.data?.locked) {\r\n e.stopPropagation();\r\n setSelectedCardNode(index);\r\n let updatedNodes = [];\r\n\r\n setNodes((nds) => {\r\n updatedNodes = nds.map(\r\n (node1) => {\r\n if (\r\n node1.id === node?.id\r\n ) {\r\n return {\r\n ...node1,\r\n data: {\r\n ...node1.data,\r\n task:\r\n filterValue?.length !==\r\n list?.length\r\n ? filterValue\r\n : node1.data\r\n ?.task,\r\n },\r\n selected: true,\r\n };\r\n }\r\n return node1;\r\n }\r\n );\r\n\r\n return updatedNodes;\r\n });\r\n\r\n debouncedUpdateJson(\r\n updatedNodes,\r\n getEdges()\r\n );\r\n setAddTask(false);\r\n setToolbar(true);\r\n }\r\n }}\r\n alignItems={\"center\"}\r\n justifyContent={\"center\"}\r\n borderRadius={\"4px\"}\r\n sx={{\r\n \"&:hover\": {\r\n bgcolor: \"#F5F5F5\",\r\n },\r\n }}\r\n >\r\n \r\n \r\n \r\n setShowMoreOptions(false)\r\n }\r\n open={showMoreOptions}\r\n disableFocusListener\r\n disableHoverListener\r\n disableTouchListener\r\n title={\r\n {\r\n setSelectedCardNode(index);\r\n let updatedNodes = [];\r\n\r\n setNodes((nds) => {\r\n updatedNodes = nds.map(\r\n (node1) => {\r\n if (\r\n node1.id === node?.id\r\n ) {\r\n return {\r\n ...node1,\r\n data: {\r\n ...node1.data,\r\n task:\r\n filterValue?.length !==\r\n list?.length\r\n ? filterValue\r\n : node1.data\r\n ?.task,\r\n },\r\n selected: true,\r\n };\r\n }\r\n return node1;\r\n }\r\n );\r\n\r\n return updatedNodes;\r\n });\r\n\r\n debouncedUpdateJson(\r\n updatedNodes,\r\n getEdges()\r\n );\r\n setAddTask(false);\r\n setToolbar(true);\r\n }}\r\n showRename={false}\r\n showDuplicate={true}\r\n handleDuplicate={() => {\r\n const newTaskId = `task-${Date.now()}`;\r\n const newTask = {\r\n check: false,\r\n list: \"\",\r\n id: newTaskId,\r\n title: val?.title || \"\",\r\n description:\r\n val?.description || \"\",\r\n priority:\r\n val?.priority || \"\",\r\n assign: val?.assign || [],\r\n tag: val?.tag || [],\r\n documentColor:\r\n val?.documentColor ||\r\n \"#D9D9D9\",\r\n date: val?.date || null,\r\n reminder: {\r\n date: val?.reminder?.date,\r\n time: val?.reminder?.time,\r\n },\r\n reminderIndex:\r\n val?.reminderIndex ||\r\n false,\r\n };\r\n let updatedNodes;\r\n let updatedNode;\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\r\n updatedNodes = nds.map(\r\n (node1) => {\r\n if (\r\n node1.id === node?.id\r\n ) {\r\n updatedNode = {\r\n ...node1,\r\n data: {\r\n ...node1.data,\r\n task: [\r\n ...(node1.data\r\n .task || []),\r\n newTask,\r\n ],\r\n },\r\n };\r\n return updatedNode;\r\n }\r\n return node1;\r\n }\r\n );\r\n return updatedNodes;\r\n });\r\n debouncedUpdateJson(\r\n updatedNodes,\r\n getEdges()\r\n );\r\n setSelectedCardNode(-1);\r\n }}\r\n handleCut={handleCardCutCopy}\r\n // showCopyAsImage={true}\r\n // showAddComment={true}\r\n cardDuplicate={true}\r\n showCutCopyPaste={true}\r\n // showFrame={true}\r\n // showLockUnlock={true}\r\n // showCopyLink={true}\r\n // showLinkTo={true}\r\n showDelete={true}\r\n view={\"current\"}\r\n type={\"list\"}\r\n handleDelete={() => {\r\n handleDelete(\r\n index,\r\n view === \"current\"\r\n ? false\r\n : true\r\n );\r\n }}\r\n // exportShow={true}\r\n // showBringToFrontAndBack={true}\r\n setShowFrameMoreOptions={\r\n setShowMoreOptions\r\n }\r\n simpleRef={simpleRef}\r\n // handleClickCopyLink={handleClickCopyLink}\r\n // handleClickBringToFront={handleClickBringToFront}\r\n // handleClickSendToBack={handleClickSendToBack}\r\n />\r\n }\r\n >\r\n \r\n {\r\n setShowMoreOptions(\r\n !showMoreOptions\r\n );\r\n setSelectedMoreMenu(index);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n )}\r\n {val?.title && val?.description && (\r\n // \r\n // {stripHtml(val?.description)}\r\n // \r\n 0\r\n ? \"#848382\"\r\n : \"#A9A8A8\",\r\n }}\r\n className=\"card_title_box\"\r\n dangerouslySetInnerHTML={{\r\n __html:\r\n val?.description?.length > 0\r\n ? val.description\r\n : \"Type something\",\r\n }}\r\n />\r\n )}\r\n\r\n {(selectedCardNode === index || !val.title) && (\r\n {\r\n setSelectedEditNode(index);\r\n setToolbar(true);\r\n setNodes((nds) =>\r\n nds.map((node1) => {\r\n if (node1.id === node?.id) {\r\n return { ...node1, selected: true };\r\n }\r\n return node1;\r\n })\r\n );\r\n }}\r\n >\r\n {\r\n handleDelete(\r\n index,\r\n view === \"current\" ? false : true\r\n );\r\n }}\r\n tagLevel={val?.tag}\r\n titleLevel={val?.title}\r\n addTask={addTask}\r\n setAddTask={setAddTask}\r\n descriptionLevel={val?.description}\r\n type=\"list\"\r\n cardRef={cardRef}\r\n setToolbar={setSelectedCardNode}\r\n selectedCardNode={selectedCardNode}\r\n setSelectedCardNode={setSelectedCardNode}\r\n node={node}\r\n lock={node?.data?.lock}\r\n selected={node?.selected}\r\n showToolbar={\r\n !node?.dragging &&\r\n !isNodeSelectionStarted &&\r\n Toolbar\r\n }\r\n />\r\n \r\n )}\r\n \r\n \r\n {/* {val.check && index === showDeleteIcon && (\r\n \r\n handleDelete(\r\n index,\r\n view === \"current\" ? false : true\r\n )\r\n }\r\n sx={{\r\n position: \"absolute\",\r\n right: \"20px\",\r\n opacity: 1,\r\n background: \"white\",\r\n zIndex: 9999,\r\n }}\r\n >\r\n \r\n \r\n )} */}\r\n \r\n ))}\r\n {view !== \"current\" &&\r\n list\r\n .filter((val) => val.check)\r\n .map((val, index) => (\r\n {\r\n setDraggingIndex(index);\r\n setDraggingValue(val);\r\n }}\r\n onDragOver={(e) => e.preventDefault()}\r\n onDrop={(e) => handleDrop(e, index)}\r\n onMouseEnter={() => setShowDeleteIcon(index)}\r\n onMouseLeave={() => {\r\n setShowDeleteIcon(-1);\r\n setShowMoreOptions(false);\r\n }}\r\n >\r\n {index === showDeleteIcon &&\r\n (selectedCardNode === null ||\r\n selectedCardNode === -1) &&\r\n selectedCardNode !== index && (\r\n \r\n handleDragStart(e, val, index)\r\n }\r\n onMouseDownCapture={(e) =>\r\n e.stopPropagation()\r\n }\r\n sx={{\r\n width: \"22px\",\r\n height: \"22px\",\r\n display: \"flex\",\r\n justifyContent: \"flex-start\",\r\n alignItems: \"center\",\r\n position: \"absolute\",\r\n padding: \"2px\",\r\n opacity: 1,\r\n top: \"50%\",\r\n transform: \"translateY(-100%)\",\r\n left: \"-18px\",\r\n \"& : hover\": {\r\n bgcolor: \"#F5F5F5\",\r\n },\r\n }}\r\n >\r\n \r\n \r\n )}\r\n {\r\n if (\r\n index === showDeleteIcon &&\r\n (selectedCardNode === null ||\r\n selectedCardNode === -1) &&\r\n selectedCardNode !== index\r\n ) {\r\n handleDragStart(e, val, index);\r\n }\r\n }}\r\n onMouseDownCapture={(e) => {\r\n if (\r\n index === showDeleteIcon &&\r\n (selectedCardNode === null ||\r\n selectedCardNode === -1) &&\r\n selectedCardNode !== index\r\n ) {\r\n e.stopPropagation();\r\n }\r\n }}\r\n onClick={(e) => {\r\n e.stopPropagation();\r\n // setShowToolbar(index);\r\n }}\r\n >\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n checkedIcon={\r\n \r\n }\r\n checked={val.check}\r\n onChange={(e) => {\r\n if (!node?.data?.locked) {\r\n handleCheck(\r\n val.check,\r\n index,\r\n view === \"current\" ? false : true\r\n );\r\n }\r\n }}\r\n style={{\r\n padding: \"0\",\r\n width: \"24px\",\r\n height: \"24px\",\r\n display: \"flex\",\r\n alignItems: \"start\",\r\n alignContent: \"start\",\r\n marginTop: \"3px\",\r\n }}\r\n onMouseEnter={() => setIsHovered(index)}\r\n onMouseLeave={() => setIsHovered(-1)}\r\n />\r\n }\r\n style={{\r\n margin: \"0\",\r\n display: \"flex\",\r\n alignItems: \"start\", // Remove FormControlLabel margin\r\n }}\r\n />\r\n \r\n {val?.title && (\r\n \r\n {/* \r\n {stripHtml(val?.title)}\r\n */}\r\n 0\r\n ? val?.reminderIndex\r\n ? \"red\"\r\n : \"#18181B\"\r\n : \"#A9A8A8\",\r\n }}\r\n className=\"card_title_box\"\r\n dangerouslySetInnerHTML={{\r\n __html:\r\n val?.title?.length > 0\r\n ? val.title\r\n : \"Heading\",\r\n }}\r\n />\r\n {val?.reminderIndex && (\r\n \r\n {\r\n let updatedNodes = [];\r\n setNodes((nds) => {\r\n updatedNodes = nds.map(\r\n (node1) => {\r\n if (node1.id === node?.id) {\r\n return {\r\n ...node1,\r\n data: {\r\n ...node1.data,\r\n task: node1.data.task.map(\r\n (taskItem) => {\r\n if (\r\n taskItem.id ===\r\n val?.id\r\n ) {\r\n return {\r\n ...taskItem,\r\n reminderIndex: false,\r\n reminder: null,\r\n };\r\n }\r\n return taskItem;\r\n }\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(\r\n updatedNodes,\r\n getEdges()\r\n );\r\n }}\r\n sx={{\r\n \"&:hover\": {\r\n bgcolor: \"#F5F5F5\",\r\n },\r\n }}\r\n >\r\n {/* */}\r\n \r\n \r\n \r\n )}\r\n {!val?.reminderIndex &&\r\n !node?.data?.locked && (\r\n {}}\r\n flexDirection={\"row\"}\r\n gap={\"4px\"}\r\n alignItems={\"center\"}\r\n sx={{\r\n opacity:\r\n index === showDeleteIcon ? 1 : 0,\r\n }}\r\n >\r\n {\r\n if (!node?.data?.locked) {\r\n e.stopPropagation();\r\n setSelectedCardNode(index);\r\n let updatedNodes = [];\r\n\r\n setNodes((nds) => {\r\n updatedNodes = nds.map(\r\n (node1) => {\r\n if (\r\n node1.id === node?.id\r\n ) {\r\n return {\r\n ...node1,\r\n data: {\r\n ...node1.data,\r\n task:\r\n filterValue?.length !==\r\n list?.length\r\n ? filterValue\r\n : node1.data\r\n ?.task,\r\n },\r\n selected: true,\r\n };\r\n }\r\n return node1;\r\n }\r\n );\r\n\r\n return updatedNodes;\r\n });\r\n\r\n debouncedUpdateJson(\r\n updatedNodes,\r\n getEdges()\r\n );\r\n setAddTask(false);\r\n setToolbar(true);\r\n }\r\n }}\r\n alignItems={\"center\"}\r\n justifyContent={\"center\"}\r\n borderRadius={\"4px\"}\r\n sx={{\r\n \"&:hover\": {\r\n bgcolor: \"#F5F5F5\",\r\n },\r\n }}\r\n >\r\n \r\n \r\n \r\n setShowMoreOptions(false)\r\n }\r\n open={showMoreOptions}\r\n disableFocusListener\r\n disableHoverListener\r\n disableTouchListener\r\n title={\r\n {\r\n setSelectedCardNode(index);\r\n let updatedNodes = [];\r\n\r\n setNodes((nds) => {\r\n updatedNodes = nds.map(\r\n (node1) => {\r\n if (\r\n node1.id === node?.id\r\n ) {\r\n return {\r\n ...node1,\r\n data: {\r\n ...node1.data,\r\n task:\r\n filterValue?.length !==\r\n list?.length\r\n ? filterValue\r\n : node1.data\r\n ?.task,\r\n },\r\n selected: true,\r\n };\r\n }\r\n return node1;\r\n }\r\n );\r\n\r\n return updatedNodes;\r\n });\r\n\r\n debouncedUpdateJson(\r\n updatedNodes,\r\n getEdges()\r\n );\r\n setAddTask(false);\r\n setToolbar(true);\r\n }}\r\n showRename={false}\r\n showDuplicate={true}\r\n handleDuplicate={() => {\r\n const newTaskId = `task-${Date.now()}`;\r\n const newTask = {\r\n check: true,\r\n list: \"\",\r\n id: newTaskId,\r\n title: val?.title || \"\",\r\n description:\r\n val?.description || \"\",\r\n priority:\r\n val?.priority || \"\",\r\n assign: val?.assign || [],\r\n tag: val?.tag || [],\r\n documentColor:\r\n val?.documentColor ||\r\n \"#D9D9D9\",\r\n date: val?.date || null,\r\n reminder: {\r\n date: val?.reminder?.date,\r\n time: val?.reminder?.time,\r\n },\r\n reminderIndex:\r\n val?.reminderIndex ||\r\n false,\r\n };\r\n let updatedNodes;\r\n let updatedNode;\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\r\n updatedNodes = nds.map(\r\n (node1) => {\r\n if (\r\n node1.id === node?.id\r\n ) {\r\n updatedNode = {\r\n ...node1,\r\n data: {\r\n ...node1.data,\r\n task: [\r\n ...(node1.data\r\n .task || []),\r\n newTask,\r\n ],\r\n },\r\n };\r\n return updatedNode;\r\n }\r\n return node1;\r\n }\r\n );\r\n return updatedNodes;\r\n });\r\n debouncedUpdateJson(\r\n updatedNodes,\r\n getEdges()\r\n );\r\n setSelectedCardNode(-1);\r\n }}\r\n // showCopyAsImage={true}\r\n // showAddComment={true}\r\n cardDuplicate={true}\r\n showCutCopyPaste={true}\r\n handleCut={handleCardCutCopy}\r\n // showFrame={true}\r\n // showLockUnlock={true}\r\n // showCopyLink={true}\r\n // showLinkTo={true}\r\n showDelete={true}\r\n view={\"archiv\"}\r\n type={\"list\"}\r\n handleDelete={() => {\r\n handleDelete(\r\n index,\r\n view === \"current\"\r\n ? false\r\n : true\r\n );\r\n }}\r\n // exportShow={true}\r\n // showBringToFrontAndBack={true}\r\n setShowFrameMoreOptions={\r\n setShowMoreOptions\r\n }\r\n simpleRef={simpleRef}\r\n // handleClickCopyLink={handleClickCopyLink}\r\n // handleClickBringToFront={handleClickBringToFront}\r\n // handleClickSendToBack={handleClickSendToBack}\r\n />\r\n }\r\n >\r\n \r\n {\r\n setShowMoreOptions(\r\n !showMoreOptions\r\n );\r\n setSelectedMoreMenu(index);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n )}\r\n {val?.title && val?.description && (\r\n // \r\n // {stripHtml(val?.description)}\r\n // \r\n 0\r\n ? \"#848382\"\r\n : \"#A9A8A8\",\r\n }}\r\n className=\"card_title_box\"\r\n dangerouslySetInnerHTML={{\r\n __html:\r\n val?.description?.length > 0\r\n ? val.description\r\n : \"Type something\",\r\n }}\r\n />\r\n )}\r\n {(selectedCardNode === index || !val.title) && (\r\n {\r\n setSelectedEditNode(index);\r\n setToolbar(true);\r\n setNodes((nds) =>\r\n nds.map((node1) => {\r\n if (node1.id === node?.id) {\r\n return { ...node1, selected: true };\r\n }\r\n return node1;\r\n })\r\n );\r\n }}\r\n >\r\n {\r\n handleDelete(\r\n index,\r\n view === \"current\" ? false : true\r\n );\r\n }}\r\n reminder={val?.reminder}\r\n dateLevel={val?.date}\r\n setToolbar={setSelectedCardNode}\r\n setSelectedCardNode={setSelectedCardNode}\r\n asignLevel={val?.assign}\r\n tagLevel={val?.tag}\r\n addTask={addTask}\r\n view=\"archive\"\r\n setAddTask={setAddTask}\r\n titleLevel={val?.title}\r\n descriptionLevel={val?.description}\r\n selectedCardNode={selectedCardNode}\r\n type=\"list\"\r\n node={node}\r\n lock={node?.data?.lock}\r\n selected={node?.selected}\r\n showToolbar={\r\n !node?.dragging &&\r\n !isNodeSelectionStarted\r\n }\r\n />\r\n \r\n )}\r\n \r\n \r\n {/* {val.check && index === showDeleteIcon && (\r\n \r\n handleDelete(\r\n index,\r\n view === \"current\" ? false : true\r\n )\r\n }\r\n sx={{\r\n position: \"absolute\",\r\n right: \"20px\",\r\n opacity: 1,\r\n background: \"white\",\r\n zIndex: 9999,\r\n }}\r\n >\r\n \r\n \r\n )} */}\r\n \r\n ))}\r\n \r\n )}\r\n\r\n {/* Additional logic for checked list */}\r\n {/* {list.length > 0 &&\r\n list.filter((val) => val.check).length > 1 &&\r\n deleteCheckList && (\r\n e.stopPropagation()}\r\n >\r\n Delete completed tasks?\r\n \r\n Yes\r\n \r\n \r\n setDeleteCheckList(false)}>\r\n No thanks\r\n \r\n \r\n \r\n )} */}\r\n \r\n )}\r\n\r\n {/* Handle elements logic */}\r\n \r\n ) : (\r\n \r\n \r\n {view === \"current\" && (\r\n \r\n \r\n \r\n Add Task\r\n \r\n \r\n )}\r\n \r\n )}\r\n {(view === \"current\" && list?.length > 0 && addTask) ||\r\n (selectedCardNode !== -1 &&\r\n selectedCardNode !== null &&\r\n list?.length > 0 &&\r\n view === \"current\") ? (\r\n {\r\n if (!allTitlesValid?.length) {\r\n handleAddTask(e);\r\n }\r\n }}\r\n sx={{\r\n cursor: \"pointer\",\r\n opacity: allTitlesValid?.length ? 0 : 1,\r\n }}\r\n >\r\n \r\n \r\n Add Task\r\n \r\n \r\n ) : null}\r\n\r\n {!node?.dragging &&\r\n !isMultiNodeSelected &&\r\n !isNodeSelectionStarted &&\r\n node?.selected &&\r\n !node?.data?.data?.locked &&\r\n !node?.dragging &&\r\n list?.length > 0 && (\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 \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 \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 \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 \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 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 setSelectedCardNode(-1);\r\n if (node?.data?.locked) {\r\n setAddTask(true);\r\n } else {\r\n setAddTask(false);\r\n }\r\n debouncedUpdateJson(updatedNodes, getEdges());\r\n }}\r\n >\r\n {node?.data?.locked ? : }\r\n \r\n \r\n \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 \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 {\"logo\"}\r\n \r\n \r\n */}\r\n \r\n \r\n \r\n\r\n \r\n \r\n {draggingValue?.title.replace(/<\\/?p>/g, \"\") || \"Heading\"}\r\n \r\n\r\n \r\n {draggingValue?.description.replace(/<\\/?p>/g, \"\") ||\r\n \"Type something\"}\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default memo(ListNode, (prevProps, nextProps) => {\r\n return prevProps.data.globalDragging && nextProps.data.globalDragging;\r\n});\r\n"],"names":["_ref","_node$data2","_getNodes","_localCustomizeCard$a","_nodeWH$style9","_nodeWH$style10","_localCustomizeCard$t2","_nodeNW$data","_nodeNW$data$emoji","_Object$values","_localCustomizeCard$r7","_localCustomizeCard$r8","_localCustomizeCard$r10","_localCustomizeCard$t3","_localCustomizeCard$t4","_customizeCard$fontSi","data","id","setList","type","itemId","index","view","container","documentColor","isNodeSelectionStarted","selectedCardNode","priorityLevel","statusLevel","dateLevel","asignLevel","tagLevel","cardRef","addTask","setAddTask","handleDelete","Toolbar","setToolbar","titleLevel","descriptionLevel","setSelectedCardNode","showToolbar","lock","reminder","reminderIndex","node","rest","_objectWithoutProperties","_excluded","customizeCard","setCustomizeCard","useState","title","description","priority","assign","tag","date","fontSize","textColor","localCustomizeCard","setLocalCustomizeCard","assigneeLoader","setAssigneeLoader","showEdit","setShowEdit","showTextEditor","setShowTextEditor","isHovered","setIsHovered","showCardModal","setShowCardModal","containerRef","useRef","mainRef","fontstyle","isOpen","setIsOpen","showCardMoreOptions","setShowCardMoreOptions","currentFontFamily","setCurrentFontFamily","currentTextAlign","setCurrentTextAlign","currentListType","setCurrentListType","showListTypes","setShowListTypes","nodeSize","setNodeSize","width","height","showFontStyle","setShowFontStyle","showReaction","setShowReaction","location","useLocation","architectureData","useSelector","_data$archBoard","archBoard","architectureRes","isDownload","state","mindMapStore","fontList","handleColorChange","color","prev","_objectSpread","editTagIndex","setEditTagIndex","editTagValue","setEditTagValue","handleRemoveTag","updatedTags","filter","_","i","setError","hasClickedOnGivenClass","target","className","classList","contains","parentElement","handleClickOutside","event","setShowColor","setShowTextColor","current","fontFamilyRef","setShowFontFamily","fontSizeRef","setShowFontSizeOpt","linkRef","setShowLink","useEffect","document","addEventListener","removeEventListener","handleFontSizeChange","action","currentFontSize","parseInt","updatedNodes","updatedNode","newFontSize","concat","editor","selection","empty","chain","focus","selectParentNode","setFontSize","run","titleEditor","setNodes","nds","map","node1","debouncedUpdateJson","getEdges","undo","takeSnapshot","useUndoRedo","error","members","setMembers","showAlignment","setShowAlignment","showFontSizeOpt","showFontFamily","showColor","showTextColor","fontSizeArr","architectureId","useParams","dispatch","useDispatch","closeAllTools","selected","user_data","localStorage","getItem","open","setOpen","React","newTag","setNewTag","getNodes","getNode","getZoom","useReactFlow","anchorEl","setAnchorEl","zoomLevel","boardData","setBoardData","openTag","setOpenTag","anchorElTag","setAnchorElTag","idTag","Boolean","undefined","openStatus","setOpenStatus","anchorElStatus","setAnchorElStatus","openAssign","setOpenAssign","anchorElAssign","setAnchorElAssign","idAssign","canBeOpen","showLink","id1","searchValue","setSearchValue","anchorElDate","setAnchorElDate","anchorElReminder","setAnchorElReminder","timeAnchor","setTimeAnchor","times","generateTimeSlots","hour","minutes","period","timeString","push","openReminder","simpleRef","nodeNW","priorityDropdown","name","Icon","IcPriorityLevel","onClick","fill","IcClear","statusDropdown","IcStatus","IcStatusCompleted","nodeWH","handleClickAssign","getArchitectureMembers","currentTarget","previousOpen","handleClickTag","timerForEditor","selectedTextRef","isFirstTimeClicked","setIsFirstTimeClicked","onEditorClick","stopPropagation","clearTimeout","window","getSelection","detail","setTimeout","commands","pos","posAtCoords","left","clientX","top","clientY","setTextSelection","useCallback","async","_response$data","response","commanService","getApi","architecture_id","handleChageDate","toLocaleDateString","a_id","URLSearchParams","search","get","projectRes","project_id","project_name","handleArchitectureResponse","filteredMembers","member","first_name","last_name","toLowerCase","includes","hexToRgba","hex","opacity","bigint","replace","g","b","fillColor","priorityName","find","p","getPriorityFill","fillColorStatus","status","getStatusFill","useEditor","extensions","tipTapExtensions","content","value","onUpdate","_ref2","html","getHTML","prevState","editorProps","handleKeyDown","onSelectionUpdate","_ref3","rangeCount","rect","getRangeAt","getBoundingClientRect","x","y","setFloatingMenu","floatingMenu","mouseX","mouseY","_ref4","_ref5","randomColor","colors","Math","floor","random","length","debounce","tempNodes","updatedEdges","_parsedData","parsedData","JSON","parse","updateJson","json","architecture_json","nodes","edges","lastUpdatedBy","user_id","debouncedUpdateTitle","useMemo","containers","container1","items","item","querySelectorAll","forEach","element","e","linkText","setLinkText","fontstyleEditor","setFontStyleEditor","getCurrentStyles","getAttributes","isBold","isActive","isItalic","isUnderline","isStrikethrough","textAlign","listType","fontFamily","isTextSelected","setIsTextSelected","isTextSelectedTitle","setIsTextSelectedTitle","checkSelection","_fontFamilyArr$find","selection1","from","to","currentStyles","currentTextColor","setCurrentColor","fontFamilyArr","font","family","timerForSticky","checkSelectionTitle","_fontFamilyArr$find2","on","off","currentColor","_fontFamilyArr$find3","_fontFamilyArr$find4","updateTreeLayout","n","rootParentId","result","createVerticalTreeLayout","setItem","stringify","lastEvent","matchingNode","resNode","addition","debouncedUpdateTreeLayout","nodeElement","resizeObserver","ResizeObserver","entries","entry","newHeight","contentRect","newWidth","observe","unobserve","disconnect","handleSave","_localCustomizeCard$r","_localCustomizeCard$r2","_node$data","setContent","time","task","_localCustomizeCard$r3","_localCustomizeCard$r4","showDescription","_localCustomizeCard$r5","_localCustomizeCard$r6","allTitlesValid","taskType","emojiD","reduce","acc","comment","_comment$data","_comment$data$emoji","emoji","unified","imageUrl","count","emojiCount","Object","values","_jsxs","Stack","ref","children","_jsx","Box","sx","position","border","borderRadius","paddingTop","background","gap","display","flexDirection","padding","paddingBottom","overflow","onMouseEnter","onMouseLeave","metaKey","ctrlKey","EditorContent","preventDefault","style","cursor","marginBottom","wordWrap","minHeight","fontWeight","getText","dangerouslySetInnerHTML","__html","right","transition","visibility","IconButton","contentHTML","titleHTML","removeHTMLTags","IcArrowExpand","flexWrap","bgcolor","lineHeight","paddingX","paddingY","alignContent","alignItems","src","s3AssetsUrl","alt","CustomTooltip","slice","val","_nodeWH$style","_nodeWH$style2","_nodeWH$style3","_nodeWH$style4","_val$first_name$","profile_picture","marginRight","objectFit","backgroundColor","profile_color","justifyContent","toUpperCase","Typography","placement","isAvatarGroup","_nodeWH$style5","_nodeWH$style6","_nodeWH$style7","_nodeWH$style8","_val$first_name$2","Avatar","bottom","direction","primaryColor","marginTop","BtnColoredOutlined","currentList","check","archiveList","updatedList","idx","newList","borderColor","px","mr","hoverSx","BtnGradient","disabled","trim","Popover","onClose","anchorOrigin","vertical","horizontal","transformOrigin","ml","boxShadow","BackdropProps","_ref6","mb","marginX","handlePriorityClick","DoneIcon","size","mt","TextField","placeholder","autoComplete","fullWidth","onChange","InputProps","startAdornment","SearchIcon","marginLeft","SimpleCircularProgress","loaderColor","loaderPathColor","user","_user$first_name$","maxWidth","whiteSpace","textOverflow","SimpleCheckBox","updatedAssign","isSelected","some","u","handleMemberSelect","checked","assignedUser","DatePicker","minDate","Date","inline","borderTop","IcCalendarOutlined","IcClock","stroke","handleCloseReminder","List","maxHeight","overflowY","_localCustomizeCard$r9","isPastTime","selectedDate","currentTime","toDateString","roundedMinutes","ceil","getMinutes","setHours","getHours","setMinutes","hourMinutes","split","hours","Number","timeToCheck","ListItem","disablePadding","ListItemButton","onKeyDown","key","handleAddTag","_localCustomizeCard$t","helperText","borderBottom","handleSaveEdit","textTransform","variant","handleEditTag","EditIcon","CancelIcon","zIndex","transform","_Fragment","CustomNameTooltip","arrow","IcExpanOutlined","ClickAwayListener","onClickAway","PopperProps","disablePortal","disableFocusListener","disableHoverListener","disableTouchListener","BackgroundTool","showOpacity","selectedNodeColor","toRgba","onChangeColor","ToolTipWithDisabled","tooltipTitle","IcChangeBg","CommonDivider","my","orientation","flexItem","IcProrityOutlined","IcAssignOutlined","onWheelCapture","setFontFamily","paddingLeft","toString","minWidth","IcDecresFontSize","IcIncreseFontSize","lightPrimary","toggleBold","IcTextBold","toggleItalic","IcTextItalic","toggleUnderline","IcTextUnderline","toggleStrike","IcTextStrickTrough","IcFontStyle","toggleBulletList","IcListOutlined","toggleOrderedList","IcNumberListOutlined","setColor","IcTextColor","outline","IcTagOutlined","locked","IcLockLocked","IcLockUnLocked","handleCloseFloatingMenu","anchorReference","anchorPosition","LinkTool","_e$target","onKeyPress","setLink","href","CardModal","handleClose","titleEditor1","typeList","handleToggle","handleTitle","ListNode","_node$data3","_getNodes$filter","_node$data4","_simpleRef$current2","_node$data5","_node$data7","_node$data9","_node$data10","_node$data19","_node$data19$data","_node$data20","_node$data23","hoveredItem","setHoveredItem","showDots","setShowDots","initialLists","list","showDeleteIcon","setShowDeleteIcon","kanbanDragImageRef","draggingIndex","setDraggingIndex","draggingValue","setDraggingValue","selectedEditNode","setSelectedEditNode","setReminderIndex","setShowToolbar","setView","showMoreOptions","setShowMoreOptions","selectedNodes","isMultiNodeSelected","zoomPercentages","setZoomPercentages","useNodeSelectionStarted","nodeRef","handleAddTask","newTask","now","_simpleRef$current","offsetHeight","isWidthLessthan25","_node$data6","Array","isArray","interval","setInterval","matchingIndexes","_task$reminder","_task$reminder2","_task$reminder$time","month","day","year","isPM","targetTime","currentTimeMs","getTime","targetTimeMs","getFullYear","getMonth","getDate","taskItem","indexValue","clearInterval","filterValue","_val$title","isWidthLessthan50","isWidthLessthan100","handleCheck","isArchive","nodeItem","itemToDelete","currentNodes","handleDragStart","dataTransfer","setDragImage","handleDrop","dropIndex","_node$data8","updatedTaskCopy","splice","selectedMoreMenu","setSelectedMoreMenu","handleCardCutCopy","arguments","selectedNode","ind","console","cutData","resizable","positionAbsolute","draggable","navigator","clipboard","writeText","err","frameMoreOptionsRef","handleClickOutside1","onMouseDownCapture","_val$title2","_val$title3","_node$data12","_val$description","_val$description2","_node$data14","onDragStart","onDragOver","onDrop","IcDragIcon","FormControlLabel","control","MuiCheckbox","icon","CheckCircleIcon","RadioButtonUncheckedIcon","checkedIcon","_node$data11","margin","_node$data13","_node1$data","IcEditOutlined","FrameMoreMenus","edit","handleClickEdit","_node1$data2","showRename","showDuplicate","handleDuplicate","_val$reminder","_val$reminder2","handleCut","cardDuplicate","showCutCopyPaste","showDelete","setShowFrameMoreOptions","IcMenuDotsHorizontal","ListCardNode","dragging","_val$title4","_val$title5","_node$data16","_val$description3","_val$description4","_node$data18","_node$data15","_node$data17","_node1$data3","_node1$data4","_val$reminder3","_val$reminder4","IcPlusSimple","Handle","connectionMode","isConnectable","onConnect","params","log","onMouseOver","pointerEvents","NodeToolbar","isVisible","Position","Top","_node$data22","_node$data21","IcMenuDotsVertical","paddingx","memo","prevProps","nextProps","globalDragging"],"sourceRoot":""}