Spike:Allow panel size and location to be defined in dashboard schema

Problem to solve

Currently we allow users to define a dashboard, but the panels are always arranged in a side by side layout on the screen. Further, ordering is simply defined by setting a priority or weight field, which arranges them in order.

This does not allow much customization, and users would like to be able to more easily arrange items. This is important for us to be able to allow users to add additional panels from the UI, so they can arrange the items easily on the screen.

Intended users

Further details

Proposal

We should expand our dashboard schema and UI rendering to support more flexibly arranged chart definitions. The size and location definitons should align with the grid system we choose, for example: https://github.com/jbaysolutions/vue-grid-layout

Extend panel schema to include both an X/Y position as well as a size.

Incorporate the grid layout framework in our frontend, to properly display the panels as defined