[UiActions] pass trigger into action execution context#74363
Merged
Dosant merged 23 commits intoelastic:masterfrom Aug 14, 2020
Merged
[UiActions] pass trigger into action execution context#74363Dosant merged 23 commits intoelastic:masterfrom
Dosant merged 23 commits intoelastic:masterfrom
Conversation
…s-improve-context # Conflicts: # src/plugins/ui_actions/public/actions/action.ts # src/plugins/ui_actions/public/context_menu/build_eui_context_menu_panels.tsx # src/plugins/ui_actions/public/triggers/trigger_internal.ts
…bana into dev/ui-actions-improve-context
Contributor
Author
|
@elasticmachine merge upstream |
1 similar comment
Contributor
Author
|
@elasticmachine merge upstream |
…kibana into dev/ui-actions-improve-context-2
2 tasks
streamich
approved these changes
Aug 13, 2020
Contributor
streamich
left a comment
There was a problem hiding this comment.
Tested on Chrome, LGTM.
Contributor
Author
|
@elasticmachine merge upstream |
Contributor
|
Pinging @elastic/kibana-app-arch (Team:AppArch) |
Contributor
Author
|
@elasticmachine merge upstream |
Contributor
💚 Build SucceededBuild metrics@kbn/optimizer bundle module count
page load bundle size
History
To update your PR or re-run it, just comment with: |
Dosant
added a commit
to Dosant/kibana
that referenced
this pull request
Aug 14, 2020
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Dosant
added a commit
that referenced
this pull request
Aug 14, 2020
gmmorris
added a commit
to gmmorris/kibana
that referenced
this pull request
Aug 14, 2020
* master: Fix bug on TopN weird behavior with zero values (elastic#74942) [Lens] Fix table sorting bug (elastic#74902) [SECURITY_SOLUTION] Retry on ingest setup (elastic#75000) [file upload] lazy load to reduce page load size (elastic#74967) Drilldowns for TSVB / Vega / Timelion (elastic#74848) [EventLog] Populate alert instances view with event log data (elastic#68437) [UiActions] pass trigger into action execution context (elastic#74363)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Partially addresses: #63854
This is a follow up on #71675 which takes a bit different (more strict) approach.
Reason why I didn't like #71675 is that it was super easy to not pass
triggerinto action handler.I even missed some places in that pr.
This pr takes different approach:
We already have a separation between
ActionandActionDefinition.Those are used almost interchangeably in different places, which is confusing. The usage should be aligned in #74501:
Actionshould be used internally and should represent the object returned by uiActions serviceActionDefinitionis a simple interface and should be used for registering an action in uiAction service.With that:
As
ActionDefinitionshould stay as simple and flexible as possible to provide the simplest api for defining and action, argument type of handlers do not required to specify trigger.So when defining an action as
ActionDefinitionusage stays the same in simple cases:But if need to access context, consumer could use type helper:
But in Action interface trigger is required now.
So if consumer uses action directly or defines an action using
Actioninterface instead ofActionDefinitionthen:Action,ActionDefinition,createActionare used interchangeably and intersect with each other. These interface usage should be documented and aligned: #74501