diff options
Diffstat (limited to 'src/client/views/nodes/DataVizBox/DocCreatorMenu/Template.tsx')
| -rw-r--r-- | src/client/views/nodes/DataVizBox/DocCreatorMenu/Template.tsx | 37 |
1 files changed, 11 insertions, 26 deletions
diff --git a/src/client/views/nodes/DataVizBox/DocCreatorMenu/Template.tsx b/src/client/views/nodes/DataVizBox/DocCreatorMenu/Template.tsx index 57565906b..f05f61b61 100644 --- a/src/client/views/nodes/DataVizBox/DocCreatorMenu/Template.tsx +++ b/src/client/views/nodes/DataVizBox/DocCreatorMenu/Template.tsx @@ -1,40 +1,25 @@ import { Doc } from "../../../../../fields/Doc"; import { Docs } from "../../../../documents/Documents"; -import { Field } from "./FieldTypes"; +import { DynamicField } from "./FieldTypes/DynamicField"; +import { Field, FieldSettings, ViewType } from "./FieldTypes/Field"; +import { } from "./FieldTypes/FieldUtils"; +import { } from "./FieldTypes/StaticField"; import { TemplateDocInfos } from "./TemplateBackend"; export class Template { - mainField: Field; - width: number = 0; - height: number = 0; - fields: Field[] = []; + mainField: DynamicField; - constructor(templateInfo: TemplateDocInfos) { - this.width = templateInfo.width; - this.height = templateInfo.height; - this.fields = templateInfo.fields.map(settings => new Field(settings, this)); + constructor(templateInfo: FieldSettings) { + this.mainField = this.setupMainField(templateInfo); } - get childFields(): Field[] { - return this.fields; - } + get childFields(): Field[] { return this.mainField.getSubfields }; + get allFields(): Field[] { return this.mainField.getAllSubfields }; - get allFields(): Field[] { - const fields = this.fields; - this.fields.forEach(field => fields.concat(field.subfields)); - return fields; + setupMainField = (templateInfo: FieldSettings) => { + return new DynamicField(templateInfo, ViewType.FREEFORM, 0); } - getChildDimensions = (coords: { tl: [number, number]; br: [number, number] }): { width: number; height: number; coord: { x: number; y: number } } => { - const l = (coords.tl[0] * this.height) / 2; - const t = coords.tl[1] * this.width / 2; //prettier-ignore - const r = (coords.br[0] * this.height) / 2; - const b = coords.br[1] * this.width / 2; //prettier-ignore - const width = r - l; - const height = b - t; - const coord = { x: l, y: t }; - return { width, height, coord }; - }; }
\ No newline at end of file |
