Prima implementazione pagina "Attività"
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
@inject IJSRuntime JS
|
||||
@implements IAsyncDisposable
|
||||
|
||||
<div class="signature-container">
|
||||
<canvas id="@_canvasId" width="600" height="200" class="signature-canvas"></canvas>
|
||||
<div class="signature-actions">
|
||||
<button type="button" class="btn-clear-sig" @onclick="CancellaFirma">
|
||||
<i class="ri-delete-bin-line"></i>
|
||||
Cancella firma
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@code {
|
||||
[Parameter] public EventCallback<string> OnFirmaCambiata { get; set; }
|
||||
|
||||
readonly string _canvasId = $"sig-{Guid.NewGuid():N}";
|
||||
DotNetObjectReference<SignaturePad>? _dotNetRef;
|
||||
|
||||
protected override async Task OnAfterRenderAsync(bool firstRender)
|
||||
{
|
||||
if (firstRender)
|
||||
{
|
||||
_dotNetRef = DotNetObjectReference.Create(this);
|
||||
await JS.InvokeVoidAsync("signaturePad.init", _canvasId, _dotNetRef);
|
||||
}
|
||||
}
|
||||
|
||||
[JSInvokable]
|
||||
public Task OnSignatureChanged(string dataUrl) => OnFirmaCambiata.InvokeAsync(dataUrl);
|
||||
|
||||
async Task CancellaFirma()
|
||||
{
|
||||
await JS.InvokeVoidAsync("signaturePad.clear", _canvasId);
|
||||
await OnFirmaCambiata.InvokeAsync(string.Empty);
|
||||
}
|
||||
|
||||
public async ValueTask DisposeAsync()
|
||||
{
|
||||
_dotNetRef?.Dispose();
|
||||
await ValueTask.CompletedTask;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user