Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Drilldowns 7.7 tech debt #60254

Closed
4 tasks done
streamich opened this issue Mar 16, 2020 · 1 comment
Closed
4 tasks done

Drilldowns 7.7 tech debt #60254

streamich opened this issue Mar 16, 2020 · 1 comment
Labels
Feature:Drilldowns Embeddable panel Drilldowns

Comments

@streamich
Copy link
Contributor

streamich commented Mar 16, 2020

Technical debt that we accumulated during 7.7 drilldown development, which we should consider addressing before doing any further drilldown work:

  • Make React component receive DynamicActionStorage instead of DynamicActionManager?
  • Show dot instead of number of drilldowns in panel top-right corner in "edit" mode. Agreed to keep number.
  • Discuss how to filter out drilldowns only to ones that need to be displayed. Use places: ['dashboard'] in Dashboard-to-Dashboard drilldown.
  • Add React Error boundary support to UiComponent. Use it in drilldowns.
  • Create /containers folder.
  • Use .dynamicActions.state in drilldown components for subscribing to state.
  • Add JSDocs to all public interfaces.
  • Add ability to attach action to multiple triggers in the API.
  • Show "dot" icon in success toast.
  • Add ownFocus option to Core flyout.
  • Show DynamicActionManager errors in UI.

Discussed topics:

  • How/can drilldown implementations set their own isCompatible functions.
    • Will address in future.
  • How/can we conditionally display certain action factories depending on the "place" the drilldown management is being rendered:
    • do we actually need this functionality now?
    • if so, who should be in charge of what is displayed, the environment or the drilldown implementor?
  • Creating a commercial factory override and moving factories, dynamic action code to ui_actions_enhanced.
    • Preliminary plan:
      • Before: Stacey's EnhancedEmbeddable PR.
      • Then: move dynamic action manager.
      • Move actions factories.
  • need to add another trigger to embeddable panels to allow plugins to add clickable icons to the right side of the panel header.
  • Do we need two ways to create action factories, aka drilldowns. What is the difference? When should one be used and not the other?
    • Proceed with registerDrilldown, revisit API once creating example plugin.
  • How soon/do we need to implement attaching to other triggers? What is the priority? How will APM and ML use this feature?
  • Where should flyout opener actions live?
    • Move to embeddable_enhanced in 7.8.

Needs discussion:

  • Discuss useStateContainer generic.
  • Make ActionInternal to be Action.
  • In Dashboard app to navigate back one needs to click back button multiple times.
  • Sync on embeddable context interfaces with Lens. Schedule work for cleaning it up.
    • Remove or require context.embeddable, context.timeFieldName, context.data.e?
    • Should we standartize context.data.{data,range}?
    • Add correct types for context.data.{data,range}.
    • Not use context.embeddable. No other way to access query?
  • Find better way to extract filter from embeddable - Create dashboard drilldown - select dashboard via filtering combo box and navigate to dashboarrd #60087
  • Better way to express "go to xyz dashboard with its default time range"

Parent issue: #42845

@streamich streamich added Feature:Drilldowns Embeddable panel Drilldowns Team:AppArch labels Mar 16, 2020
@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-app-arch (Team:AppArch)

This was referenced Mar 16, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature:Drilldowns Embeddable panel Drilldowns
Projects
None yet
Development

No branches or pull requests

2 participants