diff options
author | Nathan-SR <144961007+Nathan-SR@users.noreply.github.com> | 2025-05-11 21:18:55 -0400 |
---|---|---|
committer | Nathan-SR <144961007+Nathan-SR@users.noreply.github.com> | 2025-05-11 21:18:55 -0400 |
commit | 4219c751c0f984fac6e5995c1ab955a8d63a28cd (patch) | |
tree | e638ff6aeb977f175916bcf14a8e332ae6f47dac /src/client/views/nodes/DataVizBox/DocCreatorMenu/DocCreatorMenu.tsx | |
parent | e62f51bacace3d91f388202135426445721097cc (diff) |
many changes to firefly UI (options added) and starting work on finalizing conditionals
Diffstat (limited to 'src/client/views/nodes/DataVizBox/DocCreatorMenu/DocCreatorMenu.tsx')
-rw-r--r-- | src/client/views/nodes/DataVizBox/DocCreatorMenu/DocCreatorMenu.tsx | 36 |
1 files changed, 15 insertions, 21 deletions
diff --git a/src/client/views/nodes/DataVizBox/DocCreatorMenu/DocCreatorMenu.tsx b/src/client/views/nodes/DataVizBox/DocCreatorMenu/DocCreatorMenu.tsx index 2e4b81253..2565a9332 100644 --- a/src/client/views/nodes/DataVizBox/DocCreatorMenu/DocCreatorMenu.tsx +++ b/src/client/views/nodes/DataVizBox/DocCreatorMenu/DocCreatorMenu.tsx @@ -36,7 +36,7 @@ import { CgPathIntersect } from 'react-icons/cg'; import { StaticContentField } from './TemplateFieldTypes/StaticContentField'; import { TemplateMenuAIUtils } from './Backend/TemplateMenuAIUtils' import { TemplatePreviewGrid } from './Menu/TemplatePreviewGrid'; -import { TemplateEditingWindow } from './Menu/TemplateEditingWindow'; +import { FireflyStructureOptions, TemplateEditingWindow } from './Menu/TemplateEditingWindow'; import { DocCreatorMenuButton } from './Menu/DocCreatorMenuButton'; export enum LayoutType { @@ -103,7 +103,6 @@ export class DocCreatorMenu extends ObservableReactComponent<DocCreateMenuProps> @observable _userCreatedFields: Col[] = []; @observable _collapsedCols: String[] = []; //any columns whose options panels are hidden - @observable _conditions: Conditional[] = []; @observable _currEditingConditional: Conditional = {} as Conditional; @observable _layout: { type: LayoutType; yMargin: number; xMargin: number; columns?: number; repeat: number } = { type: LayoutType.FREEFORM, yMargin: 10, xMargin: 10, columns: 3, repeat: 0 }; @@ -594,7 +593,8 @@ export class DocCreatorMenu extends ObservableReactComponent<DocCreateMenuProps> ); }; - generateVariations = async (onDoc: Doc, prompt: string): Promise<string[]> => { + generateVariations = async (onDoc: Doc, prompt: string, options: FireflyStructureOptions): Promise<string[]> => { + const { numVariations, temperature, useStyleRef } = options; this.variations = []; const mainCollection = this._dataViz?.DocumentView?.().containerViewPath?.().lastElement()?.ComponentView as CollectionFreeFormView; @@ -603,12 +603,12 @@ export class DocCreatorMenu extends ObservableReactComponent<DocCreateMenuProps> clone.x = 10000; clone.y = 10000; - await DrawingFillHandler.drawingToImage(clone, 100, prompt, clone, this) + await DrawingFillHandler.drawingToImage(clone, 100 - temperature, prompt, useStyleRef ? clone : undefined, this, numVariations) return this.variations; } - @observable variations: string[] = [] + variations: string[] = [] @action addVariation = (url: string) => { this.variations.push(url); @@ -918,7 +918,7 @@ export class DocCreatorMenu extends ObservableReactComponent<DocCreateMenuProps> } get dashboardContents() { - const conditionForm = (title: string, parameters?: Conditional) => { + const conditionForm = (title: string, parameters?: Conditional, empty: boolean = false) => { const params: Conditional = parameters ?? this._currEditingConditional; @@ -942,8 +942,8 @@ export class DocCreatorMenu extends ObservableReactComponent<DocCreateMenuProps> <div className='form-row-plain-text'>then</div> <div className="operator-options-dropdown"> <span className="operator-dropdown-current">{params.target ?? 'self'}</span> - <div className='operator-dropdown-option' onPointerDown={() => {params.target = 'self'}}>{'self'}</div> - <div className='operator-dropdown-option' onPointerDown={() => {params.target = 'template'}}>{'template'}</div> + <div className='operator-dropdown-option' onPointerDown={() => {params.target = 'self'}}>{'own'}</div> + <div className='operator-dropdown-option' onPointerDown={() => {params.target = 'template'}}>{`template's`}</div> </div> <textarea className="form-row-textarea" @@ -959,17 +959,11 @@ export class DocCreatorMenu extends ObservableReactComponent<DocCreateMenuProps> defaultValue={params.value} /> </div> - <div className='form-action-button' onPointerDown={e => this.setUpButtonClick(e, runInAction(() => () => { - if (this._currEditingConditional === params) { - params.field = title; - this._conditions.push(params); - this._currEditingConditional = {} as Conditional; - } else { - this._conditions = this._conditions.filter(cond => cond !== params); - } - }))}> - <FontAwesomeIcon icon={this._currEditingConditional === params ? 'plus' : 'minus'} color='white'/> - </div> + {empty ? + <DocCreatorMenuButton icon={'plus'} styles={'float-right'} function={() => this.templateManager.addFieldCondition(title, params)}/> + : + <DocCreatorMenuButton icon={'minus'} styles={'float-right'} function={() => this.templateManager.removeFieldCondition(title, params)}/> + } </div> ) } @@ -1030,8 +1024,8 @@ export class DocCreatorMenu extends ObservableReactComponent<DocCreateMenuProps> </div> <div className="conditionals-section"> <span className="conditionals-title">Conditional Logic</span> - {conditionForm(field.title, this._currEditingConditional)} - {this._conditions.map(condition => conditionForm(condition.field, condition))} + {conditionForm(field.title, this._currEditingConditional, true)} + {this.templateManager.conditionalFieldLogic[field.title]?.map(condition => conditionForm(condition.field, condition))} </div> </> } |