-
Notifications
You must be signed in to change notification settings - Fork 8.3k
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
Comments
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). Figma(tip: click on the DBV2 link below the blue button to jump ahead in the prototype) |
Thanks @ryankeairns this is great. |
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. The steps, for this case, would look like: |
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. |
@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. |
This looks great @ryankeairns - nice work. |
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. |
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. |
Note to self: consider the 'Send to Canvas workpad' use case as well |
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:
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.
copy to dashboard
I think this issue can help reduce the dependency on the library even further
cc: @timroes @ThomThomson @majagrubic @ryankeairns
The text was updated successfully, but these errors were encountered: