@foreach(var map in Maps) { @map.Name } @foreach (var robot in Robots) { @robot.Name }
@code { [Parameter] public MonitorToolBarModel Model { get; set; } = null!; [Parameter] public EventCallback ButtonEventClick { get; set; } [Parameter] public EventCallback ExpandChanged { get; set; } [Parameter] public EventCallback MapChanged { get; set; } [Parameter] public EventCallback RobotChanged { get; set; } [Parameter] public Func? CheckedEventClick { get; set; } public List Maps = []; private MapInfoDto? MapSelected = default!; private bool isExpand = true; private string ExpandIcon = @Icons.Material.Filled.ArrowForwardIos; public List Robots = []; private RobotInfomationDto? RobotSelected = null; public void LoadMaps(List maps, MapInfoDto mapSelected) { Maps = maps; MapSelected = mapSelected; StateHasChanged(); } public void LoadRobots(List robots) { Robots = robots; if(Robots.Count > 0 && (RobotSelected is null || !Robots.Any(r => r.RobotId == RobotSelected.RobotId))) { RobotSelected = Robots.First(); _ = RobotChanged.InvokeAsync(RobotSelected); } StateHasChanged(); } private async Task ExpandedClick() { if (isExpand) { ExpandIcon = @Icons.Material.Filled.ArrowBackIos; isExpand = false; } else { ExpandIcon = @Icons.Material.Filled.ArrowForwardIos; isExpand = true; } await ExpandChanged.InvokeAsync(isExpand); StateHasChanged(); } private void CheckedClick(MonitorToolbarCheckedType type, bool value) => CheckedEventClick?.Invoke(type, value); }