Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Add simple multi-monitor support #4178

Open
wants to merge 28 commits into
base: master
Choose a base branch
from

Conversation

wayfarer3130
Copy link
Contributor

@wayfarer3130 wayfarer3130 commented May 27, 2024

Context

The ability to use more monitor space for viewing studies is quite useful for being able to compare current/prior or comparing various series.

Changes & Results

Added some basic navigation controls to the study browser (thumbnails list) to navigate the study to the specified one.

Testing

Launch the localhost url, OR an https URL with ?multimonitor=split or ?multimonitor=2
(use 2 only if you have two physical monitors)
Display a study which has several studies for the same MRN
Launch the study in basic test mode or in viewer mode
Right click the study title in the study browser to launch studies in the other window.
There aren't navigation settings for the launch window.

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:
  • [] Node version:
  • [] Browser:

Copy link

netlify bot commented May 27, 2024

Deploy Preview for ohif-platform-docs ready!

Name Link
🔨 Latest commit 351c909
🔍 Latest deploy log https://app.netlify.com/sites/ohif-platform-docs/deploys/6765d70b94b53100081a93ae
😎 Deploy Preview https://deploy-preview-4178--ohif-platform-docs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

Copy link

netlify bot commented May 27, 2024

Deploy Preview for ohif-dev ready!

Name Link
🔨 Latest commit 351c909
🔍 Latest deploy log https://app.netlify.com/sites/ohif-dev/deploys/6765d70b027b2800086b8dfe
😎 Deploy Preview https://deploy-preview-4178--ohif-dev.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

@wayfarer3130
Copy link
Contributor Author

In the starting phase, launch a study using multimonitor=split
This will show in the current window
Select the all button to show all studies for a patient, and click on the launch study button on the right hand side of the study list:
image

@wayfarer3130
Copy link
Contributor Author

This results in a second page being displayed with the specified study:
image

@wayfarer3130
Copy link
Contributor Author

You can then navigate either window from the 'all' studies in the study browser tab.

Study navigation currently refreshes the page, which loses the position on that page, plus any markup/annotations you have created. This is a temporary issue while the navigation is updated to use internal navigation to preserve data.

Copy link

cypress bot commented May 27, 2024

Viewers    Run #4609

Run Properties:  status check failed Failed #4609  •  git commit 351c909247: Relaunch without refresh in any windows
Project Viewers
Branch Review feat/multi-monitor-take2
Run status status check failed Failed #4609
Run duration 02m 12s
Commit git commit 351c909247: Relaunch without refresh in any windows
Committer Bill Wallace
View all properties for this run ↗︎

Test results
Tests that failed  Failures 1
Tests that were flaky  Flaky 0
Tests that did not run due to a developer annotating a test with .skip  Pending 2
Tests that did not run due to a failure in a mocha hook  Skipped 2
Tests that passed  Passing 41
View all changes introduced in this branch ↗︎

Tests for review

Failed  cypress/integration/customization/HangingProtocol.spec.js • 1 failed test

View Output Video

Test Artifacts
OHIF HP > Should display 3 up Test Replay Screenshots Video

}

public run(screenDelta = 1, commands, options) {
const screenNumber = (this.screenNumber + (screenDelta ?? 1)) % this.numberOfScreens;
Copy link

@salkz salkz Dec 6, 2024

Choose a reason for hiding this comment

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

Using negative delta to run commands from window 2 into window 1 feels a bit weird I think. I could see explicit screen id being more intuitive. Or what's the use case with delta?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The use case is really left/right windows or "other window" for the two window use case.

this.isMultimonitor = false;
}

public run(screenDelta = 1, commands, options) {
Copy link

@salkz salkz Dec 6, 2024

Choose a reason for hiding this comment

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

Thoughts about a function that would run commands and options in all windows except the origin from which it was called?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes, future enhancement. This is baby steps to get started.

@wayfarer3130 wayfarer3130 requested a review from sedghi December 13, 2024 21:10
@wayfarer3130 wayfarer3130 requested a review from salkz December 20, 2024 21:02
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