formioangular-colfuturo
Version:
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 10.1.4.
90 lines • 11.3 kB
JavaScript
import { Component, Input, ViewChild, Output, EventEmitter, } from "@angular/core";
import { FormBuilder } from "formiojs-colfuturo";
import * as i0 from "@angular/core";
export class FormioBuilder {
element;
form;
options = {};
change = new EventEmitter();
ready = new EventEmitter();
error = new EventEmitter();
builder;
componentAdding = false;
get instance() {
return this.builder.instance;
}
ngAfterViewInit() {
this.builder = new FormBuilder(this.element.nativeElement, this.form, this.options);
this.builder.ready
.then(() => {
this.instance.on("addComponent", (component, parent, path, index, isNew) => {
if (isNew) {
this.componentAdding = true;
}
else {
this.change.emit({
type: "addComponent",
builder: this.instance,
form: this.instance.schema,
component: component,
parent: parent,
path: path,
index: index,
});
this.componentAdding = false;
}
});
this.instance.on("saveComponent", (component, original, parent, path, index, isNew) => {
this.change.emit({
type: this.componentAdding ? "addComponent" : "saveComponent",
builder: this.instance,
form: this.instance.schema,
component: component,
originalComponent: original,
parent: parent,
path: path,
index: index,
isNew: isNew || false,
});
this.componentAdding = false;
});
this.instance.on("removeComponent", (component, parent, path, index) => {
this.change.emit({
type: "deleteComponent",
builder: this.instance,
form: this.instance.schema,
component: component,
parent: parent,
path: path,
index: index,
});
});
this.ready.emit(this.instance);
})
.catch((err) => this.error.emit(err));
}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormioBuilder, deps: [], target: i0.ɵɵFactoryTarget.Component });
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FormioBuilder, selector: "formio-builder", inputs: { form: "form", options: "options" }, outputs: { change: "change", ready: "ready", error: "error" }, viewQueries: [{ propertyName: "element", first: true, predicate: ["formio"], descendants: true }], ngImport: i0, template: "<div #formio></div>", isInline: true });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormioBuilder, decorators: [{
type: Component,
args: [{
selector: "formio-builder",
template: "<div #formio></div>",
standalone: false,
}]
}], propDecorators: { element: [{
type: ViewChild,
args: ["formio"]
}], form: [{
type: Input
}], options: [{
type: Input
}], change: [{
type: Output
}], ready: [{
type: Output
}], error: [{
type: Output
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWZvcm1pby9lbWJlZC9zcmMvYnVpbGRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFDTixZQUFZLEdBRWIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFRLFdBQVcsRUFBVyxNQUFNLG9CQUFvQixDQUFDOztBQVFoRSxNQUFNLE9BQU8sYUFBYTtJQUNILE9BQU8sQ0FBYTtJQUNoQyxJQUFJLENBQTBCO0lBQzlCLE9BQU8sR0FBNEIsRUFBRSxDQUFDO0lBQ3JDLE1BQU0sR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ2pDLEtBQUssR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ2hDLEtBQUssR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ25DLE9BQU8sQ0FBYztJQUNyQixlQUFlLEdBQUcsS0FBSyxDQUFDO0lBQy9CLElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7SUFDL0IsQ0FBQztJQUNELGVBQWU7UUFDYixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksV0FBVyxDQUM1QixJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFDMUIsSUFBSSxDQUFDLElBQUksRUFDVCxJQUFJLENBQUMsT0FBTyxDQUNiLENBQUM7UUFDRixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUs7YUFDZixJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQ2QsY0FBYyxFQUNkLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFO2dCQUN4QyxJQUFJLEtBQUssRUFBRSxDQUFDO29CQUNWLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO2dCQUM5QixDQUFDO3FCQUFNLENBQUM7b0JBQ04sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7d0JBQ2YsSUFBSSxFQUFFLGNBQWM7d0JBQ3BCLE9BQU8sRUFBRSxJQUFJLENBQUMsUUFBUTt3QkFDdEIsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTTt3QkFDMUIsU0FBUyxFQUFFLFNBQVM7d0JBQ3BCLE1BQU0sRUFBRSxNQUFNO3dCQUNkLElBQUksRUFBRSxJQUFJO3dCQUNWLEtBQUssRUFBRSxLQUFLO3FCQUNiLENBQUMsQ0FBQztvQkFDSCxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztnQkFDL0IsQ0FBQztZQUNILENBQUMsQ0FDRixDQUFDO1lBQ0YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQ2QsZUFBZSxFQUNmLENBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRTtnQkFDbEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7b0JBQ2YsSUFBSSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsZUFBZTtvQkFDN0QsT0FBTyxFQUFFLElBQUksQ0FBQyxRQUFRO29CQUN0QixJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNO29CQUMxQixTQUFTLEVBQUUsU0FBUztvQkFDcEIsaUJBQWlCLEVBQUUsUUFBUTtvQkFDM0IsTUFBTSxFQUFFLE1BQU07b0JBQ2QsSUFBSSxFQUFFLElBQUk7b0JBQ1YsS0FBSyxFQUFFLEtBQUs7b0JBQ1osS0FBSyxFQUFFLEtBQUssSUFBSSxLQUFLO2lCQUN0QixDQUFDLENBQUM7Z0JBQ0gsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7WUFDL0IsQ0FBQyxDQUNGLENBQUM7WUFDRixJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FDZCxpQkFBaUIsRUFDakIsQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRTtnQkFDakMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7b0JBQ2YsSUFBSSxFQUFFLGlCQUFpQjtvQkFDdkIsT0FBTyxFQUFFLElBQUksQ0FBQyxRQUFRO29CQUN0QixJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNO29CQUMxQixTQUFTLEVBQUUsU0FBUztvQkFDcEIsTUFBTSxFQUFFLE1BQU07b0JBQ2QsSUFBSSxFQUFFLElBQUk7b0JBQ1YsS0FBSyxFQUFFLEtBQUs7aUJBQ2IsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUNGLENBQUM7WUFDRixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDakMsQ0FBQyxDQUFDO2FBQ0QsS0FBSyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzFDLENBQUM7d0dBekVVLGFBQWE7NEZBQWIsYUFBYSxzUUFIZCxxQkFBcUI7OzRGQUdwQixhQUFhO2tCQUx6QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFVBQVUsRUFBRSxLQUFLO2lCQUNsQjs4QkFFc0IsT0FBTztzQkFBM0IsU0FBUzt1QkFBQyxRQUFRO2dCQUNWLElBQUk7c0JBQVosS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0ksTUFBTTtzQkFBZixNQUFNO2dCQUNHLEtBQUs7c0JBQWQsTUFBTTtnQkFDRyxLQUFLO3NCQUFkLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIElucHV0LFxyXG4gIFZpZXdDaGlsZCxcclxuICBPdXRwdXQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEFmdGVyVmlld0luaXQsXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRm9ybSwgRm9ybUJ1aWxkZXIsIFdlYmZvcm0gfSBmcm9tIFwiZm9ybWlvanMtY29sZnV0dXJvXCI7XHJcbmltcG9ydCBXZWJmb3JtQnVpbGRlciBmcm9tIFwiZm9ybWlvanMtY29sZnV0dXJvL2xpYi9janMvV2ViZm9ybUJ1aWxkZXJcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImZvcm1pby1idWlsZGVyXCIsXHJcbiAgdGVtcGxhdGU6IFwiPGRpdiAjZm9ybWlvPjwvZGl2PlwiLFxyXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRm9ybWlvQnVpbGRlciBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xyXG4gIEBWaWV3Q2hpbGQoXCJmb3JtaW9cIikgZWxlbWVudDogRWxlbWVudFJlZjtcclxuICBASW5wdXQoKSBmb3JtPzogRm9ybVtcIm9wdGlvbnNcIl0gfCBudWxsO1xyXG4gIEBJbnB1dCgpIG9wdGlvbnM/OiBGb3JtQnVpbGRlcltcIm9wdGlvbnNcIl0gPSB7fTtcclxuICBAT3V0cHV0KCkgY2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpIHJlYWR5ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpIGVycm9yID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgcHVibGljIGJ1aWxkZXI6IEZvcm1CdWlsZGVyO1xyXG4gIHB1YmxpYyBjb21wb25lbnRBZGRpbmcgPSBmYWxzZTtcclxuICBnZXQgaW5zdGFuY2UoKTogV2ViZm9ybUJ1aWxkZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuYnVpbGRlci5pbnN0YW5jZTtcclxuICB9XHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5idWlsZGVyID0gbmV3IEZvcm1CdWlsZGVyKFxyXG4gICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCxcclxuICAgICAgdGhpcy5mb3JtLFxyXG4gICAgICB0aGlzLm9wdGlvbnNcclxuICAgICk7XHJcbiAgICB0aGlzLmJ1aWxkZXIucmVhZHlcclxuICAgICAgLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuaW5zdGFuY2Uub24oXHJcbiAgICAgICAgICBcImFkZENvbXBvbmVudFwiLFxyXG4gICAgICAgICAgKGNvbXBvbmVudCwgcGFyZW50LCBwYXRoLCBpbmRleCwgaXNOZXcpID0+IHtcclxuICAgICAgICAgICAgaWYgKGlzTmV3KSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5jb21wb25lbnRBZGRpbmcgPSB0cnVlO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHRoaXMuY2hhbmdlLmVtaXQoe1xyXG4gICAgICAgICAgICAgICAgdHlwZTogXCJhZGRDb21wb25lbnRcIixcclxuICAgICAgICAgICAgICAgIGJ1aWxkZXI6IHRoaXMuaW5zdGFuY2UsXHJcbiAgICAgICAgICAgICAgICBmb3JtOiB0aGlzLmluc3RhbmNlLnNjaGVtYSxcclxuICAgICAgICAgICAgICAgIGNvbXBvbmVudDogY29tcG9uZW50LFxyXG4gICAgICAgICAgICAgICAgcGFyZW50OiBwYXJlbnQsXHJcbiAgICAgICAgICAgICAgICBwYXRoOiBwYXRoLFxyXG4gICAgICAgICAgICAgICAgaW5kZXg6IGluZGV4LFxyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgIHRoaXMuY29tcG9uZW50QWRkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMuaW5zdGFuY2Uub24oXHJcbiAgICAgICAgICBcInNhdmVDb21wb25lbnRcIixcclxuICAgICAgICAgIChjb21wb25lbnQsIG9yaWdpbmFsLCBwYXJlbnQsIHBhdGgsIGluZGV4LCBpc05ldykgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmNoYW5nZS5lbWl0KHtcclxuICAgICAgICAgICAgICB0eXBlOiB0aGlzLmNvbXBvbmVudEFkZGluZyA/IFwiYWRkQ29tcG9uZW50XCIgOiBcInNhdmVDb21wb25lbnRcIixcclxuICAgICAgICAgICAgICBidWlsZGVyOiB0aGlzLmluc3RhbmNlLFxyXG4gICAgICAgICAgICAgIGZvcm06IHRoaXMuaW5zdGFuY2Uuc2NoZW1hLFxyXG4gICAgICAgICAgICAgIGNvbXBvbmVudDogY29tcG9uZW50LFxyXG4gICAgICAgICAgICAgIG9yaWdpbmFsQ29tcG9uZW50OiBvcmlnaW5hbCxcclxuICAgICAgICAgICAgICBwYXJlbnQ6IHBhcmVudCxcclxuICAgICAgICAgICAgICBwYXRoOiBwYXRoLFxyXG4gICAgICAgICAgICAgIGluZGV4OiBpbmRleCxcclxuICAgICAgICAgICAgICBpc05ldzogaXNOZXcgfHwgZmFsc2UsXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB0aGlzLmNvbXBvbmVudEFkZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5pbnN0YW5jZS5vbihcclxuICAgICAgICAgIFwicmVtb3ZlQ29tcG9uZW50XCIsXHJcbiAgICAgICAgICAoY29tcG9uZW50LCBwYXJlbnQsIHBhdGgsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlLmVtaXQoe1xyXG4gICAgICAgICAgICAgIHR5cGU6IFwiZGVsZXRlQ29tcG9uZW50XCIsXHJcbiAgICAgICAgICAgICAgYnVpbGRlcjogdGhpcy5pbnN0YW5jZSxcclxuICAgICAgICAgICAgICBmb3JtOiB0aGlzLmluc3RhbmNlLnNjaGVtYSxcclxuICAgICAgICAgICAgICBjb21wb25lbnQ6IGNvbXBvbmVudCxcclxuICAgICAgICAgICAgICBwYXJlbnQ6IHBhcmVudCxcclxuICAgICAgICAgICAgICBwYXRoOiBwYXRoLFxyXG4gICAgICAgICAgICAgIGluZGV4OiBpbmRleCxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLnJlYWR5LmVtaXQodGhpcy5pbnN0YW5jZSk7XHJcbiAgICAgIH0pXHJcbiAgICAgIC5jYXRjaCgoZXJyKSA9PiB0aGlzLmVycm9yLmVtaXQoZXJyKSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==