@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);
}