'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 { ConstituentaID, IRSForm } from '@/models/rsform'; import { prefixes } from '@/utils/constants'; import ListConstituents from './ListConstituents'; interface DlgDeleteCstProps extends Pick { selected: ConstituentaID[]; onDelete: (items: ConstituentaID[]) => void; schema: IRSForm; } function DlgDeleteCst({ hideWindow, selected, schema, onDelete }: DlgDeleteCstProps) { const [expandOut, setExpandOut] = useState(false); const expansion: ConstituentaID[] = useMemo( () => schema.graph.expandAllOutputs(selected), // prettier: split-lines [selected, schema.graph] ); function handleSubmit() { hideWindow(); if (expandOut) { onDelete(selected.concat(expansion)); } else { onDelete(selected); } } return ( setExpandOut(value)} /> ); } export default DlgDeleteCst;