• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

coreui / coreui-pro / 38292453585
96%
main: 94%

Build:
Build:
LAST BUILD BRANCH: refactor/list-box-family-state-v6
DEFAULT BRANCH: main
Ran 12 Oct 2026 06:41PM UTC
Jobs 1
Files 81
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

12 Oct 2026 06:39PM UTC coverage: 95.951% (+0.006%) from 95.945%
38292453585

push

github

web-flow
fix(Dialog, Modal): check both sides before a swap changes either one (#1623)

A trigger inside an open dialog or modal swaps it for the target. The swap
showed the target and then hid the current one without asking whether
either could change, so several paths ended with both open behind a doubled
backdrop: a fast double-click (the second click hit the incoming one's own
swap trigger while it was still opening, and its hide() refused), a swap out
of a dialog still opening from a page trigger, a swap into a dialog that was
already open, and a show or hide handler that cancelled one side.

DialogBase splits show() and hide() into _canShow()/_show() and
_canHide()/_hide(); the checks refuse an element that is open (or closed)
or transitioning and fire the cancelable show/hide event. The data-API
handler, now a protected static on Dialog and Modal registered from a static
block, ignores a trigger whose dialog still carries .dialog-swap-in /
.modal-swap-in, checks both sides before touching either, registers the
.*-swap-in remover before it shows the target (a .dialog-instant target fires
shown synchronously and kept the class otherwise), and registers focus
restoration only for a swap it performs. It swaps only when the open element
has an instance of the same component, so a dialog trigger inside an open
modal opens the dialog normally. Public show(), hide() and toggle() behave
as before. dispose() on Dialog and Modal removes the internal .*-swap-in
class, so an instance disposed mid-swap does not leave a mark that blocks
every later swap out of it.

The unit suites gain the same seven cases for Dialog and Modal: double-click
mid-swap and swapping back once shown, swapping back from an instant one,
no swap out of one still opening, no swap into one already open, a
cancelled show or hide keeping the current one open, and a dispose mid-swap
clearing the mark. All seven fail on the base; dropping the both-sides
check, registering the remover after the show... (continued)

7681 of 8269 branches covered (92.89%)

Branch coverage included in aggregate %.

68 of 70 new or added lines in 3 files covered. (97.14%)

13293 of 13590 relevant lines covered (97.81%)

1715.78 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
96.47
-0.67% js/src/dialog.ts
1
96.51
-0.67% js/src/modal.ts
Jobs
ID Job ID Ran Files Coverage
1 38292453585.1 12 Oct 2026 06:41PM UTC 81
95.95
GitHub Action Run
Source Files on build 38292453585
  • Tree
  • List 81
  • Changed 4
  • Source Changed 3
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #38292453585
  • 4bed1b73 on github
  • Prev Build on v6-dev (#38291612922)
  • Next Build on v6-dev (#38295280748)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc