aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/client/views/nodes/DataVizBox/DocCreatorMenu/DocCreatorMenu.tsx26
-rw-r--r--src/client/views/nodes/DataVizBox/DocCreatorMenu/FieldTypes/DynamicField.tsx11
-rw-r--r--src/client/views/nodes/DataVizBox/DocCreatorMenu/FieldTypes/Field.tsx10
-rw-r--r--src/client/views/nodes/DataVizBox/DocCreatorMenu/FieldTypes/StaticContentField.tsx4
-rw-r--r--src/client/views/nodes/DataVizBox/DocCreatorMenu/Template.tsx20
5 files changed, 41 insertions, 30 deletions
diff --git a/src/client/views/nodes/DataVizBox/DocCreatorMenu/DocCreatorMenu.tsx b/src/client/views/nodes/DataVizBox/DocCreatorMenu/DocCreatorMenu.tsx
index 099d082d3..6d0155b45 100644
--- a/src/client/views/nodes/DataVizBox/DocCreatorMenu/DocCreatorMenu.tsx
+++ b/src/client/views/nodes/DataVizBox/DocCreatorMenu/DocCreatorMenu.tsx
@@ -7,7 +7,7 @@ import * as React from 'react';
import ReactLoading from 'react-loading';
import { ClientUtils, returnEmptyFilter, returnFalse, returnTrue, setupMoveUpEvents } from '../../../../../ClientUtils';
import { emptyFunction } from '../../../../../Utils';
-import { Doc, FieldType, NumListCast, StrListCast, returnEmptyDoclist } from '../../../../../fields/Doc';
+import { Doc, DocListCast, FieldType, NumListCast, StrListCast, returnEmptyDoclist } from '../../../../../fields/Doc';
import { Id } from '../../../../../fields/FieldSymbols';
import { Cast, DocCast, ImageCast, StrCast } from '../../../../../fields/Types';
import { ImageField } from '../../../../../fields/URLField';
@@ -34,6 +34,7 @@ import { TemplateManager } from './TemplateManager';
import { Template } from './Template';
import { Field, ViewType } from './FieldTypes/Field';
import { TabDocView } from '../../../collections/TabDocView';
+import { DocData } from '../../../../../fields/DocSymbols';
export enum LayoutType {
FREEFORM = 'Freeform',
@@ -74,6 +75,7 @@ export class DocCreatorMenu extends ObservableReactComponent<FieldViewProps> {
@observable _GPTOpt: boolean = false;
@observable _callCount: number = 0;
@observable _GPTLoading: boolean = false;
+ @observable _DOCCC: Doc | undefined;
@observable _pageX: number = 0;
@observable _pageY: number = 0;
@@ -623,8 +625,6 @@ export class DocCreatorMenu extends ObservableReactComponent<FieldViewProps> {
const cols = this.fieldsInfos;
templates.push(...this.templateManager.getValidTemplates(cols));
- console.log(templates)
-
const assignments: [Template, { [field: number]: Col }][] = await this.assignColsToFields(templates, cols);
const renderedTemplatePromises: Promise<Template | undefined>[] = assignments.map(([template, assignments]) => this.applyGPTContentToTemplate(template, assignments));
@@ -735,12 +735,11 @@ export class DocCreatorMenu extends ObservableReactComponent<FieldViewProps> {
const processContent = async (content: {[title: string]: string}) => {
- const templateCopy = template.cloneBase();
+ const templateCopy = await template.cloneBase();
fields.filter(title => title).forEach(title => {
const field = templateCopy.getFieldByTitle(title);
if (field === undefined) return;
- console.log('setting content to: ', content[title]);
field.setContent(content[title], field.viewType);
});
@@ -765,23 +764,20 @@ export class DocCreatorMenu extends ObservableReactComponent<FieldViewProps> {
await Promise.all(gptPromises);
await Promise.all(imagePromises);
-
- return templateCopy.getRenderedDoc();
- };
- const rows = [1, 2, 3, 4];
+ this._DOCCC = templateCopy.mainField.renderedDoc;
+ return templateCopy.mainField.renderedDoc;
+ };
let docs: Promise<Doc>[];
if (this.DEBUG_MODE) {
- docs = rows.map(() => processContent({}));
+ docs = [1, 2, 3, 4].map(() => processContent({}));
} else {
docs = rowContents.map(content => processContent(content));
}
const renderedDocs = await Promise.all(docs);
- //renderedDocs.forEach(doc => {console.log(doc._height, doc._width); doc._height = 400; doc._width = 400});
-
this._docsRendering = false; // removes loading indicator
return renderedDocs;
@@ -1035,7 +1031,6 @@ export class DocCreatorMenu extends ObservableReactComponent<FieldViewProps> {
applyLayout = (collection: Doc, docs: Doc[]) => {
const { horizontalSpan, verticalSpan } = this.previewInfo;
- console.log(this.previewInfo)
collection._height = verticalSpan;
collection._width = horizontalSpan;
@@ -1088,11 +1083,8 @@ export class DocCreatorMenu extends ObservableReactComponent<FieldViewProps> {
@type the type of collection the docs should render to (ie. freeform, carousel, card)
*/
updateRenderedDocCollection = () => {
- console.log('called');
if (!this._fullyRenderedDocs) return;
- //const largerSpan: number = horizontalSpan > verticalSpan ? horizontalSpan : verticalSpan;
-
const collectionFactory = (): (docs: Doc[], options: DocumentOptions) => Doc => {
switch (this._layout.type) {
case LayoutType.CAROUSEL3D:
@@ -1110,7 +1102,7 @@ export class DocCreatorMenu extends ObservableReactComponent<FieldViewProps> {
}
}
- const collection = collectionFactory()(this._fullyRenderedDocs, {
+ const collection = collectionFactory()([this._fullyRenderedDocs[6], this._fullyRenderedDocs[9]], {
isDefaultTemplateDoc: true,
title: 'title',
backgroundColor: 'gray',
diff --git a/src/client/views/nodes/DataVizBox/DocCreatorMenu/FieldTypes/DynamicField.tsx b/src/client/views/nodes/DataVizBox/DocCreatorMenu/FieldTypes/DynamicField.tsx
index c9e76dcbd..bf4f1b0a4 100644
--- a/src/client/views/nodes/DataVizBox/DocCreatorMenu/FieldTypes/DynamicField.tsx
+++ b/src/client/views/nodes/DataVizBox/DocCreatorMenu/FieldTypes/DynamicField.tsx
@@ -34,9 +34,19 @@ export class DynamicField extends Field {
return [];
}
+ makeClone = async (subfields: boolean = false): Promise<Field> => {
+ const newSettings: FieldSettings = this.settings;
+ if (!subfields) newSettings.subfields = [];
+ const field: DynamicField = this.initField(newSettings, this.id, this.parent, true) as DynamicField;
+ //field.Document = (await Doc.MakeClone(this.Document)).clone;
+ return field
+ }
+
initializeDocument = (oldOpts?: DocumentOptions): Doc => {
let doc: Doc;
+ //this.settings.opts.data = undefined;
const renderedSubfields: Doc[] = this.subfields.map(field => field.renderedDoc);
+ console.log('fields: ', renderedSubfields)
this.settings.opts.title = this.title;
switch (this.settings.viewType) {
case ViewType.CAROUSEL3D:
@@ -51,7 +61,6 @@ export class DynamicField extends Field {
}
this.Document = doc;
- console.log('width: ', doc._width, ' height: ', doc._height, ' id: ', this.idd)
return doc;
}
diff --git a/src/client/views/nodes/DataVizBox/DocCreatorMenu/FieldTypes/Field.tsx b/src/client/views/nodes/DataVizBox/DocCreatorMenu/FieldTypes/Field.tsx
index afdbeeadd..06b364254 100644
--- a/src/client/views/nodes/DataVizBox/DocCreatorMenu/FieldTypes/Field.tsx
+++ b/src/client/views/nodes/DataVizBox/DocCreatorMenu/FieldTypes/Field.tsx
@@ -12,6 +12,7 @@ import { DocData } from "../../../../../../fields/DocSymbols";
import { ObjectField } from "../../../../../../fields/ObjectField";
import { ComputedField } from "../../../../../../fields/ScriptField";
import { Copy } from "../../../../../../fields/FieldSymbols";
+import { OmitKeys } from "../../../../../../ClientUtils";
export abstract class Field {
@@ -77,11 +78,15 @@ export abstract class Field {
abstract setContent(content: string, type: ViewType): void;
abstract getContent(): string;
- makeClone = (subfields: boolean = false): Field => {
+ makeClone = async (subfields: boolean = false): Promise<Field> => {
const newSettings: FieldSettings = this.settings;
if (!subfields) newSettings.subfields = [];
newSettings.opts = this.documentOptions;
- return this.initField(newSettings, this.id, this.parent, true);
+ newSettings.title = this.title;
+ console.log('settings: ', newSettings.opts)
+ const field: Field = this.initField(newSettings, this.id, this.parent, true);
+ //field.Document = (await Doc.MakeClone(this.Document)).clone;
+ return field
}
@computed get documentOptions(): DocumentOptions {
@@ -123,6 +128,7 @@ export abstract class Field {
addField = (field: Field) => {
if (!this.subfields.includes(field)){
this.subfields.push(field);
+ console.log('field added')
// Doc.SetContainer(field.Document, this.Document);
}
}
diff --git a/src/client/views/nodes/DataVizBox/DocCreatorMenu/FieldTypes/StaticContentField.tsx b/src/client/views/nodes/DataVizBox/DocCreatorMenu/FieldTypes/StaticContentField.tsx
index 8b28d82e1..18b72e4ea 100644
--- a/src/client/views/nodes/DataVizBox/DocCreatorMenu/FieldTypes/StaticContentField.tsx
+++ b/src/client/views/nodes/DataVizBox/DocCreatorMenu/FieldTypes/StaticContentField.tsx
@@ -7,6 +7,7 @@ import { ImageField } from "../../../../../../fields/URLField";
import { ViewComponentType } from "@fullcalendar/core";
import { DynamicField } from "./DynamicField";
import { FieldUtils } from "./FieldUtils";
+import { random } from "lodash";
export abstract class StaticContentField extends Field {
@@ -15,10 +16,13 @@ export abstract class StaticContentField extends Field {
protected Document: Doc;
+ protected idd: number;
+
constructor(settings: FieldSettings, id: number, parent: Field) {
super(settings, id, FieldUtils.initField, parent);
this.subfields = this.setupSubfields(this);
this.Document = this.initializeDocument();
+ this.idd = random(0, 1000);
};
abstract setContent(content: string, type?: ViewType): void;
diff --git a/src/client/views/nodes/DataVizBox/DocCreatorMenu/Template.tsx b/src/client/views/nodes/DataVizBox/DocCreatorMenu/Template.tsx
index 43f622512..0f911421a 100644
--- a/src/client/views/nodes/DataVizBox/DocCreatorMenu/Template.tsx
+++ b/src/client/views/nodes/DataVizBox/DocCreatorMenu/Template.tsx
@@ -32,22 +32,22 @@ export class Template {
//dispose each subfields disposers, etc.
}
- cloneBase = (): Template => {
- const makeCloneFieldTree = (field: Field): Field => {
- const root: Field = field.makeClone();
- field.getSubfields.forEach(field => {
- const clone: Field = makeCloneFieldTree(field);
+ cloneBase = async (): Promise<Template> => {
+ const makeCloneFieldTree = async (field: Field): Promise<Field> => {
+ const root: Field = await field.makeClone();
+ field.getSubfields.forEach(async field => {
+ const clone: Field = await makeCloneFieldTree(field);
root.addField(clone);
});
return root;
}
const clone: Template = new Template(TemplateLayouts.BasicSettings);
- console.log('made clone')
- clone.mainField = makeCloneFieldTree(this.mainField) as DynamicField;
- console.log('reinit')
- clone.mainField.initializeDocument(clone.mainField.documentOptions);
- console.log('cloned, fieldinfo: ', this.mainField, ' width: ', this.mainField.renderedDoc._width, ' options width: ', clone.mainField.documentOptions._width);
+ clone.mainField = await makeCloneFieldTree(this.mainField) as DynamicField;
+ console.log('last init')
+ clone.mainField.initializeDocument();
+ clone.mainField.renderedDoc._width = this.mainField.renderedDoc._width;
+ clone.mainField.renderedDoc._height = this.mainField.renderedDoc._height;
return clone;
}