ngx2-credit-cards
Version:
A Credit Card Directives and Reactive Form Validators package for Angular X (6+)
64 lines (63 loc) • 4.61 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
import { Directive, ElementRef, Renderer, HostListener } from '@angular/core';
import * as Payment from 'payment';
var CCNumberFormatDirective = /** @class */ (function () {
function CCNumberFormatDirective(renderer, el) {
this.renderer = renderer;
this.el = el;
/** @type {?} */
var element = this.el.nativeElement;
this.cardType = "";
// call lib functions
Payment.formatCardNumber(element);
Payment.restrictNumeric(element);
}
/**
* @param {?} e
* @return {?}
*/
CCNumberFormatDirective.prototype.onKeypress = /**
* @param {?} e
* @return {?}
*/
function (e) {
/** @type {?} */
var element = this.el.nativeElement;
/** @type {?} */
var elementValue = element.value;
this.cardType = Payment.fns.cardType(elementValue);
if (this.cardType !== "") {
this.renderer.setElementClass(element, this.cardType, false);
}
else {
this.cardType = "";
}
};
CCNumberFormatDirective.decorators = [
{ type: Directive, args: [{
selector: '[ccNum]'
},] }
];
/** @nocollapse */
CCNumberFormatDirective.ctorParameters = function () { return [
{ type: Renderer },
{ type: ElementRef }
]; };
CCNumberFormatDirective.propDecorators = {
onKeypress: [{ type: HostListener, args: ['keypress', ['$event'],] }]
};
return CCNumberFormatDirective;
}());
export { CCNumberFormatDirective };
if (false) {
/** @type {?} */
CCNumberFormatDirective.prototype.cardType;
/** @type {?} */
CCNumberFormatDirective.prototype.renderer;
/** @type {?} */
CCNumberFormatDirective.prototype.el;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2MtbnVtYmVyLWZvcm1hdC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gyLWNyZWRpdC1jYXJkcy8iLCJzb3VyY2VzIjpbImRpcmVjdGl2ZXMvY2MtbnVtYmVyLWZvcm1hdC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFDTixTQUFTLEVBQ1QsVUFBVSxFQUNWLFFBQVEsRUFDUixZQUFZLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxLQUFLLE9BQU8sTUFBTSxTQUFTLENBQUM7O0lBU2xDLGlDQUFvQixRQUFrQixFQUFVLEVBQWM7UUFBMUMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUFVLE9BQUUsR0FBRixFQUFFLENBQVk7O1FBRTdELElBQUksT0FBTyxHQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDOztRQUdiLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNsQyxPQUFPLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0tBQ3ZDOzs7OztJQUVxQyw0Q0FBVTs7OztJQUFoRCxVQUFpRCxDQUFNOztRQUV0RCxJQUFJLE9BQU8sR0FBTSxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQzs7UUFDdkMsSUFBSSxZQUFZLEdBQUksT0FBTyxDQUFDLEtBQUssQ0FBQztRQUVsQyxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRW5ELElBQUssSUFBSSxDQUFDLFFBQVEsS0FBSyxFQUFFLEVBQ3pCO1lBQ0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDN0Q7YUFFRDtZQUNDLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO1NBQ25CO0tBRUQ7O2dCQWpDRCxTQUFTLFNBQUM7b0JBQ1YsUUFBUSxFQUFFLFNBQVM7aUJBQ25COzs7O2dCQVJBLFFBQVE7Z0JBRFIsVUFBVTs7OzZCQXdCVCxZQUFZLFNBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDOztrQ0ExQnJDOztTQVlhLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFxuXHREaXJlY3RpdmUsIFxuXHRFbGVtZW50UmVmLCBcblx0UmVuZGVyZXIsXG5cdEhvc3RMaXN0ZW5lclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0ICogYXMgUGF5bWVudCBmcm9tICdwYXltZW50JztcblxuQERpcmVjdGl2ZSh7IFxuXHRzZWxlY3RvcjogJ1tjY051bV0nIFxufSlcbmV4cG9ydCBjbGFzcyBDQ051bWJlckZvcm1hdERpcmVjdGl2ZSB7XG5cblx0Y2FyZFR5cGU6IHN0cmluZztcblxuXHRjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlciwgcHJpdmF0ZSBlbDogRWxlbWVudFJlZikge1xuXG5cdFx0bGV0IGVsZW1lbnQgICA9IHRoaXMuZWwubmF0aXZlRWxlbWVudDtcblx0XHR0aGlzLmNhcmRUeXBlID0gXCJcIjtcblxuICAgIFx0Ly8gY2FsbCBsaWIgZnVuY3Rpb25zXG4gICAgICAgIFBheW1lbnQuZm9ybWF0Q2FyZE51bWJlcihlbGVtZW50KTtcbiAgICAgICAgUGF5bWVudC5yZXN0cmljdE51bWVyaWMoZWxlbWVudCk7XG5cdH1cblxuXHRASG9zdExpc3RlbmVyKCdrZXlwcmVzcycsIFsnJGV2ZW50J10pIG9uS2V5cHJlc3MoZTogYW55KSB7XG5cdFx0XG5cdFx0bGV0IGVsZW1lbnQgXHQgID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuXHRcdGxldCBlbGVtZW50VmFsdWUgID0gZWxlbWVudC52YWx1ZTtcblxuXHRcdHRoaXMuY2FyZFR5cGUgPSBQYXltZW50LmZucy5jYXJkVHlwZShlbGVtZW50VmFsdWUpO1xuXG5cdFx0aWYgKCB0aGlzLmNhcmRUeXBlICE9PSBcIlwiIClcblx0XHR7XHRcblx0XHRcdHRoaXMucmVuZGVyZXIuc2V0RWxlbWVudENsYXNzKGVsZW1lbnQsIHRoaXMuY2FyZFR5cGUsIGZhbHNlKTtcblx0XHR9XG5cdFx0ZWxzZVxuXHRcdHtcblx0XHRcdHRoaXMuY2FyZFR5cGUgPSBcIlwiO1x0XHRcdFxuXHRcdH1cblxuXHR9XG5cbn1cbiJdfQ==