diff options
| author | bobzel <zzzman@gmail.com> | 2025-03-16 23:28:20 -0400 |
|---|---|---|
| committer | bobzel <zzzman@gmail.com> | 2025-03-16 23:28:20 -0400 |
| commit | 9254c4ea7e633c4e1a5eefda9a9d8d2bbe61f6b1 (patch) | |
| tree | f91623557c5d315712474c1de68a5f4664f91535 /src/client/views/nodes/DataVizBox/DocCreatorMenu/Template.ts | |
| parent | 29d420ddc6de6789dd7ada2051c5d9235a975727 (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.ts | 53 |
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; }; } |
