Skip to content

Conversation

@emunsing
Copy link

@emunsing emunsing commented Jan 4, 2026

Previous behavior: Previous #7057 specifically allowed TextInput objects in Card Headers, but the fix was specific to the TextInput widget and did not support any other interactive widgets (e.g. Select, Button, Slider, etc).

This PR, described in #8353 , generalizes based on CSS class to stop propagation of clicks which begin in any object which begins with bk-panel-models-widgets- which could be tweaked if needed to catch the right level of specificity (I defer to the repo owners; please provide feedback).

UI test has been updated (this updated test with a slider in the header was previously failing)

Linted and ran UI tests locally with no regressions, but this is my first PR on this repo!

@codecov
Copy link

codecov bot commented Jan 5, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 85.99%. Comparing base (c2047a7) to head (c90454f).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #8357      +/-   ##
==========================================
- Coverage   86.12%   85.99%   -0.13%     
==========================================
  Files         349      349              
  Lines       54709    54712       +3     
==========================================
- Hits        47116    47052      -64     
- Misses       7593     7660      +67     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

if (path instanceof HTMLInputElement) {
const is_panel_widget = (el: EventTarget): boolean =>
el instanceof HTMLElement &&
Array.from(el.classList).some((c) => c.startsWith("bk-panel-models-widgets-"))
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sadly I don't think this is really enough, because some widgets come from Bokeh and simply have a prefix like bk- and then there's panel-material-ui widgets which always just have this bk-panel-models-esm-ReactComponent

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.

2 participants