Feature request - Allow all existing static widget properties to be defined by variables

Many properties of existing widgets need to be defined at module design time and can’t be changed during runtime via variables. We get around this by creating different configurations of the same widget and hide or show each config based on UI state. This is very inefficient for the performance of the module.

My feature request is to allow most widget properties to receive either a static or variable input.
While there is the option now of defining a custom widget, many users do not have the time to learn React. Making existing widgets more extensible would greatly enhance the flexibility of the product.

Given that there are many widgets to do this for, my first request would be to make the Chart widget’s properties more dynamic, for example defining the Y Axis format using a variable.

Thank you!

2 Likes

Yes! One workaround that sometimes works here is to create the variable before creating the widget and then configuring the widget to use your variable.

Hello,

I posted about this in the past that you can see here, would be super helpful!

1 Like

Hi @ivor-the-engine , I had similar requirement, to let users select the x/y axis from the dropdown. To solve that I used a Typescript function with function backed chart in workshop. I have tried to create a guide. I hope this will help!

3 Likes

Making static configuration variable backed is a very common class of feature request we see. It’s not trivial to automatically enable this everywhere - as variables can have async loading states that need to be handled in the UI of each widget. We track each of these requests individually internally.

For charts specifically you will have much more flexibility with the Vega chart widget, and possibly a function backed Vega chart config. As @arjunsoni mentions, a function backed X/Y chart layer similarly offers additional flexibility.

Please open a new thread with a specific variable backed config request in the future for anyone who encounters this thread!