Skip to content

Commit 3add03e

Browse files
Merge pull request #37 from MarvinKlein1508/fix-rendering-for-existing-signatures
Refactor code to support intial rendering
2 parents b05fb8b + 695f099 commit 3add03e

File tree

1 file changed

+10
-16
lines changed

1 file changed

+10
-16
lines changed

SignaturePad/SignaturePad.razor.cs

Lines changed: 10 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,8 @@ namespace SignaturePad
88
public partial class SignaturePad
99
{
1010
[Parameter]
11-
public byte[] Value
12-
{
13-
get => _value;
14-
set
15-
{
16-
if (value == _value) return;
17-
18-
_value = value;
19-
UpdateImage();
20-
}
21-
}
11+
public byte[] Value { get; set; } = [];
12+
2213
[Parameter]
2314
public EventCallback<byte[]> ValueChanged { get; set; }
2415
[Parameter]
@@ -36,6 +27,7 @@ public byte[] Value
3627
public bool Disabled { get; set; }
3728

3829

30+
3931
/// <summary>
4032
/// Captures all the custom attributes that are not part of BlazorBootstrap component.
4133
/// </summary>
@@ -45,8 +37,8 @@ public byte[] Value
4537
private readonly string _id = Guid.NewGuid().ToString();
4638
private readonly DotNetObjectReference<SignaturePad> _reference;
4739
private IJSObjectReference? _jsModule;
48-
private byte[] _value = [];
49-
40+
41+
5042
public SignaturePad()
5143
{
5244
_reference = DotNetObjectReference.Create(this);
@@ -56,19 +48,19 @@ public SignaturePad()
5648
public async Task SignatureDataChangedAsync()
5749
{
5850
using MemoryStream memoryStream = new();
59-
var dataReference = await _jsModule.InvokeAsync<IJSStreamReference>("getBase64", _id);
51+
var dataReference = await _jsModule!.InvokeAsync<IJSStreamReference>("getBase64", _id);
6052
using var dataReferenceStream = await dataReference.OpenReadStreamAsync(maxAllowedSize: 10_000_000);
6153
await dataReferenceStream.CopyToAsync(memoryStream);
6254

6355
string base64 = Encoding.UTF8.GetString(memoryStream.ToArray());
6456

6557
try
6658
{
67-
_value = Convert.FromBase64String(base64);
59+
Value = Convert.FromBase64String(base64);
6860
}
6961
catch (Exception)
7062
{
71-
_value = [];
63+
Value = [];
7264
}
7365

7466

@@ -82,6 +74,8 @@ protected async override Task OnAfterRenderAsync(bool firstRender)
8274
{
8375
_jsModule = await jsRuntime.InvokeAsync<IJSObjectReference>("import", "./_content/Blazor.SignaturePad/sigpad.interop.js?ver=8.1.0");
8476
await Setup();
77+
await Update();
78+
await UpdateImage();
8579
}
8680

8781
await base.OnAfterRenderAsync(firstRender);

0 commit comments

Comments
 (0)