@if (IsSelected) { } @switch (QuestionElement.QuestionType) { case BaseQuestionType.Text: break; case BaseQuestionType.Radio: break; } @code { [Parameter] public QuestionElement QuestionElement { get; set; } [Parameter] public bool IsSelected { get; set; } [Parameter] public EventCallback OnSelected { get; set; } [Parameter] public EventCallback OnDeleted { get; set; } [Parameter] public EventCallback MoveUp { get; set; } [Parameter] public EventCallback MoveDown { get; set; } private bool _isHovered = false; private async Task HandleDelete() { await OnDeleted.InvokeAsync(QuestionElement.Index); } private async Task HandleMoveUp() { await MoveUp.InvokeAsync(QuestionElement.Index); } private async Task HandleMoveDown() { await MoveDown.InvokeAsync(QuestionElement.Index); } private async Task HandleClick(MouseEventArgs args) { if (QuestionElement.QuestionItem != null && OnSelected.HasDelegate) { await OnSelected.InvokeAsync(QuestionElement.Index); } } private void HandleMouseOver() { _isHovered = true; StateHasChanged(); } private void HandleMouseOut() { _isHovered = false; StateHasChanged(); } private void OnCompeli() { IsSelected = false; StateHasChanged(); } }