aboutsummaryrefslogtreecommitdiff
path: root/src/client/views/nodes/DataVizBox/DocCreatorMenu/Template.ts
diff options
context:
space:
mode:
authorbobzel <zzzman@gmail.com>2025-03-16 23:28:20 -0400
committerbobzel <zzzman@gmail.com>2025-03-16 23:28:20 -0400
commit9254c4ea7e633c4e1a5eefda9a9d8d2bbe61f6b1 (patch)
treef91623557c5d315712474c1de68a5f4664f91535 /src/client/views/nodes/DataVizBox/DocCreatorMenu/Template.ts
parent29d420ddc6de6789dd7ada2051c5d9235a975727 (diff)
more doc Creator template code cleanup
Diffstat (limited to 'src/client/views/nodes/DataVizBox/DocCreatorMenu/Template.ts')
-rw-r--r--src/client/views/nodes/DataVizBox/DocCreatorMenu/Template.ts53
1 files changed, 18 insertions, 35 deletions
diff --git a/src/client/views/nodes/DataVizBox/DocCreatorMenu/Template.ts b/src/client/views/nodes/DataVizBox/DocCreatorMenu/Template.ts
index ef6867e32..b13ec46f0 100644
--- a/src/client/views/nodes/DataVizBox/DocCreatorMenu/Template.ts
+++ b/src/client/views/nodes/DataVizBox/DocCreatorMenu/Template.ts
@@ -1,17 +1,17 @@
import { makeAutoObservable } from 'mobx';
import { Col } from './DocCreatorMenu';
-import { DynamicField } from './TemplateFieldTypes/DynamicField';
-import { TemplateField, FieldSettings } from './TemplateFieldTypes/TemplateField';
import { TemplateLayouts } from './TemplateBackend';
+import { DynamicField } from './TemplateFieldTypes/DynamicField';
+import { FieldSettings, TemplateField } from './TemplateFieldTypes/TemplateField';
export class Template {
mainField: DynamicField;
private settings: FieldSettings;
- constructor(templateInfo: FieldSettings) {
+ constructor(templateInfo: FieldSettings, mainField?: DynamicField) {
makeAutoObservable(this);
this.settings = templateInfo;
- this.mainField = this.setupMainField(templateInfo);
+ this.mainField = mainField ?? this.setupMainField(templateInfo);
}
get childFields(): TemplateField[] {
@@ -34,13 +34,7 @@ export class Template {
//dispose each subfields disposers, etc.
};
- cloneBase = async (): Promise<Template> => {
- const clone: Template = new Template(TemplateLayouts.BasicSettings);
- clone.mainField = (await this.mainField.makeClone(undefined)) as unknown as DynamicField;
- // clone.mainField.renderedDoc._width = this.mainField.renderedDoc._width;
- // clone.mainField.renderedDoc._height = this.mainField.renderedDoc._height;
- return clone;
- };
+ cloneBase = () => new Template(TemplateLayouts.BasicSettings, this.mainField.makeClone(undefined));
printFieldInfo = () => {
this.allFields.forEach(field => {
@@ -49,21 +43,13 @@ export class Template {
});
};
- getRenderedDoc = () => {
- return this.doc;
- };
+ getRenderedDoc = () => this.doc;
- getFieldByID = (id: number): TemplateField => {
- return this.allFields.filter(field => field.getID === id)[0];
- };
+ getFieldByID = (id: number): TemplateField => this.allFields.filter(field => field.getID === id)[0];
- getFieldByTitle = (title: string) => {
- return this.allFields.filter(field => field.getTitle() === title)[0];
- };
+ getFieldByTitle = (title: string) => this.allFields.filter(field => field.getTitle() === title)[0];
- setupMainField = (templateInfo: FieldSettings) => {
- return DynamicField.Create(templateInfo, 1);
- };
+ setupMainField = (templateInfo: FieldSettings) => DynamicField.Create(templateInfo, 1);
get descriptionSummary(): string {
let summary: string = '';
@@ -95,9 +81,7 @@ export class Template {
.fill([])
.map(() => []);
- this.contentFields.forEach((field, i) => {
- matches[i] = field.matches(cols);
- });
+ this.contentFields.forEach((field, i) => (matches[i] = field.matches(cols)));
return matches;
};
@@ -110,13 +94,14 @@ export class Template {
const mt: number[] = Array(fieldsCt).fill(-1);
const augmentingPath = (v: number): boolean => {
- if (used[v]) return false;
- used[v] = true;
-
- for (const to of matches[v]) {
- if (mt[to] === -1 || augmentingPath(mt[to])) {
- mt[to] = v;
- return true;
+ if (!used[v]) {
+ used[v] = true;
+
+ for (const to of matches[v]) {
+ if (mt[to] === -1 || augmentingPath(mt[to])) {
+ mt[to] = v;
+ return true;
+ }
}
}
return false;
@@ -128,11 +113,9 @@ export class Template {
}
let count: number = 0;
-
for (let i = 0; i < fieldsCt; ++i) {
if (mt[i] !== -1) ++count;
}
-
return count;
};
}