protected void SelectDefaultNinja()
        {
            NinjaModel            = FilteredList.FirstOrDefault();
            NinjaModel.IsSelected = true;

            JS.InvokeVoidAsync("nSelected", NinjaModel.Name);
        }
        protected void DeselectPrevious()
        {
            var previous = FilteredList.FirstOrDefault(i => i.IsSelected == true);

            if (previous != null)
            {
                previous.IsSelected = false;
            }
        }
        protected override void OnParametersSet()
        {
            if (Id != null)
            {
                var selected = FilteredList.FirstOrDefault(i => i.Id.ToLower() == Id.ToLower());

                if (selected != null)
                {
                    selected.IsSelected = true;
                    NinjaModel          = selected;
                }
            }
        }
        protected void SelectNinja(string name)
        {
            var previous = FilteredList.FirstOrDefault(i => i.IsSelected == true);

            DeselectPrevious();

            var selected = FilteredList.FirstOrDefault(i => i.Name == name);

            selected.IsSelected = true;

            JS.InvokeVoidAsync("nSelected", selected.Name, previous.Name);

            Navigation.NavigateTo($"ninjas/{selected.Id}");
        }
        protected void FilterNinjas()
        {
            var selected = FilteredList.FirstOrDefault(i => i.IsSelected == true);

            if (selected != null)
            {
                selected.IsSelected = false;
            }

            FilteredList = NinjaList
                           .Where(i => i.Name.ToLower()
                                  .Contains(SearchTerm.ToLower()))
                           .ToList();

            selected = FilteredList.FirstOrDefault(n => n == NinjaModel);

            if (selected != null)
            {
                selected.IsSelected = true;
            }

            StateHasChanged();
        }