UNPKG

ng-form-helper

Version:

Feature set to use in your angular form

212 lines 12.4 kB
/** * @fileoverview added by tsickle * Generated from: lib/form-field.directive.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { HostListener } from '@angular/core'; /** * @abstract */ var FormFieldDirective = /** @class */ (function () { function FormFieldDirective() { this.oldState = { cursorStart: 0, cursorEnd: 0, value: '' }; // These are for angular use this.isDisabled = false; this.onChange = (/** * @param {...?} arg * @return {?} */ function () { var arg = []; for (var _i = 0; _i < arguments.length; _i++) { arg[_i] = arguments[_i]; } return void (0); }); this.onTouch = (/** * @return {?} */ function () { return void (0); }); } /** * @return {?} */ FormFieldDirective.prototype.ngOnInit = /** * @return {?} */ function () { this.oldState.value = this.element.nativeElement.value; }; /** * @return {?} */ FormFieldDirective.prototype.onKeyDown = /** * @return {?} */ function () { this.oldState.cursorStart = this.element.nativeElement.selectionStart; this.oldState.cursorEnd = this.element.nativeElement.selectionEnd; }; /** * @return {?} */ FormFieldDirective.prototype.onBlur = /** * @return {?} */ function () { this.onTouch(); }; /** * @param {?} value * @return {?} */ FormFieldDirective.prototype.writeValue = /** * @param {?} value * @return {?} */ function (value) { /** @type {?} */ var normalizedValue = value == null ? '' : value; this.oldState.value = normalizedValue; this.onChange(value); this.renderer.setProperty(this.element.nativeElement, 'value', normalizedValue); }; /** * @param {?} isDisabled * @return {?} */ FormFieldDirective.prototype.setDisabledState = /** * @param {?} isDisabled * @return {?} */ function (isDisabled) { this.renderer.setProperty(this.element.nativeElement, 'disabled', isDisabled); this.isDisabled = isDisabled; }; /** * @protected * @param {?} event * @return {?} */ FormFieldDirective.prototype.getValueFromKeyboardEvent = /** * @protected * @param {?} event * @return {?} */ function (event) { /** @type {?} */ var el = event.target && (/** @type {?} */ (event.target)) || null; return el && el.value || ''; }; /** * @protected * @param {?} start * @param {?=} end * @return {?} */ FormFieldDirective.prototype.setCursorPosition = /** * @protected * @param {?} start * @param {?=} end * @return {?} */ function (start, end) { if (end === void 0) { end = start; } /** @type {?} */ var el = this.element.nativeElement; /** @type {?} */ var type = el.getAttribute('type'); el.setAttribute('type', 'text'); el.selectionStart = start; el.selectionEnd = end; el.setAttribute('type', type); }; /** * @return {?} */ FormFieldDirective.prototype.resetField = /** * @return {?} */ function () { this.onChange(this.oldState.value); this.writeValue(this.oldState.value); this.setCursorPosition(this.oldState.cursorStart, this.oldState.cursorEnd); }; /** * @param {?} value * @return {?} */ FormFieldDirective.prototype.updateFieldValue = /** * @param {?} value * @return {?} */ function (value) { this.writeValue(value); this.oldState.value = value; }; /** * @param {?} fn * @return {?} */ FormFieldDirective.prototype.registerOnChange = /** * @param {?} fn * @return {?} */ function (fn) { this.onChange = fn; }; /** * @param {?} fn * @return {?} */ FormFieldDirective.prototype.registerOnTouched = /** * @param {?} fn * @return {?} */ function (fn) { this.onTouch = fn; }; FormFieldDirective.propDecorators = { onKeyDown: [{ type: HostListener, args: ['keydown',] }], onBlur: [{ type: HostListener, args: ['blur',] }] }; return FormFieldDirective; }()); export { FormFieldDirective }; if (false) { /** * @type {?} * @protected */ FormFieldDirective.prototype.element; /** * @type {?} * @protected */ FormFieldDirective.prototype.renderer; /** * @type {?} * @protected */ FormFieldDirective.prototype.oldState; /** * @type {?} * @protected */ FormFieldDirective.prototype.isDisabled; /** * @type {?} * @protected */ FormFieldDirective.prototype.onChange; /** * @type {?} * @protected */ FormFieldDirective.prototype.onTouch; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy1mb3JtLWhlbHBlci8iLCJzb3VyY2VzIjpbImxpYi9mb3JtLWZpZWxkLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBYyxZQUFZLEVBQXFCLE1BQU0sZUFBZSxDQUFDOzs7O0FBRzVFO0lBQUE7UUFLWSxhQUFRLEdBQThEO1lBQzlFLFdBQVcsRUFBRSxDQUFDO1lBQ2QsU0FBUyxFQUFFLENBQUM7WUFDWixLQUFLLEVBQUUsRUFBRTtTQUNWLENBQUM7O1FBR1EsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixhQUFROzs7O1FBQUc7WUFBQyxhQUFhO2lCQUFiLFVBQWEsRUFBYixxQkFBYSxFQUFiLElBQWE7Z0JBQWIsd0JBQWE7O1lBQUssT0FBQSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQVIsQ0FBUSxFQUFDO1FBQ3ZDLFlBQU87OztRQUFHLGNBQU0sT0FBQSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQVIsQ0FBUSxFQUFDO0lBNkRyQyxDQUFDOzs7O0lBM0RDLHFDQUFROzs7SUFBUjtRQUNFLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQztJQUN6RCxDQUFDOzs7O0lBR0Qsc0NBQVM7OztJQURUO1FBRUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDO1FBQ3RFLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQztJQUNwRSxDQUFDOzs7O0lBR0QsbUNBQU07OztJQUROO1FBRUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pCLENBQUM7Ozs7O0lBRUQsdUNBQVU7Ozs7SUFBVixVQUFXLEtBQWE7O1lBQ2hCLGVBQWUsR0FBRyxLQUFLLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUs7UUFDbEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEdBQUcsZUFBZSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsT0FBTyxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7Ozs7O0lBRUQsNkNBQWdCOzs7O0lBQWhCLFVBQWlCLFVBQW1CO1FBQ2xDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUM5RSxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUMvQixDQUFDOzs7Ozs7SUFFUyxzREFBeUI7Ozs7O0lBQW5DLFVBQW9DLEtBQW9COztZQUNoRCxFQUFFLEdBQUcsS0FBSyxDQUFDLE1BQU0sSUFBSSxtQkFBQSxLQUFLLENBQUMsTUFBTSxFQUFvQixJQUFJLElBQUk7UUFDbkUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7SUFDOUIsQ0FBQzs7Ozs7OztJQUVTLDhDQUFpQjs7Ozs7O0lBQTNCLFVBQTRCLEtBQWEsRUFBRSxHQUFXO1FBQVgsb0JBQUEsRUFBQSxXQUFXOztZQUM5QyxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhOztZQUMvQixJQUFJLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUM7UUFDcEMsRUFBRSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDaEMsRUFBRSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7UUFDMUIsRUFBRSxDQUFDLFlBQVksR0FBRyxHQUFHLENBQUM7UUFDdEIsRUFBRSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQzs7OztJQUVELHVDQUFVOzs7SUFBVjtRQUNFLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDN0UsQ0FBQzs7Ozs7SUFFRCw2Q0FBZ0I7Ozs7SUFBaEIsVUFBaUIsS0FBYTtRQUM1QixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUM5QixDQUFDOzs7OztJQUVELDZDQUFnQjs7OztJQUFoQixVQUFpQixFQUFnQztRQUMvQyxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDOzs7OztJQUVELDhDQUFpQjs7OztJQUFqQixVQUFrQixFQUFtQjtRQUNuQyxJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUNwQixDQUFDOzs0QkF0REEsWUFBWSxTQUFDLFNBQVM7eUJBTXRCLFlBQVksU0FBQyxNQUFNOztJQWlEdEIseUJBQUM7Q0FBQSxBQTNFRCxJQTJFQztTQTNFcUIsa0JBQWtCOzs7Ozs7SUFFdEMscUNBQXVDOzs7OztJQUN2QyxzQ0FBdUM7Ozs7O0lBRXZDLHNDQUlFOzs7OztJQUdGLHdDQUE2Qjs7Ozs7SUFDN0Isc0NBQWlEOzs7OztJQUNqRCxxQ0FBbUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIE9uSW5pdCwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEZvcm1GaWVsZERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG5cclxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZWxlbWVudDogRWxlbWVudFJlZjtcclxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgcmVuZGVyZXI6IFJlbmRlcmVyMjtcclxuXHJcbiAgcHJvdGVjdGVkIG9sZFN0YXRlOiB7IGN1cnNvclN0YXJ0OiBudW1iZXI7IGN1cnNvckVuZDogbnVtYmVyOyB2YWx1ZTogc3RyaW5nIH0gPSB7XHJcbiAgICBjdXJzb3JTdGFydDogMCxcclxuICAgIGN1cnNvckVuZDogMCxcclxuICAgIHZhbHVlOiAnJ1xyXG4gIH07XHJcblxyXG4gIC8vICBUaGVzZSBhcmUgZm9yIGFuZ3VsYXIgdXNlXHJcbiAgcHJvdGVjdGVkIGlzRGlzYWJsZWQgPSBmYWxzZTtcclxuICBwcm90ZWN0ZWQgb25DaGFuZ2UgPSAoLi4uYXJnOiBhbnlbXSkgPT4gdm9pZCAoMCk7XHJcbiAgcHJvdGVjdGVkIG9uVG91Y2ggPSAoKSA9PiB2b2lkICgwKTtcclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLm9sZFN0YXRlLnZhbHVlID0gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWU7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duJylcclxuICBvbktleURvd24oKTogdm9pZCB7XHJcbiAgICB0aGlzLm9sZFN0YXRlLmN1cnNvclN0YXJ0ID0gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuc2VsZWN0aW9uU3RhcnQ7XHJcbiAgICB0aGlzLm9sZFN0YXRlLmN1cnNvckVuZCA9IHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnNlbGVjdGlvbkVuZDtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2JsdXInKVxyXG4gIG9uQmx1cigpOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaCgpO1xyXG4gIH1cclxuXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCBub3JtYWxpemVkVmFsdWUgPSB2YWx1ZSA9PSBudWxsID8gJycgOiB2YWx1ZTtcclxuICAgIHRoaXMub2xkU3RhdGUudmFsdWUgPSBub3JtYWxpemVkVmFsdWU7XHJcbiAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICd2YWx1ZScsIG5vcm1hbGl6ZWRWYWx1ZSk7XHJcbiAgfVxyXG5cclxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICdkaXNhYmxlZCcsIGlzRGlzYWJsZWQpO1xyXG4gICAgdGhpcy5pc0Rpc2FibGVkID0gaXNEaXNhYmxlZDtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXRWYWx1ZUZyb21LZXlib2FyZEV2ZW50KGV2ZW50OiBLZXlib2FyZEV2ZW50KTogc3RyaW5nIHtcclxuICAgIGNvbnN0IGVsID0gZXZlbnQudGFyZ2V0ICYmIGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50IHx8IG51bGw7XHJcbiAgICByZXR1cm4gZWwgJiYgZWwudmFsdWUgfHwgJyc7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgc2V0Q3Vyc29yUG9zaXRpb24oc3RhcnQ6IG51bWJlciwgZW5kID0gc3RhcnQpOiB2b2lkIHtcclxuICAgIGNvbnN0IGVsID0gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICBjb25zdCB0eXBlID0gZWwuZ2V0QXR0cmlidXRlKCd0eXBlJyk7XHJcbiAgICBlbC5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCAndGV4dCcpO1xyXG4gICAgZWwuc2VsZWN0aW9uU3RhcnQgPSBzdGFydDtcclxuICAgIGVsLnNlbGVjdGlvbkVuZCA9IGVuZDtcclxuICAgIGVsLnNldEF0dHJpYnV0ZSgndHlwZScsIHR5cGUpO1xyXG4gIH1cclxuXHJcbiAgcmVzZXRGaWVsZCgpOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2UodGhpcy5vbGRTdGF0ZS52YWx1ZSk7XHJcbiAgICB0aGlzLndyaXRlVmFsdWUodGhpcy5vbGRTdGF0ZS52YWx1ZSk7XHJcbiAgICB0aGlzLnNldEN1cnNvclBvc2l0aW9uKHRoaXMub2xkU3RhdGUuY3Vyc29yU3RhcnQsIHRoaXMub2xkU3RhdGUuY3Vyc29yRW5kKTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZUZpZWxkVmFsdWUodmFsdWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy53cml0ZVZhbHVlKHZhbHVlKTtcclxuICAgIHRoaXMub2xkU3RhdGUudmFsdWUgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICguLi5hcmc6IGFueVtdKSA9PiB1bmRlZmluZWQpOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB1bmRlZmluZWQpOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaCA9IGZuO1xyXG4gIH1cclxufVxyXG4iXX0=