import { Button, Space, Dropdown, Menu } from "antd" import React, { useEffect, useState } from "react" import { CaretUpOutlined } from '@ant-design/icons'; import { getButtonRole } from "../../utils" const ButtonBox = ({ ButtonBoxSchema, activityArr = [], rightActivityArr = [], size = 10, ...data }: any) => { const [leftData, setLeftData] = useState([]) const [rightData, setRightData] = useState([]) const [rightActivity, setrightActivityArr] = useState([]) useEffect(() => { if (ButtonBoxSchema instanceof Array) { setLeftData(ButtonBoxSchema) } else { setLeftData(ButtonBoxSchema?.left || []) const roleIndex: any = [] const arr = ButtonBoxSchema?.right?.filter((item: any, index: number) => { if (getButtonRole(item?.role)) { roleIndex.push(index) } return getButtonRole(item?.role) }) const arr2 = rightActivityArr?.filter((_item: any, index: number) => { return roleIndex.includes(index) }) setrightActivityArr(arr2) if (arr?.length) { setRightData(arr) } } }, [ButtonBoxSchema]) return
{leftData.map((item: any, index: any) => { if (!getButtonRole(item?.role)) { return null } return })} {rightData && rightData?.length ? { return { label: item.text, key: item.text, icon: item?.icon || null, onClick: () => { rightActivity?.[index] && rightActivity[index]() } } })} />}> : null}
} export default ButtonBox