@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
JavaScript
/**
* @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=