@ng-flexy/form-bootstrap
Version:
Flexy components and tools to build Angular 8+ applications
83 lines • 7.73 kB
JavaScript
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