Power BI is turning 10, and we’re marking the occasion with a special community challenge. Use your creativity to tell a story, uncover trends, or highlight something unexpected.
Get startedJoin us for an expert-led overview of the tools and concepts you'll need to become a Certified Power BI Data Analyst and pass exam PL-300. Register now.
Hello everyone
I'm developing a custom visual that makes use of Dialog Boxes, as documented here.
The visual also uses the local storage API to read and write data to the local storage.
Now, while these two features work well on their own, there is a problem when trying to use them together.
This is becasue, as far as I can tell, there seems to be no way to access the Local Storage API from inside the Dialog Box.
In particular, the DialogBox's options do not give access to the IVisualLocalStorageV2Service. So, unlike with the main Visual's class, we cannot obtain the storage service in a DialogBox like this:
as you can see, we get an error because that property doesn't exist.
It also cannot be passed through via the "initialState" object, since it seems IVisualLocalStorageV2Service is not serializable.
How can we work around this? Is ti possible?
Solved! Go to Solution.
The dialog box API/host is essentially its own sandboxed iframe, separate from the visual in terms of how Power BI sees it. With this current implementation you can only pass simple objects between the visual and dialog box as a means of state management, as you have observed.
Your post does not detail your use case, just that you need the feature, so I can't advise what would be a suitable workaround. However, taking a generalized approach, you would need to pass the portion of your local storage you need (hopefully serializable) to the dialog box as part of the options and then update your visual's local storage data with the returned changes when the event is handled in your visual.
If this is not a suitable approach, you will need to request that MS add the feature to the dialog box host (via pbicvsupport@microsoft.com or the Power BI Visuals API repo). To manage your expectations, you will need a very solid justification for any feature requests, so it's best to try and have everything ready to go in terms of having a case for this.
Regards,
Daniel
Proud to be a Super User!
On how to ask a technical question, if you really want an answer (courtesy of SQLBI)
The dialog box API/host is essentially its own sandboxed iframe, separate from the visual in terms of how Power BI sees it. With this current implementation you can only pass simple objects between the visual and dialog box as a means of state management, as you have observed.
Your post does not detail your use case, just that you need the feature, so I can't advise what would be a suitable workaround. However, taking a generalized approach, you would need to pass the portion of your local storage you need (hopefully serializable) to the dialog box as part of the options and then update your visual's local storage data with the returned changes when the event is handled in your visual.
If this is not a suitable approach, you will need to request that MS add the feature to the dialog box host (via pbicvsupport@microsoft.com or the Power BI Visuals API repo). To manage your expectations, you will need a very solid justification for any feature requests, so it's best to try and have everything ready to go in terms of having a case for this.
Regards,
Daniel
Proud to be a Super User!
On how to ask a technical question, if you really want an answer (courtesy of SQLBI)
What kind of UX are you trying to achieve combining these features?
This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.
Check out the June 2025 Power BI update to learn about new features.