UNPKG

@hxui/angular

Version:

* * *

58 lines 3.89 kB
/** * @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=