Do not reload data when campaign ends UI
This commit is contained in:
@ -137,6 +137,21 @@
|
|||||||
Task.Run(RefreshCampaigns);
|
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)
|
void OnCampaignStarted(int campaignId, DateTime startedAt)
|
||||||
{
|
{
|
||||||
InvokeAsync(() =>
|
InvokeAsync(() =>
|
||||||
@ -178,7 +193,22 @@
|
|||||||
|
|
||||||
void OnCampaignEnded(int campaignId, Campaign.CampaignType type, DateTime endedAt, string failureReason)
|
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)
|
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()
|
public void Dispose()
|
||||||
{
|
{
|
||||||
CampaignManagementState.OnCampaignCreated -= OnCampaignCreated;
|
CampaignManagementState.OnCampaignCreated -= OnCampaignCreated;
|
||||||
|
|||||||
Reference in New Issue
Block a user