aboutsummaryrefslogtreecommitdiff
path: root/src/client/views/nodes/DataVizBox/DocCreatorMenu/Template.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/views/nodes/DataVizBox/DocCreatorMenu/Template.tsx')
-rw-r--r--src/client/views/nodes/DataVizBox/DocCreatorMenu/Template.tsx11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/client/views/nodes/DataVizBox/DocCreatorMenu/Template.tsx b/src/client/views/nodes/DataVizBox/DocCreatorMenu/Template.tsx
index 7d32d26d1..21344dfeb 100644
--- a/src/client/views/nodes/DataVizBox/DocCreatorMenu/Template.tsx
+++ b/src/client/views/nodes/DataVizBox/DocCreatorMenu/Template.tsx
@@ -10,9 +10,11 @@ import { } from "./FieldTypes/StaticField";
export class Template {
mainField: DynamicField;
+ settings: FieldSettings;
constructor(templateInfo: FieldSettings) {
this.mainField = this.setupMainField(templateInfo);
+ this.settings = templateInfo;
}
get childFields(): Field[] { return this.mainField.getSubfields };
@@ -20,6 +22,15 @@ export class Template {
get contentFields(): Field[] { return this.allFields.filter(field => field.getViewType === ViewType.STATIC) };
get doc(){ return this.mainField.renderedDoc(); };
+ cloneBase = () => {
+ const clone: Template = new Template(this.settings);
+ clone.contentFields.forEach(field => {
+ const matchingField: Field = this.contentFields.filter(f => f.getID === field.getID)[0];
+ matchingField.applyAttributes(field);
+ })
+ return clone;
+ }
+
getFieldByID = (id: number): Field => {
return this.allFields.filter(field => field.getID === id)[0];
}