import { useMemo, useState } from 'react'; import Checkbox from '../../components/Common/Checkbox'; import Modal from '../../components/Common/Modal'; import { useRSForm } from '../../context/RSFormContext'; import { getCstLabel } from '../../utils/staticUI'; interface DlgDeleteCstProps { hideWindow: () => void selected: number[] onDelete: (items: number[]) => void } function DlgDeleteCst({ hideWindow, selected, onDelete }: DlgDeleteCstProps) { const { schema } = useRSForm(); const [ expandOut, setExpandOut ] = useState(false); const expansion: number[] = useMemo(() => schema?.graph.expandOutputs(selected) ?? [], [selected, schema?.graph]); function handleSubmit() { hideWindow(); if (expandOut) { onDelete(selected.concat(expansion)); } else { onDelete(selected); } } return (

Выбраны к удалению: {selected.length}

{selected.map(id => { const cst = schema!.items.find(cst => cst.id === id); return (cst &&

{getCstLabel(cst)}

); })}

Зависимые конституенты: {expansion.length}

{expansion.map(id => { const cst = schema!.items.find(cst => cst.id === id); return (cst &&

{getCstLabel(cst)}

); })}
setExpandOut(value)} />
); } export default DlgDeleteCst;