diff --git a/src/components/icon-font/index.tsx b/src/components/icon-font/index.tsx index 8111748d..b07d3a55 100644 --- a/src/components/icon-font/index.tsx +++ b/src/components/icon-font/index.tsx @@ -2,7 +2,7 @@ import { createFromIconfontCN } from '@ant-design/icons'; // import './iconfont/iconfont.js'; const IconFont = createFromIconfontCN({ - scriptUrl: '//at.alicdn.com/t/c/font_4613488_9wb9516md1k.js' + scriptUrl: '//at.alicdn.com/t/c/font_4613488_q6s2f01tf6l.js' }); export default IconFont; diff --git a/src/components/label-selector/wrapper.tsx b/src/components/label-selector/wrapper.tsx index a3c41743..3da5c3ef 100644 --- a/src/components/label-selector/wrapper.tsx +++ b/src/components/label-selector/wrapper.tsx @@ -13,6 +13,9 @@ interface WrapperProps { btnText?: string; disabled?: boolean; onAdd?: () => void; + styles?: { + wrapper?: React.CSSProperties; + }; button?: React.ReactNode; } @@ -46,11 +49,12 @@ const Wrapper: React.FC = ({ onAdd, btnText, disabled, - button + button, + styles }) => { const intl = useIntl(); return ( - + {label && ( void; + onDelete?: (index: number, item: any) => void; + children?: (item: any, index: number) => React.ReactNode; +} + +const MetadataList: React.FC = ({ + dataList, + label, + description, + disabled, + btnText, + children, + onDelete, + onAdd +}) => { + return ( + + {dataList.map((item, index) => ( + {children?.(item, index)} + ))} + + ); +}; + +const DeleteWrapper = styled.span` + cursor: pointer; + color: var(--ant-color-text-tertiary); + &:hover { + color: var(--ant-color-error-text-hover); + } +`; + +const Box = styled.div` + width: 100%; + .ant-input-suffix { + opacity: 0; + transition: opacity 0.2s ease-in-out; + } + &:hover { + .ant-input-suffix { + opacity: 1; + transition: opacity 0.2s ease-in-out; + } + } +`; + const Container = styled.div` display: flex; align-items: center; @@ -24,15 +112,71 @@ const Container = styled.div` `; const CompareConditions: React.FC = () => { const [open, setOpen] = useState(false); + const [filters, setFilters] = useState([]); const containerRef = useRef(null); const isHovering = useHover(containerRef); + const onAdd = () => { + setFilters((prev) => [...prev, '']); + }; + + const onDelete = (index: number, item: any) => { + setFilters((prev) => prev.filter((_, i) => i !== index)); + }; + + const handleOnChange = (value: string, index: number) => { + const newFilters = [...filters]; + newFilters[index] = value; + setFilters(newFilters); + }; + + const FiltersDrop = () => { + return ( + <> + + {(item, index) => ( + + 1 ? ( + + onDelete?.(index, item)} /> + + ) : null + } + onChange={(e) => handleOnChange(e.target.value, index)} + /> + + )} + + + + + + + + ); + }; + return (