You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In my specific use-case, it matters if the user has closed the Portal (via the X button), or of it was closed programatically via closePortal() when using const { openPortal, closePortal } = useFlatfile()
But currently no event is emitted when the user closes the Portal, or when the Space is unmounted.
What did I try?
The only way of detecting this is through FlatfileProvider config
<FlatfileProviderconfig={{closeSpace: {// operation: not provided on purposeonClose(){// this will trigger when the user clicks the "X" close button,// but not when the portal is closed programatically}}>{children}</FlatfileProvider>
but the ergonomics of this is not ideal, because I need to React to that event from inside the provider, not from outside.
What about useFlatfile({onClose})?
useFlatfile({onClose(){// detects when the portal is closed for any reason, // but doesn't provide a reason.})
This is insufficient, because I want to detect if it was closed by clicking the "X" (more like a "onCancel" event)
My workarounds
Wrapped useFlatfile with my own hook, that stores the state of the Portal, and emits triggers useMyCustomFlatfile({ onCancel() { /* this is triggered when it's closed without a job:outcome-acknowledged */ } })
Emitted a custom event on closeSpace: { onClose () { } }, that can be detected elsewhere in the application
The text was updated successfully, but these errors were encountered:
const { open } = useFlatfile(); only allows me to know if the Portal is open or not, it doesn't solve the issue of being able to detect a cancellation (manual closure of the Portal by clicking on the "X")
It's definitely possible to create a workaround component that uses:
open,
useFlatfile({ onClose })
And an event listener for job:outcome-acknowledged
It just ends up being a lot of code for what would be trivial to do on Flatfile's end (emit an event when closing the space)
#triage-eng-support thread
version:
Flatfile "Platform"
lib:
@flatfile/react
Overview
In my specific use-case, it matters if the user has closed the Portal (via the
X
button), or of it was closed programatically viaclosePortal()
when usingconst { openPortal, closePortal } = useFlatfile()
But currently no event is emitted when the user closes the Portal, or when the Space is unmounted.
What did I try?
The only way of detecting this is through
FlatfileProvider
configbut the ergonomics of this is not ideal, because I need to React to that event from inside the provider, not from outside.
What about
useFlatfile({onClose})
?This is insufficient, because I want to detect if it was closed by clicking the "X" (more like a "onCancel" event)
My workarounds
useFlatfile
with my own hook, that stores the state of the Portal, and emits triggersuseMyCustomFlatfile({ onCancel() { /* this is triggered when it's closed without a job:outcome-acknowledged */ } })
closeSpace: { onClose () { } }
, that can be detected elsewhere in the applicationThe text was updated successfully, but these errors were encountered: