@code { [Parameter] public EventCallback EditorStateChanged { get; set; } [Parameter] public EventCallback AlignStateClick { get; set; } [CascadingParameter] public bool MapIsActive { get; set; } [Parameter] public EditorState EditorState { get; set; } [Parameter] public bool MultiSelectedNode { get; set; } [Parameter] public bool MultiSelectedEdge { get; set; } private bool alignDisable => MapIsActive || EditorState != EditorState.Scaner || !MultiSelectedNode; private bool moveDisable => MapIsActive || (EditorState != EditorState.Scaner && EditorState != EditorState.Move) || !MultiSelectedNode; private bool copyDisable => MapIsActive || (EditorState != EditorState.Scaner && EditorState != EditorState.Copy) || !MultiSelectedEdge; private async Task EditButtonChanged(EditorState state) => await EditorStateChanged.InvokeAsync(state); private async Task AlignButtonCick(AlignState state) => await AlignStateClick.InvokeAsync(state); }