This is an automated email from the ASF dual-hosted git repository.
dongjoon-hyun pushed a commit to branch branch-4.x
in repository https://gitbox.apache.org/repos/asf/spark.git
The following commit(s) were added to refs/heads/branch-4.x by this push:
new 0eefded35b93 [SPARK-59067][CORE] Fix `Download` to be a button aligned
with the other buttons
0eefded35b93 is described below
commit 0eefded35b93967cc056845501abb128dc31a83a
Author: Dongjoon Hyun <[email protected]>
AuthorDate: Fri Aug 28 07:38:40 2026 -0700
[SPARK-59067][CORE] Fix `Download` to be a button aligned with the other
buttons
### What changes were proposed in this pull request?
This PR makes the `Download` control of the SQL execution page a real
button, aligned with the neighboring `Copy Plan` and `Copy Link` buttons.
- Replace the `<label>`-wrapped `<a class="downloadbutton">` with a
`<button>` using the same classes as the other buttons, and add a download icon
and a `title` tooltip.
- Change `Copy Link` from `ms-1` to `ms-2` so that all three buttons are
evenly spaced.
- Add an `aria-label` to the format `<select>`, which lost its accessible
name with the removed `<label>`.
### Why are the changes needed?
`Download` was a plain text link next to two Bootstrap buttons, so it was
shorter than them, and `margin-right: 10px` from `a.downloadbutton` made the
gaps between the three controls uneven after Apache Spark 4.2.0 added the other
buttons.
- https://github.com/apache/spark/pull/54886
**BEFORE (Apache Spark 4.2.0)**
<img width="425" height="268" alt="Screenshot 2026-08-27 at 18 26 46"
src="https://github.com/user-attachments/assets/1d6f4c23-ca43-46d5-8e77-4181f2c4185a"
/>
**AFTER**
<img width="452" height="269" alt="Screenshot 2026-08-27 at 18 25 38"
src="https://github.com/user-attachments/assets/798cabcd-6ef0-49f4-a4ae-b5d6f14ca3ca"
/>
### Does this PR introduce _any_ user-facing change?
Yes, but it is a UI-only change in the unreleased master branch. `Download`
is now a button with an icon, and its functionality is unchanged.
### How was this patch tested?
Manually checked the SQL execution page in a browser. No test was added
because this only changes the Web UI markup.
### Was this patch authored or co-authored using generative AI tooling?
Generated-by: Claude Opus 5
Closes #58369 from dongjoon-hyun/SPARK-59067.
Authored-by: Dongjoon Hyun <[email protected]>
Signed-off-by: Dongjoon Hyun <[email protected]>
(cherry picked from commit bdda145a25f463c22f701bc1fca28a061fc295ed)
Signed-off-by: Dongjoon Hyun <[email protected]>
---
.../org/apache/spark/sql/execution/ui/ExecutionPage.scala | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git
a/sql/core/src/main/scala/org/apache/spark/sql/execution/ui/ExecutionPage.scala
b/sql/core/src/main/scala/org/apache/spark/sql/execution/ui/ExecutionPage.scala
index a556ee9339e0..7b619e414af1 100644
---
a/sql/core/src/main/scala/org/apache/spark/sql/execution/ui/ExecutionPage.scala
+++
b/sql/core/src/main/scala/org/apache/spark/sql/execution/ui/ExecutionPage.scala
@@ -93,18 +93,18 @@ class ExecutionPage(parent: SQLTab) extends
WebUIPage("execution") with Logging
}
}
<div id="plan-viz-download-btn-container">
- <select id="plan-viz-format-select">
+ <select id="plan-viz-format-select" aria-label="Plan visualization
download format">
<option value="svg">SVG</option>
<option value="dot">DOT</option>
<option value="txt">TXT</option>
</select>
- <label for="plan-viz-format-select">
- <a id="plan-viz-download-btn" class="downloadbutton">Download</a>
- </label>
+ <button id="plan-viz-download-btn" class="btn btn-sm
btn-outline-secondary ms-2"
+ type="button" title="Download plan visualization">
+ ⬇️ Download</button>
<button id="copy-plan-btn" class="btn btn-sm btn-outline-secondary
ms-2"
type="button" title="Copy physical plan to clipboard">
📋 Copy Plan</button>
- <button id="copy-link-btn" class="btn btn-sm btn-outline-secondary
ms-1"
+ <button id="copy-link-btn" class="btn btn-sm btn-outline-secondary
ms-2"
type="button" title="Copy shareable link to this
execution">
🔗 Copy Link</button>
</div>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]