UNPKG

kwikid-camera

Version:
105 lines 13.5 kB
import { __decorate } from "tslib"; import { Component, EventEmitter, Input, Output } from "@angular/core"; import { checkObjectKeyExists, logMethod } from "kwikid-toolkit"; import * as i0 from "@angular/core"; import * as i1 from "./components/kwikid-camera-view/kwikid-camera-view.component"; import * as i2 from "./components/kwikid-camera-capture/kwikid-camera-capture.component"; import * as i3 from "./components/kwikid-camera-record/kwikid-camera-record.component"; import * as i4 from "@angular/common"; export class KwikIDCameraComponent { constructor() { this.type = "VIEW"; this.config = { flipHorizontal: true }; this.data = undefined; this.image = ""; this.video = ""; this.onClickBack = new EventEmitter(); this.onClickClose = new EventEmitter(); this.getImage = new EventEmitter(); this.onClickSave = new EventEmitter(); this.getVideo = new EventEmitter(); } ngOnChanges(changes) { const verifyChange = (key) => { return checkObjectKeyExists(changes, key) && !changes[key].firstChange; }; if (verifyChange("type")) { this.type = changes.type.currentValue; } if (verifyChange("config")) { this.config = Object.assign(Object.assign({}, this.config), changes.config.currentValue); } if (verifyChange("image")) { this.image = changes.image.currentValue; } if (verifyChange("video")) { this.video = changes.video.currentValue; } } handleOnClickBack(e) { this.onClickBack.emit(e); } handleOnClickClose(e) { this.onClickClose.emit(e); } handleGetImage(e) { this.getImage.emit(e); } handleOnClickSave(e) { this.onClickSave.emit(e); } /** * All things Record Component */ handleGetVideo(e) { this.getVideo.emit(e); } } /** @nocollapse */ KwikIDCameraComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: KwikIDCameraComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); /** @nocollapse */ KwikIDCameraComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: KwikIDCameraComponent, selector: "kwikid-camera", inputs: { type: "type", config: "config", data: "data", image: "image", video: "video" }, outputs: { onClickBack: "onClickBack", onClickClose: "onClickClose", getImage: "getImage", onClickSave: "onClickSave", getVideo: "getVideo" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"kwikid-camera\">\n <ng-container *ngIf=\"type === 'VIEW'\">\n <kwikid-camera-view [config]=\"config\">\n <ng-container slot=\"capture-header\">\n <ng-content select=\"[slot='view-header']\"></ng-content>\n </ng-container>\n </kwikid-camera-view>\n </ng-container>\n\n <ng-container *ngIf=\"type === 'CAPTURE'\">\n <kwikid-camera-capture\n [config]=\"config\"\n [image]=\"image\"\n [data]=\"data\"\n (getImage)=\"handleGetImage($event)\"\n (onClickSave)=\"handleOnClickSave($event)\"\n >\n <ng-container slot=\"capture-header\">\n <ng-content select=\"[slot='capture-header']\"></ng-content>\n </ng-container>\n </kwikid-camera-capture>\n </ng-container>\n\n <ng-container *ngIf=\"type === 'RECORD'\">\n <kwikid-camera-record\n [config]=\"config\"\n [video]=\"video\"\n (getVideo)=\"handleGetVideo($event)\"\n (onClickSave)=\"handleOnClickSave($event)\"\n >\n <ng-container slot=\"record-header\">\n <ng-content select=\"[slot='record-header']\"></ng-content>\n </ng-container>\n </kwikid-camera-record>\n </ng-container>\n</div>\n", styles: [":host{position:relative;height:100%}.kwikid-camera{width:100%;height:100%}\n"], components: [{ type: i1.KwikIDCameraViewComponent, selector: "kwikid-camera-view", inputs: ["config"] }, { type: i2.KwikIDCameraCaptureComponent, selector: "kwikid-camera-capture", inputs: ["config", "image", "data"], outputs: ["getImage", "onClickBack", "onClickClose", "onClickSave"] }, { type: i3.KwikIDCameraRecordComponent, selector: "kwikid-camera-record", inputs: ["config", "video"], outputs: ["getVideo", "onClickBack", "onClickClose", "onClickSave"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); __decorate([ logMethod ], KwikIDCameraComponent.prototype, "handleOnClickBack", null); __decorate([ logMethod ], KwikIDCameraComponent.prototype, "handleOnClickClose", null); __decorate([ logMethod ], KwikIDCameraComponent.prototype, "handleGetImage", null); __decorate([ logMethod ], KwikIDCameraComponent.prototype, "handleOnClickSave", null); __decorate([ logMethod ], KwikIDCameraComponent.prototype, "handleGetVideo", null); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: KwikIDCameraComponent, decorators: [{ type: Component, args: [{ selector: "kwikid-camera", templateUrl: "./kwikid-camera.component.html", styleUrls: ["./kwikid-camera.component.scss"] }] }], propDecorators: { type: [{ type: Input }], config: [{ type: Input }], data: [{ type: Input }], image: [{ type: Input }], video: [{ type: Input }], onClickBack: [{ type: Output }], onClickClose: [{ type: Output }], getImage: [{ type: Output }], onClickSave: [{ type: Output }], getVideo: [{ type: Output }], handleOnClickBack: [], handleOnClickClose: [], handleGetImage: [], handleOnClickSave: [], handleGetVideo: [] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3dpa2lkLWNhbWVyYS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9rd2lraWQtY2FtZXJhL3NyYy9saWIva3dpa2lkLWNhbWVyYS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9rd2lraWQtY2FtZXJhL3NyYy9saWIva3dpa2lkLWNhbWVyYS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7OztBQU9qRSxNQUFNLE9BQU8scUJBQXFCO0lBTGxDO1FBT0UsU0FBSSxHQUFrQyxNQUFNLENBQUM7UUFHN0MsV0FBTSxHQUFRO1lBQ1osY0FBYyxFQUFFLElBQUk7U0FDckIsQ0FBQztRQUdGLFNBQUksR0FBUSxTQUFTLENBQUM7UUFHdEIsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUdYLFVBQUssR0FBRyxFQUFFLENBQUM7UUFHWCxnQkFBVyxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBR3pELGlCQUFZLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFHMUQsYUFBUSxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBR3RELGdCQUFXLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFHekQsYUFBUSxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO0tBb0R2RDtJQWxEQyxXQUFXLENBQUMsT0FBc0I7UUFDaEMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxHQUFXLEVBQUUsRUFBRTtZQUNuQyxPQUFPLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFDekUsQ0FBQyxDQUFDO1FBRUYsSUFBSSxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDeEIsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztTQUN2QztRQUVELElBQUksWUFBWSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQzFCLElBQUksQ0FBQyxNQUFNLG1DQUNOLElBQUksQ0FBQyxNQUFNLEdBQ1gsT0FBTyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQy9CLENBQUM7U0FDSDtRQUNELElBQUksWUFBWSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3pCLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUM7U0FDekM7UUFDRCxJQUFJLFlBQVksQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUN6QixJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDO1NBQ3pDO0lBQ0gsQ0FBQztJQUdELGlCQUFpQixDQUFDLENBQU07UUFDdEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUdELGtCQUFrQixDQUFDLENBQU07UUFDdkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUdELGNBQWMsQ0FBQyxDQUFNO1FBQ25CLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFHRCxpQkFBaUIsQ0FBQyxDQUFNO1FBQ3RCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRDs7T0FFRztJQUVILGNBQWMsQ0FBQyxDQUFNO1FBQ25CLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7O3NJQWxGVSxxQkFBcUI7MEhBQXJCLHFCQUFxQixtVENmbEMsbXBDQW9DQTtBRG9DRTtJQURDLFNBQVM7OERBR1Q7QUFHRDtJQURDLFNBQVM7K0RBR1Q7QUFHRDtJQURDLFNBQVM7MkRBR1Q7QUFHRDtJQURDLFNBQVM7OERBR1Q7QUFNRDtJQURDLFNBQVM7MkRBR1Q7NEZBbEZVLHFCQUFxQjtrQkFMakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZUFBZTtvQkFDekIsV0FBVyxFQUFFLGdDQUFnQztvQkFDN0MsU0FBUyxFQUFFLENBQUMsZ0NBQWdDLENBQUM7aUJBQzlDOzhCQUdDLElBQUk7c0JBREgsS0FBSztnQkFJTixNQUFNO3NCQURMLEtBQUs7Z0JBTU4sSUFBSTtzQkFESCxLQUFLO2dCQUlOLEtBQUs7c0JBREosS0FBSztnQkFJTixLQUFLO3NCQURKLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixNQUFNO2dCQUlQLFlBQVk7c0JBRFgsTUFBTTtnQkFJUCxRQUFRO3NCQURQLE1BQU07Z0JBSVAsV0FBVztzQkFEVixNQUFNO2dCQUlQLFFBQVE7c0JBRFAsTUFBTTtnQkEyQlAsaUJBQWlCLE1BS2pCLGtCQUFrQixNQUtsQixjQUFjLE1BS2QsaUJBQWlCLE1BUWpCLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBjaGVja09iamVjdEtleUV4aXN0cywgbG9nTWV0aG9kIH0gZnJvbSBcImt3aWtpZC10b29sa2l0XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJrd2lraWQtY2FtZXJhXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4va3dpa2lkLWNhbWVyYS5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4va3dpa2lkLWNhbWVyYS5jb21wb25lbnQuc2Nzc1wiXVxufSlcbmV4cG9ydCBjbGFzcyBLd2lrSURDYW1lcmFDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKVxuICB0eXBlOiBcIlZJRVdcIiB8IFwiQ0FQVFVSRVwiIHwgXCJSRUNPUkRcIiA9IFwiVklFV1wiO1xuXG4gIEBJbnB1dCgpXG4gIGNvbmZpZzogYW55ID0ge1xuICAgIGZsaXBIb3Jpem9udGFsOiB0cnVlXG4gIH07XG5cbiAgQElucHV0KClcbiAgZGF0YTogYW55ID0gdW5kZWZpbmVkO1xuXG4gIEBJbnB1dCgpXG4gIGltYWdlID0gXCJcIjtcblxuICBASW5wdXQoKVxuICB2aWRlbyA9IFwiXCI7XG5cbiAgQE91dHB1dCgpXG4gIG9uQ2xpY2tCYWNrOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIEBPdXRwdXQoKVxuICBvbkNsaWNrQ2xvc2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgQE91dHB1dCgpXG4gIGdldEltYWdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIEBPdXRwdXQoKVxuICBvbkNsaWNrU2F2ZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBAT3V0cHV0KClcbiAgZ2V0VmlkZW86IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGNvbnN0IHZlcmlmeUNoYW5nZSA9IChrZXk6IHN0cmluZykgPT4ge1xuICAgICAgcmV0dXJuIGNoZWNrT2JqZWN0S2V5RXhpc3RzKGNoYW5nZXMsIGtleSkgJiYgIWNoYW5nZXNba2V5XS5maXJzdENoYW5nZTtcbiAgICB9O1xuXG4gICAgaWYgKHZlcmlmeUNoYW5nZShcInR5cGVcIikpIHtcbiAgICAgIHRoaXMudHlwZSA9IGNoYW5nZXMudHlwZS5jdXJyZW50VmFsdWU7XG4gICAgfVxuXG4gICAgaWYgKHZlcmlmeUNoYW5nZShcImNvbmZpZ1wiKSkge1xuICAgICAgdGhpcy5jb25maWcgPSB7XG4gICAgICAgIC4uLnRoaXMuY29uZmlnLFxuICAgICAgICAuLi5jaGFuZ2VzLmNvbmZpZy5jdXJyZW50VmFsdWVcbiAgICAgIH07XG4gICAgfVxuICAgIGlmICh2ZXJpZnlDaGFuZ2UoXCJpbWFnZVwiKSkge1xuICAgICAgdGhpcy5pbWFnZSA9IGNoYW5nZXMuaW1hZ2UuY3VycmVudFZhbHVlO1xuICAgIH1cbiAgICBpZiAodmVyaWZ5Q2hhbmdlKFwidmlkZW9cIikpIHtcbiAgICAgIHRoaXMudmlkZW8gPSBjaGFuZ2VzLnZpZGVvLmN1cnJlbnRWYWx1ZTtcbiAgICB9XG4gIH1cblxuICBAbG9nTWV0aG9kXG4gIGhhbmRsZU9uQ2xpY2tCYWNrKGU6IGFueSkge1xuICAgIHRoaXMub25DbGlja0JhY2suZW1pdChlKTtcbiAgfVxuXG4gIEBsb2dNZXRob2RcbiAgaGFuZGxlT25DbGlja0Nsb3NlKGU6IGFueSkge1xuICAgIHRoaXMub25DbGlja0Nsb3NlLmVtaXQoZSk7XG4gIH1cblxuICBAbG9nTWV0aG9kXG4gIGhhbmRsZUdldEltYWdlKGU6IGFueSkge1xuICAgIHRoaXMuZ2V0SW1hZ2UuZW1pdChlKTtcbiAgfVxuXG4gIEBsb2dNZXRob2RcbiAgaGFuZGxlT25DbGlja1NhdmUoZTogYW55KSB7XG4gICAgdGhpcy5vbkNsaWNrU2F2ZS5lbWl0KGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFsbCB0aGluZ3MgUmVjb3JkIENvbXBvbmVudFxuICAgKi9cbiAgQGxvZ01ldGhvZFxuICBoYW5kbGVHZXRWaWRlbyhlOiBhbnkpIHtcbiAgICB0aGlzLmdldFZpZGVvLmVtaXQoZSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJrd2lraWQtY2FtZXJhXCI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0eXBlID09PSAnVklFVydcIj5cbiAgICA8a3dpa2lkLWNhbWVyYS12aWV3IFtjb25maWddPVwiY29uZmlnXCI+XG4gICAgICA8bmctY29udGFpbmVyIHNsb3Q9XCJjYXB0dXJlLWhlYWRlclwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbc2xvdD0ndmlldy1oZWFkZXInXVwiPjwvbmctY29udGVudD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwva3dpa2lkLWNhbWVyYS12aWV3PlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8bmctY29udGFpbmVyICpuZ0lmPVwidHlwZSA9PT0gJ0NBUFRVUkUnXCI+XG4gICAgPGt3aWtpZC1jYW1lcmEtY2FwdHVyZVxuICAgICAgW2NvbmZpZ109XCJjb25maWdcIlxuICAgICAgW2ltYWdlXT1cImltYWdlXCJcbiAgICAgIFtkYXRhXT1cImRhdGFcIlxuICAgICAgKGdldEltYWdlKT1cImhhbmRsZUdldEltYWdlKCRldmVudClcIlxuICAgICAgKG9uQ2xpY2tTYXZlKT1cImhhbmRsZU9uQ2xpY2tTYXZlKCRldmVudClcIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXIgc2xvdD1cImNhcHR1cmUtaGVhZGVyXCI+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltzbG90PSdjYXB0dXJlLWhlYWRlciddXCI+PC9uZy1jb250ZW50PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9rd2lraWQtY2FtZXJhLWNhcHR1cmU+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0eXBlID09PSAnUkVDT1JEJ1wiPlxuICAgIDxrd2lraWQtY2FtZXJhLXJlY29yZFxuICAgICAgW2NvbmZpZ109XCJjb25maWdcIlxuICAgICAgW3ZpZGVvXT1cInZpZGVvXCJcbiAgICAgIChnZXRWaWRlbyk9XCJoYW5kbGVHZXRWaWRlbygkZXZlbnQpXCJcbiAgICAgIChvbkNsaWNrU2F2ZSk9XCJoYW5kbGVPbkNsaWNrU2F2ZSgkZXZlbnQpXCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyIHNsb3Q9XCJyZWNvcmQtaGVhZGVyXCI+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltzbG90PSdyZWNvcmQtaGVhZGVyJ11cIj48L25nLWNvbnRlbnQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2t3aWtpZC1jYW1lcmEtcmVjb3JkPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuIl19