Skip to content

ui: collapsible Workbench side panes - Projects toggles from its button, Assistant like the bottom pane (#7492) - #7499

Merged
delchev merged 2 commits into
eclipse-dirigible:masterfrom
NicoleNG18:fix-collapsible-side-panes-workbench-only
Sep 25, 2026
Merged

delchev merged 2 commits into
eclipse-dirigible:masterfrom
NicoleNG18:fix-collapsible-side-panes-workbench-only

Conversation

@NicoleNG18

@NicoleNG18 NicoleNG18 commented Sep 24, 2026 •

Copy link
Copy Markdown
Contributor

Problem (#7492)

In the Workbench the Projects (left) and Assistant (right) regions take a large fixed slice of horizontal width with no way to reclaim it for the editor. The prior attempt (#7497) put a collapse-to-rail mechanism into the shared platform-core layout, which leaked the rail chevron and a 41px min-size floor into every perspective that uses <layout>.

Change

The shared rail mechanism is reverted (every perspective gets its plain accordion expand chevron and drag-to-0 side panes back), and the collapse behaviour is reworked and scoped to the Workbench via opt-in layoutSettings flags.

Projects (left) pane

  • Re-clicking the active Workbench activity-bar button opens/closes it. The shell publishes a LayoutHub.toggleLeftPane() message; the layout acts only when leftPaneToggle is set (Workbench only).
  • Collapses fully to 0 (reclaiming editor width) and reopens at a fixed 350px (leftPaneExpandSize).

Assistant (right) pane

  • Opt-in (rightPaneCollapsible) renders it like the Console/Terminal bottom pane: a tab bar whose header X collapses the whole pane to 0 (no rail left behind), reopened from Window > Views > Assistant (the same path the bottom views use). Other right-pane perspectives (e.g. Git staging) keep the plain accordion.

split.js

  • A collapsed side pane restores by lastSize presence (not a strict 0-width check), and reopening takes width only from the adjacent center pane, so the opposite side pane stays exactly where it was (fixes Projects shrinking when the Assistant reopens).

Tests

  • Guarded IDE.openWorkbench() so it clicks the perspective button only when switching in from another perspective (a fresh IDE already lands on the Workbench, where a re-click now toggles Projects).
  • Rewrote WorkbenchSidePaneToggleIT for the new button toggle plus a non-opted-in-perspective guard.

Verification

  • Quick-build reactor install (platform-core + perspective-workbench + application); app boots clean and serves the updated resources.
  • mvn formatter:validate (cache wiped) green on the changed Java modules.
  • Manually verified in the browser: left toggle + 350px reopen, Assistant close-to-0 + Window>Views reopen, Projects unaffected on Assistant reopen.

Fixes #7492

…ble#7492)

eclipse-dirigible#7497 put the collapsible Projects/Assistant panes into the shared
platform-core layout, so the collapse chevron and the 41px rail min-size
leaked into every perspective that uses <layout> (operations, processes,
jobs, database, monitoring, security, tracing, messaging, git), replacing
their first panel's expand chevron and blocking drag-to-0 on the side
panes.

Make the feature opt-in and enable it only in the Workbench:
- layout.js: restore the side-pane min-size defaults to 0; add a
  collapsibleSidePanes flag (default false). When on, the min-size floor
  is raised to the 41px rail so the collapse chevron stays reachable.
- layout.html: the accordion's region attribute is now conditional on
  collapsibleSidePanes, so without it the accordion renders the original
  bk-panel-expand chevron. The shared split.js/layout.css additions stay
  but only act on a .pane-collapsed pane, which now occurs only in the
  Workbench.
- workbench.js: set collapsibleSidePanes: true.

Verified: formatter:validate is not applicable (JS/HTML only); quick-build
reactor install of platform-core + perspective-workbench + application,
app boots clean and serves the updated resources.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@NicoleNG18 NicoleNG18 closed this Sep 25, 2026
…n, Assistant like the bottom pane (eclipse-dirigible#7492)

Replaces the shared collapse-to-rail feature (which leaked its chevron and
41px floor into every perspective that uses <layout>) with behaviour scoped
to the Workbench via opt-in layoutSettings flags. The plain accordion expand
chevron is restored everywhere by default.

Projects (left) pane:
- Re-clicking the active Workbench activity-bar button opens/closes it
  (shell publishes a LayoutHub message; layout gated on leftPaneToggle).
- Collapses fully to 0 and reopens at a fixed 350px (leftPaneExpandSize).

Assistant (right) pane:
- Opt-in (rightPaneCollapsible) renders it like the Console/Terminal bottom
  pane: a tab bar whose header X collapses the whole pane to 0 (no rail),
  reopened from Window > Views > Assistant. Other right-pane perspectives
  (e.g. Git staging) keep the plain accordion.

split.js: a collapsed side pane restores by lastSize presence (handles a
0 collapse) and reopens taking width only from the adjacent center pane, so
the opposite side pane stays exactly where it was.

Tests: guarded IDE.openWorkbench() so it only clicks the button when
switching in (a fresh IDE already lands on the Workbench, where a re-click
would now toggle Projects); rewrote WorkbenchSidePaneToggleIT for the new
button toggle plus a non-opted-in perspective guard.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@NicoleNG18 NicoleNG18 reopened this Sep 25, 2026
@NicoleNG18 NicoleNG18 changed the title ui: scope the collapsible side panes to the Workbench (#7492) ui: collapsible Workbench side panes - Projects toggles from its button, Assistant like the bottom pane (#7492) Sep 25, 2026
@delchev
delchev merged commit 3d5d255 into eclipse-dirigible:master Sep 25, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Workbench: let the Projects and Assistant side panels be collapsed/shrunk to reclaim editor width

2 participants