UNPKG

input-mask-angular

Version:
95 lines 11 kB
import { Directive, ElementRef, EventEmitter, Input, Output, Renderer2 } from '@angular/core'; import { MaskedTextChangedListener } from 'ts-input-mask'; import { InputMaskOptions } from './input-mask-options'; import * as i0 from "@angular/core"; var InputMaskAngularDirective = /** @class */ (function () { function InputMaskAngularDirective(elementRef, renderer) { this.elementRef = elementRef; this.renderer = renderer; this.maskFilled = new EventEmitter(); this.extractedValue = new EventEmitter(); this.formattedText = new EventEmitter(); this.placeholder = new EventEmitter(); this._options = new InputMaskOptions(); } Object.defineProperty(InputMaskAngularDirective.prototype, "value", { set: function (value) { this._value = value; }, enumerable: true, configurable: true }); Object.defineProperty(InputMaskAngularDirective.prototype, "primaryFormat", { set: function (value) { this._primaryFormat = value; }, enumerable: true, configurable: true }); Object.defineProperty(InputMaskAngularDirective.prototype, "options", { set: function (value) { this._options = value; }, enumerable: true, configurable: true }); InputMaskAngularDirective.prototype.ngOnInit = function () { this.setupListener(this.elementRef.nativeElement); }; InputMaskAngularDirective.prototype.setupListener = function (input) { var _this = this; if (!!this._primaryFormat) { var emitChanges_1 = function (maskFilled, extractedValue, formattedText) { _this.maskFilled.emit(maskFilled); _this.extractedValue.emit(extractedValue); _this.formattedText.emit(formattedText); }; var listener = MaskedTextChangedListener.installOn(this._primaryFormat, input, new /** @class */ (function () { function class_1() { } class_1.prototype.onTextChanged = function (maskFilled, extractedValue, formattedText) { emitChanges_1(maskFilled, extractedValue, formattedText); }; return class_1; }())(), this._options.affineFormats, this._options.customNotations, this._options.affinityCalculationStrategy, this._options.autocomplete); this.renderer.setProperty(input, 'placeholder', String(listener.placeholder())); if (!!this._value) { listener.setText(this._value); } this.placeholder.emit(String(listener.placeholder())); } else { input.addEventListener('input', function () { _this.extractedValue.emit(input.value); }); } }; /** @nocollapse */ InputMaskAngularDirective.ɵfac = function InputMaskAngularDirective_Factory(t) { return new (t || InputMaskAngularDirective)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.Renderer2)); }; /** @nocollapse */ InputMaskAngularDirective.ɵdir = i0.ɵɵdefineDirective({ type: InputMaskAngularDirective, selectors: [["input", "mask", ""]], inputs: { value: "value", primaryFormat: ["mask", "primaryFormat"], options: "options" }, outputs: { maskFilled: "maskFilled", extractedValue: "extractedValue", formattedText: "formattedText", placeholder: "placeholder" } }); return InputMaskAngularDirective; }()); export { InputMaskAngularDirective }; /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(InputMaskAngularDirective, [{ type: Directive, args: [{ selector: 'input[mask]' }] }], function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, { maskFilled: [{ type: Output }], extractedValue: [{ type: Output }], formattedText: [{ type: Output }], placeholder: [{ type: Output }], value: [{ type: Input, args: ['value'] }], primaryFormat: [{ type: Input, args: ['mask'] }], options: [{ type: Input, args: ['options'] }] }); })(); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbWFzay1hbmd1bGFyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2lucHV0LW1hc2stYW5ndWxhci8iLCJzb3VyY2VzIjpbImxpYi9pbnB1dC1tYXNrLWFuZ3VsYXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNwRyxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7O0FBRXREO0lBU0UsbUNBQ1UsVUFBc0IsRUFDdEIsUUFBbUI7UUFEbkIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBUFosZUFBVSxHQUEwQixJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ2hFLG1CQUFjLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFDbEUsa0JBQWEsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUNqRSxnQkFBVyxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBb0J4RSxhQUFRLEdBQXFCLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztJQWQ1RCxDQUFDO0lBSUQsc0JBQW9CLDRDQUFLO2FBQXpCLFVBQTBCLEtBQWE7WUFDckMsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDdEIsQ0FBQzs7O09BQUE7SUFJRCxzQkFBbUIsb0RBQWE7YUFBaEMsVUFBaUMsS0FBYTtZQUM1QyxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztRQUM5QixDQUFDOzs7T0FBQTtJQUlELHNCQUFzQiw4Q0FBTzthQUE3QixVQUE4QixLQUF1QjtZQUNuRCxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN4QixDQUFDOzs7T0FBQTtJQUVNLDRDQUFRLEdBQWY7UUFDRSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVPLGlEQUFhLEdBQXJCLFVBQXNCLEtBQXVCO1FBQTdDLGlCQXNDQztRQXJDQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3pCLElBQU0sYUFBVyxHQUFHLFVBQ2xCLFVBQW1CLEVBQ25CLGNBQXNCLEVBQ3RCLGFBQXFCO2dCQUVyQixLQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDakMsS0FBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7Z0JBQ3pDLEtBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3pDLENBQUMsQ0FBQztZQUNGLElBQU0sUUFBUSxHQUE4Qix5QkFBeUIsQ0FBQyxTQUFTLENBQzdFLElBQUksQ0FBQyxjQUFjLEVBQ25CLEtBQUssRUFDTDtnQkFBSTtnQkFRSixDQUFDO2dCQVBRLCtCQUFhLEdBQXBCLFVBQ0UsVUFBbUIsRUFDbkIsY0FBc0IsRUFDdEIsYUFBcUI7b0JBRXJCLGFBQVcsQ0FBQyxVQUFVLEVBQUUsY0FBYyxFQUFFLGFBQWEsQ0FBQyxDQUFDO2dCQUN6RCxDQUFDO2dCQUNILGNBQUM7WUFBRCxDQUFDLEFBUkcsS0FRRCxFQUNILElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUMzQixJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsRUFDN0IsSUFBSSxDQUFDLFFBQVEsQ0FBQywyQkFBMkIsRUFDekMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQzNCLENBQUM7WUFDRixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsYUFBYSxFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ2hGLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7Z0JBQ2pCLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQy9CO1lBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDdkQ7YUFBTTtZQUNMLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQzlCLEtBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN4QyxDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztzR0F4RVUseUJBQXlCO2tFQUF6Qix5QkFBeUI7b0NBUHRDO0NBaUZDLEFBN0VELElBNkVDO1NBMUVZLHlCQUF5QjtrREFBekIseUJBQXlCO2NBSHJDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsYUFBYTthQUN4Qjs7a0JBRUUsTUFBTTs7a0JBQ04sTUFBTTs7a0JBQ04sTUFBTTs7a0JBQ04sTUFBTTs7a0JBVU4sS0FBSzttQkFBQyxPQUFPOztrQkFNYixLQUFLO21CQUFDLE1BQU07O2tCQU1aLEtBQUs7bUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgUmVuZGVyZXIyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TWFza2VkVGV4dENoYW5nZWRMaXN0ZW5lcn0gZnJvbSAndHMtaW5wdXQtbWFzayc7XG5pbXBvcnQge0lucHV0TWFza09wdGlvbnN9IGZyb20gJy4vaW5wdXQtbWFzay1vcHRpb25zJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnaW5wdXRbbWFza10nXG59KVxuZXhwb3J0IGNsYXNzIElucHV0TWFza0FuZ3VsYXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICBAT3V0cHV0KCkgcHVibGljIG1hc2tGaWxsZWQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBleHRyYWN0ZWRWYWx1ZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBmb3JtYXR0ZWRUZXh0OiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBAT3V0cHV0KCkgcHVibGljIHBsYWNlaG9sZGVyOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjJcbiAgKSB7XG4gIH1cblxuICBwcml2YXRlIF92YWx1ZTogc3RyaW5nO1xuXG4gIEBJbnB1dCgndmFsdWUnKSBzZXQgdmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG4gIH1cblxuICBwcml2YXRlIF9wcmltYXJ5Rm9ybWF0OiBzdHJpbmc7XG5cbiAgQElucHV0KCdtYXNrJykgc2V0IHByaW1hcnlGb3JtYXQodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX3ByaW1hcnlGb3JtYXQgPSB2YWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgX29wdGlvbnM6IElucHV0TWFza09wdGlvbnMgPSBuZXcgSW5wdXRNYXNrT3B0aW9ucygpO1xuXG4gIEBJbnB1dCgnb3B0aW9ucycpIHNldCBvcHRpb25zKHZhbHVlOiBJbnB1dE1hc2tPcHRpb25zKSB7XG4gICAgdGhpcy5fb3B0aW9ucyA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2V0dXBMaXN0ZW5lcih0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gIH1cblxuICBwcml2YXRlIHNldHVwTGlzdGVuZXIoaW5wdXQ6IEhUTUxJbnB1dEVsZW1lbnQpOiB2b2lkIHtcbiAgICBpZiAoISF0aGlzLl9wcmltYXJ5Rm9ybWF0KSB7XG4gICAgICBjb25zdCBlbWl0Q2hhbmdlcyA9IChcbiAgICAgICAgbWFza0ZpbGxlZDogYm9vbGVhbixcbiAgICAgICAgZXh0cmFjdGVkVmFsdWU6IHN0cmluZyxcbiAgICAgICAgZm9ybWF0dGVkVGV4dDogc3RyaW5nXG4gICAgICApOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5tYXNrRmlsbGVkLmVtaXQobWFza0ZpbGxlZCk7XG4gICAgICAgIHRoaXMuZXh0cmFjdGVkVmFsdWUuZW1pdChleHRyYWN0ZWRWYWx1ZSk7XG4gICAgICAgIHRoaXMuZm9ybWF0dGVkVGV4dC5lbWl0KGZvcm1hdHRlZFRleHQpO1xuICAgICAgfTtcbiAgICAgIGNvbnN0IGxpc3RlbmVyOiBNYXNrZWRUZXh0Q2hhbmdlZExpc3RlbmVyID0gTWFza2VkVGV4dENoYW5nZWRMaXN0ZW5lci5pbnN0YWxsT24oXG4gICAgICAgIHRoaXMuX3ByaW1hcnlGb3JtYXQsXG4gICAgICAgIGlucHV0LFxuICAgICAgICBuZXcgY2xhc3MgaW1wbGVtZW50cyBNYXNrZWRUZXh0Q2hhbmdlZExpc3RlbmVyLlZhbHVlTGlzdGVuZXIge1xuICAgICAgICAgIHB1YmxpYyBvblRleHRDaGFuZ2VkKFxuICAgICAgICAgICAgbWFza0ZpbGxlZDogYm9vbGVhbixcbiAgICAgICAgICAgIGV4dHJhY3RlZFZhbHVlOiBzdHJpbmcsXG4gICAgICAgICAgICBmb3JtYXR0ZWRUZXh0OiBzdHJpbmdcbiAgICAgICAgICApOiB2b2lkIHtcbiAgICAgICAgICAgIGVtaXRDaGFuZ2VzKG1hc2tGaWxsZWQsIGV4dHJhY3RlZFZhbHVlLCBmb3JtYXR0ZWRUZXh0KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0oKSxcbiAgICAgICAgdGhpcy5fb3B0aW9ucy5hZmZpbmVGb3JtYXRzLFxuICAgICAgICB0aGlzLl9vcHRpb25zLmN1c3RvbU5vdGF0aW9ucyxcbiAgICAgICAgdGhpcy5fb3B0aW9ucy5hZmZpbml0eUNhbGN1bGF0aW9uU3RyYXRlZ3ksXG4gICAgICAgIHRoaXMuX29wdGlvbnMuYXV0b2NvbXBsZXRlXG4gICAgICApO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eShpbnB1dCwgJ3BsYWNlaG9sZGVyJywgU3RyaW5nKGxpc3RlbmVyLnBsYWNlaG9sZGVyKCkpKTtcbiAgICAgIGlmICghIXRoaXMuX3ZhbHVlKSB7XG4gICAgICAgIGxpc3RlbmVyLnNldFRleHQodGhpcy5fdmFsdWUpO1xuICAgICAgfVxuICAgICAgdGhpcy5wbGFjZWhvbGRlci5lbWl0KFN0cmluZyhsaXN0ZW5lci5wbGFjZWhvbGRlcigpKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2lucHV0JywgKCkgPT4ge1xuICAgICAgICB0aGlzLmV4dHJhY3RlZFZhbHVlLmVtaXQoaW5wdXQudmFsdWUpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbn1cbiJdfQ==