html5-qrcode-angular
Version:
This is the angular adaptation of the "**[HTML5 QRCode](https://github.com/mebjas/html5-qrcode)**". For the documentation please have a look at https://github.com/mebjas/html5-qrcode.
1 lines • 5.93 kB
Source Map (JSON)
{"version":3,"file":"html5-qrcode-angular.mjs","sources":["../../src/lib/ngx-html5-qrcode.component.ts","../../src/lib/ngx-html5-qrcode.module.ts","../../src/public-api.ts","../../src/html5-qrcode-angular.ts"],"sourcesContent":["import {\n AfterViewInit,\n Component,\n ElementRef,\n OnDestroy,\n OnInit,\n Renderer2,\n ViewChild,\n Output,\n Input,\n EventEmitter\n} from '@angular/core';\nimport {Html5Qrcode} from \"html5-qrcode\";\nimport {Html5QrcodeCameraScanConfig} from \"html5-qrcode/esm/html5-qrcode\";\nimport {Html5QrcodeResult} from \"html5-qrcode/esm/core\";\n\n@Component({\n selector: 'html5-qrcode',\n template: `\n <div #reader id=\"reader\" width=\"600px\"></div>\n `,\n styles: []\n})\nexport class NgxHtml5QrcodeComponent implements OnInit, AfterViewInit, OnDestroy {\n\n @ViewChild('reader') reader: ElementRef | undefined;\n html5QrCode!: Html5Qrcode;\n cameraId: string = '';\n\n @Input() useFrontCamera: boolean = false;\n @Input() config: Html5QrcodeCameraScanConfig = {fps: 10, qrbox: {width: 250, height: 250}};\n @Output() decodedText: EventEmitter<string> = new EventEmitter<string>();\n @Output() decodedResult: EventEmitter<Html5QrcodeResult> = new EventEmitter<Html5QrcodeResult>();\n\n constructor() {\n }\n\n ngOnInit(): void {\n }\n\n ngAfterViewInit() {\n\n // This method will trigger user permissions\n Html5Qrcode.getCameras().then(devices => {\n if (devices && devices.length) {\n // .. use this to start scanning.\n this.cameraId = this.useFrontCamera ? devices[1].id : devices[0].id;\n this.startHtmlQrCode();\n }\n }).catch(err => {\n console.log(err);\n });\n }\n\n qrCodeSuccessCallback(decodedText: any, decodedResult: Html5QrcodeResult) {\n /* handle success */\n this.decodedText.emit(decodedText);\n this.decodedResult.emit(decodedResult);\n }\n\n qrCodeErrorCallback(errorMessage: any) {\n\n }\n\n startHtmlQrCode() {\n this.html5QrCode = new Html5Qrcode(this.reader?.nativeElement?.id);\n\n this.html5QrCode.start(\n {deviceId: {exact: this.cameraId}},\n this.config,\n this.qrCodeSuccessCallback.bind(this),\n this.qrCodeErrorCallback.bind(this))\n .catch((err) => {\n // Start failed, handle it.\n console.log(err);\n });\n }\n\n ngOnDestroy() {\n this.html5QrCode.stop().then((ignore) => {\n // QR Code scanning is stopped.\n }).catch((err) => {\n // Stop failed, handle it.\n });\n }\n\n}\n","import {NgModule} from '@angular/core';\nimport {NgxHtml5QrcodeComponent} from './ngx-html5-qrcode.component';\n\n\n@NgModule({\n declarations: [\n NgxHtml5QrcodeComponent\n ],\n imports: [],\n exports: [\n NgxHtml5QrcodeComponent\n ]\n})\nexport class NgxHtml5QrcodeModule {\n}\n","/*\n * Public API Surface of ngx-html5-qrcode\n */\n\nexport * from './lib/ngx-html5-qrcode.component';\nexport * from './lib/ngx-html5-qrcode.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}