@cmallonee in most circumstances I would agree; however, when it comes to dashboards things get complicated. Although you can get the widgets and the dashboard to be responsive, it’s difficult to get the widget position in the dashboard to be responsive.
An example case would be lots of small widgets all in a row on a landscape screen. When this transitions to portrait these become very small. Ideally they would move onto the next row in dashboard (which I’m sure is possible via scripting, but in my head, seems very difficult).
Possible solutions to the example are:
Reduce the grid size of the dashboard so that the effect is less pronounced.
a. In this case I do not want to restrict the end user to this extent.
Instead of having lots of individual widgets, create fewer complex widgets that are more responsive.
a. Again, this restricts the end user’s capabilities. If they want lots of widgets laid out exactly where they want them, then I would like to provide that functionality.
Create two dashboards, each optimised for portrait/landscape layout, and use a breakpoint container to decide which to show.
a. This is my preferred solution currently; however, the breakpoint doesn’t have reference to the view height, so it is not a true indication of whether the screen is in portrait/landscape. If dimensions were exposed to allow a decision to be made on the orientation, this solution would be perfect.
In this example it may actually be better to have access to the container dimensions rather than the viewport. This seems like the simplest solution for me, but I understand it could cause a few headaches to expose these in the properties. Another option could be to have an ‘orientation’ property in the session props that we can use, if this is easier to implement.