react-native-scanbot-barcode-scanner-sdk 6.2.1-beta.2 → 6.2.1-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/component/barcode-camera-view/ScanbotBarcodeCameraView.js +19 -11
- package/lib/commonjs/component/barcode-camera-view/ScanbotBarcodeCameraView.js.map +1 -1
- package/lib/module/component/barcode-camera-view/ScanbotBarcodeCameraView.js +19 -11
- package/lib/module/component/barcode-camera-view/ScanbotBarcodeCameraView.js.map +1 -1
- package/lib/typescript/src/component/barcode-camera-view/ScanbotBarcodeCameraView.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/component/barcode-camera-view/ScanbotBarcodeCameraView.tsx +34 -15
|
@@ -15,6 +15,7 @@ const ScanbotBarcodeCameraView = exports.ScanbotBarcodeCameraView = /*#__PURE__*
|
|
|
15
15
|
}, forwardedRef) => {
|
|
16
16
|
const viewRef = (0, _react.useRef)(null);
|
|
17
17
|
const boundBarcodeItemOverlayViews = (0, _react.useRef)(new Set());
|
|
18
|
+
const lastBarcodeScannerResult = (0, _react.useRef)(undefined);
|
|
18
19
|
(0, _react.useImperativeHandle)(forwardedRef, () => {
|
|
19
20
|
return {
|
|
20
21
|
freezeCamera() {
|
|
@@ -40,21 +41,25 @@ const ScanbotBarcodeCameraView = exports.ScanbotBarcodeCameraView = /*#__PURE__*
|
|
|
40
41
|
onBarcodeScannerResult(barcodeScannerResult);
|
|
41
42
|
}
|
|
42
43
|
if (props.selectionOverlayConfig?.barcodeItemOverlayViewBinder) {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
const
|
|
47
|
-
if (
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
44
|
+
const barcodeScannerResultIsDuplicate = lastBarcodeScannerResult.current?.barcodes !== undefined && barcodeScannerResult?.barcodes !== undefined && lastBarcodeScannerResult.current.barcodes.length === barcodeScannerResult.barcodes.length && JSON.stringify(lastBarcodeScannerResult.current.barcodes.map(item => _barcodeItemUuid(item))) === JSON.stringify(barcodeScannerResult.barcodes.map(item => _barcodeItemUuid(item)));
|
|
45
|
+
if (!barcodeScannerResultIsDuplicate) {
|
|
46
|
+
for (let barcode of barcodeScannerResult.barcodes) {
|
|
47
|
+
const barcodeItemUuid = _barcodeItemUuid(barcode);
|
|
48
|
+
if (!boundBarcodeItemOverlayViews.current.has(barcodeItemUuid)) {
|
|
49
|
+
const bindingConfig = await props.selectionOverlayConfig.barcodeItemOverlayViewBinder(barcode);
|
|
50
|
+
if (bindingConfig.saveConfig !== false) {
|
|
51
|
+
boundBarcodeItemOverlayViews.current.add(barcodeItemUuid);
|
|
52
|
+
}
|
|
53
|
+
if (viewRef.current != null) {
|
|
54
|
+
_ScanbotBarcodeScannerViewNativeComponent.Commands.bindBarcodeItemOverlayView(
|
|
55
|
+
//@ts-ignore
|
|
56
|
+
viewRef.current, barcodeItemUuid, JSON.stringify(bindingConfig));
|
|
57
|
+
}
|
|
54
58
|
}
|
|
55
59
|
}
|
|
56
60
|
}
|
|
57
61
|
}
|
|
62
|
+
lastBarcodeScannerResult.current = barcodeScannerResult;
|
|
58
63
|
}
|
|
59
64
|
}, [props.selectionOverlayConfig, boundBarcodeItemOverlayViews, onBarcodeScannerResult]);
|
|
60
65
|
const _onBarcodeSelectionResult = (0, _react.useCallback)(event => {
|
|
@@ -70,6 +75,9 @@ const ScanbotBarcodeCameraView = exports.ScanbotBarcodeCameraView = /*#__PURE__*
|
|
|
70
75
|
onBarcodeScannerResult(barcodeResult);
|
|
71
76
|
}
|
|
72
77
|
}, [onBarcodeScannerResult, props.selectionOverlayConfig?.automaticSelectionEnabled, props.selectionOverlayConfig?.overlayEnabled]);
|
|
78
|
+
function _barcodeItemUuid(barcode) {
|
|
79
|
+
return barcode.textWithExtension + '_' + barcode.type;
|
|
80
|
+
}
|
|
73
81
|
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
74
82
|
style: [styles.container, props.style]
|
|
75
83
|
}, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_ScanbotBarcodeScannerViewNativeComponent","_reactNative","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ScanbotBarcodeCameraView","exports","forwardRef","onBarcodeScannerResult","props","forwardedRef","viewRef","useRef","boundBarcodeItemOverlayViews","Set","useImperativeHandle","freezeCamera","current","Commands","unfreezeCamera","_onBarcodeScannerResult","useCallback","event","result","nativeEvent","selectionOverlayAutoSelectDisabled","selectionOverlayConfig","overlayEnabled","automaticSelectionEnabled","barcodeScannerResult","Platform","OS","JSON","parse","barcodeItemOverlayViewBinder","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_ScanbotBarcodeScannerViewNativeComponent","_reactNative","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ScanbotBarcodeCameraView","exports","forwardRef","onBarcodeScannerResult","props","forwardedRef","viewRef","useRef","boundBarcodeItemOverlayViews","Set","lastBarcodeScannerResult","undefined","useImperativeHandle","freezeCamera","current","Commands","unfreezeCamera","_onBarcodeScannerResult","useCallback","event","result","nativeEvent","selectionOverlayAutoSelectDisabled","selectionOverlayConfig","overlayEnabled","automaticSelectionEnabled","barcodeScannerResult","Platform","OS","JSON","parse","barcodeItemOverlayViewBinder","barcodeScannerResultIsDuplicate","barcodes","length","stringify","map","item","_barcodeItemUuid","barcode","barcodeItemUuid","bindingConfig","saveConfig","add","bindBarcodeItemOverlayView","_onBarcodeSelectionResult","barcodeItemResult","barcodeResult","textWithExtension","type","createElement","View","style","styles","container","pointerEvents","contentContainerStyle","children","finderEnabled","finderConfig","viewFinderEnabled","finderStrokeWidth","finderLineWidth","finderMinPadding","minPadding","finderStrokeColor","finderLineColor","finderOverlayColor","overlayColor","finderInset","finderRequiredAspectRatios","requiredAspectRatio","cameraZoomFactor","select","ios","cameraConfig","parseFloat","toFixed","android","cameraZoomRange","minZoom","maxZoom","minFocusDistanceLock","cameraModule","detectorConfig","overlayPolygonColor","polygonColor","overlayStrokeColor","strokeColor","overlayTextFormat","textFormat","overlayTextColor","textColor","overlayTextContainerColor","textContainerColor","overlayLoadingTextValue","loadingTextValue","overlayBarcodeItemOverlayViewBinder","flashEnabled","scanningEnabled","ref","onSelectBarcodeResult","StyleSheet","create","flex","position","width","height","zIndex"],"sourceRoot":"../../../../src","sources":["component/barcode-camera-view/ScanbotBarcodeCameraView.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,6 +7,7 @@ export const ScanbotBarcodeCameraView = /*#__PURE__*/forwardRef(({
|
|
|
7
7
|
}, forwardedRef) => {
|
|
8
8
|
const viewRef = useRef(null);
|
|
9
9
|
const boundBarcodeItemOverlayViews = useRef(new Set());
|
|
10
|
+
const lastBarcodeScannerResult = useRef(undefined);
|
|
10
11
|
useImperativeHandle(forwardedRef, () => {
|
|
11
12
|
return {
|
|
12
13
|
freezeCamera() {
|
|
@@ -32,21 +33,25 @@ export const ScanbotBarcodeCameraView = /*#__PURE__*/forwardRef(({
|
|
|
32
33
|
onBarcodeScannerResult(barcodeScannerResult);
|
|
33
34
|
}
|
|
34
35
|
if (props.selectionOverlayConfig?.barcodeItemOverlayViewBinder) {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
const
|
|
39
|
-
if (
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
36
|
+
const barcodeScannerResultIsDuplicate = lastBarcodeScannerResult.current?.barcodes !== undefined && barcodeScannerResult?.barcodes !== undefined && lastBarcodeScannerResult.current.barcodes.length === barcodeScannerResult.barcodes.length && JSON.stringify(lastBarcodeScannerResult.current.barcodes.map(item => _barcodeItemUuid(item))) === JSON.stringify(barcodeScannerResult.barcodes.map(item => _barcodeItemUuid(item)));
|
|
37
|
+
if (!barcodeScannerResultIsDuplicate) {
|
|
38
|
+
for (let barcode of barcodeScannerResult.barcodes) {
|
|
39
|
+
const barcodeItemUuid = _barcodeItemUuid(barcode);
|
|
40
|
+
if (!boundBarcodeItemOverlayViews.current.has(barcodeItemUuid)) {
|
|
41
|
+
const bindingConfig = await props.selectionOverlayConfig.barcodeItemOverlayViewBinder(barcode);
|
|
42
|
+
if (bindingConfig.saveConfig !== false) {
|
|
43
|
+
boundBarcodeItemOverlayViews.current.add(barcodeItemUuid);
|
|
44
|
+
}
|
|
45
|
+
if (viewRef.current != null) {
|
|
46
|
+
Commands.bindBarcodeItemOverlayView(
|
|
47
|
+
//@ts-ignore
|
|
48
|
+
viewRef.current, barcodeItemUuid, JSON.stringify(bindingConfig));
|
|
49
|
+
}
|
|
46
50
|
}
|
|
47
51
|
}
|
|
48
52
|
}
|
|
49
53
|
}
|
|
54
|
+
lastBarcodeScannerResult.current = barcodeScannerResult;
|
|
50
55
|
}
|
|
51
56
|
}, [props.selectionOverlayConfig, boundBarcodeItemOverlayViews, onBarcodeScannerResult]);
|
|
52
57
|
const _onBarcodeSelectionResult = useCallback(event => {
|
|
@@ -62,6 +67,9 @@ export const ScanbotBarcodeCameraView = /*#__PURE__*/forwardRef(({
|
|
|
62
67
|
onBarcodeScannerResult(barcodeResult);
|
|
63
68
|
}
|
|
64
69
|
}, [onBarcodeScannerResult, props.selectionOverlayConfig?.automaticSelectionEnabled, props.selectionOverlayConfig?.overlayEnabled]);
|
|
70
|
+
function _barcodeItemUuid(barcode) {
|
|
71
|
+
return barcode.textWithExtension + '_' + barcode.type;
|
|
72
|
+
}
|
|
65
73
|
return /*#__PURE__*/React.createElement(View, {
|
|
66
74
|
style: [styles.container, props.style]
|
|
67
75
|
}, /*#__PURE__*/React.createElement(View, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","forwardRef","useCallback","useImperativeHandle","useRef","NativeBarcodeCameraView","Commands","Platform","StyleSheet","View","ScanbotBarcodeCameraView","onBarcodeScannerResult","props","forwardedRef","viewRef","boundBarcodeItemOverlayViews","Set","freezeCamera","current","unfreezeCamera","_onBarcodeScannerResult","event","result","nativeEvent","selectionOverlayAutoSelectDisabled","selectionOverlayConfig","overlayEnabled","automaticSelectionEnabled","barcodeScannerResult","OS","JSON","parse","barcodeItemOverlayViewBinder","
|
|
1
|
+
{"version":3,"names":["React","forwardRef","useCallback","useImperativeHandle","useRef","NativeBarcodeCameraView","Commands","Platform","StyleSheet","View","ScanbotBarcodeCameraView","onBarcodeScannerResult","props","forwardedRef","viewRef","boundBarcodeItemOverlayViews","Set","lastBarcodeScannerResult","undefined","freezeCamera","current","unfreezeCamera","_onBarcodeScannerResult","event","result","nativeEvent","selectionOverlayAutoSelectDisabled","selectionOverlayConfig","overlayEnabled","automaticSelectionEnabled","barcodeScannerResult","OS","JSON","parse","barcodeItemOverlayViewBinder","barcodeScannerResultIsDuplicate","barcodes","length","stringify","map","item","_barcodeItemUuid","barcode","barcodeItemUuid","has","bindingConfig","saveConfig","add","bindBarcodeItemOverlayView","_onBarcodeSelectionResult","barcodeItemResult","barcodeResult","textWithExtension","type","createElement","style","styles","container","pointerEvents","contentContainerStyle","children","finderEnabled","finderConfig","viewFinderEnabled","finderStrokeWidth","finderLineWidth","finderMinPadding","minPadding","finderStrokeColor","finderLineColor","finderOverlayColor","overlayColor","finderInset","finderRequiredAspectRatios","requiredAspectRatio","cameraZoomFactor","select","ios","cameraConfig","parseFloat","toFixed","android","cameraZoomRange","minZoom","maxZoom","minFocusDistanceLock","cameraModule","detectorConfig","overlayPolygonColor","polygonColor","overlayStrokeColor","strokeColor","overlayTextFormat","textFormat","overlayTextColor","textColor","overlayTextContainerColor","textContainerColor","overlayLoadingTextValue","loadingTextValue","overlayBarcodeItemOverlayViewBinder","flashEnabled","scanningEnabled","ref","onSelectBarcodeResult","create","flex","position","width","height","zIndex"],"sourceRoot":"../../../../src","sources":["component/barcode-camera-view/ScanbotBarcodeCameraView.tsx"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,UAAU,EAAEC,WAAW,EAAEC,mBAAmB,EAAEC,MAAM,QAAQ,OAAO;AACnF,OAAOC,uBAAuB,IAC5BC,QAAQ,QACH,kDAAkD;AAKzD,SAA+BC,QAAQ,EAAEC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAI/E,OAAO,MAAMC,wBAAwB,gBAAGT,UAAU,CAGhD,CAAC;EAAEU,sBAAsB;EAAE,GAAGC;AAAM,CAAC,EAAEC,YAAY,KAAK;EACxD,MAAMC,OAAO,GAAGV,MAAM,CAAC,IAAI,CAAC;EAC5B,MAAMW,4BAA4B,GAAGX,MAAM,CAAc,IAAIY,GAAG,CAAC,CAAC,CAAC;EACnE,MAAMC,wBAAwB,GAAGb,MAAM,CAAmCc,SAAS,CAAC;EAEpFf,mBAAmB,CAACU,YAAY,EAAE,MAAM;IACtC,OAAO;MACLM,YAAYA,CAAA,EAAG;QACb,IAAIL,OAAO,CAACM,OAAO,EAAE;UACnB;UACAd,QAAQ,CAACa,YAAY,CAACL,OAAO,CAACM,OAAO,CAAC;QACxC;MACF,CAAC;MAEDC,cAAcA,CAAA,EAAG;QACf,IAAIP,OAAO,CAACM,OAAO,EAAE;UACnB;UACAd,QAAQ,CAACe,cAAc,CAACP,OAAO,CAACM,OAAO,CAAC;QAC1C;MACF;IACF,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,MAAME,uBAAuB,GAAGpB,WAAW,CACzC,MAAOqB,KAAgC,IAAK;IAC1C,MAAMC,MAAM,GAAGD,KAAK,CAACE,WAAW,CAACD,MAAM;IACvC,MAAME,kCAAkC,GACtCd,KAAK,CAACe,sBAAsB,EAAEC,cAAc,IAC5C,CAAChB,KAAK,CAACe,sBAAsB,EAAEE,yBAAyB;IAE1D,IAAIL,MAAM,EAAE;MACV,MAAMM,oBAAoB,GACxBvB,QAAQ,CAACwB,EAAE,KAAK,KAAK,GAAGC,IAAI,CAACC,KAAK,CAACT,MAAM,CAAC,GAAGA,MACtB;MACzB,IAAI,CAACE,kCAAkC,EAAE;QACvCf,sBAAsB,CAACmB,oBAAoB,CAAC;MAC9C;MAEA,IAAIlB,KAAK,CAACe,sBAAsB,EAAEO,4BAA4B,EAAE;QAC9D,MAAMC,+BAA+B,GACnClB,wBAAwB,CAACG,OAAO,EAAEgB,QAAQ,KAAKlB,SAAS,IACxDY,oBAAoB,EAAEM,QAAQ,KAAKlB,SAAS,IAC5CD,wBAAwB,CAACG,OAAO,CAACgB,QAAQ,CAACC,MAAM,KAC9CP,oBAAoB,CAACM,QAAQ,CAACC,MAAM,IACtCL,IAAI,CAACM,SAAS,CACZrB,wBAAwB,CAACG,OAAO,CAACgB,QAAQ,CAACG,GAAG,CAAEC,IAAI,IAAKC,gBAAgB,CAACD,IAAI,CAAC,CAChF,CAAC,KACCR,IAAI,CAACM,SAAS,CAACR,oBAAoB,CAACM,QAAQ,CAACG,GAAG,CAAEC,IAAI,IAAKC,gBAAgB,CAACD,IAAI,CAAC,CAAC,CAAC;QAEvF,IAAI,CAACL,+BAA+B,EAAE;UACpC,KAAK,IAAIO,OAAO,IAAIZ,oBAAoB,CAACM,QAAQ,EAAI;YACnD,MAAMO,eAAe,GAAGF,gBAAgB,CAACC,OAAO,CAAC;YAEjD,IAAI,CAAC3B,4BAA4B,CAACK,OAAO,CAACwB,GAAG,CAACD,eAAe,CAAC,EAAE;cAC9D,MAAME,aAAa,GACjB,MAAMjC,KAAK,CAACe,sBAAsB,CAACO,4BAA4B,CAACQ,OAAO,CAAC;cAE1E,IAAIG,aAAa,CAACC,UAAU,KAAK,KAAK,EAAE;gBACtC/B,4BAA4B,CAACK,OAAO,CAAC2B,GAAG,CAACJ,eAAe,CAAC;cAC3D;cAEA,IAAI7B,OAAO,CAACM,OAAO,IAAI,IAAI,EAAE;gBAC3Bd,QAAQ,CAAC0C,0BAA0B;gBACjC;gBACAlC,OAAO,CAACM,OAAO,EACfuB,eAAe,EACfX,IAAI,CAACM,SAAS,CAACO,aAAa,CAC9B,CAAC;cACH;YACF;UACF;QACF;MACF;MAEA5B,wBAAwB,CAACG,OAAO,GAAGU,oBAAoB;IACzD;EACF,CAAC,EACD,CAAClB,KAAK,CAACe,sBAAsB,EAAEZ,4BAA4B,EAAEJ,sBAAsB,CACrF,CAAC;EAED,MAAMsC,yBAAyB,GAAG/C,WAAW,CAC1CqB,KAAgC,IAAK;IACpC,MAAMC,MAAM,GAAGD,KAAK,CAACE,WAAW,CAACD,MAAM;IACvC,MAAME,kCAAkC,GACtCd,KAAK,CAACe,sBAAsB,EAAEC,cAAc,IAC5C,CAAChB,KAAK,CAACe,sBAAsB,EAAEE,yBAAyB;IAC1D,IAAIH,kCAAkC,IAAIF,MAAM,IAAIjB,QAAQ,CAACwB,EAAE,KAAK,SAAS,EAAE;MAC7E,MAAMmB,iBAAiB,GAAG1B,MAA4B;MACtDb,sBAAsB,CAAC;QAAEyB,QAAQ,EAAE,CAACc,iBAAiB;MAAE,CAAC,CAAC;IAC3D,CAAC,MAAM,IAAIxB,kCAAkC,IAAIF,MAAM,IAAIjB,QAAQ,CAACwB,EAAE,KAAK,KAAK,EAAE;MAChF,MAAMoB,aAAa,GAAGnB,IAAI,CAACC,KAAK,CAACT,MAAM,CAAyB;MAChEb,sBAAsB,CAACwC,aAAa,CAAC;IACvC;EACF,CAAC,EACD,CACExC,sBAAsB,EACtBC,KAAK,CAACe,sBAAsB,EAAEE,yBAAyB,EACvDjB,KAAK,CAACe,sBAAsB,EAAEC,cAAc,CAEhD,CAAC;EAED,SAASa,gBAAgBA,CAACC,OAA2B,EAAU;IAC7D,OAAOA,OAAO,CAACU,iBAAiB,GAAG,GAAG,GAAGV,OAAO,CAACW,IAAI;EACvD;EAEA,oBACErD,KAAA,CAAAsD,aAAA,CAAC7C,IAAI;IAAC8C,KAAK,EAAE,CAACC,MAAM,CAACC,SAAS,EAAE7C,KAAK,CAAC2C,KAAK;EAAE,gBAC3CvD,KAAA,CAAAsD,aAAA,CAAC7C,IAAI;IACHiD,aAAa,EAAE,UAAW;IAC1BH,KAAK,EAAE,CAACC,MAAM,CAACG,qBAAqB,EAAE/C,KAAK,CAAC+C,qBAAqB;EAAE,GAElE/C,KAAK,CAACgD,QACH,CAAC,eACP5D,KAAA,CAAAsD,aAAA,CAACjD;EACC;EAAA;IACAwD,aAAa,EAAEjD,KAAK,CAACkD,YAAY,EAAEC,iBAAkB;IACrDC,iBAAiB,EAAEpD,KAAK,CAACkD,YAAY,EAAEG,eAAgB;IACvDC,gBAAgB,EAAEtD,KAAK,CAACkD,YAAY,EAAEK,UAAW;IACjDC,iBAAiB,EAAExD,KAAK,CAACkD,YAAY,EAAEO,eAAgB;IACvDC,kBAAkB,EAAE1D,KAAK,CAACkD,YAAY,EAAES,YAAa;IACrDC,WAAW,EAAE5D,KAAK,CAACkD,YAAY,EAAEU,WAAY;IAC7CC,0BAA0B,EAAE7D,KAAK,CAACkD,YAAY,EAAEY;IAChD;IAAA;IACAC,gBAAgB,EAAEpE,QAAQ,CAACqE,MAAM,CAAC;MAChCC,GAAG,EAAEjE,KAAK,CAACkE,YAAY,EAAEH,gBAAgB,GACrCI,UAAU,CAACnE,KAAK,CAACkE,YAAY,EAAEH,gBAAgB,CAACK,OAAO,CAAC,CAAC,CAAC,CAAC,GAC3D9D,SAAS;MACb+D,OAAO,EACLrE,KAAK,CAACkE,YAAY,EAAEH,gBAAgB,KAAKzD,SAAS,GAC9C,CAACN,KAAK,CAACkE,YAAY,EAAEI,eAAe,EAAEC,OAAO,IAAI,CAAC,IAClD,CAAC,CAACvE,KAAK,CAACkE,YAAY,EAAEI,eAAe,EAAEE,OAAO,IAAI,EAAE,KACjDxE,KAAK,CAACkE,YAAY,EAAEI,eAAe,EAAEC,OAAO,IAAI,CAAC,CAAC,IACnDvE,KAAK,CAACkE,YAAY,EAAEH,gBAAgB,GACtCzD;IACR,CAAC,CAAE;IACHgE,eAAe,EAAEtE,KAAK,CAACkE,YAAY,EAAEI,eAAgB;IACrDG,oBAAoB,EAAEzE,KAAK,CAACkE,YAAY,EAAEO,oBAAqB;IAC/DC,YAAY,EAAE1E,KAAK,CAACkE,YAAY,EAAEQ;IAClC;IAAA;IACAC,cAAc,EAAE3E,KAAK,CAAC2E;IACtB;IAAA;IACA3D,cAAc,EAAEhB,KAAK,CAACe,sBAAsB,EAAEC,cAAe;IAC7D4D,mBAAmB,EAAE5E,KAAK,CAACe,sBAAsB,EAAE8D,YAAa;IAChEC,kBAAkB,EAAE9E,KAAK,CAACe,sBAAsB,EAAEgE,WAAY;IAC9DC,iBAAiB,EAAEhF,KAAK,CAACe,sBAAsB,EAAEkE,UAAW;IAC5DC,gBAAgB,EAAElF,KAAK,CAACe,sBAAsB,EAAEoE,SAAU;IAC1DC,yBAAyB,EAAEpF,KAAK,CAACe,sBAAsB,EAAEsE,kBAAmB;IAC5EC,uBAAuB,EAAEtF,KAAK,CAACe,sBAAsB,EAAEwE,gBAAiB;IACxEC,mCAAmC,EACjCxF,KAAK,CAACe,sBAAsB,EAAEO,4BAA4B,KAAKhB;IAEjE;IAAA;IACAmF,YAAY,EAAEzF,KAAK,CAACyF,YAAa;IACjCC,eAAe,EAAE1F,KAAK,CAAC0F;IACvB;IAAA;IACA/C,KAAK,EAAEC,MAAM,CAACC,SAAU;IACxB8C,GAAG,EAAEzF;IACL;IAAA;IACAH,sBAAsB,EAAEW,uBAAwB;IAChDkF,qBAAqB,EAAEvD;EAA0B,CAClD,CACG,CAAC;AAEX,CAAC,CAAC;AAEF,MAAMO,MAAM,GAAGhD,UAAU,CAACiG,MAAM,CAAC;EAC/BhD,SAAS,EAAE;IACTiD,IAAI,EAAE;EACR,CAAC;EACD/C,qBAAqB,EAAE;IACrBgD,QAAQ,EAAE,UAAU;IACpBC,KAAK,EAAE,MAAM;IACbC,MAAM,EAAE,MAAM;IACdC,MAAM,EAAE;EACV;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScanbotBarcodeCameraView.d.ts","sourceRoot":"","sources":["../../../../../src/component/barcode-camera-view/ScanbotBarcodeCameraView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+D,MAAM,OAAO,CAAC;AAIpF,OAAO,EACL,8BAA8B,EAC9B,kCAAkC,EACnC,MAAM,sCAAsC,CAAC;AAK9C,eAAO,MAAM,wBAAwB,
|
|
1
|
+
{"version":3,"file":"ScanbotBarcodeCameraView.d.ts","sourceRoot":"","sources":["../../../../../src/component/barcode-camera-view/ScanbotBarcodeCameraView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+D,MAAM,OAAO,CAAC;AAIpF,OAAO,EACL,8BAA8B,EAC9B,kCAAkC,EACnC,MAAM,sCAAsC,CAAC;AAK9C,eAAO,MAAM,wBAAwB,2HAsKnC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-scanbot-barcode-scanner-sdk",
|
|
3
3
|
"title": "Scanbot Barcode Scanner SDK for React Native",
|
|
4
|
-
"version": "6.2.1-beta.
|
|
4
|
+
"version": "6.2.1-beta.3",
|
|
5
5
|
"description": "Scanbot Barcode Scanner SDK React Native Plugin for Android and iOS",
|
|
6
6
|
"main": "lib/commonjs/index",
|
|
7
7
|
"module": "lib/module/index",
|
|
@@ -16,6 +16,7 @@ export const ScanbotBarcodeCameraView = forwardRef<
|
|
|
16
16
|
>(({ onBarcodeScannerResult, ...props }, forwardedRef) => {
|
|
17
17
|
const viewRef = useRef(null);
|
|
18
18
|
const boundBarcodeItemOverlayViews = useRef<Set<string>>(new Set());
|
|
19
|
+
const lastBarcodeScannerResult = useRef<BarcodeScannerResult | undefined>(undefined);
|
|
19
20
|
|
|
20
21
|
useImperativeHandle(forwardedRef, () => {
|
|
21
22
|
return {
|
|
@@ -51,28 +52,42 @@ export const ScanbotBarcodeCameraView = forwardRef<
|
|
|
51
52
|
}
|
|
52
53
|
|
|
53
54
|
if (props.selectionOverlayConfig?.barcodeItemOverlayViewBinder) {
|
|
54
|
-
|
|
55
|
-
|
|
55
|
+
const barcodeScannerResultIsDuplicate =
|
|
56
|
+
lastBarcodeScannerResult.current?.barcodes !== undefined &&
|
|
57
|
+
barcodeScannerResult?.barcodes !== undefined &&
|
|
58
|
+
lastBarcodeScannerResult.current.barcodes.length ===
|
|
59
|
+
barcodeScannerResult.barcodes.length &&
|
|
60
|
+
JSON.stringify(
|
|
61
|
+
lastBarcodeScannerResult.current.barcodes.map((item) => _barcodeItemUuid(item))
|
|
62
|
+
) ===
|
|
63
|
+
JSON.stringify(barcodeScannerResult.barcodes.map((item) => _barcodeItemUuid(item)));
|
|
56
64
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
65
|
+
if (!barcodeScannerResultIsDuplicate) {
|
|
66
|
+
for (let barcode of barcodeScannerResult.barcodes!!) {
|
|
67
|
+
const barcodeItemUuid = _barcodeItemUuid(barcode);
|
|
60
68
|
|
|
61
|
-
if (
|
|
62
|
-
|
|
63
|
-
|
|
69
|
+
if (!boundBarcodeItemOverlayViews.current.has(barcodeItemUuid)) {
|
|
70
|
+
const bindingConfig =
|
|
71
|
+
await props.selectionOverlayConfig.barcodeItemOverlayViewBinder(barcode);
|
|
72
|
+
|
|
73
|
+
if (bindingConfig.saveConfig !== false) {
|
|
74
|
+
boundBarcodeItemOverlayViews.current.add(barcodeItemUuid);
|
|
75
|
+
}
|
|
64
76
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
77
|
+
if (viewRef.current != null) {
|
|
78
|
+
Commands.bindBarcodeItemOverlayView(
|
|
79
|
+
//@ts-ignore
|
|
80
|
+
viewRef.current,
|
|
81
|
+
barcodeItemUuid,
|
|
82
|
+
JSON.stringify(bindingConfig)
|
|
83
|
+
);
|
|
84
|
+
}
|
|
72
85
|
}
|
|
73
86
|
}
|
|
74
87
|
}
|
|
75
88
|
}
|
|
89
|
+
|
|
90
|
+
lastBarcodeScannerResult.current = barcodeScannerResult;
|
|
76
91
|
}
|
|
77
92
|
},
|
|
78
93
|
[props.selectionOverlayConfig, boundBarcodeItemOverlayViews, onBarcodeScannerResult]
|
|
@@ -99,6 +114,10 @@ export const ScanbotBarcodeCameraView = forwardRef<
|
|
|
99
114
|
]
|
|
100
115
|
);
|
|
101
116
|
|
|
117
|
+
function _barcodeItemUuid(barcode: BarcodeResultField): string {
|
|
118
|
+
return barcode.textWithExtension + '_' + barcode.type;
|
|
119
|
+
}
|
|
120
|
+
|
|
102
121
|
return (
|
|
103
122
|
<View style={[styles.container, props.style]}>
|
|
104
123
|
<View
|