@justa/mask-directive
Version:
 
188 lines • 11.8 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: lib/money-mask.directive.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Directive, Input, ElementRef, HostListener } from '@angular/core';
import InputMask from 'inputmask';
/**
* @deprecated Use `jstCurrencyMask` instead.
*/
var MoneyMaskDirective = /** @class */ (function () {
function MoneyMaskDirective(elementRef) {
this.elementRef = elementRef;
// Ref to the element in the DOM
this.hasDecimal = false; // Input to set decimals to inputmask obj
// Input to set decimals to inputmask obj
this.hasPrefix = false; // Prefix to insert to the inputmask obj
// Prefix to insert to the inputmask obj
this.prefixSymbol = 'R$ '; // prefix symbol to the inputmask
// prefix symbol to the inputmask
this.imObject = {
alias: 'currency',
autoGroup: true,
groupSeparator: '.',
radixPoint: ',',
rightAlign: false,
prefix: 'R$ ',
};
// Attach the local variable to the element in the DOM
this.el = this.elementRef.nativeElement;
}
/**
* @return {?}
*/
MoneyMaskDirective.prototype.ngOnInit = /**
* @return {?}
*/
function () {
// verify if has prefix. Eg.: R$
if (this.hasPrefix && this.prefixSymbol) {
this.imObject['prefix'] = this.prefixSymbol;
}
// Verify if has decimal numbers
if (this.hasDecimal) {
this.imObject['numericInput'] = true;
}
this.im = new InputMask(this.imObject);
this.im.mask(this.el);
};
/**
* @param {?} event
* @return {?}
*/
MoneyMaskDirective.prototype.onKeyPress = /**
* @param {?} event
* @return {?}
*/
function (event) {
console.log(event);
if (!this.restrictNumeric(event)) {
event.preventDefault;
}
};
/**
* @param {?} e
* @return {?}
*/
MoneyMaskDirective.prototype.onPaste = /**
* @param {?} e
* @return {?}
*/
function (e) {
this.onInputChange(e);
};
/**
* @param {?} e
* @return {?}
*/
MoneyMaskDirective.prototype.onChange = /**
* @param {?} e
* @return {?}
*/
function (e) {
this.onInputChange(e);
};
/**
* @param {?} e
* @return {?}
*/
MoneyMaskDirective.prototype.onInput = /**
* @param {?} e
* @return {?}
*/
function (e) {
this.onInputChange(e);
};
/**
* @param {?} event
* @return {?}
*/
MoneyMaskDirective.prototype.onInputChange = /**
* @param {?} event
* @return {?}
*/
function (event) {
/** @type {?} */
var eventValue = event;
/** @type {?} */
var newVal = typeof event === 'string' && (eventValue.includes('R$') || eventValue.includes('.'))
? eventValue.replace(/\D/gi, '')
: eventValue;
};
/**
* @param {?} e
* @return {?}
*/
MoneyMaskDirective.prototype.restrictNumeric = /**
* @param {?} e
* @return {?}
*/
function (e) {
/** @type {?} */
var input;
if (e.metaKey || e.ctrlKey) {
return true;
}
if (e.which === 32) {
return false;
}
if (e.which === 0) {
return true;
}
if (e.which < 33) {
return true;
}
input = String.fromCharCode(e.which);
return !!/[\d\s]/.test(input);
};
MoneyMaskDirective.decorators = [
{ type: Directive, args: [{
selector: '[jstMoneyMask]',
},] }
];
/** @nocollapse */
MoneyMaskDirective.ctorParameters = function () { return [
{ type: ElementRef }
]; };
MoneyMaskDirective.propDecorators = {
hasDecimal: [{ type: Input }],
hasPrefix: [{ type: Input }],
prefixSymbol: [{ type: Input }],
onKeyPress: [{ type: HostListener, args: ['keypress', ['$event'],] }],
onPaste: [{ type: HostListener, args: ['paste', ['$event'],] }],
onChange: [{ type: HostListener, args: ['change', ['$event'],] }],
onInput: [{ type: HostListener, args: ['input', ['$event'],] }]
};
return MoneyMaskDirective;
}());
export { MoneyMaskDirective };
if (false) {
/**
* @type {?}
* @private
*/
MoneyMaskDirective.prototype.im;
/**
* @type {?}
* @private
*/
MoneyMaskDirective.prototype.el;
/** @type {?} */
MoneyMaskDirective.prototype.hasDecimal;
/** @type {?} */
MoneyMaskDirective.prototype.hasPrefix;
/** @type {?} */
MoneyMaskDirective.prototype.prefixSymbol;
/**
* @type {?}
* @private
*/
MoneyMaskDirective.prototype.imObject;
/**
* @type {?}
* @private
*/
MoneyMaskDirective.prototype.elementRef;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uZXktbWFzay5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AanVzdGEvbWFzay1kaXJlY3RpdmUvIiwic291cmNlcyI6WyJsaWIvbW9uZXktbWFzay5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sU0FBUyxNQUFNLFdBQVcsQ0FBQzs7OztBQUtsQztJQW1CRSw0QkFBb0IsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTs7UUFiakMsZUFBVSxHQUFZLEtBQUssQ0FBQyxDQUFDLHlDQUF5Qzs7UUFDdEUsY0FBUyxHQUFZLEtBQUssQ0FBQyxDQUFDLHdDQUF3Qzs7UUFDcEUsaUJBQVksR0FBVyxLQUFLLENBQUMsQ0FBQyxpQ0FBaUM7O1FBRWhFLGFBQVEsR0FBRztZQUNqQixLQUFLLEVBQUUsVUFBVTtZQUNqQixTQUFTLEVBQUUsSUFBSTtZQUNmLGNBQWMsRUFBRSxHQUFHO1lBQ25CLFVBQVUsRUFBRSxHQUFHO1lBQ2YsVUFBVSxFQUFFLEtBQUs7WUFDakIsTUFBTSxFQUFFLEtBQUs7U0FDZCxDQUFDO1FBR0Esc0RBQXNEO1FBQ3RELElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7SUFDMUMsQ0FBQzs7OztJQUVELHFDQUFROzs7SUFBUjtRQUNFLGdDQUFnQztRQUNoQyxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUN2QyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7U0FDN0M7UUFDRCxnQ0FBZ0M7UUFDaEMsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25CLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLEdBQUcsSUFBSSxDQUFDO1NBQ3RDO1FBQ0QsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7Ozs7O0lBR0QsdUNBQVU7Ozs7SUFEVixVQUNXLEtBQUs7UUFDZCxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2hDLEtBQUssQ0FBQyxjQUFjLENBQUM7U0FDdEI7SUFDSCxDQUFDOzs7OztJQUVrQyxvQ0FBTzs7OztJQUExQyxVQUEyQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEIsQ0FBQzs7Ozs7SUFDbUMscUNBQVE7Ozs7SUFBNUMsVUFBNkMsQ0FBQztRQUM1QyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7Ozs7O0lBQ2tDLG9DQUFPOzs7O0lBQTFDLFVBQTJDLENBQUM7UUFDMUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4QixDQUFDOzs7OztJQUVELDBDQUFhOzs7O0lBQWIsVUFBYyxLQUFVOztZQUNoQixVQUFVLEdBQUcsS0FBSzs7WUFDbEIsTUFBTSxHQUNWLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNsRixDQUFDLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO1lBQ2hDLENBQUMsQ0FBQyxVQUFVO0lBQ2xCLENBQUM7Ozs7O0lBRUQsNENBQWU7Ozs7SUFBZixVQUFnQixDQUFDOztZQUNYLEtBQUs7UUFDVCxJQUFJLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRTtZQUMxQixPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsSUFBSSxDQUFDLENBQUMsS0FBSyxLQUFLLEVBQUUsRUFBRTtZQUNsQixPQUFPLEtBQUssQ0FBQztTQUNkO1FBQ0QsSUFBSSxDQUFDLENBQUMsS0FBSyxLQUFLLENBQUMsRUFBRTtZQUNqQixPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsSUFBSSxDQUFDLENBQUMsS0FBSyxHQUFHLEVBQUUsRUFBRTtZQUNoQixPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsS0FBSyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsQ0FBQzs7Z0JBL0VGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO2lCQUMzQjs7OztnQkFSa0MsVUFBVTs7OzZCQVkxQyxLQUFLOzRCQUNMLEtBQUs7K0JBQ0wsS0FBSzs2QkE2QkwsWUFBWSxTQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQzswQkFRbkMsWUFBWSxTQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQzsyQkFHaEMsWUFBWSxTQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQzswQkFHakMsWUFBWSxTQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQzs7SUE2Qm5DLHlCQUFDO0NBQUEsQUFoRkQsSUFnRkM7U0E3RVksa0JBQWtCOzs7Ozs7SUFDN0IsZ0NBQWdCOzs7OztJQUNoQixnQ0FBNkI7O0lBQzdCLHdDQUFxQzs7SUFDckMsdUNBQW9DOztJQUNwQywwQ0FBc0M7Ozs7O0lBRXRDLHNDQU9FOzs7OztJQUVVLHdDQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIE9uSW5pdCwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgSW5wdXRNYXNrIGZyb20gJ2lucHV0bWFzayc7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgVXNlIGBqc3RDdXJyZW5jeU1hc2tgIGluc3RlYWQuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tqc3RNb25leU1hc2tdJyxcbn0pXG5leHBvcnQgY2xhc3MgTW9uZXlNYXNrRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHJpdmF0ZSBpbTogYW55OyAvLyBJbnB1dG1hc2sgcmVmXG4gIHByaXZhdGUgZWw6IEhUTUxJbnB1dEVsZW1lbnQ7IC8vIFJlZiB0byB0aGUgZWxlbWVudCBpbiB0aGUgRE9NXG4gIEBJbnB1dCgpIGhhc0RlY2ltYWw6IGJvb2xlYW4gPSBmYWxzZTsgLy8gSW5wdXQgdG8gc2V0IGRlY2ltYWxzIHRvIGlucHV0bWFzayBvYmpcbiAgQElucHV0KCkgaGFzUHJlZml4OiBib29sZWFuID0gZmFsc2U7IC8vIFByZWZpeCB0byBpbnNlcnQgdG8gdGhlIGlucHV0bWFzayBvYmpcbiAgQElucHV0KCkgcHJlZml4U3ltYm9sOiBzdHJpbmcgPSAnUiQgJzsgLy8gcHJlZml4IHN5bWJvbCB0byB0aGUgaW5wdXRtYXNrXG5cbiAgcHJpdmF0ZSBpbU9iamVjdCA9IHtcbiAgICBhbGlhczogJ2N1cnJlbmN5JyxcbiAgICBhdXRvR3JvdXA6IHRydWUsXG4gICAgZ3JvdXBTZXBhcmF0b3I6ICcuJyxcbiAgICByYWRpeFBvaW50OiAnLCcsXG4gICAgcmlnaHRBbGlnbjogZmFsc2UsXG4gICAgcHJlZml4OiAnUiQgJyxcbiAgfTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHtcbiAgICAvLyBBdHRhY2ggdGhlIGxvY2FsIHZhcmlhYmxlIHRvIHRoZSBlbGVtZW50IGluIHRoZSBET01cbiAgICB0aGlzLmVsID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICAvLyB2ZXJpZnkgaWYgaGFzIHByZWZpeC4gRWcuOiBSJFxuICAgIGlmICh0aGlzLmhhc1ByZWZpeCAmJiB0aGlzLnByZWZpeFN5bWJvbCkge1xuICAgICAgdGhpcy5pbU9iamVjdFsncHJlZml4J10gPSB0aGlzLnByZWZpeFN5bWJvbDtcbiAgICB9XG4gICAgLy8gVmVyaWZ5IGlmIGhhcyBkZWNpbWFsIG51bWJlcnNcbiAgICBpZiAodGhpcy5oYXNEZWNpbWFsKSB7XG4gICAgICB0aGlzLmltT2JqZWN0WydudW1lcmljSW5wdXQnXSA9IHRydWU7XG4gICAgfVxuICAgIHRoaXMuaW0gPSBuZXcgSW5wdXRNYXNrKHRoaXMuaW1PYmplY3QpO1xuICAgIHRoaXMuaW0ubWFzayh0aGlzLmVsKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2tleXByZXNzJywgWyckZXZlbnQnXSlcbiAgb25LZXlQcmVzcyhldmVudCkge1xuICAgIGNvbnNvbGUubG9nKGV2ZW50KTtcbiAgICBpZiAoIXRoaXMucmVzdHJpY3ROdW1lcmljKGV2ZW50KSkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQ7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigncGFzdGUnLCBbJyRldmVudCddKSBvblBhc3RlKGUpIHtcbiAgICB0aGlzLm9uSW5wdXRDaGFuZ2UoZSk7XG4gIH1cbiAgQEhvc3RMaXN0ZW5lcignY2hhbmdlJywgWyckZXZlbnQnXSkgb25DaGFuZ2UoZSkge1xuICAgIHRoaXMub25JbnB1dENoYW5nZShlKTtcbiAgfVxuICBASG9zdExpc3RlbmVyKCdpbnB1dCcsIFsnJGV2ZW50J10pIG9uSW5wdXQoZSkge1xuICAgIHRoaXMub25JbnB1dENoYW5nZShlKTtcbiAgfVxuXG4gIG9uSW5wdXRDaGFuZ2UoZXZlbnQ6IGFueSkge1xuICAgIGNvbnN0IGV2ZW50VmFsdWUgPSBldmVudDtcbiAgICBjb25zdCBuZXdWYWwgPVxuICAgICAgdHlwZW9mIGV2ZW50ID09PSAnc3RyaW5nJyAmJiAoZXZlbnRWYWx1ZS5pbmNsdWRlcygnUiQnKSB8fCBldmVudFZhbHVlLmluY2x1ZGVzKCcuJykpXG4gICAgICAgID8gZXZlbnRWYWx1ZS5yZXBsYWNlKC9cXEQvZ2ksICcnKVxuICAgICAgICA6IGV2ZW50VmFsdWU7XG4gIH1cblxuICByZXN0cmljdE51bWVyaWMoZSk6IGJvb2xlYW4ge1xuICAgIGxldCBpbnB1dDtcbiAgICBpZiAoZS5tZXRhS2V5IHx8IGUuY3RybEtleSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmIChlLndoaWNoID09PSAzMikge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAoZS53aGljaCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmIChlLndoaWNoIDwgMzMpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpbnB1dCA9IFN0cmluZy5mcm9tQ2hhckNvZGUoZS53aGljaCk7XG4gICAgcmV0dXJuICEhL1tcXGRcXHNdLy50ZXN0KGlucHV0KTtcbiAgfVxufVxuIl19