react-native-scanbot-barcode-scanner-sdk 6.2.1-beta.3 → 6.2.1-beta.5

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.
@@ -79,27 +79,34 @@ class ScanbotBarcodeScannerView(
79
79
  return
80
80
  }
81
81
 
82
+ var configTextContainerColor =
83
+ overlayViewConfig.textContainerColorParsed
84
+ var configTextColor = overlayViewConfig.textColorParsed
85
+ var configText = overlayViewConfig.text
86
+
87
+ // If caching is disabled use general settings as starting point (not last bind) after refreshRate
88
+ if (overlayViewConfig.refreshRate > 0 && overlayViewConfig.lastBind > 0 && (System.currentTimeMillis() - overlayViewConfig.lastBind >= overlayViewConfig.refreshRate)) {
89
+ configTextContainerColor = null
90
+ configTextColor = null
91
+ configText = BarcodeItemOverlayViewConfig.LOADING_TEXT
92
+ }
93
+
82
94
  // buttonView doesn't use global overlay configuration by default
83
95
  buttonView.backgroundTintList = ColorStateList.valueOf(
84
- overlayViewConfig.textContainerColorParsed
85
- ?: textStyle.textContainerColor!!
96
+ configTextContainerColor ?: textStyle.textContainerColor!!
86
97
  )
87
98
 
88
99
  buttonView.compoundDrawables.forEach {
89
- it?.setTint(
90
- overlayViewConfig.textColorParsed ?: textStyle.textColor!!
91
- )
100
+ it?.setTint(configTextColor ?: textStyle.textColor!!)
92
101
  }
93
- buttonView.setTextColor(
94
- overlayViewConfig.textColorParsed ?: textStyle.textColor!!
95
- )
102
+ buttonView.setTextColor(configTextColor ?: textStyle.textColor!!)
96
103
 
97
104
  buttonView.maxLines = when (textStyle.textFormat) {
98
105
  BarcodeOverlayTextFormat.CODE -> 1
99
106
  else -> 2
100
107
  }
101
108
 
102
- buttonView.text = overlayViewConfig.text ?: run {
109
+ buttonView.text = configText ?: run {
103
110
  when (textStyle.textFormat) {
104
111
  BarcodeOverlayTextFormat.CODE -> barcodeItem.textWithExtension
105
112
 
@@ -295,26 +302,26 @@ class ScanbotBarcodeScannerView(
295
302
  override fun getPolygonStyle(
296
303
  defaultStyle: BarcodePolygonsView.BarcodePolygonStyle, barcodeItem: BarcodeItem
297
304
  ): BarcodePolygonsView.BarcodePolygonStyle {
298
- return barcodeItemOverlayViewBinders?.get(barcodeItem.uuid())
299
- ?.let { overlayViewConfig ->
300
- defaultStyle.copy(
301
- fillColor = overlayViewConfig.polygonColorParsed
302
- ?: polygonStyle.fillColor!!,
303
- fillHighlightedColor = overlayViewConfig.polygonColorParsed
304
- ?: polygonStyle.fillColor!!,
305
- strokeColor = overlayViewConfig.strokeColorParsed
306
- ?: polygonStyle.strokeColor!!,
307
- strokeHighlightedColor = overlayViewConfig.strokeColorParsed
308
- ?: polygonStyle.strokeColor!!,
309
- )
310
- } ?: run {
311
- defaultStyle.copy(
312
- fillColor = polygonStyle.fillColor!!,
313
- fillHighlightedColor = polygonStyle.fillColor!!,
314
- strokeColor = polygonStyle.strokeColor!!,
315
- strokeHighlightedColor = polygonStyle.strokeColor!!,
316
- )
317
- }
305
+ val overlayViewConfig =
306
+ barcodeItemOverlayViewBinders?.get(barcodeItem.uuid())?.let {
307
+
308
+ // If caching is disabled use general settings as starting point (not last bind) after refreshRate
309
+ if (it.refreshRate > 0 && it.lastBind > 0 && (System.currentTimeMillis() - it.lastBind >= it.refreshRate)) {
310
+ null
311
+ } else {
312
+ it
313
+ }
314
+ }
315
+
316
+ return defaultStyle.copy(
317
+ fillColor = overlayViewConfig?.polygonColorParsed ?: polygonStyle.fillColor!!,
318
+ fillHighlightedColor = overlayViewConfig?.polygonColorParsed
319
+ ?: polygonStyle.fillColor!!,
320
+ strokeColor = overlayViewConfig?.strokeColorParsed
321
+ ?: polygonStyle.strokeColor!!,
322
+ strokeHighlightedColor = overlayViewConfig?.strokeColorParsed
323
+ ?: polygonStyle.strokeColor!!,
324
+ )
318
325
  }
319
326
 
320
327
  override fun getTextViewStyle(
@@ -83,6 +83,8 @@ class ScanbotBarcodeScannerViewManager : SimpleViewManager<ScanbotBarcodeScanner
83
83
  val barcodeItemOverlayViewConfig =
84
84
  SBWrapper.gson.fromJson(bindingConfig, BarcodeItemOverlayViewConfig::class.java)
85
85
 
86
+ barcodeItemOverlayViewConfig.lastBind = System.currentTimeMillis()
87
+
86
88
  view.updateBarcodeItemOverlayViewBinder(barcodeItemUuid, barcodeItemOverlayViewConfig)
87
89
  view.setOverlayAppearance()
88
90
  }
@@ -137,6 +137,7 @@ data class BarcodeItemOverlayViewConfig(
137
137
  var textContainerColor: String? = null,
138
138
  var polygonColor: String? = null,
139
139
  var strokeColor: String? = null,
140
+ var refreshRate: Int = 0,
140
141
  ) {
141
142
 
142
143
  val textColorParsed: Int?
@@ -151,6 +152,8 @@ data class BarcodeItemOverlayViewConfig(
151
152
  val strokeColorParsed: Int?
152
153
  get() = strokeColor?.let { Utils.tryToParseRGBAHexColor(it) }
153
154
 
155
+ var lastBind: Long = 0
156
+
154
157
  companion object {
155
158
  var LOADING_TEXT: String? = null
156
159
  }
@@ -213,13 +213,16 @@
213
213
  barcodeItemOverlayViewConfigJson:(NSString * _Nonnull)barcodeItemOverlayViewConfigJson {
214
214
 
215
215
  if (dictionary != nil && [dictionary objectForKey:barcodeItemUuid] != nil) {
216
- NSError *fjsonError;
217
- NSData *objectData = [barcodeItemOverlayViewConfigJson dataUsingEncoding:NSUTF8StringEncoding];
218
- NSDictionary *bindingPolygonStyleConfig = [NSJSONSerialization JSONObjectWithData:objectData
216
+ NSError *fjsonError;
217
+ NSData *objectData = [barcodeItemOverlayViewConfigJson dataUsingEncoding:NSUTF8StringEncoding];
218
+ NSDictionary *bindingPolygonStyleConfig = [NSJSONSerialization JSONObjectWithData:objectData
219
219
  options:NSJSONReadingMutableContainers
220
220
  error:&fjsonError];
221
+
222
+ long lastBind = (long)([[NSDate date] timeIntervalSince1970] * 1000.0);
223
+ [bindingPolygonStyleConfig setValue:[NSNumber numberWithLong:lastBind] forKey:@"lastBind"];
221
224
 
222
- [dictionary setObject:bindingPolygonStyleConfig forKey:barcodeItemUuid];
225
+ [dictionary setObject:bindingPolygonStyleConfig forKey:barcodeItemUuid];
223
226
  }
224
227
  }
225
228
 
@@ -235,7 +238,12 @@
235
238
  polygon.polygonBackgroundColor = current.polygonBackgroundColor;
236
239
  polygon.polygonBackgroundSelectedColor = current.polygonBackgroundSelectedColor;
237
240
 
238
- if(barcodeItemOverlayViewBinding != nil) {
241
+ if (barcodeItemOverlayViewBinding != nil) {
242
+
243
+ if ([self useGeneralSelectionOverlayConfig:barcodeItemOverlayViewBinding]) {
244
+ return polygon;
245
+ }
246
+
239
247
  NSString* strokeColor = [barcodeItemOverlayViewBinding valueForKey:@"strokeColor"];
240
248
  if(strokeColor != nil) {
241
249
  polygon.polygonColor = [UIColor fromRgbAHex:strokeColor];
@@ -266,7 +274,11 @@
266
274
  text.textBackgroundSelectedColor = current.textBackgroundSelectedColor;
267
275
  text.trackingOverlayTextFormat = current.trackingOverlayTextFormat;
268
276
 
269
- if(barcodeItemOverlayViewBinding != nil) {
277
+ if (barcodeItemOverlayViewBinding != nil) {
278
+
279
+ if ([self useGeneralSelectionOverlayConfig:barcodeItemOverlayViewBinding]) {
280
+ return text;
281
+ }
270
282
 
271
283
  NSString* textColor = [barcodeItemOverlayViewBinding valueForKey:@"textColor"];
272
284
  if(textColor != nil) {
@@ -303,6 +315,19 @@
303
315
  return resultText;
304
316
  }
305
317
 
318
+ + (BOOL) useGeneralSelectionOverlayConfig: (NSDictionary * _Nonnull) barcodeItemOverlayViewBinding {
319
+ NSNumber* _Nullable refreshRate = [barcodeItemOverlayViewBinding valueForKey:@"refreshRate"];
320
+ NSNumber* _Nullable lastBind = [barcodeItemOverlayViewBinding valueForKey:@"lastBind"];
321
+
322
+ long currentTimeInMs = (long)([[NSDate date] timeIntervalSince1970] * 1000.0);
323
+
324
+ if (refreshRate != nil && refreshRate.intValue > 0 && lastBind != nil && lastBind.longValue > 0 && (currentTimeInMs - lastBind.longValue >= refreshRate.intValue)) {
325
+ return true;
326
+ } else {
327
+ return false;
328
+ }
329
+ }
330
+
306
331
  + (UIColor * _Nonnull) uiColorToUiColorWithTransparentAlpha: (UIColor * _Nonnull) originalColor {
307
332
  CGFloat red,green,blue,alpha;
308
333
 
@@ -14,8 +14,7 @@ const ScanbotBarcodeCameraView = exports.ScanbotBarcodeCameraView = /*#__PURE__*
14
14
  ...props
15
15
  }, forwardedRef) => {
16
16
  const viewRef = (0, _react.useRef)(null);
17
- const boundBarcodeItemOverlayViews = (0, _react.useRef)(new Set());
18
- const lastBarcodeScannerResult = (0, _react.useRef)(undefined);
17
+ const boundBarcodeItemOverlayViews = (0, _react.useRef)(new Map());
19
18
  (0, _react.useImperativeHandle)(forwardedRef, () => {
20
19
  return {
21
20
  freezeCamera() {
@@ -41,25 +40,23 @@ const ScanbotBarcodeCameraView = exports.ScanbotBarcodeCameraView = /*#__PURE__*
41
40
  onBarcodeScannerResult(barcodeScannerResult);
42
41
  }
43
42
  if (props.selectionOverlayConfig?.barcodeItemOverlayViewBinder) {
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
- }
43
+ for (let barcode of barcodeScannerResult.barcodes) {
44
+ const barcodeItemUuid = barcode.textWithExtension + '_' + barcode.type;
45
+ const barcodeItemNextBind = boundBarcodeItemOverlayViews.current.get(barcodeItemUuid);
46
+ if (barcodeItemNextBind === undefined || barcodeItemNextBind !== -1 && Date.now() >= barcodeItemNextBind) {
47
+ boundBarcodeItemOverlayViews.current.set(barcodeItemUuid, -1);
48
+ const bindingConfig = await props.selectionOverlayConfig.barcodeItemOverlayViewBinder(barcode);
49
+ if (bindingConfig.refreshRate !== undefined && bindingConfig.refreshRate > 0) {
50
+ boundBarcodeItemOverlayViews.current.set(barcodeItemUuid, Date.now() + bindingConfig.refreshRate);
51
+ }
52
+ if (viewRef.current != null) {
53
+ _ScanbotBarcodeScannerViewNativeComponent.Commands.bindBarcodeItemOverlayView(
54
+ //@ts-ignore
55
+ viewRef.current, barcodeItemUuid, JSON.stringify(bindingConfig));
58
56
  }
59
57
  }
60
58
  }
61
59
  }
62
- lastBarcodeScannerResult.current = barcodeScannerResult;
63
60
  }
64
61
  }, [props.selectionOverlayConfig, boundBarcodeItemOverlayViews, onBarcodeScannerResult]);
65
62
  const _onBarcodeSelectionResult = (0, _react.useCallback)(event => {
@@ -75,9 +72,6 @@ const ScanbotBarcodeCameraView = exports.ScanbotBarcodeCameraView = /*#__PURE__*
75
72
  onBarcodeScannerResult(barcodeResult);
76
73
  }
77
74
  }, [onBarcodeScannerResult, props.selectionOverlayConfig?.automaticSelectionEnabled, props.selectionOverlayConfig?.overlayEnabled]);
78
- function _barcodeItemUuid(barcode) {
79
- return barcode.textWithExtension + '_' + barcode.type;
80
- }
81
75
  return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
82
76
  style: [styles.container, props.style]
83
77
  }, /*#__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","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":[]}
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","Map","useImperativeHandle","freezeCamera","current","Commands","unfreezeCamera","_onBarcodeScannerResult","useCallback","event","result","nativeEvent","selectionOverlayAutoSelectDisabled","selectionOverlayConfig","overlayEnabled","automaticSelectionEnabled","barcodeScannerResult","Platform","OS","JSON","parse","barcodeItemOverlayViewBinder","barcode","barcodes","barcodeItemUuid","textWithExtension","type","barcodeItemNextBind","undefined","Date","now","bindingConfig","refreshRate","bindBarcodeItemOverlayView","stringify","_onBarcodeSelectionResult","barcodeItemResult","barcodeResult","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":[]}
@@ -6,8 +6,7 @@ export const ScanbotBarcodeCameraView = /*#__PURE__*/forwardRef(({
6
6
  ...props
7
7
  }, forwardedRef) => {
8
8
  const viewRef = useRef(null);
9
- const boundBarcodeItemOverlayViews = useRef(new Set());
10
- const lastBarcodeScannerResult = useRef(undefined);
9
+ const boundBarcodeItemOverlayViews = useRef(new Map());
11
10
  useImperativeHandle(forwardedRef, () => {
12
11
  return {
13
12
  freezeCamera() {
@@ -33,25 +32,23 @@ export const ScanbotBarcodeCameraView = /*#__PURE__*/forwardRef(({
33
32
  onBarcodeScannerResult(barcodeScannerResult);
34
33
  }
35
34
  if (props.selectionOverlayConfig?.barcodeItemOverlayViewBinder) {
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
- }
35
+ for (let barcode of barcodeScannerResult.barcodes) {
36
+ const barcodeItemUuid = barcode.textWithExtension + '_' + barcode.type;
37
+ const barcodeItemNextBind = boundBarcodeItemOverlayViews.current.get(barcodeItemUuid);
38
+ if (barcodeItemNextBind === undefined || barcodeItemNextBind !== -1 && Date.now() >= barcodeItemNextBind) {
39
+ boundBarcodeItemOverlayViews.current.set(barcodeItemUuid, -1);
40
+ const bindingConfig = await props.selectionOverlayConfig.barcodeItemOverlayViewBinder(barcode);
41
+ if (bindingConfig.refreshRate !== undefined && bindingConfig.refreshRate > 0) {
42
+ boundBarcodeItemOverlayViews.current.set(barcodeItemUuid, Date.now() + bindingConfig.refreshRate);
43
+ }
44
+ if (viewRef.current != null) {
45
+ Commands.bindBarcodeItemOverlayView(
46
+ //@ts-ignore
47
+ viewRef.current, barcodeItemUuid, JSON.stringify(bindingConfig));
50
48
  }
51
49
  }
52
50
  }
53
51
  }
54
- lastBarcodeScannerResult.current = barcodeScannerResult;
55
52
  }
56
53
  }, [props.selectionOverlayConfig, boundBarcodeItemOverlayViews, onBarcodeScannerResult]);
57
54
  const _onBarcodeSelectionResult = useCallback(event => {
@@ -67,9 +64,6 @@ export const ScanbotBarcodeCameraView = /*#__PURE__*/forwardRef(({
67
64
  onBarcodeScannerResult(barcodeResult);
68
65
  }
69
66
  }, [onBarcodeScannerResult, props.selectionOverlayConfig?.automaticSelectionEnabled, props.selectionOverlayConfig?.overlayEnabled]);
70
- function _barcodeItemUuid(barcode) {
71
- return barcode.textWithExtension + '_' + barcode.type;
72
- }
73
67
  return /*#__PURE__*/React.createElement(View, {
74
68
  style: [styles.container, props.style]
75
69
  }, /*#__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","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":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","forwardRef","useCallback","useImperativeHandle","useRef","NativeBarcodeCameraView","Commands","Platform","StyleSheet","View","ScanbotBarcodeCameraView","onBarcodeScannerResult","props","forwardedRef","viewRef","boundBarcodeItemOverlayViews","Map","freezeCamera","current","unfreezeCamera","_onBarcodeScannerResult","event","result","nativeEvent","selectionOverlayAutoSelectDisabled","selectionOverlayConfig","overlayEnabled","automaticSelectionEnabled","barcodeScannerResult","OS","JSON","parse","barcodeItemOverlayViewBinder","barcode","barcodes","barcodeItemUuid","textWithExtension","type","barcodeItemNextBind","get","undefined","Date","now","set","bindingConfig","refreshRate","bindBarcodeItemOverlayView","stringify","_onBarcodeSelectionResult","barcodeItemResult","barcodeResult","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":"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","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,2HAsKnC,CAAC"}
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,2HA6JnC,CAAC"}
@@ -122,7 +122,9 @@ export interface BarcodeItemOverlayViewConfig {
122
122
  polygonColor?: string;
123
123
  /** The color of the polygon border. If not set, the strokeColor from SelectionOverlayConfig is used. */
124
124
  strokeColor?: string;
125
- /** If true, the callback will be executed only once per specific barcode item during the scanning session. The default value is true. */
126
- saveConfig?: boolean;
125
+ /** If undefined or set to 0, the barcodeItemOverlayViewBinder callback is executed only once per scanning session for each barcode item.
126
+ * If set to a value greater than 0, the barcodeItemOverlayViewBinder will be executed after at least ***N milliseconds*** for every visible barcode item on the screen.
127
+ */
128
+ refreshRate?: number;
127
129
  }
128
130
  //# sourceMappingURL=ScanbotBarcodeCameraViewProperties.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ScanbotBarcodeCameraViewProperties.d.ts","sourceRoot":"","sources":["../../../../../src/component/barcode-camera-view/ScanbotBarcodeCameraViewProperties.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ScanbotBarcodeCameraViewProperties.d.ts","sourceRoot":"","sources":["../../../../../src/component/barcode-camera-view/ScanbotBarcodeCameraViewProperties.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EACL,WAAW,EACX,qBAAqB,EACrB,aAAa,EACb,wBAAwB,EACxB,kBAAkB,EAClB,uBAAuB,EACvB,YAAY,EACZ,UAAU,EACV,eAAe,EACf,2BAA2B,EAC3B,SAAS,EACV,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,SAAS,EAAE,MAAM,8CAA8C,CAAC;AACzE,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,kCAAkC;IACjD,qDAAqD;IACrD,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,oDAAoD;IACpD,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,gFAAgF;IAChF,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,2CAA2C;IAC3C,sBAAsB,CAAC,EAAE,sBAAsB,CAAC;IAChD,0CAA0C;IAC1C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,sBAAsB,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,IAAI,CAAC;IAC/D,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,qBAAqB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,qDAAqD;AACrD,MAAM,WAAW,YAAY;IAC3B,iEAAiE;IACjE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,oCAAoC;IACpC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oCAAoC;IACpC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iDAAiD;IACjD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yEAAyE;IACzE,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,gDAAgD;IAChD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iGAAiG;IACjG,mBAAmB,CAAC,EAAE,WAAW,CAAC;CACnC;AAED,oDAAoD;AACpD,MAAM,WAAW,YAAY;IAC3B,wIAAwI;IACxI,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,4EAA4E;IAC5E,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B,wDAAwD;IACxD,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,yDAAyD;IACzD,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,gFAAgF;AAChF,MAAM,WAAW,cAAc;IAC7B,+BAA+B;IAC/B,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;IACjC,gJAAgJ;IAChJ,uBAAuB,CAAC,EAAE,qBAAqB,EAAE,CAAC;IAClD,sFAAsF;IACtF,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,qDAAqD;IACrD,uBAAuB,CAAC,EAAE,uBAAuB,CAAC;IAClD,oMAAoM;IACpM,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,+JAA+J;IAC/J,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,sJAAsJ;IACtJ,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,4LAA4L;IAC5L,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,8MAA8M;IAC9M,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,yDAAyD;IACzD,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,oFAAoF;IACpF,2BAA2B,CAAC,EAAE,2BAA2B,CAAC;CAC3D;AAED,2CAA2C;AAC3C,MAAM,WAAW,sBAAsB;IACrC,+DAA+D;IAC/D,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,yEAAyE;IACzE,UAAU,CAAC,EAAE,wBAAwB,CAAC;IACtC,yDAAyD;IACzD,YAAY,CAAC,EAAE,UAAU,CAAC;IAC1B,sDAAsD;IACtD,SAAS,CAAC,EAAE,UAAU,CAAC;IACvB,kEAAkE;IAClE,kBAAkB,CAAC,EAAE,UAAU,CAAC;IAChC,uCAAuC;IACvC,WAAW,CAAC,EAAE,UAAU,CAAC;IACzB,mFAAmF;IACnF,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,qEAAqE;IACrE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,yFAAyF;IACzF,4BAA4B,CAAC,EAAE,CAC7B,WAAW,EAAE,kBAAkB,KAC5B,OAAO,CAAC,4BAA4B,CAAC,GAAG,4BAA4B,CAAC;CAC3E;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,8BAA8B;IAC7C,iCAAiC;IACjC,YAAY,IAAI,IAAI,CAAC;IAErB,qDAAqD;IACrD,cAAc,IAAI,IAAI,CAAC;CACxB;AAED,MAAM,WAAW,4BAA4B;IAC3C,uIAAuI;IACvI,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qHAAqH;IACrH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0IAA0I;IAC1I,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,2HAA2H;IAC3H,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wGAAwG;IACxG,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB"}
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.3",
4
+ "version": "6.2.1-beta.5",
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",
@@ -15,8 +15,7 @@ export const ScanbotBarcodeCameraView = forwardRef<
15
15
  ScanbotBarcodeCameraViewProperties
16
16
  >(({ onBarcodeScannerResult, ...props }, forwardedRef) => {
17
17
  const viewRef = useRef(null);
18
- const boundBarcodeItemOverlayViews = useRef<Set<string>>(new Set());
19
- const lastBarcodeScannerResult = useRef<BarcodeScannerResult | undefined>(undefined);
18
+ const boundBarcodeItemOverlayViews = useRef<Map<string, number>>(new Map());
20
19
 
21
20
  useImperativeHandle(forwardedRef, () => {
22
21
  return {
@@ -52,42 +51,38 @@ export const ScanbotBarcodeCameraView = forwardRef<
52
51
  }
53
52
 
54
53
  if (props.selectionOverlayConfig?.barcodeItemOverlayViewBinder) {
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)));
54
+ for (let barcode of barcodeScannerResult.barcodes!!) {
55
+ const barcodeItemUuid = barcode.textWithExtension + '_' + barcode.type;
64
56
 
65
- if (!barcodeScannerResultIsDuplicate) {
66
- for (let barcode of barcodeScannerResult.barcodes!!) {
67
- const barcodeItemUuid = _barcodeItemUuid(barcode);
57
+ const barcodeItemNextBind = boundBarcodeItemOverlayViews.current.get(barcodeItemUuid);
68
58
 
69
- if (!boundBarcodeItemOverlayViews.current.has(barcodeItemUuid)) {
70
- const bindingConfig =
71
- await props.selectionOverlayConfig.barcodeItemOverlayViewBinder(barcode);
59
+ if (
60
+ barcodeItemNextBind === undefined ||
61
+ (barcodeItemNextBind !== -1 && Date.now() >= barcodeItemNextBind)
62
+ ) {
63
+ boundBarcodeItemOverlayViews.current.set(barcodeItemUuid, -1);
72
64
 
73
- if (bindingConfig.saveConfig !== false) {
74
- boundBarcodeItemOverlayViews.current.add(barcodeItemUuid);
75
- }
65
+ const bindingConfig =
66
+ await props.selectionOverlayConfig.barcodeItemOverlayViewBinder(barcode);
76
67
 
77
- if (viewRef.current != null) {
78
- Commands.bindBarcodeItemOverlayView(
79
- //@ts-ignore
80
- viewRef.current,
81
- barcodeItemUuid,
82
- JSON.stringify(bindingConfig)
83
- );
84
- }
68
+ if (bindingConfig.refreshRate !== undefined && bindingConfig.refreshRate > 0) {
69
+ boundBarcodeItemOverlayViews.current.set(
70
+ barcodeItemUuid,
71
+ Date.now() + bindingConfig.refreshRate
72
+ );
73
+ }
74
+
75
+ if (viewRef.current != null) {
76
+ Commands.bindBarcodeItemOverlayView(
77
+ //@ts-ignore
78
+ viewRef.current,
79
+ barcodeItemUuid,
80
+ JSON.stringify(bindingConfig)
81
+ );
85
82
  }
86
83
  }
87
84
  }
88
85
  }
89
-
90
- lastBarcodeScannerResult.current = barcodeScannerResult;
91
86
  }
92
87
  },
93
88
  [props.selectionOverlayConfig, boundBarcodeItemOverlayViews, onBarcodeScannerResult]
@@ -114,10 +109,6 @@ export const ScanbotBarcodeCameraView = forwardRef<
114
109
  ]
115
110
  );
116
111
 
117
- function _barcodeItemUuid(barcode: BarcodeResultField): string {
118
- return barcode.textWithExtension + '_' + barcode.type;
119
- }
120
-
121
112
  return (
122
113
  <View style={[styles.container, props.style]}>
123
114
  <View
@@ -146,6 +146,8 @@ export interface BarcodeItemOverlayViewConfig {
146
146
  polygonColor?: string;
147
147
  /** The color of the polygon border. If not set, the strokeColor from SelectionOverlayConfig is used. */
148
148
  strokeColor?: string;
149
- /** If true, the callback will be executed only once per specific barcode item during the scanning session. The default value is true. */
150
- saveConfig?: boolean;
149
+ /** If undefined or set to 0, the barcodeItemOverlayViewBinder callback is executed only once per scanning session for each barcode item.
150
+ * If set to a value greater than 0, the barcodeItemOverlayViewBinder will be executed after at least ***N milliseconds*** for every visible barcode item on the screen.
151
+ */
152
+ refreshRate?: number;
151
153
  }