Do not reload data when campaign ends UI
This commit is contained in:
@ -137,6 +137,21 @@
|
||||
Task.Run(RefreshCampaigns);
|
||||
}
|
||||
|
||||
async Task RefreshCampaigns()
|
||||
{
|
||||
await InvokeAsync(() => ChangeState(CampaignsPageState.Loading));
|
||||
|
||||
var refreshedCampaigns = await HeadquartersService.GetCampaignsAsync();
|
||||
|
||||
await InvokeAsync(() =>
|
||||
{
|
||||
campaigns = refreshedCampaigns;
|
||||
expandedCampaign = null;
|
||||
|
||||
ChangeState(CampaignsPageState.Idle);
|
||||
});
|
||||
}
|
||||
|
||||
void OnCampaignStarted(int campaignId, DateTime startedAt)
|
||||
{
|
||||
InvokeAsync(() =>
|
||||
@ -178,7 +193,22 @@
|
||||
|
||||
void OnCampaignEnded(int campaignId, Campaign.CampaignType type, DateTime endedAt, string failureReason)
|
||||
{
|
||||
Task.Run(RefreshCampaigns);
|
||||
InvokeAsync(() =>
|
||||
{
|
||||
var targetCampaign = campaigns?.FirstOrDefault(x => x.Id == campaignId);
|
||||
if (targetCampaign != null)
|
||||
{
|
||||
targetCampaign.EndedAt = endedAt;
|
||||
targetCampaign.FailureReason = failureReason;
|
||||
|
||||
campaignsDataGrid.Reload();
|
||||
}
|
||||
|
||||
if (expandedCampaign != null && expandedCampaign.Id == campaignId)
|
||||
{
|
||||
campaignsDataGrid.CollapseAll();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
void OnOperationStarted(int operationId, int campaignId, DateTime startedAt)
|
||||
@ -233,21 +263,6 @@
|
||||
});
|
||||
}
|
||||
|
||||
async Task RefreshCampaigns()
|
||||
{
|
||||
await InvokeAsync(() => ChangeState(CampaignsPageState.Loading));
|
||||
|
||||
var refreshedCampaigns = await HeadquartersService.GetCampaignsAsync();
|
||||
|
||||
await InvokeAsync(() =>
|
||||
{
|
||||
campaigns = refreshedCampaigns;
|
||||
expandedCampaign = null;
|
||||
|
||||
ChangeState(CampaignsPageState.Idle);
|
||||
});
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
CampaignManagementState.OnCampaignCreated -= OnCampaignCreated;
|
||||
|
||||
Reference in New Issue
Block a user