UNPKG

smart-webcomponents-angular

Version:

[![Price](https://img.shields.io/badge/price-COMMERCIAL-0098f7.svg)](https://jqwidgets.com/license/)

467 lines (459 loc) 20 kB
if(typeof window !== 'undefined') { if (!window['Smart']) { window['Smart'] = { RenderMode: 'manual' }; } else { window['Smart'].RenderMode = 'manual'; } } import './../source/modules/smart.qrcode'; import * as i0 from '@angular/core'; import { EventEmitter, Directive, Output, Input, NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; class BaseElement { constructor(ref) { this.onCreate = new EventEmitter(); this.onReady = new EventEmitter(); this.onAttach = new EventEmitter(); this.onDetach = new EventEmitter(); const that = this; this.nativeElement = ref.nativeElement; that.nativeElement.onAttached = () => { that.onAttach.emit(that.nativeElement); }; that.nativeElement.onDetached = () => { that.onDetach.emit(that.nativeElement); }; } addEventListener(type, listener, options = false) { this.nativeElement.addEventListener(type, listener, options); } removeEventListener(type, listener, options = false) { this.nativeElement.removeEventListener(type, listener, options); } dispatchEvent(event) { return this.nativeElement.dispatchEvent(event); } blur() { this.nativeElement.blur(); } click() { this.nativeElement.click(); } focus(options) { this.nativeElement.focus(options); } /** @description Sets or gets the license. */ get license() { return this.nativeElement ? this.nativeElement.license : undefined; } set license(value) { this.nativeElement ? this.nativeElement.license = value : undefined; } /** @description Sets or gets the language. Used in conjunction with the property messages. */ get locale() { return this.nativeElement ? this.nativeElement.locale : undefined; } set locale(value) { this.nativeElement ? this.nativeElement.locale = value : undefined; } /** @description Callback used to customize the format of the messages that are returned from the Localization Module. */ get localizeFormatFunction() { return this.nativeElement ? this.nativeElement.localizeFormatFunction : undefined; } set localizeFormatFunction(value) { this.nativeElement ? this.nativeElement.localizeFormatFunction = value : undefined; } /** @description Sets or gets an object specifying strings used in the widget that can be localized. Used in conjunction with the property locale. */ get messages() { return this.nativeElement ? this.nativeElement.messages : undefined; } set messages(value) { this.nativeElement ? this.nativeElement.messages = value : undefined; } /** @description Sets or gets the value indicating whether the element is aligned to support locales using right-to-left fonts. */ get rightToLeft() { return this.nativeElement ? this.nativeElement.rightToLeft : undefined; } set rightToLeft(value) { this.nativeElement ? this.nativeElement.rightToLeft = value : undefined; } /** @description Determines the theme. Theme defines the look of the element */ get theme() { return this.nativeElement ? this.nativeElement.theme : undefined; } set theme(value) { this.nativeElement ? this.nativeElement.theme = value : undefined; } } BaseElement.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: BaseElement, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); BaseElement.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.6", type: BaseElement, inputs: { license: "license", locale: "locale", localizeFormatFunction: "localizeFormatFunction", messages: "messages", rightToLeft: "rightToLeft", theme: "theme" }, outputs: { onCreate: "onCreate", onReady: "onReady", onAttach: "onAttach", onDetach: "onDetach" }, ngImport: i0 }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: BaseElement, decorators: [{ type: Directive }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { onCreate: [{ type: Output }], onReady: [{ type: Output }], onAttach: [{ type: Output }], onDetach: [{ type: Output }], license: [{ type: Input }], locale: [{ type: Input }], localizeFormatFunction: [{ type: Input }], messages: [{ type: Input }], rightToLeft: [{ type: Input }], theme: [{ type: Input }] } }); let Smart; if (typeof window !== "undefined") { Smart = window.Smart; } class QRcodeComponent extends BaseElement { constructor(ref) { super(ref); this.eventHandlers = []; /** @description This event is triggered when the value of the QR Code is invalid. * @param event. The custom event. Custom event was created with: event.detail( invalidCharacters, lengthValidity, patternValidity, value) * invalidCharacters - An array indicating the invalid characters. * lengthValidity - A boolean indicating the length validity. * patternValidity - A boolean indicating the pattern validity. * value - the invalid value of the QR Code. */ this.onInvalid = new EventEmitter(); this.nativeElement = ref.nativeElement; } /** @description Creates the component on demand. * @param properties An optional object of properties, which will be added to the template binded ones. */ createComponent(properties = {}) { this.nativeElement = document.createElement('smart-qrcode'); for (let propertyName in properties) { this.nativeElement[propertyName] = properties[propertyName]; } return this.nativeElement; } /** @description Sets the background color of the QR Code element. */ get backgroundColor() { return this.nativeElement ? this.nativeElement.backgroundColor : undefined; } set backgroundColor(value) { this.nativeElement ? this.nativeElement.backgroundColor = value : undefined; } /** @description Sets whether the QR Code label is visible. */ get displayLabel() { return this.nativeElement ? this.nativeElement.displayLabel : undefined; } set displayLabel(value) { this.nativeElement ? this.nativeElement.displayLabel = value : undefined; } /** @description Sets an embedded image. */ get embedImage() { return this.nativeElement ? this.nativeElement.embedImage : undefined; } set embedImage(value) { this.nativeElement ? this.nativeElement.embedImage = value : undefined; } /** @description Sets the error correction level. */ get errorLevel() { return this.nativeElement ? this.nativeElement.errorLevel : undefined; } set errorLevel(value) { this.nativeElement ? this.nativeElement.errorLevel = value : undefined; } /** @description Sets color to the transparent parts of the embedded image. Background remains transparent if set to empty string. */ get imageBackgroundColor() { return this.nativeElement ? this.nativeElement.imageBackgroundColor : undefined; } set imageBackgroundColor(value) { this.nativeElement ? this.nativeElement.imageBackgroundColor = value : undefined; } /** @description Sets the height of the embedded image. */ get imageHeight() { return this.nativeElement ? this.nativeElement.imageHeight : undefined; } set imageHeight(value) { this.nativeElement ? this.nativeElement.imageHeight = value : undefined; } /** @description Sets the width of the embedded image. */ get imageWidth() { return this.nativeElement ? this.nativeElement.imageWidth : undefined; } set imageWidth(value) { this.nativeElement ? this.nativeElement.imageWidth = value : undefined; } /** @description Sets the color of the QR Code label. */ get labelColor() { return this.nativeElement ? this.nativeElement.labelColor : undefined; } set labelColor(value) { this.nativeElement ? this.nativeElement.labelColor = value : undefined; } /** @description Sets the font family of the QR Code label. */ get labelFont() { return this.nativeElement ? this.nativeElement.labelFont : undefined; } set labelFont(value) { this.nativeElement ? this.nativeElement.labelFont = value : undefined; } /** @description Sets the font size of the QR Code label. */ get labelFontSize() { return this.nativeElement ? this.nativeElement.labelFontSize : undefined; } set labelFontSize(value) { this.nativeElement ? this.nativeElement.labelFontSize = value : undefined; } /** @description Sets the bottom margin of the QR Code label. */ get labelMarginBottom() { return this.nativeElement ? this.nativeElement.labelMarginBottom : undefined; } set labelMarginBottom(value) { this.nativeElement ? this.nativeElement.labelMarginBottom = value : undefined; } /** @description Sets the top margin of the QR Code label. */ get labelMarginTop() { return this.nativeElement ? this.nativeElement.labelMarginTop : undefined; } set labelMarginTop(value) { this.nativeElement ? this.nativeElement.labelMarginTop = value : undefined; } /** @description Sets the position of the QR Code label. */ get labelPosition() { return this.nativeElement ? this.nativeElement.labelPosition : undefined; } set labelPosition(value) { this.nativeElement ? this.nativeElement.labelPosition = value : undefined; } /** @description Sets the color of the QR Code lines. */ get lineColor() { return this.nativeElement ? this.nativeElement.lineColor : undefined; } set lineColor(value) { this.nativeElement ? this.nativeElement.lineColor = value : undefined; } /** @description Sets the width of the QR Code square. */ get squareWidth() { return this.nativeElement ? this.nativeElement.squareWidth : undefined; } set squareWidth(value) { this.nativeElement ? this.nativeElement.squareWidth = value : undefined; } /** @description Sets the rendering mode of the QR Code. */ get renderAs() { return this.nativeElement ? this.nativeElement.renderAs : undefined; } set renderAs(value) { this.nativeElement ? this.nativeElement.renderAs = value : undefined; } /** @description Sets or gets the value of the QR Code. */ get value() { return this.nativeElement ? this.nativeElement.value : undefined; } set value(value) { this.nativeElement ? this.nativeElement.value = value : undefined; } /** @description Sets or gets the width of the QR Code. If the width is set to 0, the width of the QR Code is calculated automatically. */ get width() { return this.nativeElement ? this.nativeElement.width : undefined; } set width(value) { this.nativeElement ? this.nativeElement.width = value : undefined; } /** @description Sets or gets the height of the QR Code. If the height is set to 0, the height of the QR Code is calculated automatically. */ get height() { return this.nativeElement ? this.nativeElement.height : undefined; } set height(value) { this.nativeElement ? this.nativeElement.height = value : undefined; } /** @description Exports the QR Code. * @param {string} format. The format of the exported file - svg, png, jpg * @param {string} fileName?. The name of the exported file */ export(format, fileName) { if (this.nativeElement.isRendered) { this.nativeElement.export(format, fileName); } else { this.nativeElement.whenRendered(() => { this.nativeElement.export(format, fileName); }); } } /** @description Gets the base64 string of the QR Code * @param {string} format. The dataURL format of the string - svg, png, jpg * @returns {string} */ async getDataURL(format) { const getResultOnRender = () => { return new Promise(resolve => { this.nativeElement.whenRendered(() => { const result = this.nativeElement.getDataURL(format); resolve(result); }); }); }; const result = await getResultOnRender(); return result; } getDataURLSync(format) { if (this.nativeElement.isRendered) { return this.nativeElement.getDataURL(format); } return null; } /** @description Gets the base64 string of the QR Code * @param {string} format. The dataURL format of the string - svg, png, jpg * @returns {any} */ async getDataURLAsync(format) { const getResultOnRender = () => { return new Promise(resolve => { this.nativeElement.whenRendered(() => { const result = this.nativeElement.getDataURLAsync(format); resolve(result); }); }); }; const result = await getResultOnRender(); return result; } getDataURLAsyncSync(format) { if (this.nativeElement.isRendered) { return this.nativeElement.getDataURLAsync(format); } return null; } /** @description Gets the validity of the QR Code * @returns {boolean} */ async isValid() { const getResultOnRender = () => { return new Promise(resolve => { this.nativeElement.whenRendered(() => { const result = this.nativeElement.isValid(); resolve(result); }); }); }; const result = await getResultOnRender(); return result; } isValidSync() { if (this.nativeElement.isRendered) { return this.nativeElement.isValid(); } return null; } get isRendered() { return this.nativeElement ? this.nativeElement.isRendered : false; } ngOnInit() { } ngAfterViewInit() { const that = this; that.onCreate.emit(that.nativeElement); if (Smart) Smart.Render(); this.nativeElement.classList.add('smart-angular'); if (this.nativeElement.whenRendered) this.nativeElement.whenRendered(() => { that.onReady.emit(that.nativeElement); }); this.listen(); } ngOnDestroy() { this.unlisten(); } ngOnChanges(changes) { if (this.nativeElement && this.nativeElement.isRendered) { for (const propName in changes) { if (changes.hasOwnProperty(propName)) { this.nativeElement[propName] = changes[propName].currentValue; } } } } /** @description Add event listeners. */ listen() { const that = this; that.eventHandlers['invalidHandler'] = (event) => { that.onInvalid.emit(event); }; that.nativeElement.addEventListener('invalid', that.eventHandlers['invalidHandler']); } /** @description Remove event listeners. */ unlisten() { const that = this; if (that.eventHandlers['invalidHandler']) { that.nativeElement.removeEventListener('invalid', that.eventHandlers['invalidHandler']); } } } QRcodeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: QRcodeComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); QRcodeComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.6", type: QRcodeComponent, selector: "smart-qrcode, [smart-qrcode]", inputs: { backgroundColor: "backgroundColor", displayLabel: "displayLabel", embedImage: "embedImage", errorLevel: "errorLevel", imageBackgroundColor: "imageBackgroundColor", imageHeight: "imageHeight", imageWidth: "imageWidth", labelColor: "labelColor", labelFont: "labelFont", labelFontSize: "labelFontSize", labelMarginBottom: "labelMarginBottom", labelMarginTop: "labelMarginTop", labelPosition: "labelPosition", lineColor: "lineColor", squareWidth: "squareWidth", renderAs: "renderAs", value: "value", width: "width", height: "height" }, outputs: { onInvalid: "onInvalid" }, exportAs: ["smart-qrcode"], usesInheritance: true, usesOnChanges: true, ngImport: i0 }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: QRcodeComponent, decorators: [{ type: Directive, args: [{ exportAs: 'smart-qrcode', selector: 'smart-qrcode, [smart-qrcode]' }] }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { backgroundColor: [{ type: Input }], displayLabel: [{ type: Input }], embedImage: [{ type: Input }], errorLevel: [{ type: Input }], imageBackgroundColor: [{ type: Input }], imageHeight: [{ type: Input }], imageWidth: [{ type: Input }], labelColor: [{ type: Input }], labelFont: [{ type: Input }], labelFontSize: [{ type: Input }], labelMarginBottom: [{ type: Input }], labelMarginTop: [{ type: Input }], labelPosition: [{ type: Input }], lineColor: [{ type: Input }], squareWidth: [{ type: Input }], renderAs: [{ type: Input }], value: [{ type: Input }], width: [{ type: Input }], height: [{ type: Input }], onInvalid: [{ type: Output }] } }); class QRcodeModule { } QRcodeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: QRcodeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); QRcodeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: QRcodeModule, declarations: [QRcodeComponent], exports: [QRcodeComponent] }); QRcodeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: QRcodeModule }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: QRcodeModule, decorators: [{ type: NgModule, args: [{ declarations: [QRcodeComponent], schemas: [CUSTOM_ELEMENTS_SCHEMA], exports: [QRcodeComponent] }] }] }); /** * Generated bundle index. Do not edit. */ export { QRcodeComponent, QRcodeModule, Smart }; //# sourceMappingURL=smart-webcomponents-angular-qrcode.mjs.map