{"version":3,"file":"static/js/main-ac21745c.df3da9ff.js","mappings":"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","sources":["Components/Node/import-file/Upload.js","Components/Node/polling/Polling.js","Components/NotFound.js"],"sourcesContent":["import React, {\r\n useState,\r\n useEffect,\r\n useRef,\r\n useCallback,\r\n memo,\r\n useMemo,\r\n} from \"react\";\r\nimport {\r\n Box,\r\n Button,\r\n TextField,\r\n IconButton,\r\n Stack,\r\n CircularProgress,\r\n Typography,\r\n} from \"@mui/material\";\r\nimport Radio from \"@mui/material/Radio\";\r\nimport RadioGroup from \"@mui/material/RadioGroup\";\r\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport KeyboardArrowRightIcon from \"@mui/icons-material/KeyboardArrowRight\";\r\nimport KeyboardArrowLeftIcon from \"@mui/icons-material/KeyboardArrowLeft\";\r\nimport Popover from \"@mui/material/Popover\";\r\nimport SimpleCircularProgress from \"../../../common-components/SimpleCircularProgress\";\r\nimport * as docx from \"docx-preview\";\r\nimport html2pdf from \"html2pdf.js\";\r\nimport {\r\n Position,\r\n NodeResizer,\r\n NodeToolbar,\r\n useReactFlow,\r\n Handle,\r\n useViewport,\r\n} from \"reactflow\";\r\nimport { Document, Page } from \"react-pdf/dist/esm/entry.webpack\";\r\nimport FileSaver from \"file-saver\";\r\nimport IcPdf from \"../../../assets/icon-components/IcPdf\";\r\nimport \"react-pdf/dist/esm/Page/AnnotationLayer.css\";\r\nimport {\r\n CustomNameTooltip,\r\n CustomTooltip,\r\n} from \"../../DrawBoard/top-toolbar/components/CustomTooltip\";\r\nimport { debounce } from \"lodash\";\r\nimport {\r\n CardViewFile,\r\n IcDoc,\r\n IcDownloadOutlined,\r\n IcLockLocked,\r\n IcLockUnLocked,\r\n IcMenuDotsVertical,\r\n IcXlse,\r\n PreviewImage,\r\n TextViewFile,\r\n} from \"../../../assets/icon-components\";\r\nimport FrameMoreMenus from \"../frameNode/FrameMoreMenus\";\r\nimport { updateJson } from \"../../../CommanFunctions/commanFunctions\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { useLocation, useParams } from \"react-router-dom\";\r\nimport IcExtractPages from \"../../../assets/icon-components/IcExtractPages\";\r\nimport { useUndoRedo } from \"../../DrawBoard/dndUndoRedo/UndoRedoProvider\";\r\nimport VotingCommon from \"../../mind-map/VotingCommon\";\r\nimport useNodeSelectionStarted from \"../../../Utils/hooks/useNodeSelectionStarted\";\r\nimport { color } from \"../../../Utils/style/color/color\";\r\nimport ToolTipWithDisabled from \"../../DrawBoard/top-toolbar/components/ToolTipWithDisabled\";\r\nimport CommonDivider from \"../../../common-components/CommonDivider\";\r\n\r\nconst Upload = (node) => {\r\n const { isNodeSelectionStarted } = useNodeSelectionStarted({\r\n selected: node?.selected,\r\n });\r\n const { setNodes, getNode, getNodes, getEdges } = useReactFlow();\r\n const [open, setOpen] = React.useState(false);\r\n const [showLinkMoreOptions, setShowLinkMoreOptions] = useState(false);\r\n const frameMoreOptionsRef = useRef(null);\r\n const [anchorEl, setAnchorEl] = React.useState(null);\r\n const [numPages, setNumPages] = useState(null);\r\n const [hoveredItem, setHoveredItem] = useState(\"\");\r\n const [showDots, setShowDots] = useState(false);\r\n const [selectedOption, setSelectedOption] = useState(\"extractAll\");\r\n const [inputValue, setInputValue] = useState({ from: 0, to: 0 });\r\n const [pageNumber, setPageNumber] = useState(node?.data?.pageRender);\r\n const { id: architectureId } = useParams();\r\n const [pdfUrl, setPdfUrl] = useState(null);\r\n const canBeOpen = open && Boolean(anchorEl);\r\n const [loading, setLoading] = useState(true);\r\n const [loadingDownload, setLoadingDownload] = useState(false);\r\n const user_data = localStorage.getItem(\"user_data\");\r\n const { undo, takeSnapshot } = useUndoRedo();\r\n\r\n const toggleLockUnlock = () => {\r\n let updatedNodes = getNodes();\r\n let parsedData = {};\r\n if (user_data) {\r\n parsedData = JSON.parse(user_data);\r\n }\r\n let updatedNode;\r\n setNodes((nodes) => {\r\n localStorage.setItem(\r\n \"architectureJson\",\r\n JSON.stringify({\r\n architecture_json: {\r\n nodes,\r\n lastUpdatedBy: parsedData?.user_id,\r\n lastEvent: ``,\r\n },\r\n })\r\n );\r\n updatedNodes = nodes.map((nd) => {\r\n if (nd.id === node.id) {\r\n updatedNode = {\r\n ...nd,\r\n data: {\r\n ...nd.data,\r\n locked: !nd?.data?.locked,\r\n data: {\r\n ...(nd?.data?.data || {}),\r\n locked: !nd?.data?.data?.locked,\r\n },\r\n },\r\n };\r\n return updatedNode;\r\n }\r\n return nd;\r\n });\r\n return updatedNodes;\r\n });\r\n const search = new URLSearchParams(location.search);\r\n const a_id = search.get(\"a_id\");\r\n\r\n updateJson({\r\n json: {\r\n architecture_json: {\r\n nodes: updatedNodes,\r\n lastUpdatedBy: parsedData?.user_id,\r\n },\r\n },\r\n architectureId,\r\n dispatch,\r\n undo,\r\n a_id,\r\n takeSnapshot,\r\n });\r\n };\r\n const [boxWidth, setBoxWidth] = useState(null);\r\n\r\n const boxRef = useRef(null);\r\n const dispatch = useDispatch();\r\n const location = useLocation();\r\n const id = canBeOpen ? \"transition-popper\" : undefined;\r\n function onDocumentLoadSuccess({ numPages }) {\r\n setNumPages(numPages);\r\n setLoading(false);\r\n if (boxRef.current) {\r\n setBoxWidth(boxRef.current.offsetWidth); // Store Box width\r\n }\r\n }\r\n const [zoomPercentages, setZoomPercentages] = useState(100);\r\n const [cardView, setCardView] = useState(node?.data?.card || false);\r\n const [textView, setTextView] = useState(node?.data?.text || false);\r\n const [preview, setPreview] = useState(node?.data?.previewes);\r\n const nodeWH = getNode(node?.id);\r\n const { zoom } = useViewport();\r\n const sizeAsPerZoom =\r\n (nodeWH?.width > nodeWH?.height ? nodeWH?.height : nodeWH?.width) * zoom ||\r\n 100;\r\n useEffect(() => {\r\n setPageNumber(node?.data?.pageRender);\r\n setPreview(node?.data?.previewes);\r\n setTextView(node?.data?.text);\r\n setCardView(node?.data?.card);\r\n }, [node?.data]);\r\n\r\n const handleOptionChange = (event) => {\r\n setSelectedOption(event);\r\n };\r\n const handleInputChange = (e, value) => {\r\n setInputValue((prevInputValue) => ({\r\n ...prevInputValue,\r\n [value]: e.target.value,\r\n }));\r\n };\r\n\r\n const handleChange = (e) => {\r\n let updatedNodes;\r\n setNodes((nds) => {\r\n localStorage.setItem(\r\n \"architectureJson\",\r\n JSON.stringify({\r\n architecture_json: {\r\n nodes: getNodes(),\r\n // lastUpdatedBy: parsedData?.user_id,\r\n lastEvent: ``,\r\n },\r\n })\r\n );\r\n updatedNodes = nds?.map((nd) => {\r\n if (nd.id === node.id) {\r\n return {\r\n ...nd,\r\n data: {\r\n ...nd.data,\r\n filename: e.target.value,\r\n },\r\n };\r\n }\r\n return nd;\r\n });\r\n return updatedNodes;\r\n });\r\n debouncedUpdateJson(updatedNodes, getEdges());\r\n };\r\n\r\n function changePage(offset) {\r\n setLoading(true);\r\n setPageNumber((prevPageNumber) =>\r\n Math.max(1, Math.min(numPages, prevPageNumber + offset))\r\n );\r\n\r\n let updatedNodes;\r\n setNodes((nds) => {\r\n localStorage.setItem(\r\n \"architectureJson\",\r\n JSON.stringify({\r\n architecture_json: {\r\n nodes: getNodes(),\r\n // lastUpdatedBy: parsedData?.user_id,\r\n lastEvent: ``,\r\n },\r\n })\r\n );\r\n updatedNodes = nds?.map((nd) => {\r\n if (nd.id === node.id) {\r\n return {\r\n ...nd,\r\n data: {\r\n ...nd.data,\r\n pageRender: Math.max(1, Math.min(numPages, pageNumber + offset)),\r\n },\r\n };\r\n }\r\n return nd;\r\n });\r\n return updatedNodes;\r\n });\r\n debouncedUpdateJson(updatedNodes, getEdges());\r\n\r\n setLoading(true);\r\n }\r\n\r\n function changePageBack() {\r\n if (pageNumber > 1) {\r\n changePage(-1);\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 handleDeleteResizeLink = (cId) => {\r\n localStorage.setItem(\r\n \"architectureJson\",\r\n JSON.stringify({\r\n architecture_json: {\r\n nodes: getNodes(),\r\n // lastUpdatedBy: parsedData?.user_id,\r\n lastEvent: ``,\r\n },\r\n })\r\n );\r\n const updatedNodes = getNodes().filter((n) => n.id !== cId);\r\n setNodes(updatedNodes);\r\n localStorage.setItem(\r\n \"architectureJson\",\r\n JSON.stringify({\r\n architecture_json: {\r\n nodes: updatedNodes,\r\n lastEvent: ``,\r\n },\r\n })\r\n );\r\n let parsedData = {};\r\n const search = new URLSearchParams(location.search);\r\n const a_id = search.get(\"a_id\");\r\n if (user_data) {\r\n parsedData = JSON.parse(user_data);\r\n }\r\n\r\n updateJson({\r\n json: {\r\n architecture_json: {\r\n nodes: updatedNodes,\r\n // edges,\r\n lastUpdatedBy: parsedData?.user_id,\r\n },\r\n },\r\n\r\n dispatch,\r\n undo,\r\n a_id,\r\n should_delete: !updatedNodes || updatedNodes?.length === 0,\r\n isDeleted: true,\r\n takeSnapshot,\r\n });\r\n };\r\n const handleClick = (event) => {\r\n setAnchorEl(event.currentTarget);\r\n setOpen((previousOpen) => !previousOpen);\r\n };\r\n function changePageNext() {\r\n changePage(1);\r\n }\r\n\r\n const previewRef = useRef(null);\r\n\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\r\n const handleFileExport = async () => {\r\n try {\r\n setLoadingDownload(true);\r\n const { Label, filename } = node.data;\r\n await new Promise((resolve) => setTimeout(resolve, 500));\r\n FileSaver.saveAs(Label, filename);\r\n } catch (error) {\r\n console.error(\"Error during file download:\", error);\r\n } finally {\r\n setLoadingDownload(false);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n const fetchAndRenderDocx = async () => {\r\n if (\r\n node.data.Label !== \"loading\" &&\r\n node.data.filename.endsWith(\".docx\") &&\r\n !node.data.docUrl\r\n ) {\r\n if (previewRef.current) {\r\n previewRef.current.style.background = \"white\";\r\n }\r\n\r\n try {\r\n const response = await fetch(node?.data?.Label);\r\n if (!response.ok) {\r\n throw new Error(\"Failed to fetch DOCX file\");\r\n }\r\n\r\n const buffer = await response.arrayBuffer();\r\n const tempContainer = document.createElement(\"span\");\r\n await docx.renderAsync(buffer, tempContainer);\r\n tempContainer.style.whiteSpace = \"pre-wrap\";\r\n tempContainer.style.wordBreak = \"auto-phrase\";\r\n tempContainer.style.overflowWrap = \"normal\";\r\n tempContainer.style.background = \"white\";\r\n\r\n const pdfOptions = {\r\n filename: \"converted.pdf\",\r\n image: { type: \"jpeg\", quality: 0.98 },\r\n html2canvas: { scale: 4 },\r\n jsPDF: {\r\n unit: \"in\",\r\n format: \"A4\",\r\n orientation: \"portrait\",\r\n },\r\n pagebreak: { mode: [\"avoid-all\", \"css\", \"legacy\"] },\r\n };\r\n const pdf = await html2pdf()\r\n .from(tempContainer)\r\n .set(pdfOptions)\r\n .toPdf()\r\n .output(\"blob\");\r\n const pdfBlobUrl = URL.createObjectURL(pdf);\r\n setPdfUrl(pdfBlobUrl);\r\n\r\n let updatedNodes;\r\n setNodes((nds) => {\r\n localStorage.setItem(\r\n \"architectureJson\",\r\n JSON.stringify({\r\n architecture_json: {\r\n nodes: getNodes(),\r\n // lastUpdatedBy: parsedData?.user_id,\r\n lastEvent: ``,\r\n },\r\n })\r\n );\r\n updatedNodes = nds?.map((nd) => {\r\n if (nd.id === node.id) {\r\n return {\r\n ...nd,\r\n data: {\r\n ...nd.data,\r\n docUrl: pdfBlobUrl,\r\n },\r\n };\r\n }\r\n return nd;\r\n });\r\n return updatedNodes;\r\n });\r\n debouncedUpdateJson(updatedNodes, getEdges());\r\n setLoading(true);\r\n } catch (error) {\r\n console.error(\"Error processing DOCX file:\", error);\r\n }\r\n }\r\n };\r\n\r\n fetchAndRenderDocx();\r\n }, [node?.data?.Label]);\r\n\r\n const handleClickOutside = (event) => {\r\n if (\r\n frameMoreOptionsRef.current &&\r\n !frameMoreOptionsRef.current.contains(event.target)\r\n ) {\r\n setShowLinkMoreOptions(false);\r\n }\r\n };\r\n useEffect(() => {\r\n document.addEventListener(\"mousedown\", handleClickOutside);\r\n return () => {\r\n document.removeEventListener(\"mousedown\", handleClickOutside);\r\n };\r\n }, []);\r\n\r\n const parsePageRanges = (inputValue) => {\r\n let pages = new Set();\r\n const { from, to } = inputValue;\r\n\r\n if (from && to) {\r\n const start = Number(from);\r\n const end = Number(to);\r\n\r\n if (start <= end) {\r\n for (let i = start; i <= end; i++) {\r\n pages.add(i);\r\n }\r\n } else {\r\n for (let i = start; i >= end; i--) {\r\n pages.add(i);\r\n }\r\n }\r\n } else if (from) {\r\n pages.add(Number(from));\r\n }\r\n\r\n return Array.from(pages);\r\n };\r\n\r\n const pageNumbers = parsePageRanges(inputValue);\r\n\r\n const handleSave = async () => {\r\n if (preview) {\r\n setOpen(false);\r\n setAnchorEl(null);\r\n const deleteNode = getNodes().filter(\r\n (val) =>\r\n (val.type === \"Upload\" &&\r\n val?.data?.parent &&\r\n val?.data?.parent !== node?.id) ||\r\n val?.data?.pagination === true ||\r\n val.data.drag === false\r\n );\r\n\r\n const otherNode = getNodes().filter((val) => val.type !== \"Upload\");\r\n const nodes = [...deleteNode, ...otherNode];\r\n let currentX = nodeWH.position.x;\r\n let currentY = nodeWH.position.y + nodeWH.height;\r\n let nodeCount = 0;\r\n const pages =\r\n selectedOption === \"extractAll\"\r\n ? Array.from({ length: numPages }, (_, index) => index + 1)\r\n : pageNumbers;\r\n const pushNode = [];\r\n for (const pageNumber of pages) {\r\n const newNode = {\r\n id: `${+new Date()}-${pageNumber}`,\r\n position: { x: currentX, y: currentY },\r\n data: {\r\n Label: node?.data.Label,\r\n filename: node?.data.filename,\r\n file: node?.data.file,\r\n docUrl: node?.data.docUrl,\r\n pageRender: pageNumber,\r\n pagination: false,\r\n parent: node?.id,\r\n previewes: true,\r\n },\r\n type: \"Upload\",\r\n style: {\r\n background: \"#fff\",\r\n // width: `${nodeWH.width + 15}px`,\r\n // height: `${nodeWH.height - 5}px`,\r\n\r\n minWidth: nodeWH.width,\r\n },\r\n selected: false,\r\n };\r\n pushNode.push(newNode);\r\n nodeCount++;\r\n if (nodeCount % 4 === 0) {\r\n currentX = nodeWH.position.x;\r\n currentY += nodeWH.height;\r\n } else {\r\n currentX += nodeWH.width;\r\n }\r\n }\r\n localStorage.setItem(\r\n \"architectureJson\",\r\n JSON.stringify({\r\n architecture_json: {\r\n nodes: getNodes(),\r\n // lastUpdatedBy: parsedData?.user_id,\r\n lastEvent: ``,\r\n },\r\n })\r\n );\r\n setNodes(() => [...nodes, ...pushNode]);\r\n setInputValue(\"\");\r\n }\r\n };\r\n\r\n // const votingData = useSelector(\r\n // ({ archBoard }) => archBoard?.votingData?.votingData\r\n // );\r\n\r\n const isWidthLessthan25 = useMemo(\r\n () => 12.5 < zoomPercentages && zoomPercentages <= 25,\r\n [zoomPercentages]\r\n );\r\n\r\n const isWidthLessthan50 = useMemo(\r\n () => 25 < zoomPercentages && zoomPercentages <= 50,\r\n [zoomPercentages]\r\n );\r\n\r\n const isWidthLessthan100 = useMemo(\r\n () => 50 < zoomPercentages && zoomPercentages <= 100,\r\n [zoomPercentages]\r\n );\r\n\r\n return (\r\n <>\r\n \r\n \r\n {node.selected && (\r\n <>\r\n \r\n \r\n \r\n {/* {node.data.filename.length > 20\r\n ? `${node.data.filename.slice(0, 17)}...`\r\n : node.data.filename.slice(\r\n 0,\r\n node.data.filename.lastIndexOf(\".\")\r\n ) || node.data.filename} */}\r\n handleChange(e)}\r\n autoComplete=\"off\"\r\n sx={{\r\n \"& .MuiOutlinedInput-root\": {\r\n border: \"none\",\r\n padding: \"0px\",\r\n height: \"100%\",\r\n overflow: \"auto\",\r\n\r\n \"& fieldset\": {\r\n border: \"none\",\r\n },\r\n \"&:hover fieldset\": {\r\n border: \"none\",\r\n },\r\n \"&.Mui-focused fieldset\": {\r\n border: \"none\",\r\n },\r\n \"& .MuiInputBase-input\": {\r\n padding: \"0\",\r\n maxWidth: \"100px\",\r\n border: \"none\",\r\n fontSize: \"14px\",\r\n textAlign: \"center\",\r\n lineHeight: \"17.64px\",\r\n },\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {node?.data?.pagination === true &&\r\n !node?.data?.data?.locked &&\r\n node?.data?.drag === false &&\r\n node?.data?.preview !== true && (\r\n \r\n \r\n {\r\n setTextView(true);\r\n setCardView(false);\r\n setPreview(false);\r\n\r\n let updatedNodes;\r\n setNodes((nds) => {\r\n localStorage.setItem(\r\n \"architectureJson\",\r\n JSON.stringify({\r\n architecture_json: {\r\n nodes: getNodes(),\r\n // lastUpdatedBy: parsedData?.user_id,\r\n lastEvent: ``,\r\n },\r\n })\r\n );\r\n updatedNodes = nds?.map((nd) => {\r\n if (nd.id === node.id) {\r\n return {\r\n ...nd,\r\n data: {\r\n ...nd.data,\r\n card: false,\r\n text: true,\r\n previewes: false,\r\n },\r\n };\r\n }\r\n return nd;\r\n });\r\n return updatedNodes;\r\n });\r\n debouncedUpdateJson(updatedNodes, getEdges());\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n )}\r\n {node?.data?.pagination === true &&\r\n !node?.data?.data?.locked &&\r\n node?.data?.drag === false &&\r\n node?.data?.preview !== true && (\r\n \r\n \r\n {\r\n setTextView(false);\r\n setCardView(true);\r\n setPreview(false);\r\n let updatedNodes;\r\n setNodes((nds) => {\r\n localStorage.setItem(\r\n \"architectureJson\",\r\n JSON.stringify({\r\n architecture_json: {\r\n nodes: getNodes(),\r\n // lastUpdatedBy: parsedData?.user_id,\r\n lastEvent: ``,\r\n },\r\n })\r\n );\r\n updatedNodes = nds?.map((nd) => {\r\n if (nd.id === node.id) {\r\n return {\r\n ...nd,\r\n data: {\r\n ...nd.data,\r\n card: true,\r\n text: false,\r\n previewes: false,\r\n },\r\n };\r\n }\r\n return nd;\r\n });\r\n return updatedNodes;\r\n });\r\n debouncedUpdateJson(updatedNodes, getEdges());\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n )}\r\n {node?.data?.pagination === true &&\r\n !node?.data?.data?.locked &&\r\n node?.data?.drag === false &&\r\n node?.data?.preview !== true && (\r\n \r\n \r\n {\r\n setTextView(false);\r\n setCardView(false);\r\n setPreview(true);\r\n setLoading(true);\r\n let updatedNodes;\r\n setNodes((nds) => {\r\n localStorage.setItem(\r\n \"architectureJson\",\r\n JSON.stringify({\r\n architecture_json: {\r\n nodes: getNodes(),\r\n // lastUpdatedBy: parsedData?.user_id,\r\n lastEvent: ``,\r\n },\r\n })\r\n );\r\n updatedNodes = nds?.map((nd) => {\r\n if (nd.id === node.id) {\r\n return {\r\n ...nd,\r\n data: {\r\n ...nd.data,\r\n card: false,\r\n text: false,\r\n previewes: true,\r\n },\r\n };\r\n }\r\n return nd;\r\n });\r\n return updatedNodes;\r\n });\r\n debouncedUpdateJson(updatedNodes, getEdges());\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n )}\r\n {node?.data?.pagination === true &&\r\n preview &&\r\n !node?.data?.data?.locked &&\r\n node?.data?.drag === false &&\r\n node?.data?.preview !== true && (\r\n \r\n )}\r\n {node?.data?.pagination === true &&\r\n !node?.data?.data?.locked &&\r\n node?.data?.drag === false &&\r\n node?.data?.preview !== true &&\r\n preview && (\r\n \r\n \r\n handleClick(E)}\r\n >\r\n \r\n \r\n \r\n \r\n )}\r\n {node?.data?.pagination === true &&\r\n !node?.data?.data?.locked &&\r\n node?.data?.drag === false &&\r\n node?.data?.preview !== true && (\r\n \r\n )}\r\n {!node?.data?.data?.locked && (\r\n \r\n \r\n \r\n {/* \"textView\" */}\r\n {loadingDownload ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n )}\r\n {!node?.data?.data?.locked && (\r\n \r\n )}\r\n \r\n \r\n \r\n {node?.data?.data?.locked ? (\r\n // \r\n \r\n ) : (\r\n // \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n setShowLinkMoreOptions(false)}\r\n open={showLinkMoreOptions}\r\n disableFocusListener\r\n disableHoverListener\r\n disableTouchListener\r\n title={\r\n handleDeleteResizeLink(node?.id)}\r\n handleClickDownload={() => handleFileExport()}\r\n\r\n // handleAddComment={handleAddComment}\r\n />\r\n }\r\n >\r\n \r\n \r\n \r\n setShowLinkMoreOptions(!showLinkMoreOptions)\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n\r\n {\r\n // !node?.dragging &&\r\n // !isMultiNodeSelected &&\r\n // !isNodeSelectionStarted &&\r\n // node?.selected &&\r\n !node?.data?.data?.locked && !node?.dragging && (\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 {!pdfUrl && (\r\n \r\n )}\r\n\r\n {preview && node?.data?.Label !== \"loading\" && (\r\n \r\n {node?.data?.pagination && (\r\n \r\n \r\n \r\n {node?.data?.filename?.endsWith(\".pdf\") ? (\r\n \r\n ) : node?.data?.filename?.endsWith(\".xls\") ||\r\n node?.data?.filename?.endsWith(\".xlsx\") ? (\r\n \r\n ) : node?.data?.filename?.endsWith(\".doc\") ||\r\n node?.data?.filename?.endsWith(\".docx\") ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n {\" \"}\r\n {node.data.filename}\r\n \r\n \r\n {/* \r\n {numPages && (\r\n \r\n \r\n changePageBack()}\r\n >\r\n \r\n \r\n \r\n \r\n {\" \"}\r\n {pageNumber} / {numPages}\r\n \r\n\r\n \r\n = numPages}\r\n sx={{\r\n height: \"36px !important\",\r\n width: \"36px !important\",\r\n borderRadius: \"5px\",\r\n transition: \"all 0.3s ease\",\r\n bgcolor: \"#FFF\",\r\n padding: \"0px\",\r\n }}\r\n onClick={() => changePageNext()}\r\n >\r\n = numPages\r\n ? \"rgba(132, 131, 130, 0.6)\"\r\n : \"#18181B\",\r\n }}\r\n />\r\n \r\n \r\n \r\n )}\r\n */}\r\n \r\n )}\r\n\r\n {node?.data?.Label !== \"loading\" && !node?.data?.parent && (\r\n \r\n {(node?.data?.filename?.endsWith(\".pdf\") ||\r\n (node?.data?.filename?.endsWith(\".docx\") &&\r\n (node?.data?.docUrl ||\r\n (!node?.data?.docUrl && pdfUrl)))) && (\r\n {\r\n if (e.ctrlKey) {\r\n e.preventDefault(); // Stop browser zoom\r\n } else {\r\n e.stopPropagation();\r\n }\r\n }}\r\n >\r\n \r\n console.error(\"Error loading PDF:\", error)\r\n }\r\n loading={\"\"}\r\n >\r\n {/* setTimeout(() => setLoading(false), 500)}\r\n /> */}\r\n {numPages &&\r\n Array.from({ length: numPages }).map((_, index) => (\r\n setLoading(false)}\r\n />\r\n ))}\r\n \r\n {loading && (\r\n \r\n \r\n \r\n )}\r\n \r\n )}\r\n \r\n )}\r\n\r\n {preview &&\r\n node?.data?.Label !== \"loading\" &&\r\n node?.data?.filename?.endsWith(\".docx\") &&\r\n (!node?.data?.docUrl || (node?.data?.docUrl && !pdfUrl)) &&\r\n loading && (\r\n \r\n \r\n \r\n )}\r\n\r\n {node?.data?.Label !== \"loading\" && node?.data?.parent && (\r\n \r\n {(node?.data?.filename?.endsWith(\".pdf\") ||\r\n (node?.data?.filename?.endsWith(\".docx\") &&\r\n (node?.data?.docUrl ||\r\n (!node?.data?.docUrl && pdfUrl)))) && (\r\n \r\n \r\n console.error(\"Error loading PDF:\", error)\r\n }\r\n loading={\"\"}\r\n >\r\n setLoading(false)}\r\n />\r\n \r\n {loading && (\r\n \r\n \r\n \r\n )}\r\n \r\n )}\r\n \r\n )}\r\n \r\n )}\r\n {textView && (\r\n \r\n \r\n {node?.data?.filename?.endsWith(\".pdf\") ? (\r\n \r\n ) : node?.data?.filename?.endsWith(\".xls\") ||\r\n node?.data?.filename?.endsWith(\".xlsx\") ? (\r\n \r\n ) : node?.data?.filename?.endsWith(\".doc\") ||\r\n node?.data?.filename?.endsWith(\".docx\") ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n {node?.data?.filename}\r\n \r\n \r\n )}\r\n {cardView && (\r\n \r\n \r\n {node?.data?.filename?.endsWith(\".pdf\") ? (\r\n \r\n ) : node?.data?.filename?.endsWith(\".xls\") ||\r\n node?.data?.filename?.endsWith(\".xlsx\") ? (\r\n \r\n ) : node?.data?.filename?.endsWith(\".doc\") ||\r\n node?.data?.filename?.endsWith(\".docx\") ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n {node?.data?.filename}\r\n \r\n \r\n )}\r\n \r\n setAnchorEl(null)}\r\n anchorOrigin={{\r\n vertical: \"bottom\",\r\n horizontal: \"center\",\r\n }}\r\n transformOrigin={{\r\n vertical: \"top\",\r\n horizontal: \"center\",\r\n }}\r\n sx={{\r\n \"& .MuiPaper-root\": {\r\n p: \"10px\",\r\n ml: \"-10px\",\r\n boxShadow: \"none\",\r\n bgcolor: \"transparent\",\r\n },\r\n }}\r\n BackdropProps={{\r\n style: { backgroundColor: \"transparent\" },\r\n onClick: () => setOpen(false),\r\n }}\r\n >\r\n \r\n \r\n {/* \r\n handleOptionChange(\"extractAll\")}\r\n sx={{\r\n color:\r\n selectedOption === \"extractAll\"\r\n ? color.primaryColorRGBA\r\n : \"inherit\",\r\n cursor: \"pointer\",\r\n }}\r\n />{\" \"}\r\n All Pages\r\n \r\n\r\n \r\n handleOptionChange(\"extractPage\")}\r\n />{\" \"}\r\n Custom Pages\r\n */}\r\n e.stopPropagation()}\r\n >\r\n handleOptionChange(e.target.value)}\r\n >\r\n \r\n }\r\n label={\r\n \r\n All Pages\r\n \r\n }\r\n />\r\n \r\n }\r\n label={\r\n \r\n Custom Pages\r\n \r\n }\r\n />\r\n \r\n \r\n {selectedOption === \"extractPage\" && (\r\n \r\n \r\n handleInputChange(e, \"from\")}\r\n />\r\n \r\n \r\n {\" \"}\r\n handleInputChange(e, \"to\")}\r\n />\r\n \r\n \r\n )}\r\n \r\n page > numPages || page < 1)\r\n }\r\n sx={{\r\n borderRadius: \"8px\",\r\n color: \"#FFFFFF\",\r\n fontSize: \"14px\",\r\n lineHeight: \"0px\",\r\n fontWeight: \"400\",\r\n height: \"34px\",\r\n background: \"#6762FE\",\r\n textTransform: \"none\",\r\n padding: \"17px\",\r\n \"&:hover\": {\r\n background: \"#6762FE\",\r\n },\r\n \"&:disabled\": {\r\n background: \"rgba(238, 238, 238, 1)\",\r\n color: \"rgba(132, 131, 130, 0.6)\",\r\n },\r\n }}\r\n onClick={handleSave}\r\n >\r\n Extract\r\n \r\n \r\n \r\n \r\n \r\n\r\n {/* \r\n \r\n \r\n */}\r\n\r\n {/* {startVoting && node?.data?.show && (\r\n \r\n \r\n {\r\n if (latestData?.endVote < latestData?.vote) {\r\n const currentVote = votingData?.find(\r\n (v) => v?.id === latestData?.id\r\n );\r\n dispatch(setRemoveVote(true));\r\n const nodeId = node;\r\n\r\n const updated = getNodes().map((node) => {\r\n return {\r\n ...node,\r\n data: {\r\n ...node.data,\r\n votingSessionData: [\r\n ...(node?.data?.votingSessionData?.map((session) => {\r\n if (\r\n session.id === latestData.id &&\r\n node?.id === nodeId?.id\r\n ) {\r\n return {\r\n ...session,\r\n vote: (session.vote || 0) - 1,\r\n nodeId: nodeId?.id,\r\n nodeName: nodeId?.type,\r\n height: nodeId?.data?.style?.minHeight,\r\n width: nodeId?.data?.width,\r\n background: nodeId?.data?.style?.background,\r\n color: nodeId?.data?.style?.color,\r\n text: nodeId?.data?.editorHTML,\r\n file: nodeId?.data?.Label\r\n ? nodeId?.data?.Label\r\n : null,\r\n };\r\n }\r\n return session;\r\n }) || []),\r\n ],\r\n },\r\n };\r\n });\r\n setNodes(updated);\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: updated,\r\n lastUpdatedBy: parsedData?.user_id,\r\n },\r\n },\r\n id,\r\n dispatch,\r\n undo,\r\n a_id,\r\n takeSnapshot\r\n });\r\n\r\n const newEndVote = Math.max(0, currentVote?.endVote + 1);\r\n dispatch(\r\n setUpdateVotingCount({\r\n id: latestData?.id,\r\n endVote: newEndVote,\r\n })\r\n );\r\n // setVoteCounts((prevCounts) => {\r\n // const newCounts = {\r\n // ...prevCounts,\r\n // [node?.id]: (prevCounts[node?.id] || 0) - 1,\r\n // };\r\n // return newCounts;\r\n // });\r\n // setAnchorE(null);\r\n }\r\n }}\r\n >\r\n \r\n \r\n \r\n {nodeVotes?.vote || 0}\r\n \r\n {\r\n dispatch(setRemoveVote(false));\r\n e.stopPropagation();\r\n // if (startVoting) {\r\n // if (latestData?.endVote > 0) {\r\n // const nodeId = node.id;\r\n\r\n // setVoteCounts((prevCounts) => {\r\n // const newCounts = {\r\n // ...prevCounts,\r\n // [nodeId]: (prevCounts[nodeId] || 0) + 1,\r\n // };\r\n // return newCounts;\r\n // });\r\n // }\r\n // }\r\n if (startVoting) {\r\n const currentVote = votingData?.find(\r\n (v) => v?.id === latestData?.id\r\n );\r\n if (latestData?.endVote > 0) {\r\n const nodeId = node;\r\n\r\n const updated = getNodes().map((node) => {\r\n return {\r\n ...node,\r\n data: {\r\n ...node.data,\r\n votingSessionData: [\r\n ...(node?.data?.votingSessionData?.map(\r\n (session) => {\r\n if (\r\n session.id === latestData.id &&\r\n node?.id === nodeId?.id\r\n ) {\r\n return {\r\n ...session,\r\n vote: (session.vote || 0) + 1,\r\n nodeId: nodeId?.id,\r\n nodeName: nodeId?.type,\r\n height: nodeId?.height,\r\n width: nodeId?.width,\r\n background: nodeId?.style?.background,\r\n color: nodeId?.style?.color,\r\n file: nodeId?.data?.Label\r\n ? nodeId?.data?.Label\r\n : null,\r\n };\r\n }\r\n return session;\r\n }\r\n ) || []),\r\n ],\r\n },\r\n };\r\n });\r\n setNodes(updated);\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: updated,\r\n lastUpdatedBy: parsedData?.user_id,\r\n },\r\n },\r\n id,\r\n dispatch,\r\n undo,\r\n a_id,\r\n takeSnapshot\r\n });\r\n\r\n const newEndVote = Math.max(0, currentVote?.endVote - 1);\r\n dispatch(\r\n setUpdateVotingCount({\r\n id: latestData?.id,\r\n endVote: newEndVote,\r\n })\r\n );\r\n // return updated;\r\n // });\r\n // setVoteCounts((prevCounts) => {\r\n // // Check if the session ID has changed for this node\r\n // const isNewSession =\r\n // lastSessionIds[nodeId] !== sessionId;\r\n\r\n // const newCounts = {\r\n // ...prevCounts,\r\n // [nodeId]: isNewSession\r\n // ? 1\r\n // : (prevCounts[nodeId] || 0) + 1,\r\n // };\r\n\r\n // return newCounts;\r\n // });\r\n\r\n // Update lastSessionIds to track the current session ID for each node\r\n // setLastSessionIds((prevSessionIds) => ({\r\n // ...prevSessionIds,\r\n // [nodeId]: sessionId,\r\n // }));\r\n }\r\n }\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n )}\r\n\r\n \r\n {node?.data?.votingSessionData?.length &&\r\n showVoteOnBoard &&\r\n node?.data?.votingSessionData?.map((session, index) => (\r\n \r\n {session?.vote}\r\n \r\n ))}\r\n */}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default memo(Upload, (prevProps, nextProps) => {\r\n return prevProps.data.globalDragging && nextProps.data.globalDragging;\r\n});\r\n","import React, { memo, useEffect, useMemo, useRef, useState } from \"react\";\r\nimport {\r\n Box,\r\n Button,\r\n CircularProgress,\r\n IconButton,\r\n Stack,\r\n Typography,\r\n} from \"@mui/material\";\r\nimport SimpleInput from \"../../../common-components/SimpleInput\";\r\nimport {\r\n setPollingAnswer,\r\n setPollingData,\r\n} from \"../../../Redux/archBoardSlice\";\r\nimport { debounce } from \"lodash\";\r\nimport {\r\n Handle,\r\n NodeResizeControl,\r\n NodeResizer,\r\n NodeToolbar,\r\n Position,\r\n useReactFlow,\r\n useStore,\r\n getConnectedEdges,\r\n} from \"reactflow\";\r\nimport { useLocation, useParams } from \"react-router-dom\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport {\r\n getId,\r\n hasSelectedTextInInput,\r\n roundToTwoDecimalPlaces,\r\n updateJson,\r\n} from \"../../../CommanFunctions/commanFunctions\";\r\nimport {\r\n IcDeleteOutlined,\r\n IcInfoOutlined,\r\n IcLockLocked,\r\n IcLockUnLocked,\r\n IcMenuDotsVertical,\r\n IcPlus2,\r\n} from \"../../../assets/icon-components\";\r\nimport BtnGradient from \"../../../common-components/buttons/BtnGradient\";\r\nimport SimpleCircularProgress from \"../../../common-components/SimpleCircularProgress\";\r\nimport { useSelector } from \"react-redux\";\r\nimport {\r\n CustomNameTooltip,\r\n CustomTooltip,\r\n} from \"../../DrawBoard/top-toolbar/components/CustomTooltip\";\r\nimport FrameMoreMenus from \"../frameNode/FrameMoreMenus\";\r\nimport { useUndoRedo } from \"../../DrawBoard/dndUndoRedo/UndoRedoProvider\";\r\nimport useNodeSelectionStarted from \"../../../Utils/hooks/useNodeSelectionStarted\";\r\nimport { color } from \"../../../Utils/style/color/color\";\r\nimport CommonDivider from \"../../../common-components/CommonDivider\";\r\nimport { getChildrenAndSelf } from \"../../DrawBoard/utils\";\r\n\r\nconst Polling = (node) => {\r\n const location = useLocation();\r\n \r\n const { undo, takeSnapshot } = useUndoRedo();\r\n const { id } = useParams();\r\n const dispatch = useDispatch();\r\n const [showLinkMoreOptions, setShowLinkMoreOptions] = useState(false);\r\n const { permission, showExport, copyAsImage } = useSelector(\r\n (state) => state?.mindMapStore\r\n );\r\n const { isNodeSelectionStarted } = useNodeSelectionStarted({\r\n selected: node?.selected,\r\n });\r\n\r\n const handleClickOutside = (event) => {\r\n if (\r\n frameMoreOptionsRef.current &&\r\n !frameMoreOptionsRef.current.contains(event.target)\r\n ) {\r\n setShowLinkMoreOptions(false);\r\n }\r\n };\r\n const frameMoreOptionsRef = useRef(null);\r\n useEffect(() => {\r\n document.addEventListener(\"mousedown\", handleClickOutside);\r\n return () => {\r\n document.removeEventListener(\"mousedown\", handleClickOutside);\r\n };\r\n }, []);\r\n const user_data = localStorage.getItem(\"user_data\");\r\n const parsedUserData = user_data ? JSON.parse(user_data) : {};\r\n const { getNodes, setNodes, getNode, getEdges, setEdges } = useReactFlow();\r\n const nodeWH = getNode(node?.id);\r\n let mainRef = useRef(null);\r\n let mainRef1 = useRef(null);\r\n const duplicateRef = useRef(null);\r\n const [question, setQuestion] = useState(node.data.pollData.question);\r\n const [answers, setAnswers] = useState(node.data.pollData.answers);\r\n const [selectedAnsIndex, setSelectedAnsIndex] = useState(null);\r\n const [loading, setLoading] = useState(false);\r\n const [isDotsShow, setIsDotsShow] = useState(true);\r\n const [showDots, setShowDots] = useState(false);\r\n const [zoomPercentages, setZoomPercentages] = useState(100);\r\n const [hoveredItem, setHoveredItem] = useState(\"\");\r\n const inputRef = useRef(null);\r\n const [isSidebarOpen, setIsSidebarOpen] = useState(false);\r\n const [isFocused, setIsFocused] = useState(false);\r\n\r\n // useEffect(() => {\r\n // if (question !== node.data.pollData.question) {\r\n // setQuestion(node.data.pollData.question);\r\n // }\r\n // if (\r\n // JSON.stringify(node.data.pollData.answers) !== JSON.stringify(answers)\r\n // ) {\r\n // setAnswers(node.data.pollData.answers);\r\n // }\r\n // }, [node.data.pollData.question, node.data.pollData.answers]);\r\n\r\n const zoom = useStore((state) =>\r\n (node?.selected || showDots) && !isNodeSelectionStarted\r\n ? state?.transform?.[2]\r\n : 1\r\n );\r\n const sizeAsPerZoom =\r\n (nodeWH?.width > nodeWH?.height ? nodeWH?.width : nodeWH?.height) * zoom ||\r\n 100;\r\n const toggleSidebar = () => {\r\n setIsSidebarOpen(!isSidebarOpen);\r\n dispatch(setPollingData(true));\r\n dispatch(setPollingAnswer(answers));\r\n };\r\n\r\n let inputFocusTimeout;\r\n useEffect(() => {\r\n if (inputFocusTimeout) {\r\n clearTimeout(inputFocusTimeout);\r\n }\r\n\r\n inputFocusTimeout = setTimeout(() => {\r\n if (\r\n node.selected &&\r\n inputRef.current &&\r\n (question === null || question === \"\")\r\n ) {\r\n inputRef?.current?.focus();\r\n }\r\n }, 100);\r\n\r\n return () => {\r\n if (inputFocusTimeout) {\r\n clearTimeout(inputFocusTimeout);\r\n }\r\n };\r\n }, [node.selected, inputRef]);\r\n\r\n useEffect(() => {\r\n if (!isNodeSelectionStarted) {\r\n setTimeout(() => {\r\n const currSelectedNodes = document.getElementsByClassName(\r\n \"react-flow__nodesselection\"\r\n );\r\n if (currSelectedNodes?.length > 0) {\r\n setIsDotsShow(false);\r\n } else {\r\n setIsDotsShow(true);\r\n }\r\n }, 300);\r\n } else {\r\n setIsDotsShow(false);\r\n }\r\n }, [isNodeSelectionStarted]);\r\n\r\n useEffect(() => {\r\n if (!isDotsShow && showDots && !isNodeSelectionStarted) {\r\n setIsDotsShow(showDots);\r\n }\r\n }, [showDots, isDotsShow, isNodeSelectionStarted]);\r\n\r\n useEffect(() => {\r\n if (mainRef.current && !isNodeSelectionStarted) {\r\n setZoomPercentages(zoom * 100);\r\n }\r\n }, [zoom]);\r\n\r\n const startVoting = useSelector(\r\n ({ archBoard }) => archBoard?.votingData?.startVotingSession\r\n );\r\n\r\n const debouncedUpdateNodeHTMLData = useMemo(\r\n () =>\r\n debounce((updatedNodes) => {\r\n setNodes(updatedNodes);\r\n localStorage.setItem(\r\n \"architectureJson\",\r\n JSON.stringify({\r\n architecture_json: {\r\n nodes: updatedNodes,\r\n lastEvent: ``,\r\n },\r\n })\r\n );\r\n\r\n const search = new URLSearchParams(location.search);\r\n const a_id = search.get(\"a_id\");\r\n\r\n updateJson({\r\n json: {\r\n architecture_json: {\r\n nodes: updatedNodes,\r\n lastUpdatedBy: parsedUserData?.user_id,\r\n },\r\n },\r\n id,\r\n dispatch,\r\n undo,\r\n a_id,\r\n });\r\n setTimeout(() => {\r\n setLoading(false);\r\n }, 300);\r\n }, 200),\r\n []\r\n );\r\n\r\n const debouncedUpdateNodeData = useMemo(\r\n () =>\r\n debounce((updatedNodes) => {\r\n setNodes(updatedNodes);\r\n localStorage.setItem(\r\n \"architectureJson\",\r\n JSON.stringify({\r\n architecture_json: {\r\n nodes: updatedNodes,\r\n lastEvent: ``,\r\n },\r\n })\r\n );\r\n\r\n const search = new URLSearchParams(location.search);\r\n const a_id = search.get(\"a_id\");\r\n\r\n updateJson({\r\n json: {\r\n architecture_json: {\r\n nodes: updatedNodes,\r\n lastUpdatedBy: parsedUserData?.user_id,\r\n },\r\n },\r\n id,\r\n dispatch,\r\n undo,\r\n takeSnapshot,\r\n a_id,\r\n });\r\n setTimeout(() => {\r\n setLoading(false);\r\n }, 300);\r\n }, 300),\r\n\r\n []\r\n );\r\n\r\n const handleChangeQuestion = (e) => {\r\n setQuestion(e.target.value);\r\n\r\n const updatedNodes = getNodes().map((nd) =>\r\n nd.id === node.id\r\n ? {\r\n ...nd,\r\n data: {\r\n ...nd.data,\r\n pollData: {\r\n ...nd.data.pollData,\r\n question: e.target.value,\r\n },\r\n },\r\n }\r\n : nd\r\n );\r\n\r\n debouncedUpdateNodeHTMLData(updatedNodes);\r\n };\r\n const isNodeInside = (innerNode, outerNode) => {\r\n return (\r\n innerNode.positionAbsolute.x >= outerNode.positionAbsolute.x &&\r\n innerNode.positionAbsolute.y >= outerNode.positionAbsolute.y &&\r\n innerNode?.style?.width !== outerNode?.style?.width &&\r\n innerNode?.style?.height !== outerNode?.style?.height &&\r\n innerNode.positionAbsolute.x + (innerNode.width || 0) <=\r\n outerNode.positionAbsolute.x + (outerNode.width || 0) &&\r\n innerNode.positionAbsolute.y + (innerNode.height || 0) <=\r\n outerNode.positionAbsolute.y + (outerNode.height || 0)\r\n );\r\n };\r\n const getNodesInsideSelected = (allNodes, selectedNodes) => {\r\n const insideNodes = new Set();\r\n\r\n selectedNodes.forEach((selectedNode) => {\r\n allNodes.forEach((node) => {\r\n if (node.id !== selectedNode.id && isNodeInside(node, selectedNode)) {\r\n insideNodes.add(node);\r\n }\r\n });\r\n });\r\n\r\n return Array.from(insideNodes);\r\n };\r\n\r\n const handleCut = async (val) => {\r\n const currentNode = getNode(node.id);\r\n const removeVote = node?.data?.pollData?.answers?.map((val) => ({\r\n ...val, // Copy existing properties\r\n voteCount: 0,\r\n votedUsersIds: [],\r\n votedUsersData: [],\r\n error: \"\",\r\n }));\r\n if (val !== \"copy\") {\r\n const isColorPickerOpen = document.getElementById(\"rbgcp-wrapper\");\r\n const isAnyInputFocused = hasSelectedTextInInput();\r\n\r\n let selectedNodes = [\r\n {\r\n ...node,\r\n position: {\r\n x: node.xPos,\r\n y: node.yPos,\r\n },\r\n positionAbsolute: {\r\n x: node.xPos,\r\n y: node.yPos,\r\n },\r\n style: {\r\n width: currentNode?.width,\r\n height: currentNode?.height,\r\n },\r\n data: {\r\n ...node.data,\r\n pollData: {\r\n ...node.data.pollData,\r\n answers: removeVote,\r\n pollStarted: false,\r\n pollEnded: false,\r\n votedUsersData: [],\r\n votedUsersIds: [],\r\n },\r\n },\r\n },\r\n ];\r\n\r\n if (\r\n !isColorPickerOpen &&\r\n !isAnyInputFocused &&\r\n selectedNodes.length > 0\r\n ) {\r\n const allNodes = getNodes();\r\n\r\n // Use a Set to avoid duplicates\r\n const nodesToCut = new Set();\r\n\r\n // Function to add a node and all its children\r\n const addNodeAndChildren = (node) => {\r\n if (!nodesToCut.has(node)) {\r\n nodesToCut.add(node);\r\n const children = getChildrenAndSelf(allNodes, node.id);\r\n children.forEach((child) => {\r\n if (child.id !== node.id) addNodeAndChildren(child);\r\n });\r\n }\r\n };\r\n\r\n // Add all selected nodes and their children\r\n selectedNodes.forEach(addNodeAndChildren);\r\n\r\n // Add all nodes inside selected nodes\r\n const insideNodes = getNodesInsideSelected(allNodes, selectedNodes);\r\n insideNodes.forEach(addNodeAndChildren);\r\n\r\n const nodesToCutArray = Array.from(nodesToCut);\r\n\r\n const selectedEdges = getConnectedEdges(\r\n nodesToCutArray,\r\n getEdges()\r\n ).filter((edge) => {\r\n return (\r\n nodesToCutArray.some((n) => n.id === edge.source) &&\r\n nodesToCutArray.some((n) => n.id === edge.target)\r\n );\r\n });\r\n const cutData = {\r\n nodes: nodesToCutArray,\r\n edges: selectedEdges,\r\n };\r\n\r\n // Check for clipboard-write permission\r\n // const writePermission = await navigator.permissions.query({\r\n // name: \"clipboard-write\",\r\n // });\r\n // const readPermission = await navigator.permissions.query({\r\n // name: \"clipboard-read\",\r\n // });\r\n\r\n // if (\r\n // writePermission.state === \"granted\" &&\r\n // readPermission.state === \"granted\"\r\n // ) {\r\n // Both permissions are granted, proceed with write and read\r\n await navigator.clipboard.writeText(JSON.stringify(cutData));\r\n\r\n let updatedEdges = [];\r\n let updatedNodes = [];\r\n const deletedNodes = [];\r\n const deletedEdges = [];\r\n\r\n setNodes((nodes) => {\r\n localStorage.setItem(\r\n \"architectureJson\",\r\n JSON.stringify({\r\n architecture_json: {\r\n nodes: updatedNodes,\r\n // lastUpdatedBy: userData?.user_id,\r\n lastEvent: ``,\r\n },\r\n })\r\n );\r\n updatedNodes = nodes.filter((node) => {\r\n const isRemove = !nodesToCutArray.some((n) => n.id === node.id);\r\n if (!isRemove) {\r\n deletedNodes.push(node?.id);\r\n }\r\n return isRemove;\r\n });\r\n return updatedNodes;\r\n });\r\n\r\n setEdges((edges) => {\r\n localStorage.setItem(\r\n \"architectureJsonEdges\",\r\n JSON.stringify({\r\n architecture_json: {\r\n edges: updatedEdges,\r\n // lastUpdatedBy: userData?.user_id,\r\n lastEvent: ``,\r\n },\r\n })\r\n );\r\n updatedEdges = edges.filter((edge) => {\r\n const isRemove = !selectedEdges.some((ed) => ed.id === edge.id);\r\n if (!isRemove) {\r\n deletedEdges.push(edge?.id);\r\n }\r\n return isRemove;\r\n });\r\n return updatedEdges;\r\n });\r\n\r\n const search = new URLSearchParams(location.search);\r\n const a_id = search.get(\"a_id\");\r\n updateJson({\r\n json: {\r\n architecture_json: {\r\n nodes: updatedNodes,\r\n edges: updatedEdges,\r\n },\r\n },\r\n id,\r\n dispatch,\r\n undo,\r\n a_id,\r\n should_delete: !updatedNodes || updatedNodes?.length === 0,\r\n takeSnapshot,\r\n });\r\n }\r\n } else {\r\n const isColorPickerOpen = document.getElementById(\"rbgcp-wrapper\");\r\n const isAnyInputFocused = hasSelectedTextInInput();\r\n let selectedNodes = [\r\n {\r\n ...node,\r\n position: {\r\n x: node.xPos,\r\n y: node.yPos,\r\n },\r\n positionAbsolute: {\r\n x: node.xPos,\r\n y: node.yPos,\r\n },\r\n style: {\r\n width: currentNode?.width,\r\n height: currentNode?.height,\r\n },\r\n data: {\r\n ...node.data,\r\n pollData: {\r\n ...node.data.pollData,\r\n answers: removeVote,\r\n pollStarted: false,\r\n pollEnded: false,\r\n votedUsersData: [],\r\n votedUsersIds: [],\r\n },\r\n },\r\n },\r\n ];\r\n\r\n if (\r\n !isColorPickerOpen &&\r\n !isAnyInputFocused &&\r\n selectedNodes.length > 0\r\n ) {\r\n const allNodes = getNodes();\r\n\r\n // Use a Set to avoid duplicates\r\n const nodesToCopy = new Set();\r\n\r\n // Function to add a node and all its children\r\n const addNodeAndChildren = (node) => {\r\n if (!nodesToCopy.has(node)) {\r\n nodesToCopy.add(node);\r\n const children = getChildrenAndSelf(allNodes, node.id);\r\n children.forEach((child) => {\r\n if (child.id !== node.id) addNodeAndChildren(child);\r\n });\r\n }\r\n };\r\n\r\n // Add all selected nodes and their children\r\n selectedNodes.forEach(addNodeAndChildren);\r\n\r\n // Add all nodes inside selected nodes\r\n const insideNodes = getNodesInsideSelected(allNodes, selectedNodes);\r\n insideNodes.forEach(addNodeAndChildren);\r\n\r\n const nodesToCopyArray = Array.from(nodesToCopy);\r\n\r\n const selectedEdges = getConnectedEdges(\r\n nodesToCopyArray,\r\n getEdges()\r\n ).filter((edge) => {\r\n return (\r\n nodesToCopyArray.some((n) => n.id === edge.source) &&\r\n nodesToCopyArray.some((n) => n.id === edge.target)\r\n );\r\n });\r\n\r\n const copyData = {\r\n nodes: nodesToCopyArray,\r\n edges: selectedEdges,\r\n };\r\n await navigator.clipboard.writeText(JSON.stringify(copyData));\r\n }\r\n }\r\n };\r\n const handleDuplicate = () => {\r\n const currentNode = getNode(node.id);\r\n // Normal duplication logic for other node types\r\n const currentNodeHeight =\r\n typeof currentNode?.style?.height === \"string\"\r\n ? Number(currentNode?.style?.height.replace(\"px\", \"\"))\r\n : currentNode?.style?.height || currentNode?.height || 100;\r\n const currentNodeWidth =\r\n typeof currentNode?.style?.width === \"string\"\r\n ? Number(currentNode?.style?.width.replace(\"px\", \"\"))\r\n : currentNode?.style?.width || currentNode?.width || 100;\r\n const allNodes = getNodes();\r\n const duplicateNodes = allNodes.filter((nd) =>\r\n nd.data.frameName?.includes(currentNode.data.frameName)\r\n );\r\n const lastDuplicate = duplicateNodes.length\r\n ? duplicateNodes[duplicateNodes.length - 1]\r\n : currentNode;\r\n const xOffset =\r\n Number(lastDuplicate.xPos || lastDuplicate.position?.x) +\r\n Number(lastDuplicate.width || currentNodeWidth) +\r\n 20;\r\n const yOffset = lastDuplicate.yPos || lastDuplicate.position?.y;\r\n const removeVote = node?.data?.pollData?.answers?.map((val) => ({\r\n ...val, // Copy existing properties\r\n voteCount: 0,\r\n votedUsersIds: [],\r\n votedUsersData: [],\r\n error: \"\",\r\n }));\r\n let duplicatedFrame = {\r\n ...node,\r\n data: {\r\n ...node.data,\r\n pollData: {\r\n ...node.data.pollData,\r\n answers: removeVote,\r\n pollStarted: false,\r\n votedUsersData: [],\r\n votedUsersIds: [],\r\n pollEnded: false,\r\n },\r\n height: Number(currentNodeHeight) || currentNode.height,\r\n width: Number(currentNodeWidth) || currentNode.width,\r\n ...(currentNode.type === \"frame\"\r\n ? {\r\n frameName: currentNode.data.frameName.includes(\"(Copy)\")\r\n ? currentNode.data.frameName\r\n : `${currentNode.data.frameName} (Copy)`,\r\n }\r\n : {}),\r\n },\r\n xPos: xOffset,\r\n id: getId(),\r\n position: { x: xOffset, y: yOffset },\r\n positionAbsolute: { x: xOffset, y: yOffset },\r\n ...(currentNode.type === \"frame\" ? { zIndex: -1 } : {}),\r\n height: Number(currentNodeHeight) || currentNode.height,\r\n width: Number(currentNodeWidth) || currentNode.width,\r\n style: {\r\n height: Number(currentNodeHeight) || currentNode.height,\r\n width: Number(currentNodeWidth) || currentNode.width,\r\n ...(currentNode.type === \"frame\" ? { zIndex: -1 } : {}),\r\n },\r\n };\r\n const idMapping = {};\r\n const duplicateChildNodesRecursive = (parentId, parentDuplicateId) => {\r\n const childNodes = getNodes().filter((nd) => nd.parentNode === parentId);\r\n return childNodes.flatMap((cNode) => {\r\n const newId = getId();\r\n idMapping[cNode.id] = newId;\r\n let duplicatedChild = {\r\n ...cNode,\r\n id: newId,\r\n parentNode: parentDuplicateId,\r\n data: { ...cNode.data },\r\n };\r\n const mapChildNodes = (childArray) =>\r\n (childArray || []).map((child) => ({\r\n ...child,\r\n id: idMapping[child.id] || getId(),\r\n parentNode: idMapping[child.parentNode] || newId,\r\n }));\r\n if (cNode.type === \"TreeView\" && cNode.data?.type === \"parent\") {\r\n duplicatedChild = {\r\n ...duplicatedChild,\r\n data: {\r\n ...cNode.data,\r\n rootParentId: idMapping[cNode.data?.rootParentId] || newId,\r\n leftChildrenOrder: mapChildNodes(cNode.data?.leftChildrenOrder),\r\n rightChildrenOrder: mapChildNodes(cNode.data?.rightChildrenOrder),\r\n topChildrenOrder: mapChildNodes(cNode.data?.topChildrenOrder),\r\n bottomChildrenOrder: mapChildNodes(\r\n cNode.data?.bottomChildrenOrder\r\n ),\r\n },\r\n };\r\n } else if (cNode.type === \"TreeView\" && cNode.data?.type === \"child\") {\r\n duplicatedChild = {\r\n ...duplicatedChild,\r\n data: {\r\n ...cNode.data,\r\n rootParentId: idMapping[cNode.data?.rootParentId] || newId,\r\n childrenOrder: mapChildNodes(cNode.data?.childrenOrder),\r\n },\r\n hiddenBy: cNode.hiddenBy ? idMapping[cNode.hiddenBy] || null : null,\r\n parentNode: idMapping[cNode.parentNode] || newId,\r\n };\r\n }\r\n return [\r\n duplicatedChild,\r\n ...duplicateChildNodesRecursive(cNode.id, newId),\r\n ];\r\n });\r\n };\r\n const duplicateChildNodes = duplicateChildNodesRecursive(\r\n node.id,\r\n duplicatedFrame.id\r\n );\r\n const selectedEdges = getConnectedEdges(getNodes(), getEdges()).filter(\r\n (edge) => idMapping[edge.source] && idMapping[edge.target]\r\n );\r\n const now = Date.now();\r\n const newEdges = selectedEdges\r\n .filter((edge) => idMapping[edge.source] && idMapping[edge.target])\r\n .map((edge) => {\r\n const id = `${edge.id}-${now}`;\r\n const source = idMapping[edge.source] || edge.source;\r\n const target = idMapping[edge.target] || edge.target;\r\n const edgeDataPoints = edge?.data?.points?.map((val) => ({\r\n ...val,\r\n x: val.x + Number(currentNodeWidth) + 20,\r\n }));\r\n return {\r\n ...edge,\r\n id,\r\n source,\r\n target,\r\n data: { ...edge?.data, points: edgeDataPoints },\r\n selected: false,\r\n };\r\n });\r\n let updatedNodes = [\r\n ...getNodes().map((nd) => ({ ...nd, selected: false })),\r\n duplicatedFrame,\r\n ...duplicateChildNodes,\r\n ];\r\n const updatedEdges = [...getEdges(), ...newEdges];\r\n setEdges((edges) => updatedEdges);\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 edges: updatedEdges,\r\n lastEvent: \"\",\r\n },\r\n })\r\n );\r\n return updatedNodes;\r\n });\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 updateJson({\r\n json: {\r\n architecture_json: {\r\n nodes: updatedNodes,\r\n edges: updatedEdges,\r\n lastUpdatedBy: parsedData?.user_id,\r\n },\r\n },\r\n id,\r\n dispatch,\r\n undo,\r\n a_id,\r\n takeSnapshot,\r\n });\r\n };\r\n const checkSameAnswers = (ans) => {\r\n let sameAns = false;\r\n\r\n answers.forEach((answer) => {\r\n if (answer.answer === ans) {\r\n sameAns = true;\r\n }\r\n });\r\n\r\n return sameAns;\r\n };\r\n\r\n const handleChangeAnswer = (e, i) => {\r\n setLoading(true);\r\n let updatedAnswers = answers;\r\n const sameAns = checkSameAnswers(e.target.value);\r\n setAnswers((prev) => {\r\n updatedAnswers = prev.map((answer, index) => {\r\n if (index === i) {\r\n return {\r\n ...answer,\r\n answer: e.target.value,\r\n error:\r\n e.target.value.trim().length <= 0\r\n ? \"Answer can not be empty\"\r\n : sameAns\r\n ? \"Answer can not be same\"\r\n : \"\",\r\n };\r\n }\r\n\r\n return answer;\r\n });\r\n\r\n return updatedAnswers;\r\n });\r\n\r\n const updatedNodes = getNodes().map((nd) =>\r\n nd.id === node.id\r\n ? {\r\n ...nd,\r\n data: {\r\n ...nd.data,\r\n pollData: {\r\n ...nd.data.pollData,\r\n answers: updatedAnswers,\r\n },\r\n },\r\n }\r\n : nd\r\n );\r\n setIsFocused(false);\r\n debouncedUpdateNodeHTMLData(updatedNodes);\r\n };\r\n\r\n const checkAnswerIsBlank = () => {\r\n let isBlank = false;\r\n\r\n const updatedAnswers = answers.map((answer) => {\r\n if (answer.answer.trim().length <= 0) {\r\n isBlank = true;\r\n return {\r\n ...answer,\r\n error: \"Answer can not be empty\",\r\n };\r\n }\r\n\r\n return answer;\r\n });\r\n\r\n setAnswers(updatedAnswers);\r\n return isBlank;\r\n };\r\n\r\n const addNewAnswer = () => {\r\n const anyAnsIsBlank = checkAnswerIsBlank();\r\n if (!anyAnsIsBlank) {\r\n let updatedAnswers = [\r\n ...answers,\r\n {\r\n answer: \"\",\r\n voteCount: 0,\r\n votedUsersIds: [],\r\n },\r\n ];\r\n setAnswers(updatedAnswers);\r\n\r\n const updatedNodes = getNodes().map((nd) =>\r\n nd.id === node.id\r\n ? {\r\n ...nd,\r\n data: {\r\n ...nd.data,\r\n pollData: {\r\n ...nd.data.pollData,\r\n answers: updatedAnswers,\r\n },\r\n },\r\n style: {\r\n ...nd?.style,\r\n height: nd?.style?.height + 52,\r\n },\r\n }\r\n : nd\r\n );\r\n debouncedUpdateNodeData(updatedNodes);\r\n setIsFocused(false);\r\n let inputFocusTimeout;\r\n if (inputFocusTimeout) {\r\n clearTimeout(inputFocusTimeout);\r\n }\r\n\r\n inputFocusTimeout = setTimeout(() => {\r\n const newOptionInput = document.getElementById(\r\n `polling-option-${updatedAnswers.length}`\r\n );\r\n\r\n if (newOptionInput) {\r\n newOptionInput?.focus();\r\n }\r\n }, 100);\r\n }\r\n };\r\n\r\n const handleDeleteAnswer = (index) => {\r\n let updatedAnswers = answers;\r\n setAnswers((prev) => {\r\n updatedAnswers = prev.filter((answer, i) => i !== index);\r\n\r\n return updatedAnswers;\r\n });\r\n\r\n const updatedNodes = getNodes().map((nd) =>\r\n nd.id === node.id\r\n ? {\r\n ...nd,\r\n data: {\r\n ...nd.data,\r\n pollData: {\r\n ...nd.data.pollData,\r\n answers: updatedAnswers,\r\n },\r\n },\r\n style: {\r\n ...nd?.style,\r\n height: nd?.style?.height - 55,\r\n },\r\n }\r\n : nd\r\n );\r\n debouncedUpdateNodeData(updatedNodes);\r\n setIsFocused(true);\r\n };\r\n\r\n const startPolling = () => {\r\n setLoading(true);\r\n duplicateRef.current = mainRef.current;\r\n const updatedNodes = getNodes().map((nd) =>\r\n nd.id === node.id\r\n ? {\r\n ...nd,\r\n data: {\r\n ...nd.data,\r\n pollData: {\r\n ...nd.data.pollData,\r\n pollStarted: true,\r\n },\r\n },\r\n }\r\n : nd\r\n );\r\n\r\n debouncedUpdateNodeData(updatedNodes);\r\n setLoading(false);\r\n };\r\n\r\n const submitAnswer = (i) => {\r\n setLoading(true);\r\n let updatedAnswers = answers;\r\n updatedAnswers = updatedAnswers.map((answer, index) => {\r\n if (index === i) {\r\n return {\r\n ...answer,\r\n voteCount: answer.voteCount + 1,\r\n votedUsersIds: [\r\n ...answer.votedUsersIds,\r\n parsedUserData.user_id || parsedUserData.email_id,\r\n ],\r\n votedUsersData: [\r\n ...(answer?.votedUsersData || []),\r\n {\r\n first_name: parsedUserData?.first_name,\r\n last_name: parsedUserData?.last_name,\r\n email_id: parsedUserData?.email_id,\r\n user_id: parsedUserData?.user_id,\r\n profile_picture: parsedUserData?.profile_picture,\r\n profile_color: parsedUserData?.profile_color,\r\n voted_time: new Date(),\r\n },\r\n ],\r\n };\r\n }\r\n\r\n return answer;\r\n });\r\n\r\n setAnswers(updatedAnswers);\r\n\r\n const updatedNodes = getNodes().map((nd) =>\r\n nd.id === node.id\r\n ? {\r\n ...nd,\r\n data: {\r\n ...nd.data,\r\n pollData: {\r\n ...nd.data.pollData,\r\n answers: updatedAnswers,\r\n votedUsersIds: [\r\n ...nd.data.pollData.votedUsersIds,\r\n parsedUserData.user_id || parsedUserData.email_id,\r\n ],\r\n votedUsersData: [\r\n ...(nd.data.pollData?.votedUsersData || []),\r\n {\r\n first_name: parsedUserData?.first_name,\r\n last_name: parsedUserData?.last_name,\r\n email_id: parsedUserData?.email_id,\r\n user_id: parsedUserData?.user_id,\r\n profile_picture: parsedUserData?.profile_picture,\r\n profile_color: parsedUserData?.profile_color,\r\n },\r\n ],\r\n },\r\n },\r\n }\r\n : nd\r\n );\r\n\r\n debouncedUpdateNodeData(updatedNodes);\r\n };\r\n\r\n const handleEndPoll = () => {\r\n setLoading(true);\r\n const updatedNodes = getNodes().map((nd) =>\r\n nd.id === node.id\r\n ? {\r\n ...nd,\r\n data: {\r\n ...nd.data,\r\n pollData: {\r\n ...nd.data.pollData,\r\n pollEnded: true,\r\n },\r\n },\r\n }\r\n : nd\r\n );\r\n\r\n debouncedUpdateNodeData(updatedNodes);\r\n };\r\n\r\n const onResizeEnd = (event, node) => {\r\n let updatedNodes = [];\r\n setNodes((prev) => {\r\n localStorage.setItem(\r\n \"architectureJson\",\r\n JSON.stringify({\r\n architecture_json: {\r\n nodes: prev,\r\n // lastUpdatedBy: userData?.user_id,\r\n lastEvent: ``,\r\n },\r\n })\r\n );\r\n // Update the resized node\r\n updatedNodes = prev?.map((_) => {\r\n if (_?.id === node?.id) {\r\n _ = JSON.parse(JSON.stringify(_));\r\n _.style.width = Number(mainRef?.current?.offsetWidth || 0);\r\n _.style.height = Number(mainRef?.current?.offsetHeight);\r\n\r\n _.data.width = Number(mainRef?.current?.offsetWidth || 0);\r\n _.data.height = Number(mainRef?.current?.offsetHeight);\r\n\r\n return _;\r\n } else {\r\n return _;\r\n }\r\n });\r\n\r\n return updatedNodes;\r\n });\r\n\r\n // Call updateJson once\r\n const search = new URLSearchParams(location.search);\r\n const a_id = search.get(\"a_id\");\r\n let parsedData = {};\r\n if (user_data) {\r\n parsedData = JSON.parse(user_data);\r\n }\r\n\r\n updateJson({\r\n json: {\r\n architecture_json: {\r\n nodes: updatedNodes,\r\n lastUpdatedBy: parsedData?.user_id,\r\n },\r\n },\r\n id,\r\n dispatch,\r\n undo,\r\n a_id,\r\n takeSnapshot,\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n const updatedAnswers = JSON.stringify(node?.data?.pollData?.answers || []);\r\n const oldAnswers = JSON.stringify(answers || []);\r\n const updatedQuestion = JSON.stringify(\r\n node?.data?.pollData?.question || \"\"\r\n );\r\n const oldQuestion = JSON.stringify(question || \"\");\r\n if (updatedAnswers !== oldAnswers || updatedQuestion !== oldQuestion) {\r\n setAnswers(node?.data?.pollData?.answers);\r\n setQuestion(node?.data?.pollData?.question);\r\n }\r\n }, [node?.data?.pollData?.pollStarted, node?.data?.pollData?.pollEnded]);\r\n\r\n const startPollDisabled = useMemo(() => {\r\n let disabled = false;\r\n\r\n if (question.trim().length <= 0) {\r\n disabled = true;\r\n return disabled;\r\n }\r\n\r\n answers.forEach((ans) => {\r\n if (ans.error || ans.answer.trim().length <= 0) {\r\n disabled = true;\r\n }\r\n });\r\n\r\n return disabled;\r\n }, [answers, question]);\r\n\r\n const userVotingDone =\r\n node.data.pollData.votedUsersIds.includes(parsedUserData?.user_id) ||\r\n node.data.pollData.votedUsersIds.includes(parsedUserData?.email_id);\r\n\r\n const totalVotes = node.data.pollData.votedUsersIds.length;\r\n\r\n const isItemToSmall = useMemo(\r\n () => zoomPercentages <= 12.5,\r\n [zoomPercentages]\r\n );\r\n\r\n const isWidthLessthan25 = useMemo(\r\n () => 12.5 < zoomPercentages && zoomPercentages <= 25,\r\n [zoomPercentages]\r\n );\r\n\r\n const isWidthLessthan50 = useMemo(\r\n () => 25 < zoomPercentages && zoomPercentages <= 50,\r\n [zoomPercentages]\r\n );\r\n\r\n const isWidthLessthan100 = useMemo(\r\n () => 50 < zoomPercentages && zoomPercentages <= 100,\r\n [zoomPercentages]\r\n );\r\n\r\n const isNodeSelected = getNodes().filter(\r\n (nd) => nd.id === node.id && node.selected === true\r\n );\r\n const toggleLockUnlock = () => {\r\n let updatedNodes = getNodes();\r\n let parsedData = {};\r\n if (user_data) {\r\n parsedData = JSON.parse(user_data);\r\n }\r\n let updatedNode;\r\n setNodes((nodes) => {\r\n localStorage.setItem(\r\n \"architectureJson\",\r\n JSON.stringify({\r\n architecture_json: {\r\n nodes,\r\n lastUpdatedBy: parsedData?.user_id,\r\n lastEvent: ``,\r\n },\r\n })\r\n );\r\n updatedNodes = nodes.map((nd) => {\r\n if (nd.id === node.id) {\r\n updatedNode = {\r\n ...nd,\r\n data: {\r\n ...nd.data,\r\n locked: !nd?.data?.locked,\r\n data: {\r\n ...(nd?.data?.data || {}),\r\n locked: !nd?.data?.data?.locked,\r\n },\r\n },\r\n };\r\n return updatedNode;\r\n }\r\n return nd;\r\n });\r\n return updatedNodes;\r\n });\r\n const search = new URLSearchParams(location.search);\r\n const a_id = search.get(\"a_id\");\r\n\r\n updateJson({\r\n json: {\r\n architecture_json: {\r\n nodes: updatedNodes,\r\n lastUpdatedBy: parsedData?.user_id,\r\n },\r\n },\r\n id,\r\n dispatch,\r\n undo,\r\n a_id,\r\n takeSnapshot,\r\n });\r\n };\r\n\r\n const handleClickDuplicate = () => {\r\n const childNodes = getNodes().filter((nd) => nd.parentNode === node.id);\r\n const currentFrameWidth = nodeWH.width;\r\n let duplicatedFrame = {\r\n ...node,\r\n data: {\r\n ...node.data,\r\n },\r\n xPos: node.xPos + Number(currentFrameWidth) + 20,\r\n id: getId(),\r\n position: {\r\n x: node.xPos + Number(currentFrameWidth) + 20,\r\n y: node.yPos,\r\n },\r\n positionAbsolute: {\r\n x: node.xPos + Number(currentFrameWidth) + 20,\r\n y: node.yPos,\r\n },\r\n selected: false,\r\n };\r\n\r\n const duplicateChildNodes = childNodes.map((cNode) => {\r\n return {\r\n ...cNode,\r\n id: getId(),\r\n parentNode: duplicatedFrame.id,\r\n };\r\n });\r\n\r\n let updatedNodes = [...getNodes(), duplicatedFrame, ...duplicateChildNodes];\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 lastEvent: ``,\r\n },\r\n })\r\n );\r\n return updatedNodes;\r\n });\r\n };\r\n const startQuestionDisabled = useMemo(() => {\r\n let disabled = false;\r\n let allAnswersFilled = true;\r\n answers.forEach((ans) => {\r\n if (ans.error || ans.answer.trim().length <= 0) {\r\n allAnswersFilled = false;\r\n }\r\n });\r\n if (question.trim().length === 0) {\r\n disabled = allAnswersFilled;\r\n }\r\n\r\n return disabled;\r\n }, [answers, question]);\r\n useEffect(() => {\r\n setNodes((nodes) =>\r\n nodes.map((nd) => {\r\n if (nd.id === node.id) {\r\n nd = JSON.parse(JSON.stringify(nd));\r\n nd.style.width = Number(mainRef?.current?.offsetWidth || 300);\r\n nd.style.height = Number(mainRef?.current?.offsetHeight || 280);\r\n nd.width = Number(mainRef?.current?.offsetWidth || 300);\r\n nd.height = Number(mainRef?.current?.offsetHeight || 280);\r\n return {\r\n ...nd,\r\n };\r\n }\r\n return nd;\r\n })\r\n );\r\n }, [\r\n mainRef.current,\r\n mainRef?.current?.offsetHeight,\r\n startQuestionDisabled,\r\n answers,\r\n isFocused,\r\n ]);\r\n useEffect(() => {\r\n if (!node?.selected) {\r\n inputRef.current?.blur();\r\n setShowLinkMoreOptions(false);\r\n setIsFocused(false);\r\n }\r\n }, [node?.selected]);\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n {node?.data?.data?.locked ? : }\r\n \r\n \r\n \r\n \r\n setShowLinkMoreOptions(false)}\r\n open={showLinkMoreOptions}\r\n disableFocusListener\r\n disableHoverListener\r\n disableTouchListener\r\n title={\r\n handleDuplicate()}\r\n hideImage={false}\r\n showDelete={true}\r\n type=\"poll\"\r\n handleCut={handleCut}\r\n showFrame={true}\r\n showBringToFrontAndBack={true}\r\n download={false}\r\n exportShow={false}\r\n setShowFrameMoreOptions={setShowLinkMoreOptions}\r\n // handleClickDelete={() => handleDeleteResizeLink(node?.id)}\r\n handleClickDuplicate={handleClickDuplicate}\r\n // handleClickDownload={() => handleFileExport()}\r\n // handleClickBringToFront={handleClickBringToFront}\r\n // handleClickSendToBack={handleClickSendToBack}\r\n // handleAddComment={handleAddComment}\r\n />\r\n }\r\n >\r\n \r\n setShowLinkMoreOptions(!showLinkMoreOptions)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n setIsDotsShow(true);\r\n }}\r\n >\r\n {sizeAsPerZoom > 25 &&\r\n !node.data?.locked &&\r\n node?.selected &&\r\n !showExport &&\r\n !isNodeSelectionStarted &&\r\n !startVoting &&\r\n !copyAsImage && (\r\n <>\r\n onResizeEnd(e, node)}\r\n />\r\n onResizeEnd(e, node)}\r\n minWidth={350}\r\n minHeight={mainRef1?.current?.offsetHeight}\r\n style={{\r\n zIndex: 999999999999,\r\n backgroundColor: \"transparent\",\r\n border: \"1px solid transparent\",\r\n }}\r\n >\r\n \r\n \r\n onResizeEnd(e, node)}\r\n minWidth={350}\r\n minHeight={mainRef1?.current?.offsetHeight}\r\n style={{\r\n zIndex: 999999999999,\r\n backgroundColor: \"transparent\",\r\n border: \"1px solid transparent\",\r\n }}\r\n >\r\n \r\n \r\n onResizeEnd(e, node)}\r\n minWidth={350}\r\n minHeight={mainRef1?.current?.offsetHeight}\r\n style={{\r\n zIndex: 999999999999,\r\n backgroundColor: \"transparent\",\r\n border: \"1px solid transparent\",\r\n }}\r\n >\r\n \r\n \r\n onResizeEnd(e, node)}\r\n minWidth={350}\r\n minHeight={mainRef1?.current?.offsetHeight}\r\n style={{\r\n zIndex: 999999999999,\r\n backgroundColor: \"transparent\",\r\n border: \"1px solid transparent\",\r\n }}\r\n >\r\n \r\n \r\n \r\n )}\r\n\r\n {!node.data?.locked &&\r\n !node?.dragging &&\r\n !showExport &&\r\n !isItemToSmall &&\r\n !startVoting &&\r\n !copyAsImage && (\r\n <>\r\n console.log(\"handle onConnect\", params)}\r\n onMouseOver={() => {\r\n setShowDots(true);\r\n setHoveredItem(\"left\");\r\n }}\r\n onMouseLeave={() => {\r\n setShowDots(false);\r\n setHoveredItem(\"\");\r\n }}\r\n onClick={(e) => {\r\n e.preventDefault();\r\n }}\r\n >\r\n {(!isNodeSelectionStarted || isNodeSelected <= 0) && (\r\n \r\n )}\r\n \r\n console.log(\"handle onConnect\", params)}\r\n onMouseOver={() => {\r\n setShowDots(true);\r\n setHoveredItem(\"right\");\r\n }}\r\n onMouseLeave={() => {\r\n setShowDots(false);\r\n setHoveredItem(\"\");\r\n }}\r\n onClick={(e) => {\r\n e.preventDefault();\r\n }}\r\n >\r\n {(!isNodeSelectionStarted || isNodeSelected <= 0) && (\r\n \r\n )}\r\n \r\n {\r\n setShowDots(true);\r\n setHoveredItem(\"top\");\r\n }}\r\n onMouseLeave={() => {\r\n setShowDots(false);\r\n setHoveredItem(\"\");\r\n }}\r\n onClick={(e) => {\r\n e.preventDefault();\r\n }}\r\n >\r\n {(!isNodeSelectionStarted || isNodeSelected <= 0) && (\r\n \r\n )}\r\n \r\n console.log(\"handle onConnect\", params)}\r\n onMouseOver={() => {\r\n setShowDots(true);\r\n setHoveredItem(\"bottom\");\r\n }}\r\n onMouseLeave={() => {\r\n setShowDots(false);\r\n setHoveredItem(\"\");\r\n }}\r\n onClick={(e) => {\r\n e.preventDefault();\r\n }}\r\n >\r\n {(!isNodeSelectionStarted || isNodeSelected <= 0) && (\r\n \r\n )}\r\n \r\n \r\n )}\r\n\r\n \r\n \r\n \r\n Polling\r\n \r\n {node.data.pollData.pollStarted && (\r\n \r\n {totalVotes} {totalVotes > 1 ? \"Votes\" : \"Vote\"}\r\n \r\n )}\r\n \r\n\r\n {!node.data.pollData.pollStarted && (\r\n <>\r\n \r\n \r\n Question or topic\r\n \r\n {/* setIsFocused(true)}\r\n mainClassNames=\"nodrag\"\r\n autoComplete=\"off\"\r\n labelSx={{\r\n fontSize: 14,\r\n fontWeight: 600,\r\n mb: \"6px\",\r\n }}\r\n sx={{\r\n \"& input\": {\r\n fontSize: 14,\r\n },\r\n \"&::placeholder\": {\r\n fontSize: \"14px !important\",\r\n },\r\n }}\r\n autoFocus\r\n /> */}\r\n \r\n setIsFocused(true)}\r\n autoComplete=\"off\"\r\n />\r\n \r\n \r\n {startQuestionDisabled && isFocused ? (\r\n \r\n \r\n \r\n {\"Question is empty\"}\r\n \r\n \r\n ) : (\r\n \r\n {\" \"}\r\n \r\n )}\r\n \r\n \r\n Answer Options\r\n \r\n\r\n \r\n {answers.map((answer, i) => {\r\n return (\r\n \r\n 1 ? \"calc(100% - 30px)\" : \"100%\",\r\n fontSize: \"14px\",\r\n color: \"#18181B\",\r\n\r\n \"&::placeholder\": {\r\n color: \"#848382\",\r\n },\r\n },\r\n\r\n \"&:hover\": {\r\n \"& .delete_answer_btn\": {\r\n display: \"block\",\r\n },\r\n },\r\n }}\r\n >\r\n handleChangeAnswer(e, i)}\r\n id={`polling-option-${i + 1}`}\r\n autoComplete=\"off\"\r\n />\r\n\r\n {i > 1 && (\r\n handleDeleteAnswer(i)}\r\n >\r\n \r\n \r\n )}\r\n \r\n {answer.error && (\r\n \r\n \r\n \r\n {answer.error}\r\n \r\n \r\n )}\r\n \r\n );\r\n })}\r\n {answers.length < 10 && (\r\n \r\n \r\n \r\n {answers.length < 10 ? \"Add Option\" : \"\"}\r\n \r\n \r\n )}\r\n \r\n\r\n {\r\n if (!startPollDisabled && !loading) startPolling();\r\n }}\r\n >\r\n Start Poll\r\n \r\n \r\n \r\n )}\r\n\r\n {node.data.pollData.pollStarted && (\r\n <>\r\n \r\n {question}\r\n \r\n\r\n {userVotingDone || permission === \"can_view\" ? (\r\n <>\r\n \r\n {answers.map((answer, i) => {\r\n const answerVotesCount = answer.votedUsersIds.length;\r\n\r\n const answerVotesInPercentages =\r\n (answerVotesCount / totalVotes) * 100;\r\n\r\n return (\r\n \r\n \r\n \r\n {answer.answer}\r\n \r\n \r\n {answerVotesCount}\r\n {answerVotesCount > 1 ? \" Voted\" : \" Vote\"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {roundToTwoDecimalPlaces(\r\n answerVotesInPercentages\r\n )}\r\n %\r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n {node.data.pollData.createdBy === parsedUserData.user_id &&\r\n !node.data.pollData.pollEnded && (\r\n \r\n {loading ? (\r\n \r\n ) : (\r\n \"End poll for all\"\r\n )}\r\n \r\n )}\r\n \r\n ) : (\r\n <>\r\n \r\n {answers.map((answer, i) => {\r\n return (\r\n {\r\n setSelectedAnsIndex(i);\r\n submitAnswer(i);\r\n }}\r\n >\r\n {selectedAnsIndex === i ? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n {answer.answer}\r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n )}\r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default memo(Polling, (prevProps, nextProps) => {\r\n return prevProps.data.globalDragging && nextProps.data.globalDragging;\r\n});\r\n","import { Stack, Typography } from \"@mui/material\";\r\nimport React from \"react\";\r\nimport { IcNotFound } from \"../assets/icon-components\";\r\nimport { fontWeight } from \"../styles/weight/fontWeight\";\r\nimport { fontSizes } from \"../styles/font/fontsizes\";\r\nimport { color } from \"../Utils/style/color/color\";\r\n\r\nfunction NotFound() {\r\n return (\r\n \r\n \r\n\r\n \r\n \r\n Oops! Page Not Found | Cloudairy\r\n \r\n \r\n Lost your way? The page you’re looking for can’t be found. Return to\r\n Cloudairy’s homepage for the latest updates, services, and insights.\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default NotFound;\r\n"],"names":["Upload","node","_node$data","_node$data2","_node$data3","_node$data4","_getNodes","_getNodes$filter","_node$data10","_node$data11","_node$data12","_node$data13","_node$data14","_node$data14$data","_node$data15","_node$data16","_node$data17","_node$data18","_node$data18$data","_node$data19","_node$data20","_node$data21","_node$data22","_node$data22$data","_node$data23","_node$data24","_node$data25","_node$data26","_node$data26$data","_node$data27","_node$data28","_node$data29","_node$data30","_node$data30$data","_node$data31","_node$data32","_node$data33","_node$data34","_node$data34$data","_node$data35","_node$data36","_node$data37","_node$data37$data","_node$data38","_node$data38$data","_node$data39","_node$data39$data","_node$data40","_node$data40$data","_node$data41","_node$data41$data","_node$data42","_node$data42$data","_node$data43","_node$data44","_node$data45","_node$data45$filename","_node$data46","_node$data46$filename","_node$data47","_node$data47$filename","_node$data48","_node$data48$filename","_node$data49","_node$data49$filename","_node$data50","_node$data51","_node$data52","_node$data52$filename","_node$data53","_node$data53$filename","_node$data54","_node$data55","_node$data56","_node$data57","_node$data58","_node$data59","_node$data60","_node$data60$filename","_node$data61","_node$data62","_node$data63","_node$data64","_node$data65","_node$data65$filename","_node$data66","_node$data66$filename","_node$data67","_node$data68","_node$data69","_node$data70","_node$data71","_node$data72","_node$data72$filename","_node$data73","_node$data73$filename","_node$data74","_node$data74$filename","_node$data75","_node$data75$filename","_node$data76","_node$data76$filename","_node$data77","_node$data78","_node$data78$filename","_node$data79","_node$data79$filename","_node$data80","_node$data80$filename","_node$data81","_node$data81$filename","_node$data82","_node$data82$filename","_node$data83","isNodeSelectionStarted","useNodeSelectionStarted","selected","setNodes","getNode","getNodes","getEdges","useReactFlow","open","setOpen","React","showLinkMoreOptions","setShowLinkMoreOptions","useState","frameMoreOptionsRef","useRef","anchorEl","setAnchorEl","numPages","setNumPages","hoveredItem","setHoveredItem","showDots","setShowDots","selectedOption","setSelectedOption","inputValue","setInputValue","from","to","pageNumber","setPageNumber","data","pageRender","id","architectureId","useParams","pdfUrl","setPdfUrl","canBeOpen","Boolean","loading","setLoading","loadingDownload","setLoadingDownload","user_data","localStorage","getItem","undo","takeSnapshot","useUndoRedo","boxWidth","setBoxWidth","boxRef","dispatch","useDispatch","location","useLocation","undefined","onDocumentLoadSuccess","_ref","current","offsetWidth","zoomPercentages","setZoomPercentages","cardView","setCardView","card","textView","setTextView","text","preview","setPreview","previewes","nodeWH","zoom","useViewport","sizeAsPerZoom","width","height","useEffect","_node$data5","_node$data6","_node$data7","_node$data8","handleInputChange","e","value","prevInputValue","_objectSpread","target","debouncedUpdateJson","useCallback","debounce","tempNodes","updatedEdges","_parsedData3","parsedData","JSON","parse","a_id","URLSearchParams","search","get","updateJson","json","architecture_json","nodes","length","edges","lastUpdatedBy","user_id","previewRef","selectedNodes","filter","val","type","handleFileExport","useMemo","async","Label","filename","Promise","resolve","setTimeout","FileSaver","error","console","endsWith","docUrl","style","background","_node$data9","response","fetch","ok","Error","buffer","arrayBuffer","tempContainer","document","createElement","docx","whiteSpace","wordBreak","overflowWrap","pdfOptions","image","quality","html2canvas","scale","jsPDF","unit","format","orientation","pagebreak","mode","pdf","html2pdf","set","toPdf","output","pdfBlobUrl","URL","createObjectURL","updatedNodes","nds","setItem","stringify","lastEvent","map","nd","fetchAndRenderDocx","handleClickOutside","event","contains","addEventListener","removeEventListener","pageNumbers","pages","Set","start","Number","end","i","add","Array","parsePageRanges","_jsxs","_Fragment","children","_jsx","NodeToolbar","isVisible","dragging","position","Position","Top","Box","display","gap","px","py","sx","border","boxShadow","zIndex","borderRadius","alignItems","CustomNameTooltip","placement","arrow","title","padding","bgcolor","TextField","onChange","handleChange","autoComplete","overflow","maxWidth","fontSize","textAlign","lineHeight","CommonDivider","my","variant","flexItem","pagination","locked","drag","IconButton","transition","onClick","TextViewFile","CardViewFile","PreviewImage","E","currentTarget","previousOpen","IcExtractPages","SimpleCircularProgress","size","IcDownloadOutlined","fill","toggleLockUnlock","_parsedData2","updatedNode","_parsedData","_nd$data","_nd$data2","_nd$data3","_nd$data3$data","IcLockLocked","IcLockUnLocked","ref","CustomTooltip","mt","PopperProps","disablePortal","onClose","disableFocusListener","disableHoverListener","disableTouchListener","FrameMoreMenus","showRename","showDuplicate","showCopyAsImage","showAddComment","showLockUnlock","showCopyLink","showLinkTo","saveFile","originalSize","hideImage","showDelete","showFrame","showBringToFrontAndBack","download","exportShow","setShowFrameMoreOptions","handleClickDelete","cId","_parsedData4","n","should_delete","isDeleted","handleDeleteResizeLink","handleClickDownload","ToolTipWithDisabled","tooltipTitle","disabled","cursor","transform","IcMenuDotsVertical","Handle","connectionMode","className","isConnectable","visibility","transitionDuration","maxHeight","justifyContent","onConnect","params","log","onMouseOver","onMouseLeave","preventDefault","color","primaryColor","concat","pointerEvents","transformOrigin","left","top","marginBottom","flexDirection","IcPdf","IcXlse","IcDoc","textOverflow","parent","flexGrow","overflowX","overflowY","minWidth","onWheelCapture","ctrlKey","stopPropagation","Document","file","onLoadSuccess","onLoadError","_","index","Page","renderTextLayer","renderAnnotationLayer","backgroundColor","CircularProgress","wordWrap","WebkitLineClamp","WebkitBoxOrient","Popover","anchorOrigin","vertical","horizontal","p","ml","BackdropProps","Stack","FormControl","component","RadioGroup","row","name","handleOptionChange","FormControlLabel","marginRight","control","Radio","label","Typography","marginTop","fullWidth","placeholder","Button","some","page","fontWeight","textTransform","_val$data","_val$data2","_val$data3","currentX","x","currentY","y","nodeCount","pushNode","newNode","Date","push","VotingCommon","memo","prevProps","nextProps","globalDragging","Polling","_node$data7$pollData","_node$data8$pollData","_mainRef$current9","_node$data9$data","_mainRef1$current","_mainRef1$current2","_mainRef1$current3","_mainRef1$current4","_mainRef1$current5","_node$data12$data","permission","showExport","copyAsImage","useSelector","state","mindMapStore","parsedUserData","setEdges","mainRef","mainRef1","duplicateRef","question","setQuestion","pollData","answers","setAnswers","selectedAnsIndex","setSelectedAnsIndex","isDotsShow","setIsDotsShow","inputRef","isSidebarOpen","setIsSidebarOpen","isFocused","setIsFocused","useStore","_state$transform","inputFocusTimeout","clearTimeout","_inputRef$current","focus","currSelectedNodes","getElementsByClassName","startVoting","_archBoard$votingData","archBoard","votingData","startVotingSession","debouncedUpdateNodeHTMLData","debouncedUpdateNodeData","getNodesInsideSelected","allNodes","insideNodes","forEach","selectedNode","isNodeInside","innerNode","outerNode","_innerNode$style","_outerNode$style","_innerNode$style2","_outerNode$style2","positionAbsolute","handleChangeAnswer","updatedAnswers","sameAns","ans","answer","checkSameAnswers","prev","trim","onResizeEnd","_ref2","_mainRef$current","_mainRef$current2","_mainRef$current3","_mainRef$current4","offsetHeight","_node$data3$pollData","_node$data4$pollData","oldAnswers","updatedQuestion","oldQuestion","_node$data5$pollData","_node$data6$pollData","pollStarted","pollEnded","startPollDisabled","userVotingDone","votedUsersIds","includes","email_id","totalVotes","isItemToSmall","isNodeSelected","startQuestionDisabled","allAnswersFilled","_mainRef$current5","_mainRef$current6","_mainRef$current7","_mainRef$current8","_inputRef$current2","blur","right","direction","cardDuplicate","handleDuplicate","_currentNode$style","_currentNode$style2","_currentNode$style3","_currentNode$style4","_currentNode$style5","_currentNode$style6","_lastDuplicate$positi","_lastDuplicate$positi2","_node$data2$pollData","_node$data2$pollData$","currentNode","currentNodeHeight","replace","currentNodeWidth","duplicateNodes","_nd$data$frameName","frameName","lastDuplicate","xOffset","xPos","yOffset","yPos","removeVote","voteCount","votedUsersData","duplicatedFrame","getId","idMapping","duplicateChildNodesRecursive","parentId","parentDuplicateId","parentNode","flatMap","cNode","_cNode$data","_cNode$data7","newId","duplicatedChild","mapChildNodes","childArray","child","_cNode$data2","_cNode$data3","_cNode$data4","_cNode$data5","_cNode$data6","rootParentId","leftChildrenOrder","rightChildrenOrder","topChildrenOrder","bottomChildrenOrder","_cNode$data8","_cNode$data9","childrenOrder","hiddenBy","duplicateChildNodes","selectedEdges","getConnectedEdges","edge","source","now","newEdges","_edge$data","_edge$data$points","edgeDataPoints","points","handleCut","_node$data$pollData","_node$data$pollData$a","isColorPickerOpen","getElementById","isAnyInputFocused","hasSelectedTextInInput","_updatedNodes","nodesToCut","addNodeAndChildren","has","getChildrenAndSelf","nodesToCutArray","cutData","navigator","clipboard","writeText","deletedNodes","deletedEdges","isRemove","ed","nodesToCopy","nodesToCopyArray","copyData","handleClickDuplicate","childNodes","currentFrameWidth","minHeight","NodeResizer","keepAspectRatio","handleStyle","NodeResizeControl","bottom","borderBottom","toggleSidebar","setPollingData","setPollingAnswer","mb","outline","autoFocus","onFocus","IcInfoOutlined","stroke","_nd$style2","handleDeleteAnswer","IcDeleteOutlined","addNewAnswer","checkAnswerIsBlank","isBlank","_nd$style","newOptionInput","IcPlus2","BtnGradient","btnColor","disableBg","lgHeight","mdHeight","xsHeight","startPolling","answerVotesCount","answerVotesInPercentages","roundToTwoDecimalPlaces","createdBy","handleEndPoll","first_name","last_name","profile_picture","profile_color","voted_time","_nd$data$pollData","submitAnswer","IcNotFound","weight600","fontSizes","fontSize20","titleDark","weight400","fontSize16","subTitle"],"sourceRoot":""}