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

[Time to visualize] Copy panel from one dashboard to another dashboard #69423

Closed
AlonaNadler opened this issue Jun 17, 2020 · 10 comments · Fixed by #90856
Closed

[Time to visualize] Copy panel from one dashboard to another dashboard #69423

AlonaNadler opened this issue Jun 17, 2020 · 10 comments · Fixed by #90856
Labels
Feature:Dashboard Dashboard related features Project:TimeToVisualize Team:Presentation Presentation Team for Dashboard, Input Controls, and Canvas

Comments

@AlonaNadler
Copy link

This item was discussed in the original Time to Visualize plan but I don't see any issue.
With the new library and add by value system, when users see a panel in the existing dashboard they want to add to their dashboard their can either rebuild it or:

  • click on the panel
  • add the panel to the library
  • move to their dashboard
  • click add
  • search their panel by name in the library

It would be better if users had a quick direct way to add an existing panel (by value or by reference) from one dashboard to another dashboard directly. The panel will be added by value to the destination dashboard.

  • While in dashboard A, users see panel they are interested in using in their dashboard B
  • user click the action panel and selects copy to dashboard
  • popup with a list of dashboards and ability to search
  • detects the dashboard and the panel is added to Dashboard B in the bottom

I think this issue can help reduce the dependency on the library even further

cc: @timroes @ThomThomson @majagrubic @ryankeairns

@AlonaNadler AlonaNadler added the Feature:Dashboard Dashboard related features label Jun 17, 2020
@stacey-gammon stacey-gammon added the Team:Visualizations Visualization editors, elastic-charts and infrastructure label Jul 16, 2020
@timroes timroes added Team:Presentation Presentation Team for Dashboard, Input Controls, and Canvas and removed Team:Visualizations Visualization editors, elastic-charts and infrastructure labels Oct 7, 2020
@ryankeairns
Copy link
Contributor

ryankeairns commented Oct 19, 2020

Adding gif and link to prototype:

The switch in the context menu is shown in the 'on' but disabled state. This represents the case where the item being copied is 'by value' and thus not in the library. If we were copying a 'by reference' object, then the switch would be enabled, allowing the user to determine whether or not they want to create a new copy (by value) or keep it linked to the original (by reference).

copyToDashboard

Figma

(tip: click on the DBV2 link below the blue button to jump ahead in the prototype)
https://www.figma.com/proto/EwodWYRUIjbNvYoi9G4Hnh/Dashboard?node-id=1094%3A1348&viewport=806%2C221%2C0.07567259669303894&scaling=min-zoom

@AlonaNadler
Copy link
Author

Thanks @ryankeairns this is great.
Please add a search to the dashboard, in many cases there will be dozens of dashboards and it might be hard to scroll

@ryankeairns
Copy link
Contributor

ryankeairns commented Oct 26, 2020

Thanks @ryankeairns this is great.
Please add a search to the dashboard, in many cases there will be dozens of dashboards and it might be hard to scroll

It's not evident in the gif, but the combo box does provide for typeahead search capability as seen below. The default (no selection) would result in a new dashboard.

single-selection

The steps, for this case, would look like:

Screen Shot 2020-10-26 at 9 43 08 AM

@ThomThomson
Copy link
Contributor

In this case, is creating a custom option expected to create a new dashboard pre-saved with the entered title before redirecting you to it? That should be doable, just a little bit more to take into account.

@ryankeairns
Copy link
Contributor

@ThomThomson I think, in this case, we can simplify things and not use the custom option. Just return 'No matching results found'.

If you want a new dashboard, then just leave the input blank and we'll create a new dashboard (not pre-saved with the entered title). In the long run, a pre-saved dashboard would minimize the potential for lost work, but having seen the roadmap of outstanding work for the project.. this feels like something we can come back to later.

@shaunmcgough
Copy link

This looks great @ryankeairns - nice work.

@ryankeairns
Copy link
Contributor

ryankeairns commented Dec 9, 2020

Connecting some dots here... it might be wise to use a similar UI to what was just implemented in the save modal (for picking new and existing dashboards). Specifically, I'm envisioning the same radio selection - excluding the third option - appearing in the context menu.

Lens_-_Elastic

@ThomThomson
Copy link
Contributor

That's the plan! Thanks to @poffdeluxe, we now have this component in a re-usable library, so this implementation will (hopefully) be as easy as taking that component, and re-configuring it to remove the 'no dashboard, but add to library` option. I'm excited that these radios make the selection between new & existing much more explicit, which was one of the discussion points from earlier.

On a separate note: by default I believe this behaviour would work on both 'by value' and 'by reference' panels. The main question I would have is, do we want to transform 'by reference' panels into 'by value' when we copy them over? My gut reaction would be that we should leave them as 'by reference' because the badge will do a good job indicating that it is still linked to the library, and we don't want to change the panel type without user permission.

@ryankeairns
Copy link
Contributor

That's the plan! Thanks to @poffdeluxe, we now have this component in a re-usable library, so this implementation will (hopefully) be as easy as taking that component, and re-configuring it to remove the 'no dashboard, but add to library` option. I'm excited that these radios make the selection between new & existing much more explicit, which was one of the discussion points from earlier.

On a separate note: by default I believe this behaviour would work on both 'by value' and 'by reference' panels. The main question I would have is, do we want to transform 'by reference' panels into 'by value' when we copy them over? My gut reaction would be that we should leave them as 'by reference' because the badge will do a good job indicating that it is still linked to the library, and we don't want to change the panel type without user permission.

Great to hear! And, yes, I don't think we should be making assumptions/converting things in this manner as it would be unclear. To that point, we might consider adding a switch below the box that allows for an explicit conversion.

@ryankeairns
Copy link
Contributor

Note to self: consider the 'Send to Canvas workpad' use case as well

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature:Dashboard Dashboard related features Project:TimeToVisualize Team:Presentation Presentation Team for Dashboard, Input Controls, and Canvas
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants