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/new customization service fix ss #4688

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

Conversation

sedghi
Copy link
Member

@sedghi sedghi commented Jan 14, 2025

sedghi added 30 commits January 6, 2025 11:11
… 'inheritsFrom' across multiple files for consistency and clarity

- Changed 'customizationType' to 'inheritsFrom' in overlay items and context menus to better reflect inheritance relationships.
- Updated related documentation and type definitions to align with the new property name.
- Adjusted the CustomizationService to support the new inheritance model.

This change enhances the clarity of customization definitions and improves the overall structure of the customization system.
…ation across multiple files

- Replaced instances of customizationService.get with customizationService.getCustomization for consistency and clarity.
- Adjusted related logic to ensure default values are handled correctly when retrieving customizations.
- This change improves the maintainability of the codebase by standardizing the method used for accessing customization properties.
…ocumentation for customization service

- Updated the visibility of the `setModeCustomization` method from public to private to encapsulate its functionality within the CustomizationService class.
- Improved documentation in the customization-service.md file for better clarity on customization types, modification methods, and usage examples.
- Added CSS styles for ordered lists in custom.css to enhance the presentation of documentation.

These changes aim to improve code encapsulation, enhance documentation clarity, and ensure better styling in the UI.
- Refactored customization modules in various extensions to use object notation instead of arrays for better clarity and maintainability.
- Added DicomUpload component to the cornerstone extension's customization module.
- Updated the customization service to accept configuration during initialization.
- Enhanced the handling of custom routes and context menus across extensions.
- Cleaned up and organized the code for better readability and consistency.
…configuration

- Refactored the customization service to streamline the addition of references.
- Updated the configuration for the customization service in default.js to use a more structured object notation for overlays, enhancing clarity and maintainability.
- Improved the organization of customization modules for better readability.
- Removed the 'merge' property from the helloPage customization.
- Commented out the datasources customization to streamline the code.
- Updated the customizationService structure in the default configuration for better clarity and maintainability.
- Removed redundant comments and cleaned up the CustomizationService type imports.
…handling

- Updated the customization module to use `$push` for adding custom routes, improving flexibility.
- Reintroduced the 'datasources' customization with the new route structure.
- Modified the default configuration to include the new customization module references.
- Improved the cloning logic in the CustomizationService for better handling of various data types.
…ation

- Added a new customization module for sorting functions in the study browser, allowing users to define custom sort behavior.
- Updated the default configuration to include the new customization module reference.
- Created new documentation files for context menus, custom routes, and viewport click behavior to enhance user understanding of customization capabilities.
- Removed outdated documentation related to the customization service for better clarity and organization.
…nd handling

- Updated the customization service to use `getCustomization` for retrieving measurement labels and viewport click commands.
- Removed deprecated default configurations for double-click and context menu commands, streamlining the code.
- Introduced new images for measurement labels and series sorting in the documentation.
- Added comprehensive documentation for the customization service, detailing customizable parts and examples.
- Improved the overall structure and clarity of the customization module and its related files.
…ent integration

- Added CinePlayer component to the customization module for better integration with the UI.
- Updated window level presets to include unique IDs for each preset, improving configurability.
- Refactored the handling of customization service in the default configuration, streamlining the setup process.
- Introduced new images for window level presets and colorbar in the documentation to enhance visual understanding.
- Improved command handling in the CommandsManager to support function-based commands, increasing flexibility.
- Updated documentation to reflect new customization capabilities and examples for better user guidance.
- Replaced the existing `getCustomizationModule.ts` file with a new `getCustomizationModule.tsx` file, integrating React components for improved UI handling.
- Updated the `PanelSegmentation` component to utilize the new customization structure, simplifying the retrieval of customization options.
- Enhanced the `ActiveViewportBehavior` and tool group initialization functions to directly access customization settings, improving code clarity.
- Removed deprecated customization configurations and streamlined the customization service for better performance and maintainability.
- Added new images and documentation for various customization options, including layout selectors and segmentation features, to improve user guidance and understanding.
- Introduced new customization options for auto cine modalities and panel measurement editing behavior, expanding user configurability.
…nt integration

- Refactored the context menu initialization to optimize nearby tool data retrieval.
- Enhanced the WorkflowPanel component by cleaning up the customization service integration.
- Added new customization options for the Study Browser, including study mode and view presets.
- Updated the MeasurementTable and MeasurementItem components to streamline customization retrieval.
- Introduced new sorting functions for the Study Browser, improving user configurability.
- Added documentation for the Study Browser customizations to enhance user understanding.
…configuration

- Changed display name from 'Area' to 'Areas' in SplineROI customization.
- Simplified the retrieval of PlanarFreehandROI and SplineROI configurations by removing unnecessary default object handling.
- Removed deprecated multimonitor layout configurations from default and e2e config files.
- Added new customization options for measurement tools in the documentation, enhancing user guidance on available features.
…ve outdated documentation

- Added new customization options for viewport overlays, including a PatientNameOverlay for the bottom-left section.
- Updated the viewportOverlay documentation to include new customization endpoints and examples.
- Removed the outdated viewport click behavior documentation to streamline the customization service resources.
…tion options

- Removed unused dropdown menu components from PanelSegmentation, simplifying the code.
- Updated the customization service to improve the handling of segmentation-related customizations.
- Introduced a new customization option for readable text labels in the segmentation panel, enhancing user clarity.
- Added a utility function to check for dollar key presence in customization values, improving data handling.
- Updated documentation to reflect new customization capabilities for segmentation statistics and metrics.
…ions

- Introduced a new sorting criteria for series in the customization module, improving the organization of displayed data.
- Updated the PanelSegmentation configuration to include an option for disabling editing of segmentations, enhancing user control.
- Added new images to represent the editing state in the documentation, improving visual guidance for users.
- Refactored the DataRow component to conditionally render actions based on the editing state, streamlining user interactions.
- Cleaned up imports and removed unused code to improve overall code quality and maintainability.
…e new dropdown menus

- Introduced new dropdown menu items for the Study Browser, including a Tag Browser and additional commands for managing study items.
- Updated the customization service to support dynamic menu items in the Study Browser, improving user interaction and configurability.
- Refactored the PanelStudyBrowser and PanelStudyBrowserTracking components to utilize the new MoreDropdownMenu for better integration.
- Removed deprecated customization configurations from the default settings, streamlining the overall configuration process.
- Added new images to the documentation for the thumbnail and study menu items, enhancing visual guidance for users.
… menu functionality

- Refactored the customization module to improve the handling of multimonitor configurations, ensuring better integration with the Study Browser.
- Updated the dropdown menu structure to utilize a more efficient approach for managing menu items, enhancing user interaction.
- Added checks for callback functions in the HangingProtocolService to prevent potential errors during protocol transitions.
- Modified the default configuration to include the new multimonitor customization service, streamlining setup for users.
- Improved code clarity and maintainability by restructuring menu item rendering logic and cleaning up unused code.
…guration options

- Updated the DICOM Web API to support both 'StudyInstanceUIDs' and 'studyInstanceUIDs' parameters, improving flexibility in handling study queries.
- Introduced new multimonitor configuration options in the default settings, allowing for better screen management and user experience in multi-display setups.
- Enhanced the screen layout definitions for multimonitor setups, providing clearer specifications for screen dimensions and positions.
- Improved code clarity and maintainability by restructuring the configuration logic and ensuring consistent parameter handling.
…uration structure

- Updated the `getCustomizationModule` function to return an array of objects for better clarity and structure in customization settings.
- Removed unnecessary properties from `codingValues` to streamline the configuration.
- Simplified the customization service initialization in the basic test mode for improved readability.
- Enhanced the MeasurementItem component with better hover and click interactions, improving user experience.
- Updated the default configuration to utilize an object for the customization service, allowing for more flexible customization options.
- Added validation to prevent prototype pollution in the CommandsManager, enhancing security and stability.
- Cleaned up unused code and improved overall maintainability across multiple files.
Copy link

netlify bot commented Jan 14, 2025

Deploy Preview for ohif-platform-docs ready!

Name Link
🔨 Latest commit f01a7de
🔍 Latest deploy log https://app.netlify.com/sites/ohif-platform-docs/deploys/67869441d653460008889d11
😎 Deploy Preview https://deploy-preview-4688--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 Jan 14, 2025

Deploy Preview for ohif-dev ready!

Name Link
🔨 Latest commit f01a7de
🔍 Latest deploy log https://app.netlify.com/sites/ohif-dev/deploys/67869441d4881d00086ed913
😎 Deploy Preview https://deploy-preview-4688--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.

…n up context menu items

- Updated the `getCustomizationModule` function to return objects instead of arrays for better clarity in customization settings.
- Removed unnecessary `id` properties from `contextMenuCodeItem` and `findingsContextMenu` to streamline the configuration.
- Enhanced overall maintainability by cleaning up unused code across multiple files.
Copy link

cypress bot commented Jan 14, 2025

Viewers    Run #4699

Run Properties:  status check failed Failed #4699  •  git commit f01a7de6d2: feat(customization): Refactor customization module structure and clean up contex...
Project Viewers
Branch Review feat/new-customization-service-fix-ss
Run status status check failed Failed #4699
Run duration 02m 11s
Commit git commit f01a7de6d2: feat(customization): Refactor customization module structure and clean up contex...
Committer sedghi
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 0
Tests that passed  Passing 43
View all changes introduced in this branch ↗︎

Tests for review

Failed  cypress/integration/measurement-tracking/OHIFContextMenuCustomization.spec.js • 1 failed test

View Output Video

Test Artifacts
OHIF Context Menu > checks context menu customization Test Replay Screenshots Video

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.

1 participant