import { useEffect, useMemo, useState } from "react" import { CloseCircleFilled, SearchOutlined } from "@ant-design/icons" import {SidebarWidgetCard} from "../components/cards" import ButtonWidget from "../assets/widgets/button.png" import { filterObjectListStartingWith } from "../utils/filter" import Widget from "../canvas/widgets/base" import { SearchComponent } from "../components/inputs" /** * * @param {function} onWidgetsUpdate - this is a callback that will be called once the sidebar is populated with widgets * @returns */ function WidgetsContainer({sidebarContent, onWidgetsUpdate}){ const [searchValue, setSearchValue] = useState("") const [widgetData, setWidgetData] = useState(sidebarContent) useEffect(() => { setWidgetData(sidebarContent) // if (onWidgetsUpdate){ // onWidgetsUpdate(widgets) // } }, [sidebarContent]) useEffect(() => { if (searchValue.length > 0){ const searchData = filterObjectListStartingWith(sidebarContent, "name", searchValue) setWidgetData(searchData) }else{ setWidgetData(sidebarContent) } }, [searchValue]) function onSearch(event){ setSearchValue(event.target.value) } return (
setSearchValue("")} />
{ widgetData.map((widget, index) => { return ( ) }) }
) } export default WidgetsContainer