Skip to content

[DISCUSS] Change ui_actions interface to more directly express dependencies #62225

@mattkime

Description

@mattkime

This is in follow up to #60168 #60202 - tldr; ui_actions allows triggers and actions to be registered from different plugins to ui_actions but this creates a dependency not expressed through the plugin contracts. Tests became flakey due to indeterminate plugin loading order.

Proposal:

Instead of registering triggers and actions in a central registry, triggers would be created and made available via plugin contracts.

ui_actions service

Before After
registerTrigger new Trigger()
getTrigger n/a
registerAction trigger.registerAction
getAction trigger.getAction
attachAction n/a
detachAction trigger.detachAction
getTriggerActions trigger.getActions
getTriggerCompatibleActions getCompatibleActions
fork UNSURE

Part of #71854

Metadata

Metadata

Assignees

No one assigned

    Labels

    Feature:UIActionsUI actions. These are client side only, not related to the server side actions..impact:lowAddressing this issue will have a low level of impact on the quality/strength of our product.loe:smallSmall Level of Effort

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions