aboutsummaryrefslogtreecommitdiff
path: root/src/client/views/nodes/DataVizBox/DocCreatorMenu/Backend/TemplateManager.ts
diff options
context:
space:
mode:
authorNathan-SR <144961007+Nathan-SR@users.noreply.github.com>2025-05-12 01:27:50 -0400
committerNathan-SR <144961007+Nathan-SR@users.noreply.github.com>2025-05-12 01:27:50 -0400
commit5be235c8ca1b4ad5d499fac96133e77c773b7c6d (patch)
tree1cc718c4ce622be757b4d2dea6094e8ca9b869a9 /src/client/views/nodes/DataVizBox/DocCreatorMenu/Backend/TemplateManager.ts
parent4219c751c0f984fac6e5995c1ab955a8d63a28cd (diff)
data fields
Diffstat (limited to 'src/client/views/nodes/DataVizBox/DocCreatorMenu/Backend/TemplateManager.ts')
-rw-r--r--src/client/views/nodes/DataVizBox/DocCreatorMenu/Backend/TemplateManager.ts20
1 files changed, 14 insertions, 6 deletions
diff --git a/src/client/views/nodes/DataVizBox/DocCreatorMenu/Backend/TemplateManager.ts b/src/client/views/nodes/DataVizBox/DocCreatorMenu/Backend/TemplateManager.ts
index 030c6db95..760940127 100644
--- a/src/client/views/nodes/DataVizBox/DocCreatorMenu/Backend/TemplateManager.ts
+++ b/src/client/views/nodes/DataVizBox/DocCreatorMenu/Backend/TemplateManager.ts
@@ -1,6 +1,6 @@
import { action, makeAutoObservable } from 'mobx';
import { Col } from '../DocCreatorMenu';
-import { FieldSettings } from '../TemplateFieldTypes/TemplateField';
+import { FieldSettings, TemplateField } from '../TemplateFieldTypes/TemplateField';
import { Template } from '../Template';
import { Doc, NumListCast } from '../../../../../../fields/Doc';
import { DataVizBox } from '../../DataVizBox';
@@ -11,7 +11,7 @@ export type Conditional = {
field: string;
operator: '=' | '>' | '<';
condition: string;
- target: 'self' | 'template';
+ target: string;
attribute: string;
value: string;
}
@@ -53,13 +53,21 @@ export class TemplateManager {
}
}
+ addDataField = (title: string) => {
+ this.templates.forEach(template => template.addDataField(title));
+ }
+
+ removeDataField = (title: string) => {
+ this.templates.forEach(template => template.removeDataField(title));
+ }
+
createDocsFromTemplate = action((dv: DataVizBox, template: Template, cols: Col[], debug: boolean = false) => {
- const fields = Array.from(Object.keys(dv.records[0]));
+ const csvFields = Array.from(Object.keys(dv.records[0]));
const processContent = async (content: { [title: string]: string }) => {
const templateCopy = template.clone();
- fields
+ csvFields
.filter(title => title)
.forEach(title => {
const field = templateCopy.getFieldByTitle(title);
@@ -71,7 +79,7 @@ export class TemplateManager {
const promises = cols
.filter(field => field.AIGenerated)
.map(field => {
- const templateField = templateCopy.getFieldByTitle(field.title);
+ const templateField: TemplateField = templateCopy.getFieldByTitle(field.title) as TemplateField;
if (templateField !== undefined) {
return gptFunc(field.type)(templateCopy, field, templateField.getID);
}
@@ -92,7 +100,7 @@ export class TemplateManager {
const rowContents = debug
? [{}, {}, {}, {}]
: NumListCast(dv.layoutDoc.dataViz_selectedRows).map(row =>
- fields.reduce(
+ csvFields.reduce(
(values, col) => {
values[col] = dv.records[row][col];
return values;