From f00a65ced00e33afe2248daca6240ec2a57afa70 Mon Sep 17 00:00:00 2001
From: jaeone94 <89377375+jaeone94@users.noreply.github.com>
Date: Thu, 5 Mar 2026 14:41:15 +0900
Subject: [PATCH] feat: add collapse/expand all toggle to right panel tabs
(#9333)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
## Summary
Adds a collapse/expand all toggle button to all parameter and error tabs
in the right side panel, letting users quickly collapse or expand all
accordion sections at once.
## Changes
- **New component**: `CollapseToggleButton.vue` — a reusable icon button
(list-collapse / list-tree icon) with tooltip, bound via `v-model`
- **Error tab**: Toggle collapses/expands all error groups; per-group
state is now managed through `isSectionCollapsed` /
`setSectionCollapsed` helpers
- **Nodes tab** (`TabNodes.vue`): Per-node `collapseMap`; toggle
overrides per-section state; defaults to collapsed (nodes tab default
was already collapsed)
- **Normal inputs tab** (`TabNormalInputs.vue`): Per-node `collapseMap`
+ `advancedCollapsed`; toggle covers both normal and advanced sections;
defaults to collapsed when multiple nodes selected
- **Subgraph inputs tab** (`TabSubgraphInputs.vue`): Toggle covers both
main and advanced inputs sections
- **Global parameters tab** (`TabGlobalParameters.vue`): Toggle bound to
single `SectionWidgets`
- **i18n**: Added `g.collapseAll` and `g.expandAll` keys
## Review Focus
- `isAllCollapsed` getter in each tab: reads from the same per-section
state so the toggle accurately reflects current state rather than being
independently tracked
- `TabNormalInputs`: multi-node selection default collapse behaviour is
preserved through `isSectionCollapsed` fallback logic
## Screenshots
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-9333-feat-add-collapse-expand-all-toggle-to-right-panel-tabs-3176d73d36508123ba22d6e81983bb1b)
by [Unito](https://www.unito.io)
---
.../rightSidePanel/errors/TabErrors.vue | 64 +++++++++++++------
.../layout/CollapseToggleButton.vue | 52 +++++++++++++++
.../parameters/TabGlobalParameters.vue | 12 +++-
.../rightSidePanel/parameters/TabNodes.vue | 50 ++++++++++++++-
.../parameters/TabNormalInputs.vue | 63 ++++++++++++++++--
.../parameters/TabSubgraphInputs.vue | 31 ++++++++-
src/locales/en/main.json | 4 +-
.../components/form/FormSearchInput.vue | 2 +-
8 files changed, 247 insertions(+), 31 deletions(-)
create mode 100644 src/components/rightSidePanel/layout/CollapseToggleButton.vue
diff --git a/src/components/rightSidePanel/errors/TabErrors.vue b/src/components/rightSidePanel/errors/TabErrors.vue
index 5043efe04d..cfe1df4611 100644
--- a/src/components/rightSidePanel/errors/TabErrors.vue
+++ b/src/components/rightSidePanel/errors/TabErrors.vue
@@ -1,38 +1,43 @@