aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorNathan-SR <144961007+Nathan-SR@users.noreply.github.com>2025-04-09 21:23:53 -0400
committerNathan-SR <144961007+Nathan-SR@users.noreply.github.com>2025-04-09 21:23:53 -0400
commitd5a9567c75e121b73f376718c311585b70f4bf22 (patch)
treea29c1e9ff2a7013d28c39ca113ba68ae0d2e453e /src
parente9bc998554515ecbe86f7d00b01d3cf5d2048b6e (diff)
fixed field validity mapping and type changing
Diffstat (limited to 'src')
-rw-r--r--src/client/views/nodes/DataVizBox/DocCreatorMenu/DocCreatorMenu.tsx3
-rw-r--r--src/client/views/nodes/DataVizBox/DocCreatorMenu/Template.ts1
-rw-r--r--src/client/views/nodes/DataVizBox/DocCreatorMenu/TemplateFieldTypes/DynamicField.ts1
-rw-r--r--src/client/views/nodes/DataVizBox/DocCreatorMenu/TemplateFieldTypes/StaticContentField.ts4
-rw-r--r--src/client/views/nodes/DataVizBox/DocCreatorMenu/TemplateFieldTypes/TemplateField.ts15
5 files changed, 19 insertions, 5 deletions
diff --git a/src/client/views/nodes/DataVizBox/DocCreatorMenu/DocCreatorMenu.tsx b/src/client/views/nodes/DataVizBox/DocCreatorMenu/DocCreatorMenu.tsx
index 0c5ae58a3..6d8d810aa 100644
--- a/src/client/views/nodes/DataVizBox/DocCreatorMenu/DocCreatorMenu.tsx
+++ b/src/client/views/nodes/DataVizBox/DocCreatorMenu/DocCreatorMenu.tsx
@@ -74,7 +74,7 @@ export class DocCreatorMenu extends ObservableReactComponent<DocCreateMenuProps>
// eslint-disable-next-line no-use-before-define
static Instance: DocCreatorMenu;
- private DEBUG_MODE: boolean = true;
+ private DEBUG_MODE: boolean = false;
private _disposers: { [name: string]: IDisposer } = {};
private _ref: HTMLDivElement | null = null;
private templateManager: TemplateManager;
@@ -664,6 +664,7 @@ export class DocCreatorMenu extends ObservableReactComponent<DocCreateMenuProps>
} else {
this._dataViz?.updateColDefaults();
+ console.log('field infos are: ', this.fieldsInfos)
templates.push(...this.templateManager.getValidTemplates(this.fieldsInfos));
const assignments = await this.assignColsToFields(templates, this.fieldsInfos);
diff --git a/src/client/views/nodes/DataVizBox/DocCreatorMenu/Template.ts b/src/client/views/nodes/DataVizBox/DocCreatorMenu/Template.ts
index cf6e145cb..2fe146b1c 100644
--- a/src/client/views/nodes/DataVizBox/DocCreatorMenu/Template.ts
+++ b/src/client/views/nodes/DataVizBox/DocCreatorMenu/Template.ts
@@ -65,7 +65,6 @@ export class Template {
printFieldInfo = () => {
this.allFields.forEach(field => {
const doc = field.renderedDoc;
- console.log('title: ', field.getTitle(), ' width: ', doc?.width);
});
};
diff --git a/src/client/views/nodes/DataVizBox/DocCreatorMenu/TemplateFieldTypes/DynamicField.ts b/src/client/views/nodes/DataVizBox/DocCreatorMenu/TemplateFieldTypes/DynamicField.ts
index b5e73ff18..6326a4a25 100644
--- a/src/client/views/nodes/DataVizBox/DocCreatorMenu/TemplateFieldTypes/DynamicField.ts
+++ b/src/client/views/nodes/DataVizBox/DocCreatorMenu/TemplateFieldTypes/DynamicField.ts
@@ -62,6 +62,7 @@ export class DynamicField extends TemplateField {
// implement Field's abstract method for replacing a subfield with a new one
exchangeFields(newField: TemplateField, oldField: TemplateField) {
this._subfields?.splice(this._subfields.indexOf(oldField), 1, newField);
+ this.initRenderDoc(this._settings);
}
get isContentField(): boolean {
diff --git a/src/client/views/nodes/DataVizBox/DocCreatorMenu/TemplateFieldTypes/StaticContentField.ts b/src/client/views/nodes/DataVizBox/DocCreatorMenu/TemplateFieldTypes/StaticContentField.ts
index af3618106..38b301c87 100644
--- a/src/client/views/nodes/DataVizBox/DocCreatorMenu/TemplateFieldTypes/StaticContentField.ts
+++ b/src/client/views/nodes/DataVizBox/DocCreatorMenu/TemplateFieldTypes/StaticContentField.ts
@@ -27,10 +27,12 @@ export abstract class StaticContentField extends TemplateField {
export class ImageTemplateField extends StaticContentField {
setContent(url: string, type?: ViewType) {
+ console.log('setting image content to ', url)
this.setDataContent(ViewType.IMG, 'data', new ImageField(url), url, type);
}
initRenderDoc(settings: FieldSettings) {
+ console.log('initializing image field')
settings.opts.title = settings.title ?? '';
settings.opts._layout_fitWidth = false;
this._renderDoc = Docs.Create.ImageDocument('', settings.opts);
@@ -45,7 +47,7 @@ export class TextTemplateField extends StaticContentField {
initRenderDoc(settings: FieldSettings) {
settings.opts.title = settings.title ?? '';
- settings.opts._text_fontSize = TemplateFieldUtils.calculateFontSize(this._dimensions?.width ?? 10, this._dimensions?.height ?? 10, '', true) + '';
+ settings.opts.text_fontSize = TemplateFieldUtils.calculateFontSize(this._dimensions?.width ?? 10, this._dimensions?.height ?? 10, '', true) + '';
this._renderDoc = Docs.Create.TextDocument('', settings.opts);
return this;
}
diff --git a/src/client/views/nodes/DataVizBox/DocCreatorMenu/TemplateFieldTypes/TemplateField.ts b/src/client/views/nodes/DataVizBox/DocCreatorMenu/TemplateFieldTypes/TemplateField.ts
index 74d73e692..48e01d6ef 100644
--- a/src/client/views/nodes/DataVizBox/DocCreatorMenu/TemplateFieldTypes/TemplateField.ts
+++ b/src/client/views/nodes/DataVizBox/DocCreatorMenu/TemplateFieldTypes/TemplateField.ts
@@ -78,7 +78,10 @@ export abstract class TemplateField {
}
// eslint-disable-next-line @typescript-eslint/no-unused-vars
changeFieldType = (newType: ViewType): TemplateField => {
- const newField = TemplateField.CreateField(this._settings, this._id, this._parent, true);
+ console.log('chaning field', this._title, 'to type:', newType)
+ const newSettings = this._settings;
+ newSettings.viewType = newType;
+ const newField = TemplateField.CreateField(newSettings, this._id, this._parent, true);
this._parent?.exchangeFields(newField, this);
return newField;
};
@@ -86,7 +89,15 @@ export abstract class TemplateField {
matches = (cols: Col[]): number[] => {
const colMatchesField = (col: Col) => (this._settings?.sizes?.some(size => col.sizes?.includes(size)) && this._settings.types?.includes(col.type)) ?? false;
- return cols.filter(colMatchesField).map((col, v) => v);
+ const matches: Array<number> = [];
+
+ cols.forEach((col, v) => {
+ if (colMatchesField(col)) {
+ matches.push(v);
+ }
+ });
+
+ return matches;
};
private getLocalDimensions = (coords: { tl: [number, number]; br: [number, number] }, parentDimensions?: FieldDimensions): FieldDimensions => {