diff --git a/ui/src/components/VisualSelector/index.jsx b/ui/src/components/VisualSelector/index.jsx deleted file mode 100644 index 29b6a417..00000000 --- a/ui/src/components/VisualSelector/index.jsx +++ /dev/null @@ -1,59 +0,0 @@ -import React, { useState, useRef, useEffect } from 'react'; -import parse from 'html-react-parser'; - - -const VisualSelector = () => { - const [selectedElements, setSelectedElements] = useState([]); - const contentRef = useRef(null); - - useEffect(() => { - const handleClick = (e) => { - const target = e.target as HTMLElement; - if (selectedElements.includes(target)) { - setSelectedElements(selectedElements.filter((el) => el !== target)); - } else { - setSelectedElements([...selectedElements, target]); - } - }; - - if (contentRef.current) { - contentRef.current.addEventListener('click', handleClick); - } - - return () => { - if (contentRef.current) { - contentRef.current.removeEventListener('click', handleClick); - } - }; - }, [selectedElements]); - - useEffect(() => { - onElementSelection(selectedElements); - }, [selectedElements, onElementSelection]); - - const getElementSelector = (element): string => { - const path = Array.from(element.parentNode.childNodes) - .indexOf(element) - .toString(); - const selector = `${element.tagName.toLowerCase()}:nth-child(${path})`; - return element.parentNode.tagName.toLowerCase() !== 'HTML' - ? `${getElementSelector(element.parentNode)} > ${selector}` - : selector; - }; - - const handleClearSelection = () => { - setSelectedElements([]); - onElementSelection([]); - }; - - return ( -
-
{parse(htmlContent)}
- -

Selected Elements:

-
{JSON.stringify(selectedElements.map(getElementSelector), null, 2)}
-
- ); -}; - -export default VisualSelector; \ No newline at end of file