Skip to content

ui(fix): Study panel scrollbar fix and updates#4951

Merged
sedghi merged 6 commits intoOHIF:masterfrom
dan-rukas:fix/study-panel-spacing
Apr 11, 2025
Merged

ui(fix): Study panel scrollbar fix and updates#4951
sedghi merged 6 commits intoOHIF:masterfrom
dan-rukas:fix/study-panel-spacing

Conversation

@dan-rukas
Copy link
Member

Context

This PR updates scrolling in the Study Panel and restores the Study Panel to match the original design.

(See Video Below)

Changes & Results

  1. Eliminated Double Scrollbars
    • Removed the nested ScrollArea component from ThumbnailList.tsx
    • Kept only the parent ScrollArea in StudyBrowser.tsx
  2. Reduced Excessive Spacing Around Thumbnails
    • Removed duplicate padding between container elements
    • Adjusted padding in thumbnail container elements
  3. Improved Scrolling Behavior
    • Removed the fixed minHeight: '300px' constraint that was causing overflow issues
    • Removed maxHeight style constraint to enable proper content flow
    • Added className="w-full" to AccordionContent to ensure all thumbnails are properly included within the scrollable area
  4. Fixed Content Hierarchy
    • Ensured all thumbnails are properly contained within a single scrollable container
    • Fixed issue where bottom thumbnails weren't scrolling with the rest of the list
  5. Design Updates
    • Better alignment of Thumbnail text for readability

These changes result in alignment with user expectations of proper scrolling behavior and some small design updates for consistency with the App.

study-panel-scrolling.mov

Testing

Tested in Chrome across multiple studies

Checklist

PR

  • My Pull Request title is descriptive, accurate and follows the
    semantic-release format and guidelines.

Code

  • My code has been well-documented (function documentation, inline comments,
    etc.)

Public Documentation Updates

  • [] The documentation page has been updated as necessary for any public API
    additions or removals.

Tested Environment

  • OS: macOS Sequoia 15.4, M4 Pro
  • Node version: 23.7.0
  • Browser: Chrome 135.0.7049.85 (current)

@netlify
Copy link

netlify bot commented Apr 11, 2025

Deploy Preview for ohif-platform-docs canceled.

Name Link
🔨 Latest commit 303f527
🔍 Latest deploy log https://app.netlify.com/sites/ohif-platform-docs/deploys/67f95bb023ecec00083ab24a

@netlify
Copy link

netlify bot commented Apr 11, 2025

Deploy Preview for ohif-dev canceled.

Name Link
🔨 Latest commit 303f527
🔍 Latest deploy log https://app.netlify.com/sites/ohif-dev/deploys/67f95bb09613d00008034cac

@sedghi
Copy link
Member

sedghi commented Apr 11, 2025

@pedrokohler can you tell why we needed scrollArea? (or scroll)

@sedghi sedghi requested a review from pedrokohler April 11, 2025 18:16
Copy link
Collaborator

@pedrokohler pedrokohler left a comment

Choose a reason for hiding this comment

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

@pedrokohler can you tell why we needed scrollArea? (or scroll)

@sedghi I checked and it's fine. There's no regression related to my recent work.

@dan-rukas
Copy link
Member Author

dan-rukas commented Apr 11, 2025

@pedrokohler can you tell why we needed scrollArea? (or scroll)

@sedghi I checked and it's fine. There's no regression related to my recent work.

Yes, this PR keeps the correct ScrollArea (inside StudyBrowser) and removes the additional one inside ThumbnailList.

Having both scrollbars breaks the user experience in multiple ways, including: double scrollbars, full list not scrolling properly, and thumbnails could be missed (not shown at all) by users when the wrong panel area is scrolled.

@sedghi sedghi merged commit 5425308 into OHIF:master Apr 11, 2025
16 of 17 checks passed
@sedghi sedghi mentioned this pull request Apr 11, 2025
4 tasks
pickzt18 added a commit to NenckaLab/Viewers that referenced this pull request Jun 9, 2025
* fix: make datasource selection work (OHIF#4944)

* chore(version): version.json [skip ci]

* chore(version): Update package versions [skip ci]

* fix: enable measurements panel scroll (OHIF#4943)

* feat: expose scroll thumbnail into view (OHIF#4941)

* fix: add back study browser scrollbar (OHIF#4942)

* chore(version): version.json [skip ci]

* chore(version): Update package versions [skip ci]

* ui(fix): Study panel scrollbar fix and updates (OHIF#4951)

* chore(version): version.json [skip ci]

* chore(version): Update package versions [skip ci]

* fix: making onnxruntime work with rsbuild (OHIF#4957)

* chore(version): version.json [skip ci]

* chore(version): Update package versions [skip ci]

* chore: add test coverage (OHIF#4960)

* chore(version): version.json [skip ci]

* chore(version): Update package versions [skip ci]

* fix: github runner (OHIF#4961)

* fix/runner (OHIF#4965)

* fix/runner (OHIF#4966)

* chore(version): version.json [skip ci]

* chore(version): Update package versions [skip ci]

* fix/runner4 (OHIF#4967)

* fix/runner (OHIF#4968)

* fix/runner (OHIF#4969)

* fix/runner (OHIF#4970)

* fix/runner (OHIF#4971)

* chore(version): version.json [skip ci]

* chore(version): Update package versions [skip ci]

* fix(ExtensionManager): getDataSources method (OHIF#4959)

* chore(version): version.json [skip ci]

* chore(version): Update package versions [skip ci]

* chore(deps): bump @babel/runtime-corejs3 from 7.24.7 to 7.27.0 (OHIF#4962)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump http-proxy-middleware from 2.0.7 to 2.0.9 (OHIF#4963)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump @babel/runtime from 7.26.0 to 7.27.0 in /platform/docs (OHIF#4964)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump estree-util-value-to-estree from 3.2.1 to 3.3.3 in /platform/docs (OHIF#4929)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(version): version.json [skip ci]

* chore(version): Update package versions [skip ci]

* fix(dicomWebClient): use public getter for activeDataSourceName instead of accessing private property (OHIF#4973)

* chore(version): version.json [skip ci]

* chore(version): Update package versions [skip ci]

* feat: Improve unsupported displayset messages (OHIF#4979)

* docs(components): Adds new components to ui-next documentation (OHIF#4974)

* chore(version): version.json [skip ci]

* chore(version): Update package versions [skip ci]

* fix docs (OHIF#4986)

* chore(version): version.json [skip ci]

* chore(version): Update package versions [skip ci]

* fix docs (OHIF#4988)

* chore(version): version.json [skip ci]

* chore(version): Update package versions [skip ci]

* fix(docs): Fix SSR build errors by dynamically importing UI components and resolving other issues (OHIF#4991)

* chore(version): version.json [skip ci]

* chore(version): Update package versions [skip ci]

* fix(template): Update mode template to match current implementation (OHI-1833) (OHIF#4998)

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: Alireza Sedghi <ar.sedghi@gmail.com>

* chore(version): version.json [skip ci]

* chore(version): Update package versions [skip ci]

* fix(referencelines): and bring back the notification for worker updates but disallow duplication (OHIF#5005)

* chore(version): version.json [skip ci]

* chore(version): Update package versions [skip ci]

* Fix: issue OHIF#4759 Enable proper DICOM image rendering when Rescale parameters are set to null (OHIF#5003)

* chore(version): version.json [skip ci]

* chore(version): Update package versions [skip ci]

* docs: clarify terminology for study, series, and display sets (OHIF#5000)

* chore(version): version.json [skip ci]

* chore(version): Update package versions [skip ci]

* docs: add llm txt (OHIF#5009)

* chore(version): version.json [skip ci]

* chore(version): Update package versions [skip ci]

* fix/remove legacy ui (OHIF#5010)

* chore(version): version.json [skip ci]

* chore(version): Update package versions [skip ci]

* feat: improve menu modals customizations (OHIF#5011)

* chore(version): version.json [skip ci]

* chore(version): Update package versions [skip ci]

* refactor(viewport): Remove resize detector and optimize viewport resizing logic (OHIF#5006)

* chore(version): version.json [skip ci]

* chore(version): Update package versions [skip ci]

* feat(data overlay): add foreground background control plus orientation change in the UI and add RTDOSE support (OHIF#5007)

* chore(version): version.json [skip ci]

* chore(version): Update package versions [skip ci]

* feat(i18n): add Arabic translations (OHIF#5013)

* chore(version): version.json [skip ci]

* chore(version): Update package versions [skip ci]

* feat: add locale files for Russian language, translated texts in locale json files to Russian language. (OHIF#4984)

* chore(version): version.json [skip ci]

* chore(version): Update package versions [skip ci]

* fix(orientationMarker): MPR orientation change should get reflected too (OHIF#5020)

* chore(version): version.json [skip ci]

* chore(version): Update package versions [skip ci]

* feat(thumbnails): Enhance DICOM Thumbnail Rendering with different strategies (OHIF#5004)

Co-authored-by: Martin Bellehumeur, M. Eng. <23396581+mbellehumeur@users.noreply.github.com>

* chore(version): version.json [skip ci]

* chore(version): Update package versions [skip ci]

* feat(app): Decouple colorbar UI from service and enable action menu programatic control (OHIF#5018)

* chore(version): version.json [skip ci]

* chore(version): Update package versions [skip ci]

* fix(DicomWebProxyDataSource): bug fix to save Segmentation files back to Kheops (OHIF#5028)

* chore(version): version.json [skip ci]

* chore(version): Update package versions [skip ci]

* fix(NotFoundStudy): Fixed the viewer not-found page when showStudyList: false (OHIF#5035)

* chore(version): version.json [skip ci]

* chore(version): Update package versions [skip ci]

* fix: Added missing export for LayoutSelector in ui-next (OHIF#5040)

* chore(version): version.json [skip ci]

* chore(version): Update package versions [skip ci]

* Small update

* feat(actions): simplify action corner api through the toolbarService (OHIF#5033)

* chore(version): version.json [skip ci]

* chore(version): Update package versions [skip ci]

* ui(feat): Adds light/dark mode support for viewport overlay text and markers (OHIF#5041)

Co-authored-by: sedghi <ar.sedghi@gmail.com>

* chore(version): version.json [skip ci]

* chore(version): Update package versions [skip ci]

* feat(viewport): Added getter for presentation id provider. (OHIF#5053)

* chore(version): version.json [skip ci]

* chore(version): Update package versions [skip ci]

* fix(segmentation): segmentation stats calculations were not being done on a subsequent navigation to a mode (OHIF#5046)

* fix: backward compatibility with toolbar service (OHIF#5052)

* chore(version): version.json [skip ci]

* chore(version): Update package versions [skip ci]

* fix(cli): removing missing imports in mode template (OHIF#5049)

* chore(version): version.json [skip ci]

* chore(version): Update package versions [skip ci]

* Still working on seg

* fix(context-menu): Move the reposition logic from the context menu to the dialog component. (OHIF#5060)

* chore(version): version.json [skip ci]

* chore(version): Update package versions [skip ci]

* fix(router): Expose the react router from the worklist too. (OHIF#5062)

* chore(version): version.json [skip ci]

* chore(version): Update package versions [skip ci]

* fix(frame-view): After pan and/or zoom, stack scroll is now synchronized for frame view (OHIF#5067)

* fix(capture): Disable or enable the tool group based on the show flag. (OHIF#5069)

* chore(version): version.json [skip ci]

* chore(version): Update package versions [skip ci]

* fix: e2e playwright tests runnigns (OHIF#5070)

* chore(version): version.json [skip ci]

* chore(version): Update package versions [skip ci]

* fix(Customization): Fixed incorrect events broadcast  (OHIF#5075)

Co-authored-by: Dan Elkis <dan.elkis@signalpet.com>

* chore(version): version.json [skip ci]

* chore(version): Update package versions [skip ci]

* Images Working 3.11, right panel not

* fix(ui): Prevent unintended text selection and improve component behavior (OHIF#5077)

* chore(version): version.json [skip ci]

* chore(version): Update package versions [skip ci]

* feat: create memo when manually adding and removing annotations (OHIF#5051)

* chore(version): version.json [skip ci]

* chore(version): Update package versions [skip ci]

* StudyBrowser Working

* Segmentation 3.11 working.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Pedro Köhler <pedrokohlerbh@gmail.com>
Co-authored-by: ohif-bot <danny.ri.brown+ohif-bot@gmail.com>
Co-authored-by: Dan Rukas <dan.rukas@gmail.com>
Co-authored-by: Alireza <ar.sedghi@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Devu-trenser <91659097+Devu-trenser@users.noreply.github.com>
Co-authored-by: devin-ai-integration[bot] <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: Tang Cheng <45505657+tctco@users.noreply.github.com>
Co-authored-by: Julia Young <114963757+julia-young@users.noreply.github.com>
Co-authored-by: Ibrahim <81184787+1brahimmohamed@users.noreply.github.com>
Co-authored-by: Rafael Osipov <rafael.osipov@outlook.com>
Co-authored-by: Bill Wallace <wayfarer3130@gmail.com>
Co-authored-by: Martin Bellehumeur, M. Eng. <23396581+mbellehumeur@users.noreply.github.com>
Co-authored-by: taliabeckie <147656147+taliabeckie@users.noreply.github.com>
Co-authored-by: Dan <12800016+rinslow@users.noreply.github.com>
Co-authored-by: Celian-abd <101793092+Celian-abd@users.noreply.github.com>
Co-authored-by: Joe Boccanfuso <109477394+jbocce@users.noreply.github.com>
Co-authored-by: Alexis jankowski <73858646+Sixela33@users.noreply.github.com>
Co-authored-by: Dan Elkis <dan.elkis@signalpet.com>
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.

3 participants