UNPKG

ng-form-helper

Version:

Feature set to use in your angular form

99 lines 7.23 kB
/** * @fileoverview added by tsickle * Generated from: lib/regexed-field.directive.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import * as tslib_1 from "tslib"; import { Directive, ElementRef, forwardRef, HostListener, Input, Renderer2 } from '@angular/core'; import { NG_VALUE_ACCESSOR } from '@angular/forms'; import { FormFieldDirective } from './form-field.directive'; var RegexedFieldDirective = /** @class */ (function (_super) { tslib_1.__extends(RegexedFieldDirective, _super); function RegexedFieldDirective(element, renderer) { var _this = _super.call(this) || this; _this.element = element; _this.renderer = renderer; _this.regexRule = /(?:)/; return _this; } Object.defineProperty(RegexedFieldDirective.prototype, "setRegex", { set: /** * @param {?} regex * @return {?} */ function (regex) { this.regexRule = new RegExp(regex); }, enumerable: true, configurable: true }); /** * @param {?} event * @return {?} */ RegexedFieldDirective.prototype.onInput = /** * @param {?} event * @return {?} */ function (event) { /** @type {?} */ var value = this.getValueFromKeyboardEvent(event); // this validation is here for IE11 or lower... it emmits the input event for anything // and create a loop if (value === this.oldState.value) { return; } if (this.regexRule.test(value)) { /** @type {?} */ var cursorInitialPosition = this.element.nativeElement.selectionStart; this.updateFieldValue(value); this.setCursorPosition(cursorInitialPosition); return; } this.resetField(); }; RegexedFieldDirective.decorators = [ { type: Directive, args: [{ selector: '[formRegexedField]', providers: [ { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef((/** * @return {?} */ function () { return RegexedFieldDirective; })), multi: true } ] },] } ]; /** @nocollapse */ RegexedFieldDirective.ctorParameters = function () { return [ { type: ElementRef }, { type: Renderer2 } ]; }; RegexedFieldDirective.propDecorators = { setRegex: [{ type: Input, args: ['formRegexedField',] }], onInput: [{ type: HostListener, args: ['input', ['$event'],] }] }; return RegexedFieldDirective; }(FormFieldDirective)); export { RegexedFieldDirective }; if (false) { /** * @type {?} * @private */ RegexedFieldDirective.prototype.regexRule; /** * @type {?} * @protected */ RegexedFieldDirective.prototype.element; /** * @type {?} * @protected */ RegexedFieldDirective.prototype.renderer; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnZXhlZC1maWVsZC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy1mb3JtLWhlbHBlci8iLCJzb3VyY2VzIjpbImxpYi9yZWdleGVkLWZpZWxkLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFNUQ7SUFVMkMsaURBQWtCO0lBUzNELCtCQUNZLE9BQW1CLEVBQ25CLFFBQW1CO1FBRi9CLFlBSUUsaUJBQU8sU0FDUjtRQUpXLGFBQU8sR0FBUCxPQUFPLENBQVk7UUFDbkIsY0FBUSxHQUFSLFFBQVEsQ0FBVztRQUp2QixlQUFTLEdBQUcsTUFBTSxDQUFDOztJQU8zQixDQUFDO0lBWkQsc0JBQ0ksMkNBQVE7Ozs7O1FBRFosVUFDYSxLQUFhO1lBQ3hCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckMsQ0FBQzs7O09BQUE7Ozs7O0lBWUQsdUNBQU87Ozs7SUFEUCxVQUNRLEtBQW9COztZQUNwQixLQUFLLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDLEtBQUssQ0FBQztRQUNuRCx1RkFBdUY7UUFDdkYscUJBQXFCO1FBQ3JCLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFO1lBQ2pDLE9BQU87U0FDUjtRQUVELElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7O2dCQUN4QixxQkFBcUIsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxjQUFjO1lBQ3ZFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM3QixJQUFJLENBQUMsaUJBQWlCLENBQUMscUJBQXFCLENBQUMsQ0FBQztZQUM5QyxPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQzs7Z0JBM0NGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVU7Ozs0QkFBQyxjQUFNLE9BQUEscUJBQXFCLEVBQXJCLENBQXFCLEVBQUM7NEJBQ3BELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO2lCQUNGOzs7O2dCQWJtQixVQUFVO2dCQUFtQyxTQUFTOzs7MkJBZ0J2RSxLQUFLLFNBQUMsa0JBQWtCOzBCQWN4QixZQUFZLFNBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDOztJQWtCbkMsNEJBQUM7Q0FBQSxBQTVDRCxDQVUyQyxrQkFBa0IsR0FrQzVEO1NBbENZLHFCQUFxQjs7Ozs7O0lBT2hDLDBDQUEyQjs7Ozs7SUFHekIsd0NBQTZCOzs7OztJQUM3Qix5Q0FBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIGZvcndhcmRSZWYsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgRm9ybUZpZWxkRGlyZWN0aXZlIH0gZnJvbSAnLi9mb3JtLWZpZWxkLmRpcmVjdGl2ZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tmb3JtUmVnZXhlZEZpZWxkXScsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBSZWdleGVkRmllbGREaXJlY3RpdmUpLFxyXG4gICAgICBtdWx0aTogdHJ1ZVxyXG4gICAgfVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFJlZ2V4ZWRGaWVsZERpcmVjdGl2ZSBleHRlbmRzIEZvcm1GaWVsZERpcmVjdGl2ZSB7XHJcblxyXG4gIEBJbnB1dCgnZm9ybVJlZ2V4ZWRGaWVsZCcpXHJcbiAgc2V0IHNldFJlZ2V4KHJlZ2V4OiBzdHJpbmcpIHtcclxuICAgIHRoaXMucmVnZXhSdWxlID0gbmV3IFJlZ0V4cChyZWdleCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlZ2V4UnVsZSA9IC8oPzopLztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcm90ZWN0ZWQgZWxlbWVudDogRWxlbWVudFJlZixcclxuICAgIHByb3RlY3RlZCByZW5kZXJlcjogUmVuZGVyZXIyXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignaW5wdXQnLCBbJyRldmVudCddKVxyXG4gIG9uSW5wdXQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcclxuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5nZXRWYWx1ZUZyb21LZXlib2FyZEV2ZW50KGV2ZW50KTtcclxuICAgIC8vICB0aGlzIHZhbGlkYXRpb24gaXMgaGVyZSBmb3IgSUUxMSBvciBsb3dlci4uLiBpdCBlbW1pdHMgdGhlIGlucHV0IGV2ZW50IGZvciBhbnl0aGluZ1xyXG4gICAgLy8gIGFuZCBjcmVhdGUgYSBsb29wXHJcbiAgICBpZiAodmFsdWUgPT09IHRoaXMub2xkU3RhdGUudmFsdWUpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLnJlZ2V4UnVsZS50ZXN0KHZhbHVlKSkge1xyXG4gICAgICBjb25zdCBjdXJzb3JJbml0aWFsUG9zaXRpb24gPSB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5zZWxlY3Rpb25TdGFydDtcclxuICAgICAgdGhpcy51cGRhdGVGaWVsZFZhbHVlKHZhbHVlKTtcclxuICAgICAgdGhpcy5zZXRDdXJzb3JQb3NpdGlvbihjdXJzb3JJbml0aWFsUG9zaXRpb24pO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5yZXNldEZpZWxkKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==