diff options
author | Nathan-SR <144961007+Nathan-SR@users.noreply.github.com> | 2025-02-26 21:11:36 -0500 |
---|---|---|
committer | Nathan-SR <144961007+Nathan-SR@users.noreply.github.com> | 2025-02-26 21:11:36 -0500 |
commit | 7d9fae09e8906e5636f6ea695ad560797b08d023 (patch) | |
tree | 3a994072fc1b724c49531e20e546e54469b4d8f4 | |
parent | b623446ec0e71a3f696d14c3f169781c99f7e7b7 (diff) |
something broke, reverting
7 files changed, 35 insertions, 28 deletions
diff --git a/src/client/documents/Documents.ts b/src/client/documents/Documents.ts index 0a7047128..033a5e9be 100644 --- a/src/client/documents/Documents.ts +++ b/src/client/documents/Documents.ts @@ -704,6 +704,7 @@ export namespace Docs { } // users placeholderDoc as proto if it exists + console.log('placeholder: ', placeholderDocIn, ' data: ', dataProps['data']) const dataDoc = Doc.assign(placeholderDoc ? Doc.GetProto(placeholderDoc) : Doc.MakeDelegate(proto, protoId), dataProps, undefined, true); if (placeholderDoc) { diff --git a/src/client/views/nodes/DataVizBox/DocCreatorMenu/DocCreatorMenu.tsx b/src/client/views/nodes/DataVizBox/DocCreatorMenu/DocCreatorMenu.tsx index faa6cffa8..ffdc6626d 100644 --- a/src/client/views/nodes/DataVizBox/DocCreatorMenu/DocCreatorMenu.tsx +++ b/src/client/views/nodes/DataVizBox/DocCreatorMenu/DocCreatorMenu.tsx @@ -47,6 +47,8 @@ export enum LayoutType { export class DocCreatorMenu extends ObservableReactComponent<FieldViewProps> { static Instance: DocCreatorMenu; + private DEBUG_MODE: boolean = false; + private _disposers: { [name: string]: IDisposer } = {}; private _ref: HTMLDivElement | null = null; @@ -122,8 +124,11 @@ export class DocCreatorMenu extends ObservableReactComponent<FieldViewProps> { }; @computed get docsToRender() { - return [1, 2, 3, 4]; - //this._selectedTemplate ? NumListCast(this._dataViz?.layoutDoc.dataViz_selectedRows) : []; !!! put this back for GPT rendering + if (this.DEBUG_MODE){ + return [1, 2, 3, 4]; + } else { + return this._selectedTemplate ? NumListCast(this._dataViz?.layoutDoc.dataViz_selectedRows) : []; + } } @computed get rowsCount() { @@ -620,8 +625,6 @@ export class DocCreatorMenu extends ObservableReactComponent<FieldViewProps> { const renderedTemplates: (Template | undefined)[] = await Promise.all(renderedTemplatePromises); - templates.forEach(template => template.mainField.initRenderedDoc()) - setTimeout(() => { this.setSuggestedTemplates(templates); this._GPTLoading = false; @@ -712,15 +715,6 @@ export class DocCreatorMenu extends ObservableReactComponent<FieldViewProps> { const fields: string[] = Array.from(Object.keys(dv.records[0])); const selectedRows = NumListCast(dv.layoutDoc.dataViz_selectedRows); - const rowContents: { [title: string]: string }[] = selectedRows.map(row => { - let values: { [title: string]: string } = {}; - fields.forEach(col => { - values[col] = dv.records[row][col]; - }); - - return values; - }); - const processContent = async (content: {[title: string]: string}) => { const templateCopy = template.cloneBase(); diff --git a/src/client/views/nodes/DataVizBox/DocCreatorMenu/FieldTypes/DynamicField.tsx b/src/client/views/nodes/DataVizBox/DocCreatorMenu/FieldTypes/DynamicField.tsx index 7ffb1884e..5ee047841 100644 --- a/src/client/views/nodes/DataVizBox/DocCreatorMenu/FieldTypes/DynamicField.tsx +++ b/src/client/views/nodes/DataVizBox/DocCreatorMenu/FieldTypes/DynamicField.tsx @@ -1,3 +1,4 @@ +import { reaction } from "mobx"; import { Doc, DocListCast } from "../../../../../../fields/Doc"; import { Docs } from "../../../../../documents/Documents"; import { Col } from "../DocCreatorMenu"; @@ -11,7 +12,7 @@ export class DynamicField extends Field { protected renderedDocument: Doc; - constructor(settings: FieldSettings, id: number, parent?: Field) { + constructor(settings: FieldSettings, id: number, parent?: Field, protoDoc?: Doc) { super(settings, id, FieldUtils.initField, parent); if (!parent) { this.parent = this; @@ -25,7 +26,7 @@ export class DynamicField extends Field { this.renderedDocument = this.initRenderedDoc(); //!!! // this.disposers.fieldList = reaction( - // () => DocListCast(this.doc[Doc.LayoutFieldKey(this.doc)]), + // () => DocListCast(this.renderedDoc[Doc.LayoutFieldKey(this.doc)]), // docs => { // this.handleFieldUpdate(docs); // } diff --git a/src/client/views/nodes/DataVizBox/DocCreatorMenu/FieldTypes/Field.tsx b/src/client/views/nodes/DataVizBox/DocCreatorMenu/FieldTypes/Field.tsx index 6c78e15ad..49931486c 100644 --- a/src/client/views/nodes/DataVizBox/DocCreatorMenu/FieldTypes/Field.tsx +++ b/src/client/views/nodes/DataVizBox/DocCreatorMenu/FieldTypes/Field.tsx @@ -1,14 +1,16 @@ import { makeAutoObservable, makeObservable, reaction } from "mobx"; -import { Doc, DocListCast } from "../../../../../../fields/Doc"; +import { Doc, DocListCast, FieldType } from "../../../../../../fields/Doc"; import { Col } from "../DocCreatorMenu"; import { TemplateFieldSize, TemplateFieldType } from "../TemplateBackend"; import { IDisposer } from "mobx-utils"; import { DocumentType } from "../../../../../documents/DocumentTypes"; +import { SearchUtil } from "../../../../../util/SearchUtil"; +import { OmitKeys } from "../../../../../../ClientUtils"; export abstract class Field { protected disposers: { [name: string]: IDisposer } = {}; - private initField: (settings: FieldSettings, index: number, parent: Field) => Field; + private initField: (settings: FieldSettings, index: number, parent: Field, protoDoc?: Doc) => Field; protected abstract subfields: Field[]; @@ -21,7 +23,7 @@ export abstract class Field { protected abstract dimensions: FieldDimensions; - constructor(settings: FieldSettings, id: number, fieldFactory: (settings: FieldSettings, index: number, parent: Field) => Field, parent?: Field) { + constructor(settings: FieldSettings, id: number, fieldFactory: (settings: FieldSettings, index: number, parent: Field, protoDoc?: Doc) => Field, parent?: Field) { this.initField = fieldFactory; this.parent = parent ? parent : this; this.id = id; @@ -47,6 +49,7 @@ export abstract class Field { }; get renderedDoc(){ return this.renderedDocument }; + get renderedDocChildDocs() { return DocListCast(this.renderedDocument[Doc.LayoutFieldKey(this.renderedDocument)])} get getDimensions() { return this.dimensions }; get getID() { return this.id }; get getDescription(): string { return this.settings.description ?? '' }; @@ -64,13 +67,14 @@ export abstract class Field { changeFieldType = (newType: ViewType): Field => { this.settings.viewType = newType; - const newField: Field = this.initField(this.settings, this.id, this.parent); + const newField: Field = this.initField(this.settings, this.id, this.parent, this.renderedDoc); this.parent.exchangeFields(newField, this); return newField; } exchangeFields = (newField: Field, oldField: Field) => { this.subfields.splice(this.subfields.indexOf(oldField), 1, newField); + // this.renderedDoc. } setupFieldChangeReaction = () => { diff --git a/src/client/views/nodes/DataVizBox/DocCreatorMenu/FieldTypes/FieldUtils.tsx b/src/client/views/nodes/DataVizBox/DocCreatorMenu/FieldTypes/FieldUtils.tsx index d7cf24794..b60d66d1a 100644 --- a/src/client/views/nodes/DataVizBox/DocCreatorMenu/FieldTypes/FieldUtils.tsx +++ b/src/client/views/nodes/DataVizBox/DocCreatorMenu/FieldTypes/FieldUtils.tsx @@ -21,7 +21,7 @@ export class FieldUtils { return { width, height, coord }; }; - public static initField = (settings: FieldSettings, index: number, parent: Field): Field => { + public static initField = (settings: FieldSettings, index: number, parent: Field, protoDoc?: Doc): Field => { const id = Number(`${parent.getID}${index}`); switch (settings.viewType) { case ViewType.FREEFORM: case ViewType.CAROUSEL3D: diff --git a/src/client/views/nodes/DataVizBox/DocCreatorMenu/FieldTypes/StaticContentField.tsx b/src/client/views/nodes/DataVizBox/DocCreatorMenu/FieldTypes/StaticContentField.tsx index 627d3a939..8c50dc21d 100644 --- a/src/client/views/nodes/DataVizBox/DocCreatorMenu/FieldTypes/StaticContentField.tsx +++ b/src/client/views/nodes/DataVizBox/DocCreatorMenu/FieldTypes/StaticContentField.tsx @@ -14,7 +14,7 @@ export abstract class StaticContentField extends Field { protected dimensions: FieldDimensions; - constructor(settings: FieldSettings, parent: Field, id: number) { + constructor(settings: FieldSettings, parent: Field, id: number, protoDoc?: Doc) { super(settings, id, FieldUtils.initField, parent); this.dimensions = FieldUtils.getLocalDimensions({tl: settings.tl, br: settings.br}, this.parent.getDimensions); this.subfields = this.setupSubfields(this); @@ -31,9 +31,9 @@ export class ImageTemplateField extends StaticContentField { protected renderedDocument: Doc; - constructor(settings: FieldSettings, parent: Field, id: number){ + constructor(settings: FieldSettings, parent: Field, id: number, protoDoc?: Doc){ super(settings, parent, id) - this.renderedDocument = this.initRenderedDoc(); + this.renderedDocument = this.initRenderedDoc(protoDoc); } setContent = (url: string, type: ViewType) => { @@ -47,13 +47,21 @@ export class ImageTemplateField extends StaticContentField { } }; - initRenderedDoc = (): Doc => { + initRenderedDoc = (proto?: Doc): Doc => { const url = String(this.content); let doc: Doc = Docs.Create.ImageDocument(url, { title: this.title, _layout_fitWidth: false, - }); - FieldUtils.applyBasicOpts(doc, this.dimensions, this.settings); + }, /*proto*/); + // if (!proto) { + FieldUtils.applyBasicOpts(doc, this.dimensions, this.settings); + // } else { + // doc.nativeWidth = this.dimensions.width; + // doc.nativeHeight = this.dimensions.height; + // doc._layout_nativeDimEditable = true; + // } + + console.log('data is: ', doc['data']); this.renderedDocument = doc; @@ -65,7 +73,7 @@ export class TextTemplateField extends StaticContentField { protected renderedDocument: Doc; - constructor(settings: FieldSettings, parent: Field, id: number){ + constructor(settings: FieldSettings, parent: Field, id: number, protoDoc?: Doc){ super(settings, parent, id) this.renderedDocument = this.initRenderedDoc(); } diff --git a/src/client/views/nodes/DataVizBox/DocCreatorMenu/Template.tsx b/src/client/views/nodes/DataVizBox/DocCreatorMenu/Template.tsx index a80df8468..e8e9dca4f 100644 --- a/src/client/views/nodes/DataVizBox/DocCreatorMenu/Template.tsx +++ b/src/client/views/nodes/DataVizBox/DocCreatorMenu/Template.tsx @@ -90,7 +90,6 @@ export class Template { isValidTemplate = (cols: Col[]) => { const matches: number[][] = this.getMatches(cols); const maxMatches: number = this.maxMatches(matches); - console.log('title: ', this.mainField.getTitle(), ' matches: ', matches, ' max: ', maxMatches, ' num content fields: ', this.contentFields.length) return maxMatches === this.contentFields.length; } |