Closed mattseddon closed 2 years ago
As previously stated it is not going to be possible to match the existing design for this side panel tree view.
In order to close this ticket we need to research all of the potential workarounds and implement a prototype solution for @yalozhkin to take a look at. We need to keep in mind that we need a way for users to quickly identify which experiments in the tree view are on display and which records they relate to in the real time plots / static images. Here is a screenshot of the expected UI (see design for more details):
I have already asked in the VS Code dev slack about possible options, here is the response that I got:
I initially thought that simply colouring the eyes would be a possible workaround but on more careful consideration I am thinking that we should research alternatives.
Two obvious options would be using the file decoration provider api to provide the appropriate decoration to each experiment (along with the open or closed eye as the single icon) and another would be a webview view in the sidebar. We do have an example of a file decoration provider already in the code base at extension/src/repository/decorationProvider.ts
.
Things to consider:
$row-bg-color: var(--vscode-editor-background)
in webview/src/components/Table/styles.module.scss
& this).Hi Team, quick update.
I had some problems and I was not able to really work on it during this week.
I was able to start learning about creating a vscode extension
so I can check what I can and what I can't do.
One of the things I want to test on a controlled env is if it's possible to change the icon when you hover over an item.
I'm trying to get around the limitations Matt commented by displaying the eye
icon when you hover the item (replacing the colored circle). For hidden icons, we can simply show the closed eye
instead of the circle even when not hovering over the item.
Does it make sense?
Hey @igorfv,
Thanks for the update. Unfortunately there is no onHover
event for the TreeItems but there is a tooltip which can take a markdown string. There is also the possibility of doing something with the description
and you could even have a fake command that provides an icon to the RHS. See screenshot below of actual inline command used in/by the ExperimentsSortByTree
:
I personally am open to any changes to the design as long as we achieve the original objective which is for the user to easily identify what is shown and where.
Hope this info helps. Please let me know if you have any follow up questions.
Thanks,
@mattseddon I know it would be a big refactoring but what about using webviews on the sidebar too? This would give us the flexibility necessary to make those changes and more.
@igorfv that is definitely an option. There are some pros and cons of that particular approach. From memory these are the points that we've been over:
Please don't let this put you off though. There could be pros that I've missed and I may be overstating the cons for this particular situation.
This is another option for how to tackle the tree view portion of this one:
(ignore the fact that the experiment names are duplicated)
Having two different groups would enable us to show both of the icons that we want to. We could move experiments between the two with the left click action. Title for each of the groups needs some work. This would also still let us avoid registering theme colors and using our own custom svg dots instead.
LMK what you think.
For the first iteration we want to:
In a future iteration we will introduce a way to select / de-select experiments, which will
We also have the ~unsolved~ problem of how to identify running experiments. Currently we use ThemeIcon('loading~spin')
but we still need a way to identify multiple running experiments between the 3 views. We will also need a mechanism to select / de-select these running experiments (which will show / hide them in the plots webview).
Edit: We can load colored spinners through svgs as well:
Next iteration:
@shcheklein we are done with the first couple of iterations of this one. Please review when/if you get time.
Original Story
The experiments panel lets users see their experiments when they code or focus on the plots. Also, it helps to navigate through all the experiments when the table is filtered (filters don't apply to the experiments panel) or too long (in case of expanded checkpoints).
Original Design
Preview:
More details, updated design and spec in Figma.
Updates
Current state:
Relevant links:
It appears that we can only have one icon to the left, like the show/hide eye to the left of the dots (the arrow doesn't count, that's built into the view for anything with children, it being a
TreeView
and all.). Any workaround like using combined icons would likely end up hacky and wouldn't have to ability for different actions assigned to these elements.I believe we can, however, put control icons like this on the right side of the menu like any other item via
package.json
contributes
, seen as the pencil-shaped "Edit" button on each item in the sample extension.