import { ListItem as WorkerListItem } from '@/pages/resources/config/types'; import _ from 'lodash'; import React, { useEffect, useMemo } from 'react'; import styled from 'styled-components'; import { ModelInstanceListItem } from '../../config/types'; import '../../style/instance-item.less'; import InstanceItem from './instance-item'; const Wrapper = styled.div` display: flex; flex-direction: column; width: 100%; `; interface InstanceItemProps { list: ModelInstanceListItem[]; workerList: WorkerListItem[]; modelData?: any; currentExpanded?: string; gridTemplate?: string; prefixWidth?: number; columns?: any[]; handleChildSelect: (val: string, item: ModelInstanceListItem) => void; } const Instances: React.FC = ({ list, workerList, modelData, currentExpanded, gridTemplate, prefixWidth, columns, handleChildSelect }) => { const [firstLoad, setFirstLoad] = React.useState(true); const defaultOpenId = useMemo(() => { if (!currentExpanded) { return ''; } const current = _.find( list, (item: ModelInstanceListItem) => item.worker_id ); return current ? current.name : ''; }, [currentExpanded, list]); useEffect(() => { setFirstLoad(false); }, []); return ( {_.map(list, (item: ModelInstanceListItem, index: number) => { return ( ); })} ); }; export default Instances;