* feat: Add initial cli tool structure
* feat: add copying template files
* feat: Add mode template and command
* feat: Add readme template generation
* feat: Add documentation to extension template
* feat: Enhance documentation of the template mode
* fix: cli module type
* feat: Add config-based mode and extension registration (#2660)
* feat: Add ohif cli add/remove extension/mode (#2661)
* Basic working CLI for add-extension and remove-extension
* Basic cli for add/remove extension/mode, lots more to do.
* Cleanup and harden]
* feat: Add list of tasks to add-mode
Co-authored-by: Alireza <ar.sedghi@gmail.com>
* feat: Add git initialization for the mode or extension template (#2662)
* fix: package json file to include templates
* feat: Add git initialization for the mode or extension template
* feat: Add more checks of git and target dir
* feat: refactore library utilities
* feat: Add the list command to print extensions and modes (#2664)
* feat: Add the list command to print extensions and modes
* Add todo
* Feat/ohif cli validation + auto install (#2671)
* WIP
* Working mode keyword verification
* Validation
* auto install extensions based on modes
* WIP remove unused extensions on removeMove
* Working add-mode, remove-mode automatic extension management.
* If extension is in used by a mode, don't allow the CLI to uninstall it
* Cleanup addExtension
* cleanup removeExtension and addMode
* Cleanup removeMode
* Update existing extensions with the needed keywords/peer deps
* Fix broken config
* Feat/cli search (#2677)
* feat: refactor pretty print for console
* feat: add search for modes and extensions
* fix: ugly colors
* Feat/ohif cli error handling publishing (#2679)
* WIP
* fix: webpack imports
* wip
* fix: react router dom private routes
* from last commit
* wip
* fix: webpack prod builds
* WIP
* Working regsitration with new IDs
* Stable
Co-authored-by: Alireza <ar.sedghi@gmail.com>
* verify extensions when constructing modes. (#2681)
* verify extensions when constructing modes.
* Add version to unit tests so it conforms to schema
* Update ohif utils exposed via @ohif/core
* Fix import
* fix tests
* feat: ohif-cli link local modes/extensions for development (#2682)
* feat: enable cli to work with project root
* feat: add initial link package
* feat: add link and unlink extension
* feat: add link and unlink mode
* erro handling for link-package
* feat: add comment on ohif-cli linking for development (#2686)
* Docs/ohif cli (#2687)
* feat: Add documentation for templates
* feat: Add more documentation
* Fix/core publish (#2685)
* versions
* wip
* remove webpack clean output
* fix publish
* use next as dist tag for v3 for now
* fix webpack pro recipe for output
* fix: lerna publish next
* fix(cli): fix issues when trying to link an extension or a mode (#2725)
The generated package.json doesn't contain keywords property which is
required by the linkPackage function. The module apth wasn't correclty
handled too, and when there is no pluginOptions, it fails while reading
the file or while generating a default configuration.
* make dicom pdf and video work after cli merge
* add axios dependency
* comment out the chdir for now
* create id and version based on user inputs
* customizable path for extension and modes
* fix template to make the template mode load
* fix the questions to loop if path is not desirable
* fix templates
* correct package json order
* unify the package creation for extension and mode
* bump versions for each package
* bump extension versions to 3.0
* add gitignore to templates
* fix version requirements when ^
* update docs
* update docs and fix tests
* try to fix the tests
* bump node version
* remove the version from extensions
* remove the version from modes
* remove version from extensionManager
* fix eslint
* revert husky version
* fix eslint
* fix node version for new eslint
* fix documentatoin removing version
* fix cicle ci image version
* fix circle ci node image
* fix circle ci node image
* add back the video and pdf
Co-authored-by: Matthis Duclos <matthis.duclos@gmail.com>
Co-authored-by: James A. Petts <jamesapetts@gmail.com>
This change wraps the E2E test data into a github repository, which is then included in the test builds as static data.
That makes running the e2e tests as simple as:
yarn test:e2e:server
yarn test:e2e
without any need to have docker etc installed/running.
This is the initial addition of the config point settings to allow run time loading of GUI settings via "theme" files/parameters.
The intent is to add an example PR that shows when to use config point, how to configure it, write documentation for it etc.
* feat: update to prerelease of WADO Image Loader, add copy plugin to pull dist/dynamic-import into OHIF
* fix: Set empty public path
* perf: Add webpackPrefetch tags to lazy loaded components
* Switch to using webpack alias to use dynamic import version of WADO Image Loader
* fix lockfile
* prevent polyfilling zlib
* bump to wado image loader 4.0.3 with fix for public path
* Rebased to have just the static view changes
* Changes based on the PR
* Couple more changes for the PR
* Removed an extraneous log
* Fix the study worklist display when returning to the page
* Added some documentation on the static wado data source setup, and a
bounds check change on the Queue test which was failing
* PR updates - change the undefined study description to '' and remove the aws deploy
* Fixed the e2e tests to actually pass/fail correctly on actual results
* Remove trailing zeroes from patient age
* WIP reject + remove displaySet.
* ohif-316: Update DICOM SR thumbnail design to include a delete action (#1948)
* add "supportsReject" to netlify config
Co-authored-by: Igor Octaviano <igoroctaviano@gmail.com>
Co-authored-by: Danny Brown <danny.ri.brown@gmail.com>
* Show series in Study Browser before their metadata is retrieved
* Switch to decreasing for loop after code review (thanks @ckedar!)
* feat: Limit concurrent series metadata requests (#1581)
* Limit concurrent series metadata requests
* Switch to decreasing for loop after code review (thanks @ckedar!)
* Set default maxConcurrentMetadataRequests to unlimited and add explaination of setting in config
Co-authored-by: kedar.netelixir <kedar.choudhary@netelixir.com>
Co-authored-by: Erik Ziegler <erik.sweed@gmail.com>
* Address comments from code review
* Comment out misbehaving test
Co-authored-by: Kedar <ckedar@gmail.com>
Co-authored-by: kedar.netelixir <kedar.choudhary@netelixir.com>
* WindowLevel preset code changes
* Remove localStorage code as its already being saved and some small refactor on reducer/action
* Creating unit tests for preferences reducer
* Fix cypress after class naming change
* Make hidden false as default for tab components
* Remove addUserPreferences
* Small refactor to use commandsManager from getCommandsModule instead of getting it from App.js
* fix: Combined Hotkeys for special characters
* add record method to hotkey manager
* fix record plugin
* remove unused component
* add record to modal props
* rename record method
* replace handlers to use hotkeyRecord
* fix combined keys
* change expected result count from 18 to 17
* autoformat
* Remove duplicate test, that was testing the wrong things; fix label; update configs
* Revert "Remove duplicate test, that was testing the wrong things; fix label; update configs"
This reverts commit 4292f4fe67351962d61cae623b920dcbd87dd71d.
* Fix the record plugin's registration
* fix exposed record method usage
* adding logging for info level items
* Hotkey definitions don't need to be globally reactive; use localstorage/appconfig as sources of truth; not redux
* Tidy up test
* Remove unused code from UserPreferencesForm
* Log info when we run a command
* fix hotkey preference restore
* use application configured hotkeys if there are no user preferred
* Avoid logging circular ref
* Fix callouts
* Fix small issue with array
* Fix langua issue after refactor and merge
* Refactor on recordCurrentCombo as Rodrigo did before
* Separating components in 2 files
* WIP Refactor to simplify the user preferences and move into each form the save and controll functionalities
* Remove context
* Remove unused import
* Initial work on Field treatment
* Refactor General preferences
* Small refactor removing type from HotkeyField
* small update on style
* Refactor and layout fixed
* Make hotkeys preferences working with old hotkeys row
* Move error handling out of hotkey row/input component
* WIP custom form
* Moving validation function to component
* Exposing hotkeyRecord as it does not depend on HotkeyManager Class
* Making hotkeyField as much detached possible from parent component
* Small refactors
* Refactor on user preferences
* Clean up into the changes
* Small fix to let save working
* Style finish
* move about docs into about folder
* Fix double tap on single keys
* Style refactor
* Remove log
* Fix log issues on unit tests
* Fix unit test breaking on ohif/core index
* Fixing hotkeys unpause unit test issue
* Rename file to adopt lowercase
* Rename file to adopt lowercase
* Fixing callouts
* Big refactor miving some of the components into viewer and creating small components into ohif/ui
* Typo on folder name
* Updating ohif ui docs
* Remove comments
* Fix binding of combo keys
* Fix some cypress tests failures
* Fixing onCancel button
* Fixing e2e tests
* Small style update
* Fixing unit tests failing after fix issue
* Remove some not used code
* Remove left over after debug
* Adding prevent default on hotkeys events
* Fixinf existing hotkeys validator with 3 keys pressed
* Exposing hotkeys as root level on ohif-core
* Clean up
* Exposing all availableLanguages with labels and fixing an issue on language switcher
* Fixing e2e cypress tests
* Preveinting some simple errors
* Treating error once we try to set hotkey definitions
* Adding ui notification on setHotkeys errors
* Implementing a service queue request to hold until functions are implemented
* Making sure toFixed is only called on Numbers
Co-authored-by: Danny Brown <danny.ri.brown@gmail.com>
Co-authored-by: Gustavo André Lelis <galelis@gmail.com>
* Add ability to configure Google Cloud Healthcare API endpoint.
* Fixed bug in script.
* Fixed PR remark.
* Set Healthcare API endpoint in proper place.
* 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.
* 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
* init
* use workbox-window
* Try to accomodate SW hosted at non root url
* v5 updated namespaces
* Test w/ no prompt
* add icons to manifest
* remove scope for now
* add icon tile information to entrypoint
* See if we can skirt by without a duplicate install
* shift client claims to skip waiting message
* Remove prepended slash
* comment out cache handler for now
* Simplify service-worker to skip waiting and install when a new worker is detected
* Use generated icons
* Update rollbar config