• 
      

    Add a base class for groups of actions.

    Review Request #14643 — Created Oct. 19, 2025 and submitted — Latest diff uploaded

    Information

    Review Board
    release-7.1.x

    Reviewers

    When actions were implemented, the only group of actions we needed were
    menus. As we begin to use action for more purposes, we need other groups
    of actions, meaning it's a good time to come up with a more general base
    class for this.

    This change introduces BaseGroupAction, which MenuAction is built
    upon. This manages a group of actions, allowing for explicit ordering
    and -- just like menus (though it would be up to an implementation how
    it wants to handle this).

    There's a JavaScript side as well, which is equivalent to what
    MenuAction was before. MenuAction is now a very thin subclass over
    GroupAction.

    For testing, our formerly registry-specific set of test action classes
    have been moved into a common module, along with some new actions for
    groups.

    On top of this, actions now have a parent registry, assigned when
    registering and unassigned when unregistering. This is primarily for
    unit test purposes, but removes the assumption of actions_registry for
    child actions.

    Unit tests pass.

    Tested all the actions in the UI to make sure they still work and
    still show the menu items in the right order.

    Commits

    Files