UNPKG

@formql/core

Version:

FormQL - A framework for building dynamic forms

81 lines 8.53 kB
var FormQLButtonComponent_1; import { __decorate, __metadata } from "tslib"; import { Component, Input, forwardRef } from '@angular/core'; import { NG_VALUE_ACCESSOR, NG_VALIDATORS, FormControl } from '@angular/forms'; import { ActionHandlerService } from '../services/action-handler.service'; import { FormActionType } from '../models/action.model'; let FormQLButtonComponent = FormQLButtonComponent_1 = class FormQLButtonComponent { constructor(actionHandlerService) { this.actionHandlerService = actionHandlerService; this._propagateChange = (_) => { }; } 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) { } onClick() { if (this.field.action) this.actionHandlerService.send(this.field.action); } }; FormQLButtonComponent.componentName = 'FormQLButtonComponent'; FormQLButtonComponent.formQLComponent = true; FormQLButtonComponent.validators = []; FormQLButtonComponent.actions = [ { key: FormActionType.Save }, { key: FormActionType.Validate }, { key: FormActionType.ValidateAndSave }, { key: FormActionType.Custom } ]; __decorate([ Input(), __metadata("design:type", Object) ], FormQLButtonComponent.prototype, "field", void 0); __decorate([ Input(), __metadata("design:type", FormControl) ], FormQLButtonComponent.prototype, "formControl", void 0); FormQLButtonComponent = FormQLButtonComponent_1 = __decorate([ Component({ selector: 'formql-button', template: `<button style="cursor: pointer" (click)="onClick()" [type]="field.type" [disabled]="formControl.disabled || (field.type === 'submit' && this.formControl.parent.parent.parent.invalid) ? true : null">{{field.label}}</button>`, providers: [ { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => FormQLButtonComponent_1), multi: true }, { provide: NG_VALIDATORS, useExisting: forwardRef(() => FormQLButtonComponent_1), multi: true } ] }), __metadata("design:paramtypes", [ActionHandlerService]) ], FormQLButtonComponent); export { FormQLButtonComponent }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybXFsLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZm9ybXFsL2NvcmUvIiwic291cmNlcyI6WyJidW5kbGUvZm9ybXFsLWJ1dHRvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDMUUsT0FBTyxFQUFjLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBc0JwRSxJQUFhLHFCQUFxQiw2QkFBbEMsTUFBYSxxQkFBcUI7SUF5QjlCLFlBQ1ksb0JBQTBDO1FBQTFDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFIOUMscUJBQWdCLEdBQUcsQ0FBQyxDQUFNLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztJQU0zQyxDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLEtBQUssQ0FBQyxLQUFVO1FBQ2hCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFhO1FBQ3BCLElBQUksS0FBSztZQUNMLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3BCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQU8sSUFBVSxDQUFDO0lBRXBDLE9BQU87UUFDSCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTTtZQUNqQixJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQztDQUVKLENBQUE7QUF2RFUsbUNBQWEsR0FBRyx1QkFBdUIsQ0FBQztBQUN4QyxxQ0FBZSxHQUFHLElBQUksQ0FBQztBQUN2QixnQ0FBVSxHQUFHLEVBQUUsQ0FBQztBQUNoQiw2QkFBTyxHQUFHO0lBQ0Q7UUFDUixHQUFHLEVBQUUsY0FBYyxDQUFDLElBQUk7S0FDM0I7SUFDVztRQUNSLEdBQUcsRUFBRSxjQUFjLENBQUMsUUFBUTtLQUMvQjtJQUNXO1FBQ1IsR0FBRyxFQUFFLGNBQWMsQ0FBQyxlQUFlO0tBQ3RDO0lBQ1c7UUFDUixHQUFHLEVBQUUsY0FBYyxDQUFDLE1BQU07S0FDN0I7Q0FDSixDQUFDO0FBRU87SUFBUixLQUFLLEVBQUU7O29EQUEyQjtBQUMxQjtJQUFSLEtBQUssRUFBRTs4QkFBYyxXQUFXOzBEQUFDO0FBcEJ6QixxQkFBcUI7SUFwQmpDLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRSxlQUFlO1FBQ3pCLFFBQVEsRUFBRTs7OzsyR0FJNkY7UUFDdkcsU0FBUyxFQUFFO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx1QkFBcUIsQ0FBQztnQkFDcEQsS0FBSyxFQUFFLElBQUk7YUFDZDtZQUNEO2dCQUNJLE9BQU8sRUFBRSxhQUFhO2dCQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHVCQUFxQixDQUFDO2dCQUNwRCxLQUFLLEVBQUUsSUFBSTthQUNkO1NBQUM7S0FDVCxDQUFDO3FDQTRCb0Msb0JBQW9CO0dBMUI3QyxxQkFBcUIsQ0F3RGpDO1NBeERZLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiwgTkdfVkFMSURBVE9SUywgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEZvcm1Db21wb25lbnQgfSBmcm9tICcuLi9tb2RlbHMvZm9ybS1jb21wb25lbnQubW9kZWwnO1xyXG5pbXBvcnQgeyBBY3Rpb25IYW5kbGVyU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2FjdGlvbi1oYW5kbGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGb3JtQWN0aW9uLCBGb3JtQWN0aW9uVHlwZSB9IGZyb20gJy4uL21vZGVscy9hY3Rpb24ubW9kZWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2Zvcm1xbC1idXR0b24nLFxyXG4gICAgdGVtcGxhdGU6IGA8YnV0dG9uIHN0eWxlPVwiY3Vyc29yOiBwb2ludGVyXCIgKGNsaWNrKT1cIm9uQ2xpY2soKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3R5cGVdPVwiZmllbGQudHlwZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImZvcm1Db250cm9sLmRpc2FibGVkIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgKGZpZWxkLnR5cGUgPT09ICdzdWJtaXQnICYmXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtQ29udHJvbC5wYXJlbnQucGFyZW50LnBhcmVudC5pbnZhbGlkKSA/IHRydWUgOiBudWxsXCI+e3tmaWVsZC5sYWJlbH19PC9idXR0b24+YCxcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEZvcm1RTEJ1dHRvbkNvbXBvbmVudCksXHJcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXHJcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEZvcm1RTEJ1dHRvbkNvbXBvbmVudCksXHJcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXHJcbiAgICAgICAgfV1cclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBGb3JtUUxCdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgICBzdGF0aWMgY29tcG9uZW50TmFtZSA9ICdGb3JtUUxCdXR0b25Db21wb25lbnQnO1xyXG4gICAgc3RhdGljIGZvcm1RTENvbXBvbmVudCA9IHRydWU7XHJcbiAgICBzdGF0aWMgdmFsaWRhdG9ycyA9IFtdO1xyXG4gICAgc3RhdGljIGFjdGlvbnMgPSBbXHJcbiAgICAgICAgPEZvcm1BY3Rpb24+e1xyXG4gICAgICAgICAgICBrZXk6IEZvcm1BY3Rpb25UeXBlLlNhdmVcclxuICAgICAgICB9LFxyXG4gICAgICAgIDxGb3JtQWN0aW9uPntcclxuICAgICAgICAgICAga2V5OiBGb3JtQWN0aW9uVHlwZS5WYWxpZGF0ZVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgPEZvcm1BY3Rpb24+e1xyXG4gICAgICAgICAgICBrZXk6IEZvcm1BY3Rpb25UeXBlLlZhbGlkYXRlQW5kU2F2ZVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgPEZvcm1BY3Rpb24+e1xyXG4gICAgICAgICAgICBrZXk6IEZvcm1BY3Rpb25UeXBlLkN1c3RvbVxyXG4gICAgICAgIH1cclxuICAgIF07XHJcblxyXG4gICAgQElucHV0KCkgZmllbGQ6IEZvcm1Db21wb25lbnQ8YW55PjtcclxuICAgIEBJbnB1dCgpIGZvcm1Db250cm9sOiBGb3JtQ29udHJvbDtcclxuXHJcbiAgICBwcml2YXRlIF92YWx1ZTogc3RyaW5nO1xyXG4gICAgcHJpdmF0ZSBfcHJvcGFnYXRlQ2hhbmdlID0gKF86IGFueSkgPT4geyB9O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgYWN0aW9uSGFuZGxlclNlcnZpY2U6IEFjdGlvbkhhbmRsZXJTZXJ2aWNlXHJcbiAgICApIHtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHZhbHVlKCk6IGFueSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIHNldCB2YWx1ZSh2YWx1ZTogYW55KSB7XHJcbiAgICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLl9wcm9wYWdhdGVDaGFuZ2UodGhpcy5fdmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHdyaXRlVmFsdWUodmFsdWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIGlmICh2YWx1ZSlcclxuICAgICAgICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9wcm9wYWdhdGVDaGFuZ2UgPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7IH1cclxuXHJcbiAgICBvbkNsaWNrKCkge1xyXG4gICAgICAgIGlmICh0aGlzLmZpZWxkLmFjdGlvbilcclxuICAgICAgICAgICAgdGhpcy5hY3Rpb25IYW5kbGVyU2VydmljZS5zZW5kKHRoaXMuZmllbGQuYWN0aW9uKTtcclxuICAgIH1cclxuXHJcbn1cclxuIl19