Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

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.

Reply
tarockx
New Member

Using the LocalStorage service inside a Dialog Box

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:

tarockx_0-1711132616922.png

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?

1 ACCEPTED SOLUTION
dm-p
Super User
Super User

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





Did I answer your question? Mark my post as a solution!

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)




View solution in original post

2 REPLIES 2
dm-p
Super User
Super User

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





Did I answer your question? Mark my post as a solution!

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)




lbendlin
Super User
Super User

What kind of UX are you trying to achieve combining these features?

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.