aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/client/documents/DocUtils.ts6
-rw-r--r--src/client/views/ViewBoxInterface.ts1
-rw-r--r--src/client/views/collections/collectionFreeForm/CollectionFreeFormView.tsx11
-rw-r--r--src/client/views/nodes/ImageBox.tsx12
-rw-r--r--src/client/views/pdf/GPTPopup/GPTPopup.tsx2
-rw-r--r--src/client/views/smartdraw/SmartDrawHandler.tsx2
6 files changed, 21 insertions, 13 deletions
diff --git a/src/client/documents/DocUtils.ts b/src/client/documents/DocUtils.ts
index f1de6fe36..18c8d97d4 100644
--- a/src/client/documents/DocUtils.ts
+++ b/src/client/documents/DocUtils.ts
@@ -33,7 +33,6 @@ import { TaskCompletionBox } from '../views/nodes/TaskCompletedBox';
import { DocumentType } from './DocumentTypes';
import { Docs, DocumentOptions } from './Documents';
import { DocumentView } from '../views/nodes/DocumentView';
-import { CollectionFreeFormView } from '../views/collections/collectionFreeForm';
export namespace DocUtils {
function HasFunctionFilter(val: string) {
@@ -393,7 +392,10 @@ export namespace DocUtils {
})) as ContextMenuProps[];
documentList.push({
description: ':Smart Drawing',
- event: e => (DocumentView.Selected().lastElement().ComponentView as CollectionFreeFormView)?.showSmartDraw(e?.x || 0, e?.y || 0),
+ event: e =>
+ DocumentView.Selected()
+ .lastElement()
+ .ComponentView?.showSmartDraw?.(e?.x || 0, e?.y || 0),
icon: 'file',
});
ContextMenu.Instance.addItem({
diff --git a/src/client/views/ViewBoxInterface.ts b/src/client/views/ViewBoxInterface.ts
index b943259ff..0ddac8914 100644
--- a/src/client/views/ViewBoxInterface.ts
+++ b/src/client/views/ViewBoxInterface.ts
@@ -24,6 +24,7 @@ export abstract class ViewBoxInterface<P> extends ObservableReactComponent<React
promoteCollection?: () => void; // moves contents of collection to parent
hasChildDocs?: () => Doc[];
docEditorView?: () => void;
+ showSmartDraw?: (x: number, y: number, regenerate?: boolean) => void;
updateIcon?: (usePanelDimensions?: boolean) => Promise<void>; // updates the icon representation of the document
getAnchor?: (addAsAnnotation: boolean, pinData?: PinProps) => Doc; // returns an Anchor Doc that represents the current state of the doc's componentview (e.g., the current playhead location of a an audio/video box)
restoreView?: (viewSpec: Doc) => boolean; // DEPRECATED: do not use, it will go away. see PresBox.restoreTargetDocView
diff --git a/src/client/views/collections/collectionFreeForm/CollectionFreeFormView.tsx b/src/client/views/collections/collectionFreeForm/CollectionFreeFormView.tsx
index b33c267ee..752e8b217 100644
--- a/src/client/views/collections/collectionFreeForm/CollectionFreeFormView.tsx
+++ b/src/client/views/collections/collectionFreeForm/CollectionFreeFormView.tsx
@@ -1230,11 +1230,12 @@ export class CollectionFreeFormView extends CollectionSubView<Partial<collection
};
@action
- showSmartDraw = (x: number, y: number) => {
- SmartDrawHandler.Instance.CreateDrawingDoc = this.createDrawingDoc;
- SmartDrawHandler.Instance.RemoveDrawing = this.removeDrawing;
- SmartDrawHandler.Instance.AddDrawing = this.addDrawing;
- SmartDrawHandler.Instance.displaySmartDrawHandler(x, y, NumCast(this.layoutDoc[this.scaleFieldKey]));
+ showSmartDraw = (x: number, y: number, regenerate?: boolean) => {
+ const sm = SmartDrawHandler.Instance;
+ sm.CreateDrawingDoc = this.createDrawingDoc;
+ sm.RemoveDrawing = this.removeDrawing;
+ sm.AddDrawing = this.addDrawing;
+ (regenerate ? sm.displayRegenerate : sm.displaySmartDrawHandler)(x, y, NumCast(this.layoutDoc[this.scaleFieldKey]));
};
_drawing: Doc[] = [];
diff --git a/src/client/views/nodes/ImageBox.tsx b/src/client/views/nodes/ImageBox.tsx
index 9395863d8..f3aea76a5 100644
--- a/src/client/views/nodes/ImageBox.tsx
+++ b/src/client/views/nodes/ImageBox.tsx
@@ -368,8 +368,13 @@ export class ImageBox extends ViewBoxAnnotatableComponent<FieldViewProps>() {
this.layoutDoc.ai &&
funcs.push({
description: 'Regenerate AI Image',
- event: action(e => {
- !SmartDrawHandler.Instance.ShowRegenerate ? SmartDrawHandler.Instance.displayRegenerate(e?.x || 0, e?.y || 0) : SmartDrawHandler.Instance.hideRegenerate();
+ event: action(() => {
+ if (!SmartDrawHandler.Instance.ShowRegenerate && this.DocumentView) {
+ const [x, y] = this.DocumentView().screenToViewTransform().inverse().transformPoint(NumCast(this.Document.width), 0);
+ this._props.docViewPath().slice(-2)[0]?.ComponentView?.showSmartDraw?.(x, y, true);
+ } else {
+ SmartDrawHandler.Instance.hideRegenerate();
+ }
}),
icon: 'pen-to-square',
});
@@ -625,7 +630,7 @@ export class ImageBox extends ViewBoxAnnotatableComponent<FieldViewProps>() {
this._regenerateLoading = false;
})
);
- } else
+ } else {
SmartDrawHandler.Instance.regenerate([this.Document], undefined, undefined, this._regenInput || StrCast(this.Document.title), true).then(
action(newImgs => {
const firstImg = newImgs[0];
@@ -643,6 +648,7 @@ export class ImageBox extends ViewBoxAnnotatableComponent<FieldViewProps>() {
}
})
);
+ }
})}
/>
</div>
diff --git a/src/client/views/pdf/GPTPopup/GPTPopup.tsx b/src/client/views/pdf/GPTPopup/GPTPopup.tsx
index f4ab2f41c..96c7f37a3 100644
--- a/src/client/views/pdf/GPTPopup/GPTPopup.tsx
+++ b/src/client/views/pdf/GPTPopup/GPTPopup.tsx
@@ -660,7 +660,7 @@ export class GPTPopup extends ObservableReactComponent<object> {
//prettier-ignore
switch (this._mode) {
case GPTPopupMode.USER_PROMPT: return this.promptBox("ASK", this._userPrompt, this.setUserPrompt, 'Ask GPT to sort, tag, define, or filter your documents for you!');
- case GPTPopupMode.FIREFLY: return this.promptBox("CREATE", this._userPrompt, this.setUserPrompt, 'Ask Firefly to generate images');
+ case GPTPopupMode.FIREFLY: return this.promptBox("CREATE", this._userPrompt, this.setUserPrompt, StrCast(DocumentView.Selected().lastElement()?.Document.ai_firefly_prompt, 'Ask Firefly to generate images'));
case GPTPopupMode.QUIZ_RESPONSE: return this.promptBox("QUIZ", this._quizAnswer, this.setQuizAnswer, 'Describe/answer the selected document!');
case GPTPopupMode.GPT_MENU: return this.menuBox();
case GPTPopupMode.SUMMARY: return this.summaryBox();
diff --git a/src/client/views/smartdraw/SmartDrawHandler.tsx b/src/client/views/smartdraw/SmartDrawHandler.tsx
index 532391ac6..811bc6e25 100644
--- a/src/client/views/smartdraw/SmartDrawHandler.tsx
+++ b/src/client/views/smartdraw/SmartDrawHandler.tsx
@@ -207,8 +207,6 @@ export class SmartDrawHandler extends ObservableReactComponent<object> {
if (this.ShowRegenerate) {
await this.regenerate(this._selectedDocs).then(
action(() => {
- this._selectedDocs = [];
- this._regenInput = '';
this._showEditBox = false;
})
);