Skip to content

Commit c6fe46b

Browse files
authored
MudSignaturePad ClearPad Public (#596)
* Make ClearPad of MudSignaturePad public * making download and toggle edit public
1 parent 8a7ac71 commit c6fe46b

File tree

2 files changed

+26
-9
lines changed

2 files changed

+26
-9
lines changed

docs/CodeBeam.MudBlazor.Extensions.Docs/Pages/Components/SignaturePad/Examples/SignaturePadExample1.razor

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
@namespace MudExtensions.Docs.Examples
22
@using MudBlazor.Utilities
33
@using MudExtensions.Utilities
4-
4+
@inject IJSRuntime JsRuntime
55
<MudGrid>
66
<MudItem xs="12" sm="8">
7-
<MudSignaturePad @bind-Value="_value" @bind-Value:after="@(() =>BytesChanged(_value))"
7+
<MudSignaturePad @ref="_signaturePad" @bind-Value="_value" @bind-Value:after="@(() =>BytesChanged(_value))"
88
Options="_options"
99
ShowDownload="_showDownload"
1010
ShowClear="_showClear"
@@ -31,6 +31,9 @@
3131
<MudSelectExtended @bind-Value="@_variant" ItemCollection="@(Enum.GetValues<Variant>())" Label="Variant" Variant="Variant.Outlined" Margin="Margin.Dense" Dense="true" />
3232
<MudSelectExtended @bind-Value="@_color" ItemCollection="@(Enum.GetValues<Color>())" Label="Color" Variant="Variant.Outlined" Margin="Margin.Dense" Dense="true" />
3333
<MudNumericField @bind-Value="@_elevation" Min="0" Max="25" Label="Elevation" Variant="Variant.Outlined" Margin="Margin.Dense" />
34+
<MudButton Variant="Variant.Filled" Color="Color.Secondary" OnClick="(async () => await _signaturePad.ClearPad())">Clear</MudButton>
35+
<MudButton Variant="Variant.Filled" Color="Color.Secondary" OnClick="(async () => await _signaturePad.Download())">Download</MudButton>
36+
<MudButton Variant="Variant.Filled" Color="Color.Secondary" OnClick="(async () => await _signaturePad.IsEditToggled())">Toggle edit/erase mode</MudButton>
3437
</MudStack>
3538
</MudItem>
3639
</MudGrid>
@@ -46,6 +49,7 @@
4649
Variant _variant;
4750
Color _color;
4851
int _elevation = 4;
52+
MudSignaturePad _signaturePad = null!;
4953

5054
SignaturePadLocalizedStrings _localizedStrings = new SignaturePadLocalizedStrings();
5155

@@ -63,4 +67,5 @@
6367
{
6468
_value = bytes;
6569
}
70+
6671
}

src/CodeBeam.MudBlazor.Extensions/Components/SignaturePad/MudSignaturePad.razor.cs

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -194,17 +194,33 @@ protected override async Task OnAfterRenderAsync(bool firstRender)
194194
await base.OnAfterRenderAsync(firstRender);
195195
}
196196

197-
private async Task IsEditToggled()
197+
/// <summary>
198+
/// Toggle between draw and erase mode.
199+
/// </summary>
200+
/// <returns></returns>
201+
public async Task IsEditToggled()
198202
{
199203
await JsRuntime.InvokeVoidAsync("mudSignaturePad.togglePadEraser", _reference);
200204
_isErasing = !_isErasing;
201205
}
202206

203-
async Task ClearPad()
207+
/// <summary>
208+
/// Clear the signature pad.
209+
/// </summary>
210+
/// <returns></returns>
211+
public async Task ClearPad()
204212
{
205213
await ValueChanged.InvokeAsync(Array.Empty<byte>());
206214
await JsRuntime.InvokeVoidAsync("mudSignaturePad.clearPad", _reference);
207215
}
216+
/// <summary>
217+
/// Download the signature as an image.
218+
/// </summary>
219+
/// <returns></returns>
220+
public async Task Download()
221+
{
222+
await JsRuntime.InvokeVoidAsync("mudSignaturePad.downloadPadImage", _reference);
223+
}
208224

209225
async Task PushImageUpdateToJsRuntime()
210226
{
@@ -216,11 +232,7 @@ async Task UpdateOptions()
216232
{
217233
await JsRuntime.InvokeVoidAsync("mudSignaturePad.updatePadOptions", _reference, JsOptionsStruct);
218234
}
219-
220-
async Task Download()
221-
{
222-
await JsRuntime.InvokeVoidAsync("mudSignaturePad.downloadPadImage", _reference);
223-
}
235+
224236

225237
private async Task LineWidthUpdated(decimal obj)
226238
{

0 commit comments

Comments
 (0)