'use client'; import clsx from 'clsx'; import { useMemo, useState } from 'react'; import Checkbox from '@/components/ui/Checkbox'; import Modal, { ModalProps } from '@/components/ui/Modal'; import { IRSForm } from '@/models/rsform'; import { classnames, prefixes } from '@/utils/constants'; import ConstituentsList from './ConstituentsList'; interface DlgDeleteCstProps extends Pick { selected: number[]; onDelete: (items: number[]) => void; schema: IRSForm; } function DlgDeleteCst({ hideWindow, selected, schema, onDelete }: DlgDeleteCstProps) { 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 ( setExpandOut(value)} /> ); } export default DlgDeleteCst;