|
@@ -10,6 +10,7 @@ import { Container } from '@angular/compiler/src/i18n/i18n_ast';
|
|
|
* -------
|
|
|
* autoMeta(model) - generate basic metadata from a raw or mapped model, recursively if necessary
|
|
|
* combineExtraMeta(metadata, extraMeta) - combine extra metadata into metatdata, lazyly and recursively
|
|
|
+ * combineModelWithMeta(model, extraMeta) - automatically generated metadata for model then combines extra metadata
|
|
|
* buildModedMeta(metadata) - use field metadta models to fill out metadata
|
|
|
* buildFormGroup(metadata) - builds FormGroups from modelled metdata, recursively if necessary
|
|
|
*
|
|
@@ -84,6 +85,11 @@ const combineExtraMeta = (metaG, metaExtra) => {
|
|
|
return { ...metaG, ...combinedMeta };
|
|
|
};
|
|
|
|
|
|
+// ---------------------------------------------------------------------------------------------------------------------
|
|
|
+// Combine model with overrides
|
|
|
+
|
|
|
+const combineModelWithMeta = (model, metaExtra) => combineExtraMeta(autoMeta(model), metaExtra);
|
|
|
+
|
|
|
// ---------------------------------------------------------------------------------------------------------------------
|
|
|
// Build Modelled Metadata - Form Metadata Factory
|
|
|
|
|
@@ -139,7 +145,16 @@ const buildFormGroupReducerIteree = (res, metaFoG) => Object.assign(res, { [meta
|
|
|
const _buildFormGroup = metaG => fb.group(reduce(buildFormGroupReducerIteree, {}, metaG));
|
|
|
const buildFormGroup = metaG => _buildFormGroup(addMissingNames(metaG));
|
|
|
|
|
|
+// ---------------------------------------------------------------------------------------------------------------------
|
|
|
+// Convenience Functions combining several steps
|
|
|
+
|
|
|
+const autoBuildModeledMeta = (model, metaExtra = {}) => buildModeledMeta(combineModelWithMeta(model, metaExtra));
|
|
|
+const autoBuildFormGroup = (model, metaExtra = {}) => buildFormGroup(autoBuildModeledMeta(model, metaExtra));
|
|
|
+
|
|
|
// ---------------------------------------------------------------------------------------------------------------------
|
|
|
// Exports
|
|
|
|
|
|
-export { autoMeta, combineExtraMeta, buildModeledMeta, buildFormGroup };
|
|
|
+export {
|
|
|
+ autoMeta, combineModelWithMeta, combineExtraMeta, buildModeledMeta, buildFormGroup,
|
|
|
+ autoBuildModeledMeta, autoBuildFormGroup
|
|
|
+};
|