UNPKG

chi-app-lib

Version:

This is a custom component (input dropdown grid textarea map captcha) published to npm.

84 lines 6.11 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Component, Input, Output, EventEmitter } from '@angular/core'; export class CaptchaComponent { constructor() { this.refreshIcon = 'refresh'; this.key = new EventEmitter(); this.id = 'captcha' + this.idGenerator(); } /** * @return {?} */ ngOnInit() { this.createCpatcha(); } /** * @param {?} changes * @return {?} */ ngOnChanges(changes) { /** @type {?} */ const name = changes.isRefreshImage; if (name.currentValue) { this.createCpatcha(); } } /** * @return {?} */ createCpatcha() { /** @type {?} */ const captchaKey = Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1); this.imageLink = this.imageUrl + captchaKey; this.key.emit(captchaKey); this.isRefreshImage = false; } /** * @return {?} */ idGenerator() { /** @type {?} */ const number = Math.random(); number.toString(36); return number.toString(36).substr(2, 9); } } CaptchaComponent.decorators = [ { type: Component, args: [{ selector: 'lib-captcha', template: "<div class=\"element-container\" id=\"{{id}}\" [ngClass]=\"className\">\n <div>\n <img src=\"{{imageLink}}\" width=\"100%\">\n </div>\n <button mat-button mat-icon-button\n [ngClass]=\"iconClass\"\n (click)=\"createCpatcha()\">\n <mat-icon>{{refreshIcon}}</mat-icon>\n </button>\n</div>\n", styles: [".element-container{display:flex;flex-direction:row}.element-container>button{display:flex;place-content:center;justify-content:center}"] }] } ]; /** @nocollapse */ CaptchaComponent.ctorParameters = () => []; CaptchaComponent.propDecorators = { imageUrl: [{ type: Input }], className: [{ type: Input }], iconClass: [{ type: Input }], refreshIcon: [{ type: Input }], isRefreshImage: [{ type: Input }], key: [{ type: Output }] }; if (false) { /** @type {?} */ CaptchaComponent.prototype.imageUrl; /** @type {?} */ CaptchaComponent.prototype.className; /** @type {?} */ CaptchaComponent.prototype.iconClass; /** @type {?} */ CaptchaComponent.prototype.refreshIcon; /** @type {?} */ CaptchaComponent.prototype.isRefreshImage; /** @type {?} */ CaptchaComponent.prototype.key; /** @type {?} */ CaptchaComponent.prototype.imageLink; /** @type {?} */ CaptchaComponent.prototype.id; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FwdGNoYS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9jaGktYXBwLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9jYXB0Y2hhL2NhcHRjaGEuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsWUFBWSxFQUF5QyxNQUFNLGVBQWUsQ0FBQztBQU9ySCxNQUFNLE9BQU8sZ0JBQWdCO0lBVzNCO1FBTlMsZ0JBQVcsR0FBRyxTQUFTLENBQUM7UUFFdkIsUUFBRyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFFM0MsT0FBRSxHQUFHLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFHcEMsQ0FBQzs7OztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQzs7Ozs7SUFFRCxXQUFXLENBQUMsT0FBc0I7O2NBQzFCLElBQUksR0FBaUIsT0FBTyxDQUFDLGNBQWM7UUFDakQsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3JCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUN0QjtJQUNILENBQUM7Ozs7SUFFRCxhQUFhOztjQUNMLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ3RGLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7UUFDNUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDOUIsQ0FBQzs7OztJQUVELFdBQVc7O2NBQ0gsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUU7UUFDNUIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNwQixPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMxQyxDQUFDOzs7WUF6Q0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxhQUFhO2dCQUN2QixrVkFBdUM7O2FBRXhDOzs7Ozt1QkFHRSxLQUFLO3dCQUNMLEtBQUs7d0JBQ0wsS0FBSzswQkFDTCxLQUFLOzZCQUNMLEtBQUs7a0JBQ0wsTUFBTTs7OztJQUxQLG9DQUFrQjs7SUFDbEIscUNBQW1COztJQUNuQixxQ0FBbUI7O0lBQ25CLHVDQUFpQzs7SUFDakMsMENBQXdCOztJQUN4QiwrQkFBMkM7O0lBQzNDLHFDQUFVOztJQUNWLDhCQUFvQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgU2ltcGxlQ2hhbmdlcywgU2ltcGxlQ2hhbmdlLCBPbkNoYW5nZXN9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItY2FwdGNoYScsXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXB0Y2hhLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2FwdGNoYS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIENhcHRjaGFDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG5cbiAgQElucHV0KCkgaW1hZ2VVcmw7XG4gIEBJbnB1dCgpIGNsYXNzTmFtZTtcbiAgQElucHV0KCkgaWNvbkNsYXNzO1xuICBASW5wdXQoKSByZWZyZXNoSWNvbiA9ICdyZWZyZXNoJztcbiAgQElucHV0KCkgaXNSZWZyZXNoSW1hZ2U7XG4gIEBPdXRwdXQoKSBrZXkgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgaW1hZ2VMaW5rO1xuICBpZCA9ICdjYXB0Y2hhJyArIHRoaXMuaWRHZW5lcmF0b3IoKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuY3JlYXRlQ3BhdGNoYSgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGNvbnN0IG5hbWU6IFNpbXBsZUNoYW5nZSA9IGNoYW5nZXMuaXNSZWZyZXNoSW1hZ2U7XG4gICAgaWYgKG5hbWUuY3VycmVudFZhbHVlKSB7XG4gICAgICB0aGlzLmNyZWF0ZUNwYXRjaGEoKTtcbiAgICB9XG4gIH1cblxuICBjcmVhdGVDcGF0Y2hhKCkge1xuICAgIGNvbnN0IGNhcHRjaGFLZXkgPSBNYXRoLmZsb29yKCgxICsgTWF0aC5yYW5kb20oKSkgKiAweDEwMDAwKS50b1N0cmluZygxNikuc3Vic3RyaW5nKDEpO1xuICAgIHRoaXMuaW1hZ2VMaW5rID0gdGhpcy5pbWFnZVVybCArIGNhcHRjaGFLZXk7XG4gICAgdGhpcy5rZXkuZW1pdChjYXB0Y2hhS2V5KTtcbiAgICB0aGlzLmlzUmVmcmVzaEltYWdlID0gZmFsc2U7XG4gIH1cblxuICBpZEdlbmVyYXRvcigpIHtcbiAgICBjb25zdCBudW1iZXIgPSBNYXRoLnJhbmRvbSgpO1xuICAgIG51bWJlci50b1N0cmluZygzNik7XG4gICAgcmV0dXJuIG51bWJlci50b1N0cmluZygzNikuc3Vic3RyKDIsIDkpO1xuICB9XG5cbn1cbiJdfQ==