'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 { schema: IRSForm; selected: ConstituentaID[]; onDelete: (items: ConstituentaID[]) => void; } 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] ); const hasInherited = useMemo( () => selected.some(id => schema.inheritance.find(item => item.parent === id), [selected, schema.inheritance]), [selected, schema.inheritance] ); function handleSubmit() { hideWindow(); if (expandOut) { onDelete(selected.concat(expansion)); } else { onDelete(selected); } } return ( setExpandOut(value)} /> {hasInherited ? (

Внимание! Выбранные конституенты имеют наследников в ОСС

) : null}
); } export default DlgDeleteCst;