Scandit aus App entfernt und Scannen für die Produktsuche

This commit is contained in:
Lorenz Hilpert
2021-05-16 18:12:10 +02:00
parent d00098ae9a
commit db6fb718d8
32 changed files with 24 additions and 8855 deletions

View File

@@ -105,7 +105,7 @@
},
{
"type": "anyComponentStyle",
"maximumWarning": "6kb"
"maximumWarning": "25kb"
}
],
"serviceWorker": true
@@ -114,7 +114,7 @@
"budgets": [
{
"type": "anyComponentStyle",
"maximumWarning": "6kb"
"maximumWarning": "25kb"
}
]
}

View File

@@ -98,9 +98,9 @@ export class ArticleSearchboxComponent implements OnInit, OnDestroy {
}
async startSearch() {
if (await this.environmentService.isMobile()) {
if ((await this.environmentService.isMobile()) && !(await this.query$.pipe(first()).toPromise())) {
return this.scan();
}
} else {
this.articleSearchStore.search({ empty: true, scrollPosReset: true });
this.subscriptions.add(
@@ -111,6 +111,7 @@ export class ArticleSearchboxComponent implements OnInit, OnDestroy {
})
);
}
}
scan() {
this.subscriptions.add(

View File

@@ -9,7 +9,6 @@ import { FormsModule } from '@angular/forms';
import { BreadcrumbsComponent } from '../components/breadcrumbs/breadcrumbs.component';
import { MenuComponent } from '../components/menu/menu.component';
import { DashboardModule } from '../modules/dashboard/dashboard.module';
import { NewsletterSignupModule } from './newsletter-signup/newsletter-signup.module';
import { ContentPageComponent } from '../pages/content/content.component';
import { SharedModule } from '../shared/shared.module';
import { ProcessModule } from '../modules/process/process.module';
@@ -56,7 +55,6 @@ import { RemissionStartedLeaveDialogComponent } from './remission/components/rem
ScrollingModule,
FormsModule,
SharedModule,
NewsletterSignupModule,
InfiniteScrollModule,
DashboardModule,
ProcessModule,

View File

@@ -1,14 +0,0 @@
import { NgModule } from '@angular/core';
import { NewsletterSignupComponent } from './pages/newsletter-signup.component';
import { CommonModule } from '@angular/common';
import { SharedLibModule, SignaturePadModule } from 'shared/public_api';
import { ButtonModule, CheckboxModule, IconModule } from '@libs/ui';
@NgModule({
imports: [CommonModule, SharedLibModule, ButtonModule, CheckboxModule, SignaturePadModule, IconModule],
exports: [NewsletterSignupComponent],
declarations: [NewsletterSignupComponent],
providers: [],
})
export class NewsletterSignupModule {}

View File

@@ -1,29 +0,0 @@
import { trigger, style, transition, animate, query, state } from '@angular/animations';
export const circleAnimation = trigger('circle', [
state(
'one',
style({
opacity: 0,
height: 0,
})
),
state(
'two',
style({
opacity: 1,
height: '*',
marginBottom: '20px',
})
),
transition('one => two', [
animate(
'300ms 400ms ease-out',
style({
opacity: 1,
height: '*',
marginBottom: '20px',
})
),
]),
]);

View File

@@ -1,8 +0,0 @@
import { trigger, style, transition, animate, query, state, stagger } from '@angular/animations';
export const expandAnimation = trigger('expand', [
transition(':enter, * => 0, * => -1', []),
state('one', style({ opacity: 0, height: 0 })),
state('two', style({ opacity: 1, height: '*' })),
transition('one => two', [animate(400, style({ opacity: 0, height: 0 })), animate(300, style({ opacity: 1, height: '*' }))]),
]);

View File

@@ -1,34 +0,0 @@
<div class="container">
<div class="header">
<span>Empfehlungen</span>
</div>
<div [@circle]="stage" class="success-check">
<img src="/assets/images/Check_green_circle.svg" />
</div>
<h1 *ngIf="stage == 'one'">Passende Newsletter abonnieren?</h1>
<h1 *ngIf="stage == 'two'">Sie haben folgende Newsletter abonniert</h1>
<div class="options" [@remove]="stage">
<app-checkbox [option]="opt" *ngFor="let opt of options"></app-checkbox>
</div>
<div [@expand]="stage" class="additional">
<h1>Weitere Newsletter abonnieren?</h1>
<div class="options">
<app-checkbox [option]="opt" *ngFor="let opt of extra"></app-checkbox>
</div>
</div>
<lib-signature-pad #sigPad class="pad"></lib-signature-pad>
<div *ngIf="!changes" class="disabled"></div>
<caption class="signature">
Signature
</caption>
<p class="muted">
Mit meiner Unterschrift erkläre ich mich damit einverstanden, dass die Hugendubel mir regelmäßig Informationen zum Thema
Versanstaltungen zuschickt. Meine Einwilligung kann ich jederzeit gegenüber Hugendubel widerrufen.
</p>
<app-button [primary]="true" (action)="confirm()" *ngIf="changes">Abonnieren</app-button>
</div>

View File

@@ -1,101 +0,0 @@
.container {
display: flex;
align-items: center;
flex-direction: column;
user-select: none;
h1 {
font-family: 'Open Sans';
font-size: 18px;
font-weight: 600;
color: rgba(0, 0, 0, 1);
margin: 0;
margin-bottom: 25px;
text-align: center;
}
caption {
font-family: 'Open Sans';
font-size: 14px;
font-weight: 600;
color: rgba(0, 0, 0, 1);
text-align: left;
line-height: 21px;
}
p.muted {
width: 70%;
font-family: 'Open Sans';
font-size: 16px;
font-weight: 600;
color: rgba(179, 195, 212, 1);
text-align: center;
line-height: 21px;
margin-top: 25px;
margin-bottom: 35px;
}
}
.header {
width: 100%;
text-align: left;
color: rgba(23, 32, 98, 1);
display: flex;
align-items: center;
margin-bottom: 30px;
.icon {
// width: 22px;
// height: 20px;
background-image: url(/assets/images/Empfehlungen_Icon.svg);
}
span {
font-family: 'Open Sans';
font-size: 15px;
font-weight: bold;
text-transform: uppercase;
margin-left: 10px;
}
}
.options {
font-family: 'Open Sans';
font-size: 16px;
color: rgba(0, 0, 0, 1);
margin-bottom: 60px;
display: flex;
justify-content: center;
align-items: center;
position: relative;
app-checkbox {
max-width: 230px;
&:not(:first-child) {
margin-left: 15px;
}
}
}
.additional {
flex: 0.0001;
overflow: hidden;
}
.pad {
display: block;
border: #e1ebf5 2px solid;
margin-bottom: 15px;
}
.signature {
margin-top: 15px;
}
.disabled {
display: block;
background: #e1ebf5;
margin-top: -223px;
height: 206px;
width: 550px;
opacity: 0.2;
}

View File

@@ -1,75 +0,0 @@
import { Component, OnInit, ViewChild } from '@angular/core';
import { circleAnimation } from './circle.animation';
import { removeAnimation } from './remove.animation';
import { expandAnimation } from './expand.animation';
import { SignaturePadComponent } from 'shared/lib/signature-pad/signature-pad.component';
import { CheckboxOption } from '@libs/ui';
@Component({
selector: 'app-newsletter-signup',
templateUrl: 'newsletter-signup.component.html',
styleUrls: ['newsletter-signup.component.scss'],
animations: [circleAnimation, removeAnimation, expandAnimation],
})
export class NewsletterSignupComponent implements OnInit {
@ViewChild(SignaturePadComponent) sigPad: SignaturePadComponent;
stage = 'one';
options = [];
init: CheckboxOption[] = [
{
value: 'Neues von Inger-Maria Mahlke',
selected: false,
},
{
value: 'Thema Fantasy',
selected: false,
},
{
value: 'Veranstaltungen',
selected: false,
},
];
extra: CheckboxOption[] = [
{
value: 'Neues von Nele Neuhaus',
selected: false,
},
{
value: 'Thema Roman',
selected: false,
},
{
value: 'Filiale Stachus',
selected: false,
},
];
constructor() {}
ngOnInit() {
this.options = [...this.init];
}
get changes() {
if (this.stage == 'one') {
return this.init.some((i) => i.selected);
}
return this.extra.some((i) => i.selected);
}
nextStage() {
this.stage = this.stage === 'one' ? 'two' : 'one';
if (this.stage === 'one') {
this.options = [...this.init];
} else {
this.options = this.options.filter((i) => i.selected);
}
}
confirm() {
this.stage = 'two';
this.options = this.options.filter((i) => i.selected);
this.sigPad.clear();
}
}

View File

@@ -1,10 +0,0 @@
import { trigger, style, transition, animate, query } from '@angular/animations';
export const removeAnimation = trigger('remove', [
transition(':enter, * => 0, * => -1', []),
transition('one => two', [
// each time the binding value changes
query(':leave', [style({ opacity: 0 })]),
query(':leave', [animate('0.2s', style({ flex: 0.00001, opacity: 0 }))]),
]),
]);

View File

File diff suppressed because it is too large Load Diff

View File

Binary file not shown.

View File

@@ -1,6 +1,3 @@
import { Barcode, ScanSettings } from 'scandit-sdk';
// import { ScanditSdkBarcodePickerComponent, ScanditSdkService } from 'scandit-sdk-angular';
import { AfterViewInit, ChangeDetectorRef, Component, EventEmitter, Output, OnDestroy } from '@angular/core';
import { CameraErrorHandler } from './utils/camera-error.handler';
@@ -23,40 +20,18 @@ export class BarcodeScannerScanditComponent implements AfterViewInit, OnDestroy
@Output() scan = new EventEmitter();
destroy$ = new Subject();
public settings = new ScanSettings({
enabledSymbologies: [Barcode.Symbology.CODE128, Barcode.Symbology.EAN13],
});
log = 'tst';
constructor(private cameraError: CameraErrorHandler, private cdRef: ChangeDetectorRef, private native: NativeContainerService) {
constructor(private cdRef: ChangeDetectorRef, private native: NativeContainerService) {
this.webview = this.native.isUiWebview();
}
ngAfterViewInit() {
this.webview = this.native.isUiWebview();
this.cameraError.notAllowed.subscribe((v) => (this.errorAccess = v));
if (this.webview) {
this.ready = true;
}
}
scanSuccess(result) {
if (result.barcodes.length > 0) {
this.code = result.barcodes[0].data;
this.enabled = false;
this.search();
}
}
scanToggle() {
this.enabled = true;
this.ready = false;
this.cdRef.detectChanges();
setTimeout(() => this.cdRef.detectChanges(), 200);
}
openNativeScanner() {
this.native
.openScanner()
@@ -73,15 +48,6 @@ export class BarcodeScannerScanditComponent implements AfterViewInit, OnDestroy
});
}
search() {
this.scan.emit(this.code);
}
scanErrorHandler($event) {
console.error($event);
this.errorAccess = true;
}
ngOnDestroy() {
this.destroy$.next();
}

View File

@@ -7,10 +7,6 @@ import { CameraErrorHandler } from './utils/camera-error.handler';
import { WindowRef } from './utils/window-ref.service';
import { ButtonModule } from '@libs/ui';
const licenseKey =
// tslint:disable-next-line: max-line-length
'AcwsxifsOx+fAw/oXRAh/7w/zNFaMBqI+U7n6hARS/yzdGQvqFgeiFtKjjjUDuCIO3qscw0HMjb5fy0X7kRJWktFvP/sPi5eADMDiOhyhroJKFJKEUrwzXNjTQxvXUTXKhZTFs4svtghBoEi988sXll2KuaDOPDwfpNZX5FVLUKyf/1T8XvRhhYFS4UqoM+X+L1RcW7uUxaRgZ7xAQBGAHGO39laedxcmSQSZK1+fFnYRNlFKFmSLuvxGdxEnX3Aq3tZO9hlNcmN+FUSilXdQoxDwc1ryZrJxR7jMPfT1o3ShIn8MSL9wc6iN9KAXjQgEGkmksPRvwGoraUGm6+1SFYHmwHy5HwRZP604Ctzscd754LW86cfgWNVFY0TXmE5z0hWC759bqOcZPMCVK1D7FbHDpfoU2SAdhQPqr87MGVgYSZ56FIvRUJeshMDRFYR53oPmHbZNerfd/J3kMk9AL5dH74TmCOjTqrj5jvZQDkPgcRjlqcn9AW3kQ6RJgajQMg9R4p0KDZd9r1Wqm2vwowCvphl5LIX2kH7rssemeQHZf2yTariSclWQdntudSD8YdMcCzURn0jQpJj6UJ2PAXgFYLJSVDW++SVrPKokQr2F0odavyXCZCjd7L1248kLKVdJp1qEXiIuhrz8XduS65KOscXR3KePZMeb7gzM9Oh14Ai7sxwBOnMXBoul/LrVaBrbFvN/iXsaVewFQhuW19mI90+runCKiLOqMb0LcuO68a1r0pxYUK5hGIc5Pgj20ZS/xPvQBJhyIPmc1/tCVLfWLwwKYmM4FI9BOU4p4i5MAJcb/c5JA1LJQ==';
const engineLocation = 'assets/vendor/scandit/';
@NgModule({
imports: [CommonModule, ButtonModule],
exports: [BarcodeScannerScanditComponent],

View File

@@ -1,6 +1,3 @@
import { Barcode, ScanSettings } from 'scandit-sdk';
import { ScanditSdkBarcodePickerComponent, ScanditSdkService } from 'scandit-sdk-angular';
import { AfterViewInit, ChangeDetectorRef, Component, EventEmitter, Output, ViewChild, OnDestroy } from '@angular/core';
import { CameraErrorHandler } from './utils/camera-error.handler';
@@ -21,56 +18,15 @@ export class CollectingShelfScannerScanditComponent implements AfterViewInit, On
public ready = false;
public webview = true;
@Output() scan = new EventEmitter();
@Output() manualEntry = new EventEmitter();
destroy$ = new Subject();
public settings = new ScanSettings({
enabledSymbologies: [Barcode.Symbology.CODE128, Barcode.Symbology.EAN13],
});
@ViewChild('scanner') scanner: ScanditSdkBarcodePickerComponent;
log = 'tst';
constructor(private cameraError: CameraErrorHandler, private cdRef: ChangeDetectorRef, private native: NativeContainerService) {
constructor(private cdRef: ChangeDetectorRef, private native: NativeContainerService) {
this.webview = this.native.isUiWebview();
}
ngAfterViewInit() {
this.webview = this.native.isUiWebview();
if (this.webview) {
this.cameraError.notAllowed.subscribe((v) => (this.errorAccess = v));
try {
this.scanner.error.subscribe(
(success) => {
this.scanErrorHandler(success);
this.log = JSON.stringify(success);
},
(error) => {
this.scanErrorHandler(error);
this.log = JSON.stringify(error);
}
);
} catch (error) {
console.error(error);
}
this.ready = true;
}
}
scanSuccess(result) {
if (result.barcodes.length > 0) {
this.code = result.barcodes[0].data;
this.enabled = false;
this.search();
}
}
scanToggle() {
this.enabled = true;
this.ready = false;
this.cdRef.detectChanges();
setTimeout(() => this.cdRef.detectChanges(), 200);
}
public openNativeScanner() {
@@ -89,33 +45,6 @@ export class CollectingShelfScannerScanditComponent implements AfterViewInit, On
});
}
search() {
this.scan.emit(this.code);
}
isReady(scanner) {
this.ready = true;
const picker = (this.scanner['scanditSdkService'] as ScanditSdkService).picker as any;
this.errorOther = !picker.scanner.isReadyToWork;
picker.cameraManager.cameraSwitcherEnabled = false;
picker.barcodePickerGui.cameraSwitcherElement = null;
picker.cameraManager.triggerFatalError = (e) => {
console.error(e);
this.errorOther = true;
};
this.cdRef.detectChanges();
}
emitManualEntryIntent() {
this.manualEntry.emit(true);
}
scanErrorHandler($event) {
console.error($event);
this.errorAccess = true;
}
ngOnDestroy() {
this.destroy$.next();
}

View File

@@ -7,10 +7,6 @@ import { CameraErrorHandler } from './utils/camera-error.handler';
import { WindowRef } from './utils/window-ref.service';
import { ButtonModule } from '@libs/ui';
const licenseKey =
// tslint:disable-next-line: max-line-length
'AcwsxifsOx+fAw/oXRAh/7w/zNFaMBqI+U7n6hARS/yzdGQvqFgeiFtKjjjUDuCIO3qscw0HMjb5fy0X7kRJWktFvP/sPi5eADMDiOhyhroJKFJKEUrwzXNjTQxvXUTXKhZTFs4svtghBoEi988sXll2KuaDOPDwfpNZX5FVLUKyf/1T8XvRhhYFS4UqoM+X+L1RcW7uUxaRgZ7xAQBGAHGO39laedxcmSQSZK1+fFnYRNlFKFmSLuvxGdxEnX3Aq3tZO9hlNcmN+FUSilXdQoxDwc1ryZrJxR7jMPfT1o3ShIn8MSL9wc6iN9KAXjQgEGkmksPRvwGoraUGm6+1SFYHmwHy5HwRZP604Ctzscd754LW86cfgWNVFY0TXmE5z0hWC759bqOcZPMCVK1D7FbHDpfoU2SAdhQPqr87MGVgYSZ56FIvRUJeshMDRFYR53oPmHbZNerfd/J3kMk9AL5dH74TmCOjTqrj5jvZQDkPgcRjlqcn9AW3kQ6RJgajQMg9R4p0KDZd9r1Wqm2vwowCvphl5LIX2kH7rssemeQHZf2yTariSclWQdntudSD8YdMcCzURn0jQpJj6UJ2PAXgFYLJSVDW++SVrPKokQr2F0odavyXCZCjd7L1248kLKVdJp1qEXiIuhrz8XduS65KOscXR3KePZMeb7gzM9Oh14Ai7sxwBOnMXBoul/LrVaBrbFvN/iXsaVewFQhuW19mI90+runCKiLOqMb0LcuO68a1r0pxYUK5hGIc5Pgj20ZS/xPvQBJhyIPmc1/tCVLfWLwwKYmM4FI9BOU4p4i5MAJcb/c5JA1LJQ==';
const engineLocation = 'assets/vendor/scandit/';
@NgModule({
imports: [CommonModule, ButtonModule],
exports: [CollectingShelfScannerScanditComponent],

View File

@@ -14,7 +14,6 @@
></scandit-sdk-barcode-picker> -->
</div>
<app-button (click)="openNativeScanner()" primary="true" *ngIf="webview">Kundenkarte scannen</app-button>
<app-button (click)="emitManualEntryIntent()">Kartennummer manuell eintragen</app-button>
<div class="w-100 loading" *ngIf="!enabled">
<div class="scan-result">
<span>{{ code }}</span>

View File

@@ -1,6 +1,3 @@
import { Barcode, ScanSettings } from 'scandit-sdk';
import { ScanditSdkBarcodePickerComponent, ScanditSdkService } from 'scandit-sdk-angular';
import { AfterViewInit, ChangeDetectorRef, Component, EventEmitter, Output, ViewChild, OnDestroy } from '@angular/core';
import { CameraErrorHandler } from './utils/camera-error.handler';
@@ -24,53 +21,12 @@ export class CustomerCardScannerScanditComponent implements AfterViewInit, OnDes
@Output() manualEntry = new EventEmitter();
destroy$ = new Subject();
public settings = new ScanSettings({
enabledSymbologies: [Barcode.Symbology.CODE128, Barcode.Symbology.EAN13],
});
@ViewChild('scanner') scanner: ScanditSdkBarcodePickerComponent;
log = 'tst';
constructor(private cameraError: CameraErrorHandler, private cdRef: ChangeDetectorRef, private native: NativeContainerService) {
constructor(private cdRef: ChangeDetectorRef, private native: NativeContainerService) {
this.webview = this.native.isUiWebview();
}
ngAfterViewInit() {
this.webview = this.native.isUiWebview();
if (this.webview) {
this.cameraError.notAllowed.subscribe((v) => (this.errorAccess = v));
try {
this.scanner.error.subscribe(
(success) => {
this.scanErrorHandler(success);
this.log = JSON.stringify(success);
},
(error) => {
this.scanErrorHandler(error);
this.log = JSON.stringify(error);
}
);
} catch (error) {
console.error(error);
}
this.ready = true;
}
}
scanSuccess(result) {
if (result.barcodes.length > 0) {
this.code = result.barcodes[0].data;
this.enabled = false;
this.search();
}
}
scanToggle() {
this.enabled = true;
this.ready = false;
this.cdRef.detectChanges();
setTimeout(() => this.cdRef.detectChanges(), 200);
}
public openNativeScanner() {
@@ -89,39 +45,6 @@ export class CustomerCardScannerScanditComponent implements AfterViewInit, OnDes
});
}
search() {
this.scan.emit(this.code);
}
isReady(scanner) {
this.ready = true;
const picker = (this.scanner['scanditSdkService'] as ScanditSdkService).picker as any;
this.errorOther = !picker.scanner.isReadyToWork;
picker.cameraManager.cameraSwitcherEnabled = false;
picker.barcodePickerGui.cameraSwitcherElement = null;
picker.cameraManager.triggerFatalError = (e) => {
console.error(e);
this.errorOther = true;
};
// Remove Scandit logo
// const element = scanner.pickerContainer.nativeElement as Element;
// const imageElement = element.childNodes[0].childNodes[0]
// .childNodes[6] as any;
// imageElement.src = '';
this.cdRef.detectChanges();
}
emitManualEntryIntent() {
this.manualEntry.emit(true);
}
scanErrorHandler($event) {
console.error($event);
this.errorAccess = true;
}
ngOnDestroy() {
this.destroy$.next();
}

View File

@@ -7,10 +7,6 @@ import { CameraErrorHandler } from './utils/camera-error.handler';
import { WindowRef } from './utils/window-ref.service';
import { ButtonModule } from '@libs/ui';
const licenseKey =
// tslint:disable-next-line: max-line-length
'AcwsxifsOx+fAw/oXRAh/7w/zNFaMBqI+U7n6hARS/yzdGQvqFgeiFtKjjjUDuCIO3qscw0HMjb5fy0X7kRJWktFvP/sPi5eADMDiOhyhroJKFJKEUrwzXNjTQxvXUTXKhZTFs4svtghBoEi988sXll2KuaDOPDwfpNZX5FVLUKyf/1T8XvRhhYFS4UqoM+X+L1RcW7uUxaRgZ7xAQBGAHGO39laedxcmSQSZK1+fFnYRNlFKFmSLuvxGdxEnX3Aq3tZO9hlNcmN+FUSilXdQoxDwc1ryZrJxR7jMPfT1o3ShIn8MSL9wc6iN9KAXjQgEGkmksPRvwGoraUGm6+1SFYHmwHy5HwRZP604Ctzscd754LW86cfgWNVFY0TXmE5z0hWC759bqOcZPMCVK1D7FbHDpfoU2SAdhQPqr87MGVgYSZ56FIvRUJeshMDRFYR53oPmHbZNerfd/J3kMk9AL5dH74TmCOjTqrj5jvZQDkPgcRjlqcn9AW3kQ6RJgajQMg9R4p0KDZd9r1Wqm2vwowCvphl5LIX2kH7rssemeQHZf2yTariSclWQdntudSD8YdMcCzURn0jQpJj6UJ2PAXgFYLJSVDW++SVrPKokQr2F0odavyXCZCjd7L1248kLKVdJp1qEXiIuhrz8XduS65KOscXR3KePZMeb7gzM9Oh14Ai7sxwBOnMXBoul/LrVaBrbFvN/iXsaVewFQhuW19mI90+runCKiLOqMb0LcuO68a1r0pxYUK5hGIc5Pgj20ZS/xPvQBJhyIPmc1/tCVLfWLwwKYmM4FI9BOU4p4i5MAJcb/c5JA1LJQ==';
const engineLocation = 'assets/vendor/scandit/';
@NgModule({
imports: [CommonModule, ButtonModule],
exports: [CustomerCardScannerScanditComponent],

View File

@@ -1,9 +1,4 @@
import { Barcode, ScanSettings } from 'scandit-sdk';
import { ScanditSdkBarcodePickerComponent, ScanditSdkService } from 'scandit-sdk-angular';
import { AfterViewInit, ChangeDetectorRef, Component, EventEmitter, Output, ViewChild, OnDestroy } from '@angular/core';
import { CameraErrorHandler } from './utils/camera-error.handler';
import { AfterViewInit, ChangeDetectorRef, Component, EventEmitter, Output, OnDestroy } from '@angular/core';
import { NativeContainerService } from './native-container.service';
import { Subject } from 'rxjs';
import { takeUntil } from 'rxjs/operators';
@@ -18,59 +13,16 @@ export class RemissionContainerScannerScanditComponent implements AfterViewInit,
public errorAccess = false;
public errorOther = false;
public code = '';
public ready = false;
public webview = true;
@Output() scan = new EventEmitter();
@Output() manualEntry = new EventEmitter();
destroy$ = new Subject();
public settings = new ScanSettings({
enabledSymbologies: [Barcode.Symbology.CODE128, Barcode.Symbology.EAN13],
});
@ViewChild('scanner') scanner: ScanditSdkBarcodePickerComponent;
log = 'tst';
constructor(private cameraError: CameraErrorHandler, private cdRef: ChangeDetectorRef, private native: NativeContainerService) {
constructor(private cdRef: ChangeDetectorRef, private native: NativeContainerService) {
this.webview = this.native.isUiWebview().isNative;
}
ngAfterViewInit() {
this.webview = this.native.isUiWebview().isNative;
if (this.webview) {
this.cameraError.notAllowed.subscribe((v) => (this.errorAccess = v));
try {
this.scanner.error.subscribe(
(success) => {
this.scanErrorHandler(success);
this.log = JSON.stringify(success);
},
(error) => {
this.scanErrorHandler(error);
this.log = JSON.stringify(error);
}
);
} catch (error) {
console.error(error);
}
this.ready = true;
}
}
scanSuccess(result) {
if (result.barcodes.length > 0) {
this.code = result.barcodes[0].data;
this.enabled = false;
this.search();
}
}
scanToggle() {
this.enabled = true;
this.ready = false;
this.cdRef.detectChanges();
setTimeout(() => this.cdRef.detectChanges(), 200);
}
public openNativeScanner() {
@@ -89,33 +41,6 @@ export class RemissionContainerScannerScanditComponent implements AfterViewInit,
});
}
search() {
this.scan.emit(this.code);
}
isReady(scanner) {
this.ready = true;
const picker = (this.scanner['scanditSdkService'] as ScanditSdkService).picker as any;
this.errorOther = !picker.scanner.isReadyToWork;
picker.cameraManager.cameraSwitcherEnabled = false;
picker.barcodePickerGui.cameraSwitcherElement = null;
picker.cameraManager.triggerFatalError = (e) => {
console.error(e);
this.errorOther = true;
};
this.cdRef.detectChanges();
}
emitManualEntryIntent() {
this.manualEntry.emit(true);
}
scanErrorHandler($event) {
console.error($event);
this.errorAccess = true;
}
ngOnDestroy() {
this.destroy$.next();
}

View File

@@ -1,4 +1,3 @@
import { ZXingScannerModule } from '@zxing/ngx-scanner';
import { CommonModule } from '@angular/common';
import { ErrorHandler, NgModule } from '@angular/core';
@@ -8,12 +7,8 @@ import { CameraErrorHandler } from './utils/camera-error.handler';
import { WindowRef } from './utils/window-ref.service';
import { ButtonModule } from '@libs/ui';
const licenseKey =
// tslint:disable-next-line: max-line-length
'AcwsxifsOx+fAw/oXRAh/7w/zNFaMBqI+U7n6hARS/yzdGQvqFgeiFtKjjjUDuCIO3qscw0HMjb5fy0X7kRJWktFvP/sPi5eADMDiOhyhroJKFJKEUrwzXNjTQxvXUTXKhZTFs4svtghBoEi988sXll2KuaDOPDwfpNZX5FVLUKyf/1T8XvRhhYFS4UqoM+X+L1RcW7uUxaRgZ7xAQBGAHGO39laedxcmSQSZK1+fFnYRNlFKFmSLuvxGdxEnX3Aq3tZO9hlNcmN+FUSilXdQoxDwc1ryZrJxR7jMPfT1o3ShIn8MSL9wc6iN9KAXjQgEGkmksPRvwGoraUGm6+1SFYHmwHy5HwRZP604Ctzscd754LW86cfgWNVFY0TXmE5z0hWC759bqOcZPMCVK1D7FbHDpfoU2SAdhQPqr87MGVgYSZ56FIvRUJeshMDRFYR53oPmHbZNerfd/J3kMk9AL5dH74TmCOjTqrj5jvZQDkPgcRjlqcn9AW3kQ6RJgajQMg9R4p0KDZd9r1Wqm2vwowCvphl5LIX2kH7rssemeQHZf2yTariSclWQdntudSD8YdMcCzURn0jQpJj6UJ2PAXgFYLJSVDW++SVrPKokQr2F0odavyXCZCjd7L1248kLKVdJp1qEXiIuhrz8XduS65KOscXR3KePZMeb7gzM9Oh14Ai7sxwBOnMXBoul/LrVaBrbFvN/iXsaVewFQhuW19mI90+runCKiLOqMb0LcuO68a1r0pxYUK5hGIc5Pgj20ZS/xPvQBJhyIPmc1/tCVLfWLwwKYmM4FI9BOU4p4i5MAJcb/c5JA1LJQ==';
const engineLocation = 'assets/vendor/scandit/';
@NgModule({
imports: [CommonModule, ButtonModule, ZXingScannerModule],
imports: [CommonModule, ButtonModule],
exports: [RemissionContainerScannerScanditComponent],
declarations: [RemissionContainerScannerScanditComponent],
providers: [WindowRef, NativeContainerService, CameraErrorHandler, { provide: ErrorHandler, useExisting: CameraErrorHandler }],

View File

@@ -1,9 +1,5 @@
import { Barcode, ScanSettings } from 'scandit-sdk';
import { ScanditSdkBarcodePickerComponent, ScanditSdkService } from 'scandit-sdk-angular';
import { AfterViewInit, ChangeDetectorRef, Component, EventEmitter, Output, ViewChild, OnDestroy } from '@angular/core';
import { CameraErrorHandler } from './utils/camera-error.handler';
import { NativeContainerService } from './native-container.service';
import { Subject } from 'rxjs';
import { takeUntil } from 'rxjs/operators';
@@ -14,7 +10,6 @@ import { takeUntil } from 'rxjs/operators';
styleUrls: ['remission-product-scanner-scandit.component.scss'],
})
export class RemissionProductScannerScanditComponent implements AfterViewInit, OnDestroy {
public enabled = true;
public errorAccess = false;
public errorOther = false;
public code = '';
@@ -24,53 +19,12 @@ export class RemissionProductScannerScanditComponent implements AfterViewInit, O
@Output() manualEntry = new EventEmitter();
destroy$ = new Subject();
public settings = new ScanSettings({
enabledSymbologies: [Barcode.Symbology.CODE128, Barcode.Symbology.EAN13],
});
@ViewChild('scanner') scanner: ScanditSdkBarcodePickerComponent;
log = 'tst';
constructor(private cameraError: CameraErrorHandler, private cdRef: ChangeDetectorRef, private native: NativeContainerService) {
constructor(private cdRef: ChangeDetectorRef, private native: NativeContainerService) {
this.webview = this.native.isUiWebview();
}
ngAfterViewInit() {
this.webview = this.native.isUiWebview();
if (this.webview) {
this.cameraError.notAllowed.subscribe((v) => (this.errorAccess = v));
try {
this.scanner.error.subscribe(
(success) => {
this.scanErrorHandler(success);
this.log = JSON.stringify(success);
},
(error) => {
this.scanErrorHandler(error);
this.log = JSON.stringify(error);
}
);
} catch (error) {
console.error(error);
}
this.ready = true;
}
}
scanSuccess(result) {
if (result.barcodes.length > 0) {
this.code = result.barcodes[0].data;
this.enabled = false;
this.search();
}
}
scanToggle() {
this.enabled = true;
this.ready = false;
this.cdRef.detectChanges();
setTimeout(() => this.cdRef.detectChanges(), 200);
}
public openNativeScanner() {
@@ -83,39 +37,11 @@ export class RemissionProductScannerScanditComponent implements AfterViewInit, O
if (data.status === 'SUCCESS') {
this.code = data.data;
this.scan.emit(this.code);
this.enabled = false;
this.cdRef.detectChanges();
}
});
}
search() {
this.scan.emit(this.code);
}
isReady(scanner) {
this.ready = true;
const picker = (this.scanner['scanditSdkService'] as ScanditSdkService).picker as any;
this.errorOther = !picker.scanner.isReadyToWork;
picker.cameraManager.cameraSwitcherEnabled = false;
picker.barcodePickerGui.cameraSwitcherElement = null;
picker.cameraManager.triggerFatalError = (e) => {
console.error(e);
this.errorOther = true;
};
this.cdRef.detectChanges();
}
emitManualEntryIntent() {
this.manualEntry.emit(true);
}
scanErrorHandler($event) {
console.error($event);
this.errorAccess = true;
}
ngOnDestroy() {
this.destroy$.next();
}

View File

@@ -7,10 +7,6 @@ import { CameraErrorHandler } from './utils/camera-error.handler';
import { WindowRef } from './utils/window-ref.service';
import { ButtonModule } from '@libs/ui';
const licenseKey =
// tslint:disable-next-line: max-line-length
'AcwsxifsOx+fAw/oXRAh/7w/zNFaMBqI+U7n6hARS/yzdGQvqFgeiFtKjjjUDuCIO3qscw0HMjb5fy0X7kRJWktFvP/sPi5eADMDiOhyhroJKFJKEUrwzXNjTQxvXUTXKhZTFs4svtghBoEi988sXll2KuaDOPDwfpNZX5FVLUKyf/1T8XvRhhYFS4UqoM+X+L1RcW7uUxaRgZ7xAQBGAHGO39laedxcmSQSZK1+fFnYRNlFKFmSLuvxGdxEnX3Aq3tZO9hlNcmN+FUSilXdQoxDwc1ryZrJxR7jMPfT1o3ShIn8MSL9wc6iN9KAXjQgEGkmksPRvwGoraUGm6+1SFYHmwHy5HwRZP604Ctzscd754LW86cfgWNVFY0TXmE5z0hWC759bqOcZPMCVK1D7FbHDpfoU2SAdhQPqr87MGVgYSZ56FIvRUJeshMDRFYR53oPmHbZNerfd/J3kMk9AL5dH74TmCOjTqrj5jvZQDkPgcRjlqcn9AW3kQ6RJgajQMg9R4p0KDZd9r1Wqm2vwowCvphl5LIX2kH7rssemeQHZf2yTariSclWQdntudSD8YdMcCzURn0jQpJj6UJ2PAXgFYLJSVDW++SVrPKokQr2F0odavyXCZCjd7L1248kLKVdJp1qEXiIuhrz8XduS65KOscXR3KePZMeb7gzM9Oh14Ai7sxwBOnMXBoul/LrVaBrbFvN/iXsaVewFQhuW19mI90+runCKiLOqMb0LcuO68a1r0pxYUK5hGIc5Pgj20ZS/xPvQBJhyIPmc1/tCVLfWLwwKYmM4FI9BOU4p4i5MAJcb/c5JA1LJQ==';
const engineLocation = 'assets/vendor/scandit/';
@NgModule({
imports: [CommonModule, ButtonModule],
exports: [RemissionProductScannerScanditComponent],

View File

@@ -1,9 +1,5 @@
import { Barcode, ScanSettings } from 'scandit-sdk';
import { ScanditSdkBarcodePickerComponent, ScanditSdkService } from 'scandit-sdk-angular';
import { AfterViewInit, ChangeDetectorRef, Component, EventEmitter, Output, OnDestroy } from '@angular/core';
import { AfterViewInit, ChangeDetectorRef, Component, EventEmitter, Output, ViewChild, OnDestroy } from '@angular/core';
import { CameraErrorHandler } from './utils/camera-error.handler';
import { NativeContainerService } from './native-container.service';
import { Subject } from 'rxjs';
import { takeUntil } from 'rxjs/operators';
@@ -18,93 +14,16 @@ export class RemissionShippingDocumentScannerScanditComponent implements AfterVi
public errorAccess = false;
public errorOther = false;
public code = '';
public ready = false;
public webview = true;
@Output() scan = new EventEmitter();
@Output() manualEntry = new EventEmitter();
destroy$ = new Subject();
private activeSymbolCounts = [
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
27,
28,
29,
30,
31,
32,
];
public settings: ScanSettings;
@ViewChild('scanner') scanner: ScanditSdkBarcodePickerComponent;
log = 'tst';
constructor(private cameraError: CameraErrorHandler, private cdRef: ChangeDetectorRef, private native: NativeContainerService) {
constructor(private cdRef: ChangeDetectorRef, private native: NativeContainerService) {
this.webview = this.native.isUiWebview();
this.settings = new ScanSettings({
enabledSymbologies: [Barcode.Symbology.CODE128, Barcode.Symbology.EAN13, Barcode.Symbology.INTERLEAVED_2_OF_5],
});
const twoOfFifeSymbology = this.settings.getSymbologySettings(Barcode.Symbology.INTERLEAVED_2_OF_5);
twoOfFifeSymbology.setActiveSymbolCounts(this.activeSymbolCounts);
}
ngAfterViewInit() {
this.webview = this.native.isUiWebview();
if (this.webview) {
this.cameraError.notAllowed.pipe(takeUntil(this.destroy$)).subscribe((v) => (this.errorAccess = v));
try {
this.scanner.error.pipe(takeUntil(this.destroy$)).subscribe(
(success) => {
this.scanErrorHandler(success);
this.log = JSON.stringify(success);
},
(error) => {
this.scanErrorHandler(error);
this.log = JSON.stringify(error);
}
);
} catch (error) {
console.error(error);
}
this.ready = true;
}
}
scanSuccess(result) {
if (result.barcodes.length > 0) {
this.code = result.barcodes[0].data;
this.enabled = false;
this.search();
}
}
scanToggle() {
this.enabled = true;
this.ready = false;
this.cdRef.detectChanges();
setTimeout(() => this.cdRef.detectChanges(), 200);
}
public openNativeScanner() {
@@ -124,33 +43,6 @@ export class RemissionShippingDocumentScannerScanditComponent implements AfterVi
});
}
search() {
this.scan.emit(this.code);
}
isReady(scanner) {
this.ready = true;
const picker = (this.scanner['scanditSdkService'] as ScanditSdkService).picker as any;
this.errorOther = !picker.scanner.isReadyToWork;
picker.cameraManager.cameraSwitcherEnabled = false;
picker.barcodePickerGui.cameraSwitcherElement = null;
picker.cameraManager.triggerFatalError = (e) => {
console.error(e);
this.errorOther = true;
};
this.cdRef.detectChanges();
}
emitManualEntryIntent() {
this.manualEntry.emit(true);
}
scanErrorHandler($event) {
console.error($event);
this.errorAccess = true;
}
ngOnDestroy() {
this.destroy$.next();
}

View File

@@ -7,10 +7,6 @@ import { CameraErrorHandler } from './utils/camera-error.handler';
import { WindowRef } from './utils/window-ref.service';
import { ButtonModule } from '@libs/ui';
const licenseKey =
// tslint:disable-next-line: max-line-length
'AcwsxifsOx+fAw/oXRAh/7w/zNFaMBqI+U7n6hARS/yzdGQvqFgeiFtKjjjUDuCIO3qscw0HMjb5fy0X7kRJWktFvP/sPi5eADMDiOhyhroJKFJKEUrwzXNjTQxvXUTXKhZTFs4svtghBoEi988sXll2KuaDOPDwfpNZX5FVLUKyf/1T8XvRhhYFS4UqoM+X+L1RcW7uUxaRgZ7xAQBGAHGO39laedxcmSQSZK1+fFnYRNlFKFmSLuvxGdxEnX3Aq3tZO9hlNcmN+FUSilXdQoxDwc1ryZrJxR7jMPfT1o3ShIn8MSL9wc6iN9KAXjQgEGkmksPRvwGoraUGm6+1SFYHmwHy5HwRZP604Ctzscd754LW86cfgWNVFY0TXmE5z0hWC759bqOcZPMCVK1D7FbHDpfoU2SAdhQPqr87MGVgYSZ56FIvRUJeshMDRFYR53oPmHbZNerfd/J3kMk9AL5dH74TmCOjTqrj5jvZQDkPgcRjlqcn9AW3kQ6RJgajQMg9R4p0KDZd9r1Wqm2vwowCvphl5LIX2kH7rssemeQHZf2yTariSclWQdntudSD8YdMcCzURn0jQpJj6UJ2PAXgFYLJSVDW++SVrPKokQr2F0odavyXCZCjd7L1248kLKVdJp1qEXiIuhrz8XduS65KOscXR3KePZMeb7gzM9Oh14Ai7sxwBOnMXBoul/LrVaBrbFvN/iXsaVewFQhuW19mI90+runCKiLOqMb0LcuO68a1r0pxYUK5hGIc5Pgj20ZS/xPvQBJhyIPmc1/tCVLfWLwwKYmM4FI9BOU4p4i5MAJcb/c5JA1LJQ==';
const engineLocation = 'assets/vendor/scandit/';
@NgModule({
imports: [CommonModule, ButtonModule],
exports: [RemissionShippingDocumentScannerScanditComponent],

View File

@@ -1 +0,0 @@
export * from './public_api';

View File

@@ -1,2 +0,0 @@
export * from './signature-pad.component';
export * from './signature-pad.module';

View File

@@ -1,39 +0,0 @@
import { SignaturePad } from 'angular2-signaturepad/signature-pad';
import { AfterViewInit, Component, ViewChild } from '@angular/core';
@Component({
selector: 'lib-signature-pad',
template: ` <signature-pad [options]="signaturePadOptions" (onBeginEvent)="drawStart()" (onEndEvent)="drawComplete()"></signature-pad> `,
})
export class SignaturePadComponent implements AfterViewInit {
@ViewChild(SignaturePad) signaturePad: SignaturePad;
public signaturePadOptions: Object = {
// passed through to szimek/signature_pad constructor
minWidth: 1,
canvasWidth: 550,
canvasHeight: 200,
};
constructor() {}
ngAfterViewInit() {
// this.signaturePad is now available
this.signaturePad.set('minWidth', 1); // set szimek/signature_pad options at runtime
this.signaturePad.clear(); // invoke functions from szimek/signature_pad API
}
drawComplete() {
// will be notified of szimek/signature_pad's onEnd event
// console.log(this.signaturePad.toDataURL());
}
drawStart() {
// will be notified of szimek/signature_pad's onBegin event
// console.log('begin drawing');
}
public clear() {
this.signaturePad.clear();
}
}

View File

@@ -1,13 +0,0 @@
import { SignaturePadModule as ExternalSPModule } from 'angular2-signaturepad';
import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
import { SignaturePadComponent } from './signature-pad.component';
@NgModule({
imports: [CommonModule, ExternalSPModule],
exports: [SignaturePadComponent],
declarations: [SignaturePadComponent],
})
export class SignaturePadModule {}

View File

@@ -3,7 +3,6 @@
*/
export * from './lib/shared-lib.module';
export * from './lib/barcode-scanner';
export * from './lib/signature-pad';
export * from './lib/customer-card-scanner';
export * from './lib/collecting-shelf-scanner';
export * from './lib/remission-container-scanner';

148
package-lock.json generated
View File

@@ -4886,22 +4886,6 @@
"regenerator-runtime": "^0.13.4"
}
},
"@babel/runtime-corejs2": {
"version": "7.3.1",
"resolved": "https://registry.npmjs.org/@babel/runtime-corejs2/-/runtime-corejs2-7.3.1.tgz",
"integrity": "sha512-YpO13776h3e6Wy8dl2J8T9Qwlvopr+b4trCEhHE+yek6yIqV8sx6g3KozdHMbXeBpjosbPi+Ii5Z7X9oXFHUKA==",
"requires": {
"core-js": "^2.5.7",
"regenerator-runtime": "^0.12.0"
},
"dependencies": {
"regenerator-runtime": {
"version": "0.12.1",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz",
"integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg=="
}
}
},
"@babel/template": {
"version": "7.10.4",
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz",
@@ -5860,31 +5844,6 @@
"integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==",
"dev": true
},
"@zxing/library": {
"version": "0.7.0",
"resolved": "https://registry.npmjs.org/@zxing/library/-/library-0.7.0.tgz",
"integrity": "sha512-VJ1cJaCWVF8MspnuyaZKGKlrSQLqQ5usgSap8uuCAvWGQ6W6OwN1NeGvnjhT+9hmnwkHK8XjaflvzaDBC7nKnw==",
"requires": {
"text-encoding": "^0.6.4",
"ts-custom-error": "^2.2.1"
}
},
"@zxing/ngx-scanner": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/@zxing/ngx-scanner/-/ngx-scanner-1.3.0.tgz",
"integrity": "sha512-CA62X8eR+2FnF0XFzVAjhH8U//Quw5ACkUM2/WryXMWaT8v+uapBhKkpUldXfKav5L5ADCO2nv2MLcuhD55QlQ==",
"requires": {
"@zxing/library": "0.7.0",
"tslib": "^1.9.0"
},
"dependencies": {
"tslib": {
"version": "1.13.0",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz",
"integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q=="
}
}
},
"JSONStream": {
"version": "1.3.5",
"resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz",
@@ -6053,14 +6012,6 @@
}
}
},
"angular2-signaturepad": {
"version": "2.8.0",
"resolved": "https://registry.npmjs.org/angular2-signaturepad/-/angular2-signaturepad-2.8.0.tgz",
"integrity": "sha512-K7EZwvfAdRMFfFegzhapk4cEEgQXQW8En9K254OBenKon4HSHT7zVVRC20juwVW/H/XDy+D5km3Fbj4WnFV8IQ==",
"requires": {
"signature_pad": "2.3.2"
}
},
"ansi-colors": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
@@ -9325,11 +9276,6 @@
"integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=",
"dev": true
},
"eventemitter3": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz",
"integrity": "sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA=="
},
"events": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz",
@@ -9659,11 +9605,6 @@
"resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
"integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
},
"faker": {
"version": "4.1.0",
"resolved": "https://pkgs.dev.azure.com/hugendubel/_packaging/hugendubel/npm/registry/faker/-/faker-4.1.0.tgz",
"integrity": "sha1-HkW7vsxndLPBlfrSg1EJxtdIzD8="
},
"fast-deep-equal": {
"version": "2.0.1",
"resolved": "https://pkgs.dev.azure.com/hugendubel/_packaging/hugendubel/npm/registry/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
@@ -10579,11 +10520,6 @@
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz",
"integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w=="
},
"howler": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/howler/-/howler-2.1.1.tgz",
"integrity": "sha512-9nwyDCGxhAGMmNXDfMLv0M/uS/WUg2//jG6t96D8DqbbsVZgXQzsP/ZMItbWO/Fqg7Gg69kOv3xVSDzJdd7aqA=="
},
"hpack.js": {
"version": "2.1.6",
"resolved": "https://pkgs.dev.azure.com/hugendubel/_packaging/hugendubel/npm/registry/hpack.js/-/hpack.js-2.1.6.tgz",
@@ -14978,11 +14914,6 @@
"has": "^1.0.3"
}
},
"objectFitPolyfill": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/objectFitPolyfill/-/objectFitPolyfill-2.1.1.tgz",
"integrity": "sha512-+GQQw+yzk4L7Xl6d4auU6Cbz3HEuN5SKoPEoqjTw+X9uuev1KkiNq9k8hCXQbycZ6ZmM79RXOcSs37XXbVN2Rw=="
},
"obuf": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz",
@@ -18677,14 +18608,6 @@
}
}
},
"rtcpeerconnection-shim": {
"version": "1.2.15",
"resolved": "https://registry.npmjs.org/rtcpeerconnection-shim/-/rtcpeerconnection-shim-1.2.15.tgz",
"integrity": "sha512-C6DxhXt7bssQ1nHb154lqeL0SXz5Dx4RczXZu2Aa/L1NJFnEVDxFwCBo3fqtuljhHIGceg5JKBV4XJ0gW5JKyw==",
"requires": {
"sdp": "^2.6.0"
}
},
"run-async": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz",
@@ -18837,42 +18760,6 @@
"integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
"dev": true
},
"scandit-sdk": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/scandit-sdk/-/scandit-sdk-4.1.1.tgz",
"integrity": "sha512-inRJOY+KEdstQefThduZkj5FJDfVJI6exdmp7slE28uVpsPH0TBfiBHLsk+kHwTD6IGx/b9NM9dg9szL69CkKw==",
"requires": {
"@babel/runtime-corejs2": "^7.3.1",
"eventemitter3": "3.1.0",
"howler": "^2.1.1",
"objectFitPolyfill": "^2.1.1",
"tslib": "^1.9.3",
"ua-parser-js": "^0.7.19",
"webrtc-adapter": "^7.2.0"
},
"dependencies": {
"tslib": {
"version": "1.13.0",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz",
"integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q=="
}
}
},
"scandit-sdk-angular": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/scandit-sdk-angular/-/scandit-sdk-angular-2.0.0.tgz",
"integrity": "sha512-s9ZcNTuVgnRViYNDCOPvPXO6UbEuGnONBe1VEQ7ksUnWZge0XtsuvrlndpcGnVR/PbupymMfKZWpWYoH3jn8BA==",
"requires": {
"tslib": "^1.9.0"
},
"dependencies": {
"tslib": {
"version": "1.13.0",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz",
"integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q=="
}
}
},
"schema-utils": {
"version": "2.7.1",
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz",
@@ -18923,11 +18810,6 @@
}
}
},
"sdp": {
"version": "2.9.0",
"resolved": "https://registry.npmjs.org/sdp/-/sdp-2.9.0.tgz",
"integrity": "sha512-XAVZQO4qsfzVTHorF49zCpkdxiGmPNjA8ps8RcJGtGP3QJ/A8I9/SVg/QnkAFDMXIyGbHZBBFwYBw6WdnhT96w=="
},
"select-hose": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz",
@@ -19194,11 +19076,6 @@
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
"integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0="
},
"signature_pad": {
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/signature_pad/-/signature_pad-2.3.2.tgz",
"integrity": "sha512-peYXLxOsIY6MES2TrRLDiNg2T++8gGbpP2yaC+6Ohtxr+a2dzoaqWosWDY9sWqTAAk6E/TyQO+LJw9zQwyu5kA=="
},
"simple-swizzle": {
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
@@ -21290,12 +21167,6 @@
}
}
},
"text-encoding": {
"version": "0.6.4",
"resolved": "https://registry.npmjs.org/text-encoding/-/text-encoding-0.6.4.tgz",
"integrity": "sha1-45mpgiV6J22uQou5KEXLcb3CbRk=",
"optional": true
},
"text-table": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
@@ -21479,11 +21350,6 @@
"glob": "^7.1.2"
}
},
"ts-custom-error": {
"version": "2.2.2",
"resolved": "https://registry.npmjs.org/ts-custom-error/-/ts-custom-error-2.2.2.tgz",
"integrity": "sha512-I0FEdfdatDjeigRqh1JFj67bcIKyRNm12UVGheBjs2pXgyELg2xeiQLVaWu1pVmNGXZVnz/fvycSU41moBIpOg=="
},
"ts-node": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/ts-node/-/ts-node-7.0.1.tgz",
@@ -21671,11 +21537,6 @@
"integrity": "sha512-tEu6DGxGgRJPb/mVPIZ48e69xCn2yRmCgYmDugAVwmJ6o+0u1RI18eO7E7WBTLYLaEVVOhwQmcdhQHweux/WPg==",
"dev": true
},
"ua-parser-js": {
"version": "0.7.19",
"resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.19.tgz",
"integrity": "sha512-T3PVJ6uz8i0HzPxOF9SWzWAlfN/DavlpQqepn22xgve/5QecC+XMCAtmUNnY7C9StehaV6exjUCI801lOI7QlQ=="
},
"uglify-js": {
"version": "3.4.9",
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.9.tgz",
@@ -22830,15 +22691,6 @@
}
}
},
"webrtc-adapter": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/webrtc-adapter/-/webrtc-adapter-7.2.0.tgz",
"integrity": "sha512-+QsCKlCTjLVKKhkClQwXXgalyehiIzYcwKL7X2bS8cE/1paG44P8kW3kXOGMDJVy/1rnYMRz1ukYmobmGRw+4w==",
"requires": {
"rtcpeerconnection-shim": "^1.2.15",
"sdp": "^2.9.0"
}
},
"websocket-client": {
"version": "1.0.0",
"resolved": "https://pkgs.dev.azure.com/hugendubel/_packaging/hugendubel/npm/registry/websocket-client/-/websocket-client-1.0.0.tgz",

View File

@@ -57,12 +57,9 @@
"@ngrx/store-devtools": "^10.0.0",
"@ngxs/store": "^3.6.2",
"@types/faker": "^4.1.5",
"@zxing/ngx-scanner": "^1.3.0",
"angular-oauth2-oidc": "^8.0.4",
"angular2-signaturepad": "^2.8.0",
"application": "^0.1.4",
"core-js": "^2.6.5",
"faker": "^4.1.0",
"hammerjs": "^2.0.8",
"intersection-observer": "^0.11.0",
"lodash": "^4.17.21",
@@ -74,8 +71,6 @@
"ngx-toggle-switch": "^2.0.5",
"node-sass": "^4.14.1",
"rxjs": "~6.6.3",
"scandit-sdk": "^4.1.1",
"scandit-sdk-angular": "^2.0.0",
"smoothscroll-polyfill": "^0.4.4",
"socket.io": "^2.2.0",
"tslib": "^2.0.0",