Port existing actions over to the new framework.

Review Request #12757 — Created Dec. 22, 2022 and submitted — Latest diff uploaded

Information

Review Board
release-6.x

Reviewers

The new actions framework has a lot more flexibility and consistency
than the old one. This change ports over our existing review request
actions and extension hooks to use it. In addition, several things which
worked like actions (like the star and archive/mute menu) but were
implemented outside of the framework have been rewritten to be actions
instead.

This also reimplements the client-side styling and logic for menus and
the mobile menu, using the new CSS component style and building on
RB.MenuView for the drop-downs. This gives us more consistent style
rules as well as support for keyboard and screen-reader accessibility.

  • Tested review request actions in several scenarios, including when
    logged out and in mobile mode.
  • Ran unit tests.

Diff Revision 2

This is not the most recent revision of the diff. The latest diff is revision 8. See what's changed.

orig
1
2
3
4
5
6
7
8

Commits

First Last Summary ID Author
Port existing actions and extension hooks over to the new framework.
The new actions framework has a lot more flexibility and conistency than the old one. This change ports over our existing review request actions and extension hooks to use it. In addition, several things which worked like actions (like the star and archive/mute menu) but were implemented outside of the framework have been rewritten to be actions instead. This also reimplements the client-side styling and logic for menus and the mobile menu, using the new CSS component style and building on RB.MenuView for the drop-downs. This gives us more consistent style rules as well as support for keyboard and screen-reader accessibility. Testing Done: - Tested review request actions in several scenarios, including when logged out and in mobile mode. - Ran unit tests.
7842247021f413d1ff996261df024f4736de5745 David Trowbridge
docs/manual/extending/index.rst
docs/manual/extending/coderef/index.rst
docs/manual/extending/extensions/hooks/action-hooks.rst
reviewboard/staticbundles.py
reviewboard/extensions/hooks.py
reviewboard/extensions/tests/test_action_hooks.py
reviewboard/extensions/tests/test_sandbox_hooks.py
reviewboard/notifications/tests/test_email_sending.py
reviewboard/reviews/actions.py
reviewboard/reviews/default_actions.py
reviewboard/reviews/errors.py
reviewboard/reviews/templatetags/reviewtags.py
reviewboard/reviews/tests/test_actions.py
reviewboard/static/rb/css/pages/review-request.less
reviewboard/static/rb/js/actions/views/archiveActionView.ts
reviewboard/static/rb/js/pages/views/basePageView.es6.js
reviewboard/static/rb/js/pages/views/reviewablePageView.es6.js
reviewboard/static/rb/js/pages/views/tests/reviewablePageViewTests.es6.js
reviewboard/static/rb/js/ui/views/menuView.es6.js
reviewboard/static/rb/js/views/reviewRequestEditorView.es6.js
reviewboard/static/rb/js/views/tests/reviewRequestEditorViewTests.es6.js
reviewboard/templates/base.html
reviewboard/templates/reviews/action.html
reviewboard/templates/reviews/archive_action.html
reviewboard/templates/reviews/archive_menu_action.html
reviewboard/templates/reviews/menu_action.html
reviewboard/templates/reviews/review_request_header.html
reviewboard/templates/reviews/star_action.html
Loading...