Skip to content

Commit e3ee361

Browse files
committed
Add overlay qr scanner
1 parent 3ccd3a1 commit e3ee361

File tree

3 files changed

+12
-5
lines changed

3 files changed

+12
-5
lines changed

src/GenOne.Blazor.QrScanner/src/Component/QrScannerComponent.razor

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@
1616
[Parameter]
1717
public EventCallback WhenInitialized { get; set; }
1818

19+
[Parameter]
20+
public ElementReference Overlay { get; set; }
21+
1922
private IJSObjectReference? _qrScanner;
2023

2124
private ElementReference _videoTagReference;
@@ -24,7 +27,7 @@
2427
{
2528
if (firstRender)
2629
{
27-
_qrScanner = await QrScannerInterop.CreateQrScannerInstance(_videoTagReference, OnResult.InvokeAsync);
30+
_qrScanner = await QrScannerInterop.CreateQrScannerInstance(_videoTagReference, Overlay, OnResult.InvokeAsync);
2831
await WhenInitialized.InvokeAsync();
2932
}
3033
}

src/GenOne.Blazor.QrScanner/src/JsInterop/QrScannerJsInterop.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,11 @@ internal class QrScannerJsInterop : BaseJsInterop
1212
public QrScannerJsInterop(IJSRuntime jsRuntime) : base(jsRuntime, QrScannerInteropPath)
1313
{ }
1414

15-
public async ValueTask<IJSObjectReference> CreateQrScannerInstance(ElementReference videoElementReference, Func<string, Task> onSuccessScanning)
15+
public async ValueTask<IJSObjectReference> CreateQrScannerInstance(ElementReference videoElementReference, ElementReference overlayReference, Func<string, Task> onSuccessScanning)
1616
{
1717
var module = await EnsureModuleImported();
1818
var handler = JsHandlerFactory.AsyncCallbackHandler(onSuccessScanning);
19-
return await module.InvokeAsync<IJSObjectReference>("createQrScanner", videoElementReference, handler);
19+
return await module.InvokeAsync<IJSObjectReference>("createQrScanner", videoElementReference, overlayReference, handler);
2020
}
2121

2222
public async ValueTask StartScanning(IJSObjectReference qrScannerReference)

src/GenOne.Blazor.QrScanner/src/wwwroot/qr-scanner-interop.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,15 @@
11
import "./qr-scanner-worker.min.js"
22
import QrScanner from "./qr-scanner.min.js"
33

4-
export function createQrScanner(videoElem, successfulScanHandler) {
4+
export function createQrScanner(videoElem, overlay, successfulScanHandler) {
55
var scanner = new QrScanner(
66
videoElem,
77
result => callback(successfulScanHandler, result),
8-
{ returnDetailedScanResult: true, highlightScanRegion: true }
8+
{
9+
returnDetailedScanResult: true,
10+
highlightScanRegion: true,
11+
overlay = overlay || undefined
12+
}
913
);
1014

1115
scanner.setInversionMode('both');

0 commit comments

Comments
 (0)