Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
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!
My course: Introduction to Developing Power BI Visuals
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!
My course: Introduction to Developing Power BI Visuals
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?
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
5 | |
2 | |
1 | |
1 | |
1 |