Redo the layout and JavaScript backing for the Admin UI dashboard page.

Review Request #10755 — Created Oct. 14, 2019 and submitted

Information

Review Board
release-4.0.x
cc9a092...

Reviewers

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.


Description From Last Updated

Col: 28 Expected '===' and instead saw '=='.

reviewbotreviewbot

Col: 129 Missing semicolon.

reviewbotreviewbot

Col: 142 Expected '===' and instead saw '=='.

reviewbotreviewbot

Col: 238 Expected an assignment or function call and instead saw an expression.

reviewbotreviewbot

Col: 239 Missing semicolon.

reviewbotreviewbot

Col: 392 Expected '{' and instead saw 'return'.

reviewbotreviewbot

Col: 481 Expected '===' and instead saw '=='.

reviewbotreviewbot

Col: 493 Expected '{' and instead saw 'return'.

reviewbotreviewbot

Col: 570 Missing semicolon.

reviewbotreviewbot

Col: 587 Missing semicolon.

reviewbotreviewbot

Col: 676 A constructor name should start with an uppercase letter.

reviewbotreviewbot

Col: 696 Expected an assignment or function call and instead saw an expression.

reviewbotreviewbot

Col: 697 Missing semicolon.

reviewbotreviewbot

Col: 699 Missing semicolon.

reviewbotreviewbot

Col: 834 Expected an assignment or function call and instead saw an expression.

reviewbotreviewbot

Col: 835 Missing semicolon.

reviewbotreviewbot

Col: 871 Expected '===' and instead saw '=='.

reviewbotreviewbot

Col: 925 Missing semicolon.

reviewbotreviewbot

Col: 947 Missing semicolon.

reviewbotreviewbot

Col: 953 Expected an assignment or function call and instead saw an expression.

reviewbotreviewbot

Col: 954 Missing semicolon.

reviewbotreviewbot

Col: 964 'n' was used before it was defined.

reviewbotreviewbot

Col: 999 Expected an assignment or function call and instead saw an expression.

reviewbotreviewbot

Col: 1000 Missing semicolon.

reviewbotreviewbot

Col: 1005 'o' was used before it was defined.

reviewbotreviewbot

Col: 1041 's' was used before it was defined.

reviewbotreviewbot

Col: 1056 Expected '===' and instead saw '=='.

reviewbotreviewbot

Col: 1100 Missing semicolon.

reviewbotreviewbot

Col: 1125 Missing semicolon.

reviewbotreviewbot

Col: 1154 Expected '===' and instead saw '=='.

reviewbotreviewbot

This should have a method comment.

daviddavid

Needs docs for options

daviddavid

Can we please always include non-minified versions here? That way we get usable source maps when running in devel mode.

daviddavid

Col: 24 Expected '===' and instead saw '=='.

reviewbotreviewbot

Col: 31 Expected '===' and instead saw '=='.

reviewbotreviewbot

Col: 33 Expected '===' and instead saw '=='.

reviewbotreviewbot

Col: 24 Expected '===' and instead saw '=='.

reviewbotreviewbot

Col: 12 'methodCall' was used before it was defined.

reviewbotreviewbot

Col: 46 Expected '===' and instead saw '=='.

reviewbotreviewbot

Col: 12 'plainCall' was used before it was defined.

reviewbotreviewbot

Col: 10 'updateJQuery' was used before it was defined.

reviewbotreviewbot

Col: 24 Expected '===' and instead saw '=='.

reviewbotreviewbot

Col: 31 Expected '===' and instead saw '=='.

reviewbotreviewbot

Col: 20 Expected '!==' and instead saw '!='.

reviewbotreviewbot

Col: 1 Missing "use strict" statement.

reviewbotreviewbot

Col: 40 Expected '===' and instead saw '=='.

reviewbotreviewbot

Col: 16 Expected '!==' and instead saw '!='.

reviewbotreviewbot

Col: 32 Missing semicolon.

reviewbotreviewbot

Col: 24 Expected '===' and instead saw '=='.

reviewbotreviewbot

Col: 31 Expected '===' and instead saw '=='.

reviewbotreviewbot

Col: 38 Expected '===' and instead saw '=='.

reviewbotreviewbot

Col: 33 Expected '===' and instead saw '=='.

reviewbotreviewbot

Col: 64 Expected '===' and instead saw '=='.

reviewbotreviewbot

Col: 10 'getSize' was used before it was defined.

reviewbotreviewbot

Col: 22 Expected '===' and instead saw '=='.

reviewbotreviewbot

Col: 31 Expected '!==' and instead saw '!='.

reviewbotreviewbot

Col: 24 Expected '===' and instead saw '=='.

reviewbotreviewbot

Col: 58 Expected '===' and instead saw '=='.

reviewbotreviewbot

Col: 24 Expected '===' and instead saw '=='.

reviewbotreviewbot

Col: 31 Expected '===' and instead saw '=='.

reviewbotreviewbot

Col: 24 Expected '===' and instead saw '=='.

reviewbotreviewbot

Col: 31 Expected '===' and instead saw '=='.

reviewbotreviewbot

Col: 1 Missing "use strict" statement.

reviewbotreviewbot
Checks run (1 failed, 1 succeeded)
flake8 passed.
JSHint failed.

JSHint

david
  1. 
      
  2. Show all issues

    This should have a method comment.

  3. Show all issues

    Needs docs for options

  4. reviewboard/staticbundles.py (Diff revision 1)
     
     
    Show all issues

    Can we please always include non-minified versions here? That way we get usable source maps when running in devel mode.

  5. 
      
chipx86
chipx86
Review request changed
Change Summary:

Actually added the masonry-4.2.2.js file.

Commit:
fb182ed4bc3f65b07f85f37af53ca93415600277
cc9a092cfbc295600dd910c458087e485b11b445

Checks run (1 failed, 1 succeeded)

flake8 passed.
JSHint failed.

JSHint

david
  1. Ship It!
  2. 
      
chipx86
Review request changed
Status:
Completed
Change Summary:
Pushed to release-4.0.x (1ab07ef)