UNPKG

@formql/core

Version:

FormQL - A framework for building dynamic forms

78 lines 8.94 kB
var FormQLSelectComponent_1; import { __decorate, __metadata } from "tslib"; import { Component, Input, forwardRef } from '@angular/core'; import { NG_VALUE_ACCESSOR, NG_VALIDATORS, Validators, FormControl } from '@angular/forms'; let FormQLSelectComponent = FormQLSelectComponent_1 = class FormQLSelectComponent { constructor() { this._propagateChange = (_) => { }; } ngOnInit() { if (this.field.configuration) this.list = JSON.parse(this.field.configuration).list; } get value() { return this._value; } set value(value) { this._value = value; this._propagateChange(this._value); } writeValue(value) { if (value) this._value = value; } registerOnChange(fn) { this._propagateChange = fn; } registerOnTouched(fn) { } }; FormQLSelectComponent.componentName = 'FormQLSelectComponent'; FormQLSelectComponent.formQLComponent = true; FormQLSelectComponent.validators = [ { name: 'Required', validator: Validators.required, key: 'required' } ]; __decorate([ Input(), __metadata("design:type", Object) ], FormQLSelectComponent.prototype, "field", void 0); __decorate([ Input(), __metadata("design:type", FormControl) ], FormQLSelectComponent.prototype, "formControl", void 0); FormQLSelectComponent = FormQLSelectComponent_1 = __decorate([ Component({ selector: 'formql-select', template: `<div *ngIf="formControl!=null"> <label [attr.for]="field.componentId" [ngClass]="{'fql-bundle-label-required': field.rules?.required?.value}">{{field.label}}</label> <div> <select [formControl]="formControl" [id]="field.componentId" class="fql-bundle-field-input" [tabIndex]="field.tabIndex" [attr.multiple]="field.type === 'multiple'"> <ng-container *ngIf="list"> <option *ngFor="let item of list" [value]="item.value">{{item.name}}</option> </ng-container> </select> </div> </div>`, providers: [ { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => FormQLSelectComponent_1), multi: true }, { provide: NG_VALIDATORS, useExisting: forwardRef(() => FormQLSelectComponent_1), multi: true } ], styles: [".fql-bundle-field-input{width:100%;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box}.fql-bundle-checkbox-input{cursor:pointer;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box}.fql-bundle-label-required:after{content:\" *\";color:red}.fql-bundle-field-radio{cursor:pointer}.fql-error-message{text-align:center;padding:20px}.fql-dnd-container-separator{box-shadow:0 -2px 0 #00f}.fql-dnd-container-drop-area{outline:dashed 3px}"] }) ], FormQLSelectComponent); export { FormQLSelectComponent }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybXFsLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZm9ybXFsL2NvcmUvIiwic291cmNlcyI6WyJidW5kbGUvZm9ybXFsLXNlbGVjdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxhQUFhLEVBQWEsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBa0M1SCxJQUFhLHFCQUFxQiw2QkFBbEMsTUFBYSxxQkFBcUI7SUFBbEM7UUFrQlkscUJBQWdCLEdBQUcsQ0FBQyxDQUFNLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztJQTJCL0MsQ0FBQztJQXpCRyxRQUFRO1FBQ0osSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWE7WUFDeEIsSUFBSSxDQUFDLElBQUksR0FBZ0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBRSxDQUFDLElBQUksQ0FBQztJQUM1RSxDQUFDO0lBRUQsSUFBSSxLQUFLO1FBRUwsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLEtBQUssQ0FBQyxLQUFVO1FBQ2hCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFhO1FBQ3BCLElBQUksS0FBSztZQUNMLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3BCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQU8sSUFBVSxDQUFDO0NBQ3ZDLENBQUE7QUEzQ1UsbUNBQWEsR0FBRyx1QkFBdUIsQ0FBQztBQUN4QyxxQ0FBZSxHQUFHLElBQUksQ0FBQztBQUN2QixnQ0FBVSxHQUFHO0lBQ0Q7UUFDWCxJQUFJLEVBQUUsVUFBVTtRQUNoQixTQUFTLEVBQUUsVUFBVSxDQUFDLFFBQVE7UUFDOUIsR0FBRyxFQUFFLFVBQVU7S0FDbEI7Q0FDSixDQUFDO0FBRU87SUFBUixLQUFLLEVBQUU7O29EQUEyQjtBQUMxQjtJQUFSLEtBQUssRUFBRTs4QkFBYyxXQUFXOzBEQUFDO0FBYnpCLHFCQUFxQjtJQTVCakMsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLGVBQWU7UUFFekIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7ZUFZQztRQUNYLFNBQVMsRUFBRTtZQUNQO2dCQUNJLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsdUJBQXFCLENBQUM7Z0JBQ3BELEtBQUssRUFBRSxJQUFJO2FBQ2Q7WUFDRDtnQkFDSSxPQUFPLEVBQUUsYUFBYTtnQkFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx1QkFBcUIsQ0FBQztnQkFDcEQsS0FBSyxFQUFFLElBQUk7YUFDZDtTQUFDOztLQUNULENBQUM7R0FDVyxxQkFBcUIsQ0E2Q2pDO1NBN0NZLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIGZvcndhcmRSZWYsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IsIE5HX1ZBTElEQVRPUlMsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycywgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEZvcm1Db21wb25lbnQgfSBmcm9tICcuLi9tb2RlbHMvZm9ybS1jb21wb25lbnQubW9kZWwnO1xyXG5pbXBvcnQgeyBPcHRpb25WYWx1ZSwgU2VsZWN0TGlzdCB9IGZyb20gJy4uL21vZGVscy90eXBlLm1vZGVsJztcclxuaW1wb3J0IHsgRm9ybVZhbGlkYXRvciB9IGZyb20gJy4uL21vZGVscy9ydWxlLm1vZGVsJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnZm9ybXFsLXNlbGVjdCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9mb3JtcWwtc2VsZWN0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICB0ZW1wbGF0ZTogYDxkaXYgKm5nSWY9XCJmb3JtQ29udHJvbCE9bnVsbFwiPlxyXG4gICAgICAgIDxsYWJlbCBbYXR0ci5mb3JdPVwiZmllbGQuY29tcG9uZW50SWRcIlxyXG4gICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2ZxbC1idW5kbGUtbGFiZWwtcmVxdWlyZWQnOiBmaWVsZC5ydWxlcz8ucmVxdWlyZWQ/LnZhbHVlfVwiPnt7ZmllbGQubGFiZWx9fTwvbGFiZWw+XHJcbiAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgPHNlbGVjdCBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIiBbaWRdPVwiZmllbGQuY29tcG9uZW50SWRcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmcWwtYnVuZGxlLWZpZWxkLWlucHV0XCIgW3RhYkluZGV4XT1cImZpZWxkLnRhYkluZGV4XCJcclxuICAgICAgICAgICAgICAgIFthdHRyLm11bHRpcGxlXT1cImZpZWxkLnR5cGUgPT09ICdtdWx0aXBsZSdcIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsaXN0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBsaXN0XCIgW3ZhbHVlXT1cIml0ZW0udmFsdWVcIj57e2l0ZW0ubmFtZX19PC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+YCxcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEZvcm1RTFNlbGVjdENvbXBvbmVudCksXHJcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXHJcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEZvcm1RTFNlbGVjdENvbXBvbmVudCksXHJcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXHJcbiAgICAgICAgfV1cclxufSlcclxuZXhwb3J0IGNsYXNzIEZvcm1RTFNlbGVjdENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkluaXQge1xyXG5cclxuICAgIHN0YXRpYyBjb21wb25lbnROYW1lID0gJ0Zvcm1RTFNlbGVjdENvbXBvbmVudCc7XHJcbiAgICBzdGF0aWMgZm9ybVFMQ29tcG9uZW50ID0gdHJ1ZTtcclxuICAgIHN0YXRpYyB2YWxpZGF0b3JzID0gW1xyXG4gICAgICAgIDxGb3JtVmFsaWRhdG9yPntcclxuICAgICAgICAgICAgbmFtZTogJ1JlcXVpcmVkJyxcclxuICAgICAgICAgICAgdmFsaWRhdG9yOiBWYWxpZGF0b3JzLnJlcXVpcmVkLFxyXG4gICAgICAgICAgICBrZXk6ICdyZXF1aXJlZCdcclxuICAgICAgICB9XHJcbiAgICBdO1xyXG5cclxuICAgIEBJbnB1dCgpIGZpZWxkOiBGb3JtQ29tcG9uZW50PGFueT47XHJcbiAgICBASW5wdXQoKSBmb3JtQ29udHJvbDogRm9ybUNvbnRyb2w7XHJcblxyXG4gICAgcHJpdmF0ZSBfdmFsdWU6IHN0cmluZztcclxuICAgIGxpc3Q6IEFycmF5PE9wdGlvblZhbHVlPjtcclxuXHJcbiAgICBwcml2YXRlIF9wcm9wYWdhdGVDaGFuZ2UgPSAoXzogYW55KSA9PiB7IH07XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuZmllbGQuY29uZmlndXJhdGlvbilcclxuICAgICAgICAgICAgdGhpcy5saXN0ID0gKDxTZWxlY3RMaXN0PkpTT04ucGFyc2UodGhpcy5maWVsZC5jb25maWd1cmF0aW9uKSkubGlzdDtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgdmFsdWUoKTogYW55IHtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIHNldCB2YWx1ZSh2YWx1ZTogYW55KSB7XHJcbiAgICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLl9wcm9wYWdhdGVDaGFuZ2UodGhpcy5fdmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHdyaXRlVmFsdWUodmFsdWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIGlmICh2YWx1ZSlcclxuICAgICAgICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9wcm9wYWdhdGVDaGFuZ2UgPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7IH1cclxufVxyXG4iXX0=