* Remove tash data from redux storage after updates
* Imprelemnted more unit tests
* Remove missing comment
Co-authored-by: Danny Brown <danny.ri.brown@gmail.com>
* fix: Set VTK viewport as active by interaction
* feat: listen for vtkscrollevent in wrapper component
* fix: definitions can skip empty storeContexts key
* hoc to set/pass in commandsManager
* Bump minimum react-vtkjs-viewport version to leverage new event
* Simplify to use onScroll event instead of passing down commandsManager to base component
* fix: make sure we include @JamesAPetts bug fix
Co-authored-by: Danny Brown <danny.ri.brown@gmail.com>
* refactor: 💡 Clean up JSON launch with DICOMWeb server
Clean up JSON launch with DICOMWeb server
✅Closes: #1387
* Remove test file
* parse seriesinstanceuids in query
* Add default studies
* Remove test file
* Cleanup retrievedata changes
* Set active server
* fix: 🐛 Make Plugin switch part of ToolbarModule
Closes: #1241
* Move setCornerstoneViewport command into cornerstone extension
* Exposing extensionManager into extension's get modules functions
* Remove Plugin switch
* Updating set cornerstonelayout to work on VIEWER context
* Creating a customComponent for 2D MPR button
* Use extensionManager to show or not buttons
Adding isHidden option into toolbarModules
* Make buttons hidden depending on extension registration
* Fix unit test after changes on extensionManager
* Remove workaround for extensionManager
* Use studyMeatadataManager and remove TODO's
* Remove storeContext not needed
* Moving Exit 2D MPR into cornerstone extension with VTK context
* Remove PluginSwitch files
* Fix E2E tests
* Adding cypress screenshots into gitignore
* Remove extensionManager from getModuleFn functions and moving CustomComponent for VTK button to VTK extension
Co-authored-by: Danny Brown <danny.ri.brown@gmail.com>
* feat: 🎸 Configuration so viewer tools can nix handles
Adds a key to cornerstone configuration that allows to toggle on/off
handle rendering
Closes: #1223
* Update extension docs
* Update doc
* docs: include hideHandles configuration in our configuration docs
* chore: default to hiding handles for annotations
* chore: switch to drawHandlesOnHover to mimic legacy viewer functionality
* Flip logic for drawHandlesOnHover; reverse of hideHandles
* Don't hide the handles of ellipse or rectangle roi
* invert check
Co-authored-by: Danny Brown <danny.ri.brown@gmail.com>
* Move DICOMSR to @ohif/core
* refactor: 💡 Move DICOMSR code to @ohif/core project
We've just merged support for DICOM Structured Reports. Today, support
for this feature lives in the @ohif/viewer project in it's lib folder.
Ideally, it should be moved to @ohif/core and given a clear public API
and unit tests.
Closes: #1282
* Update imports
* CR Update: Update imports
* feat: 🎸 Expose extension config to modules
Currently, only the preRegistration hook receives the extension's
configuration as a parameter. Providing getModuleFn's with the
extension's configuration, and all lifecycle/modules with the
application's configuration as rootConfig should open the doors to more
configurable extensions.
Closes: #1268
* CR Update: Pass extension and service config through extension manager preinit/getmodule
* CR Update: Remove appConfig from servicesManager
* CR Update: Remove appconfig variable
* feat: 🎸 DICOM SR STOW on MeasurementAPI
Closes: #758
* feat: 🎸 Adding the dataExchance from DICOM SR
* feat: 🎸 Fix some issues and get the retrieve measurements working
* feat: 🎸 Preventing measurement tool helpers to broke because the data is not Number (it comes as string from dcmjs)
* feat: 🎸 Adding a button to start testing SATE functionality
* feat: 🎸Small fixes into the code
* feat: 🎸 MAke sure we get latest SR in the study, even on lazyLoad mode
* Revert "feat: 🎸 Preventing measurement tool helpers to broke because the data is not Number (it comes as string from dcmjs)"
This reverts commit 4b3a1efb5810487d2319826fd59c03d779882b5e.
* feat: 🎸 Make sure after sync we update the viewports and also that annotation tools are set to passive, so it can be drawn in the viewports
* feat: 🎸 Remove console logs and start using OHIF.log
* feat: 🎸 Refactor measurement table to use Snackbar service of messages and make sure we only show save button if server type is dicomWeb
* feat: 🎸 Refactor to remove mocked wadoRoot and use server
* Fix to expose error once we can't save the SR
* Update DCMJS into latest dev version
* Update dcmjs with latest fixes
* Fix PR callouts
* Logging error on MeasurementReport creation
* Preventing from breaking on non supported tools and also warning that some toolType is not sopported
* Small error message update
* Expose better the errors and when we have unsopported tools into the measurements
* Renaming variable
* Expose dcmjs tool support check
* Change the way we warn the unsupportedTools
* Adding style to the button
* Small change on button style
* Fix git conflicts
* Fix after merge with latest master
* Fix after merge with master, btn was not clickable
* Fixing callouts
* Adding util functions into files and refactor with JSDocs
* Refactoring code, adding some basic JSDocs
* Bump dcmjs with latest version and fixes
* JSDocs and small refactors
* yarn lock file after dcmjs update
* Remove unused parameters
* Registering a plain copy of server into measurementAPI
* Small refactor
* Start changing from toolType to toolName
* Rename a function to get instanceMetadata
* Adding error if server is not DICOMWeb on retrieve
* Move snackbar outside of UI component and use UINotificationService
* Refactor and JSDocs
* Small fixes on JSDocs (style)
* Remove unused import
* Improve JSDocs on MeasurementApi
* Remove refactor leftover
* Improve JSDocs and propTypes
* JSDocs and small refactors
* Fix ExtensionManager bug and add test to bandaid
* Add tools configuration to extension manager preinit
* Fix reducing of configs
* Merge internal with external configs
* Merge internal with external configs
* Remove dialog from init in measurementstable
* Testing injected configuration
* New way to set config
* Add new prop to dialog provider to allow disabling last position
* Remove code from preinit in cornerstone
* Add new prop to dialog provider to allow disabling last position
* Add centralize to dialogs
* Reorder dialogs when adding them
* Fix draggable styles (cursor)
* Remove repositioning methods from labelling flow and remove overlay from labelling manager
* Fix empty array being set in bringToFront
* Add new command to update table and pass commands manager to modules/preinit hook
* Ad UIContextMenu service / factory
* Use new contextmenu service in measurementspanel extension
* Use dialogs for arrow annotate in default
* Remove positioning funcionality from tool context menu
* Add context menu service
* Pass commandsModule to extension
* Update edit description dialog and simple dialog to position relative
* Remove style code from labelling flow and manager
* Remove eventdata from labelling
* Remove labelling code from measurement init
* Add commandsmanager to provider
* Update contextmenu provider and service
* Add touchstart and mouseclick to hide contextmenu
* Hide labelling if click/touch
* Remove labelling and context menu dead code
* Fix undefined bug if ViewerMain grid has no children
* Fix broken prop on context menu
* Update commandsmodule based on master
* Fix broken configuration
* Update script tag config
* Remove cornerstone from toolcontextmenu
* Remove cornerstone from toolcontextmenu
* Split labelling and context menu providers
* Split labelling and context menu providers
* Update test
* Destructure extensions into new array
* CR Update: Move default arrow config to cornerstone instead of default
* CR Update: Fix app configuration props structure
* CR Update: Fix app configuration prop in script tag and extract commands manager from providers
* CR Update: Create custom providers to use commandsManager
* CR Update: Use services directly in measurementspanel
* CR Update: Pass components to providers
* CR Update: Remove position from dialog
* CR Update: fix dialog prop check
* CR Update: Fix comments
* CR Update: Update documentation
* CR Update: Add test default configuration
* CR Update: Add default empy array to extensions
* CR Update: Update i18n configuration all ot match current function configuration
* CR Update: Add defaults to injected dependencies in configuration and extension configuration
* CR Update: Add defaults to configuration with no args
* Update documentation
* CR Update: Add default for tools
* CR Update: Update config object to i18n
* CR Update: spread defaults
* CR Update: Add tool configuration example to cornerstone extension
* CR Update: Add tool configuration to netlify (testing)
* CR Update: Remove netlify config for tools
* CR Update: Rollback changes to i18n to be fixed later
* CR Update: Update documentation and pass whole cornerstone config object instead of tools key
SEE: https://www.conventionalcommits.org/en/v1.0.0/#commit-message-with-both-and-breaking-change-footer
BREAKING CHANGE: modifies the exposed react <App /> components props. The contract for providing configuration for the app has changed. Please reference updated documentation for guidance.
* docs: process docs to include UX Stories requirement
* docs: include note regarding different environments
* Services init
* Remove unused canny logos
* docs: add ModalService diagram
* docs: GIF of notification
* docs: add ui-services page
* docs: simplify ui services call out in the general services docs
* docs: tips and tricks for UI services
* docs: moar pages
* docs: dialog gif
* docs: services in summary/sidebar
* docs: gif examples at top of dialog and notification pages
* docs: add UIModal gif
* docs: details for Dialog Service
* docs: include usage information for ui modal service
* docs: detailed information about our UI Notification Service
* docs: services diagram
* docs: remove unused links
* docs: services example and image
* docs: stubbing extension pages
* docs: UX Stories --> User Cases
* chore: eslint fix
* docs: extensions overview + diagram
* docs: update extensions in sidebar
* docs: extension skeleton and registration info
* docs: copy of maintained extensions table partial in the extensions folder
* docs: swap out old extensions structure for new
* Organize viewports reducers
* Organize viewports actions
* Add local state to store dom node and remove hack
* Comment usage of dom in vtk
* Fix set of enabledElements
* Fix warning in html viewport
* Update docs for state
* Add commandsmanager to commandsmodule
* fix: study list translations
* Don't render until translations are ready
* Try to wait for translations to load
* Use null to render "nothing"
* Try toggling useSuspense off up a layer
* logging
* Remove useSuspense false flags
* DO NOT OPEN A PR WITH IT.
Experimental changes only.
Try to solve issues with useTranslation hooks
#Please enter the commit message for your changes. Lines starting
* Remove unecessary changes
* feat: 🎸 useMedia hook to not use one more prop for upd state vl
* docs: Add license scan report and status (#1161)
Signed-off-by: fossabot <badges@fossa.io>
* fix: 🐛 Fix for JS breaking on header (#1164)
* feat: 🎸 Code review and refact
Revised code based on PRs(variable alias,...). Changed hook for
useMedia. Now, it provides two hooks: one to get displayMediaSize and
other to get Entity(component, objects...) based on displayMediaSize.
Implemented a similar solution for state manager to store
mediaQueryList(s) and displaySize for app.
* feat: 🎸 Fine tunning on mediaQuery value, fixed issue about it
* fix: 🐛 Fixed issue and refactoring
Fixed js exception and also refactoring userPreferences components to
functional component
* fix: 🐛 Code review. Localstorage fix minor bugs
* fix: 🐛 Ensure hotkey lower case always
* fix: translation switcher
* chore(release): publish [skip ci]
- @ohif/extension-vtk@0.53.6
- @ohif/ui@0.62.1
- @ohif/viewer@2.8.2
* Add new modal service
* Change serviceManager prop to servicesManager
* CR Update: fix casing and add required proptypes to providers
* CR Update: Improve ohifmodal proptypes
* CR Update: Fix typo in extensionmanager
* CR Update: add default props to service and check service in provider
* Refactor modal provider to better use its own state
* ci: don't build our master branch (#1177)
* ci: don't build our master branch
* Add netlify-cli as a dev dependency
* ci: trying a sheltered merge flow for promotions
* Use modal instead of modal context
* Ci/promotable builds (#1179)
* ci: don't build our master branch
* Add netlify-cli as a dev dependency
* ci: trying a sheltered merge flow for promotions
* ci: try building with QUICK_BUILD flag
* Change modal children order
* Ci/promotable builds (#1180)
* ci: don't build our master branch
* Add netlify-cli as a dev dependency
* ci: trying a sheltered merge flow for promotions
* ci: try building with QUICK_BUILD flag
* Try using ~/repo prefix in command
* Ci/promotable builds (#1181)
* ci: don't build our master branch
* Add netlify-cli as a dev dependency
* ci: trying a sheltered merge flow for promotions
* ci: try building with QUICK_BUILD flag
* Try using ~/repo prefix in command
* ci: make sure netlify command is available
* Ci/promotable builds (#1182)
* ci: don't build our master branch
* Add netlify-cli as a dev dependency
* ci: trying a sheltered merge flow for promotions
* ci: try building with QUICK_BUILD flag
* Try using ~/repo prefix in command
* ci: make sure netlify command is available
* ci: use sudo for global command
* Fix OHIFModal proptypes
* Ci/promotable builds (#1183)
* ci: don't build our master branch
* Add netlify-cli as a dev dependency
* ci: trying a sheltered merge flow for promotions
* ci: try building with QUICK_BUILD flag
* Try using ~/repo prefix in command
* ci: make sure netlify command is available
* ci: use sudo for global command
* Inline personal access token w/ env var
* Ci/promotable builds (#1184)
* ci: don't build our master branch
* Add netlify-cli as a dev dependency
* ci: trying a sheltered merge flow for promotions
* ci: try building with QUICK_BUILD flag
* Try using ~/repo prefix in command
* ci: make sure netlify command is available
* ci: use sudo for global command
* Inline personal access token w/ env var
* ci: workaround for sudo limitations
* ci: restore release workflow (#1185)
* ci: don't build our master branch
* Add netlify-cli as a dev dependency
* ci: trying a sheltered merge flow for promotions
* ci: try building with QUICK_BUILD flag
* Try using ~/repo prefix in command
* ci: make sure netlify command is available
* ci: use sudo for global command
* Inline personal access token w/ env var
* ci: workaround for sudo limitations
* ci: restore release workflow
* Pass services to each module, improve tests
* Add servicesManager test and registerServices method
* Fix key warning of snackbar elements
* Remove netlify-cli; we';ll install this on CI server
* Update staging and prod netlify site IDs
* Clean up NPM_PUBLISH step
* Clean up DOCS_PUBLISH step
* Clean up Deploy workflow
* Custom executor to override cypress config
* Spacing
* Use an existing docker hub image
* Switch to npx instead of digging into npm bin location
* Remove e2e test before prod deploy
* Add workflow images
* docs: continous integrationn
* Add default props to modal
* chore(release): publish [skip ci]
- @ohif/extension-cornerstone@1.5.1
- @ohif/extension-vtk@0.53.7
- @ohif/core@1.9.1
- @ohif/ui@0.62.2
- @ohif/viewer@2.8.3
* chore(release): publish [skip ci]
- @ohif/extension-vtk@0.53.8
- @ohif/core@1.10.0
- @ohif/ui@0.62.3
- @ohif/viewer@2.8.4
* ci: Redirect site traffic to index.html if file is not resolved
* ci: fix typo
* fix: 🐛 Code review. Remove 'global state' for displaySize
* fix: 🐛 Code review. Ref back to useMedia and pass value down
Code review. Ref back to useMedia and pass value down (components)
instead of creating a specialized hook to tied any component on it
* fix: translation switcher
* fix
* cleanup
* add missed translation
* fix: 🐛 Code review
* fix: 🐛 Fix unit tests
* fix: 🐛 Fix unit test
* fix: 🐛 Code merge solve conflicts. Missing files changes
* Merge from master. Missing files changes
* feat: 🎸 Code review. Fix issues with DatePicker
Fixed at least the minimum issue with datePicker and update some content
on every translation changed
* fix: 🐛 Code review. Style fix on modal
* fixes in general preferences after merge
* fix
* export default i18n language
* translation fixes
* increase snackbar zindex
* initialize language
* WIP propagate props<>state fixes
* fix state propagation
* remove hotkey error when reset default
* fix datePicker
* i18n updates
* fix i18n strings
* fix reset default -- set right input value
* fix default language
* fix e2e for user preferences
* small fix datePicker props
* remove i18n from window -- debugging purposes only
* lint fixes
* Testing dialog
* Refactor modal and add dialog component to simple dialog
* Use existent dialog
* Expect event from getText callback (annotation)
* Bump cornerstone-tools version
* Use simple dialog
* bump cornersotne version
* CR Update: Update dialgo method names and default values
* CR Update: Bump overlay and show only if theres at least one overlay prop set to true
* CR Update: Use percentage over view height in draggable area
* Fix broken test vtk checks WWWC tool
* Comment test (non-deterministic)
* feat: 🎸 Filter by url query param for seriesInstnaceUID
* fix: Set SR viewport as active by interaction (#1118)
* fix: Set SR viewport as active by interaction
* quick fix
* (eslint) add "before" as global variables
* add data-cy
* add data-cy
* create E2E test
* (E2E) create custom command to set layout size
* remove .only e2e
* remove throttle for onScroll
* feat: 🎸 Code review in progress
Code review. Move retrieveMEtadata load to separate folders. Some minor
code clean up
* feat: 🎸 Code review. Missing changes from previous commit
* feat: 🎸 Code review missing changes from previous commit
When sorting, Criteria for instance must use instanceNumber and not
instancesNumber
* feat: 🎸 Code review. Add more jsdoc info
* feat: 🎸 Code review. Prettify changed code
* feat: 🎸 Instead of filtering do promote. WIP
* feat: 🎸 Fix minor issue. Allow promote or filter
* feat: 🎸 Changing component to functional component
* Merge from master Part1/2
Conflicts solved:
both added: core/src/studies/services/wado/retrieveMetadataLoader.js
both added: core/src/studies/services/wado/retrieveMetadataLoaderAsync.js
both added: core/src/studies/services/wado/retrieveMetadataLoaderSync.js
both modified: viewer/src/connectedComponents/ViewerRetrieveStudyData.js
both modified: viewer/src/routes/ViewerRouting.js
* Merge process from master Part 1/2
Missing files from previous commit
* feat: 🎸 Add cancelable promises to cut async methods
* feat: 🎸 Missing changes from previous merge process
* feat: 🎸 Missing changes from previous merge process
* playing around
* Change extension init and preRegistration signature
* Clear test code
* Update core index test
* Fix test
* Tricking the bug
* Renaming file back to trick some weird bug
* feat: 🎸 Update hotkeys and user preferences modal
This feature fix incompatibility with existent hotkeys component and
adds user preferences modal back
Closes: #923
* Update preferences structure in store
* Hide window level section of user preferences
* Update modal to reflect current hotkey value
* Clone object with hotkeys before passing to manager
* CR Update: Extract hotkeys manager format code to manager
* Fix broken cypress test
* Use new modal provider
* Rename hotkeyDefinitions in hotkeyspreferences and use array as representation
* Update study test and remove unused styles
* feat: 🎸 Filter by url query param for seriesInstnaceUID
* fix: Set SR viewport as active by interaction (#1118)
* fix: Set SR viewport as active by interaction
* quick fix
* (eslint) add "before" as global variables
* add data-cy
* add data-cy
* create E2E test
* (E2E) create custom command to set layout size
* remove .only e2e
* remove throttle for onScroll
* feat: 🎸 Code review in progress
Code review. Move retrieveMEtadata load to separate folders. Some minor
code clean up
* feat: 🎸 Code review. Missing changes from previous commit
* feat: 🎸 Code review missing changes from previous commit
When sorting, Criteria for instance must use instanceNumber and not
instancesNumber
* feat: 🎸 Code review. Add more jsdoc info
* feat: 🎸 Code review. Prettify changed code
* feat: 🎸 Code review
Changed case for seriesInstanceUID. Use qido to filter (async). Fallback
to no params and same api method(async)
* fix: #1075 Returning to the Study List before all series have finished loading throws multiple errors in console
* fix: 🐛 Addressing review feedback from issue #1075
Adding support for cancelable pattern
Closes: #1075
* fix: 🐛 update unit test for exports
Closes: #1075
* fix: get adapter store picker to show
* fix: error caused by DICOMWeb "empty object" for patientName
* formatting
* refactor: kill the pills
* Indicate modalities is missing if not provided
* Consistent modality display
* Make sure modalities styles are applied
* revert config
* feat: 🎸 Only allow reconstruction of datasets that make sense
Only allow reconstruction of datasets which are imaging data, that have
frames in the same orientation, with the same size and make sense to be
reconstructed in 3D.
Closes: #561
* fix: 🐛 Local file: failing when retrieving segmentation data
Fix segmentation data retrieval issues for local file. Changed from
fecthing to use cornerstone loadAndCache method
BREAKING CHANGE: DICOM Seg
Closes: part of #838
* Switch SEG retrieval to WADO-RS
* Forgot a debugger
* refactor: 💡 Code refactor. Minor changes into methods
* fix: 🐛 Load local files: PDF
Items:
1. FileLoaderService: used for serveral operations on local files(load it, get list of studies, group them, accepting dicom and pdf)
2. DicomLoaderService: used for loading dicom based on dataset and studies. Depending on type of dicom loader might change. WIP
3. Refactor PDF and handleSegmentationStorage to use DicomLoaderService
* fix: 🐛 Code review
* fix: 🐛 Code review. Changed:Folder organization and dicom file
Move fileLoaderService and others to a specific folder. When loading
dicom file change to only retrieve the file(not use cornerstone to cache
or anything else).
* fix: 🐛 Code review. Move dicomLoaderService to core
Moved dicomLoaderService to ohif/core and localFileLoaders to a specific
folder.
* fix: 🐛 Code review
Simplified method to get study for dicom file. Added error handling on
file loading. DicomLoaderService to be exposed on ohif/core/utils
instead.
* fix: 🐛 Reduce local load to one method only
Reduced local file load to one method only
* fix: 🐛 HTML to use dicomLoaderService. Prefer wadors than (uri)
* fix: 🐛 Code implementation for multiframe files
* fix: 🐛 Code review. Default local loader to dicom
Closes: 838
* fix: 🐛 Code review. Use relative path to require DICOMWeb
Closes: 838
* fix: 🐛 Code review. Fix unit test. Added DicomLoaderService mod
Closes: 838
* fix: 🐛 Code review. Add 'Seg' on left thumb
When getting/creating dataset get modality for file/image read
Closes: 838