- This action doesn't require any additional settings.
-
- This action won't do anything if there isn't a screen modal open.
-
+
+ (parameters.url = value.detail)}
+ {bindings}
+ />
diff --git a/packages/client/src/components/overlay/PeekScreenDisplay.svelte b/packages/client/src/components/overlay/PeekScreenDisplay.svelte
index d6da9ca3f0..b9f4914624 100644
--- a/packages/client/src/components/overlay/PeekScreenDisplay.svelte
+++ b/packages/client/src/components/overlay/PeekScreenDisplay.svelte
@@ -45,6 +45,9 @@
},
[MessageTypes.CLOSE_SCREEN_MODAL]: () => {
peekStore.actions.hidePeek()
+ if (message.data?.url) {
+ routeStore.actions.navigate(message.data.url)
+ }
},
[MessageTypes.INVALIDATE_DATASOURCE]: () => {
proxyInvalidation(message.data)
diff --git a/packages/client/src/utils/buttonActions.js b/packages/client/src/utils/buttonActions.js
index a534ee8326..e44ed2451c 100644
--- a/packages/client/src/utils/buttonActions.js
+++ b/packages/client/src/utils/buttonActions.js
@@ -224,10 +224,11 @@ const changeFormStepHandler = async (action, context) => {
)
}
-const closeScreenModalHandler = () => {
+const closeScreenModalHandler = action => {
+ let { url } = action.parameters
// Emit this as a window event, so parent screens which are iframing us in
// can close the modal
- window.parent.postMessage({ type: "close-screen-modal" })
+ window.parent.postMessage({ type: "close-screen-modal", url })
}
const updateStateHandler = action => {