simonw/django-sql-dashboard

Greater ability to customise widgets

drkane opened this issue · 0 comments

At the moment custom widgets are selected by changing column names in the query result, but there's no way to customise the widget itself. Some of the things I've found myself wanting to do include (these are for chart widgets but apply to others too):

  • add a title & description to widgets (similar to the title & description for the dashboard page as a whole)
  • pass custom settings to a chart, eg axis titles, enabling a legend
  • customise the styling of a widget - change the size, colours, etc
  • have the ability for a variable number of columns to be shown on a chart - eg multiple lines on a line chart
  • enable the ability to export the data (see issue #133)

There's obviously a trade-off here between simplicity of the current process vs greater customisability. There are probably some workarounds that could work - eg I could have the query return a json column called "settings" and incorporate that into the widget. The alternative would presumably be adding extra fields to the DashboardQuery model - probably title, description, settings (as a JSON field) that were passed to the widget template. But that would need to then have a workflow associated with them for editing.