UNPKG

@vicoders/angular

Version:

- [Vicoders Angular Common Module](#vicoders-angular-common-module) - [Install](#install) - [How to use](#how-to-use) - [Pipes](#pipes) - [hasItem](#hasitem) - [isArray](#isarray) - [length](#length) - [orderBy](#orderby)

67 lines 4.34 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { ElementRef } from '@angular/core'; import { Directive, HostListener, Input } from '@angular/core'; export class AutoresizeDirective { /** * @param {?} element */ constructor(element) { this.element = element; } /** * @param {?} textArea * @return {?} */ onInput(textArea) { this.adjust(); } /** * @return {?} */ ngOnInit() { this.adjust(); } /** * @return {?} */ adjust() { /** @type {?} */ let el = this.element.nativeElement; /** @type {?} */ let newHeight; if (el) { el.style.overflow = 'hidden'; el.style.height = 'auto'; if (this.autoresize) { newHeight = Math.min(el.scrollHeight, this.autoresize); } else { newHeight = el.scrollHeight; } el.style.height = newHeight + 'px'; } } } AutoresizeDirective.decorators = [ { type: Directive, args: [{ // tslint:disable-next-line:directive-selector selector: '[autoresize]' },] } ]; AutoresizeDirective.ctorParameters = () => [ { type: ElementRef } ]; AutoresizeDirective.propDecorators = { autoresize: [{ type: Input }], onInput: [{ type: HostListener, args: ['input', ['$event.target'],] }] }; if (false) { /** @type {?} */ AutoresizeDirective.prototype.autoresize; /** @type {?} */ AutoresizeDirective.prototype.element; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b3Jlc2l6ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Admljb2RlcnMvYW5ndWxhci8iLCJzb3VyY2VzIjpbImxpYi9kaXJlY3RpdmVzL2F1dG9yZXNpemUvYXV0b3Jlc2l6ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBVSxVQUFVLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBTS9ELE1BQU07Ozs7SUFPSixZQUFtQixPQUFtQjtRQUFuQixZQUFPLEdBQVAsT0FBTyxDQUFZO0lBQUcsQ0FBQzs7Ozs7SUFKMUMsT0FBTyxDQUFDLFFBQTZCO1FBQ25DLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNoQixDQUFDOzs7O0lBSUQsUUFBUTtRQUNOLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNoQixDQUFDOzs7O0lBRUQsTUFBTTs7WUFDQSxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhOztZQUMvQixTQUFTO1FBQ2IsSUFBSSxFQUFFLEVBQUU7WUFDTixFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7WUFDN0IsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1lBQ3pCLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtnQkFDbkIsU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDeEQ7aUJBQU07Z0JBQ0wsU0FBUyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUM7YUFDN0I7WUFDRCxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxTQUFTLEdBQUcsSUFBSSxDQUFDO1NBQ3BDO0lBQ0gsQ0FBQzs7O1lBOUJGLFNBQVMsU0FBQzs7Z0JBRVQsUUFBUSxFQUFFLGNBQWM7YUFDekI7OztZQU5nQixVQUFVOzs7eUJBUXhCLEtBQUs7c0JBQ0wsWUFBWSxTQUFDLE9BQU8sRUFBRSxDQUFDLGVBQWUsQ0FBQzs7OztJQUR4Qyx5Q0FBNEI7O0lBTWhCLHNDQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9uSW5pdCwgRWxlbWVudFJlZiwgSG9zdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6ZGlyZWN0aXZlLXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnW2F1dG9yZXNpemVdJ1xufSlcbmV4cG9ydCBjbGFzcyBBdXRvcmVzaXplRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgYXV0b3Jlc2l6ZTogbnVtYmVyO1xuICBASG9zdExpc3RlbmVyKCdpbnB1dCcsIFsnJGV2ZW50LnRhcmdldCddKVxuICBvbklucHV0KHRleHRBcmVhOiBIVE1MVGV4dEFyZWFFbGVtZW50KTogdm9pZCB7XG4gICAgdGhpcy5hZGp1c3QoKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBlbGVtZW50OiBFbGVtZW50UmVmKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuYWRqdXN0KCk7XG4gIH1cblxuICBhZGp1c3QoKTogdm9pZCB7XG4gICAgbGV0IGVsID0gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgbGV0IG5ld0hlaWdodDtcbiAgICBpZiAoZWwpIHtcbiAgICAgIGVsLnN0eWxlLm92ZXJmbG93ID0gJ2hpZGRlbic7XG4gICAgICBlbC5zdHlsZS5oZWlnaHQgPSAnYXV0byc7XG4gICAgICBpZiAodGhpcy5hdXRvcmVzaXplKSB7XG4gICAgICAgIG5ld0hlaWdodCA9IE1hdGgubWluKGVsLnNjcm9sbEhlaWdodCwgdGhpcy5hdXRvcmVzaXplKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5ld0hlaWdodCA9IGVsLnNjcm9sbEhlaWdodDtcbiAgICAgIH1cbiAgICAgIGVsLnN0eWxlLmhlaWdodCA9IG5ld0hlaWdodCArICdweCc7XG4gICAgfVxuICB9XG59XG4iXX0=