Redo the layout and JavaScript backing for the Admin UI dashboard page.
Review Request #10755 — Created Oct. 14, 2019 and submitted — Latest diff uploaded
This replaces the old JavaScript code for the admin dashboard with a
new, simpler, and cleaner implementation built on top of our
RB.Page
/RB.PageView
classes. The new implementation isn't limited to
two columns of Large/Small widget sizes, but rather allows utilitizes as
many columns as can fit on the page.The new page makes use of a modern version of Masonry, which is what we
use for laying out widgets. This version is a bit smarter with how it
handles layout and gives us better control over its layout rules.The new layout rules may lay out widgets in a way that seems unfamiliar
when used to the old dashboard design. There's no longer a dedicated
column of smaller widgets, though that column will seem to appear
depending on the width of the window. As widgets are rewritten, they may
be adjusted to even out the sizing of widgets to help keep things more
uniform.The dashboard no longer allows widgets to be added, deleted, or moved.
We might bring this back someday, but it would be with an entirely
different implementation. It's unlikely anyone really made use of this
in the past, though, and it's probably better to bring this back to
basics for now.Upcoming changes will redo the implementation of widgets and widget
registration to fix issues with responsive layout and in widgets and to
make it easier to perform some rewrites of these widgets.
Tested the layout at various window sizes, and in mobile mode.