aboutsummaryrefslogtreecommitdiff
path: root/src/client/views/nodes/DataVizBox/DocCreatorMenu/TemplateManager.tsx
diff options
context:
space:
mode:
authorNathan-SR <144961007+Nathan-SR@users.noreply.github.com>2024-10-29 04:02:29 -0400
committerNathan-SR <144961007+Nathan-SR@users.noreply.github.com>2024-10-29 04:02:29 -0400
commit691fc130de706c691a42f7e87688c14102016ccc (patch)
treeaf29b634c73be79ee18883ddb1b2d0ef1ab0b80c /src/client/views/nodes/DataVizBox/DocCreatorMenu/TemplateManager.tsx
parent857797d1d47f22b641d1bddb4177028c26677f19 (diff)
starting to integrate refactor with docreatormenu functionality
Diffstat (limited to 'src/client/views/nodes/DataVizBox/DocCreatorMenu/TemplateManager.tsx')
-rw-r--r--src/client/views/nodes/DataVizBox/DocCreatorMenu/TemplateManager.tsx23
1 files changed, 23 insertions, 0 deletions
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