ngx-antd-form-builder
Version:
Simple Drag&Drop form builder using ng-zorro-antd
64 lines • 9.99 kB
JavaScript
import { CommonModule } from "@angular/common";
import { Component, forwardRef, Input } from "@angular/core";
import { FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule } from "@angular/forms";
import { NzCheckboxModule } from "ng-zorro-antd/checkbox";
import * as i0 from "@angular/core";
import * as i1 from "ng-zorro-antd/checkbox";
import * as i2 from "@angular/forms";
import * as i3 from "@angular/common";
export class DesignFormItemCheckboxComponent {
constructor() {
//defaultValue使用NgForm实现
//@Input() defaultValue: string[] = []
this._first = [];
/**
* Invoked when the model has been changed
*/
this.onChange = (_) => { };
this.onTouched = () => { };
}
writeValue(obj) {
if (obj && Array.isArray(obj)) {
this._first = obj;
}
}
registerOnChange(fn) {
this.onChange = fn;
}
registerOnTouched(fn) {
this.onTouched = fn;
}
setDisabledState(isDisabled) {
}
ngOnChanges(changes) {
// if (changes.defaultValue.currentValue.length > 0) {
// this.writeValue(changes.defaultValue.currentValue)
// }
}
log(e) {
this.onTouched();
this.onChange(e);
//console.log(e)
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: DesignFormItemCheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.10", type: DesignFormItemCheckboxComponent, isStandalone: true, selector: "app-design-form-item-checkbox", inputs: { options: "options" }, providers: [
{
provide: NG_VALUE_ACCESSOR,
useExisting: forwardRef(() => DesignFormItemCheckboxComponent),
multi: true
}
], usesOnChanges: true, ngImport: i0, template: "<!-- <nz-checkbox-group [ngModel]=\"options\" (ngModelChange)=\"log($event)\"></nz-checkbox-group> -->\r\n<nz-checkbox-wrapper style=\"width: 100%;\" (nzOnChange)=\"log($event)\">\r\n <label nz-checkbox \r\n *ngFor=\"let option of options; let index = index\" \r\n [nzValue]=\"option.value\" [ngModel]=\"_first.includes(option.value)\"\r\n >\r\n {{option.label}}\r\n </label>\r\n</nz-checkbox-wrapper>", styles: [""], dependencies: [{ kind: "ngmodule", type: NzCheckboxModule }, { kind: "component", type: i1.NzCheckboxComponent, selector: "[nz-checkbox]", inputs: ["nzValue", "nzAutoFocus", "nzDisabled", "nzIndeterminate", "nzChecked", "nzId"], outputs: ["nzCheckedChange"], exportAs: ["nzCheckbox"] }, { kind: "component", type: i1.NzCheckboxWrapperComponent, selector: "nz-checkbox-wrapper", outputs: ["nzOnChange"], exportAs: ["nzCheckboxWrapper"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: ReactiveFormsModule }] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: DesignFormItemCheckboxComponent, decorators: [{
type: Component,
args: [{ standalone: true, selector: 'app-design-form-item-checkbox', providers: [
{
provide: NG_VALUE_ACCESSOR,
useExisting: forwardRef(() => DesignFormItemCheckboxComponent),
multi: true
}
], imports: [NzCheckboxModule, FormsModule, CommonModule, ReactiveFormsModule], template: "<!-- <nz-checkbox-group [ngModel]=\"options\" (ngModelChange)=\"log($event)\"></nz-checkbox-group> -->\r\n<nz-checkbox-wrapper style=\"width: 100%;\" (nzOnChange)=\"log($event)\">\r\n <label nz-checkbox \r\n *ngFor=\"let option of options; let index = index\" \r\n [nzValue]=\"option.value\" [ngModel]=\"_first.includes(option.value)\"\r\n >\r\n {{option.label}}\r\n </label>\r\n</nz-checkbox-wrapper>" }]
}], propDecorators: { options: [{
type: Input
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzaWduLWZvcm0taXRlbS1jaGVja2JveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtYW50ZC1mb3JtLWJ1aWxkZXIvc3JjL2xpYi9jb21wb25lbnRzL2Rlc2lnbi1mb3JtLWl0ZW0tY2hlY2tib3gvZGVzaWduLWZvcm0taXRlbS1jaGVja2JveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtYW50ZC1mb3JtLWJ1aWxkZXIvc3JjL2xpYi9jb21wb25lbnRzL2Rlc2lnbi1mb3JtLWl0ZW0tY2hlY2tib3gvZGVzaWduLWZvcm0taXRlbS1jaGVja2JveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQXdCLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7OztBQWdCMUQsTUFBTSxPQUFPLCtCQUErQjtJQWQ1QztRQWdCRSx3QkFBd0I7UUFDeEIsc0NBQXNDO1FBQ3RDLFdBQU0sR0FBYSxFQUFFLENBQUE7UUFDckI7O1VBRUU7UUFDRixhQUFRLEdBQXFCLENBQUMsQ0FBTSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDN0MsY0FBUyxHQUFlLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztLQTBCbkM7SUF6QkMsVUFBVSxDQUFDLEdBQVE7UUFDakIsSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzlCLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFBO1FBQ25CLENBQUM7SUFDSCxDQUFDO0lBQ0QsZ0JBQWdCLENBQUMsRUFBTztRQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQTtJQUNwQixDQUFDO0lBQ0QsaUJBQWlCLENBQUMsRUFBTztRQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBQ0QsZ0JBQWdCLENBQUUsVUFBbUI7SUFDckMsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxzREFBc0Q7UUFDdEQsdURBQXVEO1FBQ3ZELElBQUk7SUFDTixDQUFDO0lBRUQsR0FBRyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUE7UUFDaEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNoQixnQkFBZ0I7SUFDbEIsQ0FBQzsrR0FsQ1UsK0JBQStCO21HQUEvQiwrQkFBK0IsNEdBVC9CO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQztnQkFDOUQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLCtDQ2hCSCxpYUFRc0IseUREU1YsZ0JBQWdCLHVaQUFFLFdBQVcsOFZBQUUsWUFBWSwySkFBRSxtQkFBbUI7OzRGQUUvRCwrQkFBK0I7a0JBZDNDLFNBQVM7aUNBQ0ksSUFBSSxZQUNOLCtCQUErQixhQUc5Qjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxnQ0FBZ0MsQ0FBQzs0QkFDOUQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0YsV0FDUSxDQUFDLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsbUJBQW1CLENBQUM7OEJBR2xFLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1zTW9kdWxlLCBOR19WQUxVRV9BQ0NFU1NPUiwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBOekNoZWNrYm94TW9kdWxlIH0gZnJvbSBcIm5nLXpvcnJvLWFudGQvY2hlY2tib3hcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgc2VsZWN0b3I6ICdhcHAtZGVzaWduLWZvcm0taXRlbS1jaGVja2JveCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2Rlc2lnbi1mb3JtLWl0ZW0tY2hlY2tib3guY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2Rlc2lnbi1mb3JtLWl0ZW0tY2hlY2tib3guY29tcG9uZW50LnNjc3MnXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IERlc2lnbkZvcm1JdGVtQ2hlY2tib3hDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZVxyXG4gICAgfVxyXG4gIF0sXHJcbiAgaW1wb3J0czogW056Q2hlY2tib3hNb2R1bGUsIEZvcm1zTW9kdWxlLCBDb21tb25Nb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGVdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEZXNpZ25Gb3JtSXRlbUNoZWNrYm94Q29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uQ2hhbmdlcyB7ICBcclxuICBASW5wdXQoKSBvcHRpb25zITogQXJyYXk8UmVjb3JkPCdsYWJlbCcgfCAndmFsdWUnLCBzdHJpbmc+PlxyXG4gIC8vZGVmYXVsdFZhbHVl5L2/55SoTmdGb3Jt5a6e546wXHJcbiAgLy9ASW5wdXQoKSBkZWZhdWx0VmFsdWU6IHN0cmluZ1tdID0gW11cclxuICBfZmlyc3Q6IHN0cmluZ1tdID0gW11cclxuICAvKipcclxuICAqIEludm9rZWQgd2hlbiB0aGUgbW9kZWwgaGFzIGJlZW4gY2hhbmdlZFxyXG4gICovXHJcbiAgb25DaGFuZ2U6IChfOiBhbnkpID0+IHZvaWQgPSAoXzogYW55KSA9PiB7IH07XHJcbiAgb25Ub3VjaGVkOiAoKSA9PiB2b2lkID0gKCkgPT4geyB9O1xyXG4gIHdyaXRlVmFsdWUob2JqOiBhbnkpOiB2b2lkIHtcclxuICAgIGlmIChvYmogJiYgQXJyYXkuaXNBcnJheShvYmopKSB7XHJcbiAgICAgIHRoaXMuX2ZpcnN0ID0gb2JqXHJcbiAgICB9XHJcbiAgfVxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuXHJcbiAgfVxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XHJcbiAgfVxyXG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIC8vIGlmIChjaGFuZ2VzLmRlZmF1bHRWYWx1ZS5jdXJyZW50VmFsdWUubGVuZ3RoID4gMCkge1xyXG4gICAgLy8gICB0aGlzLndyaXRlVmFsdWUoY2hhbmdlcy5kZWZhdWx0VmFsdWUuY3VycmVudFZhbHVlKVxyXG4gICAgLy8gfVxyXG4gIH1cclxuXHJcbiAgbG9nKGUpIHtcclxuICAgIHRoaXMub25Ub3VjaGVkKClcclxuICAgIHRoaXMub25DaGFuZ2UoZSlcclxuICAgIC8vY29uc29sZS5sb2coZSlcclxuICB9XHJcbn0iLCI8IS0tIDxuei1jaGVja2JveC1ncm91cCBbbmdNb2RlbF09XCJvcHRpb25zXCIgKG5nTW9kZWxDaGFuZ2UpPVwibG9nKCRldmVudClcIj48L256LWNoZWNrYm94LWdyb3VwPiAtLT5cclxuPG56LWNoZWNrYm94LXdyYXBwZXIgc3R5bGU9XCJ3aWR0aDogMTAwJTtcIiAobnpPbkNoYW5nZSk9XCJsb2coJGV2ZW50KVwiPlxyXG4gIDxsYWJlbCBuei1jaGVja2JveCBcclxuICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uczsgbGV0IGluZGV4ID0gaW5kZXhcIiBcclxuICAgIFtuelZhbHVlXT1cIm9wdGlvbi52YWx1ZVwiIFtuZ01vZGVsXT1cIl9maXJzdC5pbmNsdWRlcyhvcHRpb24udmFsdWUpXCJcclxuICAgID5cclxuICAgIHt7b3B0aW9uLmxhYmVsfX1cclxuICA8L2xhYmVsPlxyXG48L256LWNoZWNrYm94LXdyYXBwZXI+Il19