UNPKG

@formql/core

Version:

FormQL - A framework for building dynamic forms

72 lines 9.63 kB
import { __decorate, __metadata } from "tslib"; import { Component, Input, forwardRef } from '@angular/core'; import { NG_VALUE_ACCESSOR, NG_VALIDATORS, Validators, FormControl } from '@angular/forms'; var FormQLSelectComponent = /** @class */ (function () { function FormQLSelectComponent() { this._propagateChange = function (_) { }; } FormQLSelectComponent_1 = FormQLSelectComponent; FormQLSelectComponent.prototype.ngOnInit = function () { if (this.field.configuration) this.list = JSON.parse(this.field.configuration).list; }; Object.defineProperty(FormQLSelectComponent.prototype, "value", { get: function () { return this._value; }, set: function (value) { this._value = value; this._propagateChange(this._value); }, enumerable: true, configurable: true }); FormQLSelectComponent.prototype.writeValue = function (value) { if (value) this._value = value; }; FormQLSelectComponent.prototype.registerOnChange = function (fn) { this._propagateChange = fn; }; FormQLSelectComponent.prototype.registerOnTouched = function (fn) { }; var FormQLSelectComponent_1; 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\">\n <label [attr.for]=\"field.componentId\"\n [ngClass]=\"{'fql-bundle-label-required': field.rules?.required?.value}\">{{field.label}}</label>\n <div>\n <select [formControl]=\"formControl\" [id]=\"field.componentId\"\n class=\"fql-bundle-field-input\" [tabIndex]=\"field.tabIndex\"\n [attr.multiple]=\"field.type === 'multiple'\">\n <ng-container *ngIf=\"list\">\n <option *ngFor=\"let item of list\" [value]=\"item.value\">{{item.name}}</option>\n </ng-container>\n </select>\n </div>\n </div>", providers: [ { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(function () { return FormQLSelectComponent_1; }), multi: true }, { provide: NG_VALIDATORS, useExisting: forwardRef(function () { return 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); return FormQLSelectComponent; }()); export { FormQLSelectComponent }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybXFsLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZm9ybXFsL2NvcmUvIiwic291cmNlcyI6WyJidW5kbGUvZm9ybXFsLXNlbGVjdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLGFBQWEsRUFBYSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFrQzVIO0lBQUE7UUFrQlkscUJBQWdCLEdBQUcsVUFBQyxDQUFNLElBQU8sQ0FBQyxDQUFDO0lBMkIvQyxDQUFDOzhCQTdDWSxxQkFBcUI7SUFvQjlCLHdDQUFRLEdBQVI7UUFDSSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYTtZQUN4QixJQUFJLENBQUMsSUFBSSxHQUFnQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFFLENBQUMsSUFBSSxDQUFDO0lBQzVFLENBQUM7SUFFRCxzQkFBSSx3Q0FBSzthQUFUO1lBRUksT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ3ZCLENBQUM7YUFFRCxVQUFVLEtBQVU7WUFDaEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7WUFDcEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN2QyxDQUFDOzs7T0FMQTtJQU9ELDBDQUFVLEdBQVYsVUFBVyxLQUFhO1FBQ3BCLElBQUksS0FBSztZQUNMLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFFRCxnREFBZ0IsR0FBaEIsVUFBaUIsRUFBTztRQUNwQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCxpREFBaUIsR0FBakIsVUFBa0IsRUFBTyxJQUFVLENBQUM7O0lBMUM3QixtQ0FBYSxHQUFHLHVCQUF1QixDQUFDO0lBQ3hDLHFDQUFlLEdBQUcsSUFBSSxDQUFDO0lBQ3ZCLGdDQUFVLEdBQUc7UUFDRDtZQUNYLElBQUksRUFBRSxVQUFVO1lBQ2hCLFNBQVMsRUFBRSxVQUFVLENBQUMsUUFBUTtZQUM5QixHQUFHLEVBQUUsVUFBVTtTQUNsQjtLQUNKLENBQUM7SUFFTztRQUFSLEtBQUssRUFBRTs7d0RBQTJCO0lBQzFCO1FBQVIsS0FBSyxFQUFFO2tDQUFjLFdBQVc7OERBQUM7SUFiekIscUJBQXFCO1FBNUJqQyxTQUFTLENBQUM7WUFDUCxRQUFRLEVBQUUsZUFBZTtZQUV6QixRQUFRLEVBQUUsaXFCQVlDO1lBQ1gsU0FBUyxFQUFFO2dCQUNQO29CQUNJLE9BQU8sRUFBRSxpQkFBaUI7b0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsY0FBTSxPQUFBLHVCQUFxQixFQUFyQixDQUFxQixDQUFDO29CQUNwRCxLQUFLLEVBQUUsSUFBSTtpQkFDZDtnQkFDRDtvQkFDSSxPQUFPLEVBQUUsYUFBYTtvQkFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxjQUFNLE9BQUEsdUJBQXFCLEVBQXJCLENBQXFCLENBQUM7b0JBQ3BELEtBQUssRUFBRSxJQUFJO2lCQUNkO2FBQUM7O1NBQ1QsQ0FBQztPQUNXLHFCQUFxQixDQTZDakM7SUFBRCw0QkFBQztDQUFBLEFBN0NELElBNkNDO1NBN0NZLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIGZvcndhcmRSZWYsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IsIE5HX1ZBTElEQVRPUlMsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycywgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEZvcm1Db21wb25lbnQgfSBmcm9tICcuLi9tb2RlbHMvZm9ybS1jb21wb25lbnQubW9kZWwnO1xyXG5pbXBvcnQgeyBPcHRpb25WYWx1ZSwgU2VsZWN0TGlzdCB9IGZyb20gJy4uL21vZGVscy90eXBlLm1vZGVsJztcclxuaW1wb3J0IHsgRm9ybVZhbGlkYXRvciB9IGZyb20gJy4uL21vZGVscy9ydWxlLm1vZGVsJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnZm9ybXFsLXNlbGVjdCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9mb3JtcWwtc2VsZWN0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICB0ZW1wbGF0ZTogYDxkaXYgKm5nSWY9XCJmb3JtQ29udHJvbCE9bnVsbFwiPlxyXG4gICAgICAgIDxsYWJlbCBbYXR0ci5mb3JdPVwiZmllbGQuY29tcG9uZW50SWRcIlxyXG4gICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2ZxbC1idW5kbGUtbGFiZWwtcmVxdWlyZWQnOiBmaWVsZC5ydWxlcz8ucmVxdWlyZWQ/LnZhbHVlfVwiPnt7ZmllbGQubGFiZWx9fTwvbGFiZWw+XHJcbiAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgPHNlbGVjdCBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIiBbaWRdPVwiZmllbGQuY29tcG9uZW50SWRcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmcWwtYnVuZGxlLWZpZWxkLWlucHV0XCIgW3RhYkluZGV4XT1cImZpZWxkLnRhYkluZGV4XCJcclxuICAgICAgICAgICAgICAgIFthdHRyLm11bHRpcGxlXT1cImZpZWxkLnR5cGUgPT09ICdtdWx0aXBsZSdcIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsaXN0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBsaXN0XCIgW3ZhbHVlXT1cIml0ZW0udmFsdWVcIj57e2l0ZW0ubmFtZX19PC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+YCxcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEZvcm1RTFNlbGVjdENvbXBvbmVudCksXHJcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXHJcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEZvcm1RTFNlbGVjdENvbXBvbmVudCksXHJcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXHJcbiAgICAgICAgfV1cclxufSlcclxuZXhwb3J0IGNsYXNzIEZvcm1RTFNlbGVjdENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkluaXQge1xyXG5cclxuICAgIHN0YXRpYyBjb21wb25lbnROYW1lID0gJ0Zvcm1RTFNlbGVjdENvbXBvbmVudCc7XHJcbiAgICBzdGF0aWMgZm9ybVFMQ29tcG9uZW50ID0gdHJ1ZTtcclxuICAgIHN0YXRpYyB2YWxpZGF0b3JzID0gW1xyXG4gICAgICAgIDxGb3JtVmFsaWRhdG9yPntcclxuICAgICAgICAgICAgbmFtZTogJ1JlcXVpcmVkJyxcclxuICAgICAgICAgICAgdmFsaWRhdG9yOiBWYWxpZGF0b3JzLnJlcXVpcmVkLFxyXG4gICAgICAgICAgICBrZXk6ICdyZXF1aXJlZCdcclxuICAgICAgICB9XHJcbiAgICBdO1xyXG5cclxuICAgIEBJbnB1dCgpIGZpZWxkOiBGb3JtQ29tcG9uZW50PGFueT47XHJcbiAgICBASW5wdXQoKSBmb3JtQ29udHJvbDogRm9ybUNvbnRyb2w7XHJcblxyXG4gICAgcHJpdmF0ZSBfdmFsdWU6IHN0cmluZztcclxuICAgIGxpc3Q6IEFycmF5PE9wdGlvblZhbHVlPjtcclxuXHJcbiAgICBwcml2YXRlIF9wcm9wYWdhdGVDaGFuZ2UgPSAoXzogYW55KSA9PiB7IH07XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuZmllbGQuY29uZmlndXJhdGlvbilcclxuICAgICAgICAgICAgdGhpcy5saXN0ID0gKDxTZWxlY3RMaXN0PkpTT04ucGFyc2UodGhpcy5maWVsZC5jb25maWd1cmF0aW9uKSkubGlzdDtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgdmFsdWUoKTogYW55IHtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIHNldCB2YWx1ZSh2YWx1ZTogYW55KSB7XHJcbiAgICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLl9wcm9wYWdhdGVDaGFuZ2UodGhpcy5fdmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHdyaXRlVmFsdWUodmFsdWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIGlmICh2YWx1ZSlcclxuICAgICAgICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9wcm9wYWdhdGVDaGFuZ2UgPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7IH1cclxufVxyXG4iXX0=