import { useCallback } from 'react'; import Dropdown from '../../../components/Common/Dropdown'; import DropdownButton from '../../../components/Common/DropdownButton'; import useDropdown from '../../../hooks/useDropdown'; import { DependencyMode } from '../../../utils/models'; import { getDependencyLabel } from '../../../utils/staticUI'; interface DependencyModePickerProps { value: DependencyMode onChange: (value: DependencyMode) => void } function DependencyModePicker({ value, onChange }: DependencyModePickerProps) { const pickerMenu = useDropdown(); const handleChange = useCallback( (newValue: DependencyMode) => { pickerMenu.hide(); onChange(newValue); }, [pickerMenu, onChange]); return (
{getDependencyLabel(value)} { pickerMenu.isActive && handleChange(DependencyMode.ALL)}>

вся схема: список всех конституент схемы

handleChange(DependencyMode.EXPRESSION)}>

выражение: список идентификаторов из выражения

handleChange(DependencyMode.OUTPUTS)}>

потребители: конституенты, ссылающиеся на данную

handleChange(DependencyMode.INPUTS)}>

поставщики: конституенты, на которые ссылается данная

handleChange(DependencyMode.EXPAND_OUTPUTS)}>

зависимые: конституенты, зависящие по цепочке

handleChange(DependencyMode.EXPAND_INPUTS)}>

влияющие: конституенты, влияющие на данную (цепочка)

}
// case DependencyMode.OUTPUTS: return 'потребители'; // case DependencyMode.INPUTS: return 'поставщики'; // case DependencyMode.EXPAND_INPUTS: return 'влияющие'; // case DependencyMode.EXPAND_OUTPUTS: return 'зависимые'; // } // } ); } export default DependencyModePicker;