Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 6b22e3c

Browse files
committed
Added working refresh button to Gmod.NET Runtime list
1 parent 986c13d commit 6b22e3c

File tree

4 files changed

+43
-4
lines changed

4 files changed

+43
-4
lines changed

Components/GmodNetRuntimeVersions.razor

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
<div class="container-fluid d-flex justify-content-center">
2-
<RefreshButton />
2+
<RefreshButton OnClick=RefreshHandler/>
33
</div>
44

55
@if (releases is null)
66
{
7-
<div class="container-fluid d-flex justify-content-center text-primary">
7+
<div class="container-fluid d-flex justify-content-center text-primary mt-3">
88
<div class="spinner-border" role="status">
99
<span class="visually-hidden">Loading...</span>
1010
</div>

Components/GmodNetRuntimeVersions.razor.cs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,11 @@ public partial class GmodNetRuntimeVersions
1616
List<Release> releases;
1717

1818
protected override async Task OnInitializedAsync()
19+
{
20+
await LoadReleases();
21+
}
22+
23+
async Task LoadReleases()
1924
{
2025
releases = (await githubClient.Repository.Release.GetAll("GmodNET", "runtime-nightly")).ToList();
2126

@@ -24,5 +29,16 @@ protected override async Task OnInitializedAsync()
2429
return -SemVersion.Compare(SemVersion.Parse(x.TagName), SemVersion.Parse(y.TagName));
2530
});
2631
}
32+
33+
async Task RefreshHandler()
34+
{
35+
releases = null;
36+
37+
this.StateHasChanged();
38+
39+
await LoadReleases();
40+
41+
this.StateHasChanged();
42+
}
2743
}
2844
}

Components/RefreshButton.razor

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
1-
<button type="button" class="btn btn-primary"><i class="bi bi-arrow-clockwise"></i> Refresh</button>
1+
<button type="button" class="btn btn-primary" @onclick="OnClickHandler" disabled="@isDisabled">
2+
<i class="bi bi-arrow-clockwise"></i> Refresh
3+
</button>

Components/RefreshButton.razor.cs

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,26 @@
1-
namespace GmodNetBuildBrowser.Components;
1+
using System;
2+
using System.Threading.Tasks;
3+
using Microsoft.AspNetCore.Components;
4+
5+
namespace GmodNetBuildBrowser.Components;
26

37
public partial class RefreshButton
48
{
9+
[EditorRequired]
10+
[Parameter]
11+
public Func<Task> OnClick { get; set; }
12+
13+
bool isDisabled = false;
14+
15+
async Task OnClickHandler()
16+
{
17+
isDisabled = true;
18+
19+
if (OnClick is not null)
20+
{
21+
await OnClick();
22+
}
23+
24+
isDisabled = false;
25+
}
526
}

0 commit comments

Comments
 (0)