File tree Expand file tree Collapse file tree 7 files changed +34
-2
lines changed
createFieldPlugin/createPluginActions
createPluginMessageListener
messaging/pluginMessage/containerToPluginMessage Expand file tree Collapse file tree 7 files changed +34
-2
lines changed Original file line number Diff line number Diff line change @@ -6,8 +6,8 @@ import type {
6
6
LoadedMessage ,
7
7
OnMessage ,
8
8
StateChangedMessage ,
9
- PreviewDimensionChangeMessage ,
10
9
} from '../../messaging'
10
+ import { PreviewDimensionResponse } from '../../messaging/pluginMessage/containerToPluginMessage/PreviewDimensionResponseMessage'
11
11
import { getRandomUid } from '../../utils'
12
12
13
13
export type CallbackId = string
@@ -19,7 +19,7 @@ type CallbackMap = {
19
19
stateChanged : Record < CallbackId , OnMessage < StateChangedMessage > >
20
20
loaded : Record < CallbackId , OnMessage < LoadedMessage > >
21
21
promptAI : Record < CallbackId , OnMessage < PromptAIResponseMessage > >
22
- previewDimension : Record < CallbackId , OnMessage < PreviewDimensionChangeMessage > >
22
+ previewDimension : Record < CallbackId , OnMessage < PreviewDimensionResponse > >
23
23
}
24
24
type CallbackType = keyof CallbackMap
25
25
Original file line number Diff line number Diff line change @@ -20,10 +20,12 @@ import {
20
20
type OnUnknownPluginMessage ,
21
21
type OnPromptAIMessage ,
22
22
type PromptAIPayload ,
23
+ OnPreviewDimensionMessage ,
23
24
} from '../../messaging'
24
25
import { FieldPluginActions , Initialize } from '../FieldPluginActions'
25
26
import { pluginStateFromStateChangeMessage } from './partialPluginStateFromStateChangeMessage'
26
27
import { callbackQueue } from './callbackQueue'
28
+ import { PreviewDimensionResponse } from '../../messaging/pluginMessage/containerToPluginMessage/PreviewDimensionResponseMessage'
27
29
28
30
export type ValidateContent < Content > = ( content : unknown ) => {
29
31
content : Content
@@ -82,6 +84,10 @@ export const createPluginActions: CreatePluginActions = ({
82
84
popCallback ( 'promptAI' , data . callbackId ) ?.( data )
83
85
}
84
86
87
+ const onPreviewDimension : OnPreviewDimensionMessage = ( data ) => {
88
+ popCallback ( 'previewDimension' , data . callbackId )
89
+ }
90
+
85
91
const onUnknownMessage : OnUnknownPluginMessage = ( data ) => {
86
92
// TODO remove side-effect, making functions in this file pure.
87
93
// perhaps only show this message in development mode?
@@ -101,6 +107,7 @@ export const createPluginActions: CreatePluginActions = ({
101
107
onUserContextRequest,
102
108
onAssetSelect,
103
109
onPromptAI,
110
+ onPreviewDimension,
104
111
onUnknownMessage,
105
112
}
106
113
Original file line number Diff line number Diff line change @@ -6,6 +6,7 @@ import type {
6
6
OnPromptAIMessage ,
7
7
OnStateChangeMessage ,
8
8
OnUnknownPluginMessage ,
9
+ OnPreviewDimensionMessage ,
9
10
} from '../../../messaging'
10
11
import { handlePluginMessage } from './handlePluginMessage'
11
12
@@ -16,6 +17,7 @@ export type PluginMessageCallbacks = {
16
17
onUserContextRequest : OnUserContextRequestMessage
17
18
onAssetSelect : OnAssetSelectMessage
18
19
onPromptAI : OnPromptAIMessage
20
+ onPreviewDimension : OnPreviewDimensionMessage
19
21
onUnknownMessage : OnUnknownPluginMessage
20
22
}
21
23
Original file line number Diff line number Diff line change 8
8
} from '../../../messaging'
9
9
import { PluginMessageCallbacks } from './createPluginMessageListener'
10
10
import { isStateMessage } from '../../../messaging/pluginMessage/containerToPluginMessage/StateChangedMessage'
11
+ import { isPreviewDimensionResponse } from '../../../messaging/pluginMessage/containerToPluginMessage//PreviewDimensionResponseMessage'
11
12
12
13
export const handlePluginMessage = (
13
14
data : unknown ,
@@ -38,6 +39,8 @@ export const handlePluginMessage = (
38
39
callbacks . onAssetSelect ( data )
39
40
} else if ( isPromptAIMessage ( data ) ) {
40
41
callbacks . onPromptAI ( data )
42
+ } else if ( isPreviewDimensionResponse ( data ) ) {
43
+ callbacks . onPreviewDimension ( data )
41
44
} else {
42
45
callbacks . onUnknownMessage ( data )
43
46
}
Original file line number Diff line number Diff line change @@ -5,6 +5,7 @@ import { UserContextRequestMessage } from './UserContextRequestMessage'
5
5
import { MessageToPlugin } from './MessageToPlugin'
6
6
import { StateChangedMessage } from './StateChangedMessage'
7
7
import { PromptAIResponseMessage } from './PromptAIResponseMessage'
8
+ import { PreviewDimensionResponse } from './PreviewDimensionResponseMessage'
8
9
9
10
/**
10
11
* The plugin container's sends it's state to the plugin
@@ -14,6 +15,9 @@ export type OnStateChangeMessage = (message: StateChangedMessage) => void
14
15
export type OnLoadedMessage = ( message : LoadedMessage ) => void
15
16
export type OnAssetSelectMessage = ( message : AssetSelectedMessage ) => void
16
17
export type OnPromptAIMessage = ( message : PromptAIResponseMessage ) => void
18
+ export type OnPreviewDimensionMessage = (
19
+ message : PreviewDimensionResponse ,
20
+ ) => void
17
21
export type OnContextRequestMessage = ( message : ContextRequestMessage ) => void
18
22
export type OnUserContextRequestMessage = (
19
23
message : UserContextRequestMessage ,
Original file line number Diff line number Diff line change
1
+ import { isMessageToPlugin , type MessageToPlugin } from './MessageToPlugin'
2
+
3
+ export type PreviewDimensionResponse = MessageToPlugin < 'preview-dimension' >
4
+
5
+ export const isPreviewDimensionResponse = (
6
+ data : unknown ,
7
+ ) : data is PreviewDimensionResponse =>
8
+ isMessageToPlugin ( data ) && data . action === 'preview-dimension'
Original file line number Diff line number Diff line change @@ -331,6 +331,14 @@ const useSandbox = (
331
331
const onSetPreviewDimension = useCallback (
332
332
( message : PreviewDimensionChangeMessage ) => {
333
333
setPreviewDimension ( message . data )
334
+
335
+ //This would make the field plugin to clean its queue
336
+ //It would also be needed to be changed in the Storyfront side.
337
+ postToPlugin ( {
338
+ uid,
339
+ action : 'preview-dimension' ,
340
+ callbackId : message . callbackId ,
341
+ } )
334
342
} ,
335
343
[ ] ,
336
344
)
You can’t perform that action at this time.
0 commit comments