@scandit/web-datacapture-barcode
Version:
Scandit Data Capture SDK for the Web
1 lines • 4.68 kB
JavaScript
import {HintAnchor,HintIcon,HintTextAlignment}from'@scandit/web-datacapture-core/build/js/worker/dataCaptureWorkerRelated.js';function y(o){return o.charAt(0).toUpperCase()+o.slice(1)}function l(o){return o}var u=class{constructor(e,i,t){this.barcodeFind=null;this.basicOverlay=null;this.transparentGuidanceHintStyle={backgroundColor:"00000000",cornerRadius:4,fitToText:false,isAnimatedToView:false,textAlignment:HintTextAlignment.Center,hintIcon:HintIcon.None,hintAnchor:HintAnchor.Center,hintAnchorOffset:0,horizontalMargin:0,iconColor:"00000000",lineHeight:-1,maxLines:1,maxWidthFraction:.8,textColor:"ffffffff",textSize:15,textWeight:600};this.customerTransformation=l;this.coreEngine=e,this.Module=i,this.workerFunctions=t;}async forSettings(e){var c;(c=this.barcodeFind)==null||c.delete(),this.barcodeFind=new this.Module.BarcodeFind(this.coreEngine.context,JSON.stringify(e));let i=this.Module.Feedback.extend("Feedback",{emit:()=>{this.listUpdatedFeedback();}}),t=this.Module.Feedback.extend("Feedback",{emit:()=>{this.barcodeFindFeedback();}}),r=this.Module.BarcodeFindTransformer.extend("BarcodeFindTransformer",{transformBarcodeData:n=>this.customerTransformation(n)}),d=this.Module.BarcodeFindListener.extend("BarcodeFindListener",{didUpdateSession:(n,s,a)=>{let p=this.coreEngine.prepareFrameForListener(a);this.workerFunctions.postMessage({type:"barcodeFindDidUpdateSession",payload:{session:JSON.parse(s.toJson()),frameData:p}}),n.delete(),s.delete(),a.delete();},onSearchPaused:n=>{let s=[];for(let a=0;a<n.size();a++)s.push(n.get(a));this.workerFunctions.postMessage({type:"barcodeFindSearchPaused",payload:{foundItems:s}});},onSearchStopped:n=>{let s=[];for(let a=0;a<n.size();a++)s.push(n.get(a));this.workerFunctions.postMessage({type:"barcodeFindSearchStopped",payload:{foundItems:s}});},onSearchStarted:()=>{this.workerFunctions.postMessage({type:"barcodeFindSearchStarted",payload:{}});}});this.barcodeFind.setBarcodeFindTransformer(new r),this.barcodeFind.addListener(new d,1),this.barcodeFind.setItemListUpdatedFeedback(new i),this.barcodeFind.setFeedback(new t),this.Module.addBarcodeFindToContext(this.coreEngine.context,this.barcodeFind);}barcodeFindFeedback(){this.workerFunctions.postMessage({type:"barcodeFindFeedback",payload:{}});}start(){var e;(e=this.barcodeFind)==null||e.start();}stop(){var e;(e=this.barcodeFind)==null||e.stop();}pause(){var e;(e=this.barcodeFind)==null||e.pause();}setEnabled(e){var i;(i=this.barcodeFind)==null||i.setEnabled(e);}setItemList(e){var i;(i=this.barcodeFind)==null||i.setItemList(JSON.stringify(e));}async removeMode(){this.barcodeFind!=null&&this.Module.removeBarcodeFindFromContext(this.coreEngine.context,this.barcodeFind);}addBasicOverlay(){var e;(e=this.basicOverlay)==null||e.delete(),this.basicOverlay=null,this.barcodeFind!=null&&(this.basicOverlay=new this.Module.BarcodeFindBasicOverlay(this.barcodeFind)),this.coreEngine.view!=null&&this.basicOverlay!=null&&(this.basicOverlay.setGuidanceHandler(this.createWebFindGuidanceHandler()),this.Module.addBarcodeFindBasicOverlayToView(this.coreEngine.view,this.basicOverlay));}removeBasicOverlay(){this.coreEngine.view!=null&&this.basicOverlay!=null&&this.Module.removeBarcodeFindBasicOverlayFromView(this.coreEngine.view,this.basicOverlay);}async applySettings(e){var i;(i=this.barcodeFind)==null||i.applySettings(JSON.stringify(e));}updateBasicOverlay(e){let i=Object.entries(e).filter(([t,r])=>t!=="type");for(let[t,r]of i){let d=`set${y(t)}`;this.basicOverlay!=null&&typeof this.basicOverlay[d]=="function"&&r!=null&&this.basicOverlay[d](r);}}setTransformerFunction(e){this.customerTransformation=e!=null?e:l;}successFeedback(){this.workerFunctions.postMessage({type:"successFeedback"});}listUpdatedFeedback(){this.workerFunctions.postMessage({type:"barcodeFindListUpdatedFeedback",payload:{}});}setToast(e,i){let t=this.coreEngine.hintPresenterV2;e?t==null||t.showToast(JSON.stringify(i)):t==null||t.hideToast(i.tag);}setGuidance(e,i,t){let r={tag:t,text:i,hintStyle:this.transparentGuidanceHintStyle};this.workerFunctions.postMessage({type:e?"showGuidance":"hideGuidance",payload:r});}createWebFindGuidanceHandler(){let e=this.Module.BarcodeFindGuidanceHandler.extend("BarcodeFindGuidanceHandler",{setInitialGuidance:(i,t)=>{this.setGuidance(i,t,"InitialGuidance");},setMoveCloserGuidance:(i,t)=>{this.setGuidance(false,t,"InitialGuidance"),this.setGuidance(i,t,"MoveCloserGuidance");},setTapShutterToPause:(i,t)=>{this.setGuidance(false,t,"InitialGuidance"),this.setGuidance(i,t,"TapShutterToPause");},setTapShutterToResume:(i,t)=>{this.setGuidance(false,t,"InitialGuidance"),this.setGuidance(i,t,"TapShutterResume");}});return new e}};export{u as a};