UNPKG

@ng-flexy/form-bootstrap

Version:

Flexy components and tools to build Angular 8+ applications

83 lines 7.73 kB
import { Component, Input, ViewChild } from '@angular/core'; import * as i0 from "@angular/core"; import * as i1 from "./field.component"; import * as i2 from "@angular/common"; import * as i3 from "../directives/textarea-autosize.directive"; import * as i4 from "@angular/forms"; import * as i5 from "../controls/readonly.component"; const _c0 = ["inputRef"]; function FlexyFormTextareaComponent_textarea_1_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelement(0, "textarea", 3, 4); } if (rf & 2) { const ctx_r0 = i0.ɵɵnextContext(); i0.ɵɵproperty("formControl", ctx_r0.layoutSchema.formControl); i0.ɵɵattribute("placeholder", ctx_r0.default); } } function FlexyFormTextareaComponent_flexy_control_readonly_2_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelement(0, "flexy-control-readonly", 5); } if (rf & 2) { const ctx_r1 = i0.ɵɵnextContext(); i0.ɵɵproperty("value", ctx_r1.layoutSchema.formControl.value)("default", ctx_r1.default); } } const _c1 = function (a0) { return { readonly: a0 }; }; export class FlexyFormTextareaComponent { constructor() { } ngAfterViewInit() { if (this.inputRef && this.inputRef.nativeElement) { this.inputRef.nativeElement.addEventListener('change', e => { this.layoutSchema.formControl.setValue(this.layoutSchema.formControl.value.trim()); }, false); } } } FlexyFormTextareaComponent.ɵfac = function FlexyFormTextareaComponent_Factory(t) { return new (t || FlexyFormTextareaComponent)(); }; FlexyFormTextareaComponent.ɵcmp = i0.ɵɵdefineComponent({ type: FlexyFormTextareaComponent, selectors: [["flexy-form-textarea"]], viewQuery: function FlexyFormTextareaComponent_Query(rf, ctx) { if (rf & 1) { i0.ɵɵviewQuery(_c0, true); } if (rf & 2) { var _t; i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.inputRef = _t.first); } }, inputs: { layoutSchema: "layoutSchema", default: "default", label: "label", description: "description", readonly: "readonly" }, decls: 3, vars: 8, consts: [[3, "control", "label", "description", "ngClass"], ["flexyAutosize", "", "class", "form-control", 3, "formControl", 4, "ngIf"], [3, "value", "default", 4, "ngIf"], ["flexyAutosize", "", 1, "form-control", 3, "formControl"], ["inputRef", ""], [3, "value", "default"]], template: function FlexyFormTextareaComponent_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelementStart(0, "flexy-form-field", 0); i0.ɵɵtemplate(1, FlexyFormTextareaComponent_textarea_1_Template, 2, 2, "textarea", 1); i0.ɵɵtemplate(2, FlexyFormTextareaComponent_flexy_control_readonly_2_Template, 1, 2, "flexy-control-readonly", 2); i0.ɵɵelementEnd(); } if (rf & 2) { i0.ɵɵproperty("control", ctx.layoutSchema.formControl)("label", ctx.label)("description", ctx.description)("ngClass", i0.ɵɵpureFunction1(6, _c1, ctx.readonly)); i0.ɵɵadvance(1); i0.ɵɵproperty("ngIf", !ctx.readonly); i0.ɵɵadvance(1); i0.ɵɵproperty("ngIf", ctx.readonly); } }, directives: [i1.FlexyFieldComponent, i2.NgClass, i2.NgIf, i3.FlexyFormsTextareaAutosizeDirective, i4.DefaultValueAccessor, i4.NgControlStatus, i4.FormControlDirective, i5.FlexyControlReadonlyComponent], encapsulation: 2 }); /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(FlexyFormTextareaComponent, [{ type: Component, args: [{ selector: 'flexy-form-textarea', template: ` <flexy-form-field [control]="layoutSchema.formControl" [label]="label" [description]="description" [ngClass]="{ readonly: readonly }"> <textarea #inputRef *ngIf="!readonly" flexyAutosize class="form-control" [formControl]="layoutSchema.formControl" [attr.placeholder]="default" ></textarea> <flexy-control-readonly *ngIf="readonly" [value]="layoutSchema.formControl.value" [default]="default"></flexy-control-readonly> </flexy-form-field> ` }] }], function () { return []; }, { layoutSchema: [{ type: Input }], default: [{ type: Input }], label: [{ type: Input }], description: [{ type: Input }], readonly: [{ type: Input }], inputRef: [{ type: ViewChild, args: ['inputRef'] }] }); })(); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybS1ib290c3RyYXAvc3JjL2xpYi9jb21wb25lbnRzL3RleHRhcmVhLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7SUFPckUsaUNBT1k7OztJQUZWLDZEQUF3QztJQUN4Qyw2Q0FBNEI7OztJQUU5Qiw0Q0FBK0g7OztJQUF0Riw2REFBd0MsMkJBQUE7OztBQUl2RixNQUFNLE9BQU8sMEJBQTBCO0lBVXJDLGdCQUFlLENBQUM7SUFFaEIsZUFBZTtRQUNiLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRTtZQUNoRCxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FDMUMsUUFBUSxFQUNSLENBQUMsQ0FBQyxFQUFFO2dCQUNGLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUNyRixDQUFDLEVBQ0QsS0FBSyxDQUNOLENBQUM7U0FDSDtJQUNILENBQUM7O29HQXRCVSwwQkFBMEI7K0RBQTFCLDBCQUEwQjs7Ozs7O1FBYm5DLDJDQUNFO1FBQUEscUZBT0M7UUFDRCxpSEFBc0c7UUFDeEcsaUJBQW1COztRQVZELHNEQUFvQyxvQkFBQSxnQ0FBQSxxREFBQTtRQUdsRCxlQUFpQjtRQUFqQixvQ0FBaUI7UUFNSyxlQUFnQjtRQUFoQixtQ0FBZ0I7O2tEQUlqQywwQkFBMEI7Y0FoQnRDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUscUJBQXFCO2dCQUMvQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7OztHQVlUO2FBQ0Y7c0NBRVUsWUFBWTtrQkFBcEIsS0FBSztZQUVHLE9BQU87a0JBQWYsS0FBSztZQUNHLEtBQUs7a0JBQWIsS0FBSztZQUNHLFdBQVc7a0JBQW5CLEtBQUs7WUFDRyxRQUFRO2tCQUFoQixLQUFLO1lBRWlCLFFBQVE7a0JBQTlCLFNBQVM7bUJBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgSW5wdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmxleHlGb3JtRmllbGRMYXlvdXRTY2hlbWEgfSBmcm9tICdAbmctZmxleHkvZm9ybSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZsZXh5LWZvcm0tdGV4dGFyZWEnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxmbGV4eS1mb3JtLWZpZWxkIFtjb250cm9sXT1cImxheW91dFNjaGVtYS5mb3JtQ29udHJvbFwiIFtsYWJlbF09XCJsYWJlbFwiIFtkZXNjcmlwdGlvbl09XCJkZXNjcmlwdGlvblwiIFtuZ0NsYXNzXT1cInsgcmVhZG9ubHk6IHJlYWRvbmx5IH1cIj5cbiAgICAgIDx0ZXh0YXJlYVxuICAgICAgICAjaW5wdXRSZWZcbiAgICAgICAgKm5nSWY9XCIhcmVhZG9ubHlcIlxuICAgICAgICBmbGV4eUF1dG9zaXplXG4gICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImxheW91dFNjaGVtYS5mb3JtQ29udHJvbFwiXG4gICAgICAgIFthdHRyLnBsYWNlaG9sZGVyXT1cImRlZmF1bHRcIlxuICAgICAgPjwvdGV4dGFyZWE+XG4gICAgICA8ZmxleHktY29udHJvbC1yZWFkb25seSAqbmdJZj1cInJlYWRvbmx5XCIgW3ZhbHVlXT1cImxheW91dFNjaGVtYS5mb3JtQ29udHJvbC52YWx1ZVwiIFtkZWZhdWx0XT1cImRlZmF1bHRcIj48L2ZsZXh5LWNvbnRyb2wtcmVhZG9ubHk+XG4gICAgPC9mbGV4eS1mb3JtLWZpZWxkPlxuICBgXG59KVxuZXhwb3J0IGNsYXNzIEZsZXh5Rm9ybVRleHRhcmVhQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBJbnB1dCgpIGxheW91dFNjaGVtYTogRmxleHlGb3JtRmllbGRMYXlvdXRTY2hlbWE7XG5cbiAgQElucHV0KCkgZGVmYXVsdDogc3RyaW5nO1xuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xuICBASW5wdXQoKSBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICBASW5wdXQoKSByZWFkb25seTogYm9vbGVhbjtcblxuICBAVmlld0NoaWxkKCdpbnB1dFJlZicpIGlucHV0UmVmO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgaWYgKHRoaXMuaW5wdXRSZWYgJiYgdGhpcy5pbnB1dFJlZi5uYXRpdmVFbGVtZW50KSB7XG4gICAgICB0aGlzLmlucHV0UmVmLm5hdGl2ZUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICAgJ2NoYW5nZScsXG4gICAgICAgIGUgPT4ge1xuICAgICAgICAgIHRoaXMubGF5b3V0U2NoZW1hLmZvcm1Db250cm9sLnNldFZhbHVlKHRoaXMubGF5b3V0U2NoZW1hLmZvcm1Db250cm9sLnZhbHVlLnRyaW0oKSk7XG4gICAgICAgIH0sXG4gICAgICAgIGZhbHNlXG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuIl19