diff options
Diffstat (limited to 'src/client/views/nodes/DataVizBox/DocCreatorMenu/Template.tsx')
-rw-r--r-- | src/client/views/nodes/DataVizBox/DocCreatorMenu/Template.tsx | 11 |
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]; } |