From 8900a77d7a67b9d80918321b6272aa2b59e5aac5 Mon Sep 17 00:00:00 2001 From: Lorenz Hilpert Date: Tue, 19 Nov 2024 16:27:18 +0100 Subject: [PATCH 1/5] Enhance PickupShelfInDetailsComponent with signals for order items and optimize fetching logic --- .../pickup-shelf-in-details.component.ts | 9 +++++++-- .../src/lib/store/pickup-shelf-details.store.ts | 8 ++++++-- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/apps/page/pickup-shelf/src/lib/pickup-shelf-in/pickup-shelf-in-details/pickup-shelf-in-details.component.ts b/apps/page/pickup-shelf/src/lib/pickup-shelf-in/pickup-shelf-in-details/pickup-shelf-in-details.component.ts index e0f73af3c..07c1b5258 100644 --- a/apps/page/pickup-shelf/src/lib/pickup-shelf-in/pickup-shelf-in-details/pickup-shelf-in-details.component.ts +++ b/apps/page/pickup-shelf/src/lib/pickup-shelf-in/pickup-shelf-in-details/pickup-shelf-in-details.component.ts @@ -1,4 +1,4 @@ -import { Component, ChangeDetectionStrategy, inject, OnInit, AfterViewInit, ViewChild, effect } from '@angular/core'; +import { Component, ChangeDetectionStrategy, inject, OnInit, AfterViewInit, ViewChild, effect, untracked } from '@angular/core'; import { PickupShelfDetailsBaseComponent } from '../../pickup-shelf-details-base.component'; import { AsyncPipe, NgFor, NgIf } from '@angular/common'; import { PickUpShelfDetailsHeaderComponent } from '../../shared/pickup-shelf-details-header/pickup-shelf-details-header.component'; @@ -56,6 +56,8 @@ export class PickupShelfInDetailsComponent extends PickupShelfDetailsBaseCompone orderItems$ = this.store.orderItems$.pipe(shareReplay(1)); + $orderItems = toSignal(this.orderItems$); + noOrderItemsFound$ = this.store.noOrderItemsFound$; fetchingOrder$ = this.store.fetchingOrder$; @@ -110,9 +112,12 @@ export class PickupShelfInDetailsComponent extends PickupShelfDetailsBaseCompone effect(() => { const customerNumber = this.$customerNumber(); + this.$orderItems(); if (customerNumber) { - this.store.fetchCoverOrderItems(customerNumber); + untracked(() => { + this.store.fetchCoverOrderItems(customerNumber); + }); } }); } diff --git a/apps/page/pickup-shelf/src/lib/store/pickup-shelf-details.store.ts b/apps/page/pickup-shelf/src/lib/store/pickup-shelf-details.store.ts index dad8d4bae..2bae23b3a 100644 --- a/apps/page/pickup-shelf/src/lib/store/pickup-shelf-details.store.ts +++ b/apps/page/pickup-shelf/src/lib/store/pickup-shelf-details.store.ts @@ -19,7 +19,7 @@ import { } from '@swagger/oms'; import { PickupShelfIOService, PickupShelfService } from '@domain/pickup-shelf'; import { Injectable, inject } from '@angular/core'; -import { delayWhen, filter, map, mergeMap, switchMap, take, tap, withLatestFrom } from 'rxjs/operators'; +import { delayWhen, distinctUntilChanged, filter, map, mergeMap, switchMap, take, tap, withLatestFrom } from 'rxjs/operators'; import { UiModalService } from '@ui/modal'; import { CrmCustomerService } from '@domain/crm'; import * as Selectors from './pickup-shelf-details.selectors'; @@ -28,6 +28,7 @@ import { CacheService } from '@core/cache'; import { RunCheckTrigger } from '../trigger'; import { DomainReceiptService } from '@domain/oms'; import { PickupShelfStore } from './pickup-shelf.store'; +import { isEqual } from 'lodash'; @Injectable() export class PickupShelfDetailsStore extends ComponentStore { @@ -66,7 +67,10 @@ export class PickupShelfDetailsStore extends ComponentStore s).pipe(switchMap((s) => this._listStore.itemsForPreview$(s))), - ]).pipe(map(([orderItems, itemsForPreview]) => (orderItems?.length ? orderItems : itemsForPreview))); + ]).pipe( + map(([orderItems, itemsForPreview]) => (orderItems?.length ? orderItems : itemsForPreview)), + distinctUntilChanged(isEqual), + ); get orderItems() { const orderItems = this.get(Selectors.selectOrderItems); From 1bd17fd887f45d8caf36f1971746bf6bfacd3c3f Mon Sep 17 00:00:00 2001 From: Lorenz Hilpert Date: Fri, 22 Nov 2024 16:19:32 +0100 Subject: [PATCH 2/5] Update Scandit integration to use new SDK, adjust TypeScript configuration, and refine overlay component styles --- angular.json | 5 +- .../lib/scandit/scandit-overlay.component.css | 5 +- .../scandit/scandit-overlay.component.html | 4 +- .../lib/scandit/scandit-overlay.component.ts | 119 ++++---- .../src/lib/scandit/scandit.scan-adapter.ts | 10 +- package-lock.json | 282 ++++++++++-------- package.json | 3 +- tsconfig.json | 2 +- 8 files changed, 233 insertions(+), 197 deletions(-) diff --git a/angular.json b/angular.json index a31b70fe3..08d5dc7e8 100644 --- a/angular.json +++ b/angular.json @@ -895,8 +895,7 @@ "pdfjs-dist/build/pdf", "pdfjs-dist/web/pdf_viewer", "pdfjs-dist/es5/build/pdf", - "pdfjs-dist/es5/web/pdf_viewer", - "scandit-sdk" + "pdfjs-dist/es5/web/pdf_viewer" ], "outputPath": "dist/isa-app", "index": "apps/isa-app/src/index.html", @@ -912,7 +911,7 @@ "apps/isa-app/src/manifest.webmanifest", { "glob": "**/*", - "input": "node_modules/scandit-sdk/build", + "input": "node_modules/scandit-web-datacapture-barcode/build/engine", "output": "scandit" } ], diff --git a/apps/adapter/scan/src/lib/scandit/scandit-overlay.component.css b/apps/adapter/scan/src/lib/scandit/scandit-overlay.component.css index fe809886a..06a4d7240 100644 --- a/apps/adapter/scan/src/lib/scandit/scandit-overlay.component.css +++ b/apps/adapter/scan/src/lib/scandit/scandit-overlay.component.css @@ -3,12 +3,15 @@ } .scanner-container { - width: 100vw; + /* width: 100vw; height: 100vh; + max-width: 100vh; + max-height: 100vh; */ } .close-scanner { @apply absolute bottom-12 left-[50%] -translate-x-[50%] block px-6 py-4 bg-white text-brand border-2 border-solid border-brand rounded-full text-lg font-bold mx-auto mt-4; + @apply whitespace-nowrap; } @screen desktop { diff --git a/apps/adapter/scan/src/lib/scandit/scandit-overlay.component.html b/apps/adapter/scan/src/lib/scandit/scandit-overlay.component.html index 150b85098..96f5dc5c8 100644 --- a/apps/adapter/scan/src/lib/scandit/scandit-overlay.component.html +++ b/apps/adapter/scan/src/lib/scandit/scandit-overlay.component.html @@ -1,4 +1,2 @@
- + diff --git a/apps/adapter/scan/src/lib/scandit/scandit-overlay.component.ts b/apps/adapter/scan/src/lib/scandit/scandit-overlay.component.ts index cd2871620..bd7166fc7 100644 --- a/apps/adapter/scan/src/lib/scandit/scandit-overlay.component.ts +++ b/apps/adapter/scan/src/lib/scandit/scandit-overlay.component.ts @@ -1,6 +1,7 @@ -import { Component, ChangeDetectionStrategy, ElementRef, ViewChild, NgZone, AfterViewInit, OnDestroy } from '@angular/core'; -import { UiMessageModalComponent, UiModalService } from '@ui/modal'; -import { Barcode, BarcodePicker, ScanResult, ScanSettings } from 'scandit-sdk'; +import { Component, ChangeDetectionStrategy, ElementRef, ViewChild, NgZone, AfterViewInit, OnDestroy, OnInit } from '@angular/core'; +import { UiModalService } from '@ui/modal'; +import { BarcodeCapture, BarcodeCaptureSettings, Symbology } from 'scandit-web-datacapture-barcode'; +import { Camera, DataCaptureContext, DataCaptureView, FrameSourceState } from 'scandit-web-datacapture-core'; @Component({ selector: 'app-scandit-overlay', @@ -8,8 +9,11 @@ import { Barcode, BarcodePicker, ScanResult, ScanSettings } from 'scandit-sdk'; styleUrls: ['scandit-overlay.component.css'], changeDetection: ChangeDetectionStrategy.OnPush, }) -export class ScanditOverlayComponent implements AfterViewInit, OnDestroy { - private _barcodePicker: BarcodePicker; +export class ScanditOverlayComponent implements OnInit, AfterViewInit, OnDestroy { + private dataCaptureContext: DataCaptureContext; + private dataCaptureView: DataCaptureView; + private barcodeCapture: BarcodeCapture; + private camera: Camera; private _onScan?: (code: string) => void; @@ -17,54 +21,61 @@ export class ScanditOverlayComponent implements AfterViewInit, OnDestroy { @ViewChild('scanContainer', { read: ElementRef, static: true }) scanContainer: ElementRef; - constructor(private _zone: NgZone, private _modal: UiModalService) {} + constructor( + private _zone: NgZone, + private _modal: UiModalService, + ) {} - ngAfterViewInit(): void { - this.createBarcodePicker() - .then(() => { - this._barcodePicker.on('scan', (scanResult) => { - this._zone.run(() => this.handleScanrResult(scanResult)); + ngOnInit(): void { + this.dataCaptureView = new DataCaptureView(); + + this.dataCaptureView.connectToElement(this.scanContainer.nativeElement); + + this.dataCaptureView.showProgressBar(); + } + + async ngAfterViewInit() { + this.dataCaptureContext = await DataCaptureContext.create(); + + this.dataCaptureView.setContext(this.dataCaptureContext); + + this.barcodeCapture = await BarcodeCapture.forContext(this.dataCaptureContext, this.getScanSettings()); + + this.barcodeCapture.addListener({ + didScan: (_, session, __) => { + this._zone.run(() => { + const result = session.newlyRecognizedBarcode; + + const code = result?.data ?? ''; + + this._onScan?.(code); }); - }) - .catch((err: Error) => { - this._modal - .open({ - content: UiMessageModalComponent, - title: 'Zugriff auf Kamera verweigert', - data: { message: 'Falls Sie den Zugriff erlauben möchten, können Sie das über die Webseiteinstellung Ihres Browsers.' }, - }) - .afterClosed$.subscribe(() => { - this._onClose?.(); - }); - }); - } - - async createBarcodePicker() { - this._barcodePicker = await BarcodePicker.create(this.scanContainer.nativeElement, { - playSoundOnScan: true, - vibrateOnScan: true, + }, }); - this._barcodePicker.applyScanSettings(this.getScanSettings()); + this.camera = Camera.default; + + this.dataCaptureContext.setFrameSource(this.camera); + + await this.camera.switchToDesiredState(FrameSourceState.On); + this.dataCaptureView.hideProgressBar(); } - getScanSettings(): ScanSettings { - return new ScanSettings({ - blurryRecognition: false, + getScanSettings(): BarcodeCaptureSettings { + const settings = new BarcodeCaptureSettings(); - enabledSymbologies: [ - Barcode.Symbology.EAN8, - Barcode.Symbology.EAN13, - Barcode.Symbology.UPCA, - Barcode.Symbology.UPCE, - Barcode.Symbology.CODE128, - Barcode.Symbology.CODE39, - Barcode.Symbology.CODE93, - Barcode.Symbology.INTERLEAVED_2_OF_5, - Barcode.Symbology.QR, - ], - codeDuplicateFilter: 1000, - }); + settings.enableSymbologies([ + Symbology.EAN8, + Symbology.EAN13UPCA, + Symbology.UPCE, + Symbology.Code128, + Symbology.Code39, + Symbology.Code93, + Symbology.InterleavedTwoOfFive, + Symbology.QR, + ]); + + return settings; } onScan(fn: (code: string) => void) { @@ -75,26 +86,14 @@ export class ScanditOverlayComponent implements AfterViewInit, OnDestroy { this._onClose = fn; } - handleScanrResult(scanRestul: ScanResult) { - let result: string | undefined; - if (scanRestul.barcodes.length) { - result = scanRestul.barcodes[0].data; - } else if (scanRestul.texts.length) { - result = scanRestul.texts[0].value; - } - - if (result) { - this._onScan?.(result); - } - } - close() { this._onClose?.(); } ngOnDestroy(): void { this._zone.runOutsideAngular(() => { - this._barcodePicker?.destroy(true); + this.barcodeCapture?.setEnabled(false); + this.camera?.switchToDesiredState(FrameSourceState.Off); }); } } diff --git a/apps/adapter/scan/src/lib/scandit/scandit.scan-adapter.ts b/apps/adapter/scan/src/lib/scandit/scandit.scan-adapter.ts index fe651532e..807a3a2fb 100644 --- a/apps/adapter/scan/src/lib/scandit/scandit.scan-adapter.ts +++ b/apps/adapter/scan/src/lib/scandit/scandit.scan-adapter.ts @@ -3,7 +3,9 @@ import { Observable, Subscriber } from 'rxjs'; import { ScanAdapter } from '../scan-adapter'; import { Overlay } from '@angular/cdk/overlay'; -import { configure } from 'scandit-sdk'; +import { configure } from 'scandit-web-datacapture-core'; +import { barcodeCaptureLoader } from 'scandit-web-datacapture-barcode'; + // import { ScanditModalComponent } from './scandit-modal'; import { Config } from '@core/config'; import { ComponentPortal } from '@angular/cdk/portal'; @@ -26,8 +28,10 @@ export class ScanditScanAdapter implements ScanAdapter { async init(): Promise { if (this._environmentService.isTablet()) { - await configure(this._config.get('licence.scandit'), { - engineLocation: '/scandit/', + await configure({ + licenseKey: this._config.get('licence.scandit'), + libraryLocation: new URL('scandit', document.baseURI).toString(), + moduleLoaders: [barcodeCaptureLoader()], }); return true; diff --git a/package-lock.json b/package-lock.json index 631cdca02..7222e784e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -34,7 +34,8 @@ "ng2-pdf-viewer": "^10.2.2", "parse-duration": "^1.1.0", "rxjs": "~7.8.0", - "scandit-sdk": "^5.15.0", + "scandit-web-datacapture-barcode": "^6.28.1", + "scandit-web-datacapture-core": "^6.28.1", "socket.io": "^4.5.4", "tslib": "^2.3.0", "uuid": "^8.3.2", @@ -2611,18 +2612,6 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/runtime-corejs2": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs2/-/runtime-corejs2-7.22.15.tgz", - "integrity": "sha512-CcAMW2o5uqgeXIXYYPrgmaYj1HOLvQb2DrBi7+bELD4nUVSKk+Sth+yYuGqSRf+aAiOv3sIZJTUiJBhoASJRLg==", - "dependencies": { - "core-js": "^2.6.12", - "regenerator-runtime": "^0.14.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/template": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.7.tgz", @@ -3280,11 +3269,6 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@juggle/resize-observer": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@juggle/resize-observer/-/resize-observer-3.4.0.tgz", - "integrity": "sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==" - }, "node_modules/@leichtgewicht/ip-codec": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", @@ -4528,6 +4512,11 @@ "@types/node": "*" } }, + "node_modules/@types/emscripten": { + "version": "1.39.13", + "resolved": "https://registry.npmjs.org/@types/emscripten/-/emscripten-1.39.13.tgz", + "integrity": "sha512-cFq+fO/isvhvmuP/+Sl4K4jtU6E23DoivtbO4r50e3odaxAiVdbfSYRDdJ4gCdxx+3aRjhphS5ZMwIH4hFy/Cw==" + }, "node_modules/@types/eslint": { "version": "8.44.2", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.2.tgz", @@ -4578,6 +4567,11 @@ "@types/send": "*" } }, + "node_modules/@types/howler": { + "version": "2.2.12", + "resolved": "https://registry.npmjs.org/@types/howler/-/howler-2.2.12.tgz", + "integrity": "sha512-hy769UICzOSdK0Kn1FBk4gN+lswcj1EKRkmiDtMkUGvFfYJzgaDXmVXkSShS2m89ERAatGIPnTUlp2HhfkVo5g==" + }, "node_modules/@types/http-errors": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", @@ -4599,6 +4593,11 @@ "integrity": "sha512-S6pvzQDvMZHrkBz2Mcn/8Du7cpr76PlRJBAoHnSDNbulULsH5dp0Gns+WRyNX5LHejz/ljxK4/vIHK/caHt6SQ==", "dev": true }, + "node_modules/@types/js-cookie": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/@types/js-cookie/-/js-cookie-2.2.7.tgz", + "integrity": "sha512-aLkWa0C0vO5b4Sr798E26QgOkss68Un0bLjs7u9qxzPT5CG+8DuNTffWES58YzJs3hrVAOs1wonycqEBqNJubA==" + }, "node_modules/@types/json-schema": { "version": "7.0.12", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", @@ -4625,6 +4624,11 @@ "@types/node": "*" } }, + "node_modules/@types/offscreencanvas": { + "version": "2019.7.3", + "resolved": "https://registry.npmjs.org/@types/offscreencanvas/-/offscreencanvas-2019.7.3.tgz", + "integrity": "sha512-ieXiYmgSRXUDeOntE1InxjWyvEelZGP63M+cGuquuRLuIKKT1osnkXjxev9B7d1nXSug5vpunx+gNlbVxMlC9A==" + }, "node_modules/@types/qs": { "version": "6.9.15", "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.15.tgz", @@ -4690,6 +4694,11 @@ "@types/node": "*" } }, + "node_modules/@types/ua-parser-js": { + "version": "0.7.39", + "resolved": "https://registry.npmjs.org/@types/ua-parser-js/-/ua-parser-js-0.7.39.tgz", + "integrity": "sha512-P/oDfpofrdtF5xw433SPALpdSchtJmY7nsJItf8h3KXqOslkbySh8zq4dSWXH2oTjRvJ5PczVEoCZPow6GicLg==" + }, "node_modules/@types/uuid": { "version": "8.3.4", "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz", @@ -6193,13 +6202,6 @@ "node": ">=10.13.0" } }, - "node_modules/core-js": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", - "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", - "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", - "hasInstallScript": true - }, "node_modules/core-js-compat": { "version": "3.37.1", "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.1.tgz", @@ -6425,9 +6427,9 @@ } }, "node_modules/csstype": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", - "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" }, "node_modules/custom-event": { "version": "1.0.1", @@ -8222,9 +8224,9 @@ } }, "node_modules/howler": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/howler/-/howler-2.2.3.tgz", - "integrity": "sha512-QM0FFkw0LRX1PR8pNzJVAY25JhIWvbKMBFM4gqk+QdV+kPXOhleWGCB6AiAF/goGjIHK2e/nIElplvjQwhr0jg==" + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/howler/-/howler-2.2.4.tgz", + "integrity": "sha512-iARIBPgcQrwtEr+tALF+rapJ8qSc+Set2GJQl7xT1MQzWaVkFebdJhR3alVlSiUf5U7nAANKuj3aWpwerocD5w==" }, "node_modules/hpack.js": { "version": "2.1.6", @@ -9412,14 +9414,6 @@ "integrity": "sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw==", "dev": true }, - "node_modules/js-cookie": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.5.tgz", - "integrity": "sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==", - "engines": { - "node": ">=14" - } - }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -11427,11 +11421,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/objectFitPolyfill": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/objectFitPolyfill/-/objectFitPolyfill-2.3.5.tgz", - "integrity": "sha512-8Quz071ZmGi0QWEG4xB3Bv5Lpw6K0Uca87FLoLMKMWjB6qIq9IyBegP3b/VLNxv2WYvIMGoeUQ+c6ibUkNa8TA==" - }, "node_modules/obuf": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", @@ -12742,7 +12731,8 @@ "node_modules/regenerator-runtime": { "version": "0.14.1", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", + "dev": true }, "node_modules/regenerator-transform": { "version": "0.15.2", @@ -13282,36 +13272,60 @@ "dev": true, "optional": true }, - "node_modules/scandit-sdk": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/scandit-sdk/-/scandit-sdk-5.15.0.tgz", - "integrity": "sha512-n7JQmwle8b7dIwA0ON2fdsuhJBLDYrRaA46EjZjanMWww6tScKDOGI+2hok91uSWIGZHr5f4r5rF+SaOdgvYQQ==", - "deprecated": "This package has been deprecated. A new version of the Scandit Data Capture SDK which includes performance improvements and additional features is available at https://www.npmjs.com/package/scandit-web-datacapture-barcode.", + "node_modules/scandit-web-datacapture-barcode": { + "version": "6.28.1", + "resolved": "https://registry.npmjs.org/scandit-web-datacapture-barcode/-/scandit-web-datacapture-barcode-6.28.1.tgz", + "integrity": "sha512-NPMaSCwV2LL8IeEvzzT41S0LXLado8EVIqbu8LaFCBtHcob8TcKG98Vjm5xFnmoc6wNOefTppTMaAG2g9YMS2Q==", "dependencies": { - "@babel/runtime-corejs2": "^7.20.13", - "@juggle/resize-observer": "^3.4.0", - "csstype": "^3.1.1", - "eventemitter3": "^5.0.0", - "howler": "^2.2.3", - "js-cookie": "^3.0.1", - "objectFitPolyfill": "^2.3.5", - "tslib": "^2.4.1", - "ua-parser-js": "^1.0.33" + "@types/emscripten": "^1.39.6" }, "engines": { - "node": ">=10.18", - "yarn": ">=1.22.18" + "node": ">=16.0.0", + "npm": ">=7.0.0" + }, + "peerDependencies": { + "scandit-web-datacapture-core": "6.28.1" } }, - "node_modules/scandit-sdk/node_modules/eventemitter3": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", - "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==" + "node_modules/scandit-web-datacapture-core": { + "version": "6.28.1", + "resolved": "https://registry.npmjs.org/scandit-web-datacapture-core/-/scandit-web-datacapture-core-6.28.1.tgz", + "integrity": "sha512-TFXTb5UCd6EkSCIiwzW29CXsMn77fClS61rWsM7iZ1YfJzXkXwxsXC6FMlKJ7Ozq2HDh4OEbyq4IXlaymDo1DA==", + "dependencies": { + "@types/howler": "^2.2.11", + "@types/js-cookie": "^2.2.6", + "@types/offscreencanvas": "^2019.7.3", + "@types/ua-parser-js": "^0.7.39", + "csstype": "^3.1.3", + "howler": "^2.2.4", + "js-cookie": "^2.2.1", + "ua-parser-js": "^1.0.37", + "wasm-feature-detect": "^1.6.1" + }, + "engines": { + "node": ">=16.0.0", + "npm": ">=7.0.0" + }, + "peerDependencies": { + "electron": ">= 28" + }, + "peerDependenciesMeta": { + "electron": { + "description": "Required when used in electron context", + "optional": true, + "suggested": false + } + } }, - "node_modules/scandit-sdk/node_modules/ua-parser-js": { - "version": "1.0.36", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.36.tgz", - "integrity": "sha512-znuyCIXzl8ciS3+y3fHJI/2OhQIXbXw9MWC/o3qwyR+RGppjZHrM27CGFSKCJXi2Kctiz537iOu2KnXs1lMQhw==", + "node_modules/scandit-web-datacapture-core/node_modules/js-cookie": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-2.2.1.tgz", + "integrity": "sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ==" + }, + "node_modules/scandit-web-datacapture-core/node_modules/ua-parser-js": { + "version": "1.0.39", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.39.tgz", + "integrity": "sha512-k24RCVWlEcjkdOxYmVJgeD/0a1TiSpqLg+ZalVGV9lsnr4yqu0w7tX/x2xX6G4zpkgQnRf89lxuZ1wsbjXM8lw==", "funding": [ { "type": "opencollective", @@ -13326,6 +13340,9 @@ "url": "https://github.com/sponsors/faisalman" } ], + "bin": { + "ua-parser-js": "script/cli.js" + }, "engines": { "node": "*" } @@ -15593,6 +15610,11 @@ "node": ">=0.10.0" } }, + "node_modules/wasm-feature-detect": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/wasm-feature-detect/-/wasm-feature-detect-1.8.0.tgz", + "integrity": "sha512-zksaLKM2fVlnB5jQQDqKXXwYHLQUVH9es+5TOOHwGOVJOCeRBCiPjwSg+3tN2AdTCzjgli4jijCH290kXb/zWQ==" + }, "node_modules/watchpack": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", @@ -17865,15 +17887,6 @@ "regenerator-runtime": "^0.14.0" } }, - "@babel/runtime-corejs2": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs2/-/runtime-corejs2-7.22.15.tgz", - "integrity": "sha512-CcAMW2o5uqgeXIXYYPrgmaYj1HOLvQb2DrBi7+bELD4nUVSKk+Sth+yYuGqSRf+aAiOv3sIZJTUiJBhoASJRLg==", - "requires": { - "core-js": "^2.6.12", - "regenerator-runtime": "^0.14.0" - } - }, "@babel/template": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.7.tgz", @@ -18258,11 +18271,6 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "@juggle/resize-observer": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@juggle/resize-observer/-/resize-observer-3.4.0.tgz", - "integrity": "sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==" - }, "@leichtgewicht/ip-codec": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", @@ -19161,6 +19169,11 @@ "@types/node": "*" } }, + "@types/emscripten": { + "version": "1.39.13", + "resolved": "https://registry.npmjs.org/@types/emscripten/-/emscripten-1.39.13.tgz", + "integrity": "sha512-cFq+fO/isvhvmuP/+Sl4K4jtU6E23DoivtbO4r50e3odaxAiVdbfSYRDdJ4gCdxx+3aRjhphS5ZMwIH4hFy/Cw==" + }, "@types/eslint": { "version": "8.44.2", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.2.tgz", @@ -19211,6 +19224,11 @@ "@types/send": "*" } }, + "@types/howler": { + "version": "2.2.12", + "resolved": "https://registry.npmjs.org/@types/howler/-/howler-2.2.12.tgz", + "integrity": "sha512-hy769UICzOSdK0Kn1FBk4gN+lswcj1EKRkmiDtMkUGvFfYJzgaDXmVXkSShS2m89ERAatGIPnTUlp2HhfkVo5g==" + }, "@types/http-errors": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", @@ -19232,6 +19250,11 @@ "integrity": "sha512-S6pvzQDvMZHrkBz2Mcn/8Du7cpr76PlRJBAoHnSDNbulULsH5dp0Gns+WRyNX5LHejz/ljxK4/vIHK/caHt6SQ==", "dev": true }, + "@types/js-cookie": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/@types/js-cookie/-/js-cookie-2.2.7.tgz", + "integrity": "sha512-aLkWa0C0vO5b4Sr798E26QgOkss68Un0bLjs7u9qxzPT5CG+8DuNTffWES58YzJs3hrVAOs1wonycqEBqNJubA==" + }, "@types/json-schema": { "version": "7.0.12", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", @@ -19258,6 +19281,11 @@ "@types/node": "*" } }, + "@types/offscreencanvas": { + "version": "2019.7.3", + "resolved": "https://registry.npmjs.org/@types/offscreencanvas/-/offscreencanvas-2019.7.3.tgz", + "integrity": "sha512-ieXiYmgSRXUDeOntE1InxjWyvEelZGP63M+cGuquuRLuIKKT1osnkXjxev9B7d1nXSug5vpunx+gNlbVxMlC9A==" + }, "@types/qs": { "version": "6.9.15", "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.15.tgz", @@ -19323,6 +19351,11 @@ "@types/node": "*" } }, + "@types/ua-parser-js": { + "version": "0.7.39", + "resolved": "https://registry.npmjs.org/@types/ua-parser-js/-/ua-parser-js-0.7.39.tgz", + "integrity": "sha512-P/oDfpofrdtF5xw433SPALpdSchtJmY7nsJItf8h3KXqOslkbySh8zq4dSWXH2oTjRvJ5PczVEoCZPow6GicLg==" + }, "@types/uuid": { "version": "8.3.4", "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz", @@ -20481,11 +20514,6 @@ } } }, - "core-js": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", - "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==" - }, "core-js-compat": { "version": "3.37.1", "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.1.tgz", @@ -20647,9 +20675,9 @@ "dev": true }, "csstype": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", - "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" }, "custom-event": { "version": "1.0.1", @@ -22001,9 +22029,9 @@ } }, "howler": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/howler/-/howler-2.2.3.tgz", - "integrity": "sha512-QM0FFkw0LRX1PR8pNzJVAY25JhIWvbKMBFM4gqk+QdV+kPXOhleWGCB6AiAF/goGjIHK2e/nIElplvjQwhr0jg==" + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/howler/-/howler-2.2.4.tgz", + "integrity": "sha512-iARIBPgcQrwtEr+tALF+rapJ8qSc+Set2GJQl7xT1MQzWaVkFebdJhR3alVlSiUf5U7nAANKuj3aWpwerocD5w==" }, "hpack.js": { "version": "2.1.6", @@ -22862,11 +22890,6 @@ "integrity": "sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw==", "dev": true }, - "js-cookie": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.5.tgz", - "integrity": "sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==" - }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -24385,11 +24408,6 @@ "object-keys": "^1.1.1" } }, - "objectFitPolyfill": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/objectFitPolyfill/-/objectFitPolyfill-2.3.5.tgz", - "integrity": "sha512-8Quz071ZmGi0QWEG4xB3Bv5Lpw6K0Uca87FLoLMKMWjB6qIq9IyBegP3b/VLNxv2WYvIMGoeUQ+c6ibUkNa8TA==" - }, "obuf": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", @@ -25317,7 +25335,8 @@ "regenerator-runtime": { "version": "0.14.1", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", + "dev": true }, "regenerator-transform": { "version": "0.15.2", @@ -25689,31 +25708,39 @@ "dev": true, "optional": true }, - "scandit-sdk": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/scandit-sdk/-/scandit-sdk-5.15.0.tgz", - "integrity": "sha512-n7JQmwle8b7dIwA0ON2fdsuhJBLDYrRaA46EjZjanMWww6tScKDOGI+2hok91uSWIGZHr5f4r5rF+SaOdgvYQQ==", + "scandit-web-datacapture-barcode": { + "version": "6.28.1", + "resolved": "https://registry.npmjs.org/scandit-web-datacapture-barcode/-/scandit-web-datacapture-barcode-6.28.1.tgz", + "integrity": "sha512-NPMaSCwV2LL8IeEvzzT41S0LXLado8EVIqbu8LaFCBtHcob8TcKG98Vjm5xFnmoc6wNOefTppTMaAG2g9YMS2Q==", "requires": { - "@babel/runtime-corejs2": "^7.20.13", - "@juggle/resize-observer": "^3.4.0", - "csstype": "^3.1.1", - "eventemitter3": "^5.0.0", - "howler": "^2.2.3", - "js-cookie": "^3.0.1", - "objectFitPolyfill": "^2.3.5", - "tslib": "^2.4.1", - "ua-parser-js": "^1.0.33" + "@types/emscripten": "^1.39.6" + } + }, + "scandit-web-datacapture-core": { + "version": "6.28.1", + "resolved": "https://registry.npmjs.org/scandit-web-datacapture-core/-/scandit-web-datacapture-core-6.28.1.tgz", + "integrity": "sha512-TFXTb5UCd6EkSCIiwzW29CXsMn77fClS61rWsM7iZ1YfJzXkXwxsXC6FMlKJ7Ozq2HDh4OEbyq4IXlaymDo1DA==", + "requires": { + "@types/howler": "^2.2.11", + "@types/js-cookie": "^2.2.6", + "@types/offscreencanvas": "^2019.7.3", + "@types/ua-parser-js": "^0.7.39", + "csstype": "^3.1.3", + "howler": "^2.2.4", + "js-cookie": "^2.2.1", + "ua-parser-js": "^1.0.37", + "wasm-feature-detect": "^1.6.1" }, "dependencies": { - "eventemitter3": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", - "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==" + "js-cookie": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-2.2.1.tgz", + "integrity": "sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ==" }, "ua-parser-js": { - "version": "1.0.36", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.36.tgz", - "integrity": "sha512-znuyCIXzl8ciS3+y3fHJI/2OhQIXbXw9MWC/o3qwyR+RGppjZHrM27CGFSKCJXi2Kctiz537iOu2KnXs1lMQhw==" + "version": "1.0.39", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.39.tgz", + "integrity": "sha512-k24RCVWlEcjkdOxYmVJgeD/0a1TiSpqLg+ZalVGV9lsnr4yqu0w7tX/x2xX6G4zpkgQnRf89lxuZ1wsbjXM8lw==" } } }, @@ -27245,6 +27272,11 @@ "integrity": "sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung==", "dev": true }, + "wasm-feature-detect": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/wasm-feature-detect/-/wasm-feature-detect-1.8.0.tgz", + "integrity": "sha512-zksaLKM2fVlnB5jQQDqKXXwYHLQUVH9es+5TOOHwGOVJOCeRBCiPjwSg+3tN2AdTCzjgli4jijCH290kXb/zWQ==" + }, "watchpack": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", diff --git a/package.json b/package.json index 5412537d3..4550832c7 100644 --- a/package.json +++ b/package.json @@ -85,7 +85,8 @@ "ng2-pdf-viewer": "^10.2.2", "parse-duration": "^1.1.0", "rxjs": "~7.8.0", - "scandit-sdk": "^5.15.0", + "scandit-web-datacapture-barcode": "^6.28.1", + "scandit-web-datacapture-core": "^6.28.1", "socket.io": "^4.5.4", "tslib": "^2.3.0", "uuid": "^8.3.2", diff --git a/tsconfig.json b/tsconfig.json index e7e7ff355..cc1c9380b 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -17,7 +17,7 @@ "node_modules/@types" ], "lib": [ - "es2018", + "es2020", "dom" ], "paths": { From ed8e93792434de80da5a883372046ab7574d7d4b Mon Sep 17 00:00:00 2001 From: Lorenz Hilpert Date: Fri, 22 Nov 2024 17:26:27 +0100 Subject: [PATCH 3/5] Update Scandit license keys across configuration files --- apps/isa-app/src/config/config.feature.json | 2 +- apps/isa-app/src/config/config.integration.json | 2 +- apps/isa-app/src/config/config.json | 2 +- apps/isa-app/src/config/config.production.json | 2 +- apps/isa-app/src/config/config.staging.json | 2 +- apps/isa-app/src/config/config.test.json | 3 +-- 6 files changed, 6 insertions(+), 7 deletions(-) diff --git a/apps/isa-app/src/config/config.feature.json b/apps/isa-app/src/config/config.feature.json index 5474d553e..bd3f8dda3 100644 --- a/apps/isa-app/src/config/config.feature.json +++ b/apps/isa-app/src/config/config.feature.json @@ -73,7 +73,7 @@ }, "checkForUpdates": 3600000, "licence": { - "scandit": "Ac2kvx5ZOzjvFl/LuAd6wds3C30YJ4g8Cm6PX4sgUnKPePVMuH+rFQIyVNn1YdS3myORojEOBsIZWhMw2nRUGBtOnQ5FO+cRHgQu0pkP+VG6OYvt8ETUTn8Aa2f9bmfqclO3LI8WN8psWr+adkZEtqNTvCgyDLZaICh8S7RfmwJVVWaOPX4LDagGhLDPS2YQdg+ibpR0l0ZlX2h/3GttofE64HOlBN3QtDB8yihHJNgVcUVy2UQVS+BXOyvIfZEFbFgPYVt5HZ0aQgcISlYVAmJvRsHyeKYRUnIi3ZN73EQmHzWcOV4/HWVoTs1MTW0mxV074vNwqExYW9LYmz9zgLUD7FMnKMFClkzRBHRN1CC7brosCnFkZWQp3CV4Ua48Fn9GW0Zpn/4MIZgzSU26inl5ZnT3dCc2+3BH3Us1uugTUrOPwFuwsPpr4NZYXWJMOmcm4kBBVJd0Uwk28GyZM7x1hXADcQgcc23+gDtbbUZWVmr3TE7GBcV3j+XUeOk8nHZw3DsYJ46MT2sSfks3QXRl4tBkBad6M+UxW4tb2IQC/4K9IXKhDN8VYXpzrrRHJNvOiH5+NrixthDZHHd/MGNuBDrJFOuXq8L7O6PxBoVZ0NPXmCO5vKyYdhBz5gJ5u3vNkSke7p+cDcvFicsVyNWRaaoFL0UN9gxFVMY8hkJKBZyGxZL2LEDXD44PxPsDnygpDC1Jyc7pkhEA0fKSc9aXZb1HDpwe1hqyyRVBtHkgPiN78GmJImbaUlj8XsK3yVyAjs2XvPR0/3ASHS53ViwzWKL3Oi8I515IJDtDhlvrkeh7MrWMaEu9k6ZQXJi1uJsh3JGfyS+yDlPjePVdsVqnZ4uw9pKMXvjlJeNcIiGM2Cf5S89nk2Qe/56MrKB9Frm6Q5wQHai8TNdCZYBi67dmAX8KHPXvEU4K6KyyW89YGcabZQ3eOJDr4oqW9ZcYPBttREdH3WI/HxvpEq6bqoDhT9AxpIWEMVb6y/DcDHSEresepibug4qOr9xOPq0yk2uiWYhPubFnCk7thQCXOGv9crWnQoOrt9c1qoaWXM4YmKqfcaQ67Tn+uFQmYTZyqw4jlJU4GgKe5/GNCVQM5aNUg1J0Px1NlFCS+rrIDyMQp0byFcgTd/E9sA5d1+YZKHKmJiQwEAz6oU9yyoUlxntSI42GHB/UttPc7Hj14V5+oJ+Yz+CZodmkXFg57Vx4NuxveNtO" + "scandit": "ApI1Sg5/KzWICPhn0CbflI4cjgXiFkKnhgEmUvAt0D3CWsck0SCIm557hJvGTqXD0A1mt3IvEwA8eQ1CBXL3EoA9lASWUcLt+FSWP9gHao+LT6Oz9QMrsJoJRC/OboodKS4/F+ZVa02eUT53X0GX9jJeEnh8EerqZimrl6oDjNLvHCzBnxtmsMZidAUaErqK5yaQQCkUKcfTQhRzVhqvsjdENR76EmrrvCSr93oMCnnDHjcyOz8O3stcNrCOGbxwDBIMwf05CzoEBhxF9SoT/fwvfWa9BRvlMTxl9lUUE2f3Aw9+0CBG7PYgZ9XGCiCM2Wy9T5cf0C5MOLr2MAIgQrlDua0oEtmC5FjFojQHJEITRmLyQnAyUU8Y+jkUUCtQNmweZKtTQT9le+G9QCzRoSsmVsVxCKxII3+8iLA+Lh9meI/vJSaQ2VpDgZVrV1Vc4V/z0Exu7Ap7R0MpzCy4hhRzdpWgf4OG815ZctwMvM7qfBqykG98B9oP3YC/LG+cpVK4Ipx5VnWBUIwVHDiocHhMjyroTBAeH3BfeCdOEpKwNK9vOxrbvUpqAc8ZOaaal08hWgFVFR8BQN+rEkiqKx5fONRXefkkyUWMdqwvoBn7ZzCr+F9GmD52Q7ZuDcyAigm2ArwDipT9QUH7gxphogcKRNAWAyaENWWKRBFWmeNYXJOuGXLr05Zye7joGFbJHxPYyUJ6KMombmYlI2GHc4JQGJNneDuL93v8AkYcfM2WfOjf0hm+SVw0TP95bD1xJwSCoKO5L6FxqMu5GPcOqik3sjGHg6XsEr10m7jt7G2PfNTgS3ft+TP32OjeSu9M80Fu3nmeqLM4a4lx9fFbGMpWDEU9wdftmPByeW7KoXyS2bkd1Mg9UP8ci0nKo2d/ThPn+iMEjXSibNeIGibaIT4ys3pjDLW2mx0IxQpwnuQfZzAHBszpMkwKuG4+FrqXff9+bZGuRQlVwhm2v5xbKRjgi99i14QkuNVUkePxllLZGFgQH0DjsLINZb+R9stBYjQmMGc2kkJfyhHx2/zvT2D2mpgcaq0ZRKco2CqDiLUJoHwLPse/fu4PWvqSKVpwiqhCehuloWTE3jkFUncwDI50hPvrfCx92cOJUE8RTsQgDoAh7JKsPHctSZfUicZyLHOuHMhtIoxs6l/lzFowbhZob/Uo7aRsipOcP/iZgEPnMEu/obXcLR3QrlQ+WuEppU4g2MZ9+xENLCqVDLEHiz+jZIvl42ePc4Ip4lJ5RQFcSSR1yYb+z/4KB/3bc308PHnEMEB5TYvVpK7M3kg2CTjos5lh733qQKwqYamgFjpr5oPUxRYwRvj41GYpcLN3Tr4WOi4lfevR5eVFBu1Jc9baY8JIOvcCL5WhXsEemnx5dUhcnP2ozloFCvU1IS60KHkXtF4NJl89tu5EECquTN5Lf9cvtIhlbmPsVg==" }, "gender": { "0": "Keine Anrede", diff --git a/apps/isa-app/src/config/config.integration.json b/apps/isa-app/src/config/config.integration.json index 751a658fc..63f9bab66 100644 --- a/apps/isa-app/src/config/config.integration.json +++ b/apps/isa-app/src/config/config.integration.json @@ -72,7 +72,7 @@ }, "checkForUpdates": 900000, "licence": { - "scandit": "Ac2kvx5ZOzjvFl/LuAd6wds3C30YJ4g8Cm6PX4sgUnKPePVMuH+rFQIyVNn1YdS3myORojEOBsIZWhMw2nRUGBtOnQ5FO+cRHgQu0pkP+VG6OYvt8ETUTn8Aa2f9bmfqclO3LI8WN8psWr+adkZEtqNTvCgyDLZaICh8S7RfmwJVVWaOPX4LDagGhLDPS2YQdg+ibpR0l0ZlX2h/3GttofE64HOlBN3QtDB8yihHJNgVcUVy2UQVS+BXOyvIfZEFbFgPYVt5HZ0aQgcISlYVAmJvRsHyeKYRUnIi3ZN73EQmHzWcOV4/HWVoTs1MTW0mxV074vNwqExYW9LYmz9zgLUD7FMnKMFClkzRBHRN1CC7brosCnFkZWQp3CV4Ua48Fn9GW0Zpn/4MIZgzSU26inl5ZnT3dCc2+3BH3Us1uugTUrOPwFuwsPpr4NZYXWJMOmcm4kBBVJd0Uwk28GyZM7x1hXADcQgcc23+gDtbbUZWVmr3TE7GBcV3j+XUeOk8nHZw3DsYJ46MT2sSfks3QXRl4tBkBad6M+UxW4tb2IQC/4K9IXKhDN8VYXpzrrRHJNvOiH5+NrixthDZHHd/MGNuBDrJFOuXq8L7O6PxBoVZ0NPXmCO5vKyYdhBz5gJ5u3vNkSke7p+cDcvFicsVyNWRaaoFL0UN9gxFVMY8hkJKBZyGxZL2LEDXD44PxPsDnygpDC1Jyc7pkhEA0fKSc9aXZb1HDpwe1hqyyRVBtHkgPiN78GmJImbaUlj8XsK3yVyAjs2XvPR0/3ASHS53ViwzWKL3Oi8I515IJDtDhlvrkeh7MrWMaEu9k6ZQXJi1uJsh3JGfyS+yDlPjePVdsVqnZ4uw9pKMXvjlJeNcIiGM2Cf5S89nk2Qe/56MrKB9Frm6Q5wQHai8TNdCZYBi67dmAX8KHPXvEU4K6KyyW89YGcabZQ3eOJDr4oqW9ZcYPBttREdH3WI/HxvpEq6bqoDhT9AxpIWEMVb6y/DcDHSEresepibug4qOr9xOPq0yk2uiWYhPubFnCk7thQCXOGv9crWnQoOrt9c1qoaWXM4YmKqfcaQ67Tn+uFQmYTZyqw4jlJU4GgKe5/GNCVQM5aNUg1J0Px1NlFCS+rrIDyMQp0byFcgTd/E9sA5d1+YZKHKmJiQwEAz6oU9yyoUlxntSI42GHB/UttPc7Hj14V5+oJ+Yz+CZodmkXFg57Vx4NuxveNtO" + "scandit": "ApI1Sg5/KzWICPhn0CbflI4cjgXiFkKnhgEmUvAt0D3CWsck0SCIm557hJvGTqXD0A1mt3IvEwA8eQ1CBXL3EoA9lASWUcLt+FSWP9gHao+LT6Oz9QMrsJoJRC/OboodKS4/F+ZVa02eUT53X0GX9jJeEnh8EerqZimrl6oDjNLvHCzBnxtmsMZidAUaErqK5yaQQCkUKcfTQhRzVhqvsjdENR76EmrrvCSr93oMCnnDHjcyOz8O3stcNrCOGbxwDBIMwf05CzoEBhxF9SoT/fwvfWa9BRvlMTxl9lUUE2f3Aw9+0CBG7PYgZ9XGCiCM2Wy9T5cf0C5MOLr2MAIgQrlDua0oEtmC5FjFojQHJEITRmLyQnAyUU8Y+jkUUCtQNmweZKtTQT9le+G9QCzRoSsmVsVxCKxII3+8iLA+Lh9meI/vJSaQ2VpDgZVrV1Vc4V/z0Exu7Ap7R0MpzCy4hhRzdpWgf4OG815ZctwMvM7qfBqykG98B9oP3YC/LG+cpVK4Ipx5VnWBUIwVHDiocHhMjyroTBAeH3BfeCdOEpKwNK9vOxrbvUpqAc8ZOaaal08hWgFVFR8BQN+rEkiqKx5fONRXefkkyUWMdqwvoBn7ZzCr+F9GmD52Q7ZuDcyAigm2ArwDipT9QUH7gxphogcKRNAWAyaENWWKRBFWmeNYXJOuGXLr05Zye7joGFbJHxPYyUJ6KMombmYlI2GHc4JQGJNneDuL93v8AkYcfM2WfOjf0hm+SVw0TP95bD1xJwSCoKO5L6FxqMu5GPcOqik3sjGHg6XsEr10m7jt7G2PfNTgS3ft+TP32OjeSu9M80Fu3nmeqLM4a4lx9fFbGMpWDEU9wdftmPByeW7KoXyS2bkd1Mg9UP8ci0nKo2d/ThPn+iMEjXSibNeIGibaIT4ys3pjDLW2mx0IxQpwnuQfZzAHBszpMkwKuG4+FrqXff9+bZGuRQlVwhm2v5xbKRjgi99i14QkuNVUkePxllLZGFgQH0DjsLINZb+R9stBYjQmMGc2kkJfyhHx2/zvT2D2mpgcaq0ZRKco2CqDiLUJoHwLPse/fu4PWvqSKVpwiqhCehuloWTE3jkFUncwDI50hPvrfCx92cOJUE8RTsQgDoAh7JKsPHctSZfUicZyLHOuHMhtIoxs6l/lzFowbhZob/Uo7aRsipOcP/iZgEPnMEu/obXcLR3QrlQ+WuEppU4g2MZ9+xENLCqVDLEHiz+jZIvl42ePc4Ip4lJ5RQFcSSR1yYb+z/4KB/3bc308PHnEMEB5TYvVpK7M3kg2CTjos5lh733qQKwqYamgFjpr5oPUxRYwRvj41GYpcLN3Tr4WOi4lfevR5eVFBu1Jc9baY8JIOvcCL5WhXsEemnx5dUhcnP2ozloFCvU1IS60KHkXtF4NJl89tu5EECquTN5Lf9cvtIhlbmPsVg==" }, "gender": { "0": "Keine Anrede", diff --git a/apps/isa-app/src/config/config.json b/apps/isa-app/src/config/config.json index e7bd7247d..22189aa76 100644 --- a/apps/isa-app/src/config/config.json +++ b/apps/isa-app/src/config/config.json @@ -74,7 +74,7 @@ }, "checkForUpdates": 3600000, "licence": { - "scandit": "Ac2kvx5ZOzjvFl/LuAd6wds3C30YJ4g8Cm6PX4sgUnKPePVMuH+rFQIyVNn1YdS3myORojEOBsIZWhMw2nRUGBtOnQ5FO+cRHgQu0pkP+VG6OYvt8ETUTn8Aa2f9bmfqclO3LI8WN8psWr+adkZEtqNTvCgyDLZaICh8S7RfmwJVVWaOPX4LDagGhLDPS2YQdg+ibpR0l0ZlX2h/3GttofE64HOlBN3QtDB8yihHJNgVcUVy2UQVS+BXOyvIfZEFbFgPYVt5HZ0aQgcISlYVAmJvRsHyeKYRUnIi3ZN73EQmHzWcOV4/HWVoTs1MTW0mxV074vNwqExYW9LYmz9zgLUD7FMnKMFClkzRBHRN1CC7brosCnFkZWQp3CV4Ua48Fn9GW0Zpn/4MIZgzSU26inl5ZnT3dCc2+3BH3Us1uugTUrOPwFuwsPpr4NZYXWJMOmcm4kBBVJd0Uwk28GyZM7x1hXADcQgcc23+gDtbbUZWVmr3TE7GBcV3j+XUeOk8nHZw3DsYJ46MT2sSfks3QXRl4tBkBad6M+UxW4tb2IQC/4K9IXKhDN8VYXpzrrRHJNvOiH5+NrixthDZHHd/MGNuBDrJFOuXq8L7O6PxBoVZ0NPXmCO5vKyYdhBz5gJ5u3vNkSke7p+cDcvFicsVyNWRaaoFL0UN9gxFVMY8hkJKBZyGxZL2LEDXD44PxPsDnygpDC1Jyc7pkhEA0fKSc9aXZb1HDpwe1hqyyRVBtHkgPiN78GmJImbaUlj8XsK3yVyAjs2XvPR0/3ASHS53ViwzWKL3Oi8I515IJDtDhlvrkeh7MrWMaEu9k6ZQXJi1uJsh3JGfyS+yDlPjePVdsVqnZ4uw9pKMXvjlJeNcIiGM2Cf5S89nk2Qe/56MrKB9Frm6Q5wQHai8TNdCZYBi67dmAX8KHPXvEU4K6KyyW89YGcabZQ3eOJDr4oqW9ZcYPBttREdH3WI/HxvpEq6bqoDhT9AxpIWEMVb6y/DcDHSEresepibug4qOr9xOPq0yk2uiWYhPubFnCk7thQCXOGv9crWnQoOrt9c1qoaWXM4YmKqfcaQ67Tn+uFQmYTZyqw4jlJU4GgKe5/GNCVQM5aNUg1J0Px1NlFCS+rrIDyMQp0byFcgTd/E9sA5d1+YZKHKmJiQwEAz6oU9yyoUlxntSI42GHB/UttPc7Hj14V5+oJ+Yz+CZodmkXFg57Vx4NuxveNtO" + "scandit": "ApI1Sg5/KzWICPhn0CbflI4cjgXiFkKnhgEmUvAt0D3CWsck0SCIm557hJvGTqXD0A1mt3IvEwA8eQ1CBXL3EoA9lASWUcLt+FSWP9gHao+LT6Oz9QMrsJoJRC/OboodKS4/F+ZVa02eUT53X0GX9jJeEnh8EerqZimrl6oDjNLvHCzBnxtmsMZidAUaErqK5yaQQCkUKcfTQhRzVhqvsjdENR76EmrrvCSr93oMCnnDHjcyOz8O3stcNrCOGbxwDBIMwf05CzoEBhxF9SoT/fwvfWa9BRvlMTxl9lUUE2f3Aw9+0CBG7PYgZ9XGCiCM2Wy9T5cf0C5MOLr2MAIgQrlDua0oEtmC5FjFojQHJEITRmLyQnAyUU8Y+jkUUCtQNmweZKtTQT9le+G9QCzRoSsmVsVxCKxII3+8iLA+Lh9meI/vJSaQ2VpDgZVrV1Vc4V/z0Exu7Ap7R0MpzCy4hhRzdpWgf4OG815ZctwMvM7qfBqykG98B9oP3YC/LG+cpVK4Ipx5VnWBUIwVHDiocHhMjyroTBAeH3BfeCdOEpKwNK9vOxrbvUpqAc8ZOaaal08hWgFVFR8BQN+rEkiqKx5fONRXefkkyUWMdqwvoBn7ZzCr+F9GmD52Q7ZuDcyAigm2ArwDipT9QUH7gxphogcKRNAWAyaENWWKRBFWmeNYXJOuGXLr05Zye7joGFbJHxPYyUJ6KMombmYlI2GHc4JQGJNneDuL93v8AkYcfM2WfOjf0hm+SVw0TP95bD1xJwSCoKO5L6FxqMu5GPcOqik3sjGHg6XsEr10m7jt7G2PfNTgS3ft+TP32OjeSu9M80Fu3nmeqLM4a4lx9fFbGMpWDEU9wdftmPByeW7KoXyS2bkd1Mg9UP8ci0nKo2d/ThPn+iMEjXSibNeIGibaIT4ys3pjDLW2mx0IxQpwnuQfZzAHBszpMkwKuG4+FrqXff9+bZGuRQlVwhm2v5xbKRjgi99i14QkuNVUkePxllLZGFgQH0DjsLINZb+R9stBYjQmMGc2kkJfyhHx2/zvT2D2mpgcaq0ZRKco2CqDiLUJoHwLPse/fu4PWvqSKVpwiqhCehuloWTE3jkFUncwDI50hPvrfCx92cOJUE8RTsQgDoAh7JKsPHctSZfUicZyLHOuHMhtIoxs6l/lzFowbhZob/Uo7aRsipOcP/iZgEPnMEu/obXcLR3QrlQ+WuEppU4g2MZ9+xENLCqVDLEHiz+jZIvl42ePc4Ip4lJ5RQFcSSR1yYb+z/4KB/3bc308PHnEMEB5TYvVpK7M3kg2CTjos5lh733qQKwqYamgFjpr5oPUxRYwRvj41GYpcLN3Tr4WOi4lfevR5eVFBu1Jc9baY8JIOvcCL5WhXsEemnx5dUhcnP2ozloFCvU1IS60KHkXtF4NJl89tu5EECquTN5Lf9cvtIhlbmPsVg==" }, "gender": { "0": "Keine Anrede", diff --git a/apps/isa-app/src/config/config.production.json b/apps/isa-app/src/config/config.production.json index 5f1ee47b2..d9b8d45f2 100644 --- a/apps/isa-app/src/config/config.production.json +++ b/apps/isa-app/src/config/config.production.json @@ -73,7 +73,7 @@ }, "checkForUpdates": 3600000, "licence": { - "scandit": "AZ70hgtZLmFWHbYP+BDq8VAEgAxmNGYcPU8YpOc3DryEXj4zMzYQFrQuUm0YfzKaR2xbfjsImjXJN7C/TE1CYXsv3DeqIzgDRA/kII4LzqoICWm9mnwejER1kMu1Vf+1NWbwUuYJjsQVQXYkwkWgnv53obevBZtjpgZqIzlStufIU+sPNEWSd9BlrLmiSEu6nXC5lbstyPJVaqihsFoBPNJ0Q+IgJUjqaxhTf6hGtNB3Rqcpv0ZT349NdK9mQ+9lAQYCwXdmYbELdlbZVSja0aJQlkf0TaAjixDbNcR32/VMIw98F2YxVRVWPnADUaJ9Bn8oa7NkOJIUfB7VAg1KtUl8IIwSXvRk436UtPZGxg+PQM7UXX/TgiBuqCQWdUChoH/QAoY2fyKRKgXJHnGdt+pBRQ2OYs7TZWCJLZsLKgnHV+eWh3Y3EB1hN9cmcszdnmYiyD1gCY8pSETFbWV01nVPvIuUTc+jMipv3NN81VQDS5/eU1VJNpRuDiufdBKJv0jjHQk+hTdqe+2GSmMD24ZG8FQXJZZPBCodWR1A81T8toCaIAGHnOfZeO7nxZu9Uo+6ohrVxc5F4szSizra+M3zfuFnm5FGgxCKt5uibLYgRyNcmR8/9vqTfMZgalTklbKHEFw1i+xOwrFrqRMh7FoovDRoI3QuaHLpV+ZUpZo3zTOQofdXPthKAmSLc11cjn509oTnnXUBBoBn/hErrwC/v8dZep1YEKM3wjfuIFsHRrsECswqNjwN/yOZCirm2VvFJEPMuKIwy+8jdNGncm8v4R9Br3c+wYJ8696L7Dg0iFShoyoP4OqIvBNY+dYyy935yGkIF2KI6l01xQZcWoHSVKPd6/78Iwy4lTKhtOqtu7ETJqOE53gQpR9jaAY0RiBB1SLm+Jbwt3ipSJiCDgKmkVmk5AU9HC0XYR/erjg13HF4hIcpLPW1ZWMKSxTqZ8z8FMJilInBgfcBwvjNE5seWvdFKltvlItnGhSh7BLUZ5UInDhl00NJBE2PdstDvRvQjLKvYUoFly3jONVsUfuQpzrcjT0g6gEgL8ZtlmaF11owcCvqhNDxWuTAJTX/xXf6WehxEB0qy3xCdxahbuneS3DPI0z2kAQwrx19i5r+RKQ8bWDaQ/OGY47sLPJgDgijEz16CvAMBSN0PvOso6FstsT/ynR3LLTPcY0QDw21Dv3wNHNa9HbanJcb3/MuhZGlrKp7" + "scandit": "AqeFthV/MMKEPoQNIB3vSLYDthFhJ0F03QQtH+4f/ivCRKdYPjxnMU94RVMEaldhNTQj5sB8mJVNWq0vbHCzqul36KcLdG0kwFfBiXAoEkfOe2bRGTCX4bASLuwfHVv8+AG+Pwdhelf3XMcIvnrGkiR91EmRGeebiiVX448H6U+WdyXJtns/W/ZgdMZBGUHA4WsG9Ct5SyLGaeGYI1iK8LZtpKzLBcsvYwOkDeI4IjIuOZpMpy6CzmBAHQlAHWKmwjDizWwB2rU2BZ6i+3H99mpvSz9PCWm9PS+Jr30Me13bb+Oz5zHxeMdoJtZNIhsTgWyVErUlcuceNIibrDj84L4qfmHKPQtalW10+w9ODwRIS+nLCWOpo9we+UCsFgMJLX3lH0ZIXEWEZjAxhzXmdxxGEcroQQXAIH3PsN8RUSuaC6PPOirvKmZUbW3XUun+vmxMWxhDyGwnat9CpDpQ+CpsyPECaUEkbkVEg/Mq42QxVHF25UgZ37c5gN0wHNAjal/HSpZfLBzDeC5Y/iKqgKhjf68Bf7lnOBYokWFUxBRdcKLhtz3nGNZL3UpabCULf2J5lOZ0Mj8hdC+P4UNZMCRVEs4UR9pqHEoJVdQ5KMO8cXcvKGxGG4hT9UNNbk9o+jNWOlhCribVTmkj6kmInB8zDFkceKy3HUSC8p9TlzjxfBpzN0oVMG9DIlkTWh3nryr4lDJimIz4AriI6Xft3NJgiIkUVAjsTHl33IRz7jwyQOzyUR197o0ojRwvLpm3zkHwap4lyvMz7SoYhKoyN66Aul3K5iic8hVVUuriChEZyIwYml71vAfIpmwZC5GVF5XJBT1r0OG+xmJbH6sae0gOnMpFyed3R+BH/AU2OY9nrnTNLN83pk8huK7BPQVnpAQqU76IrZP5GAyd1GNRi9WWJo4mHefe/9/x22lfHg7BELhOXoJlDZWoj4uOYJVVycQD/ninQMtwkry/9VEOQmrg76bRVbz2OZ3RFDw/AXBd+1jA0K7gIP9G5dN4x2NjNbzPE4gMhHvNi+vUy8x+1uHRQdBzI/F7EkuFb59eKZYe1EHTofnzGofZUgiuXMDDVTi8dE80PmFRCTnNvEtK8rRcBFSqWxeX1u5h+PR8btTagOH0hNCNWUaVYpIcHXvKP5gFFluPy5+RR3TRXYhBKOeb+Q2uxrowwVJs2FOxwfORtKXti8pGIw9bVZk9yNCqafPuURqGKMw/e+H8ElIWaiWH2mcY9dDKN6lBhOdKYjhKQZ/4t9H+ZbyeKzebH8habpAZEDdN0fbqDMwWTD+eKo02s5wOzJ+0z4BpDszMd2acvQ1GVrF0KajpReco2FE+AQpbxHM2KQfKqiDHOUd02nG9AHjKRf/xUTySpD8pG3DvPZC+ImqQZN/t7/IegQptgrezq2w2y0L89sgNnnhRopaMRt/sPSirTXh/NA==" }, "gender": { "0": "Keine Anrede", diff --git a/apps/isa-app/src/config/config.staging.json b/apps/isa-app/src/config/config.staging.json index c8b7a7d91..10300e77e 100644 --- a/apps/isa-app/src/config/config.staging.json +++ b/apps/isa-app/src/config/config.staging.json @@ -73,7 +73,7 @@ }, "checkForUpdates": 3600000, "licence": { - "scandit": "AZ70hgtZLmFWHbYP+BDq8VAEgAxmNGYcPU8YpOc3DryEXj4zMzYQFrQuUm0YfzKaR2xbfjsImjXJN7C/TE1CYXsv3DeqIzgDRA/kII4LzqoICWm9mnwejER1kMu1Vf+1NWbwUuYJjsQVQXYkwkWgnv53obevBZtjpgZqIzlStufIU+sPNEWSd9BlrLmiSEu6nXC5lbstyPJVaqihsFoBPNJ0Q+IgJUjqaxhTf6hGtNB3Rqcpv0ZT349NdK9mQ+9lAQYCwXdmYbELdlbZVSja0aJQlkf0TaAjixDbNcR32/VMIw98F2YxVRVWPnADUaJ9Bn8oa7NkOJIUfB7VAg1KtUl8IIwSXvRk436UtPZGxg+PQM7UXX/TgiBuqCQWdUChoH/QAoY2fyKRKgXJHnGdt+pBRQ2OYs7TZWCJLZsLKgnHV+eWh3Y3EB1hN9cmcszdnmYiyD1gCY8pSETFbWV01nVPvIuUTc+jMipv3NN81VQDS5/eU1VJNpRuDiufdBKJv0jjHQk+hTdqe+2GSmMD24ZG8FQXJZZPBCodWR1A81T8toCaIAGHnOfZeO7nxZu9Uo+6ohrVxc5F4szSizra+M3zfuFnm5FGgxCKt5uibLYgRyNcmR8/9vqTfMZgalTklbKHEFw1i+xOwrFrqRMh7FoovDRoI3QuaHLpV+ZUpZo3zTOQofdXPthKAmSLc11cjn509oTnnXUBBoBn/hErrwC/v8dZep1YEKM3wjfuIFsHRrsECswqNjwN/yOZCirm2VvFJEPMuKIwy+8jdNGncm8v4R9Br3c+wYJ8696L7Dg0iFShoyoP4OqIvBNY+dYyy935yGkIF2KI6l01xQZcWoHSVKPd6/78Iwy4lTKhtOqtu7ETJqOE53gQpR9jaAY0RiBB1SLm+Jbwt3ipSJiCDgKmkVmk5AU9HC0XYR/erjg13HF4hIcpLPW1ZWMKSxTqZ8z8FMJilInBgfcBwvjNE5seWvdFKltvlItnGhSh7BLUZ5UInDhl00NJBE2PdstDvRvQjLKvYUoFly3jONVsUfuQpzrcjT0g6gEgL8ZtlmaF11owcCvqhNDxWuTAJTX/xXf6WehxEB0qy3xCdxahbuneS3DPI0z2kAQwrx19i5r+RKQ8bWDaQ/OGY47sLPJgDgijEz16CvAMBSN0PvOso6FstsT/ynR3LLTPcY0QDw21Dv3wNHNa9HbanJcb3/MuhZGlrKp7" + "scandit": "AqeFthV/MMKEPoQNIB3vSLYDthFhJ0F03QQtH+4f/ivCRKdYPjxnMU94RVMEaldhNTQj5sB8mJVNWq0vbHCzqul36KcLdG0kwFfBiXAoEkfOe2bRGTCX4bASLuwfHVv8+AG+Pwdhelf3XMcIvnrGkiR91EmRGeebiiVX448H6U+WdyXJtns/W/ZgdMZBGUHA4WsG9Ct5SyLGaeGYI1iK8LZtpKzLBcsvYwOkDeI4IjIuOZpMpy6CzmBAHQlAHWKmwjDizWwB2rU2BZ6i+3H99mpvSz9PCWm9PS+Jr30Me13bb+Oz5zHxeMdoJtZNIhsTgWyVErUlcuceNIibrDj84L4qfmHKPQtalW10+w9ODwRIS+nLCWOpo9we+UCsFgMJLX3lH0ZIXEWEZjAxhzXmdxxGEcroQQXAIH3PsN8RUSuaC6PPOirvKmZUbW3XUun+vmxMWxhDyGwnat9CpDpQ+CpsyPECaUEkbkVEg/Mq42QxVHF25UgZ37c5gN0wHNAjal/HSpZfLBzDeC5Y/iKqgKhjf68Bf7lnOBYokWFUxBRdcKLhtz3nGNZL3UpabCULf2J5lOZ0Mj8hdC+P4UNZMCRVEs4UR9pqHEoJVdQ5KMO8cXcvKGxGG4hT9UNNbk9o+jNWOlhCribVTmkj6kmInB8zDFkceKy3HUSC8p9TlzjxfBpzN0oVMG9DIlkTWh3nryr4lDJimIz4AriI6Xft3NJgiIkUVAjsTHl33IRz7jwyQOzyUR197o0ojRwvLpm3zkHwap4lyvMz7SoYhKoyN66Aul3K5iic8hVVUuriChEZyIwYml71vAfIpmwZC5GVF5XJBT1r0OG+xmJbH6sae0gOnMpFyed3R+BH/AU2OY9nrnTNLN83pk8huK7BPQVnpAQqU76IrZP5GAyd1GNRi9WWJo4mHefe/9/x22lfHg7BELhOXoJlDZWoj4uOYJVVycQD/ninQMtwkry/9VEOQmrg76bRVbz2OZ3RFDw/AXBd+1jA0K7gIP9G5dN4x2NjNbzPE4gMhHvNi+vUy8x+1uHRQdBzI/F7EkuFb59eKZYe1EHTofnzGofZUgiuXMDDVTi8dE80PmFRCTnNvEtK8rRcBFSqWxeX1u5h+PR8btTagOH0hNCNWUaVYpIcHXvKP5gFFluPy5+RR3TRXYhBKOeb+Q2uxrowwVJs2FOxwfORtKXti8pGIw9bVZk9yNCqafPuURqGKMw/e+H8ElIWaiWH2mcY9dDKN6lBhOdKYjhKQZ/4t9H+ZbyeKzebH8habpAZEDdN0fbqDMwWTD+eKo02s5wOzJ+0z4BpDszMd2acvQ1GVrF0KajpReco2FE+AQpbxHM2KQfKqiDHOUd02nG9AHjKRf/xUTySpD8pG3DvPZC+ImqQZN/t7/IegQptgrezq2w2y0L89sgNnnhRopaMRt/sPSirTXh/NA==" }, "gender": { "0": "Keine Anrede", diff --git a/apps/isa-app/src/config/config.test.json b/apps/isa-app/src/config/config.test.json index ceb54eeb4..67d7f4d9a 100644 --- a/apps/isa-app/src/config/config.test.json +++ b/apps/isa-app/src/config/config.test.json @@ -74,8 +74,7 @@ }, "checkForUpdates": 3600000, "licence": { - "scandit": "Ac2kvx5ZOzjvFl/LuAd6wds3C30YJ4g8Cm6PX4sgUnKPePVMuH+rFQIyVNn1YdS3myORojEOBsIZWhMw2nRUGBtOnQ5FO+cRHgQu0pkP+VG6OYvt8ETUTn8Aa2f9bmfqclO3LI8WN8psWr+adkZEtqNTvCgyDLZaICh8S7RfmwJVVWaOPX4LDagGhLDPS2YQdg+ibpR0l0ZlX2h/3GttofE64HOlBN3QtDB8yihHJNgVcUVy2UQVS+BXOyvIfZEFbFgPYVt5HZ0aQgcISlYVAmJvRsHyeKYRUnIi3ZN73EQmHzWcOV4/HWVoTs1MTW0mxV074vNwqExYW9LYmz9zgLUD7FMnKMFClkzRBHRN1CC7brosCnFkZWQp3CV4Ua48Fn9GW0Zpn/4MIZgzSU26inl5ZnT3dCc2+3BH3Us1uugTUrOPwFuwsPpr4NZYXWJMOmcm4kBBVJd0Uwk28GyZM7x1hXADcQgcc23+gDtbbUZWVmr3TE7GBcV3j+XUeOk8nHZw3DsYJ46MT2sSfks3QXRl4tBkBad6M+UxW4tb2IQC/4K9IXKhDN8VYXpzrrRHJNvOiH5+NrixthDZHHd/MGNuBDrJFOuXq8L7O6PxBoVZ0NPXmCO5vKyYdhBz5gJ5u3vNkSke7p+cDcvFicsVyNWRaaoFL0UN9gxFVMY8hkJKBZyGxZL2LEDXD44PxPsDnygpDC1Jyc7pkhEA0fKSc9aXZb1HDpwe1hqyyRVBtHkgPiN78GmJImbaUlj8XsK3yVyAjs2XvPR0/3ASHS53ViwzWKL3Oi8I515IJDtDhlvrkeh7MrWMaEu9k6ZQXJi1uJsh3JGfyS+yDlPjePVdsVqnZ4uw9pKMXvjlJeNcIiGM2Cf5S89nk2Qe/56MrKB9Frm6Q5wQHai8TNdCZYBi67dmAX8KHPXvEU4K6KyyW89YGcabZQ3eOJDr4oqW9ZcYPBttREdH3WI/HxvpEq6bqoDhT9AxpIWEMVb6y/DcDHSEresepibug4qOr9xOPq0yk2uiWYhPubFnCk7thQCXOGv9crWnQoOrt9c1qoaWXM4YmKqfcaQ67Tn+uFQmYTZyqw4jlJU4GgKe5/GNCVQM5aNUg1J0Px1NlFCS+rrIDyMQp0byFcgTd/E9sA5d1+YZKHKmJiQwEAz6oU9yyoUlxntSI42GHB/UttPc7Hj14V5+oJ+Yz+CZodmkXFg57Vx4NuxveNtO" - }, + "scandit": "ApI1Sg5/KzWICPhn0CbflI4cjgXiFkKnhgEmUvAt0D3CWsck0SCIm557hJvGTqXD0A1mt3IvEwA8eQ1CBXL3EoA9lASWUcLt+FSWP9gHao+LT6Oz9QMrsJoJRC/OboodKS4/F+ZVa02eUT53X0GX9jJeEnh8EerqZimrl6oDjNLvHCzBnxtmsMZidAUaErqK5yaQQCkUKcfTQhRzVhqvsjdENR76EmrrvCSr93oMCnnDHjcyOz8O3stcNrCOGbxwDBIMwf05CzoEBhxF9SoT/fwvfWa9BRvlMTxl9lUUE2f3Aw9+0CBG7PYgZ9XGCiCM2Wy9T5cf0C5MOLr2MAIgQrlDua0oEtmC5FjFojQHJEITRmLyQnAyUU8Y+jkUUCtQNmweZKtTQT9le+G9QCzRoSsmVsVxCKxII3+8iLA+Lh9meI/vJSaQ2VpDgZVrV1Vc4V/z0Exu7Ap7R0MpzCy4hhRzdpWgf4OG815ZctwMvM7qfBqykG98B9oP3YC/LG+cpVK4Ipx5VnWBUIwVHDiocHhMjyroTBAeH3BfeCdOEpKwNK9vOxrbvUpqAc8ZOaaal08hWgFVFR8BQN+rEkiqKx5fONRXefkkyUWMdqwvoBn7ZzCr+F9GmD52Q7ZuDcyAigm2ArwDipT9QUH7gxphogcKRNAWAyaENWWKRBFWmeNYXJOuGXLr05Zye7joGFbJHxPYyUJ6KMombmYlI2GHc4JQGJNneDuL93v8AkYcfM2WfOjf0hm+SVw0TP95bD1xJwSCoKO5L6FxqMu5GPcOqik3sjGHg6XsEr10m7jt7G2PfNTgS3ft+TP32OjeSu9M80Fu3nmeqLM4a4lx9fFbGMpWDEU9wdftmPByeW7KoXyS2bkd1Mg9UP8ci0nKo2d/ThPn+iMEjXSibNeIGibaIT4ys3pjDLW2mx0IxQpwnuQfZzAHBszpMkwKuG4+FrqXff9+bZGuRQlVwhm2v5xbKRjgi99i14QkuNVUkePxllLZGFgQH0DjsLINZb+R9stBYjQmMGc2kkJfyhHx2/zvT2D2mpgcaq0ZRKco2CqDiLUJoHwLPse/fu4PWvqSKVpwiqhCehuloWTE3jkFUncwDI50hPvrfCx92cOJUE8RTsQgDoAh7JKsPHctSZfUicZyLHOuHMhtIoxs6l/lzFowbhZob/Uo7aRsipOcP/iZgEPnMEu/obXcLR3QrlQ+WuEppU4g2MZ9+xENLCqVDLEHiz+jZIvl42ePc4Ip4lJ5RQFcSSR1yYb+z/4KB/3bc308PHnEMEB5TYvVpK7M3kg2CTjos5lh733qQKwqYamgFjpr5oPUxRYwRvj41GYpcLN3Tr4WOi4lfevR5eVFBu1Jc9baY8JIOvcCL5WhXsEemnx5dUhcnP2ozloFCvU1IS60KHkXtF4NJl89tu5EECquTN5Lf9cvtIhlbmPsVg==" }, "gender": { "0": "Keine Anrede", "1": "Enby", From 6e1c434edf8c390f23bad84ddb648d4abe2c2afc Mon Sep 17 00:00:00 2001 From: Lorenz Hilpert Date: Fri, 22 Nov 2024 18:23:05 +0100 Subject: [PATCH 4/5] Refactor ScanditOverlayComponent to use dependency injection for DataCaptureContext and DataCaptureView, and enhance module setup with async context initialization --- .../lib/scandit/scandit-overlay.component.ts | 27 ++++++++--------- .../scandit/scandit-scan-adapter.module.ts | 30 +++++++++++++++---- .../src/lib/scandit/scandit.scan-adapter.ts | 2 +- 3 files changed, 38 insertions(+), 21 deletions(-) diff --git a/apps/adapter/scan/src/lib/scandit/scandit-overlay.component.ts b/apps/adapter/scan/src/lib/scandit/scandit-overlay.component.ts index bd7166fc7..a92c93cd0 100644 --- a/apps/adapter/scan/src/lib/scandit/scandit-overlay.component.ts +++ b/apps/adapter/scan/src/lib/scandit/scandit-overlay.component.ts @@ -1,17 +1,18 @@ -import { Component, ChangeDetectionStrategy, ElementRef, ViewChild, NgZone, AfterViewInit, OnDestroy, OnInit } from '@angular/core'; -import { UiModalService } from '@ui/modal'; +import { Component, ChangeDetectionStrategy, ElementRef, ViewChild, NgZone, AfterViewInit, OnDestroy, OnInit, inject } from '@angular/core'; import { BarcodeCapture, BarcodeCaptureSettings, Symbology } from 'scandit-web-datacapture-barcode'; -import { Camera, DataCaptureContext, DataCaptureView, FrameSourceState } from 'scandit-web-datacapture-core'; +import { Camera, FrameSourceState } from 'scandit-web-datacapture-core'; +import { DATA_CAPTURE_CONTEXT_ASYNC, DATA_CAPTURE_VIEW } from './scandit-scan-adapter.module'; @Component({ selector: 'app-scandit-overlay', templateUrl: 'scandit-overlay.component.html', styleUrls: ['scandit-overlay.component.css'], changeDetection: ChangeDetectionStrategy.OnPush, + standalone: true, }) export class ScanditOverlayComponent implements OnInit, AfterViewInit, OnDestroy { - private dataCaptureContext: DataCaptureContext; - private dataCaptureView: DataCaptureView; + private readonly dataCaptureContextAsync = inject(DATA_CAPTURE_CONTEXT_ASYNC); + private readonly dataCaptureView = inject(DATA_CAPTURE_VIEW); private barcodeCapture: BarcodeCapture; private camera: Camera; @@ -21,25 +22,21 @@ export class ScanditOverlayComponent implements OnInit, AfterViewInit, OnDestroy @ViewChild('scanContainer', { read: ElementRef, static: true }) scanContainer: ElementRef; - constructor( - private _zone: NgZone, - private _modal: UiModalService, - ) {} + constructor(private _zone: NgZone) {} ngOnInit(): void { - this.dataCaptureView = new DataCaptureView(); - this.dataCaptureView.connectToElement(this.scanContainer.nativeElement); + this.dataCaptureView.setProgressBarMessage('Kamera wird gestartet...'); this.dataCaptureView.showProgressBar(); } async ngAfterViewInit() { - this.dataCaptureContext = await DataCaptureContext.create(); + const dataCaptureContext = await this.dataCaptureContextAsync(); - this.dataCaptureView.setContext(this.dataCaptureContext); + this.dataCaptureView.setContext(dataCaptureContext); - this.barcodeCapture = await BarcodeCapture.forContext(this.dataCaptureContext, this.getScanSettings()); + this.barcodeCapture = await BarcodeCapture.forContext(dataCaptureContext, this.getScanSettings()); this.barcodeCapture.addListener({ didScan: (_, session, __) => { @@ -55,7 +52,7 @@ export class ScanditOverlayComponent implements OnInit, AfterViewInit, OnDestroy this.camera = Camera.default; - this.dataCaptureContext.setFrameSource(this.camera); + dataCaptureContext.setFrameSource(this.camera); await this.camera.switchToDesiredState(FrameSourceState.On); this.dataCaptureView.hideProgressBar(); diff --git a/apps/adapter/scan/src/lib/scandit/scandit-scan-adapter.module.ts b/apps/adapter/scan/src/lib/scandit/scandit-scan-adapter.module.ts index 7c1f659c7..59c79b9f3 100644 --- a/apps/adapter/scan/src/lib/scandit/scandit-scan-adapter.module.ts +++ b/apps/adapter/scan/src/lib/scandit/scandit-scan-adapter.module.ts @@ -1,20 +1,40 @@ -import { NgModule } from '@angular/core'; +import { InjectionToken, NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; -import { ScanditOverlayComponent } from './scandit-overlay.component'; import { ScanditScanAdapter } from './scandit.scan-adapter'; import { SCAN_ADAPTER } from '../tokens'; +import { DataCaptureContext, DataCaptureView } from 'scandit-web-datacapture-core'; + +export const DATA_CAPTURE_VIEW = new InjectionToken('Adapter.Scan.Scandit.DataCaptureView'); +export const DATA_CAPTURE_CONTEXT_ASYNC = new InjectionToken<() => Promise>('Adapter.Scan.Scandit.DataCaptureContext'); @NgModule({ imports: [CommonModule], - exports: [ScanditOverlayComponent], - declarations: [ScanditOverlayComponent], }) export class ScanditScanAdapterModule { static forRoot() { return { ngModule: ScanditScanAdapterModule, - providers: [{ provide: SCAN_ADAPTER, useClass: ScanditScanAdapter, multi: true }], + providers: [ + { provide: SCAN_ADAPTER, useClass: ScanditScanAdapter, multi: true }, + { provide: DATA_CAPTURE_VIEW, useFactory: () => new DataCaptureView() }, + { + provide: DATA_CAPTURE_CONTEXT_ASYNC, + useFactory: (dataCaptureView: DataCaptureView) => { + let dataCaptureContext: DataCaptureContext; + + return async () => { + if (!dataCaptureContext) { + dataCaptureContext = await DataCaptureContext.create(); + dataCaptureView.setContext(dataCaptureContext); + } + + return dataCaptureContext; + }; + }, + deps: [DataCaptureView], + }, + ], }; } } diff --git a/apps/adapter/scan/src/lib/scandit/scandit.scan-adapter.ts b/apps/adapter/scan/src/lib/scandit/scandit.scan-adapter.ts index 807a3a2fb..6f051f4a6 100644 --- a/apps/adapter/scan/src/lib/scandit/scandit.scan-adapter.ts +++ b/apps/adapter/scan/src/lib/scandit/scandit.scan-adapter.ts @@ -27,7 +27,7 @@ export class ScanditScanAdapter implements ScanAdapter { ) {} async init(): Promise { - if (this._environmentService.isTablet()) { + if (true || this._environmentService.isTablet()) { await configure({ licenseKey: this._config.get('licence.scandit'), libraryLocation: new URL('scandit', document.baseURI).toString(), From 05eb3cc75670b95a451324c81638a7fea3c2533f Mon Sep 17 00:00:00 2001 From: Lorenz Hilpert Date: Fri, 22 Nov 2024 18:31:05 +0100 Subject: [PATCH 5/5] Revert "Refactor ScanditOverlayComponent to use dependency injection for DataCaptureContext and DataCaptureView, and enhance module setup with async context initialization" This reverts commit 6e1c434edf8c390f23bad84ddb648d4abe2c2afc. --- .../lib/scandit/scandit-overlay.component.ts | 27 +++++++++-------- .../scandit/scandit-scan-adapter.module.ts | 30 ++++--------------- .../src/lib/scandit/scandit.scan-adapter.ts | 2 +- 3 files changed, 21 insertions(+), 38 deletions(-) diff --git a/apps/adapter/scan/src/lib/scandit/scandit-overlay.component.ts b/apps/adapter/scan/src/lib/scandit/scandit-overlay.component.ts index a92c93cd0..bd7166fc7 100644 --- a/apps/adapter/scan/src/lib/scandit/scandit-overlay.component.ts +++ b/apps/adapter/scan/src/lib/scandit/scandit-overlay.component.ts @@ -1,18 +1,17 @@ -import { Component, ChangeDetectionStrategy, ElementRef, ViewChild, NgZone, AfterViewInit, OnDestroy, OnInit, inject } from '@angular/core'; +import { Component, ChangeDetectionStrategy, ElementRef, ViewChild, NgZone, AfterViewInit, OnDestroy, OnInit } from '@angular/core'; +import { UiModalService } from '@ui/modal'; import { BarcodeCapture, BarcodeCaptureSettings, Symbology } from 'scandit-web-datacapture-barcode'; -import { Camera, FrameSourceState } from 'scandit-web-datacapture-core'; -import { DATA_CAPTURE_CONTEXT_ASYNC, DATA_CAPTURE_VIEW } from './scandit-scan-adapter.module'; +import { Camera, DataCaptureContext, DataCaptureView, FrameSourceState } from 'scandit-web-datacapture-core'; @Component({ selector: 'app-scandit-overlay', templateUrl: 'scandit-overlay.component.html', styleUrls: ['scandit-overlay.component.css'], changeDetection: ChangeDetectionStrategy.OnPush, - standalone: true, }) export class ScanditOverlayComponent implements OnInit, AfterViewInit, OnDestroy { - private readonly dataCaptureContextAsync = inject(DATA_CAPTURE_CONTEXT_ASYNC); - private readonly dataCaptureView = inject(DATA_CAPTURE_VIEW); + private dataCaptureContext: DataCaptureContext; + private dataCaptureView: DataCaptureView; private barcodeCapture: BarcodeCapture; private camera: Camera; @@ -22,21 +21,25 @@ export class ScanditOverlayComponent implements OnInit, AfterViewInit, OnDestroy @ViewChild('scanContainer', { read: ElementRef, static: true }) scanContainer: ElementRef; - constructor(private _zone: NgZone) {} + constructor( + private _zone: NgZone, + private _modal: UiModalService, + ) {} ngOnInit(): void { + this.dataCaptureView = new DataCaptureView(); + this.dataCaptureView.connectToElement(this.scanContainer.nativeElement); - this.dataCaptureView.setProgressBarMessage('Kamera wird gestartet...'); this.dataCaptureView.showProgressBar(); } async ngAfterViewInit() { - const dataCaptureContext = await this.dataCaptureContextAsync(); + this.dataCaptureContext = await DataCaptureContext.create(); - this.dataCaptureView.setContext(dataCaptureContext); + this.dataCaptureView.setContext(this.dataCaptureContext); - this.barcodeCapture = await BarcodeCapture.forContext(dataCaptureContext, this.getScanSettings()); + this.barcodeCapture = await BarcodeCapture.forContext(this.dataCaptureContext, this.getScanSettings()); this.barcodeCapture.addListener({ didScan: (_, session, __) => { @@ -52,7 +55,7 @@ export class ScanditOverlayComponent implements OnInit, AfterViewInit, OnDestroy this.camera = Camera.default; - dataCaptureContext.setFrameSource(this.camera); + this.dataCaptureContext.setFrameSource(this.camera); await this.camera.switchToDesiredState(FrameSourceState.On); this.dataCaptureView.hideProgressBar(); diff --git a/apps/adapter/scan/src/lib/scandit/scandit-scan-adapter.module.ts b/apps/adapter/scan/src/lib/scandit/scandit-scan-adapter.module.ts index 59c79b9f3..7c1f659c7 100644 --- a/apps/adapter/scan/src/lib/scandit/scandit-scan-adapter.module.ts +++ b/apps/adapter/scan/src/lib/scandit/scandit-scan-adapter.module.ts @@ -1,40 +1,20 @@ -import { InjectionToken, NgModule } from '@angular/core'; +import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; +import { ScanditOverlayComponent } from './scandit-overlay.component'; import { ScanditScanAdapter } from './scandit.scan-adapter'; import { SCAN_ADAPTER } from '../tokens'; -import { DataCaptureContext, DataCaptureView } from 'scandit-web-datacapture-core'; - -export const DATA_CAPTURE_VIEW = new InjectionToken('Adapter.Scan.Scandit.DataCaptureView'); -export const DATA_CAPTURE_CONTEXT_ASYNC = new InjectionToken<() => Promise>('Adapter.Scan.Scandit.DataCaptureContext'); @NgModule({ imports: [CommonModule], + exports: [ScanditOverlayComponent], + declarations: [ScanditOverlayComponent], }) export class ScanditScanAdapterModule { static forRoot() { return { ngModule: ScanditScanAdapterModule, - providers: [ - { provide: SCAN_ADAPTER, useClass: ScanditScanAdapter, multi: true }, - { provide: DATA_CAPTURE_VIEW, useFactory: () => new DataCaptureView() }, - { - provide: DATA_CAPTURE_CONTEXT_ASYNC, - useFactory: (dataCaptureView: DataCaptureView) => { - let dataCaptureContext: DataCaptureContext; - - return async () => { - if (!dataCaptureContext) { - dataCaptureContext = await DataCaptureContext.create(); - dataCaptureView.setContext(dataCaptureContext); - } - - return dataCaptureContext; - }; - }, - deps: [DataCaptureView], - }, - ], + providers: [{ provide: SCAN_ADAPTER, useClass: ScanditScanAdapter, multi: true }], }; } } diff --git a/apps/adapter/scan/src/lib/scandit/scandit.scan-adapter.ts b/apps/adapter/scan/src/lib/scandit/scandit.scan-adapter.ts index 6f051f4a6..807a3a2fb 100644 --- a/apps/adapter/scan/src/lib/scandit/scandit.scan-adapter.ts +++ b/apps/adapter/scan/src/lib/scandit/scandit.scan-adapter.ts @@ -27,7 +27,7 @@ export class ScanditScanAdapter implements ScanAdapter { ) {} async init(): Promise { - if (true || this._environmentService.isTablet()) { + if (this._environmentService.isTablet()) { await configure({ licenseKey: this._config.get('licence.scandit'), libraryLocation: new URL('scandit', document.baseURI).toString(),