com.gudang2go.ProgressViewer.Common 0.0.12
Progress Viewer Configuration
Table Of Content
Publisher
Setup
Program.cs: ``` // Imports using com.gudang2go.ProgressViewer.Common.Extensions; // Singleton builder.Services.AddPublisher(builder.Configuration); ```Usage
``` private readonly IPublisher _publisher; public YOUR_SERVICE_CONSTRUCTOR(IPublisher publisher) { _publiser = publisher; } public async Task SendToProgressViewer() { await _publisher.PublishMessage(processId.ErrorMessage("Database is not found!")); } ``` There is 4 message: GeneralMessage, ErrorMessage, WarningMessage, and FinishedMessage. If you need close callback from ProgressViewer make sure to return FinishedMessage in every process. You just need to map the processId (string that represent the unique process Id) to each message that you needed.
FrontEnd
Setup
Program.cs: ``` // For easier adding route when deploying var baseAddress = conf["APIRootURL"] ?? throw new InvalidOperationException("API is not configured under APIRootURL."); // For local testing, override the route builder.Services.AddSingleton<IProgressViewerConfig>(new ProgressViewerConfig($"{baseAddress}/ProgressViewer/")); // Add this at the very bottom of Program.cs record ProgressViewerConfig(string BaseAddress) : IProgressViewerConfig { public string SignalRHubUri => $"{BaseAddress}"; } ```Usage
``` @using com.gudang2go.UI.ProgressViewer <ProgressViewer TaskId="@TaskId" OnClose="Close" IsShowCloseButton="true" /> @code { private string? TaskId; private async Task OnClick() { @* Make sure to give progress viewer the TaskId *@ @* It will be better to add some loading mechanism or some delay *@ TaskId = await service.GetPid(); } @* Callback function for Progress Viewer close button *@ private void Close() { @* There is callback for parent using this function, if need the callback use StateHasChanged() *@ } } ```
Showing the top 20 packages that depend on com.gudang2go.ProgressViewer.Common.
| Packages | Downloads |
|---|---|
|
com.gudang2go.UI
Gudang2go Reusable Razor UI Component.
|
111 |
|
com.gudang2go.UI
Gudang2go Reusable Razor UI Component.
|
91 |
|
com.gudang2go.UI
Gudang2go Reusable Razor UI Component.
|
83 |
|
com.gudang2go.UI
Gudang2go Reusable Razor UI Component.
|
61 |
|
com.gudang2go.UI.ProgressViewer
Gudang2go Reusable Razor UI Component.
|
46 |
|
com.gudang2go.UI
Gudang2go Reusable Razor UI Component.
|
41 |
|
com.gudang2go.UI
Gudang2go Reusable Razor UI Component.
|
39 |
|
com.gudang2go.UI
Gudang2go Reusable Razor UI Component.
|
38 |
|
com.gudang2go.UI
Gudang2go Reusable Razor UI Component.
|
34 |
|
com.gudang2go.UI
Gudang2go Reusable Razor UI Component.
|
32 |
|
com.gudang2go.UI
Gudang2go Reusable Razor UI Component.
|
29 |
|
com.gudang2go.UI
Gudang2go Reusable Razor UI Component.
|
27 |
|
com.gudang2go.UI
Gudang2go Reusable Razor UI Component.
|
25 |
.NET 9.0
- Microsoft.Extensions.Configuration (>= 9.0.6)
- Microsoft.Extensions.Logging (>= 9.0.6)
- Microsoft.Extensions.Options (>= 9.0.6)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 9.0.6)
- RabbitMQ.Client (>= 7.1.2)
| Version | Downloads | Last updated |
|---|---|---|
| 2.0.0 | 919 | 09/22/2025 |
| 0.0.14 | 696 | 07/14/2025 |
| 0.0.13 | 1 | 07/14/2025 |
| 0.0.12 | 0 | 07/14/2025 |
| 0.0.11 | 95 | 07/02/2025 |
| 0.0.10 | 16 | 07/01/2025 |
| 0.0.9 | 40 | 06/16/2025 |
| 0.0.8 | 120 | 06/11/2025 |
| 0.0.7 | 0 | 06/11/2025 |
| 0.0.6 | 50 | 06/04/2025 |
| 0.0.5 | 1 | 06/04/2025 |
| 0.0.4 | 34 | 06/03/2025 |
| 0.0.3 | 1 | 06/02/2025 |
| 0.0.2 | 1 | 06/02/2025 |
| 0.0.1 | 100 | 05/19/2025 |