@dignite-ng/expand.dynamic-form 0.0.23 → 0.0.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -93,7 +93,7 @@ export class NumbericEditControlComponent {
|
|
|
93
93
|
let formConfiguration = this._fields.field.formConfiguration;
|
|
94
94
|
let Decimals = formConfiguration['NumericEditField.Decimals'];
|
|
95
95
|
if (decimalPart.length > Decimals) {
|
|
96
|
-
this.fieldInput.patchValue(val.slice(0, val.length - (decimalPart.length - 2)));
|
|
96
|
+
this.fieldInput.patchValue('' + val.slice(0, val.length - (decimalPart.length - 2)).toString() + '');
|
|
97
97
|
}
|
|
98
98
|
}
|
|
99
99
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: NumbericEditControlComponent, deps: [{ token: i1.FormBuilder }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
@@ -114,4 +114,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImpor
|
|
|
114
114
|
type: ViewChild,
|
|
115
115
|
args: ['submitclick', { static: true }]
|
|
116
116
|
}] } });
|
|
117
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyaWMtZWRpdC1jb250cm9sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2R5bmFtaWMtZm9ybS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9udW1lcmljLWVkaXQvbnVtYmVyaWMtZWRpdC1jb250cm9sLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2R5bmFtaWMtZm9ybS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9udW1lcmljLWVkaXQvbnVtYmVyaWMtZWRpdC1jb250cm9sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFFLFNBQVMsRUFBRSx1QkFBdUIsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDcEgsT0FBTyxFQUF1QyxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFHakYsTUFBTSxVQUFVLHlCQUF5QixDQUFDLGdCQUF3QjtJQUNoRSxPQUFPLENBQUMsT0FBd0IsRUFBMkIsRUFBRTtRQUMzRCxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQzVCLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUN4RCxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ25ELElBQUksV0FBVyxJQUFJLFdBQVcsQ0FBQyxNQUFNLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQztnQkFDekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLEVBQUUsTUFBTSxFQUFFLFdBQVcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLGdCQUFnQixFQUFFLEVBQUUsQ0FBQztZQUN2RixDQUFD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LDBCQUEwQixtQkFHbkIsdUJBQXVCLENBQUMsTUFBTTtnSEFjcEMsTUFBTTtzQkFEaEIsS0FBSztnQkFjSyxNQUFNO3NCQURoQixLQUFLO2dCQVNLLGVBQWU7c0JBRHpCLEtBQUs7Z0JBUUssUUFBUTtzQkFEbEIsS0FBSztnQkFLc0MsV0FBVztzQkFBdEQsU0FBUzt1QkFBQyxhQUFhLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgVmlld0NoaWxkLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSAsQ2hhbmdlRGV0ZWN0b3JSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvckZuLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnOyAgXG4gIFxuZXhwb3J0IGZ1bmN0aW9uIG1heERlY2ltYWxQbGFjZXNWYWxpZGF0b3IobWF4RGVjaW1hbFBsYWNlczogbnVtYmVyKTogVmFsaWRhdG9yRm4geyAgXG4gIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4geyAgXG4gICAgY29uc3QgdmFsdWUgPSBjb250cm9sLnZhbHVlOyAgXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicgJiYgaXNOYU4odmFsdWUpID09PSBmYWxzZSkgeyAgXG4gICAgICBjb25zdCBkZWNpbWFsUGFydCA9IHZhbHVlLnRvU3RyaW5nKCkuc3BsaXQoJy4nKVsxXTsgIFxuICAgICAgaWYgKGRlY2ltYWxQYXJ0ICYmIGRlY2ltYWxQYXJ0Lmxlbmd0aCA+IG1heERlY2ltYWxQbGFjZXMpIHsgIFxuICAgICAgICByZXR1cm4geyAnbWF4RGVjaW1hbFBsYWNlcyc6IHsgYWN0dWFsOiBkZWNpbWFsUGFydC5sZW5ndGgsIG1heDogbWF4RGVjaW1hbFBsYWNlcyB9IH07ICBcbiAgICAgIH0gIFxuICAgIH0gIFxuICAgIHJldHVybiBudWxsOyAgXG4gIH07ICBcbn1cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RmLW51bWJlcmljLWVkaXQtY29udHJvbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9udW1iZXJpYy1lZGl0LWNvbnRyb2wuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9udW1iZXJpYy1lZGl0LWNvbnRyb2wuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgTnVtYmVyaWNFZGl0Q29udHJvbENvbXBvbmVudCB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmIFxuICApIHtcblxuICB9XG5cbiAgLyoq6KGo5Y2V5a6e5L2TICovXG4gIF9lbnRpdHk6IEZvcm1Hcm91cCB8IHVuZGVmaW5lZFxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGVudGl0eSh2OiBhbnkpIHtcbiAgICB0aGlzLl9lbnRpdHkgPSB2O1xuICAgIHRoaXMuZGF0YUxvYWRlZCgpXG4gIH1cblxuICBwdWJsaWMgZ2V0IGVudGl0eSgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLl9lbnRpdHlcbiAgfVxuXG5cbiAgLyoq5a2X5q616YWN572u5YiX6KGoICovXG4gIF9maWVsZHM6IGFueSA9ICcnXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZmllbGRzKHY6IGFueSkge1xuICAgIHRoaXMuX2ZpZWxkcyA9IHY7XG4gICAgdGhpcy5kYXRhTG9hZGVkKClcbiAgfVxuXG4gIC8qKueItue6p+Wtl+auteWQjeensO+8jOeUqOS6juS4uuihqOWNleiuvue9ruaOp+S7tui1i+WAvCAqL1xuICBfcGFyZW50RmlsZWROYW1lOiBhbnlcbiAgQElucHV0KClcbiAgcHVibGljIHNldCBwYXJlbnRGaWxlZE5hbWUodjogYW55KSB7XG4gICAgdGhpcy5fcGFyZW50RmlsZWROYW1lID0gdjtcbiAgICB0aGlzLmRhdGFMb2FkZWQoKVxuICB9XG4gIC8qKueItue6p+Wtl+auteWQjeensO+8jOeUqOS6juS4uuihqOWNleiuvue9ruaOp+S7tui1i+WAvCAqL1xuICBfc2VsZWN0ZWQ6IGFueVxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHNlbGVjdGVkKHY6IGFueSkge1xuICAgIHRoaXMuX3NlbGVjdGVkID0gdiA7XG4gICAgdGhpcy5kYXRhTG9hZGVkKClcbiAgfVxuICBAVmlld0NoaWxkKCdzdWJtaXRjbGljaycsIHsgc3RhdGljOiB0cnVlIH0pIHN1Ym1pdGNsaWNrOiBFbGVtZW50UmVmO1xuXG5cbiAgZ2V0IGV4dHJhUHJvcGVydGllcygpIHtcbiAgICByZXR1cm4gdGhpcy5fZW50aXR5LmdldCgnZXh0cmFQcm9wZXJ0aWVzJykgYXMgRm9ybUdyb3VwXG4gIH1cbiAgZ2V0IGZpZWxkSW5wdXQoKSB7IHJldHVybiB0aGlzLmV4dHJhUHJvcGVydGllcy5nZXQodGhpcy5fZmllbGRzLmZpZWxkLm5hbWUpOyB9XG4gIC8qKuaVsOaNruWKoOi9veWujOaIkCAqL1xuICBhc3luYyBkYXRhTG9hZGVkKCkge1xuICAgIGlmICh0aGlzLl9maWVsZHMgJiYgdGhpcy5fZW50aXR5KSB7XG4gICAgICBhd2FpdCB0aGlzLkFmdGVySW5pdCgpXG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7ICBcbiAgICAgIHRoaXMuc3VibWl0Y2xpY2submF0aXZlRWxlbWVudC5jbGljaygpO1xuICAgIH1cbiAgfVxuXG4gIEFmdGVySW5pdCgpIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdHMpID0+IHtcbiAgICAgIGxldCBWYWxpZGF0b3JzQXJyYXkgPSBbXVxuICAgICAgbGV0IGZvcm1Db25maWd1cmF0aW9uPXRoaXMuX2ZpZWxkcy5maWVsZC5mb3JtQ29uZmlndXJhdGlvblxuICAgICAgaWYgKHRoaXMuX2ZpZWxkcy5yZXF1aXJlZCkge1xuICAgICAgICBWYWxpZGF0b3JzQXJyYXkucHVzaChWYWxpZGF0b3JzLnJlcXVpcmVkKVxuICAgICAgfVxuICAgICAgaWYgKGZvcm1Db25maWd1cmF0aW9uWydOdW1lcmljRWRpdEZpZWxkLk1pbiddKSB7XG4gICAgICAgIFZhbGlkYXRvcnNBcnJheS5wdXNoKFZhbGlkYXRvcnMubWluKGZvcm1Db25maWd1cmF0aW9uWydOdW1lcmljRWRpdEZpZWxkLk1pbiddKSlcbiAgICAgIH1cbiAgICAgIGlmIChmb3JtQ29uZmlndXJhdGlvblsnTnVtZXJpY0VkaXRGaWVsZC5NYXgnXSkge1xuICAgICAgICBWYWxpZGF0b3JzQXJyYXkucHVzaChWYWxpZGF0b3JzLm1heChmb3JtQ29uZmlndXJhdGlvblsnTnVtZXJpY0VkaXRGaWVsZC5NYXgnXSkpXG4gICAgICB9XG4gICAgICBsZXQgbmV3Q29udHJvbCA9IHRoaXMuZmIuY29udHJvbCh0aGlzLl9zZWxlY3RlZCwgVmFsaWRhdG9yc0FycmF5KVxuICAgICAgdGhpcy5leHRyYVByb3BlcnRpZXMuc2V0Q29udHJvbCh0aGlzLl9maWVsZHMuZmllbGQubmFtZSwgbmV3Q29udHJvbClcblxuICAgICAgcmVzb2x2ZSh0cnVlKVxuICAgIH0pXG4gIH1cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgLy9DYWxsZWQgb25jZSwgYmVmb3JlIHRoZSBpbnN0YW5jZSBpcyBkZXN0cm95ZWQuXG4gICAgLy9BZGQgJ2ltcGxlbWVudHMgT25EZXN0cm95JyB0byB0aGUgY2xhc3MuXG4gICAgdGhpcy5leHRyYVByb3BlcnRpZXMucmVtb3ZlQ29udHJvbCh0aGlzLl9maWVsZHMuZmllbGQubmFtZSlcbiAgfVxuXG4gIC8qKuaVsOWtl+ahhui+k+WFpSAqL1xuICBpbnB1dGNoYW5nZShldmVudCl7XG4gICAgbGV0IHZhbD1ldmVudC50YXJnZXQudmFsdWVcbiAgICBjb25zdCBkZWNpbWFsUGFydCA9IHZhbC50b1N0cmluZygpLnNwbGl0KCcuJylbMV18fCcnO1xuICAgIGxldCBmb3JtQ29uZmlndXJhdGlvbj10aGlzLl9maWVsZHMuZmllbGQuZm9ybUNvbmZpZ3VyYXRpb25cbiAgICBsZXQgRGVjaW1hbHM9Zm9ybUNvbmZpZ3VyYXRpb25bJ051bWVyaWNFZGl0RmllbGQuRGVjaW1hbHMnXVxuICAgIGlmKGRlY2ltYWxQYXJ0Lmxlbmd0aD5EZWNpbWFscyl7XG4gICAgICB0aGlzLmZpZWxkSW5wdXQucGF0Y2hWYWx1ZSh2YWwuc2xpY2UoMCx2YWwubGVuZ3RoLShkZWNpbWFsUGFydC5sZW5ndGgtMikpKVxuICAgIH1cbiAgfVxufVxuIiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJfZW50aXR5XCI+XG4gICAgPGRpdiBbZm9ybUdyb3VwTmFtZV09XCJfcGFyZW50RmlsZWROYW1lXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0yXCI+XG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgKm5nSWY9XCJfZmllbGRzLmRpc3BsYXlOYW1lXCI+e3sgX2ZpZWxkcy5kaXNwbGF5TmFtZSB9fTwvbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cIm51bWJlclwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgZm9ybUNvbnRyb2xOYW1lPVwie3tfZmllbGRzLmZpZWxkLm5hbWV9fVwiXG4gICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIl9maWVsZHMuZmllbGQuZm9ybUNvbmZpZ3VyYXRpb25bJ051bWVyaWNFZGl0RmllbGQuUGxhY2Vob2xkZXInXXx8JydcIlxuICAgICAgICAgICAgICAgIFttaW5dPVwiX2ZpZWxkcy5maWVsZC5mb3JtQ29uZmlndXJhdGlvblsnTnVtZXJpY0VkaXRGaWVsZC5NaW4nXVwiXG4gICAgICAgICAgICAgICAgW21heF09XCJfZmllbGRzLmZpZWxkLmZvcm1Db25maWd1cmF0aW9uWydOdW1lcmljRWRpdEZpZWxkLk1heCddXCJcbiAgICAgICAgICAgICAgICBbc3RlcF09XCJfZmllbGRzLmZpZWxkLmZvcm1Db25maWd1cmF0aW9uWydOdW1lcmljRWRpdEZpZWxkLlN0ZXAnXVwiIChpbnB1dCk9XCJpbnB1dGNoYW5nZSgkZXZlbnQpXCIgLz5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLXRleHRcIiAqbmdJZj1cIl9maWVsZHMuZmllbGQuZGVzY3JpcHRpb25cIj57e19maWVsZHMuZmllbGQuZGVzY3JpcHRpb259fTwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgIDwvZGl2PlxuICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIHN0eWxlPVwiZGlzcGxheTogbm9uZTtcIiAjc3VibWl0Y2xpY2s+PC9idXR0b24+XG48L2Zvcm0+Il19
|
|
117
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyaWMtZWRpdC1jb250cm9sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2R5bmFtaWMtZm9ybS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9udW1lcmljLWVkaXQvbnVtYmVyaWMtZWRpdC1jb250cm9sLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2R5bmFtaWMtZm9ybS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9udW1lcmljLWVkaXQvbnVtYmVyaWMtZWRpdC1jb250cm9sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFFLFNBQVMsRUFBRSx1QkFBdUIsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDcEgsT0FBTyxFQUF1QyxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFHakYsTUFBTSxVQUFVLHlCQUF5QixDQUFDLGdCQUF3QjtJQUNoRSxPQUFPLENBQUMsT0FBd0IsRUFBMkIsRUFBRTtRQUMzRCxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQzVCLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUN4RCxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ25ELElBQUksV0FBVyxJQUFJLFdBQVcsQ0FBQyxNQUFNLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQztnQkFDekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLEVBQUUsTUFBTSxFQUFFLFdBQVcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLGdCQUFnQixFQUFFLEVBQUUsQ0FBQztZQUN2RixDQUFD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QWNPOzsyRkRRTSw0QkFBNEI7a0JBTnhDLFNBQVM7K0JBQ0UsMEJBQTBCLG1CQUduQix1QkFBdUIsQ0FBQyxNQUFNO2dIQWNwQyxNQUFNO3NCQURoQixLQUFLO2dCQWNLLE1BQU07c0JBRGhCLEtBQUs7Z0JBU0ssZUFBZTtzQkFEekIsS0FBSztnQkFRSyxRQUFRO3NCQURsQixLQUFLO2dCQUtzQyxXQUFXO3NCQUF0RCxTQUFTO3VCQUFDLGFBQWEsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBWaWV3Q2hpbGQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5ICxDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9yRm4sIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7ICBcbiAgXG5leHBvcnQgZnVuY3Rpb24gbWF4RGVjaW1hbFBsYWNlc1ZhbGlkYXRvcihtYXhEZWNpbWFsUGxhY2VzOiBudW1iZXIpOiBWYWxpZGF0b3JGbiB7ICBcbiAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7ICBcbiAgICBjb25zdCB2YWx1ZSA9IGNvbnRyb2wudmFsdWU7ICBcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyAmJiBpc05hTih2YWx1ZSkgPT09IGZhbHNlKSB7ICBcbiAgICAgIGNvbnN0IGRlY2ltYWxQYXJ0ID0gdmFsdWUudG9TdHJpbmcoKS5zcGxpdCgnLicpWzFdOyAgXG4gICAgICBpZiAoZGVjaW1hbFBhcnQgJiYgZGVjaW1hbFBhcnQubGVuZ3RoID4gbWF4RGVjaW1hbFBsYWNlcykgeyAgXG4gICAgICAgIHJldHVybiB7ICdtYXhEZWNpbWFsUGxhY2VzJzogeyBhY3R1YWw6IGRlY2ltYWxQYXJ0Lmxlbmd0aCwgbWF4OiBtYXhEZWNpbWFsUGxhY2VzIH0gfTsgIFxuICAgICAgfSAgXG4gICAgfSAgXG4gICAgcmV0dXJuIG51bGw7ICBcbiAgfTsgIFxufVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGYtbnVtYmVyaWMtZWRpdC1jb250cm9sJyxcbiAgdGVtcGxhdGVVcmw6ICcuL251bWJlcmljLWVkaXQtY29udHJvbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL251bWJlcmljLWVkaXQtY29udHJvbC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBOdW1iZXJpY0VkaXRDb250cm9sQ29tcG9uZW50IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYgXG4gICkge1xuXG4gIH1cblxuICAvKirooajljZXlrp7kvZMgKi9cbiAgX2VudGl0eTogRm9ybUdyb3VwIHwgdW5kZWZpbmVkXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZW50aXR5KHY6IGFueSkge1xuICAgIHRoaXMuX2VudGl0eSA9IHY7XG4gICAgdGhpcy5kYXRhTG9hZGVkKClcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZW50aXR5KCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX2VudGl0eVxuICB9XG5cblxuICAvKirlrZfmrrXphY3nva7liJfooaggKi9cbiAgX2ZpZWxkczogYW55ID0gJydcbiAgQElucHV0KClcbiAgcHVibGljIHNldCBmaWVsZHModjogYW55KSB7XG4gICAgdGhpcy5fZmllbGRzID0gdjtcbiAgICB0aGlzLmRhdGFMb2FkZWQoKVxuICB9XG5cbiAgLyoq54i257qn5a2X5q615ZCN56ew77yM55So5LqO5Li66KGo5Y2V6K6+572u5o6n5Lu26LWL5YC8ICovXG4gIF9wYXJlbnRGaWxlZE5hbWU6IGFueVxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHBhcmVudEZpbGVkTmFtZSh2OiBhbnkpIHtcbiAgICB0aGlzLl9wYXJlbnRGaWxlZE5hbWUgPSB2O1xuICAgIHRoaXMuZGF0YUxvYWRlZCgpXG4gIH1cbiAgLyoq54i257qn5a2X5q615ZCN56ew77yM55So5LqO5Li66KGo5Y2V6K6+572u5o6n5Lu26LWL5YC8ICovXG4gIF9zZWxlY3RlZDogYW55XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgc2VsZWN0ZWQodjogYW55KSB7XG4gICAgdGhpcy5fc2VsZWN0ZWQgPSB2IDtcbiAgICB0aGlzLmRhdGFMb2FkZWQoKVxuICB9XG4gIEBWaWV3Q2hpbGQoJ3N1Ym1pdGNsaWNrJywgeyBzdGF0aWM6IHRydWUgfSkgc3VibWl0Y2xpY2s6IEVsZW1lbnRSZWY7XG5cblxuICBnZXQgZXh0cmFQcm9wZXJ0aWVzKCkge1xuICAgIHJldHVybiB0aGlzLl9lbnRpdHkuZ2V0KCdleHRyYVByb3BlcnRpZXMnKSBhcyBGb3JtR3JvdXBcbiAgfVxuICBnZXQgZmllbGRJbnB1dCgpIHsgcmV0dXJuIHRoaXMuZXh0cmFQcm9wZXJ0aWVzLmdldCh0aGlzLl9maWVsZHMuZmllbGQubmFtZSk7IH1cbiAgLyoq5pWw5o2u5Yqg6L295a6M5oiQICovXG4gIGFzeW5jIGRhdGFMb2FkZWQoKSB7XG4gICAgaWYgKHRoaXMuX2ZpZWxkcyAmJiB0aGlzLl9lbnRpdHkpIHtcbiAgICAgIGF3YWl0IHRoaXMuQWZ0ZXJJbml0KClcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTsgIFxuICAgICAgdGhpcy5zdWJtaXRjbGljay5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XG4gICAgfVxuICB9XG5cbiAgQWZ0ZXJJbml0KCkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0cykgPT4ge1xuICAgICAgbGV0IFZhbGlkYXRvcnNBcnJheSA9IFtdXG4gICAgICBsZXQgZm9ybUNvbmZpZ3VyYXRpb249dGhpcy5fZmllbGRzLmZpZWxkLmZvcm1Db25maWd1cmF0aW9uXG4gICAgICBpZiAodGhpcy5fZmllbGRzLnJlcXVpcmVkKSB7XG4gICAgICAgIFZhbGlkYXRvcnNBcnJheS5wdXNoKFZhbGlkYXRvcnMucmVxdWlyZWQpXG4gICAgICB9XG4gICAgICBpZiAoZm9ybUNvbmZpZ3VyYXRpb25bJ051bWVyaWNFZGl0RmllbGQuTWluJ10pIHtcbiAgICAgICAgVmFsaWRhdG9yc0FycmF5LnB1c2goVmFsaWRhdG9ycy5taW4oZm9ybUNvbmZpZ3VyYXRpb25bJ051bWVyaWNFZGl0RmllbGQuTWluJ10pKVxuICAgICAgfVxuICAgICAgaWYgKGZvcm1Db25maWd1cmF0aW9uWydOdW1lcmljRWRpdEZpZWxkLk1heCddKSB7XG4gICAgICAgIFZhbGlkYXRvcnNBcnJheS5wdXNoKFZhbGlkYXRvcnMubWF4KGZvcm1Db25maWd1cmF0aW9uWydOdW1lcmljRWRpdEZpZWxkLk1heCddKSlcbiAgICAgIH1cbiAgICAgIGxldCBuZXdDb250cm9sID0gdGhpcy5mYi5jb250cm9sKHRoaXMuX3NlbGVjdGVkLCBWYWxpZGF0b3JzQXJyYXkpXG4gICAgICB0aGlzLmV4dHJhUHJvcGVydGllcy5zZXRDb250cm9sKHRoaXMuX2ZpZWxkcy5maWVsZC5uYW1lLCBuZXdDb250cm9sKVxuXG4gICAgICByZXNvbHZlKHRydWUpXG4gICAgfSlcbiAgfVxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAvL0NhbGxlZCBvbmNlLCBiZWZvcmUgdGhlIGluc3RhbmNlIGlzIGRlc3Ryb3llZC5cbiAgICAvL0FkZCAnaW1wbGVtZW50cyBPbkRlc3Ryb3knIHRvIHRoZSBjbGFzcy5cbiAgICB0aGlzLmV4dHJhUHJvcGVydGllcy5yZW1vdmVDb250cm9sKHRoaXMuX2ZpZWxkcy5maWVsZC5uYW1lKVxuICB9XG5cbiAgLyoq5pWw5a2X5qGG6L6T5YWlICovXG4gIGlucHV0Y2hhbmdlKGV2ZW50KXtcbiAgICBsZXQgdmFsPWV2ZW50LnRhcmdldC52YWx1ZVxuICAgIGNvbnN0IGRlY2ltYWxQYXJ0ID0gdmFsLnRvU3RyaW5nKCkuc3BsaXQoJy4nKVsxXXx8Jyc7XG4gICAgbGV0IGZvcm1Db25maWd1cmF0aW9uPXRoaXMuX2ZpZWxkcy5maWVsZC5mb3JtQ29uZmlndXJhdGlvblxuICAgIGxldCBEZWNpbWFscz1mb3JtQ29uZmlndXJhdGlvblsnTnVtZXJpY0VkaXRGaWVsZC5EZWNpbWFscyddXG4gICAgaWYoZGVjaW1hbFBhcnQubGVuZ3RoPkRlY2ltYWxzKXtcbiAgICAgIHRoaXMuZmllbGRJbnB1dC5wYXRjaFZhbHVlKCcnK3ZhbC5zbGljZSgwLHZhbC5sZW5ndGgtKGRlY2ltYWxQYXJ0Lmxlbmd0aC0yKSkudG9TdHJpbmcoKSsnJylcbiAgICB9XG4gIH1cbn1cbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwiX2VudGl0eVwiPlxuICAgIDxkaXYgW2Zvcm1Hcm91cE5hbWVdPVwiX3BhcmVudEZpbGVkTmFtZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItMlwiPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiICpuZ0lmPVwiX2ZpZWxkcy5kaXNwbGF5TmFtZVwiPnt7IF9maWVsZHMuZGlzcGxheU5hbWUgfX08L2xhYmVsPlxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJudW1iZXJcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGZvcm1Db250cm9sTmFtZT1cInt7X2ZpZWxkcy5maWVsZC5uYW1lfX1cIlxuICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJfZmllbGRzLmZpZWxkLmZvcm1Db25maWd1cmF0aW9uWydOdW1lcmljRWRpdEZpZWxkLlBsYWNlaG9sZGVyJ118fCcnXCJcbiAgICAgICAgICAgICAgICBbbWluXT1cIl9maWVsZHMuZmllbGQuZm9ybUNvbmZpZ3VyYXRpb25bJ051bWVyaWNFZGl0RmllbGQuTWluJ11cIlxuICAgICAgICAgICAgICAgIFttYXhdPVwiX2ZpZWxkcy5maWVsZC5mb3JtQ29uZmlndXJhdGlvblsnTnVtZXJpY0VkaXRGaWVsZC5NYXgnXVwiXG4gICAgICAgICAgICAgICAgW3N0ZXBdPVwiX2ZpZWxkcy5maWVsZC5mb3JtQ29uZmlndXJhdGlvblsnTnVtZXJpY0VkaXRGaWVsZC5TdGVwJ11cIiAoaW5wdXQpPVwiaW5wdXRjaGFuZ2UoJGV2ZW50KVwiIC8+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS10ZXh0XCIgKm5nSWY9XCJfZmllbGRzLmZpZWxkLmRlc2NyaXB0aW9uXCI+e3tfZmllbGRzLmZpZWxkLmRlc2NyaXB0aW9ufX08L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICA8L2Rpdj5cbiAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIiBzdHlsZT1cImRpc3BsYXk6IG5vbmU7XCIgI3N1Ym1pdGNsaWNrPjwvYnV0dG9uPlxuPC9mb3JtPiJdfQ==
|
|
@@ -513,7 +513,7 @@ class NumbericEditControlComponent {
|
|
|
513
513
|
let formConfiguration = this._fields.field.formConfiguration;
|
|
514
514
|
let Decimals = formConfiguration['NumericEditField.Decimals'];
|
|
515
515
|
if (decimalPart.length > Decimals) {
|
|
516
|
-
this.fieldInput.patchValue(val.slice(0, val.length - (decimalPart.length - 2)));
|
|
516
|
+
this.fieldInput.patchValue('' + val.slice(0, val.length - (decimalPart.length - 2)).toString() + '');
|
|
517
517
|
}
|
|
518
518
|
}
|
|
519
519
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: NumbericEditControlComponent, deps: [{ token: i1.FormBuilder }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dignite-ng-expand.dynamic-form.mjs","sources":["../../../projects/dynamic-form/src/lib/components/form/text-edit/text-edit-config.ts","../../../projects/dynamic-form/src/lib/enums/text-edit-mode.ts","../../../projects/dynamic-form/src/lib/components/form/text-edit/text-edit-config.component.ts","../../../projects/dynamic-form/src/lib/components/form/text-edit/text-edit-config.component.html","../../../projects/dynamic-form/src/lib/components/form/text-edit/text-edit.component.ts","../../../projects/dynamic-form/src/lib/components/form/text-edit/text-edit.component.html","../../../projects/dynamic-form/src/lib/components/form/switch/switch-config.ts","../../../projects/dynamic-form/src/lib/components/form/switch/switch-config.component.ts","../../../projects/dynamic-form/src/lib/components/form/switch/switch-config.component.html","../../../projects/dynamic-form/src/lib/components/form/switch/switch-control.component.ts","../../../projects/dynamic-form/src/lib/components/form/switch/switch-control.component.html","../../../projects/dynamic-form/src/lib/components/form/numeric-edit/numberic-edit-config.ts","../../../projects/dynamic-form/src/lib/components/form/numeric-edit/numberic-edit-config.component.ts","../../../projects/dynamic-form/src/lib/components/form/numeric-edit/numberic-edit-config.component.html","../../../projects/dynamic-form/src/lib/components/form/numeric-edit/numberic-edit-control.component.ts","../../../projects/dynamic-form/src/lib/components/form/numeric-edit/numberic-edit-control.component.html","../../../projects/dynamic-form/src/lib/enums/date-edit-interfaces.ts","../../../projects/dynamic-form/src/lib/components/form/date-edit/date-edit-config.ts","../../../projects/dynamic-form/src/lib/components/form/date-edit/date-edit-config.component.ts","../../../projects/dynamic-form/src/lib/components/form/date-edit/date-edit-config.component.html","../../../projects/dynamic-form/src/lib/components/form/date-edit/date-edit-control.component.ts","../../../projects/dynamic-form/src/lib/components/form/date-edit/date-edit-control.component.html","../../../projects/dynamic-form/src/lib/components/form/select/select-config.ts","../../../projects/dynamic-form/src/lib/services/df-api.service.ts","../../../projects/dynamic-form/src/lib/components/form/select/select-config.component.ts","../../../projects/dynamic-form/src/lib/components/form/select/select-config.component.html","../../../projects/dynamic-form/src/lib/components/form/select/select-control.component.ts","../../../projects/dynamic-form/src/lib/components/form/select/select-control.component.html","../../../projects/dynamic-form/src/lib/components/form/form-control-group.ts","../../../projects/dynamic-form/src/lib/components/dynamic/dynamic.component.ts","../../../projects/dynamic-form/src/lib/components/dynamic/dynamic.component.html","../../../projects/dynamic-form/src/lib/dynamic-form.module.ts","../../../projects/dynamic-form/src/public-api.ts","../../../projects/dynamic-form/src/dignite-ng-expand.dynamic-form.ts"],"sourcesContent":["import { FormControl, Validators } from \"@angular/forms\";\r\n\r\nexport class TextEditConfig {\r\n\r\n\r\n /**占位符 */\r\n 'TextEdit.Placeholder': any = ['', []];\r\n //字段类型,单行文本,多行文本\r\n 'TextEdit.Mode': any = [0, []];\r\n // 字数限制\r\n 'TextEdit.CharLimit': any = ['265', []];\r\n\r\n constructor(data?: TextEditConfig) {\r\n if (data) {\r\n for (const key in data) {\r\n if (data.hasOwnProperty(key)) {\r\n this[key] = data[key];\r\n }\r\n }\r\n }\r\n\r\n\r\n }\r\n}","export enum TextEditMode {\n // 简单类型\n SingleLine,\n // 复合类型;\n MultipleLine,\n \n}\n","import { Component, ElementRef, Input, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup} from '@angular/forms';\nimport { TextEditConfig } from './text-edit-config';\nimport { TextEditMode } from '../../../enums/text-edit-mode';\n\n@Component({\n selector: 'df-text-edit-config',\n templateUrl: './text-edit-config.component.html',\n styleUrls: ['./text-edit-config.component.scss']\n})\nexport class TextEditConfigComponent {\n constructor(\n private fb: FormBuilder,\n ) { }\n _TextEditMode=TextEditMode\n /**表单控件类型 */\n _type: any\n @Input()\n public set type(v: any) {\n this._type = v\n this.dataLoaded()\n }\n /**表单实体 */\n _Entity: FormGroup | undefined\n @Input()\n public set Entity(v: FormGroup) {\n this._Entity = v;\n this.dataLoaded()\n }\n /**选择的表单信息 */\n _selected: any\n @Input()\n public set selected(v: any) {\n this._selected = v\n this.dataLoaded()\n }\n get formConfiguration() {\n return this._Entity.get('formConfiguration') as FormGroup\n }\n @ViewChild('submitclick', { static: true }) submitclick: ElementRef;\n\n async dataLoaded() {\n if (this._Entity && this._type) {\n await this.AfterInit()\n this.submitclick.nativeElement.click();\n }\n }\n\n AfterInit() {\n return new Promise((resolve, rejects) => {\n this._Entity.setControl('formConfiguration', this.fb.group(new TextEditConfig()))\n if (this._selected&&this._selected.formControlName==this._type) {\n this.formConfiguration.patchValue({\n ...this._selected.formConfiguration\n })\n }\n resolve(true)\n })\n }\n\n\n\n}\n","<form [formGroup]=\"_Entity\">\n <div formGroupName=\"formConfiguration\">\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'DigniteAbpForms::Placeholder' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"TextEdit.Placeholder\">\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'DigniteAbpForms::TextEditMode' | abpLocalization}}</label>\n <div>\n <div class=\"form-check form-check-inline\">\n <input class=\"form-check-input\" type=\"radio\" [value]=\"_TextEditMode.SingleLine\" formControlName=\"TextEdit.Mode\"\n id=\"flexRadioDefault1\">\n <label class=\"form-check-label\" for=\"flexRadioDefault1\">\n {{'DigniteAbpForms::SingleLine' | abpLocalization}}\n </label>\n </div>\n <div class=\"form-check form-check-inline\">\n <input class=\"form-check-input\" type=\"radio\" [value]=\"_TextEditMode.MultipleLine\" formControlName=\"TextEdit.Mode\"\n id=\"flexRadioDefault2\">\n <label class=\"form-check-label\" for=\"flexRadioDefault2\">\n {{'DigniteAbpForms::MultipleLine' | abpLocalization}}\n </label>\n </div>\n </div>\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'DigniteAbpForms::CharLimit' | abpLocalization}}</label>\n <input type=\"number\" class=\"form-control\" formControlName=\"TextEdit.CharLimit\">\n </div>\n <button type=\"submit\" (abpInit)=\"submitclick?.nativeElement?.click()\" style=\"display: none;\" #submitclick></button>\n </div>\n</form>","/* eslint-disable @angular-eslint/no-empty-lifecycle-method */\n/* eslint-disable @angular-eslint/use-lifecycle-interface */\nimport { Component, ElementRef, Input, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { TextEditMode } from '../../../enums/text-edit-mode';\nimport { TextEditConfig } from './text-edit-config';\n\n@Component({\n selector: 'df-text-edit',\n templateUrl: './text-edit.component.html',\n styleUrls: ['./text-edit.component.scss']\n})\nexport class TextEditComponent {\n\n constructor(\n private fb: FormBuilder,\n ) {\n }\n\n _TextEditMode = TextEditMode\n /**表单实体 */\n _entity: FormGroup | undefined\n @Input()\n public set entity(v: any) {\n this._entity = v;\n if (v) this.dataLoaded()\n }\n\n /**字段配置列表 */\n _fields: any = ''\n @Input()\n public set fields(v: any) {\n this._fields = v;\n if (v) this.dataLoaded()\n }\n\n /**父级字段名称,用于为表单设置控件赋值 */\n _parentFiledName: any\n @Input()\n public set parentFiledName(v: any) {\n this._parentFiledName = v;\n if (v) this.dataLoaded()\n }\n /**父级字段名称,用于为表单设置控件赋值 */\n _selected: any\n @Input()\n public set selected(v: any) {\n this._selected = v || '';\n if (v) this.dataLoaded()\n }\n @ViewChild('submitclick', { static: true }) submitclick: ElementRef;\n\n extraProperties: FormGroup | undefined\n async dataLoaded() {\n if (this._fields && this._entity && this._parentFiledName) {\n this.extraProperties = this._entity.get(this._parentFiledName) as FormGroup\n await this.AfterInit()\n this.submitclick?.nativeElement?.click();\n }\n }\n\n AfterInit() {\n return new Promise((resolve, rejects) => {\n let ValidatorsArray = []\n if (this._fields.required) {\n ValidatorsArray.push(Validators.required)\n }\n this._fields.field.formConfiguration={\n ...this.fb.group(new TextEditConfig()).value,\n ...this._fields.field.formConfiguration\n }\n if (this._fields.field.formConfiguration['TextEdit.CharLimit']) {\n ValidatorsArray.push(Validators.maxLength(this._fields.field.formConfiguration['TextEdit.CharLimit']))\n }\n \n let newControl = this.fb.control(this._selected, ValidatorsArray)\n this.extraProperties.setControl(this._fields.field.name, newControl)\n resolve(true)\n })\n }\n ngOnDestroy(): void {\n //Called once, before the instance is destroyed.\n //Add 'implements OnDestroy' to the class.\n this.extraProperties.removeControl(this._fields.field.name)\n }\n\n isObjEmpty = (obj) => Object.keys(obj).length === 0\n}\n","<form [formGroup]=\"_entity\">\n <div [formGroupName]=\"_parentFiledName\">\n <div class=\"mb-2\">\n <label class=\"form-label\" *ngIf=\"_fields.displayName\">{{ _fields.displayName }}</label>\n <ng-container *ngIf=\"_fields.field.formConfiguration['TextEdit.Mode'] ===_TextEditMode.SingleLine\">\n <input type=\"text\" class=\"form-control\" formControlName=\"{{_fields.field.name}}\"\n [placeholder]=\"_fields.field.formConfiguration['TextEdit.Placeholder']\" />\n </ng-container>\n <ng-container *ngIf=\"_fields.field.formConfiguration['TextEdit.Mode'] === _TextEditMode.MultipleLine\">\n <textarea class=\"form-control\" formControlName=\"{{_fields.field.name}}\"\n [placeholder]=\"_fields.field.formConfiguration['TextEdit.Placeholder']\" rows=\"3\"></textarea>\n </ng-container>\n <div class=\"form-text\" *ngIf=\"_fields.field.description\">{{_fields.field.description}}</div>\n </div>\n </div>\n <button type=\"submit\" style=\"display: none;\" #submitclick></button>\n</form>","import { FormControl, Validators } from \"@angular/forms\";\r\n\r\nexport class SwitchConfig {\r\n\r\n\r\n /**默认值 */\r\n 'Switch.Default': any = [false, []];\r\n constructor(data?: SwitchConfig) {\r\n if (data) {\r\n for (const key in data) {\r\n if (data.hasOwnProperty(key)) {\r\n this[key] = data[key];\r\n }\r\n }\r\n }\r\n }\r\n}","import { Component, ElementRef, Input, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { SwitchConfig } from './switch-config';\n@Component({\n selector: 'df-switch-config',\n templateUrl: './switch-config.component.html',\n styleUrls: ['./switch-config.component.scss']\n})\nexport class SwitchConfigComponent {\n constructor(\n private fb: FormBuilder,\n ) { }\n /**表单控件类型 */\n _type: any\n @Input()\n public set type(v: any) {\n this._type = v\n this.dataLoaded()\n }\n /**表单实体 */\n _Entity: FormGroup | undefined\n @Input()\n public set Entity(v: FormGroup) {\n this._Entity = v;\n this.dataLoaded()\n }\n /**选择的表单信息 */\n _selected: any\n @Input()\n public set selected(v: any) {\n this._selected = v\n\n this.dataLoaded()\n }\n get formConfiguration() {\n return this._Entity.get('formConfiguration') as FormGroup\n }\n @ViewChild('submitclick', { static: true }) submitclick: ElementRef;\n\n async dataLoaded() {\n if (this._Entity && this._type) {\n await this.AfterInit()\n this.submitclick.nativeElement.click();\n }\n }\n\n AfterInit() {\n return new Promise((resolve, rejects) => {\n this._Entity.setControl('formConfiguration', this.fb.group(new SwitchConfig()))\n if (this._selected&&this._selected.formControlName==this._type) {\n this.formConfiguration.patchValue({\n ...this._selected.formConfiguration\n })\n }\n resolve(true)\n })\n }\n\n}\n","<form [formGroup]=\"_Entity\">\n <div formGroupName=\"formConfiguration\">\n <div class=\"mb-2\">\n <div>\n <div class=\"form-check form-check-inline\">\n <input class=\"form-check-input\" type=\"checkbox\" formControlName=\"Switch.Default\"\n id=\"flexRadioDefault1\">\n <label class=\"form-check-label\" for=\"flexRadioDefault1\">\n {{'DigniteAbpForms::DefaultValue' | abpLocalization}}\n </label>\n </div>\n \n </div>\n </div>\n <button type=\"submit\" (abpInit)=\"submitclick?.nativeElement?.click()\" style=\"display: none;\" #submitclick></button>\n </div>\n</form>","import { Component, ElementRef, Input, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\n\n@Component({\n selector: 'df-switch-control',\n templateUrl: './switch-control.component.html',\n styleUrls: ['./switch-control.component.scss']\n})\nexport class SwitchControlComponent {\n\n constructor(\n private fb: FormBuilder,\n ) {\n\n }\n\n /**表单实体 */\n _entity: FormGroup | undefined\n @Input()\n public set entity(v: any) {\n this._entity = v;\n this.dataLoaded()\n }\n\n /**字段配置列表 */\n _fields: any = ''\n @Input()\n public set fields(v: any) {\n this._fields = v;\n this.dataLoaded()\n }\n\n /**父级字段名称,用于为表单设置控件赋值 */\n _parentFiledName: any\n @Input()\n public set parentFiledName(v: any) {\n this._parentFiledName = v;\n this.dataLoaded()\n }\n /** */\n _selected: any\n @Input()\n public set selected(v: any) {\n // ?v:false;\n this._selected = v\n this.dataLoaded()\n }\n @ViewChild('submitclick', { static: true }) submitclick: ElementRef;\n\n\n get extraProperties() {\n return this._entity.get('extraProperties') as FormGroup\n }\n /**数据加载完成 */\n async dataLoaded() {\n if (this._fields && this._entity) {\n await this.AfterInit()\n this.submitclick.nativeElement.click();\n }\n }\n\n AfterInit() {\n return new Promise((resolve, rejects) => {\n let ValidatorsArray = []\n if (this._fields.required) {\n ValidatorsArray.push(Validators.required)\n }\n // console.log(this._selected,'this._selected',this._fields.field.name);\n \n let newControl = this.fb.control(this._selected?this._selected:this._selected===false?this._selected:this._fields.field.formConfiguration['Switch.Default'], ValidatorsArray)\n this.extraProperties.setControl(this._fields.field.name, newControl)\n resolve(true)\n })\n }\n ngOnDestroy(): void {\n //Called once, before the instance is destroyed.\n //Add 'implements OnDestroy' to the class.\n this.extraProperties.removeControl(this._fields.field.name)\n }\n}\n","<form [formGroup]=\"_entity\">\n <div formGroupName=\"extraProperties\">\n <div class=\"mb-2\">\n <label class=\"form-label\" *ngIf=\"_fields.displayName\">{{ _fields.displayName }}</label>\n <div class=\"form-check form-switch\">\n <input class=\"form-check-input\" type=\"checkbox\" role=\"switch\" formControlName=\"{{_fields.field.name}}\">\n </div>\n <div class=\"form-text\" *ngIf=\"_fields.field.description\">{{_fields.field.description}}</div>\n </div>\n\n </div>\n <button type=\"submit\" style=\"display: none;\" #submitclick></button>\n</form>","import { FormControl, Validators } from \"@angular/forms\";\r\n\r\nexport class NumbericEditConfig {\r\n /**占位符 */\r\n 'NumericEditField.Placeholder': any = ['', []];\r\n /**最小值 */\r\n 'NumericEditField.Min': any = ['', []];\r\n //最大值\r\n 'NumericEditField.Max': any = ['', []];\r\n // 小数位数\r\n 'NumericEditField.Decimals': any = [2, []];\r\n //步长\r\n 'NumericEditField.Step': any = ['', []];\r\n //格式说明符\r\n 'FormatSpecifier': any = ['', []];\r\n\r\n constructor(data?: NumbericEditConfig) {\r\n if (data) {\r\n for (const key in data) {\r\n if (data.hasOwnProperty(key)) {\r\n this[key] = data[key];\r\n }\r\n }\r\n }\r\n\r\n\r\n }\r\n}","import { Component, ElementRef, Input, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { NumbericEditConfig } from './numberic-edit-config';\n\n@Component({\n selector: 'df-numberic-edit-config',\n templateUrl: './numberic-edit-config.component.html',\n styleUrls: ['./numberic-edit-config.component.scss']\n})\nexport class NumbericEditConfigComponent {\n constructor(\n private fb: FormBuilder,\n ) { }\n /**表单控件类型 */\n _type: any\n @Input()\n public set type(v: any) {\n this._type = v\n this.dataLoaded()\n }\n /**表单实体 */\n _Entity: FormGroup | undefined\n @Input()\n public set Entity(v: FormGroup) {\n this._Entity = v;\n this.dataLoaded()\n }\n /**选择的表单信息 */\n _selected: any\n @Input()\n public set selected(v: any) {\n this._selected = v?v:v==false?v:''\n\n this.dataLoaded()\n }\n get formConfiguration() {\n return this._Entity.get('formConfiguration') as FormGroup\n }\n @ViewChild('submitclick', { static: true }) submitclick: ElementRef;\n\n async dataLoaded() {\n if (this._Entity && this._type) {\n await this.AfterInit()\n this.submitclick.nativeElement.click();\n }\n }\n\n AfterInit() {\n return new Promise((resolve, rejects) => {\n this._Entity.setControl('formConfiguration', this.fb.group(new NumbericEditConfig()))\n if (this._selected&&this._selected.formControlName==this._type) {\n this.formConfiguration.patchValue({\n ...this._selected.formConfiguration\n })\n }\n resolve(true)\n })\n }\n}\n","<form [formGroup]=\"_Entity\">\n <div formGroupName=\"formConfiguration\">\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'DigniteAbpForms::Placeholder' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"NumericEditField.Placeholder\">\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'DigniteAbpForms::Min' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"NumericEditField.Min\">\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'DigniteAbpForms::Max' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"NumericEditField.Max\">\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'DigniteAbpForms::NumericDecimals' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"NumericEditField.Decimals\">\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'DigniteAbpForms::NumericStep' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"NumericEditField.Step\">\n <div class=\"form-text\">{{'DigniteAbpForms::NumericStepHelp'}}</div>\n </div>\n \n <div class=\"mb-2\">\n <label class=\"form-label\">{{'DigniteAbpForms::FormatSpecifier' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"FormatSpecifier\">\n <div class=\"form-text\">See:<a href=\"https://docs.microsoft.com/zh-cn/dotnet/standard/base-types/standard-numeric-format-strings\" target=\"_blank\">https://docs.microsoft.com/zh-cn/dotnet/standard/base-types/standard-numeric-format-strings</a></div>\n </div>\n \n <button type=\"submit\" (abpInit)=\"submitclick?.nativeElement?.click()\" style=\"display: none;\" #submitclick></button>\n </div>\n</form>","import { Component, ElementRef, Input, ViewChild, ChangeDetectionStrategy ,ChangeDetectorRef } from '@angular/core';\nimport { FormBuilder, FormGroup, ValidatorFn, Validators } from '@angular/forms';\nimport { AbstractControl, ValidationErrors } from '@angular/forms'; \n \nexport function maxDecimalPlacesValidator(maxDecimalPlaces: number): ValidatorFn { \n return (control: AbstractControl): ValidationErrors | null => { \n const value = control.value; \n if (typeof value === 'number' && isNaN(value) === false) { \n const decimalPart = value.toString().split('.')[1]; \n if (decimalPart && decimalPart.length > maxDecimalPlaces) { \n return { 'maxDecimalPlaces': { actual: decimalPart.length, max: maxDecimalPlaces } }; \n } \n } \n return null; \n }; \n}\n@Component({\n selector: 'df-numberic-edit-control',\n templateUrl: './numberic-edit-control.component.html',\n styleUrls: ['./numberic-edit-control.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NumbericEditControlComponent {\n\n constructor(\n private fb: FormBuilder,\n private cdr: ChangeDetectorRef \n ) {\n\n }\n\n /**表单实体 */\n _entity: FormGroup | undefined\n @Input()\n public set entity(v: any) {\n this._entity = v;\n this.dataLoaded()\n }\n\n public get entity(): any {\n return this._entity\n }\n\n\n /**字段配置列表 */\n _fields: any = ''\n @Input()\n public set fields(v: any) {\n this._fields = v;\n this.dataLoaded()\n }\n\n /**父级字段名称,用于为表单设置控件赋值 */\n _parentFiledName: any\n @Input()\n public set parentFiledName(v: any) {\n this._parentFiledName = v;\n this.dataLoaded()\n }\n /**父级字段名称,用于为表单设置控件赋值 */\n _selected: any\n @Input()\n public set selected(v: any) {\n this._selected = v ;\n this.dataLoaded()\n }\n @ViewChild('submitclick', { static: true }) submitclick: ElementRef;\n\n\n get extraProperties() {\n return this._entity.get('extraProperties') as FormGroup\n }\n get fieldInput() { return this.extraProperties.get(this._fields.field.name); }\n /**数据加载完成 */\n async dataLoaded() {\n if (this._fields && this._entity) {\n await this.AfterInit()\n this.cdr.detectChanges(); \n this.submitclick.nativeElement.click();\n }\n }\n\n AfterInit() {\n return new Promise((resolve, rejects) => {\n let ValidatorsArray = []\n let formConfiguration=this._fields.field.formConfiguration\n if (this._fields.required) {\n ValidatorsArray.push(Validators.required)\n }\n if (formConfiguration['NumericEditField.Min']) {\n ValidatorsArray.push(Validators.min(formConfiguration['NumericEditField.Min']))\n }\n if (formConfiguration['NumericEditField.Max']) {\n ValidatorsArray.push(Validators.max(formConfiguration['NumericEditField.Max']))\n }\n let newControl = this.fb.control(this._selected, ValidatorsArray)\n this.extraProperties.setControl(this._fields.field.name, newControl)\n\n resolve(true)\n })\n }\n ngOnDestroy(): void {\n //Called once, before the instance is destroyed.\n //Add 'implements OnDestroy' to the class.\n this.extraProperties.removeControl(this._fields.field.name)\n }\n\n /**数字框输入 */\n inputchange(event){\n let val=event.target.value\n const decimalPart = val.toString().split('.')[1]||'';\n let formConfiguration=this._fields.field.formConfiguration\n let Decimals=formConfiguration['NumericEditField.Decimals']\n if(decimalPart.length>Decimals){\n this.fieldInput.patchValue(val.slice(0,val.length-(decimalPart.length-2)))\n }\n }\n}\n","<form [formGroup]=\"_entity\">\n <div [formGroupName]=\"_parentFiledName\">\n <div class=\"mb-2\">\n <label class=\"form-label\" *ngIf=\"_fields.displayName\">{{ _fields.displayName }}</label>\n <input type=\"number\" class=\"form-control\" formControlName=\"{{_fields.field.name}}\"\n [placeholder]=\"_fields.field.formConfiguration['NumericEditField.Placeholder']||''\"\n [min]=\"_fields.field.formConfiguration['NumericEditField.Min']\"\n [max]=\"_fields.field.formConfiguration['NumericEditField.Max']\"\n [step]=\"_fields.field.formConfiguration['NumericEditField.Step']\" (input)=\"inputchange($event)\" />\n <div class=\"form-text\" *ngIf=\"_fields.field.description\">{{_fields.field.description}}</div>\n </div>\n\n </div>\n <button type=\"submit\" style=\"display: none;\" #submitclick></button>\n</form>","export enum DateEditInterfaces {\n /// <summary>\n /// Only date is allowed to be entered.\n /// </summary>\n Date = 0,\n\n /// <summary>\n /// Both date and time are allowed to be entered.\n /// </summary>\n DateTime = 1,\n\n /// <summary>\n /// Allowed to select only year and month.\n /// </summary>\n Month = 2\n}\n","import { FormControl, Validators } from \"@angular/forms\";\r\nimport { DateEditInterfaces } from \"../../../enums/date-edit-interfaces\";\r\n\r\nexport class DateEditConfig {\r\n\r\n\r\n\r\n /**日期格式 */\r\n 'DateEdit.InputMode': any = [DateEditInterfaces.Date, []];\r\n /**最小值 */\r\n 'DateEdit.Min': any = ['', []];\r\n /**最大值 */\r\n 'DateEdit.Max': any = ['', []];\r\n\r\n constructor(data?: DateEditConfig) {\r\n if (data) {\r\n for (const key in data) {\r\n if (data.hasOwnProperty(key)) {\r\n this[key] = data[key];\r\n }\r\n }\r\n }\r\n\r\n\r\n }\r\n}","import { Component, ElementRef, Input, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, } from '@angular/forms';\nimport { DateEditConfig } from './date-edit-config';\nimport { DateEditInterfaces } from '../../../enums/date-edit-interfaces';\n\n@Component({\n selector: 'df-date-edit-config',\n templateUrl: './date-edit-config.component.html',\n styleUrls: ['./date-edit-config.component.scss']\n})\nexport class DateEditConfigComponent {\n constructor(\n private fb: FormBuilder,\n ) { }\n _DateEditInterfaces=DateEditInterfaces\n /**表单控件类型 */\n _type: any\n @Input()\n public set type(v: any) {\n this._type = v\n this.dataLoaded()\n }\n /**表单实体 */\n _Entity: FormGroup | undefined\n @Input()\n public set Entity(v: FormGroup) {\n this._Entity = v;\n this.dataLoaded()\n }\n /**选择的表单信息 */\n _selected: any\n @Input()\n public set selected(v: any) {\n this._selected = v\n this.dataLoaded()\n }\n get formConfiguration() {\n return this._Entity.get('formConfiguration') as FormGroup\n }\n @ViewChild('submitclick', { static: true }) submitclick: ElementRef;\n\n async dataLoaded() {\n if (this._Entity && this._type) {\n await this.AfterInit()\n this.submitclick.nativeElement.click();\n }\n }\n\n AfterInit() {\n return new Promise((resolve, rejects) => {\n this._Entity.setControl('formConfiguration', this.fb.group(new DateEditConfig()))\n if (this._selected&&this._selected.formControlName==this._type) {\n this.formConfiguration.patchValue({\n ...this._selected.formConfiguration\n })\n }\n resolve(true)\n })\n }\n\n} \n","<form [formGroup]=\"_Entity\">\n <div formGroupName=\"formConfiguration\">\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'DigniteAbpForms::DateEditMode' | abpLocalization}}</label>\n <div>\n <div class=\"form-check form-check-inline\">\n <input class=\"form-check-input\" type=\"radio\" [value]=\"_DateEditInterfaces.Date\"\n formControlName=\"DateEdit.InputMode\" id=\"flexRadioDefault1\">\n <label class=\"form-check-label\" for=\"flexRadioDefault1\">\n {{'DigniteAbpForms::Date' | abpLocalization}}\n </label>\n </div>\n <div class=\"form-check form-check-inline\">\n <input class=\"form-check-input\" type=\"radio\" [value]=\"_DateEditInterfaces.DateTime\"\n formControlName=\"DateEdit.InputMode\" id=\"flexRadioDefault2\">\n <label class=\"form-check-label\" for=\"flexRadioDefault2\">\n {{'DigniteAbpForms::DateTime' | abpLocalization}}\n </label>\n </div>\n <div class=\"form-check form-check-inline\">\n <input class=\"form-check-input\" type=\"radio\" [value]=\"_DateEditInterfaces.Month\"\n formControlName=\"DateEdit.InputMode\" id=\"flexRadioDefault3\">\n <label class=\"form-check-label\" for=\"flexRadioDefault3\">\n {{'DigniteAbpForms::Month' | abpLocalization}}\n </label>\n </div>\n </div>\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'DigniteAbpForms::Min' | abpLocalization}}</label>\n <input type=\"datetime-local\" class=\"form-control\" step=\"1\" formControlName=\"DateEdit.Min\">\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'DigniteAbpForms::Max' | abpLocalization}}</label>\n <input type=\"datetime-local\" class=\"form-control\" step=\"1\" formControlName=\"DateEdit.Max\">\n </div>\n <button type=\"submit\" (abpInit)=\"submitclick?.nativeElement?.click()\" style=\"display: none;\"\n #submitclick></button>\n </div>\n</form>","import { Component, ElementRef, Input, ViewChild,ChangeDetectorRef } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { DateEditInterfaces } from '../../../enums/date-edit-interfaces';\n \n@Component({\n selector: 'df-date-edit-control',\n templateUrl: './date-edit-control.component.html',\n styleUrls: ['./date-edit-control.component.scss']\n})\nexport class DateEditControlComponent {\n\n constructor(\n private fb: FormBuilder,\n private cdr: ChangeDetectorRef \n ) {\n\n }\n _DateEditInterfaces=DateEditInterfaces\n /**表单实体 */\n _entity: FormGroup | undefined\n @Input()\n public set entity(v: any) {\n this._entity = v;\n this.dataLoaded()\n }\n\n public get entity(): any {\n return this._entity\n }\n\n\n /**字段配置列表 */\n _fields: any = ''\n @Input()\n public set fields(v: any) {\n this._fields = v;\n this.dataLoaded()\n }\n\n /**父级字段名称,用于为表单设置控件赋值 */\n _parentFiledName: any\n @Input()\n public set parentFiledName(v: any) {\n this._parentFiledName = v;\n this.dataLoaded()\n }\n /**父级字段名称,用于为表单设置控件赋值 */\n _selected: any\n @Input()\n public set selected(v: any) {\n this._selected = v ;\n this.dataLoaded()\n }\n @ViewChild('submitclick', { static: true }) submitclick: ElementRef;\n\n\n get extraProperties() {\n return this._entity.get('extraProperties') as FormGroup\n }\n get fieldInput() { return this.extraProperties.get(this._fields.field.name); }\n /**数据加载完成 */\n async dataLoaded() {\n if (this._fields && this._entity) {\n await this.AfterInit()\n this.cdr.detectChanges(); \n this.submitclick.nativeElement.click();\n }\n }\n\n AfterInit() {\n return new Promise((resolve, rejects) => {\n let ValidatorsArray = []\n let formConfiguration=this._fields.field.formConfiguration\n if (this._fields.required) {\n ValidatorsArray.push(Validators.required)\n }\n if (formConfiguration['DateEdit.Min']) {\n ValidatorsArray.push(Validators.min(formConfiguration['DateEdit.Min']))\n }\n if (formConfiguration['DateEdit.Max']) {\n ValidatorsArray.push(Validators.max(formConfiguration['DateEdit.Max']))\n }\n \n let newControl = this.fb.control(this._selected, ValidatorsArray)\n this.extraProperties.setControl(this._fields.field.name, newControl)\n\n resolve(true)\n })\n }\n ngOnDestroy(): void {\n //Called once, before the instance is destroyed.\n //Add 'implements OnDestroy' to the class.\n this.extraProperties.removeControl(this._fields.field.name)\n }\n}","<form [formGroup]=\"_entity\">\n <div [formGroupName]=\"_parentFiledName\">\n <div class=\"mb-2\">\n <label class=\"form-label\" *ngIf=\"_fields.displayName\">{{ _fields.displayName }}</label>\n\n <ng-container *ngIf=\"_fields.field.formConfiguration['DateEdit.InputMode'] === _DateEditInterfaces.Date\">\n <input type=\"date\" class=\"form-control\" step=\"1\" formControlName=\"{{_fields.field.name}}\"\n [min]=\"_fields.field.formConfiguration['DateEdit.Min']\"\n [max]=\"_fields.field.formConfiguration['DateEdit.Max']\" />\n </ng-container>\n <ng-container\n *ngIf=\"_fields.field.formConfiguration['DateEdit.InputMode'] === _DateEditInterfaces.DateTime\">\n <input type=\"datetime-local\" class=\"form-control\" step=\"1\" formControlName=\"{{_fields.field.name}}\"\n [min]=\"_fields.field.formConfiguration['DateEdit.Min']\"\n [max]=\"_fields.field.formConfiguration['DateEdit.Max']\" />\n </ng-container>\n <ng-container *ngIf=\"_fields.field.formConfiguration['DateEdit.InputMode'] === _DateEditInterfaces.Month\">\n <input type=\"month\" class=\"form-control\" step=\"1\" formControlName=\"{{_fields.field.name}}\"\n [min]=\"_fields.field.formConfiguration['DateEdit.Min']\"\n [max]=\"_fields.field.formConfiguration['DateEdit.Max']\" />\n </ng-container>\n <div class=\"form-text\" *ngIf=\"_fields.field.description\">{{_fields.field.description}}</div>\n </div>\n </div>\n <button type=\"submit\" style=\"display: none;\" #submitclick></button>\n</form>","import { FormArray, FormControl, Validators } from \"@angular/forms\";\r\n\r\nexport class SelectConfig {\r\n\r\n\r\n /**空值文本 */\r\n 'Select.NullText': any = ['', []];\r\n //多选\r\n 'Select.Multiple': any = [false, []];\r\n // 选项\r\n 'Select.Options': any = new FormArray([])\r\n\r\n constructor(data?: SelectConfig) {\r\n if (data) {\r\n for (const key in data) {\r\n if (data.hasOwnProperty(key)) {\r\n this[key] = data[key];\r\n }\r\n }\r\n }\r\n\r\n\r\n }\r\n}","import { Injectable } from '@angular/core';\nimport { pinyin } from 'pinyin-pro';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DfApiService {\n\n constructor() { }\n\n /**\n * 识别中文转化为拼音,固定返回类型\n * 汉字转拼音\n * 大写转小写\n * \n * */\n chineseToPinyin(value: any) {\n //去除字符串中所有的空格\n // let val = value\n let val = value.replaceAll(' ', \"-\")\n let array = val.split('')\n let newArray = []\n array.forEach((el: any, index: any) => {\n //转化为小写\n let elChange = el.toLowerCase()\n let isChinese = (str) => {\n return /^[\\u4e00-\\u9fa5]+$/.test(str);\n }\n if (isChinese(elChange)) {\n const resultWithoutTone = pinyin(elChange, { toneType: 'none', type: 'array' });\n elChange = resultWithoutTone.toString() \n if (index < array.length - 1) elChange+='-'\n };\n newArray.push(elChange)\n });\n let pinyinstr = newArray.join('')\n return pinyinstr || val\n }\n\n /**获取图片的本地连接 */\n getImageLacolBase64Url(file: File) {\n return new Promise((resolve, rejects) => {\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = (e: any) => {\n resolve(e.target.result)\n };\n reader.onerror = error => rejects(error);\n })\n }\n\n /**\n * 深拷贝--方法 */\n deepClone(obj) {\n if (typeof obj !== 'object' || obj === null) return obj;\n const result = Array.isArray(obj) ? [] : {};\n for (let key in obj) {\n if (obj.hasOwnProperty(key)) {\n if (typeof obj[key] === 'object' && obj[key] !== null) {\n if (obj[key] instanceof Date) {\n result[key] = new Date(obj[key].getTime());\n } else if (obj[key] instanceof RegExp) {\n result[key] = new RegExp(obj[key]);\n } else {\n result[key] = this.deepClone(obj[key]);\n }\n } else {\n result[key] = obj[key];\n }\n }\n }\n return result;\n }\n\n}\n","import { Component, ElementRef, Input, ViewChild } from '@angular/core';\nimport { FormArray, FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { SelectConfig } from './select-config';\nimport { DfApiService } from '../../../services';\n\n@Component({\n selector: 'df-select-config',\n\n templateUrl: './select-config.component.html',\n styleUrls: ['./select-config.component.scss']\n})\nexport class SelectConfigComponent {\n constructor(\n private fb: FormBuilder,\n private _DfApiService: DfApiService,\n ) { }\n /**表单控件类型 */\n _type: any\n @Input()\n public set type(v: any) {\n this._type = v\n this.dataLoaded()\n }\n /**表单实体 */\n _Entity: FormGroup | undefined\n @Input()\n public set Entity(v: FormGroup) {\n this._Entity = v;\n this.dataLoaded()\n }\n /**选择的表单信息 */\n _selected: any\n @Input()\n public set selected(v: any) {\n this._selected = v\n this.dataLoaded()\n }\n get formConfiguration() {\n return this._Entity.get('formConfiguration') as FormGroup\n }\n get SelectOptions() {\n return this.formConfiguration.controls['Select.Options'] as FormArray\n }\n @ViewChild('submitclick', { static: true }) submitclick: ElementRef;\n\n async dataLoaded() {\n if (this._Entity && this._type) {\n await this.AfterInit()\n this.submitclick.nativeElement.click();\n\n }\n }\n /**增加选项 */\n addSelectOptions() {\n this.SelectOptions.push(new FormGroup({\n Text: new FormControl('', Validators.required),\n Value: new FormControl('', Validators.required),\n Selected: new FormControl(false)\n }))\n }\n /**删除某个选项 */\n deleteSelectOptions(index) {\n this.SelectOptions.removeAt(index)\n }\n\n AfterInit() {\n return new Promise((resolve, rejects) => {\n this._Entity.setControl('formConfiguration', this.fb.group(new SelectConfig()))\n if (this._selected && this._selected.formControlName == this._type) {\n this._selected.formConfiguration['Select.Options']?.forEach(el => {\n this.addSelectOptions()\n });\n this.formConfiguration.patchValue({\n ...this._selected.formConfiguration,\n })\n } else {\n this.addSelectOptions()\n }\n resolve(true)\n })\n }\n\n textChange(event,index){\n let SelectOptionsItem=this.SelectOptions.at(index)\n let value=event.target.value\n if(SelectOptionsItem.get('Value').value) return\n SelectOptionsItem.patchValue({\n Value:this._DfApiService.chineseToPinyin(value)\n })\n }\n}\n","<form [formGroup]=\"_Entity\">\n <div formGroupName=\"formConfiguration\">\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'DigniteAbpForms::SelectListItem' | abpLocalization}}</label>\n <table class=\"table\">\n <thead>\n <tr>\n <th scope=\"col\">{{'DigniteAbpForms::SelectListItemText' | abpLocalization}}</th>\n <th scope=\"col\">{{'DigniteAbpForms::SelectListItemValue' | abpLocalization}}</th>\n <th scope=\"col\">{{'DigniteAbpForms::SelectListItemValue' | abpLocalization}}</th>\n <th scope=\"col\" style=\"width: 1%;\">\n <button class=\"btn btn-light btn-sm\" (click.stop)=\"addSelectOptions()\">\n <i class=\"fas fa-plus-circle\"></i>\n </button>\n </th>\n </tr>\n </thead>\n <tbody formArrayName=\"Select.Options\">\n <ng-container *ngFor=\"let item of SelectOptions.controls;let i=index\">\n <tr [formGroupName]=\"i\">\n <td><input type=\"text\" class=\"form-control\" formControlName=\"Text\" (change)=\"textChange($event,i)\"></td>\n <td><input type=\"text\" class=\"form-control\" formControlName=\"Value\"></td>\n <td>\n <div class=\"form-check form-check-inline\">\n <input class=\"form-check-input\" type=\"checkbox\" formControlName=\"Selected\" id=\"selected\">\n </div>\n </td>\n <td scope=\"row\" style=\"width: 1%;\">\n <button class=\"btn btn-light btn-sm\" (click.stop)=\"deleteSelectOptions(i)\">\n <i class=\"fas fa-minus\"></i>\n </button>\n </td>\n </tr> \n </ng-container>\n \n \n </tbody>\n </table>\n </div>\n\n\n\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'DigniteAbpForms::NullText' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"Select.NullText\">\n </div>\n <div class=\"mb-2\">\n <div class=\"form-check form-check-inline\">\n <input class=\"form-check-input\" type=\"checkbox\" formControlName=\"Select.Multiple\"\n id=\"Multiple\">\n <label class=\"form-check-label\" for=\"Multiple\">\n {{'DigniteAbpForms::Multiple' | abpLocalization}}\n </label>\n </div>\n </div>\n <button type=\"submit\" (abpInit)=\"submitclick?.nativeElement?.click()\" style=\"display: none;\"\n #submitclick></button>\n </div>\n</form>","import { Component, ElementRef, Input, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\n\n@Component({\n selector: 'df-select-control',\n templateUrl: './select-control.component.html',\n styleUrls: ['./select-control.component.scss']\n})\nexport class SelectControlComponent {\n\n constructor(\n private fb: FormBuilder,\n ) {\n }\n\n /**表单实体 */\n _entity: FormGroup | undefined\n @Input()\n public set entity(v: any) {\n this._entity = v;\n this.dataLoaded()\n }\n\n /**字段配置列表 */\n _fields: any = ''\n @Input()\n public set fields(v: any) {\n this._fields = v;\n this.dataLoaded()\n }\n\n /**父级字段名称,用于为表单设置控件赋值 */\n _parentFiledName: any\n @Input()\n public set parentFiledName(v: any) {\n this._parentFiledName = v;\n this.dataLoaded()\n }\n /**父级字段名称,用于为表单设置控件赋值 */\n _selected: any\n @Input()\n public set selected(v: any) {\n this._selected = v\n this.dataLoaded()\n }\n @ViewChild('submitclick', { static: true }) submitclick: ElementRef;\n\n\n get extraProperties() {\n return this._entity.get('extraProperties') as FormGroup\n }\n /**数据加载完成 */\n async dataLoaded() {\n if (this._fields && this._entity) {\n await this.AfterInit()\n this.submitclick.nativeElement.click();\n\n\n }\n }\n formConfiguration: any = ''\n AfterInit() {\n return new Promise((resolve, rejects) => {\n let ValidatorsArray = []\n if (this._fields.required) {\n ValidatorsArray.push(Validators.required)\n }\n this.formConfiguration = this._fields.field.formConfiguration\n if (!this._selected) {\n const isMultiple = this.formConfiguration['Select.Multiple'];\n\n let selectValue = isMultiple ? [] : ''\n this.formConfiguration['Select.Options'].forEach(el => {\n if (el.Selected) {\n selectValue = isMultiple ? [...selectValue, el.value||el.Value] : [el.value||el.Value];\n }\n });\n\n this._selected = selectValue;\n }\n let newControl = this.fb.control(this._selected, ValidatorsArray)\n this.extraProperties.setControl(this._fields.field.name, newControl)\n resolve(true)\n })\n }\n ngOnDestroy(): void {\n //Called once, before the instance is destroyed.\n //Add 'implements OnDestroy' to the class.\n this.extraProperties.removeControl(this._fields.field.name)\n }\n\n\n}\n","<form [formGroup]=\"_entity\">\n <div formGroupName=\"extraProperties\">\n <div class=\"mb-2\">\n <label class=\"form-label\" *ngIf=\"_fields.displayName\">{{ _fields.displayName }}</label>\n <ng-container *ngIf=\"formConfiguration['Select.Multiple']; else elseTemplate\">\n <select class=\"form-select\" multiple formControlName=\"{{_fields.field.name}}\">\n <ng-container *ngFor=\"let item of _fields.field.formConfiguration['Select.Options'];let i =index\">\n <option [value]=\"item.value\">{{item.text}}</option>\n </ng-container>\n </select>\n </ng-container>\n <ng-template #elseTemplate>\n <select class=\"form-select\" [multiple]=\"false\"\n formControlName=\"{{_fields.field.name}}\">\n <option>{{formConfiguration['Select.NullText']}}</option>\n <ng-container *ngFor=\"let item of formConfiguration['Select.Options'];let i =index\">\n <option [value]=\"item.Value\" >{{item.Text}}</option>\n </ng-container>\n </select>\n </ng-template>\n <div class=\"form-text\" *ngIf=\"_fields.field.description\">{{_fields.field.description}}</div>\n </div>\n\n </div>\n <button type=\"submit\" style=\"display: none;\" #submitclick></button>\n</form>","import { FieldControlGroupInterfaces } from \"../../interfaces\";\r\n// import { CkEditorConfigComponent, CkEditorControlComponent } from \"./ck-editor\";\r\nimport { DateEditConfigComponent } from \"./date-edit/date-edit-config.component\";\r\nimport { DateEditControlComponent } from \"./date-edit/date-edit-control.component\";\r\nimport { NumbericEditConfigComponent } from \"./numeric-edit/numberic-edit-config.component\";\r\nimport { NumbericEditControlComponent } from \"./numeric-edit/numberic-edit-control.component\";\r\nimport { SelectConfigComponent, SelectControlComponent } from \"./select\";\r\nimport { SwitchConfigComponent, SwitchControlComponent } from \"./switch\";\r\nimport { TextEditComponent, TextEditConfigComponent } from \"./text-edit\";\r\n\r\n/**\r\n * 表单控件分组-包含配置,控件,显示的数组\r\n */\r\nexport const FieldControlGroup: FieldControlGroupInterfaces[] = [\r\n {\r\n displayName: '文本框',\r\n name: 'TextEdit',\r\n fieldConfigComponent: TextEditConfigComponent,\r\n fieldComponent: TextEditComponent,\r\n // fieldViewComponent:TextBoxViewComponent,\r\n }, {\r\n displayName: '开关',\r\n name: 'Switch',\r\n fieldConfigComponent: SwitchConfigComponent,\r\n fieldComponent: SwitchControlComponent,\r\n // fieldViewComponent:TextBoxViewComponent,\r\n }, {\r\n displayName: '选择',\r\n name: 'Select',\r\n fieldConfigComponent: SelectConfigComponent,\r\n fieldComponent: SelectControlComponent,\r\n // fieldViewComponent:TextBoxViewComponent,\r\n }, {\r\n displayName: '数字',\r\n name: 'NumericEdit',\r\n fieldConfigComponent: NumbericEditConfigComponent,\r\n fieldComponent: NumbericEditControlComponent,\r\n // fieldViewComponent:TextBoxViewComponent,\r\n }, {\r\n displayName: '日期',\r\n name: 'DateEdit',\r\n fieldConfigComponent: DateEditConfigComponent,\r\n fieldComponent: DateEditControlComponent,\r\n // fieldViewComponent:TextBoxViewComponent,\r\n },\r\n];\r\nexport function getExcludeAssignControl(typeName?) {\r\n // return FieldControlGroup.filter(el => el.name !== typeName)\r\n return FieldControlGroup\r\n}\r\n\r\nexport function AddFieldControlGroup(array=[]) {\r\n FieldControlGroup.push(...array)\r\n}","import {Component,Input, ViewChild, ViewContainerRef } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport type{ FieldControlGroupInterfaces } from '../../interfaces';\nimport { FieldControlGroup } from '../form';\n\n@Component({\n selector: 'df-dynamic',\n templateUrl: './dynamic.component.html',\n styleUrls: ['./dynamic.component.scss']\n})\nexport class DynamicComponent {\n\n\n /**选择的表单信息 */\n _selected: any\n @Input()\n public set selected(v: any) {\n this._selected = v===undefined?'':v===null?'':v\n // this._selected = (v===true?true:v===false?false:v) || '';\n if(v) this.dataLoaded(1)\n }\n\n\n /**表单控件类型 */\n _type: string\n @Input()\n public set type(v: string) {\n this._type = v;\n if(v) this.dataLoaded(2)\n }\n\n /**表单实体 */\n _entity: FormGroup | undefined\n @Input()\n public set entity(v: any) {\n if(v) {\n this._entity = v;\n this.dataLoaded(3)\n }\n }\n /**语言 */\n _culture: FormGroup | undefined\n @Input()\n public set culture(v: any) {\n this._culture = v;\n if(v) this.dataLoaded(6)\n }\n\n /**父级字段名称,用于为表单设置控件赋值 */\n _parentFiledName: any\n @Input()\n public set parentFiledName(v: any) {\n this._parentFiledName = v;\n if(v) this.dataLoaded(4)\n }\n\n /**字段配置列表 */\n _fields: any = ''\n @Input()\n public set fields(v: any) {\n this._fields = v;\n if(v) this.dataLoaded(5)\n }\n\n\n /**表单控件模板-动态表单配置组件 */\n @ViewChild('FormControlRef', { read: ViewContainerRef, static: true }) FormControlRef: ViewContainerRef;\n\n /**表单控件模板-动态表单组件 */\n @ViewChild('FormComponentsRef', { read: ViewContainerRef, static: true }) FormComponentsRef: ViewContainerRef;\n\n /**表单控件组 */\n _fieldControlGroup: FieldControlGroupInterfaces[] = FieldControlGroup\n /**数据加载完成 */\n dataLoaded(val) {\n if (this._entity) {\n if (this._type) {\n let fieldControlItem = this._fieldControlGroup.find(el => el.name === this._type)\n this.loadfieldConfigComponent(fieldControlItem)\n }\n if (this._fields && this._parentFiledName&&this._culture) {\n /**表单控件组中的项 */\n let fieldControlItem = this._fieldControlGroup.find(el => el.name === this._fields.field.formControlName)\n this.loadfieldComponent(fieldControlItem)\n }\n }\n }\n\n\n\n /**加载动态表单配置组件 */\n loadfieldConfigComponent(FieldControlItem?: FieldControlGroupInterfaces) {\n //清空了容器中的所有组件\n this.FormControlRef?.clear();\n if (!FieldControlItem || !FieldControlItem.fieldConfigComponent) return\n //在容器中创建组件\n const { instance } = this.FormControlRef?.createComponent(FieldControlItem.fieldConfigComponent);//创建组件模板\n /**向创建的组件模板中传值 */\n instance.Entity = this._entity\n instance.selected = this._selected\n instance.type = this._type\n }\n\n /**加载动态表单组件 */\n loadfieldComponent(FieldControlItem?: FieldControlGroupInterfaces) {\n // this.FormControlRef.clear\n //清空了容器中的所有组件\n this.FormComponentsRef?.clear();\n if (!FieldControlItem || !FieldControlItem.fieldComponent) return\n //在容器中创建组件\n const { instance } = this.FormComponentsRef?.createComponent(FieldControlItem.fieldComponent);//创建组件模板\n /**向创建的组件模板中传值 */\n instance.entity = this._entity\n instance.fields = this._fields\n instance.parentFiledName = this._parentFiledName\n instance.selected = this._selected\n instance.culture = this._culture\n }\n}\n","<template #FormControlRef></template>\n<template #FormComponentsRef></template>","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NzTreeModule } from 'ng-zorro-antd/tree';\nimport {\n TextEditConfigComponent,\n TextEditComponent,\n SwitchConfigComponent,\n SwitchControlComponent,\n NumbericEditConfigComponent,\n NumbericEditControlComponent,\n DateEditConfigComponent,\n DateEditControlComponent,\n SelectConfigComponent,\n SelectControlComponent,\n AddFieldControlGroup,\n DynamicComponent,\n} from './components';\n\n\n\n@NgModule({\n declarations: [\n TextEditConfigComponent,\n TextEditComponent,\n SwitchConfigComponent,\n SwitchControlComponent,\n NumbericEditConfigComponent,\n NumbericEditControlComponent,\n DateEditConfigComponent,\n DateEditControlComponent,\n SelectConfigComponent,\n SelectControlComponent,\n DynamicComponent,\n\n ],\n imports: [\n FormsModule,\n CoreModule,\n ThemeSharedModule,\n ReactiveFormsModule,\n NgbDropdownModule,\n NzTreeModule,\n ],\n exports: [\n TextEditConfigComponent,\n TextEditComponent,\n SwitchConfigComponent,\n SwitchControlComponent,\n NumbericEditConfigComponent,\n NumbericEditControlComponent,\n DateEditConfigComponent,\n DateEditControlComponent,\n SelectConfigComponent,\n SelectControlComponent,\n DynamicComponent,\n ],\n})\nexport class DynamicFormModule {\n static forRoot(config?: any): ModuleWithProviders<DynamicFormModule> {\n AddFieldControlGroup(config?.cmsFieldControlGroup)\n return {\n ngModule: DynamicFormModule,\n providers: []\n };\n }\n}\n","/*\n * Public API Surface of dynamic-form\n */\n\nexport * from './lib/dynamic-form.module';\nexport * from './lib/components';\nexport * from './lib/interfaces';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i2.DfApiService","i3","i4","i5"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dignite-ng-expand.dynamic-form.mjs","sources":["../../../projects/dynamic-form/src/lib/components/form/text-edit/text-edit-config.ts","../../../projects/dynamic-form/src/lib/enums/text-edit-mode.ts","../../../projects/dynamic-form/src/lib/components/form/text-edit/text-edit-config.component.ts","../../../projects/dynamic-form/src/lib/components/form/text-edit/text-edit-config.component.html","../../../projects/dynamic-form/src/lib/components/form/text-edit/text-edit.component.ts","../../../projects/dynamic-form/src/lib/components/form/text-edit/text-edit.component.html","../../../projects/dynamic-form/src/lib/components/form/switch/switch-config.ts","../../../projects/dynamic-form/src/lib/components/form/switch/switch-config.component.ts","../../../projects/dynamic-form/src/lib/components/form/switch/switch-config.component.html","../../../projects/dynamic-form/src/lib/components/form/switch/switch-control.component.ts","../../../projects/dynamic-form/src/lib/components/form/switch/switch-control.component.html","../../../projects/dynamic-form/src/lib/components/form/numeric-edit/numberic-edit-config.ts","../../../projects/dynamic-form/src/lib/components/form/numeric-edit/numberic-edit-config.component.ts","../../../projects/dynamic-form/src/lib/components/form/numeric-edit/numberic-edit-config.component.html","../../../projects/dynamic-form/src/lib/components/form/numeric-edit/numberic-edit-control.component.ts","../../../projects/dynamic-form/src/lib/components/form/numeric-edit/numberic-edit-control.component.html","../../../projects/dynamic-form/src/lib/enums/date-edit-interfaces.ts","../../../projects/dynamic-form/src/lib/components/form/date-edit/date-edit-config.ts","../../../projects/dynamic-form/src/lib/components/form/date-edit/date-edit-config.component.ts","../../../projects/dynamic-form/src/lib/components/form/date-edit/date-edit-config.component.html","../../../projects/dynamic-form/src/lib/components/form/date-edit/date-edit-control.component.ts","../../../projects/dynamic-form/src/lib/components/form/date-edit/date-edit-control.component.html","../../../projects/dynamic-form/src/lib/components/form/select/select-config.ts","../../../projects/dynamic-form/src/lib/services/df-api.service.ts","../../../projects/dynamic-form/src/lib/components/form/select/select-config.component.ts","../../../projects/dynamic-form/src/lib/components/form/select/select-config.component.html","../../../projects/dynamic-form/src/lib/components/form/select/select-control.component.ts","../../../projects/dynamic-form/src/lib/components/form/select/select-control.component.html","../../../projects/dynamic-form/src/lib/components/form/form-control-group.ts","../../../projects/dynamic-form/src/lib/components/dynamic/dynamic.component.ts","../../../projects/dynamic-form/src/lib/components/dynamic/dynamic.component.html","../../../projects/dynamic-form/src/lib/dynamic-form.module.ts","../../../projects/dynamic-form/src/public-api.ts","../../../projects/dynamic-form/src/dignite-ng-expand.dynamic-form.ts"],"sourcesContent":["import { FormControl, Validators } from \"@angular/forms\";\r\n\r\nexport class TextEditConfig {\r\n\r\n\r\n /**占位符 */\r\n 'TextEdit.Placeholder': any = ['', []];\r\n //字段类型,单行文本,多行文本\r\n 'TextEdit.Mode': any = [0, []];\r\n // 字数限制\r\n 'TextEdit.CharLimit': any = ['265', []];\r\n\r\n constructor(data?: TextEditConfig) {\r\n if (data) {\r\n for (const key in data) {\r\n if (data.hasOwnProperty(key)) {\r\n this[key] = data[key];\r\n }\r\n }\r\n }\r\n\r\n\r\n }\r\n}","export enum TextEditMode {\n // 简单类型\n SingleLine,\n // 复合类型;\n MultipleLine,\n \n}\n","import { Component, ElementRef, Input, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup} from '@angular/forms';\nimport { TextEditConfig } from './text-edit-config';\nimport { TextEditMode } from '../../../enums/text-edit-mode';\n\n@Component({\n selector: 'df-text-edit-config',\n templateUrl: './text-edit-config.component.html',\n styleUrls: ['./text-edit-config.component.scss']\n})\nexport class TextEditConfigComponent {\n constructor(\n private fb: FormBuilder,\n ) { }\n _TextEditMode=TextEditMode\n /**表单控件类型 */\n _type: any\n @Input()\n public set type(v: any) {\n this._type = v\n this.dataLoaded()\n }\n /**表单实体 */\n _Entity: FormGroup | undefined\n @Input()\n public set Entity(v: FormGroup) {\n this._Entity = v;\n this.dataLoaded()\n }\n /**选择的表单信息 */\n _selected: any\n @Input()\n public set selected(v: any) {\n this._selected = v\n this.dataLoaded()\n }\n get formConfiguration() {\n return this._Entity.get('formConfiguration') as FormGroup\n }\n @ViewChild('submitclick', { static: true }) submitclick: ElementRef;\n\n async dataLoaded() {\n if (this._Entity && this._type) {\n await this.AfterInit()\n this.submitclick.nativeElement.click();\n }\n }\n\n AfterInit() {\n return new Promise((resolve, rejects) => {\n this._Entity.setControl('formConfiguration', this.fb.group(new TextEditConfig()))\n if (this._selected&&this._selected.formControlName==this._type) {\n this.formConfiguration.patchValue({\n ...this._selected.formConfiguration\n })\n }\n resolve(true)\n })\n }\n\n\n\n}\n","<form [formGroup]=\"_Entity\">\n <div formGroupName=\"formConfiguration\">\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'DigniteAbpForms::Placeholder' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"TextEdit.Placeholder\">\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'DigniteAbpForms::TextEditMode' | abpLocalization}}</label>\n <div>\n <div class=\"form-check form-check-inline\">\n <input class=\"form-check-input\" type=\"radio\" [value]=\"_TextEditMode.SingleLine\" formControlName=\"TextEdit.Mode\"\n id=\"flexRadioDefault1\">\n <label class=\"form-check-label\" for=\"flexRadioDefault1\">\n {{'DigniteAbpForms::SingleLine' | abpLocalization}}\n </label>\n </div>\n <div class=\"form-check form-check-inline\">\n <input class=\"form-check-input\" type=\"radio\" [value]=\"_TextEditMode.MultipleLine\" formControlName=\"TextEdit.Mode\"\n id=\"flexRadioDefault2\">\n <label class=\"form-check-label\" for=\"flexRadioDefault2\">\n {{'DigniteAbpForms::MultipleLine' | abpLocalization}}\n </label>\n </div>\n </div>\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'DigniteAbpForms::CharLimit' | abpLocalization}}</label>\n <input type=\"number\" class=\"form-control\" formControlName=\"TextEdit.CharLimit\">\n </div>\n <button type=\"submit\" (abpInit)=\"submitclick?.nativeElement?.click()\" style=\"display: none;\" #submitclick></button>\n </div>\n</form>","/* eslint-disable @angular-eslint/no-empty-lifecycle-method */\n/* eslint-disable @angular-eslint/use-lifecycle-interface */\nimport { Component, ElementRef, Input, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { TextEditMode } from '../../../enums/text-edit-mode';\nimport { TextEditConfig } from './text-edit-config';\n\n@Component({\n selector: 'df-text-edit',\n templateUrl: './text-edit.component.html',\n styleUrls: ['./text-edit.component.scss']\n})\nexport class TextEditComponent {\n\n constructor(\n private fb: FormBuilder,\n ) {\n }\n\n _TextEditMode = TextEditMode\n /**表单实体 */\n _entity: FormGroup | undefined\n @Input()\n public set entity(v: any) {\n this._entity = v;\n if (v) this.dataLoaded()\n }\n\n /**字段配置列表 */\n _fields: any = ''\n @Input()\n public set fields(v: any) {\n this._fields = v;\n if (v) this.dataLoaded()\n }\n\n /**父级字段名称,用于为表单设置控件赋值 */\n _parentFiledName: any\n @Input()\n public set parentFiledName(v: any) {\n this._parentFiledName = v;\n if (v) this.dataLoaded()\n }\n /**父级字段名称,用于为表单设置控件赋值 */\n _selected: any\n @Input()\n public set selected(v: any) {\n this._selected = v || '';\n if (v) this.dataLoaded()\n }\n @ViewChild('submitclick', { static: true }) submitclick: ElementRef;\n\n extraProperties: FormGroup | undefined\n async dataLoaded() {\n if (this._fields && this._entity && this._parentFiledName) {\n this.extraProperties = this._entity.get(this._parentFiledName) as FormGroup\n await this.AfterInit()\n this.submitclick?.nativeElement?.click();\n }\n }\n\n AfterInit() {\n return new Promise((resolve, rejects) => {\n let ValidatorsArray = []\n if (this._fields.required) {\n ValidatorsArray.push(Validators.required)\n }\n this._fields.field.formConfiguration={\n ...this.fb.group(new TextEditConfig()).value,\n ...this._fields.field.formConfiguration\n }\n if (this._fields.field.formConfiguration['TextEdit.CharLimit']) {\n ValidatorsArray.push(Validators.maxLength(this._fields.field.formConfiguration['TextEdit.CharLimit']))\n }\n \n let newControl = this.fb.control(this._selected, ValidatorsArray)\n this.extraProperties.setControl(this._fields.field.name, newControl)\n resolve(true)\n })\n }\n ngOnDestroy(): void {\n //Called once, before the instance is destroyed.\n //Add 'implements OnDestroy' to the class.\n this.extraProperties.removeControl(this._fields.field.name)\n }\n\n isObjEmpty = (obj) => Object.keys(obj).length === 0\n}\n","<form [formGroup]=\"_entity\">\n <div [formGroupName]=\"_parentFiledName\">\n <div class=\"mb-2\">\n <label class=\"form-label\" *ngIf=\"_fields.displayName\">{{ _fields.displayName }}</label>\n <ng-container *ngIf=\"_fields.field.formConfiguration['TextEdit.Mode'] ===_TextEditMode.SingleLine\">\n <input type=\"text\" class=\"form-control\" formControlName=\"{{_fields.field.name}}\"\n [placeholder]=\"_fields.field.formConfiguration['TextEdit.Placeholder']\" />\n </ng-container>\n <ng-container *ngIf=\"_fields.field.formConfiguration['TextEdit.Mode'] === _TextEditMode.MultipleLine\">\n <textarea class=\"form-control\" formControlName=\"{{_fields.field.name}}\"\n [placeholder]=\"_fields.field.formConfiguration['TextEdit.Placeholder']\" rows=\"3\"></textarea>\n </ng-container>\n <div class=\"form-text\" *ngIf=\"_fields.field.description\">{{_fields.field.description}}</div>\n </div>\n </div>\n <button type=\"submit\" style=\"display: none;\" #submitclick></button>\n</form>","import { FormControl, Validators } from \"@angular/forms\";\r\n\r\nexport class SwitchConfig {\r\n\r\n\r\n /**默认值 */\r\n 'Switch.Default': any = [false, []];\r\n constructor(data?: SwitchConfig) {\r\n if (data) {\r\n for (const key in data) {\r\n if (data.hasOwnProperty(key)) {\r\n this[key] = data[key];\r\n }\r\n }\r\n }\r\n }\r\n}","import { Component, ElementRef, Input, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { SwitchConfig } from './switch-config';\n@Component({\n selector: 'df-switch-config',\n templateUrl: './switch-config.component.html',\n styleUrls: ['./switch-config.component.scss']\n})\nexport class SwitchConfigComponent {\n constructor(\n private fb: FormBuilder,\n ) { }\n /**表单控件类型 */\n _type: any\n @Input()\n public set type(v: any) {\n this._type = v\n this.dataLoaded()\n }\n /**表单实体 */\n _Entity: FormGroup | undefined\n @Input()\n public set Entity(v: FormGroup) {\n this._Entity = v;\n this.dataLoaded()\n }\n /**选择的表单信息 */\n _selected: any\n @Input()\n public set selected(v: any) {\n this._selected = v\n\n this.dataLoaded()\n }\n get formConfiguration() {\n return this._Entity.get('formConfiguration') as FormGroup\n }\n @ViewChild('submitclick', { static: true }) submitclick: ElementRef;\n\n async dataLoaded() {\n if (this._Entity && this._type) {\n await this.AfterInit()\n this.submitclick.nativeElement.click();\n }\n }\n\n AfterInit() {\n return new Promise((resolve, rejects) => {\n this._Entity.setControl('formConfiguration', this.fb.group(new SwitchConfig()))\n if (this._selected&&this._selected.formControlName==this._type) {\n this.formConfiguration.patchValue({\n ...this._selected.formConfiguration\n })\n }\n resolve(true)\n })\n }\n\n}\n","<form [formGroup]=\"_Entity\">\n <div formGroupName=\"formConfiguration\">\n <div class=\"mb-2\">\n <div>\n <div class=\"form-check form-check-inline\">\n <input class=\"form-check-input\" type=\"checkbox\" formControlName=\"Switch.Default\"\n id=\"flexRadioDefault1\">\n <label class=\"form-check-label\" for=\"flexRadioDefault1\">\n {{'DigniteAbpForms::DefaultValue' | abpLocalization}}\n </label>\n </div>\n \n </div>\n </div>\n <button type=\"submit\" (abpInit)=\"submitclick?.nativeElement?.click()\" style=\"display: none;\" #submitclick></button>\n </div>\n</form>","import { Component, ElementRef, Input, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\n\n@Component({\n selector: 'df-switch-control',\n templateUrl: './switch-control.component.html',\n styleUrls: ['./switch-control.component.scss']\n})\nexport class SwitchControlComponent {\n\n constructor(\n private fb: FormBuilder,\n ) {\n\n }\n\n /**表单实体 */\n _entity: FormGroup | undefined\n @Input()\n public set entity(v: any) {\n this._entity = v;\n this.dataLoaded()\n }\n\n /**字段配置列表 */\n _fields: any = ''\n @Input()\n public set fields(v: any) {\n this._fields = v;\n this.dataLoaded()\n }\n\n /**父级字段名称,用于为表单设置控件赋值 */\n _parentFiledName: any\n @Input()\n public set parentFiledName(v: any) {\n this._parentFiledName = v;\n this.dataLoaded()\n }\n /** */\n _selected: any\n @Input()\n public set selected(v: any) {\n // ?v:false;\n this._selected = v\n this.dataLoaded()\n }\n @ViewChild('submitclick', { static: true }) submitclick: ElementRef;\n\n\n get extraProperties() {\n return this._entity.get('extraProperties') as FormGroup\n }\n /**数据加载完成 */\n async dataLoaded() {\n if (this._fields && this._entity) {\n await this.AfterInit()\n this.submitclick.nativeElement.click();\n }\n }\n\n AfterInit() {\n return new Promise((resolve, rejects) => {\n let ValidatorsArray = []\n if (this._fields.required) {\n ValidatorsArray.push(Validators.required)\n }\n // console.log(this._selected,'this._selected',this._fields.field.name);\n \n let newControl = this.fb.control(this._selected?this._selected:this._selected===false?this._selected:this._fields.field.formConfiguration['Switch.Default'], ValidatorsArray)\n this.extraProperties.setControl(this._fields.field.name, newControl)\n resolve(true)\n })\n }\n ngOnDestroy(): void {\n //Called once, before the instance is destroyed.\n //Add 'implements OnDestroy' to the class.\n this.extraProperties.removeControl(this._fields.field.name)\n }\n}\n","<form [formGroup]=\"_entity\">\n <div formGroupName=\"extraProperties\">\n <div class=\"mb-2\">\n <label class=\"form-label\" *ngIf=\"_fields.displayName\">{{ _fields.displayName }}</label>\n <div class=\"form-check form-switch\">\n <input class=\"form-check-input\" type=\"checkbox\" role=\"switch\" formControlName=\"{{_fields.field.name}}\">\n </div>\n <div class=\"form-text\" *ngIf=\"_fields.field.description\">{{_fields.field.description}}</div>\n </div>\n\n </div>\n <button type=\"submit\" style=\"display: none;\" #submitclick></button>\n</form>","import { FormControl, Validators } from \"@angular/forms\";\r\n\r\nexport class NumbericEditConfig {\r\n /**占位符 */\r\n 'NumericEditField.Placeholder': any = ['', []];\r\n /**最小值 */\r\n 'NumericEditField.Min': any = ['', []];\r\n //最大值\r\n 'NumericEditField.Max': any = ['', []];\r\n // 小数位数\r\n 'NumericEditField.Decimals': any = [2, []];\r\n //步长\r\n 'NumericEditField.Step': any = ['', []];\r\n //格式说明符\r\n 'FormatSpecifier': any = ['', []];\r\n\r\n constructor(data?: NumbericEditConfig) {\r\n if (data) {\r\n for (const key in data) {\r\n if (data.hasOwnProperty(key)) {\r\n this[key] = data[key];\r\n }\r\n }\r\n }\r\n\r\n\r\n }\r\n}","import { Component, ElementRef, Input, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { NumbericEditConfig } from './numberic-edit-config';\n\n@Component({\n selector: 'df-numberic-edit-config',\n templateUrl: './numberic-edit-config.component.html',\n styleUrls: ['./numberic-edit-config.component.scss']\n})\nexport class NumbericEditConfigComponent {\n constructor(\n private fb: FormBuilder,\n ) { }\n /**表单控件类型 */\n _type: any\n @Input()\n public set type(v: any) {\n this._type = v\n this.dataLoaded()\n }\n /**表单实体 */\n _Entity: FormGroup | undefined\n @Input()\n public set Entity(v: FormGroup) {\n this._Entity = v;\n this.dataLoaded()\n }\n /**选择的表单信息 */\n _selected: any\n @Input()\n public set selected(v: any) {\n this._selected = v?v:v==false?v:''\n\n this.dataLoaded()\n }\n get formConfiguration() {\n return this._Entity.get('formConfiguration') as FormGroup\n }\n @ViewChild('submitclick', { static: true }) submitclick: ElementRef;\n\n async dataLoaded() {\n if (this._Entity && this._type) {\n await this.AfterInit()\n this.submitclick.nativeElement.click();\n }\n }\n\n AfterInit() {\n return new Promise((resolve, rejects) => {\n this._Entity.setControl('formConfiguration', this.fb.group(new NumbericEditConfig()))\n if (this._selected&&this._selected.formControlName==this._type) {\n this.formConfiguration.patchValue({\n ...this._selected.formConfiguration\n })\n }\n resolve(true)\n })\n }\n}\n","<form [formGroup]=\"_Entity\">\n <div formGroupName=\"formConfiguration\">\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'DigniteAbpForms::Placeholder' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"NumericEditField.Placeholder\">\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'DigniteAbpForms::Min' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"NumericEditField.Min\">\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'DigniteAbpForms::Max' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"NumericEditField.Max\">\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'DigniteAbpForms::NumericDecimals' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"NumericEditField.Decimals\">\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'DigniteAbpForms::NumericStep' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"NumericEditField.Step\">\n <div class=\"form-text\">{{'DigniteAbpForms::NumericStepHelp'}}</div>\n </div>\n \n <div class=\"mb-2\">\n <label class=\"form-label\">{{'DigniteAbpForms::FormatSpecifier' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"FormatSpecifier\">\n <div class=\"form-text\">See:<a href=\"https://docs.microsoft.com/zh-cn/dotnet/standard/base-types/standard-numeric-format-strings\" target=\"_blank\">https://docs.microsoft.com/zh-cn/dotnet/standard/base-types/standard-numeric-format-strings</a></div>\n </div>\n \n <button type=\"submit\" (abpInit)=\"submitclick?.nativeElement?.click()\" style=\"display: none;\" #submitclick></button>\n </div>\n</form>","import { Component, ElementRef, Input, ViewChild, ChangeDetectionStrategy ,ChangeDetectorRef } from '@angular/core';\nimport { FormBuilder, FormGroup, ValidatorFn, Validators } from '@angular/forms';\nimport { AbstractControl, ValidationErrors } from '@angular/forms'; \n \nexport function maxDecimalPlacesValidator(maxDecimalPlaces: number): ValidatorFn { \n return (control: AbstractControl): ValidationErrors | null => { \n const value = control.value; \n if (typeof value === 'number' && isNaN(value) === false) { \n const decimalPart = value.toString().split('.')[1]; \n if (decimalPart && decimalPart.length > maxDecimalPlaces) { \n return { 'maxDecimalPlaces': { actual: decimalPart.length, max: maxDecimalPlaces } }; \n } \n } \n return null; \n }; \n}\n@Component({\n selector: 'df-numberic-edit-control',\n templateUrl: './numberic-edit-control.component.html',\n styleUrls: ['./numberic-edit-control.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NumbericEditControlComponent {\n\n constructor(\n private fb: FormBuilder,\n private cdr: ChangeDetectorRef \n ) {\n\n }\n\n /**表单实体 */\n _entity: FormGroup | undefined\n @Input()\n public set entity(v: any) {\n this._entity = v;\n this.dataLoaded()\n }\n\n public get entity(): any {\n return this._entity\n }\n\n\n /**字段配置列表 */\n _fields: any = ''\n @Input()\n public set fields(v: any) {\n this._fields = v;\n this.dataLoaded()\n }\n\n /**父级字段名称,用于为表单设置控件赋值 */\n _parentFiledName: any\n @Input()\n public set parentFiledName(v: any) {\n this._parentFiledName = v;\n this.dataLoaded()\n }\n /**父级字段名称,用于为表单设置控件赋值 */\n _selected: any\n @Input()\n public set selected(v: any) {\n this._selected = v ;\n this.dataLoaded()\n }\n @ViewChild('submitclick', { static: true }) submitclick: ElementRef;\n\n\n get extraProperties() {\n return this._entity.get('extraProperties') as FormGroup\n }\n get fieldInput() { return this.extraProperties.get(this._fields.field.name); }\n /**数据加载完成 */\n async dataLoaded() {\n if (this._fields && this._entity) {\n await this.AfterInit()\n this.cdr.detectChanges(); \n this.submitclick.nativeElement.click();\n }\n }\n\n AfterInit() {\n return new Promise((resolve, rejects) => {\n let ValidatorsArray = []\n let formConfiguration=this._fields.field.formConfiguration\n if (this._fields.required) {\n ValidatorsArray.push(Validators.required)\n }\n if (formConfiguration['NumericEditField.Min']) {\n ValidatorsArray.push(Validators.min(formConfiguration['NumericEditField.Min']))\n }\n if (formConfiguration['NumericEditField.Max']) {\n ValidatorsArray.push(Validators.max(formConfiguration['NumericEditField.Max']))\n }\n let newControl = this.fb.control(this._selected, ValidatorsArray)\n this.extraProperties.setControl(this._fields.field.name, newControl)\n\n resolve(true)\n })\n }\n ngOnDestroy(): void {\n //Called once, before the instance is destroyed.\n //Add 'implements OnDestroy' to the class.\n this.extraProperties.removeControl(this._fields.field.name)\n }\n\n /**数字框输入 */\n inputchange(event){\n let val=event.target.value\n const decimalPart = val.toString().split('.')[1]||'';\n let formConfiguration=this._fields.field.formConfiguration\n let Decimals=formConfiguration['NumericEditField.Decimals']\n if(decimalPart.length>Decimals){\n this.fieldInput.patchValue(''+val.slice(0,val.length-(decimalPart.length-2)).toString()+'')\n }\n }\n}\n","<form [formGroup]=\"_entity\">\n <div [formGroupName]=\"_parentFiledName\">\n <div class=\"mb-2\">\n <label class=\"form-label\" *ngIf=\"_fields.displayName\">{{ _fields.displayName }}</label>\n <input type=\"number\" class=\"form-control\" formControlName=\"{{_fields.field.name}}\"\n [placeholder]=\"_fields.field.formConfiguration['NumericEditField.Placeholder']||''\"\n [min]=\"_fields.field.formConfiguration['NumericEditField.Min']\"\n [max]=\"_fields.field.formConfiguration['NumericEditField.Max']\"\n [step]=\"_fields.field.formConfiguration['NumericEditField.Step']\" (input)=\"inputchange($event)\" />\n <div class=\"form-text\" *ngIf=\"_fields.field.description\">{{_fields.field.description}}</div>\n </div>\n\n </div>\n <button type=\"submit\" style=\"display: none;\" #submitclick></button>\n</form>","export enum DateEditInterfaces {\n /// <summary>\n /// Only date is allowed to be entered.\n /// </summary>\n Date = 0,\n\n /// <summary>\n /// Both date and time are allowed to be entered.\n /// </summary>\n DateTime = 1,\n\n /// <summary>\n /// Allowed to select only year and month.\n /// </summary>\n Month = 2\n}\n","import { FormControl, Validators } from \"@angular/forms\";\r\nimport { DateEditInterfaces } from \"../../../enums/date-edit-interfaces\";\r\n\r\nexport class DateEditConfig {\r\n\r\n\r\n\r\n /**日期格式 */\r\n 'DateEdit.InputMode': any = [DateEditInterfaces.Date, []];\r\n /**最小值 */\r\n 'DateEdit.Min': any = ['', []];\r\n /**最大值 */\r\n 'DateEdit.Max': any = ['', []];\r\n\r\n constructor(data?: DateEditConfig) {\r\n if (data) {\r\n for (const key in data) {\r\n if (data.hasOwnProperty(key)) {\r\n this[key] = data[key];\r\n }\r\n }\r\n }\r\n\r\n\r\n }\r\n}","import { Component, ElementRef, Input, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, } from '@angular/forms';\nimport { DateEditConfig } from './date-edit-config';\nimport { DateEditInterfaces } from '../../../enums/date-edit-interfaces';\n\n@Component({\n selector: 'df-date-edit-config',\n templateUrl: './date-edit-config.component.html',\n styleUrls: ['./date-edit-config.component.scss']\n})\nexport class DateEditConfigComponent {\n constructor(\n private fb: FormBuilder,\n ) { }\n _DateEditInterfaces=DateEditInterfaces\n /**表单控件类型 */\n _type: any\n @Input()\n public set type(v: any) {\n this._type = v\n this.dataLoaded()\n }\n /**表单实体 */\n _Entity: FormGroup | undefined\n @Input()\n public set Entity(v: FormGroup) {\n this._Entity = v;\n this.dataLoaded()\n }\n /**选择的表单信息 */\n _selected: any\n @Input()\n public set selected(v: any) {\n this._selected = v\n this.dataLoaded()\n }\n get formConfiguration() {\n return this._Entity.get('formConfiguration') as FormGroup\n }\n @ViewChild('submitclick', { static: true }) submitclick: ElementRef;\n\n async dataLoaded() {\n if (this._Entity && this._type) {\n await this.AfterInit()\n this.submitclick.nativeElement.click();\n }\n }\n\n AfterInit() {\n return new Promise((resolve, rejects) => {\n this._Entity.setControl('formConfiguration', this.fb.group(new DateEditConfig()))\n if (this._selected&&this._selected.formControlName==this._type) {\n this.formConfiguration.patchValue({\n ...this._selected.formConfiguration\n })\n }\n resolve(true)\n })\n }\n\n} \n","<form [formGroup]=\"_Entity\">\n <div formGroupName=\"formConfiguration\">\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'DigniteAbpForms::DateEditMode' | abpLocalization}}</label>\n <div>\n <div class=\"form-check form-check-inline\">\n <input class=\"form-check-input\" type=\"radio\" [value]=\"_DateEditInterfaces.Date\"\n formControlName=\"DateEdit.InputMode\" id=\"flexRadioDefault1\">\n <label class=\"form-check-label\" for=\"flexRadioDefault1\">\n {{'DigniteAbpForms::Date' | abpLocalization}}\n </label>\n </div>\n <div class=\"form-check form-check-inline\">\n <input class=\"form-check-input\" type=\"radio\" [value]=\"_DateEditInterfaces.DateTime\"\n formControlName=\"DateEdit.InputMode\" id=\"flexRadioDefault2\">\n <label class=\"form-check-label\" for=\"flexRadioDefault2\">\n {{'DigniteAbpForms::DateTime' | abpLocalization}}\n </label>\n </div>\n <div class=\"form-check form-check-inline\">\n <input class=\"form-check-input\" type=\"radio\" [value]=\"_DateEditInterfaces.Month\"\n formControlName=\"DateEdit.InputMode\" id=\"flexRadioDefault3\">\n <label class=\"form-check-label\" for=\"flexRadioDefault3\">\n {{'DigniteAbpForms::Month' | abpLocalization}}\n </label>\n </div>\n </div>\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'DigniteAbpForms::Min' | abpLocalization}}</label>\n <input type=\"datetime-local\" class=\"form-control\" step=\"1\" formControlName=\"DateEdit.Min\">\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'DigniteAbpForms::Max' | abpLocalization}}</label>\n <input type=\"datetime-local\" class=\"form-control\" step=\"1\" formControlName=\"DateEdit.Max\">\n </div>\n <button type=\"submit\" (abpInit)=\"submitclick?.nativeElement?.click()\" style=\"display: none;\"\n #submitclick></button>\n </div>\n</form>","import { Component, ElementRef, Input, ViewChild,ChangeDetectorRef } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { DateEditInterfaces } from '../../../enums/date-edit-interfaces';\n \n@Component({\n selector: 'df-date-edit-control',\n templateUrl: './date-edit-control.component.html',\n styleUrls: ['./date-edit-control.component.scss']\n})\nexport class DateEditControlComponent {\n\n constructor(\n private fb: FormBuilder,\n private cdr: ChangeDetectorRef \n ) {\n\n }\n _DateEditInterfaces=DateEditInterfaces\n /**表单实体 */\n _entity: FormGroup | undefined\n @Input()\n public set entity(v: any) {\n this._entity = v;\n this.dataLoaded()\n }\n\n public get entity(): any {\n return this._entity\n }\n\n\n /**字段配置列表 */\n _fields: any = ''\n @Input()\n public set fields(v: any) {\n this._fields = v;\n this.dataLoaded()\n }\n\n /**父级字段名称,用于为表单设置控件赋值 */\n _parentFiledName: any\n @Input()\n public set parentFiledName(v: any) {\n this._parentFiledName = v;\n this.dataLoaded()\n }\n /**父级字段名称,用于为表单设置控件赋值 */\n _selected: any\n @Input()\n public set selected(v: any) {\n this._selected = v ;\n this.dataLoaded()\n }\n @ViewChild('submitclick', { static: true }) submitclick: ElementRef;\n\n\n get extraProperties() {\n return this._entity.get('extraProperties') as FormGroup\n }\n get fieldInput() { return this.extraProperties.get(this._fields.field.name); }\n /**数据加载完成 */\n async dataLoaded() {\n if (this._fields && this._entity) {\n await this.AfterInit()\n this.cdr.detectChanges(); \n this.submitclick.nativeElement.click();\n }\n }\n\n AfterInit() {\n return new Promise((resolve, rejects) => {\n let ValidatorsArray = []\n let formConfiguration=this._fields.field.formConfiguration\n if (this._fields.required) {\n ValidatorsArray.push(Validators.required)\n }\n if (formConfiguration['DateEdit.Min']) {\n ValidatorsArray.push(Validators.min(formConfiguration['DateEdit.Min']))\n }\n if (formConfiguration['DateEdit.Max']) {\n ValidatorsArray.push(Validators.max(formConfiguration['DateEdit.Max']))\n }\n \n let newControl = this.fb.control(this._selected, ValidatorsArray)\n this.extraProperties.setControl(this._fields.field.name, newControl)\n\n resolve(true)\n })\n }\n ngOnDestroy(): void {\n //Called once, before the instance is destroyed.\n //Add 'implements OnDestroy' to the class.\n this.extraProperties.removeControl(this._fields.field.name)\n }\n}","<form [formGroup]=\"_entity\">\n <div [formGroupName]=\"_parentFiledName\">\n <div class=\"mb-2\">\n <label class=\"form-label\" *ngIf=\"_fields.displayName\">{{ _fields.displayName }}</label>\n\n <ng-container *ngIf=\"_fields.field.formConfiguration['DateEdit.InputMode'] === _DateEditInterfaces.Date\">\n <input type=\"date\" class=\"form-control\" step=\"1\" formControlName=\"{{_fields.field.name}}\"\n [min]=\"_fields.field.formConfiguration['DateEdit.Min']\"\n [max]=\"_fields.field.formConfiguration['DateEdit.Max']\" />\n </ng-container>\n <ng-container\n *ngIf=\"_fields.field.formConfiguration['DateEdit.InputMode'] === _DateEditInterfaces.DateTime\">\n <input type=\"datetime-local\" class=\"form-control\" step=\"1\" formControlName=\"{{_fields.field.name}}\"\n [min]=\"_fields.field.formConfiguration['DateEdit.Min']\"\n [max]=\"_fields.field.formConfiguration['DateEdit.Max']\" />\n </ng-container>\n <ng-container *ngIf=\"_fields.field.formConfiguration['DateEdit.InputMode'] === _DateEditInterfaces.Month\">\n <input type=\"month\" class=\"form-control\" step=\"1\" formControlName=\"{{_fields.field.name}}\"\n [min]=\"_fields.field.formConfiguration['DateEdit.Min']\"\n [max]=\"_fields.field.formConfiguration['DateEdit.Max']\" />\n </ng-container>\n <div class=\"form-text\" *ngIf=\"_fields.field.description\">{{_fields.field.description}}</div>\n </div>\n </div>\n <button type=\"submit\" style=\"display: none;\" #submitclick></button>\n</form>","import { FormArray, FormControl, Validators } from \"@angular/forms\";\r\n\r\nexport class SelectConfig {\r\n\r\n\r\n /**空值文本 */\r\n 'Select.NullText': any = ['', []];\r\n //多选\r\n 'Select.Multiple': any = [false, []];\r\n // 选项\r\n 'Select.Options': any = new FormArray([])\r\n\r\n constructor(data?: SelectConfig) {\r\n if (data) {\r\n for (const key in data) {\r\n if (data.hasOwnProperty(key)) {\r\n this[key] = data[key];\r\n }\r\n }\r\n }\r\n\r\n\r\n }\r\n}","import { Injectable } from '@angular/core';\nimport { pinyin } from 'pinyin-pro';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DfApiService {\n\n constructor() { }\n\n /**\n * 识别中文转化为拼音,固定返回类型\n * 汉字转拼音\n * 大写转小写\n * \n * */\n chineseToPinyin(value: any) {\n //去除字符串中所有的空格\n // let val = value\n let val = value.replaceAll(' ', \"-\")\n let array = val.split('')\n let newArray = []\n array.forEach((el: any, index: any) => {\n //转化为小写\n let elChange = el.toLowerCase()\n let isChinese = (str) => {\n return /^[\\u4e00-\\u9fa5]+$/.test(str);\n }\n if (isChinese(elChange)) {\n const resultWithoutTone = pinyin(elChange, { toneType: 'none', type: 'array' });\n elChange = resultWithoutTone.toString() \n if (index < array.length - 1) elChange+='-'\n };\n newArray.push(elChange)\n });\n let pinyinstr = newArray.join('')\n return pinyinstr || val\n }\n\n /**获取图片的本地连接 */\n getImageLacolBase64Url(file: File) {\n return new Promise((resolve, rejects) => {\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = (e: any) => {\n resolve(e.target.result)\n };\n reader.onerror = error => rejects(error);\n })\n }\n\n /**\n * 深拷贝--方法 */\n deepClone(obj) {\n if (typeof obj !== 'object' || obj === null) return obj;\n const result = Array.isArray(obj) ? [] : {};\n for (let key in obj) {\n if (obj.hasOwnProperty(key)) {\n if (typeof obj[key] === 'object' && obj[key] !== null) {\n if (obj[key] instanceof Date) {\n result[key] = new Date(obj[key].getTime());\n } else if (obj[key] instanceof RegExp) {\n result[key] = new RegExp(obj[key]);\n } else {\n result[key] = this.deepClone(obj[key]);\n }\n } else {\n result[key] = obj[key];\n }\n }\n }\n return result;\n }\n\n}\n","import { Component, ElementRef, Input, ViewChild } from '@angular/core';\nimport { FormArray, FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { SelectConfig } from './select-config';\nimport { DfApiService } from '../../../services';\n\n@Component({\n selector: 'df-select-config',\n\n templateUrl: './select-config.component.html',\n styleUrls: ['./select-config.component.scss']\n})\nexport class SelectConfigComponent {\n constructor(\n private fb: FormBuilder,\n private _DfApiService: DfApiService,\n ) { }\n /**表单控件类型 */\n _type: any\n @Input()\n public set type(v: any) {\n this._type = v\n this.dataLoaded()\n }\n /**表单实体 */\n _Entity: FormGroup | undefined\n @Input()\n public set Entity(v: FormGroup) {\n this._Entity = v;\n this.dataLoaded()\n }\n /**选择的表单信息 */\n _selected: any\n @Input()\n public set selected(v: any) {\n this._selected = v\n this.dataLoaded()\n }\n get formConfiguration() {\n return this._Entity.get('formConfiguration') as FormGroup\n }\n get SelectOptions() {\n return this.formConfiguration.controls['Select.Options'] as FormArray\n }\n @ViewChild('submitclick', { static: true }) submitclick: ElementRef;\n\n async dataLoaded() {\n if (this._Entity && this._type) {\n await this.AfterInit()\n this.submitclick.nativeElement.click();\n\n }\n }\n /**增加选项 */\n addSelectOptions() {\n this.SelectOptions.push(new FormGroup({\n Text: new FormControl('', Validators.required),\n Value: new FormControl('', Validators.required),\n Selected: new FormControl(false)\n }))\n }\n /**删除某个选项 */\n deleteSelectOptions(index) {\n this.SelectOptions.removeAt(index)\n }\n\n AfterInit() {\n return new Promise((resolve, rejects) => {\n this._Entity.setControl('formConfiguration', this.fb.group(new SelectConfig()))\n if (this._selected && this._selected.formControlName == this._type) {\n this._selected.formConfiguration['Select.Options']?.forEach(el => {\n this.addSelectOptions()\n });\n this.formConfiguration.patchValue({\n ...this._selected.formConfiguration,\n })\n } else {\n this.addSelectOptions()\n }\n resolve(true)\n })\n }\n\n textChange(event,index){\n let SelectOptionsItem=this.SelectOptions.at(index)\n let value=event.target.value\n if(SelectOptionsItem.get('Value').value) return\n SelectOptionsItem.patchValue({\n Value:this._DfApiService.chineseToPinyin(value)\n })\n }\n}\n","<form [formGroup]=\"_Entity\">\n <div formGroupName=\"formConfiguration\">\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'DigniteAbpForms::SelectListItem' | abpLocalization}}</label>\n <table class=\"table\">\n <thead>\n <tr>\n <th scope=\"col\">{{'DigniteAbpForms::SelectListItemText' | abpLocalization}}</th>\n <th scope=\"col\">{{'DigniteAbpForms::SelectListItemValue' | abpLocalization}}</th>\n <th scope=\"col\">{{'DigniteAbpForms::SelectListItemValue' | abpLocalization}}</th>\n <th scope=\"col\" style=\"width: 1%;\">\n <button class=\"btn btn-light btn-sm\" (click.stop)=\"addSelectOptions()\">\n <i class=\"fas fa-plus-circle\"></i>\n </button>\n </th>\n </tr>\n </thead>\n <tbody formArrayName=\"Select.Options\">\n <ng-container *ngFor=\"let item of SelectOptions.controls;let i=index\">\n <tr [formGroupName]=\"i\">\n <td><input type=\"text\" class=\"form-control\" formControlName=\"Text\" (change)=\"textChange($event,i)\"></td>\n <td><input type=\"text\" class=\"form-control\" formControlName=\"Value\"></td>\n <td>\n <div class=\"form-check form-check-inline\">\n <input class=\"form-check-input\" type=\"checkbox\" formControlName=\"Selected\" id=\"selected\">\n </div>\n </td>\n <td scope=\"row\" style=\"width: 1%;\">\n <button class=\"btn btn-light btn-sm\" (click.stop)=\"deleteSelectOptions(i)\">\n <i class=\"fas fa-minus\"></i>\n </button>\n </td>\n </tr> \n </ng-container>\n \n \n </tbody>\n </table>\n </div>\n\n\n\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'DigniteAbpForms::NullText' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"Select.NullText\">\n </div>\n <div class=\"mb-2\">\n <div class=\"form-check form-check-inline\">\n <input class=\"form-check-input\" type=\"checkbox\" formControlName=\"Select.Multiple\"\n id=\"Multiple\">\n <label class=\"form-check-label\" for=\"Multiple\">\n {{'DigniteAbpForms::Multiple' | abpLocalization}}\n </label>\n </div>\n </div>\n <button type=\"submit\" (abpInit)=\"submitclick?.nativeElement?.click()\" style=\"display: none;\"\n #submitclick></button>\n </div>\n</form>","import { Component, ElementRef, Input, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\n\n@Component({\n selector: 'df-select-control',\n templateUrl: './select-control.component.html',\n styleUrls: ['./select-control.component.scss']\n})\nexport class SelectControlComponent {\n\n constructor(\n private fb: FormBuilder,\n ) {\n }\n\n /**表单实体 */\n _entity: FormGroup | undefined\n @Input()\n public set entity(v: any) {\n this._entity = v;\n this.dataLoaded()\n }\n\n /**字段配置列表 */\n _fields: any = ''\n @Input()\n public set fields(v: any) {\n this._fields = v;\n this.dataLoaded()\n }\n\n /**父级字段名称,用于为表单设置控件赋值 */\n _parentFiledName: any\n @Input()\n public set parentFiledName(v: any) {\n this._parentFiledName = v;\n this.dataLoaded()\n }\n /**父级字段名称,用于为表单设置控件赋值 */\n _selected: any\n @Input()\n public set selected(v: any) {\n this._selected = v\n this.dataLoaded()\n }\n @ViewChild('submitclick', { static: true }) submitclick: ElementRef;\n\n\n get extraProperties() {\n return this._entity.get('extraProperties') as FormGroup\n }\n /**数据加载完成 */\n async dataLoaded() {\n if (this._fields && this._entity) {\n await this.AfterInit()\n this.submitclick.nativeElement.click();\n\n\n }\n }\n formConfiguration: any = ''\n AfterInit() {\n return new Promise((resolve, rejects) => {\n let ValidatorsArray = []\n if (this._fields.required) {\n ValidatorsArray.push(Validators.required)\n }\n this.formConfiguration = this._fields.field.formConfiguration\n if (!this._selected) {\n const isMultiple = this.formConfiguration['Select.Multiple'];\n\n let selectValue = isMultiple ? [] : ''\n this.formConfiguration['Select.Options'].forEach(el => {\n if (el.Selected) {\n selectValue = isMultiple ? [...selectValue, el.value||el.Value] : [el.value||el.Value];\n }\n });\n\n this._selected = selectValue;\n }\n let newControl = this.fb.control(this._selected, ValidatorsArray)\n this.extraProperties.setControl(this._fields.field.name, newControl)\n resolve(true)\n })\n }\n ngOnDestroy(): void {\n //Called once, before the instance is destroyed.\n //Add 'implements OnDestroy' to the class.\n this.extraProperties.removeControl(this._fields.field.name)\n }\n\n\n}\n","<form [formGroup]=\"_entity\">\n <div formGroupName=\"extraProperties\">\n <div class=\"mb-2\">\n <label class=\"form-label\" *ngIf=\"_fields.displayName\">{{ _fields.displayName }}</label>\n <ng-container *ngIf=\"formConfiguration['Select.Multiple']; else elseTemplate\">\n <select class=\"form-select\" multiple formControlName=\"{{_fields.field.name}}\">\n <ng-container *ngFor=\"let item of _fields.field.formConfiguration['Select.Options'];let i =index\">\n <option [value]=\"item.value\">{{item.text}}</option>\n </ng-container>\n </select>\n </ng-container>\n <ng-template #elseTemplate>\n <select class=\"form-select\" [multiple]=\"false\"\n formControlName=\"{{_fields.field.name}}\">\n <option>{{formConfiguration['Select.NullText']}}</option>\n <ng-container *ngFor=\"let item of formConfiguration['Select.Options'];let i =index\">\n <option [value]=\"item.Value\" >{{item.Text}}</option>\n </ng-container>\n </select>\n </ng-template>\n <div class=\"form-text\" *ngIf=\"_fields.field.description\">{{_fields.field.description}}</div>\n </div>\n\n </div>\n <button type=\"submit\" style=\"display: none;\" #submitclick></button>\n</form>","import { FieldControlGroupInterfaces } from \"../../interfaces\";\r\n// import { CkEditorConfigComponent, CkEditorControlComponent } from \"./ck-editor\";\r\nimport { DateEditConfigComponent } from \"./date-edit/date-edit-config.component\";\r\nimport { DateEditControlComponent } from \"./date-edit/date-edit-control.component\";\r\nimport { NumbericEditConfigComponent } from \"./numeric-edit/numberic-edit-config.component\";\r\nimport { NumbericEditControlComponent } from \"./numeric-edit/numberic-edit-control.component\";\r\nimport { SelectConfigComponent, SelectControlComponent } from \"./select\";\r\nimport { SwitchConfigComponent, SwitchControlComponent } from \"./switch\";\r\nimport { TextEditComponent, TextEditConfigComponent } from \"./text-edit\";\r\n\r\n/**\r\n * 表单控件分组-包含配置,控件,显示的数组\r\n */\r\nexport const FieldControlGroup: FieldControlGroupInterfaces[] = [\r\n {\r\n displayName: '文本框',\r\n name: 'TextEdit',\r\n fieldConfigComponent: TextEditConfigComponent,\r\n fieldComponent: TextEditComponent,\r\n // fieldViewComponent:TextBoxViewComponent,\r\n }, {\r\n displayName: '开关',\r\n name: 'Switch',\r\n fieldConfigComponent: SwitchConfigComponent,\r\n fieldComponent: SwitchControlComponent,\r\n // fieldViewComponent:TextBoxViewComponent,\r\n }, {\r\n displayName: '选择',\r\n name: 'Select',\r\n fieldConfigComponent: SelectConfigComponent,\r\n fieldComponent: SelectControlComponent,\r\n // fieldViewComponent:TextBoxViewComponent,\r\n }, {\r\n displayName: '数字',\r\n name: 'NumericEdit',\r\n fieldConfigComponent: NumbericEditConfigComponent,\r\n fieldComponent: NumbericEditControlComponent,\r\n // fieldViewComponent:TextBoxViewComponent,\r\n }, {\r\n displayName: '日期',\r\n name: 'DateEdit',\r\n fieldConfigComponent: DateEditConfigComponent,\r\n fieldComponent: DateEditControlComponent,\r\n // fieldViewComponent:TextBoxViewComponent,\r\n },\r\n];\r\nexport function getExcludeAssignControl(typeName?) {\r\n // return FieldControlGroup.filter(el => el.name !== typeName)\r\n return FieldControlGroup\r\n}\r\n\r\nexport function AddFieldControlGroup(array=[]) {\r\n FieldControlGroup.push(...array)\r\n}","import {Component,Input, ViewChild, ViewContainerRef } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport type{ FieldControlGroupInterfaces } from '../../interfaces';\nimport { FieldControlGroup } from '../form';\n\n@Component({\n selector: 'df-dynamic',\n templateUrl: './dynamic.component.html',\n styleUrls: ['./dynamic.component.scss']\n})\nexport class DynamicComponent {\n\n\n /**选择的表单信息 */\n _selected: any\n @Input()\n public set selected(v: any) {\n this._selected = v===undefined?'':v===null?'':v\n // this._selected = (v===true?true:v===false?false:v) || '';\n if(v) this.dataLoaded(1)\n }\n\n\n /**表单控件类型 */\n _type: string\n @Input()\n public set type(v: string) {\n this._type = v;\n if(v) this.dataLoaded(2)\n }\n\n /**表单实体 */\n _entity: FormGroup | undefined\n @Input()\n public set entity(v: any) {\n if(v) {\n this._entity = v;\n this.dataLoaded(3)\n }\n }\n /**语言 */\n _culture: FormGroup | undefined\n @Input()\n public set culture(v: any) {\n this._culture = v;\n if(v) this.dataLoaded(6)\n }\n\n /**父级字段名称,用于为表单设置控件赋值 */\n _parentFiledName: any\n @Input()\n public set parentFiledName(v: any) {\n this._parentFiledName = v;\n if(v) this.dataLoaded(4)\n }\n\n /**字段配置列表 */\n _fields: any = ''\n @Input()\n public set fields(v: any) {\n this._fields = v;\n if(v) this.dataLoaded(5)\n }\n\n\n /**表单控件模板-动态表单配置组件 */\n @ViewChild('FormControlRef', { read: ViewContainerRef, static: true }) FormControlRef: ViewContainerRef;\n\n /**表单控件模板-动态表单组件 */\n @ViewChild('FormComponentsRef', { read: ViewContainerRef, static: true }) FormComponentsRef: ViewContainerRef;\n\n /**表单控件组 */\n _fieldControlGroup: FieldControlGroupInterfaces[] = FieldControlGroup\n /**数据加载完成 */\n dataLoaded(val) {\n if (this._entity) {\n if (this._type) {\n let fieldControlItem = this._fieldControlGroup.find(el => el.name === this._type)\n this.loadfieldConfigComponent(fieldControlItem)\n }\n if (this._fields && this._parentFiledName&&this._culture) {\n /**表单控件组中的项 */\n let fieldControlItem = this._fieldControlGroup.find(el => el.name === this._fields.field.formControlName)\n this.loadfieldComponent(fieldControlItem)\n }\n }\n }\n\n\n\n /**加载动态表单配置组件 */\n loadfieldConfigComponent(FieldControlItem?: FieldControlGroupInterfaces) {\n //清空了容器中的所有组件\n this.FormControlRef?.clear();\n if (!FieldControlItem || !FieldControlItem.fieldConfigComponent) return\n //在容器中创建组件\n const { instance } = this.FormControlRef?.createComponent(FieldControlItem.fieldConfigComponent);//创建组件模板\n /**向创建的组件模板中传值 */\n instance.Entity = this._entity\n instance.selected = this._selected\n instance.type = this._type\n }\n\n /**加载动态表单组件 */\n loadfieldComponent(FieldControlItem?: FieldControlGroupInterfaces) {\n // this.FormControlRef.clear\n //清空了容器中的所有组件\n this.FormComponentsRef?.clear();\n if (!FieldControlItem || !FieldControlItem.fieldComponent) return\n //在容器中创建组件\n const { instance } = this.FormComponentsRef?.createComponent(FieldControlItem.fieldComponent);//创建组件模板\n /**向创建的组件模板中传值 */\n instance.entity = this._entity\n instance.fields = this._fields\n instance.parentFiledName = this._parentFiledName\n instance.selected = this._selected\n instance.culture = this._culture\n }\n}\n","<template #FormControlRef></template>\n<template #FormComponentsRef></template>","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NzTreeModule } from 'ng-zorro-antd/tree';\nimport {\n TextEditConfigComponent,\n TextEditComponent,\n SwitchConfigComponent,\n SwitchControlComponent,\n NumbericEditConfigComponent,\n NumbericEditControlComponent,\n DateEditConfigComponent,\n DateEditControlComponent,\n SelectConfigComponent,\n SelectControlComponent,\n AddFieldControlGroup,\n DynamicComponent,\n} from './components';\n\n\n\n@NgModule({\n declarations: [\n TextEditConfigComponent,\n TextEditComponent,\n SwitchConfigComponent,\n SwitchControlComponent,\n NumbericEditConfigComponent,\n NumbericEditControlComponent,\n DateEditConfigComponent,\n DateEditControlComponent,\n SelectConfigComponent,\n SelectControlComponent,\n DynamicComponent,\n\n ],\n imports: [\n FormsModule,\n CoreModule,\n ThemeSharedModule,\n ReactiveFormsModule,\n NgbDropdownModule,\n NzTreeModule,\n ],\n exports: [\n TextEditConfigComponent,\n TextEditComponent,\n SwitchConfigComponent,\n SwitchControlComponent,\n NumbericEditConfigComponent,\n NumbericEditControlComponent,\n DateEditConfigComponent,\n DateEditControlComponent,\n SelectConfigComponent,\n SelectControlComponent,\n DynamicComponent,\n ],\n})\nexport class DynamicFormModule {\n static forRoot(config?: any): ModuleWithProviders<DynamicFormModule> {\n AddFieldControlGroup(config?.cmsFieldControlGroup)\n return {\n ngModule: DynamicFormModule,\n providers: []\n };\n }\n}\n","/*\n * Public API Surface of dynamic-form\n */\n\nexport * from './lib/dynamic-form.module';\nexport * from './lib/components';\nexport * from './lib/interfaces';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i2.DfApiService","i3","i4","i5"],"mappings":"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"}
|