From 03d1cd8d220fbb27acb49a3ff9e791db9292b83c Mon Sep 17 00:00:00 2001 From: Nathan-SR <144961007+Nathan-SR@users.noreply.github.com> Date: Mon, 12 May 2025 07:26:51 -0400 Subject: c --- .../DataVizBox/DocCreatorMenu/DocCreatorMenu.tsx | 37 ++++++++++++++++------ 1 file changed, 27 insertions(+), 10 deletions(-) (limited to 'src/client/views/nodes/DataVizBox/DocCreatorMenu/DocCreatorMenu.tsx') diff --git a/src/client/views/nodes/DataVizBox/DocCreatorMenu/DocCreatorMenu.tsx b/src/client/views/nodes/DataVizBox/DocCreatorMenu/DocCreatorMenu.tsx index b024a6e9b..bd5c50aa0 100644 --- a/src/client/views/nodes/DataVizBox/DocCreatorMenu/DocCreatorMenu.tsx +++ b/src/client/views/nodes/DataVizBox/DocCreatorMenu/DocCreatorMenu.tsx @@ -38,6 +38,7 @@ import { TemplateMenuAIUtils } from './Backend/TemplateMenuAIUtils' import { TemplatePreviewGrid } from './Menu/TemplatePreviewGrid'; import { FireflyStructureOptions, TemplateEditingWindow } from './Menu/TemplateEditingWindow'; import { DocCreatorMenuButton } from './Menu/DocCreatorMenuButton'; +import { ConditionalsTextArea } from './Menu/ConditionalsTextarea'; export enum LayoutType { FREEFORM = 'Freeform', @@ -91,6 +92,7 @@ export class DocCreatorMenu extends ObservableReactComponent @observable _userTemplates: Template[] = []; @observable _selectedTemplate: Template | undefined = undefined; @observable _currEditingTemplate: Template | undefined = undefined; + @observable _editedTemplateTrail: Template[] = []; @observable _userCreatedFields: Col[] = []; @observable _collapsedCols: String[] = []; //any columns whose options panels are hidden @@ -589,8 +591,6 @@ export class DocCreatorMenu extends ObservableReactComponent this.variations = []; const mainCollection = this._dataViz?.DocumentView?.().containerViewPath?.().lastElement()?.ComponentView as CollectionFreeFormView; - console.log('styleref: ', useStyleRef); - const clone: Doc = (await Doc.MakeClone(onDoc)).clone; mainCollection.addDocument(clone); clone.x = 10000; @@ -618,15 +618,19 @@ export class DocCreatorMenu extends ObservableReactComponent } }; + @action editLastTemplate = () => { if (this._editedTemplateTrail.length) this._currEditingTemplate = this._editedTemplateTrail.pop()} + @action setExpandedView = (template: Template | undefined) => { - this._currEditingTemplate = template; if (template) { this._menuContent = 'templateEditing'; + this._currEditingTemplate && this._editedTemplateTrail.push(this._currEditingTemplate); } else { this._menuContent = 'templates'; } + this._currEditingTemplate = template; + //Docs.Create.FreeformDocument([doc], { _height: NumListCast(doc._height)[0], _width: NumListCast(doc._width)[0], title: ''}); }; @@ -910,15 +914,26 @@ export class DocCreatorMenu extends ObservableReactComponent ); } + private _newCondCache: Record = {}; + + getParams = (title: string, parameters?: Conditional): Conditional => { + if (parameters) return parameters; + + if (!this._newCondCache[title]) { + this._newCondCache[title] = { field: title, operator: '=', condition: '', target: '', attribute: '', value: '' }; + } + return this._newCondCache[title]; + }; + get dashboardContents() { const contentFieldTitles = this.fieldsInfos.filter(field => field.type !== TemplateFieldType.DATA).map(field => field.title).concat('Template'); const conditionForm = (title: string, parameters?: Conditional, empty: boolean = false) => { - const params: Conditional = parameters ?? this._currEditingConditional; + const params: Conditional = this.getParams(title, parameters); return ( -
+
If
{title}
@@ -929,7 +944,7 @@ export class DocCreatorMenu extends ObservableReactComponent
{params.operator = '<'}}>{'<'}
{params.operator = 'contains'}}>{'has'}
-