global event for projects running changed
This commit is contained in:
@@ -1,4 +1,7 @@
|
||||
@using SharpIDE.Application.Features.SolutionDiscovery.VsPersistence
|
||||
@using SharpIDE.Application.Features.Events
|
||||
@using SharpIDE.Application.Features.SolutionDiscovery.VsPersistence
|
||||
|
||||
@implements IDisposable
|
||||
|
||||
<div @onmouseover="@(() => _open = true)">
|
||||
<MudPopover Duration="100" OverflowBehavior="OverflowBehavior.FlipNever" Open="@true" AnchorOrigin="Origin.TopRight" TransformOrigin="Origin.TopRight">
|
||||
@@ -16,7 +19,7 @@
|
||||
<MudText>@project.Name</MudText>
|
||||
<MudSpacer/>
|
||||
<MudButton Style="min-width: 20px;">
|
||||
<MudIcon Icon="@Icons.Material.Filled.PlayArrow" Size="Size.Medium" Color="Color.Success"/>
|
||||
<MudIcon Icon="@(project.Running ? Icons.Material.Filled.Stop : Icons.Material.Filled.PlayArrow)" Size="Size.Medium" Color="@(project.Running ? Color.Error : Color.Success)"/>
|
||||
</MudButton>
|
||||
</MudStack>
|
||||
</MudListItem>
|
||||
@@ -45,6 +48,13 @@
|
||||
var tasks = SolutionModel.AllProjects.Select(p => p.MsBuildEvaluationProjectTask).ToList();
|
||||
await Task.WhenAll(tasks);
|
||||
_ready = true;
|
||||
GlobalEvents.ProjectsRunningChanged += OnProjectsRunningChanged;
|
||||
}
|
||||
|
||||
private async Task OnProjectsRunningChanged()
|
||||
{
|
||||
await InvokeAsync(StateHasChanged);
|
||||
}
|
||||
|
||||
public void Dispose() => GlobalEvents.ProjectsRunningChanged -= OnProjectsRunningChanged;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user