ngx-antd-form-builder
Version:
Simple Drag&Drop form builder using ng-zorro-antd
45 lines • 8.56 kB
JavaScript
import { Component, Inject, ViewChild } from "@angular/core";
import { DIALOG_DATA } from '@angular/cdk/dialog';
import { NzButtonModule } from "ng-zorro-antd/button";
import { PreviewDataDialog } from "../preview-data-dialog/preview-data.dialog";
import { NgxAntdFormViewerComponent } from "../../ngx-antd-form-viewer.component";
import * as i0 from "@angular/core";
import * as i1 from "@angular/cdk/dialog";
import * as i2 from "ng-zorro-antd/button";
import * as i3 from "ng-zorro-antd/core/transition-patch";
import * as i4 from "ng-zorro-antd/core/wave";
export class PreviewDialog {
constructor(dialog, dialogRef, data) {
this.dialog = dialog;
this.dialogRef = dialogRef;
this.data = data;
}
close() {
this.dialogRef.close();
}
view() {
const json = this.designForm.getData();
this.dialog.open(PreviewDataDialog, {
minWidth: '300px',
data: {
json: JSON.stringify(json, null, "\t")
}
});
}
check() {
this.designForm.checkValid();
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: PreviewDialog, deps: [{ token: i1.Dialog }, { token: i1.DialogRef }, { token: DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.10", type: PreviewDialog, isStandalone: true, selector: "app-preview-dialog", viewQueries: [{ propertyName: "designForm", first: true, predicate: ["designForm"], descendants: true }], ngImport: i0, template: " <ngx-antd-form-viewer\r\n #designForm\r\n [json]=\"data.json\"\r\n ></ngx-antd-form-viewer>\r\n <hr>\r\n <div class=\"btn-group\">\r\n <nz-button-group>\r\n <button nz-button nzType=\"default\" (click)=\"close()\">Close</button>\r\n <button nz-button nzType=\"default\" (click)=\"check()\">Check Validation</button>\r\n <button nz-button nzType=\"primary\" (click)=\"view()\">View JSON Data</button>\r\n </nz-button-group>\r\n </div>", styles: [":host{display:block;background:#fff;border-radius:8px;padding:8px 16px 16px}.btn-group{display:flex;justify-content:flex-end}\n"], dependencies: [{ kind: "component", type: NgxAntdFormViewerComponent, selector: "ngx-antd-form-viewer", inputs: ["json", "initData", "readonly", "needInit"], outputs: ["Submit"] }, { kind: "ngmodule", type: NzButtonModule }, { kind: "component", type: i2.NzButtonComponent, selector: "button[nz-button], a[nz-button]", inputs: ["nzBlock", "nzGhost", "nzSearch", "nzLoading", "nzDanger", "disabled", "tabIndex", "nzType", "nzShape", "nzSize"], exportAs: ["nzButton"] }, { kind: "component", type: i2.NzButtonGroupComponent, selector: "nz-button-group", inputs: ["nzSize"], exportAs: ["nzButtonGroup"] }, { kind: "directive", type: i3.ɵNzTransitionPatchDirective, selector: "[nz-button], nz-button-group, [nz-icon], [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { kind: "directive", type: i4.NzWaveDirective, selector: "[nz-wave],button[nz-button]:not([nzType=\"link\"]):not([nzType=\"text\"])", inputs: ["nzWaveExtraNode"], exportAs: ["nzWave"] }] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: PreviewDialog, decorators: [{
type: Component,
args: [{ standalone: true, selector: 'app-preview-dialog', imports: [NgxAntdFormViewerComponent, NzButtonModule], template: " <ngx-antd-form-viewer\r\n #designForm\r\n [json]=\"data.json\"\r\n ></ngx-antd-form-viewer>\r\n <hr>\r\n <div class=\"btn-group\">\r\n <nz-button-group>\r\n <button nz-button nzType=\"default\" (click)=\"close()\">Close</button>\r\n <button nz-button nzType=\"default\" (click)=\"check()\">Check Validation</button>\r\n <button nz-button nzType=\"primary\" (click)=\"view()\">View JSON Data</button>\r\n </nz-button-group>\r\n </div>", styles: [":host{display:block;background:#fff;border-radius:8px;padding:8px 16px 16px}.btn-group{display:flex;justify-content:flex-end}\n"] }]
}], ctorParameters: () => [{ type: i1.Dialog }, { type: i1.DialogRef }, { type: undefined, decorators: [{
type: Inject,
args: [DIALOG_DATA]
}] }], propDecorators: { designForm: [{
type: ViewChild,
args: ['designForm']
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJldmlldy5kaWFsb2cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtYW50ZC1mb3JtLWJ1aWxkZXIvc3JjL2xpYi9jb21wb25lbnRzL3ByZXZpZXctZGlhbG9nL3ByZXZpZXcuZGlhbG9nLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWFudGQtZm9ybS1idWlsZGVyL3NyYy9saWIvY29tcG9uZW50cy9wcmV2aWV3LWRpYWxvZy9wcmV2aWV3LmRpYWxvZy5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQVksV0FBVyxFQUFTLE1BQU0scUJBQXFCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7Ozs7QUFTbEYsTUFBTSxPQUFPLGFBQWE7SUFFeEIsWUFDVyxNQUFjLEVBQ2QsU0FBbUMsRUFDZCxJQUFJO1FBRnpCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxjQUFTLEdBQVQsU0FBUyxDQUEwQjtRQUNkLFNBQUksR0FBSixJQUFJLENBQUE7SUFFcEMsQ0FBQztJQUVNLEtBQUs7UUFDVixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFBO0lBQ3hCLENBQUM7SUFFTSxJQUFJO1FBQ1QsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQTtRQUN0QyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUNsQyxRQUFRLEVBQUUsT0FBTztZQUNqQixJQUFJLEVBQUU7Z0JBQ0osSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUM7YUFDdkM7U0FDRixDQUFDLENBQUE7SUFDSixDQUFDO0lBRU0sS0FBSztRQUNWLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDL0IsQ0FBQzsrR0F6QlUsYUFBYSxpRUFLWixXQUFXO21HQUxaLGFBQWEsd0xDYjFCLG9kQVdRLHlMREFJLDBCQUEwQiwySUFBRSxjQUFjOzs0RkFFekMsYUFBYTtrQkFQekIsU0FBUztpQ0FDSSxJQUFJLFlBQ04sb0JBQW9CLFdBR3JCLENBQUMsMEJBQTBCLEVBQUUsY0FBYyxDQUFDOzswQkFPaEQsTUFBTTsyQkFBQyxXQUFXO3lDQUpFLFVBQVU7c0JBQWxDLFNBQVM7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBWaWV3Q2hpbGQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0RpYWxvZ1JlZiwgRElBTE9HX0RBVEEsIERpYWxvZ30gZnJvbSAnQGFuZ3VsYXIvY2RrL2RpYWxvZyc7XHJcbmltcG9ydCB7IE56QnV0dG9uTW9kdWxlIH0gZnJvbSBcIm5nLXpvcnJvLWFudGQvYnV0dG9uXCI7XHJcbmltcG9ydCB7IFByZXZpZXdEYXRhRGlhbG9nIH0gZnJvbSBcIi4uL3ByZXZpZXctZGF0YS1kaWFsb2cvcHJldmlldy1kYXRhLmRpYWxvZ1wiO1xyXG5pbXBvcnQgeyBOZ3hBbnRkRm9ybVZpZXdlckNvbXBvbmVudCB9IGZyb20gXCIuLi8uLi9uZ3gtYW50ZC1mb3JtLXZpZXdlci5jb21wb25lbnRcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgc2VsZWN0b3I6ICdhcHAtcHJldmlldy1kaWFsb2cnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wcmV2aWV3LmRpYWxvZy5odG1sJyxcclxuICBzdHlsZVVybDogJy4vcHJldmlldy5kaWFsb2cuc2NzcycsXHJcbiAgaW1wb3J0czogW05neEFudGRGb3JtVmlld2VyQ29tcG9uZW50LCBOekJ1dHRvbk1vZHVsZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIFByZXZpZXdEaWFsb2cge1xyXG4gIEBWaWV3Q2hpbGQoJ2Rlc2lnbkZvcm0nKSBkZXNpZ25Gb3JtITogTmd4QW50ZEZvcm1WaWV3ZXJDb21wb25lbnRcclxuICBjb25zdHJ1Y3RvcihcclxuICAgICAgcHVibGljIGRpYWxvZzogRGlhbG9nLFxyXG4gICAgICBwdWJsaWMgZGlhbG9nUmVmOiBEaWFsb2dSZWY8UHJldmlld0RpYWxvZz4sXHJcbiAgICAgIEBJbmplY3QoRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2xvc2UoKSB7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdmlldygpIHtcclxuICAgIGNvbnN0IGpzb24gPSB0aGlzLmRlc2lnbkZvcm0uZ2V0RGF0YSgpXHJcbiAgICB0aGlzLmRpYWxvZy5vcGVuKFByZXZpZXdEYXRhRGlhbG9nLCB7XHJcbiAgICAgIG1pbldpZHRoOiAnMzAwcHgnLFxyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAganNvbjogSlNPTi5zdHJpbmdpZnkoanNvbiwgbnVsbCwgXCJcXHRcIilcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjaGVjaygpIHtcclxuICAgIHRoaXMuZGVzaWduRm9ybS5jaGVja1ZhbGlkKCk7XHJcbiAgfVxyXG59XHJcblxyXG4iLCIgIDxuZ3gtYW50ZC1mb3JtLXZpZXdlclxyXG4gICAgI2Rlc2lnbkZvcm1cclxuICAgIFtqc29uXT1cImRhdGEuanNvblwiXHJcbiAgPjwvbmd4LWFudGQtZm9ybS12aWV3ZXI+XHJcbiAgPGhyPlxyXG4gIDxkaXYgY2xhc3M9XCJidG4tZ3JvdXBcIj5cclxuICAgIDxuei1idXR0b24tZ3JvdXA+XHJcbiAgICAgIDxidXR0b24gbnotYnV0dG9uIG56VHlwZT1cImRlZmF1bHRcIiAoY2xpY2spPVwiY2xvc2UoKVwiPkNsb3NlPC9idXR0b24+XHJcbiAgICAgIDxidXR0b24gbnotYnV0dG9uIG56VHlwZT1cImRlZmF1bHRcIiAoY2xpY2spPVwiY2hlY2soKVwiPkNoZWNrIFZhbGlkYXRpb248L2J1dHRvbj5cclxuICAgICAgPGJ1dHRvbiBuei1idXR0b24gbnpUeXBlPVwicHJpbWFyeVwiIChjbGljayk9XCJ2aWV3KClcIj5WaWV3IEpTT04gRGF0YTwvYnV0dG9uPlxyXG4gICAgPC9uei1idXR0b24tZ3JvdXA+XHJcbiAgPC9kaXY+Il19