@hxui/angular
Version:
* * *
58 lines • 3.89 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
*/
import { Directive, ElementRef, HostListener } from '@angular/core';
export class AutoGrowDirective {
/**
* @param {?} element
*/
constructor(element) {
this.element = element;
}
/**
* @return {?}
*/
onInput() {
this.resize();
}
/**
* @return {?}
*/
ngAfterViewInit() {
/** @type {?} */
const style = this.element.nativeElement.style;
style.overflow = 'hidden';
style.height = 'auto';
}
/**
* @return {?}
*/
resize() {
/** @type {?} */
const el = this.element.nativeElement;
if (el.style.height === el.scrollHeight + 'px') {
return;
}
el.style.overflow = 'hidden';
el.style.height = 'auto';
el.style.height = `${el.scrollHeight}px`;
}
}
AutoGrowDirective.decorators = [
{ type: Directive, args: [{
selector: 'textarea[autogrow]'
},] },
];
/** @nocollapse */
AutoGrowDirective.ctorParameters = () => [
{ type: ElementRef }
];
AutoGrowDirective.propDecorators = {
onInput: [{ type: HostListener, args: ['input', ['$event.target'],] }]
};
if (false) {
/** @type {?} */
AutoGrowDirective.prototype.element;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1ncm93LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BoeHVpL2FuZ3VsYXIvIiwic291cmNlcyI6WyJsaWIvYXV0by1ncm93L2F1dG8tZ3Jvdy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFFYixNQUFNLGVBQWUsQ0FBQztBQUt2QixNQUFNLE9BQU8saUJBQWlCOzs7O0lBUTVCLFlBQW1CLE9BQW1CO1FBQW5CLFlBQU8sR0FBUCxPQUFPLENBQVk7SUFBRyxDQUFDOzs7O0lBSm5DLE9BQU87UUFDWixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDaEIsQ0FBQzs7OztJQUlNLGVBQWU7O2NBQ2QsS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUs7UUFDOUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDMUIsS0FBSyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDeEIsQ0FBQzs7OztJQUVNLE1BQU07O2NBQ0wsRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYTtRQUVyQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxLQUFLLEVBQUUsQ0FBQyxZQUFZLEdBQUcsSUFBSSxFQUFFO1lBQzlDLE9BQU87U0FDUjtRQUVELEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUM3QixFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDekIsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUMsWUFBWSxJQUFJLENBQUM7SUFDM0MsQ0FBQzs7O1lBN0JGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsb0JBQW9CO2FBQy9COzs7O1lBUEMsVUFBVTs7O3NCQVdULFlBQVksU0FBQyxPQUFPLEVBQUUsQ0FBQyxlQUFlLENBQUM7Ozs7SUFLNUIsb0NBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBEaXJlY3RpdmUsXHJcbiAgRWxlbWVudFJlZixcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgQWZ0ZXJWaWV3SW5pdFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICd0ZXh0YXJlYVthdXRvZ3Jvd10nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBdXRvR3Jvd0RpcmVjdGl2ZVxyXG4gIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2lucHV0JywgWyckZXZlbnQudGFyZ2V0J10pXHJcbiAgcHVibGljIG9uSW5wdXQoKSB7XHJcbiAgICB0aGlzLnJlc2l6ZSgpO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIGVsZW1lbnQ6IEVsZW1lbnRSZWYpIHt9XHJcblxyXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICBjb25zdCBzdHlsZSA9IHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnN0eWxlO1xyXG4gICAgc3R5bGUub3ZlcmZsb3cgPSAnaGlkZGVuJztcclxuICAgIHN0eWxlLmhlaWdodCA9ICdhdXRvJztcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZXNpemUoKSB7XHJcbiAgICBjb25zdCBlbCA9IHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50O1xyXG5cclxuICAgIGlmIChlbC5zdHlsZS5oZWlnaHQgPT09IGVsLnNjcm9sbEhlaWdodCArICdweCcpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGVsLnN0eWxlLm92ZXJmbG93ID0gJ2hpZGRlbic7XHJcbiAgICBlbC5zdHlsZS5oZWlnaHQgPSAnYXV0byc7XHJcbiAgICBlbC5zdHlsZS5oZWlnaHQgPSBgJHtlbC5zY3JvbGxIZWlnaHR9cHhgO1xyXG4gIH1cclxufVxyXG4iXX0=