diff --git a/extensions/cornerstone-dicom-seg/src/panels/callInputDialog.tsx b/extensions/cornerstone-dicom-seg/src/panels/callInputDialog.tsx index f8d521008..69c303469 100644 --- a/extensions/cornerstone-dicom-seg/src/panels/callInputDialog.tsx +++ b/extensions/cornerstone-dicom-seg/src/panels/callInputDialog.tsx @@ -24,7 +24,7 @@ function callInputDialog(uiDialogService, label, callback) { showOverlay: true, content: Dialog, contentProps: { - title: 'Enter Segment Label', + title: 'Segment', value: { label }, noCloseButton: true, onClose: () => uiDialogService.dismiss({ id: dialogId }), @@ -35,24 +35,23 @@ function callInputDialog(uiDialogService, label, callback) { onSubmit: onSubmitHandler, body: ({ value, setValue }) => { return ( -
- { - event.persist(); - setValue(value => ({ ...value, label: event.target.value })); - }} - onKeyPress={event => { - if (event.key === 'Enter') { - onSubmitHandler({ value, action: { id: 'save' } }); - } - }} - /> -
+ { + event.persist(); + setValue(value => ({ ...value, label: event.target.value })); + }} + onKeyPress={event => { + if (event.key === 'Enter') { + onSubmitHandler({ value, action: { id: 'save' } }); + } + }} + /> ); }, }, diff --git a/extensions/cornerstone/src/components/DicomUpload/DicomUploadProgressItem.tsx b/extensions/cornerstone/src/components/DicomUpload/DicomUploadProgressItem.tsx index bcbdcec58..d07eee68f 100644 --- a/extensions/cornerstone/src/components/DicomUpload/DicomUploadProgressItem.tsx +++ b/extensions/cornerstone/src/components/DicomUpload/DicomUploadProgressItem.tsx @@ -97,7 +97,7 @@ const DicomUploadProgressItem = memo( )}
diff --git a/extensions/cornerstone/src/utils/callInputDialog.tsx b/extensions/cornerstone/src/utils/callInputDialog.tsx index bd59a7bef..b141ece63 100644 --- a/extensions/cornerstone/src/utils/callInputDialog.tsx +++ b/extensions/cornerstone/src/utils/callInputDialog.tsx @@ -27,8 +27,8 @@ function callInputDialog( : data.label : ''; const { - dialogTitle = 'Enter your annotation', - inputLabel = '', + dialogTitle = 'Annotation', + inputLabel = 'Enter your annotation', validateFunc = value => true, } = dialogConfig; @@ -66,27 +66,24 @@ function callInputDialog( onSubmit: onSubmitHandler, body: ({ value, setValue }) => { return ( -
- { - event.persist(); - setValue(value => ({ ...value, label: event.target.value })); - }} - onKeyPress={event => { - if (event.key === 'Enter') { - onSubmitHandler({ value, action: { id: 'save' } }); - } - }} - /> -
+ { + event.persist(); + setValue(value => ({ ...value, label: event.target.value })); + }} + onKeyPress={event => { + if (event.key === 'Enter') { + onSubmitHandler({ value, action: { id: 'save' } }); + } + }} + /> ); }, }, diff --git a/extensions/default/src/Panels/PanelMeasurementTable.tsx b/extensions/default/src/Panels/PanelMeasurementTable.tsx index e00b2d679..200218146 100644 --- a/extensions/default/src/Panels/PanelMeasurementTable.tsx +++ b/extensions/default/src/Panels/PanelMeasurementTable.tsx @@ -160,7 +160,7 @@ export default function PanelMeasurementTable({ showOverlay: true, content: Dialog, contentProps: { - title: 'Enter your annotation', + title: 'Annotation', noCloseButton: true, value: { label: measurement.label || '' }, body: ({ value, setValue }) => { @@ -175,18 +175,17 @@ export default function PanelMeasurementTable({ } }; return ( -
- -
+ ); }, actions: [ diff --git a/extensions/default/src/Panels/createReportDialogPrompt.tsx b/extensions/default/src/Panels/createReportDialogPrompt.tsx index 531d24ed7..51289287c 100644 --- a/extensions/default/src/Panels/createReportDialogPrompt.tsx +++ b/extensions/default/src/Panels/createReportDialogPrompt.tsx @@ -11,7 +11,7 @@ export default function createReportDialogPrompt( uiDialogService, { extensionManager } ) { - return new Promise(function (resolve, reject) { + return new Promise(function(resolve, reject) { let dialogId = undefined; const _handleClose = () => { @@ -73,7 +73,7 @@ export default function createReportDialogPrompt( useLastPosition: false, showOverlay: true, contentProps: { - title: 'Provide a name for your report', + title: 'Create Report', value: { label: '', dataSourceName: extensionManager.activeDataSource, @@ -102,38 +102,34 @@ export default function createReportDialogPrompt( }; return ( <> -
- {dataSourcesOpts.length > 1 && ( - 1 && ( + ); }, diff --git a/extensions/dicom-microscopy/src/getCommandsModule.ts b/extensions/dicom-microscopy/src/getCommandsModule.ts index db8210623..7126ad6e5 100644 --- a/extensions/dicom-microscopy/src/getCommandsModule.ts +++ b/extensions/dicom-microscopy/src/getCommandsModule.ts @@ -31,7 +31,6 @@ export default function getCommandsModule({ callInputDialog({ uiDialogService, - title: 'Enter your annotation', defaultValue: '', callback: (value: string, action: string) => { switch (action) { diff --git a/extensions/dicom-microscopy/src/utils/callInputDialog.tsx b/extensions/dicom-microscopy/src/utils/callInputDialog.tsx index bffc2a627..2b6554944 100644 --- a/extensions/dicom-microscopy/src/utils/callInputDialog.tsx +++ b/extensions/dicom-microscopy/src/utils/callInputDialog.tsx @@ -12,7 +12,7 @@ import { Input, Dialog } from '@ohif/ui'; */ export default function callInputDialog({ uiDialogService, - title = 'Enter your annotation', + title = 'Annotation', defaultValue = '', callback = (value: string, action: string) => {} }) { @@ -49,27 +49,26 @@ export default function callInputDialog({ onSubmit: onSubmitHandler, body: ({ value, setValue }) => { return ( -
- { - event.persist(); - setValue(value => ({ ...value, value: event.target.value })); - }} - onKeyPress={event => { - if (event.key === 'Enter') { - onSubmitHandler({ value, action: { id: 'save' } }); - } - }} - /> -
+ { + event.persist(); + setValue(value => ({ ...value, value: event.target.value })); + }} + onKeyPress={event => { + if (event.key === 'Enter') { + onSubmitHandler({ value, action: { id: 'save' } }); + } + }} + /> ); }, }, }); } -} \ No newline at end of file +} diff --git a/extensions/measurement-tracking/src/_shared/createReportDialogPrompt.tsx b/extensions/measurement-tracking/src/_shared/createReportDialogPrompt.tsx index 397ad1810..f206e6c14 100644 --- a/extensions/measurement-tracking/src/_shared/createReportDialogPrompt.tsx +++ b/extensions/measurement-tracking/src/_shared/createReportDialogPrompt.tsx @@ -38,7 +38,7 @@ export default function createReportDialogPrompt(uiDialogService) { useLastPosition: false, showOverlay: true, contentProps: { - title: 'Provide a name for your report', + title: 'Create Report', value: { label: '' }, noCloseButton: true, onClose: _handleClose, @@ -60,12 +60,13 @@ export default function createReportDialogPrompt(uiDialogService) { } }; return ( -
+
{ @@ -203,18 +203,17 @@ function PanelMeasurementTableTracking({ servicesManager, extensionManager }) { } }; return ( -
- -
+ ); }, actions: [ diff --git a/platform/app/public/config/local_orthanc.js b/platform/app/public/config/local_orthanc.js index 80469a291..3153408b0 100644 --- a/platform/app/public/config/local_orthanc.js +++ b/platform/app/public/config/local_orthanc.js @@ -33,7 +33,7 @@ window.config = { supportsWildcard: true, dicomUploadEnabled: true, bulkDataURI: { - enabled: false, + enabled: true, }, }, }, diff --git a/platform/docs/docs/deployment/docker.md b/platform/docs/docs/deployment/docker.md index 689ea7322..02a7ba813 100644 --- a/platform/docs/docs/deployment/docker.md +++ b/platform/docs/docs/deployment/docker.md @@ -43,3 +43,11 @@ The Dockerfile and entry point use the `${PORT}` environment variable as the por ```sh docker run -d -e PORT=8080 -p 3000:8080/tcp --name ohif-viewer-container ohif-viewer-image ``` + +### Configuring the OHIF config file + +The OHIF [config file](../configuration/configurationFiles.md) to use can be specified by mounting it as a volume for the Docker container using the `-v` flag. If the OHIF config file is on the local file system then it can be specified as below. Note that depending on the version of Docker, an absolute path to the config file might be required. + +```sh +docker run -d -p 3000:80/tcp -v /path/to/config/file.js:/usr/share/nginx/html/app-config.js --name ohif-viewer-container ohif-viewer-image +``` diff --git a/platform/ui/src/assets/icons/close.svg b/platform/ui/src/assets/icons/close.svg deleted file mode 100644 index 03181c71f..000000000 --- a/platform/ui/src/assets/icons/close.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/platform/ui/src/assets/icons/closeIcon.svg b/platform/ui/src/assets/icons/closeIcon.svg new file mode 100644 index 000000000..4760717a4 --- /dev/null +++ b/platform/ui/src/assets/icons/closeIcon.svg @@ -0,0 +1,3 @@ + + + diff --git a/platform/ui/src/components/AboutModal/AboutModal.tsx b/platform/ui/src/components/AboutModal/AboutModal.tsx index 84d055cf7..a973c29e3 100644 --- a/platform/ui/src/components/AboutModal/AboutModal.tsx +++ b/platform/ui/src/components/AboutModal/AboutModal.tsx @@ -49,7 +49,11 @@ const AboutModal = ({ buildNumber, versionNumber, commitHash }) => { const renderRowTitle = title => (
- + {title}
diff --git a/platform/ui/src/components/Dialog/Body.tsx b/platform/ui/src/components/Dialog/Body.tsx index 31fe0d36a..a534791f2 100644 --- a/platform/ui/src/components/Dialog/Body.tsx +++ b/platform/ui/src/components/Dialog/Body.tsx @@ -8,11 +8,13 @@ const Body = ({ text, className }) => { const theme = 'bg-primary-dark'; return (
-
- - {text} - -
+ + {text} +
); }; diff --git a/platform/ui/src/components/Dialog/Dialog.tsx b/platform/ui/src/components/Dialog/Dialog.tsx index 09354f20a..7a0785f8f 100644 --- a/platform/ui/src/components/Dialog/Dialog.tsx +++ b/platform/ui/src/components/Dialog/Dialog.tsx @@ -22,12 +22,13 @@ const Dialog = ({ }) => { const [value, setValue] = useState(defaultValue); - const theme = 'bg-secondary-light'; + const theme = 'bg-primary-dark'; const flex = 'flex flex-col'; - const border = 'border-0 rounded-lg drop-shadow-lg'; + const border = 'border-0 rounded'; const outline = 'outline-none focus:outline-none'; const position = 'relative'; const width = 'w-full'; + const padding = 'px-[20px] pb-[20px] pt-[13px]'; useEffect(() => { if (onShow) { @@ -36,7 +37,17 @@ const Dialog = ({ }, [onShow]); return ( -
+
{ const flex = 'flex items-center justify-end'; - const border = 'border-t-2 border-solid border-black rounded-b'; - const spacing = 'p-6'; - const theme = 'bg-primary-dark'; + const padding = 'pt-[20px]'; return ( -
+
{actions.map((action, index) => { const isFirst = index === 0; const isPrimary = action.type === 'primary'; diff --git a/platform/ui/src/components/Dialog/Header.tsx b/platform/ui/src/components/Dialog/Header.tsx index 86c71f11c..bba74bef3 100644 --- a/platform/ui/src/components/Dialog/Header.tsx +++ b/platform/ui/src/components/Dialog/Header.tsx @@ -10,7 +10,7 @@ const CloseButton = ({ onClick }) => { data-cy="close-button" onClick={onClick} name="close" - className="cursor-pointer text-primary-active w-6 h-6" + className="cursor-pointer text-primary-active" /> ); }; @@ -20,14 +20,13 @@ CloseButton.propTypes = { }; const Header = ({ title, noCloseButton, onClose }) => { - const theme = 'bg-secondary-main'; + const theme = 'bg-primary-dark'; const flex = 'flex items-center justify-between'; - const border = 'border-b-2 border-solid border-black rounded-t'; - const spacing = 'p-4'; + const padding = 'pb-[20px]'; return ( -
- +
+ {title} {!noCloseButton && } diff --git a/platform/ui/src/components/Icon/getIcon.js b/platform/ui/src/components/Icon/getIcon.js index 34a64595f..18a802435 100644 --- a/platform/ui/src/components/Icon/getIcon.js +++ b/platform/ui/src/components/Icon/getIcon.js @@ -8,7 +8,7 @@ import arrowRightSmall from './../../assets/icons/arrow-right-small.svg'; import calendar from './../../assets/icons/calendar.svg'; import cancel from './../../assets/icons/cancel.svg'; import clipboard from './../../assets/icons/clipboard.svg'; -import close from './../../assets/icons/close.svg'; +import close from './../../assets/icons/closeIcon.svg'; import dottedCircle from './../../assets/icons/dotted-circle.svg'; import circledCheckmark from './../../assets/icons/circled-checkmark.svg'; import chevronDown from './../../assets/icons/chevron-down.svg'; diff --git a/platform/ui/src/components/LegacyCinePlayer/LegacyCinePlayer.tsx b/platform/ui/src/components/LegacyCinePlayer/LegacyCinePlayer.tsx index 465368888..6170b9bd1 100644 --- a/platform/ui/src/components/LegacyCinePlayer/LegacyCinePlayer.tsx +++ b/platform/ui/src/components/LegacyCinePlayer/LegacyCinePlayer.tsx @@ -62,7 +62,7 @@ const LegacyCinePlayer = ({ className="mr-3 border rounded-full text-primary-active border-primary-active" onClick={onClose} > - +
); diff --git a/platform/ui/src/components/Modal/Modal.tsx b/platform/ui/src/components/Modal/Modal.tsx index 0aa409f49..c330d6b31 100644 --- a/platform/ui/src/components/Modal/Modal.tsx +++ b/platform/ui/src/components/Modal/Modal.tsx @@ -29,10 +29,11 @@ const Modal = ({ const renderHeader = () => { return ( title && ( -
+
{title} @@ -41,7 +42,7 @@ const Modal = ({ )}
@@ -60,7 +61,7 @@ const Modal = ({ shouldCloseOnOverlayClick={shouldCloseOnOverlayClick} > {renderHeader()} -
+
{children}
diff --git a/platform/ui/src/components/SegmentationGroupTable/SegmentationGroupSegment.tsx b/platform/ui/src/components/SegmentationGroupTable/SegmentationGroupSegment.tsx index 89a010db5..dfad3d10f 100644 --- a/platform/ui/src/components/SegmentationGroupTable/SegmentationGroupSegment.tsx +++ b/platform/ui/src/components/SegmentationGroupTable/SegmentationGroupSegment.tsx @@ -66,7 +66,7 @@ const SegmentItem = ({ {isSegmentIndexHovering && showSegmentDelete ? ( { e.stopPropagation(); onDelete(segmentationId, segmentIndex); diff --git a/platform/ui/src/components/SegmentationTable/SegmentationItem.tsx b/platform/ui/src/components/SegmentationTable/SegmentationItem.tsx index 4fbe6dff8..9ed370975 100644 --- a/platform/ui/src/components/SegmentationTable/SegmentationItem.tsx +++ b/platform/ui/src/components/SegmentationTable/SegmentationItem.tsx @@ -55,7 +55,7 @@ const SegmentationItem = ({ { onClick={handleClose} className="w-5 h-5 rounded-full flex items-center justify-center self-start ml-auto relative left-[3px] top-[-3px] text-[#0944b3]" > - +
diff --git a/platform/ui/src/components/Typography/Typography.tsx b/platform/ui/src/components/Typography/Typography.tsx index b1904b941..d7753d3ed 100644 --- a/platform/ui/src/components/Typography/Typography.tsx +++ b/platform/ui/src/components/Typography/Typography.tsx @@ -46,6 +46,7 @@ const classes = { inherit: 'text-inherit', primary: 'text-primary-main', primaryActive: 'text-primary-active', + primaryLight: 'text-primary-light', secondary: 'text-common-light', error: 'text-red-600', }, @@ -133,7 +134,7 @@ Typography.propTypes = { 'primaryActive', 'secondary', 'error', - 'primaryActive', + 'primaryLight', ]), className: PropTypes.string, children: PropTypes.node, diff --git a/platform/ui/src/components/UserPreferences/UserPreferences.tsx b/platform/ui/src/components/UserPreferences/UserPreferences.tsx index f914d97af..f99902085 100644 --- a/platform/ui/src/components/UserPreferences/UserPreferences.tsx +++ b/platform/ui/src/components/UserPreferences/UserPreferences.tsx @@ -63,8 +63,9 @@ const UserPreferences = ({ <>
{title} @@ -74,7 +75,7 @@ const UserPreferences = ({ ); return ( -
+ <>
@@ -122,7 +123,7 @@ const UserPreferences = ({
-
+ ); }; diff --git a/platform/ui/src/contextProviders/DialogProvider.tsx b/platform/ui/src/contextProviders/DialogProvider.tsx index 2c62ee98a..b397b53d6 100644 --- a/platform/ui/src/contextProviders/DialogProvider.tsx +++ b/platform/ui/src/contextProviders/DialogProvider.tsx @@ -219,7 +219,7 @@ const DialogProvider = ({ children, service }) => { isDragging && 'dragging', isDraggable && 'draggable' )} - style={{ zIndex: '999', position: 'absolute' }} + style={{ zIndex: '999', position: 'absolute', width: '350px' }} onClick={() => _bringToFront(id)} >