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

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