Skip to content

Commit

Permalink
feat(scanner): allow pasting of isbn and blids
Browse files Browse the repository at this point in the history
  • Loading branch information
AdrianAndersen committed Oct 9, 2024
1 parent 1e71dee commit bb2022d
Showing 1 changed file with 33 additions and 11 deletions.
44 changes: 33 additions & 11 deletions src/app/bl-common/blc-scanner/blc-scanner.directive.ts
Original file line number Diff line number Diff line change
Expand Up @@ -41,17 +41,7 @@ export class BlcScannerDirective {
}

if (event.key === "Enter") {
if (
this.scannerString.length === 12 ||
this._blcScannerService.isUllernBlid(this.scannerString)
) {
this._blcScannerService.scanBlid(this.scannerString);
} else if (
this.scannerString.length > 9 &&
this.scannerString.length < 14
) {
this._blcScannerService.scanIsbn(this.scannerString);
}
this.processScannerString();
this.scannerString = "";
} else {
if (this.isAlphaNumeric(event.key)) {
Expand All @@ -64,6 +54,38 @@ export class BlcScannerDirective {
}
}

@HostListener("window:paste", ["$event"])
handlePaste(event: ClipboardEvent) {
const pastedData = event.clipboardData?.getData("text");
if (pastedData) {
this.scannerString = pastedData.trim();
this.processScannerString();
this.scannerString = "";
}
}

private processScannerString() {
if (
this.scannerString.length === 12 ||
this._blcScannerService.isUllernBlid(this.scannerString)
) {
this._blcScannerService.scanBlid(this.scannerString);
} else if (
this.scannerString.length > 9 &&
this.scannerString.length < 14
) {
this._blcScannerService.scanIsbn(this.scannerString);
} else {
this._toasterService.add(
"WARNING",
{
text: `"${this.scannerString}" er ikke en gyldig blid eller isbn.`,
},
5000
);
}
}

private isAlphaNumeric(key: string) {
return !(!key || key === "Shift");
}
Expand Down

0 comments on commit bb2022d

Please sign in to comment.