From 691fc130de706c691a42f7e87688c14102016ccc Mon Sep 17 00:00:00 2001 From: Nathan-SR <144961007+Nathan-SR@users.noreply.github.com> Date: Tue, 29 Oct 2024 04:02:29 -0400 Subject: starting to integrate refactor with docreatormenu functionality --- .../DataVizBox/DocCreatorMenu/TemplateManager.tsx | 23 ++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 src/client/views/nodes/DataVizBox/DocCreatorMenu/TemplateManager.tsx (limited to 'src/client/views/nodes/DataVizBox/DocCreatorMenu/TemplateManager.tsx') diff --git a/src/client/views/nodes/DataVizBox/DocCreatorMenu/TemplateManager.tsx b/src/client/views/nodes/DataVizBox/DocCreatorMenu/TemplateManager.tsx new file mode 100644 index 000000000..890bc6f73 --- /dev/null +++ b/src/client/views/nodes/DataVizBox/DocCreatorMenu/TemplateManager.tsx @@ -0,0 +1,23 @@ +import { Col } from "./DocCreatorMenu"; +import { FieldSettings } from "./FieldTypes/Field"; +import { Template } from "./Template"; +import { TemplateLayouts } from "./TemplateBackend"; + +export class TemplateManager { + + templates: Template[] = []; + + constructor(templateSettings: FieldSettings[]) { + this.templates = this.initializeTemplates(templateSettings); + } + + initializeTemplates = (templateSettings: FieldSettings[]): Template[] => { + const initializedTemplates: Template[] = []; + templateSettings.forEach(settings => initializedTemplates.push(new Template(settings))); + return initializedTemplates; + } + + getValidTemplates = (cols: Col[]): Template[] => { + return this.templates.filter(template => template.isValidTemplate(cols)); + } +} \ No newline at end of file -- cgit v1.2.3-70-g09d2