UNPKG

@ng-flexy/form-bootstrap

Version:

Flexy components and tools to build Angular 8+ applications

33 lines 3.85 kB
// fork https://github.com/stevepapa/ng-autosize import { HostListener, Directive } from '@angular/core'; import * as i0 from "@angular/core"; export class FlexyFormsTextareaAutosizeDirective { constructor(element) { this.element = element; } onInput(textArea) { this.adjust(); } ngAfterContentChecked() { this.adjust(); } adjust() { this.element.nativeElement.style.overflow = 'hidden'; this.element.nativeElement.style.height = 'auto'; this.element.nativeElement.style.height = this.element.nativeElement.scrollHeight + 'px'; } } FlexyFormsTextareaAutosizeDirective.ɵfac = function FlexyFormsTextareaAutosizeDirective_Factory(t) { return new (t || FlexyFormsTextareaAutosizeDirective)(i0.ɵɵdirectiveInject(i0.ElementRef)); }; FlexyFormsTextareaAutosizeDirective.ɵdir = i0.ɵɵdefineDirective({ type: FlexyFormsTextareaAutosizeDirective, selectors: [["textarea", "flexyAutosize", ""]], hostBindings: function FlexyFormsTextareaAutosizeDirective_HostBindings(rf, ctx) { if (rf & 1) { i0.ɵɵlistener("input", function FlexyFormsTextareaAutosizeDirective_input_HostBindingHandler($event) { return ctx.onInput($event.target); }); } } }); /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(FlexyFormsTextareaAutosizeDirective, [{ type: Directive, args: [{ selector: 'textarea[flexyAutosize]' }] }], function () { return [{ type: i0.ElementRef }]; }, { onInput: [{ type: HostListener, args: ['input', ['$event.target']] }] }); })(); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEtYXV0b3NpemUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybS1ib290c3RyYXAvc3JjL2xpYi9kaXJlY3RpdmVzL3RleHRhcmVhLWF1dG9zaXplLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnREFBZ0Q7QUFFaEQsT0FBTyxFQUFjLFlBQVksRUFBRSxTQUFTLEVBQXVCLE1BQU0sZUFBZSxDQUFDOztBQUt6RixNQUFNLE9BQU8sbUNBQW1DO0lBSzlDLFlBQW1CLE9BQW1CO1FBQW5CLFlBQU8sR0FBUCxPQUFPLENBQVk7SUFBRyxDQUFDO0lBSkEsT0FBTyxDQUFDLFFBQTZCO1FBQzdFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBSUQscUJBQXFCO1FBQ25CLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3JELElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ2pELElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztJQUMzRixDQUFDOztzSEFmVSxtQ0FBbUM7d0VBQW5DLG1DQUFtQztzSEFBbkMsMEJBQXNCOztrREFBdEIsbUNBQW1DO2NBSC9DLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUseUJBQXlCO2FBQ3BDOzZEQUUyQyxPQUFPO2tCQUFoRCxZQUFZO21CQUFDLE9BQU8sRUFBRSxDQUFDLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGZvcmsgaHR0cHM6Ly9naXRodWIuY29tL3N0ZXZlcGFwYS9uZy1hdXRvc2l6ZVxuXG5pbXBvcnQgeyBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIERpcmVjdGl2ZSwgQWZ0ZXJDb250ZW50Q2hlY2tlZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICd0ZXh0YXJlYVtmbGV4eUF1dG9zaXplXSdcbn0pXG5leHBvcnQgY2xhc3MgRmxleHlGb3Jtc1RleHRhcmVhQXV0b3NpemVEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRDaGVja2VkIHtcbiAgQEhvc3RMaXN0ZW5lcignaW5wdXQnLCBbJyRldmVudC50YXJnZXQnXSkgb25JbnB1dCh0ZXh0QXJlYTogSFRNTFRleHRBcmVhRWxlbWVudCk6IHZvaWQge1xuICAgIHRoaXMuYWRqdXN0KCk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZWxlbWVudDogRWxlbWVudFJlZikge31cblxuICBuZ0FmdGVyQ29udGVudENoZWNrZWQoKTogdm9pZCB7XG4gICAgdGhpcy5hZGp1c3QoKTtcbiAgfVxuXG4gIGFkanVzdCgpOiB2b2lkIHtcbiAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5zdHlsZS5vdmVyZmxvdyA9ICdoaWRkZW4nO1xuICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnN0eWxlLmhlaWdodCA9ICdhdXRvJztcbiAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5zdHlsZS5oZWlnaHQgPSB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5zY3JvbGxIZWlnaHQgKyAncHgnO1xuICB9XG59XG4iXX0=