|
@@ -3,8 +3,8 @@
|
|
|
Dynaform Service, exposing 8 public methods
|
|
|
===========================================
|
|
|
|
|
|
-build(model, meta) - takes a model and (lazy)metadata and returns a FormGroup
|
|
|
-autoBuildFormGroup(model, meta) - synonym for autoForm
|
|
|
+build(model, meta) - takes a model and (lazy)metadata and returns aa an objevt { form: FormGroup, meta: ModeledMetaData }
|
|
|
+autoBuildFormGroupAndMeta(model, meta) - synonym for build
|
|
|
autoBuildModeledMeta(model, meta) - takes a model and (lazy)metadata and returns expanded metadata
|
|
|
|
|
|
buildFormGroup(metadata) - builds FormGroups from modelled metdata, recursively if necessary
|
|
@@ -40,6 +40,12 @@ import {
|
|
|
buildFieldSpecificMeta, buildFormGroupFunctionFactory
|
|
|
} from './meta-utils';
|
|
|
|
|
|
+export interface FormAndMeta {
|
|
|
+ form: FormGroup;
|
|
|
+ meta: StringMap;
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
@Injectable()
|
|
|
export class DynaformService {
|
|
|
|
|
@@ -52,14 +58,17 @@ export class DynaformService {
|
|
|
// -----------------------------------------------------------------------------------------------------------------
|
|
|
// Convenience methods combining several steps
|
|
|
|
|
|
- build(model, meta = {}): FormGroup {
|
|
|
- // Shortname for autoBuildFormGroup
|
|
|
- return this.autoBuildFormGroup(model, meta);
|
|
|
+ build(model, meta = {}): FormAndMeta {
|
|
|
+ // Short name for autoBuildFormGroupAndMeta
|
|
|
+ return this.autoBuildFormGroupAndMeta(model, meta);
|
|
|
}
|
|
|
|
|
|
- autoBuildFormGroup(model, meta = {}): FormGroup {
|
|
|
+ autoBuildFormGroupAndMeta(model, meta = {}): FormAndMeta {
|
|
|
const modelWithMeta = this.autoBuildModeledMeta(model, meta);
|
|
|
- return this.buildFormGroup(modelWithMeta);
|
|
|
+ return {
|
|
|
+ form: this.buildFormGroup(modelWithMeta),
|
|
|
+ meta: modelWithMeta
|
|
|
+ };
|
|
|
}
|
|
|
|
|
|
autoBuildModeledMeta(model, meta = {}) {
|