UNPKG

@c8y/ngx-components

Version:

Angular modules for Cumulocity IoT applications

39 lines 4.5 kB
import { Directive, ElementRef, Input, HostBinding, Renderer2 } from '@angular/core'; import * as i0 from "@angular/core"; export class TextAreaRowHeightDirective { constructor(elem, renderer) { this.elem = elem; this.renderer = renderer; this.rows = 1; this.minHeightPerRow = 20; } ngAfterViewInit() { const convertedValue = Number(this.heightPerRow); if (this.heightPerRow && convertedValue && convertedValue > this.minHeightPerRow) { this.setHeight(`${this.rows * convertedValue}px`); } else { this.setHeight(`${this.rows * this.minHeightPerRow}px`); } } setHeight(value) { this.renderer.setStyle(this.elem.nativeElement, 'height', value); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TextAreaRowHeightDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); } static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: TextAreaRowHeightDirective, selector: "textarea[heightPerRow]", inputs: { rows: "rows", heightPerRow: "heightPerRow" }, host: { properties: { "rows": "this.rows" } }, ngImport: i0 }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TextAreaRowHeightDirective, decorators: [{ type: Directive, args: [{ selector: 'textarea[heightPerRow]' }] }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { rows: [{ type: Input }, { type: HostBinding, args: ['rows'] }], heightPerRow: [{ type: Input, args: ['heightPerRow'] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1hcmVhLXJvdy1oZWlnaHQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS9mb3Jtcy90ZXh0LWFyZWEtcm93LWhlaWdodC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBS3JGLE1BQU0sT0FBTywwQkFBMEI7SUFVckMsWUFBb0IsSUFBZ0IsRUFBVSxRQUFtQjtRQUE3QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQVBqRSxTQUFJLEdBQUcsQ0FBQyxDQUFDO1FBS0Qsb0JBQWUsR0FBRyxFQUFFLENBQUM7SUFFdUMsQ0FBQztJQUVyRSxlQUFlO1FBQ2IsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNqRCxJQUFJLElBQUksQ0FBQyxZQUFZLElBQUksY0FBYyxJQUFJLGNBQWMsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDakYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLEdBQUcsY0FBYyxJQUFJLENBQUMsQ0FBQztRQUNwRCxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxlQUFlLElBQUksQ0FBQyxDQUFDO1FBQzFELENBQUM7SUFDSCxDQUFDO0lBRU8sU0FBUyxDQUFDLEtBQWE7UUFDN0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ25FLENBQUM7K0dBdkJVLDBCQUEwQjttR0FBMUIsMEJBQTBCOzs0RkFBMUIsMEJBQTBCO2tCQUh0QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx3QkFBd0I7aUJBQ25DO3VHQUlDLElBQUk7c0JBRkgsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxNQUFNO2dCQUluQixZQUFZO3NCQURYLEtBQUs7dUJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIEhvc3RCaW5kaW5nLCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAndGV4dGFyZWFbaGVpZ2h0UGVyUm93XSdcbn0pXG5leHBvcnQgY2xhc3MgVGV4dEFyZWFSb3dIZWlnaHREaXJlY3RpdmUge1xuICBASW5wdXQoKVxuICBASG9zdEJpbmRpbmcoJ3Jvd3MnKVxuICByb3dzID0gMTtcblxuICBASW5wdXQoJ2hlaWdodFBlclJvdycpXG4gIGhlaWdodFBlclJvdzogc3RyaW5nO1xuXG4gIHByaXZhdGUgbWluSGVpZ2h0UGVyUm93ID0gMjA7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtOiBFbGVtZW50UmVmLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHt9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGNvbnN0IGNvbnZlcnRlZFZhbHVlID0gTnVtYmVyKHRoaXMuaGVpZ2h0UGVyUm93KTtcbiAgICBpZiAodGhpcy5oZWlnaHRQZXJSb3cgJiYgY29udmVydGVkVmFsdWUgJiYgY29udmVydGVkVmFsdWUgPiB0aGlzLm1pbkhlaWdodFBlclJvdykge1xuICAgICAgdGhpcy5zZXRIZWlnaHQoYCR7dGhpcy5yb3dzICogY29udmVydGVkVmFsdWV9cHhgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZXRIZWlnaHQoYCR7dGhpcy5yb3dzICogdGhpcy5taW5IZWlnaHRQZXJSb3d9cHhgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldEhlaWdodCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsZW0ubmF0aXZlRWxlbWVudCwgJ2hlaWdodCcsIHZhbHVlKTtcbiAgfVxufVxuIl19