microsoft / microsoft/AzureStorageExplorer

Rework how BlobExtensionPanelManager handles finding existing panel to open

Open
#8,384 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
No language data
Stars
452
Forks
92
Avg merge
15h 20m
Merged PRs (30d)
3

Description

Currently openBlobExplorer in BlobExtensionPanelManager saves all opened panels in a Map regardless of which TabPanel the panel is opened on (does not differentiate if the panel is opened in the left SplittableTabPanel or right SplittableTabPanel when there are more than one TabPanels). This is a problem because saving panels in this way is not congruent with the expected behavior of the "open" and "open to the side" commands of the BlobContainerExplorer.

When a container is opened using the "open" command, the expected behavior is to open a new tab in the current panel. If a tab currently exists for the same container, "open" should focus on that tab. When a container is opened using the "open to the side" command, the expected behavior is to open a tab in a split tab panel to the side. If a tab currently exists in the split tab panel to the side, the focus will be placed on that tab.

What currently happens is that "open" will always move focus to the tab of a container that already exists regardless of which tab panel the BlobContainerExplorer is in.

Instead PanelIdentifier should be reworked to take into account/track which TabPanel the newly created tab is opened from. That way BlobExtensionPanelManager can determine whether to open a new tab or show and existing tab within a specific tab panel.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with BlobExtensionPanelManager.openBlobExplorer and the PanelIdentifier implementation. Trace how the BlobContainerExplorer's "open" and "open to the side" commands identify existing tabs across the left and right SplittableTabPanel instances. Done means each command focuses an existing tab only within its intended panel, or opens a new tab there when none exists.

Written by the indexing model from the issue text.

Assessment

Domain
desktop, frontend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.