Compare commits

..
Author SHA1 Message Date
ohif-bot 8ecbca700c chore(version): Update package versions [skip ci] 2025-01-08 20:02:34 +00:00
ohif-bot 1223dd00e1 chore(version): version.json [skip ci] 2025-01-08 20:02:28 +00:00
Alireza 3c6a5ef69e fix(circleci): Update workflow dependencies for Docker publishing stages (#4660) 2025-01-08 14:57:50 -05:00
ohif-bot dd5251ac95 chore(version): Update package versions [skip ci] 2025-01-08 19:43:13 +00:00
ohif-bot 71c0c18a8a chore(version): version.json [skip ci] 2025-01-08 19:43:07 +00:00
Alireza 5f6f528fbf fix(Dockerfile): Clear bun package manager cache before installation (#4659) 2025-01-08 14:38:39 -05:00
ohif-bot 60547b507f chore(version): Update package versions [skip ci] 2025-01-08 19:28:18 +00:00
ohif-bot f8b7687f94 chore(version): version.json [skip ci] 2025-01-08 19:28:12 +00:00
Dan Rukasandsedghi 230ae9758b ui(components): Viewport components added to ui-next (#4649)
Co-authored-by: sedghi <ar.sedghi@gmail.com>
2025-01-08 14:23:34 -05:00
ohif-bot 47de38f3ff chore(version): Update package versions [skip ci] 2025-01-08 19:18:23 +00:00
ohif-bot 5b454472e4 chore(version): version.json [skip ci] 2025-01-08 19:18:16 +00:00
devin-ai-integration[bot] 2f5076ece8 fix: Convert Rows and Columns to numbers before comparison (#4654) (#4656)
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2025-01-08 14:13:28 -05:00
ohif-bot 401d5dcedd chore(version): Update package versions [skip ci] 2025-01-08 18:15:53 +00:00
ohif-bot 464976f035 chore(version): version.json [skip ci] 2025-01-08 18:15:47 +00:00
Dan Rukasandsedghi b54f2075ec ui(component): Tooltip component ui-next (#4635)
Co-authored-by: sedghi <ar.sedghi@gmail.com>
2025-01-08 13:10:57 -05:00
116 changed files with 3352 additions and 261 deletions

No files matched your search

+2 -4
View File
@@ -465,10 +465,9 @@ workflows:
- NPM_PUBLISH
- DOCKER_BETA_PUBLISH_ARM:
requires:
- NPM_PUBLISH
- DOCKER_BETA_PUBLISH
- DOCKER_BETA_MULTIARCH_MANIFEST:
requires:
- DOCKER_BETA_PUBLISH
- DOCKER_BETA_PUBLISH_ARM
# viewer.ohif.org
@@ -490,8 +489,7 @@ workflows:
- NPM_PUBLISH
- DOCKER_RELEASE_PUBLISH_ARM:
requires:
- NPM_PUBLISH
- DOCKER_RELEASE_PUBLISH
- DOCKER_MULTIARCH_MANIFEST:
requires:
- DOCKER_RELEASE_PUBLISH
- DOCKER_RELEASE_PUBLISH_ARM
+49
View File
@@ -3,6 +3,55 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [3.10.0-beta.45](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.44...v3.10.0-beta.45) (2025-01-08)
### Bug Fixes
* **circleci:** Update workflow dependencies for Docker publishing stages ([#4660](https://github.com/OHIF/Viewers/issues/4660)) ([3c6a5ef](https://github.com/OHIF/Viewers/commit/3c6a5ef69e9914bdc9f3fda1b149400881e2ce1e))
# [3.10.0-beta.44](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.43...v3.10.0-beta.44) (2025-01-08)
### Bug Fixes
* **Dockerfile:** Clear bun package manager cache before installation ([#4659](https://github.com/OHIF/Viewers/issues/4659)) ([5f6f528](https://github.com/OHIF/Viewers/commit/5f6f528fbf166a524f447708e1d0b4b8f3766d3c))
# [3.10.0-beta.43](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.42...v3.10.0-beta.43) (2025-01-08)
**Note:** Version bump only for package ohif-monorepo-root
# [3.10.0-beta.42](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.41...v3.10.0-beta.42) (2025-01-08)
### Bug Fixes
* Convert Rows and Columns to numbers before comparison ([#4654](https://github.com/OHIF/Viewers/issues/4654)) ([#4656](https://github.com/OHIF/Viewers/issues/4656)) ([2f5076e](https://github.com/OHIF/Viewers/commit/2f5076ece8b3125c3426014efdf7fc6b498606d0))
# [3.10.0-beta.41](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.40...v3.10.0-beta.41) (2025-01-08)
**Note:** Version bump only for package ohif-monorepo-root
# [3.10.0-beta.40](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.39...v3.10.0-beta.40) (2025-01-08)
+2
View File
@@ -61,6 +61,8 @@ ENV PATH=/usr/src/app/node_modules/.bin:$PATH
COPY package.json yarn.lock preinstall.js lerna.json ./
COPY --parents ./addOns/package.json ./addOns/*/*/package.json ./extensions/*/package.json ./modes/*/package.json ./platform/*/package.json ./
# Run the install before copying the rest of the files
RUN bun pm cache rm
RUN bun install
# Copy the local directory
COPY --link --exclude=yarn.lock --exclude=package.json --exclude=Dockerfile . .
+40
View File
@@ -3,6 +3,46 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [3.10.0-beta.45](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.44...v3.10.0-beta.45) (2025-01-08)
**Note:** Version bump only for package @externals/devDependencies
# [3.10.0-beta.44](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.43...v3.10.0-beta.44) (2025-01-08)
**Note:** Version bump only for package @externals/devDependencies
# [3.10.0-beta.43](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.42...v3.10.0-beta.43) (2025-01-08)
**Note:** Version bump only for package @externals/devDependencies
# [3.10.0-beta.42](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.41...v3.10.0-beta.42) (2025-01-08)
**Note:** Version bump only for package @externals/devDependencies
# [3.10.0-beta.41](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.40...v3.10.0-beta.41) (2025-01-08)
**Note:** Version bump only for package @externals/devDependencies
# [3.10.0-beta.40](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.39...v3.10.0-beta.40) (2025-01-08)
**Note:** Version bump only for package @externals/devDependencies
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@externals/devDependencies",
"description": "External dev dependencies - put dev build dependencies here",
"version": "3.10.0-beta.40",
"version": "3.10.0-beta.45",
"license": "MIT",
"private": true,
"engines": {
+40
View File
@@ -3,6 +3,46 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [3.10.0-beta.45](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.44...v3.10.0-beta.45) (2025-01-08)
**Note:** Version bump only for package @externals/dicom-microscopy-viewer
# [3.10.0-beta.44](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.43...v3.10.0-beta.44) (2025-01-08)
**Note:** Version bump only for package @externals/dicom-microscopy-viewer
# [3.10.0-beta.43](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.42...v3.10.0-beta.43) (2025-01-08)
**Note:** Version bump only for package @externals/dicom-microscopy-viewer
# [3.10.0-beta.42](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.41...v3.10.0-beta.42) (2025-01-08)
**Note:** Version bump only for package @externals/dicom-microscopy-viewer
# [3.10.0-beta.41](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.40...v3.10.0-beta.41) (2025-01-08)
**Note:** Version bump only for package @externals/dicom-microscopy-viewer
# [3.10.0-beta.40](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.39...v3.10.0-beta.40) (2025-01-08)
**Note:** Version bump only for package @externals/dicom-microscopy-viewer
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@externals/dicom-microscopy-viewer",
"description": "External reference to dicom-microscopy-viewer",
"version": "3.10.0-beta.40",
"version": "3.10.0-beta.45",
"license": "MIT",
"dependencies": {
"dicom-microscopy-viewer": "^0.46.1"
BIN
View File
Binary file not shown.
+1 -1
View File
@@ -1 +1 @@
8e120219390a91474fb634711ea8c3312a7d9539
3c6a5ef69e9914bdc9f3fda1b149400881e2ce1e
@@ -3,6 +3,46 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [3.10.0-beta.45](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.44...v3.10.0-beta.45) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-pmap
# [3.10.0-beta.44](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.43...v3.10.0-beta.44) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-pmap
# [3.10.0-beta.43](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.42...v3.10.0-beta.43) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-pmap
# [3.10.0-beta.42](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.41...v3.10.0-beta.42) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-pmap
# [3.10.0-beta.41](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.40...v3.10.0-beta.41) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-pmap
# [3.10.0-beta.40](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.39...v3.10.0-beta.40) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-pmap
@@ -1,6 +1,6 @@
{
"name": "@ohif/extension-cornerstone-dicom-pmap",
"version": "3.10.0-beta.40",
"version": "3.10.0-beta.45",
"description": "DICOM Parametric Map read workflow",
"author": "OHIF",
"license": "MIT",
@@ -33,10 +33,10 @@
"start": "yarn run dev"
},
"peerDependencies": {
"@ohif/core": "3.10.0-beta.40",
"@ohif/extension-cornerstone": "3.10.0-beta.40",
"@ohif/extension-default": "3.10.0-beta.40",
"@ohif/i18n": "3.10.0-beta.40",
"@ohif/core": "3.10.0-beta.45",
"@ohif/extension-cornerstone": "3.10.0-beta.45",
"@ohif/extension-default": "3.10.0-beta.45",
"@ohif/i18n": "3.10.0-beta.45",
"prop-types": "^15.6.2",
"react": "^18.3.1",
"react-dom": "^18.3.1",
@@ -1,6 +1,7 @@
import PropTypes from 'prop-types';
import React, { useCallback, useEffect, useRef, useState } from 'react';
import { useViewportGrid, LoadingIndicatorTotalPercent } from '@ohif/ui';
import { LoadingIndicatorTotalPercent } from '@ohif/ui';
import { useViewportGrid } from '@ohif/ui-next';
function OHIFCornerstonePMAPViewport(props: withAppTypes) {
const {
@@ -3,6 +3,46 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [3.10.0-beta.45](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.44...v3.10.0-beta.45) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-rt
# [3.10.0-beta.44](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.43...v3.10.0-beta.44) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-rt
# [3.10.0-beta.43](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.42...v3.10.0-beta.43) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-rt
# [3.10.0-beta.42](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.41...v3.10.0-beta.42) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-rt
# [3.10.0-beta.41](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.40...v3.10.0-beta.41) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-rt
# [3.10.0-beta.40](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.39...v3.10.0-beta.40) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-rt
+5 -5
View File
@@ -1,6 +1,6 @@
{
"name": "@ohif/extension-cornerstone-dicom-rt",
"version": "3.10.0-beta.40",
"version": "3.10.0-beta.45",
"description": "DICOM RT read workflow",
"author": "OHIF",
"license": "MIT",
@@ -33,10 +33,10 @@
"start": "yarn run dev"
},
"peerDependencies": {
"@ohif/core": "3.10.0-beta.40",
"@ohif/extension-cornerstone": "3.10.0-beta.40",
"@ohif/extension-default": "3.10.0-beta.40",
"@ohif/i18n": "3.10.0-beta.40",
"@ohif/core": "3.10.0-beta.45",
"@ohif/extension-cornerstone": "3.10.0-beta.45",
"@ohif/extension-default": "3.10.0-beta.45",
"@ohif/i18n": "3.10.0-beta.45",
"prop-types": "^15.6.2",
"react": "^18.3.1",
"react-dom": "^18.3.1",
@@ -1,6 +1,7 @@
import React, { useCallback, useEffect, useRef, useState } from 'react';
import PropTypes from 'prop-types';
import { useViewportGrid, LoadingIndicatorTotalPercent, ViewportActionArrows } from '@ohif/ui';
import { LoadingIndicatorTotalPercent, ViewportActionArrows } from '@ohif/ui';
import { useViewportGrid } from '@ohif/ui-next';
import promptHydrateRT from '../utils/promptHydrateRT';
import _getStatusComponent from './_getStatusComponent';
@@ -1,7 +1,7 @@
import React from 'react';
import { useTranslation } from 'react-i18next';
import { Icon, Tooltip, ViewportActionButton } from '@ohif/ui';
import { Icons } from '@ohif/ui-next';
import { ViewportActionButton } from '@ohif/ui';
import { Icons, Tooltip, TooltipTrigger, TooltipContent } from '@ohif/ui-next';
export default function _getStatusComponent({ isHydrated, onStatusClick }) {
let ToolTipMessage = null;
@@ -10,7 +10,6 @@ export default function _getStatusComponent({ isHydrated, onStatusClick }) {
switch (isHydrated) {
case true:
StatusIcon = () => <Icons.ByName name="status-alert" />;
ToolTipMessage = () => <div>This Segmentation is loaded in the segmentation panel</div>;
break;
case false:
@@ -20,7 +19,6 @@ export default function _getStatusComponent({ isHydrated, onStatusClick }) {
name="status-untracked"
/>
);
ToolTipMessage = () => <div>Click LOAD to load RTSTRUCT.</div>;
}
@@ -44,14 +42,18 @@ export default function _getStatusComponent({ isHydrated, onStatusClick }) {
return (
<>
{ToolTipMessage && (
<Tooltip
content={<ToolTipMessage />}
position="bottom-left"
>
<StatusArea />
<Tooltip>
<TooltipTrigger asChild>
<span>
<StatusArea />
</span>
</TooltipTrigger>
<TooltipContent side="bottom">
<ToolTipMessage />
</TooltipContent>
</Tooltip>
)}
{!ToolTipMessage && <StatusArea />}
</>
);
}
}
@@ -3,6 +3,46 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [3.10.0-beta.45](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.44...v3.10.0-beta.45) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-seg
# [3.10.0-beta.44](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.43...v3.10.0-beta.44) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-seg
# [3.10.0-beta.43](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.42...v3.10.0-beta.43) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-seg
# [3.10.0-beta.42](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.41...v3.10.0-beta.42) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-seg
# [3.10.0-beta.41](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.40...v3.10.0-beta.41) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-seg
# [3.10.0-beta.40](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.39...v3.10.0-beta.40) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-seg
@@ -1,6 +1,6 @@
{
"name": "@ohif/extension-cornerstone-dicom-seg",
"version": "3.10.0-beta.40",
"version": "3.10.0-beta.45",
"description": "DICOM SEG read workflow",
"author": "OHIF",
"license": "MIT",
@@ -33,10 +33,10 @@
"start": "yarn run dev"
},
"peerDependencies": {
"@ohif/core": "3.10.0-beta.40",
"@ohif/extension-cornerstone": "3.10.0-beta.40",
"@ohif/extension-default": "3.10.0-beta.40",
"@ohif/i18n": "3.10.0-beta.40",
"@ohif/core": "3.10.0-beta.45",
"@ohif/extension-cornerstone": "3.10.0-beta.45",
"@ohif/extension-default": "3.10.0-beta.45",
"@ohif/i18n": "3.10.0-beta.45",
"prop-types": "^15.6.2",
"react": "^18.3.1",
"react-dom": "^18.3.1",
@@ -1,6 +1,7 @@
import React, { useCallback, useEffect, useRef, useState } from 'react';
import { useTranslation } from 'react-i18next';
import { LoadingIndicatorTotalPercent, useViewportGrid, ViewportActionArrows } from '@ohif/ui';
import { LoadingIndicatorTotalPercent, ViewportActionArrows } from '@ohif/ui';
import { useViewportGrid } from '@ohif/ui-next';
import createSEGToolGroupAndAddTools from '../utils/initSEGToolGroup';
import promptHydrateSEG from '../utils/promptHydrateSEG';
import _getStatusComponent from './_getStatusComponent';
@@ -1,7 +1,7 @@
import React from 'react';
import { useTranslation } from 'react-i18next';
import { Tooltip, ViewportActionButton } from '@ohif/ui';
import { Icons } from '@ohif/ui-next';
import { ViewportActionButton } from '@ohif/ui';
import { Icons, Tooltip, TooltipTrigger, TooltipContent } from '@ohif/ui-next';
export default function _getStatusComponent({ isHydrated, onStatusClick }) {
let ToolTipMessage = null;
@@ -10,7 +10,6 @@ export default function _getStatusComponent({ isHydrated, onStatusClick }) {
switch (isHydrated) {
case true:
StatusIcon = () => <Icons.ByName name="status-alert" />;
ToolTipMessage = () => <div>This Segmentation is loaded in the segmentation panel</div>;
break;
case false:
@@ -20,7 +19,6 @@ export default function _getStatusComponent({ isHydrated, onStatusClick }) {
name="status-untracked"
/>
);
ToolTipMessage = () => <div>Click LOAD to load segmentation.</div>;
}
@@ -44,14 +42,18 @@ export default function _getStatusComponent({ isHydrated, onStatusClick }) {
return (
<>
{ToolTipMessage && (
<Tooltip
content={<ToolTipMessage />}
position="bottom-left"
>
<StatusArea />
<Tooltip>
<TooltipTrigger asChild>
<span>
<StatusArea />
</span>
</TooltipTrigger>
<TooltipContent side="bottom">
<ToolTipMessage />
</TooltipContent>
</Tooltip>
)}
{!ToolTipMessage && <StatusArea />}
</>
);
}
}
@@ -3,6 +3,46 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [3.10.0-beta.45](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.44...v3.10.0-beta.45) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-sr
# [3.10.0-beta.44](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.43...v3.10.0-beta.44) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-sr
# [3.10.0-beta.43](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.42...v3.10.0-beta.43) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-sr
# [3.10.0-beta.42](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.41...v3.10.0-beta.42) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-sr
# [3.10.0-beta.41](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.40...v3.10.0-beta.41) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-sr
# [3.10.0-beta.40](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.39...v3.10.0-beta.40) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-sr
+5 -5
View File
@@ -1,6 +1,6 @@
{
"name": "@ohif/extension-cornerstone-dicom-sr",
"version": "3.10.0-beta.40",
"version": "3.10.0-beta.45",
"description": "OHIF extension for an SR Cornerstone Viewport",
"author": "OHIF",
"license": "MIT",
@@ -34,10 +34,10 @@
"test:unit:ci": "jest --ci --runInBand --collectCoverage --passWithNoTests"
},
"peerDependencies": {
"@ohif/core": "3.10.0-beta.40",
"@ohif/extension-cornerstone": "3.10.0-beta.40",
"@ohif/extension-measurement-tracking": "3.10.0-beta.40",
"@ohif/ui": "3.10.0-beta.40",
"@ohif/core": "3.10.0-beta.45",
"@ohif/extension-cornerstone": "3.10.0-beta.45",
"@ohif/extension-measurement-tracking": "3.10.0-beta.45",
"@ohif/ui": "3.10.0-beta.45",
"dcmjs": "*",
"dicom-parser": "^1.8.9",
"hammerjs": "^2.0.8",
@@ -5,10 +5,12 @@ import { ExtensionManager, useToolbar } from '@ohif/core';
import { setTrackingUniqueIdentifiersForElement } from '../tools/modules/dicomSRModule';
import { Icon, Tooltip, useViewportGrid, ViewportActionArrows } from '@ohif/ui';
import { ViewportActionArrows } from '@ohif/ui';
import createReferencedImageDisplaySet from '../utils/createReferencedImageDisplaySet';
import { usePositionPresentationStore } from '@ohif/extension-cornerstone';
import { Icons } from '@ohif/ui-next';
import { useViewportGrid } from '@ohif/ui-next';
import { Icons, Tooltip, TooltipTrigger, TooltipContent } from '@ohif/ui-next';
const MEASUREMENT_TRACKING_EXTENSION_ID = '@ohif/extension-measurement-tracking';
const SR_TOOLGROUP_BASE_NAME = 'SRToolGroup';
@@ -467,11 +469,18 @@ function _getStatusComponent({
return (
<>
{ToolTipMessage && (
<Tooltip
content={<ToolTipMessage />}
position="bottom-left"
>
<StatusArea />
<Tooltip>
<TooltipTrigger asChild>
<span>
<StatusArea />
</span>
</TooltipTrigger>
<TooltipContent
side="bottom"
align="start"
>
<ToolTipMessage />
</TooltipContent>
</Tooltip>
)}
{!ToolTipMessage && <StatusArea />}
@@ -3,6 +3,46 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [3.10.0-beta.45](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.44...v3.10.0-beta.45) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-cornerstone-dynamic-volume
# [3.10.0-beta.44](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.43...v3.10.0-beta.44) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-cornerstone-dynamic-volume
# [3.10.0-beta.43](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.42...v3.10.0-beta.43) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-cornerstone-dynamic-volume
# [3.10.0-beta.42](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.41...v3.10.0-beta.42) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-cornerstone-dynamic-volume
# [3.10.0-beta.41](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.40...v3.10.0-beta.41) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-cornerstone-dynamic-volume
# [3.10.0-beta.40](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.39...v3.10.0-beta.40) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-cornerstone-dynamic-volume
@@ -1,6 +1,6 @@
{
"name": "@ohif/extension-cornerstone-dynamic-volume",
"version": "3.10.0-beta.40",
"version": "3.10.0-beta.45",
"description": "OHIF extension for 4D volumes data",
"author": "OHIF",
"license": "MIT",
@@ -29,11 +29,11 @@
"test:unit:ci": "jest --ci --runInBand --collectCoverage --passWithNoTests"
},
"peerDependencies": {
"@ohif/core": "3.10.0-beta.40",
"@ohif/extension-cornerstone": "3.10.0-beta.40",
"@ohif/extension-default": "3.10.0-beta.40",
"@ohif/i18n": "3.10.0-beta.40",
"@ohif/ui": "3.10.0-beta.40",
"@ohif/core": "3.10.0-beta.45",
"@ohif/extension-cornerstone": "3.10.0-beta.45",
"@ohif/extension-default": "3.10.0-beta.45",
"@ohif/i18n": "3.10.0-beta.45",
"@ohif/ui": "3.10.0-beta.45",
"dcmjs": "*",
"dicom-parser": "^1.8.21",
"hammerjs": "^2.0.8",
@@ -1,8 +1,6 @@
import React, { useState } from 'react';
import { Button, PanelSection, ButtonGroup, IconButton, InputNumber, Tooltip } from '@ohif/ui';
import { DoubleSlider, Icons } from '@ohif/ui-next';
import { Button, PanelSection, ButtonGroup, IconButton, InputNumber } from '@ohif/ui';
import { DoubleSlider, Icons, Tooltip, TooltipTrigger, TooltipContent } from '@ohif/ui-next';
import { Enums } from '@cornerstonejs/core';
const controlClassNames = {
@@ -13,16 +11,18 @@ const controlClassNames = {
const Header = ({ title, tooltip }) => (
<div className="flex items-center space-x-1">
<Tooltip
content={<div className="text-white">{tooltip}</div>}
position="bottom-left"
tight={true}
tooltipBoxClassName="max-w-xs p-2"
>
<Icons.ByName
name="info-link"
className="text-primary-active h-[14px] w-[14px]"
/>
<Tooltip>
<TooltipTrigger asChild>
<span>
<Icons.ByName
name="info-link"
className="text-primary-active h-[14px] w-[14px]"
/>
</span>
</TooltipTrigger>
<TooltipContent sideOffset={4} className="max-w-xs p-2 bg-primary-dark text-white">
<div>{tooltip}</div>
</TooltipContent>
</Tooltip>
<span className="text-aqua-pale text-[11px] uppercase">{title}</span>
</div>
@@ -45,9 +45,7 @@ const DynamicVolumeControls = ({
onDynamicClick,
}) => {
const [computedView, setComputedView] = useState(false);
const [computeViewMode, setComputeViewMode] = useState(Enums.DynamicOperatorType.SUM);
const [sliderRangeValues, setSliderRangeValues] = useState([0, framesLength - 1]);
const handleSliderChange = newValues => {
@@ -113,15 +111,14 @@ const DynamicVolumeControls = ({
<div>
Operation Buttons (SUM, AVERAGE, SUBTRACT): Select the mathematical operation to be
applied to the data set.
<br></br> Range Slider: Choose the numeric range within which the operation will be
<br /> Range Slider: Choose the numeric range within which the operation will be
performed.
<br></br>Generate Button: Execute the chosen operation on the specified range of
data.{' '}
<br />Generate Button: Execute the chosen operation on the specified range of data.
</div>
}
/>
<ButtonGroup
className={`mt-2 w-full`}
className="mt-2 w-full"
separated={true}
>
<button
@@ -190,8 +187,8 @@ function FrameControls({
title="4D Controls"
tooltip={
<div>
Play/Pause Button: Begin or pause the animation of the 4D visualization. <br></br> Frame
Selector: Navigate through individual frames of the 4D data. <br></br> FPS (Frames Per
Play/Pause Button: Begin or pause the animation of the 4D visualization. <br /> Frame
Selector: Navigate through individual frames of the 4D data. <br /> FPS (Frames Per
Second) Selector: Adjust the playback speed of the animation.
</div>
}
@@ -225,4 +222,4 @@ function FrameControls({
</div>
</div>
);
}
}
@@ -1,5 +1,6 @@
import React, { useEffect, useState, useRef } from 'react';
import { useCine, useViewportGrid } from '@ohif/ui';
import { useCine } from '@ohif/ui';
import { useViewportGrid } from '@ohif/ui-next';
import { utilities as csUtils, volumeLoader, eventTarget, Enums, cache } from '@cornerstonejs/core';
import { utilities as cstUtils } from '@cornerstonejs/tools';
import DynamicVolumeControls from './DynamicVolumeControls';
+40
View File
@@ -3,6 +3,46 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [3.10.0-beta.45](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.44...v3.10.0-beta.45) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-cornerstone
# [3.10.0-beta.44](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.43...v3.10.0-beta.44) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-cornerstone
# [3.10.0-beta.43](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.42...v3.10.0-beta.43) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-cornerstone
# [3.10.0-beta.42](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.41...v3.10.0-beta.42) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-cornerstone
# [3.10.0-beta.41](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.40...v3.10.0-beta.41) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-cornerstone
# [3.10.0-beta.40](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.39...v3.10.0-beta.40) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-cornerstone
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@ohif/extension-cornerstone",
"version": "3.10.0-beta.40",
"version": "3.10.0-beta.45",
"description": "OHIF extension for Cornerstone",
"author": "OHIF",
"license": "MIT",
@@ -40,8 +40,8 @@
"@cornerstonejs/codec-openjph": "^2.4.5",
"@cornerstonejs/dicom-image-loader": "^2.14.7",
"@icr/polyseg-wasm": "^0.4.0",
"@ohif/core": "3.10.0-beta.40",
"@ohif/ui": "3.10.0-beta.40",
"@ohif/core": "3.10.0-beta.45",
"@ohif/ui": "3.10.0-beta.45",
"dcmjs": "*",
"dicom-parser": "^1.8.21",
"hammerjs": "^2.0.8",
@@ -1,6 +1,6 @@
import React, { ReactElement } from 'react';
import PropTypes from 'prop-types';
import { useViewportGrid } from '@ohif/ui';
import { useViewportGrid } from '@ohif/ui-next';
import ViewportWindowLevel from '../ViewportWindowLevel/ViewportWindowLevel';
const ActiveViewportWindowLevel = ({ servicesManager }: withAppTypes): ReactElement => {
@@ -1,7 +1,8 @@
import React, { ReactElement, useCallback, useEffect, useState } from 'react';
import { useTranslation } from 'react-i18next';
import classNames from 'classnames';
import { AllInOneMenu, useViewportGrid } from '@ohif/ui';
import { AllInOneMenu } from '@ohif/ui';
import { useViewportGrid } from '@ohif/ui-next';
import { Colormap } from './Colormap';
import { Colorbar } from './Colorbar';
import { setViewportColorbar } from './Colorbar';
@@ -1,5 +1,5 @@
import React, { useEffect, useRef } from 'react';
import { useViewportGrid } from '@ohif/ui';
import { useViewportGrid } from '@ohif/ui-next';
import { MeasurementTable } from '@ohif/ui-next';
import debounce from 'lodash.debounce';
import { useMeasurements } from '../hooks/useMeasurements';
+43
View File
@@ -3,6 +3,49 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [3.10.0-beta.45](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.44...v3.10.0-beta.45) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-default
# [3.10.0-beta.44](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.43...v3.10.0-beta.44) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-default
# [3.10.0-beta.43](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.42...v3.10.0-beta.43) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-default
# [3.10.0-beta.42](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.41...v3.10.0-beta.42) (2025-01-08)
### Bug Fixes
* Convert Rows and Columns to numbers before comparison ([#4654](https://github.com/OHIF/Viewers/issues/4654)) ([#4656](https://github.com/OHIF/Viewers/issues/4656)) ([2f5076e](https://github.com/OHIF/Viewers/commit/2f5076ece8b3125c3426014efdf7fc6b498606d0))
# [3.10.0-beta.41](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.40...v3.10.0-beta.41) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-default
# [3.10.0-beta.40](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.39...v3.10.0-beta.40) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-default
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@ohif/extension-default",
"version": "3.10.0-beta.40",
"version": "3.10.0-beta.45",
"description": "Common/default features and functionality for basic image viewing",
"author": "OHIF Core Team",
"license": "MIT",
@@ -32,8 +32,8 @@
"start": "yarn run dev"
},
"peerDependencies": {
"@ohif/core": "3.10.0-beta.40",
"@ohif/i18n": "3.10.0-beta.40",
"@ohif/core": "3.10.0-beta.45",
"@ohif/i18n": "3.10.0-beta.45",
"dcmjs": "*",
"dicomweb-client": "^0.10.4",
"prop-types": "^15.6.2",
@@ -1,5 +1,6 @@
import React, { useState, useEffect } from 'react';
import { useImageViewer, useViewportGrid } from '@ohif/ui';
import { useImageViewer } from '@ohif/ui';
import { useViewportGrid } from '@ohif/ui-next';
import { StudyBrowser } from '@ohif/ui-next';
import { utils } from '@ohif/core';
import { useNavigate } from 'react-router-dom';
@@ -0,0 +1,41 @@
import areAllImageDimensionsEqual from './areAllImageDimensionsEqual';
describe('areAllImageDimensionsEqual', () => {
it('should return false when no instances are provided', () => {
expect(areAllImageDimensionsEqual([])).toBe(false);
expect(areAllImageDimensionsEqual([] as any)).toBe(false);
});
it('should return true when all instances have the same dimensions', () => {
const instances = [
{ Rows: '512', Columns: '512' },
{ Rows: '512', Columns: '512' },
{ Rows: '512', Columns: '512' }
];
expect(areAllImageDimensionsEqual(instances)).toBe(true);
});
it('should return true when comparing string and number dimensions of same value', () => {
const instances = [
{ Rows: 512, Columns: 512 },
{ Rows: '512', Columns: '512' }
];
expect(areAllImageDimensionsEqual(instances)).toBe(true);
});
it('should return false when instances have different dimensions', () => {
const instances = [
{ Rows: '512', Columns: '512' },
{ Rows: '256', Columns: '512' }
];
expect(areAllImageDimensionsEqual(instances)).toBe(false);
});
it('should return false when dimensions are invalid strings', () => {
const instances = [
{ Rows: '512', Columns: '512' },
{ Rows: 'invalid', Columns: '512' }
];
expect(areAllImageDimensionsEqual(instances)).toBe(false);
});
});
@@ -17,7 +17,7 @@ export default function areAllImageDimensionsEqual(instances: Array<any>): boole
const instance = instances[i];
const { Rows, Columns } = instance;
if (Rows !== firstImageRows || Columns !== firstImageColumns) {
if (toNumber(Rows) !== firstImageRows || toNumber(Columns) !== firstImageColumns) {
return false;
}
}
+40
View File
@@ -3,6 +3,46 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [3.10.0-beta.45](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.44...v3.10.0-beta.45) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-dicom-microscopy
# [3.10.0-beta.44](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.43...v3.10.0-beta.44) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-dicom-microscopy
# [3.10.0-beta.43](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.42...v3.10.0-beta.43) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-dicom-microscopy
# [3.10.0-beta.42](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.41...v3.10.0-beta.42) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-dicom-microscopy
# [3.10.0-beta.41](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.40...v3.10.0-beta.41) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-dicom-microscopy
# [3.10.0-beta.40](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.39...v3.10.0-beta.40) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-dicom-microscopy
+5 -5
View File
@@ -1,6 +1,6 @@
{
"name": "@ohif/extension-dicom-microscopy",
"version": "3.10.0-beta.40",
"version": "3.10.0-beta.45",
"description": "OHIF extension for DICOM microscopy",
"author": "Bill Wallace, md-prog",
"license": "MIT",
@@ -30,10 +30,10 @@
"start": "yarn run dev"
},
"peerDependencies": {
"@ohif/core": "3.10.0-beta.40",
"@ohif/extension-default": "3.10.0-beta.40",
"@ohif/i18n": "3.10.0-beta.40",
"@ohif/ui": "3.10.0-beta.40",
"@ohif/core": "3.10.0-beta.45",
"@ohif/extension-default": "3.10.0-beta.45",
"@ohif/i18n": "3.10.0-beta.45",
"@ohif/ui": "3.10.0-beta.45",
"prop-types": "^15.6.2",
"react": "^18.3.1",
"react-dom": "^18.3.1",
@@ -1,6 +1,6 @@
import React from 'react';
import type { Types } from '@ohif/core';
import { useViewportGrid } from '@ohif/ui';
import { useViewportGrid } from '@ohif/ui-next';
import MicroscopyPanel from './components/MicroscopyPanel/MicroscopyPanel';
// TODO:
+1 -2
View File
@@ -4,7 +4,7 @@ import getPanelModule from './getPanelModule';
import getCommandsModule from './getCommandsModule';
import { Types } from '@ohif/core';
import { useViewportGrid } from '@ohif/ui';
import { useViewportGrid } from '@ohif/ui-next';
import getDicomMicroscopySRSopClassHandler from './DicomMicroscopySRSopClassHandler';
import MicroscopyService from './services/MicroscopyService';
import { useResizeDetector } from 'react-resize-detector';
@@ -43,7 +43,6 @@ const extension: Types.Extensions.Extension = {
* that is provided by the Cornerstone extension in OHIF.
*/
getViewportModule({ servicesManager, extensionManager, commandsManager }) {
/**
*
* @param props {*}
+40
View File
@@ -3,6 +3,46 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [3.10.0-beta.45](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.44...v3.10.0-beta.45) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-dicom-pdf
# [3.10.0-beta.44](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.43...v3.10.0-beta.44) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-dicom-pdf
# [3.10.0-beta.43](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.42...v3.10.0-beta.43) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-dicom-pdf
# [3.10.0-beta.42](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.41...v3.10.0-beta.42) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-dicom-pdf
# [3.10.0-beta.41](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.40...v3.10.0-beta.41) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-dicom-pdf
# [3.10.0-beta.40](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.39...v3.10.0-beta.40) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-dicom-pdf
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@ohif/extension-dicom-pdf",
"version": "3.10.0-beta.40",
"version": "3.10.0-beta.45",
"description": "OHIF extension for PDF display",
"author": "OHIF",
"license": "MIT",
@@ -30,8 +30,8 @@
"test:unit:ci": "jest --ci --runInBand --collectCoverage --passWithNoTests"
},
"peerDependencies": {
"@ohif/core": "3.10.0-beta.40",
"@ohif/ui": "3.10.0-beta.40",
"@ohif/core": "3.10.0-beta.45",
"@ohif/ui": "3.10.0-beta.45",
"dcmjs": "*",
"dicom-parser": "^1.8.9",
"hammerjs": "^2.0.8",
+40
View File
@@ -3,6 +3,46 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [3.10.0-beta.45](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.44...v3.10.0-beta.45) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-dicom-video
# [3.10.0-beta.44](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.43...v3.10.0-beta.44) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-dicom-video
# [3.10.0-beta.43](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.42...v3.10.0-beta.43) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-dicom-video
# [3.10.0-beta.42](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.41...v3.10.0-beta.42) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-dicom-video
# [3.10.0-beta.41](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.40...v3.10.0-beta.41) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-dicom-video
# [3.10.0-beta.40](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.39...v3.10.0-beta.40) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-dicom-video
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@ohif/extension-dicom-video",
"version": "3.10.0-beta.40",
"version": "3.10.0-beta.45",
"description": "OHIF extension for video display",
"author": "OHIF",
"license": "MIT",
@@ -30,8 +30,8 @@
"test:unit:ci": "jest --ci --runInBand --collectCoverage --passWithNoTests"
},
"peerDependencies": {
"@ohif/core": "3.10.0-beta.40",
"@ohif/ui": "3.10.0-beta.40",
"@ohif/core": "3.10.0-beta.45",
"@ohif/ui": "3.10.0-beta.45",
"dcmjs": "*",
"dicom-parser": "^1.8.9",
"hammerjs": "^2.0.8",
@@ -3,6 +3,46 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [3.10.0-beta.45](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.44...v3.10.0-beta.45) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-measurement-tracking
# [3.10.0-beta.44](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.43...v3.10.0-beta.44) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-measurement-tracking
# [3.10.0-beta.43](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.42...v3.10.0-beta.43) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-measurement-tracking
# [3.10.0-beta.42](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.41...v3.10.0-beta.42) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-measurement-tracking
# [3.10.0-beta.41](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.40...v3.10.0-beta.41) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-measurement-tracking
# [3.10.0-beta.40](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.39...v3.10.0-beta.40) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-measurement-tracking
+6 -6
View File
@@ -1,6 +1,6 @@
{
"name": "@ohif/extension-measurement-tracking",
"version": "3.10.0-beta.40",
"version": "3.10.0-beta.45",
"description": "Tracking features and functionality for basic image viewing",
"author": "OHIF Core Team",
"license": "MIT",
@@ -34,10 +34,10 @@
"peerDependencies": {
"@cornerstonejs/core": "^2.14.7",
"@cornerstonejs/tools": "^2.14.7",
"@ohif/core": "3.10.0-beta.40",
"@ohif/extension-cornerstone-dicom-sr": "3.10.0-beta.40",
"@ohif/extension-default": "3.10.0-beta.40",
"@ohif/ui": "3.10.0-beta.40",
"@ohif/core": "3.10.0-beta.45",
"@ohif/extension-cornerstone-dicom-sr": "3.10.0-beta.45",
"@ohif/extension-default": "3.10.0-beta.45",
"@ohif/ui": "3.10.0-beta.45",
"classnames": "^2.3.2",
"dcmjs": "*",
"lodash.debounce": "^4.0.8",
@@ -49,7 +49,7 @@
},
"dependencies": {
"@babel/runtime": "^7.20.13",
"@ohif/ui": "3.10.0-beta.40",
"@ohif/ui": "3.10.0-beta.45",
"@xstate/react": "^3.2.2",
"xstate": "^4.10.0"
}
@@ -2,7 +2,7 @@ import React, { useContext, useEffect, useMemo } from 'react';
import PropTypes from 'prop-types';
import { Machine } from 'xstate';
import { useMachine } from '@xstate/react';
import { useViewportGrid } from '@ohif/ui';
import { useViewportGrid } from '@ohif/ui-next';
import { promptLabelAnnotation, promptSaveReport } from '@ohif/extension-default';
import { machineConfiguration, defaultOptions, RESPONSE } from './measurementTrackingMachine';
import promptBeginTracking from './promptBeginTracking';
@@ -1,6 +1,6 @@
import React, { useEffect, useState } from 'react';
import { PanelMeasurement } from '@ohif/extension-cornerstone';
import { useViewportGrid } from '@ohif/ui';
import { useViewportGrid } from '@ohif/ui-next';
import { StudySummary } from '@ohif/ui-next';
import { Button, Icons } from '@ohif/ui-next';
import { DicomMetadataStore, utils } from '@ohif/core';
@@ -3,7 +3,8 @@ import { useNavigate } from 'react-router-dom';
import { useTranslation } from 'react-i18next';
import PropTypes from 'prop-types';
import { utils } from '@ohif/core';
import { useImageViewer, useViewportGrid, Dialog, ButtonEnums } from '@ohif/ui';
import { useImageViewer, Dialog, ButtonEnums } from '@ohif/ui';
import { useViewportGrid } from '@ohif/ui-next';
import { StudyBrowser } from '@ohif/ui-next';
import { useTrackedMeasurements } from '../../getContextModule';
@@ -1,8 +1,8 @@
import React, { useState, useEffect, useCallback } from 'react';
import PropTypes from 'prop-types';
import { Tooltip, ViewportActionArrows, useViewportGrid } from '@ohif/ui';
import { Icons } from '@ohif/ui-next';
import { ViewportActionArrows } from '@ohif/ui';
import { useViewportGrid, Icons, Tooltip, TooltipTrigger, TooltipContent } from '@ohif/ui-next';
import { annotation } from '@cornerstonejs/tools';
import { useTrackedMeasurements } from './../getContextModule';
@@ -235,11 +235,9 @@ function TrackedCornerstoneViewport(
};
return (
<>
<div className="relative flex h-full w-full flex-row overflow-hidden">
{getCornerstoneViewport()}
</div>
</>
<div className="relative flex h-full w-full flex-row overflow-hidden">
{getCornerstoneViewport()}
</div>
);
}
@@ -312,7 +310,7 @@ const _getArrowsComponent = (isTracked, switchMeasurement, isActiveViewport) =>
<ViewportActionArrows
onArrowsClick={direction => switchMeasurement(direction)}
className={isActiveViewport ? 'visible' : 'invisible group-hover/pane:visible'}
></ViewportActionArrows>
/>
);
};
@@ -322,33 +320,23 @@ function _getStatusComponent(isTracked, t) {
}
return (
<div className="relative">
<Tooltip
position="bottom-left"
content={
<div className="flex py-2">
<div className="flex pt-1">
<Icons.InfoLink className="text-primary-main w-4" />
</div>
<div className="ml-4 flex">
<span className="text-common-light text-base">
{isTracked ? (
<>{t('Series is tracked and can be viewed in the measurement panel')}</>
) : (
<>
{t(
'Measurements for untracked series will not be shown in the measurements panel'
)}
</>
)}
</span>
</div>
</div>
}
<Tooltip>
<TooltipTrigger asChild>
<span>
<Icons.StatusTracking className="text-aqua-pale" />
</span>
</TooltipTrigger>
<TooltipContent
align="start"
side="bottom"
>
<Icons.StatusTracking className="text-aqua-pale" />
</Tooltip>
</div>
{isTracked ? (
<>{t('Series is tracked and can be viewed in the measurement panel')}</>
) : (
<>{t('Measurements for untracked series will not be shown in the measurements panel')}</>
)}
</TooltipContent>
</Tooltip>
);
}
+40
View File
@@ -3,6 +3,46 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [3.10.0-beta.45](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.44...v3.10.0-beta.45) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-test
# [3.10.0-beta.44](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.43...v3.10.0-beta.44) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-test
# [3.10.0-beta.43](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.42...v3.10.0-beta.43) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-test
# [3.10.0-beta.42](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.41...v3.10.0-beta.42) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-test
# [3.10.0-beta.41](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.40...v3.10.0-beta.41) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-test
# [3.10.0-beta.40](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.39...v3.10.0-beta.40) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-test
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@ohif/extension-test",
"version": "3.10.0-beta.40",
"version": "3.10.0-beta.45",
"description": "OHIF extension used inside e2e testing",
"author": "OHIF",
"license": "MIT",
@@ -30,8 +30,8 @@
"test:unit:ci": "jest --ci --runInBand --collectCoverage --passWithNoTests"
},
"peerDependencies": {
"@ohif/core": "3.10.0-beta.40",
"@ohif/ui": "3.10.0-beta.40",
"@ohif/core": "3.10.0-beta.45",
"@ohif/ui": "3.10.0-beta.45",
"dcmjs": "0.29.11",
"dicom-parser": "^1.8.9",
"hammerjs": "^2.0.8",
+40
View File
@@ -3,6 +3,46 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [3.10.0-beta.45](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.44...v3.10.0-beta.45) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-tmtv
# [3.10.0-beta.44](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.43...v3.10.0-beta.44) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-tmtv
# [3.10.0-beta.43](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.42...v3.10.0-beta.43) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-tmtv
# [3.10.0-beta.42](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.41...v3.10.0-beta.42) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-tmtv
# [3.10.0-beta.41](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.40...v3.10.0-beta.41) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-tmtv
# [3.10.0-beta.40](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.39...v3.10.0-beta.40) (2025-01-08)
**Note:** Version bump only for package @ohif/extension-tmtv
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@ohif/extension-tmtv",
"version": "3.10.0-beta.40",
"version": "3.10.0-beta.45",
"description": "OHIF extension for Total Metabolic Tumor Volume",
"author": "OHIF",
"license": "MIT",
@@ -30,8 +30,8 @@
"test:unit:ci": "jest --ci --runInBand --collectCoverage --passWithNoTests"
},
"peerDependencies": {
"@ohif/core": "3.10.0-beta.40",
"@ohif/ui": "3.10.0-beta.40",
"@ohif/core": "3.10.0-beta.45",
"@ohif/ui": "3.10.0-beta.45",
"dcmjs": "*",
"dicom-parser": "^1.8.9",
"hammerjs": "^2.0.8",
+1 -1
View File
@@ -1,5 +1,5 @@
{
"version": "3.10.0-beta.40",
"version": "3.10.0-beta.45",
"packages": ["extensions/*", "platform/*", "modes/*", "addOns/externals/*"],
"npmClient": "yarn"
}
+40
View File
@@ -3,6 +3,46 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [3.10.0-beta.45](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.44...v3.10.0-beta.45) (2025-01-08)
**Note:** Version bump only for package @ohif/mode-basic-dev-mode
# [3.10.0-beta.44](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.43...v3.10.0-beta.44) (2025-01-08)
**Note:** Version bump only for package @ohif/mode-basic-dev-mode
# [3.10.0-beta.43](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.42...v3.10.0-beta.43) (2025-01-08)
**Note:** Version bump only for package @ohif/mode-basic-dev-mode
# [3.10.0-beta.42](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.41...v3.10.0-beta.42) (2025-01-08)
**Note:** Version bump only for package @ohif/mode-basic-dev-mode
# [3.10.0-beta.41](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.40...v3.10.0-beta.41) (2025-01-08)
**Note:** Version bump only for package @ohif/mode-basic-dev-mode
# [3.10.0-beta.40](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.39...v3.10.0-beta.40) (2025-01-08)
**Note:** Version bump only for package @ohif/mode-basic-dev-mode
+7 -7
View File
@@ -1,6 +1,6 @@
{
"name": "@ohif/mode-basic-dev-mode",
"version": "3.10.0-beta.40",
"version": "3.10.0-beta.45",
"description": "Basic OHIF Viewer Using Cornerstone",
"author": "OHIF",
"license": "MIT",
@@ -31,12 +31,12 @@
"test:unit:ci": "jest --ci --runInBand --collectCoverage --passWithNoTests"
},
"peerDependencies": {
"@ohif/core": "3.10.0-beta.40",
"@ohif/extension-cornerstone": "3.10.0-beta.40",
"@ohif/extension-cornerstone-dicom-sr": "3.10.0-beta.40",
"@ohif/extension-default": "3.10.0-beta.40",
"@ohif/extension-dicom-pdf": "3.10.0-beta.40",
"@ohif/extension-dicom-video": "3.10.0-beta.40"
"@ohif/core": "3.10.0-beta.45",
"@ohif/extension-cornerstone": "3.10.0-beta.45",
"@ohif/extension-cornerstone-dicom-sr": "3.10.0-beta.45",
"@ohif/extension-default": "3.10.0-beta.45",
"@ohif/extension-dicom-pdf": "3.10.0-beta.45",
"@ohif/extension-dicom-video": "3.10.0-beta.45"
},
"dependencies": {
"@babel/runtime": "^7.20.13",
+40
View File
@@ -3,6 +3,46 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [3.10.0-beta.45](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.44...v3.10.0-beta.45) (2025-01-08)
**Note:** Version bump only for package @ohif/mode-test
# [3.10.0-beta.44](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.43...v3.10.0-beta.44) (2025-01-08)
**Note:** Version bump only for package @ohif/mode-test
# [3.10.0-beta.43](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.42...v3.10.0-beta.43) (2025-01-08)
**Note:** Version bump only for package @ohif/mode-test
# [3.10.0-beta.42](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.41...v3.10.0-beta.42) (2025-01-08)
**Note:** Version bump only for package @ohif/mode-test
# [3.10.0-beta.41](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.40...v3.10.0-beta.41) (2025-01-08)
**Note:** Version bump only for package @ohif/mode-test
# [3.10.0-beta.40](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.39...v3.10.0-beta.40) (2025-01-08)
**Note:** Version bump only for package @ohif/mode-test
+9 -9
View File
@@ -1,6 +1,6 @@
{
"name": "@ohif/mode-test",
"version": "3.10.0-beta.40",
"version": "3.10.0-beta.45",
"description": "Basic mode for testing",
"author": "OHIF",
"license": "MIT",
@@ -34,14 +34,14 @@
"test:unit:ci": "jest --ci --runInBand --collectCoverage --passWithNoTests"
},
"peerDependencies": {
"@ohif/core": "3.10.0-beta.40",
"@ohif/extension-cornerstone": "3.10.0-beta.40",
"@ohif/extension-cornerstone-dicom-sr": "3.10.0-beta.40",
"@ohif/extension-default": "3.10.0-beta.40",
"@ohif/extension-dicom-pdf": "3.10.0-beta.40",
"@ohif/extension-dicom-video": "3.10.0-beta.40",
"@ohif/extension-measurement-tracking": "3.10.0-beta.40",
"@ohif/extension-test": "3.10.0-beta.40"
"@ohif/core": "3.10.0-beta.45",
"@ohif/extension-cornerstone": "3.10.0-beta.45",
"@ohif/extension-cornerstone-dicom-sr": "3.10.0-beta.45",
"@ohif/extension-default": "3.10.0-beta.45",
"@ohif/extension-dicom-pdf": "3.10.0-beta.45",
"@ohif/extension-dicom-video": "3.10.0-beta.45",
"@ohif/extension-measurement-tracking": "3.10.0-beta.45",
"@ohif/extension-test": "3.10.0-beta.45"
},
"dependencies": {
"@babel/runtime": "^7.20.13",
+40
View File
@@ -3,6 +3,46 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [3.10.0-beta.45](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.44...v3.10.0-beta.45) (2025-01-08)
**Note:** Version bump only for package @ohif/mode-longitudinal
# [3.10.0-beta.44](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.43...v3.10.0-beta.44) (2025-01-08)
**Note:** Version bump only for package @ohif/mode-longitudinal
# [3.10.0-beta.43](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.42...v3.10.0-beta.43) (2025-01-08)
**Note:** Version bump only for package @ohif/mode-longitudinal
# [3.10.0-beta.42](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.41...v3.10.0-beta.42) (2025-01-08)
**Note:** Version bump only for package @ohif/mode-longitudinal
# [3.10.0-beta.41](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.40...v3.10.0-beta.41) (2025-01-08)
**Note:** Version bump only for package @ohif/mode-longitudinal
# [3.10.0-beta.40](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.39...v3.10.0-beta.40) (2025-01-08)
**Note:** Version bump only for package @ohif/mode-longitudinal
+10 -10
View File
@@ -1,6 +1,6 @@
{
"name": "@ohif/mode-longitudinal",
"version": "3.10.0-beta.40",
"version": "3.10.0-beta.45",
"description": "Longitudinal Workflow",
"author": "OHIF",
"license": "MIT",
@@ -34,15 +34,15 @@
"test:unit:ci": "jest --ci --runInBand --collectCoverage --passWithNoTests"
},
"peerDependencies": {
"@ohif/core": "3.10.0-beta.40",
"@ohif/extension-cornerstone": "3.10.0-beta.40",
"@ohif/extension-cornerstone-dicom-rt": "3.10.0-beta.40",
"@ohif/extension-cornerstone-dicom-seg": "3.10.0-beta.40",
"@ohif/extension-cornerstone-dicom-sr": "3.10.0-beta.40",
"@ohif/extension-default": "3.10.0-beta.40",
"@ohif/extension-dicom-pdf": "3.10.0-beta.40",
"@ohif/extension-dicom-video": "3.10.0-beta.40",
"@ohif/extension-measurement-tracking": "3.10.0-beta.40"
"@ohif/core": "3.10.0-beta.45",
"@ohif/extension-cornerstone": "3.10.0-beta.45",
"@ohif/extension-cornerstone-dicom-rt": "3.10.0-beta.45",
"@ohif/extension-cornerstone-dicom-seg": "3.10.0-beta.45",
"@ohif/extension-cornerstone-dicom-sr": "3.10.0-beta.45",
"@ohif/extension-default": "3.10.0-beta.45",
"@ohif/extension-dicom-pdf": "3.10.0-beta.45",
"@ohif/extension-dicom-video": "3.10.0-beta.45",
"@ohif/extension-measurement-tracking": "3.10.0-beta.45"
},
"dependencies": {
"@babel/runtime": "^7.20.13",
+40
View File
@@ -3,6 +3,46 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [3.10.0-beta.45](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.44...v3.10.0-beta.45) (2025-01-08)
**Note:** Version bump only for package @ohif/mode-microscopy
# [3.10.0-beta.44](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.43...v3.10.0-beta.44) (2025-01-08)
**Note:** Version bump only for package @ohif/mode-microscopy
# [3.10.0-beta.43](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.42...v3.10.0-beta.43) (2025-01-08)
**Note:** Version bump only for package @ohif/mode-microscopy
# [3.10.0-beta.42](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.41...v3.10.0-beta.42) (2025-01-08)
**Note:** Version bump only for package @ohif/mode-microscopy
# [3.10.0-beta.41](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.40...v3.10.0-beta.41) (2025-01-08)
**Note:** Version bump only for package @ohif/mode-microscopy
# [3.10.0-beta.40](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.39...v3.10.0-beta.40) (2025-01-08)
**Note:** Version bump only for package @ohif/mode-microscopy
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@ohif/mode-microscopy",
"version": "3.10.0-beta.40",
"version": "3.10.0-beta.45",
"description": "OHIF mode for DICOM microscopy",
"author": "OHIF",
"license": "MIT",
@@ -35,8 +35,8 @@
"test:unit:ci": "jest --ci --runInBand --collectCoverage --passWithNoTests"
},
"peerDependencies": {
"@ohif/core": "3.10.0-beta.40",
"@ohif/extension-dicom-microscopy": "3.10.0-beta.40"
"@ohif/core": "3.10.0-beta.45",
"@ohif/extension-dicom-microscopy": "3.10.0-beta.45"
},
"dependencies": {
"@babel/runtime": "^7.20.13",
+40
View File
@@ -3,6 +3,46 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [3.10.0-beta.45](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.44...v3.10.0-beta.45) (2025-01-08)
**Note:** Version bump only for package @ohif/mode-preclinical-4d
# [3.10.0-beta.44](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.43...v3.10.0-beta.44) (2025-01-08)
**Note:** Version bump only for package @ohif/mode-preclinical-4d
# [3.10.0-beta.43](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.42...v3.10.0-beta.43) (2025-01-08)
**Note:** Version bump only for package @ohif/mode-preclinical-4d
# [3.10.0-beta.42](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.41...v3.10.0-beta.42) (2025-01-08)
**Note:** Version bump only for package @ohif/mode-preclinical-4d
# [3.10.0-beta.41](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.40...v3.10.0-beta.41) (2025-01-08)
**Note:** Version bump only for package @ohif/mode-preclinical-4d
# [3.10.0-beta.40](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.39...v3.10.0-beta.40) (2025-01-08)
**Note:** Version bump only for package @ohif/mode-preclinical-4d
+7 -7
View File
@@ -1,6 +1,6 @@
{
"name": "@ohif/mode-preclinical-4d",
"version": "3.10.0-beta.40",
"version": "3.10.0-beta.45",
"description": "4D Workflow",
"author": "OHIF",
"license": "MIT",
@@ -33,12 +33,12 @@
"test:unit:ci": "jest --ci --runInBand --collectCoverage --passWithNoTests"
},
"peerDependencies": {
"@ohif/core": "3.10.0-beta.40",
"@ohif/extension-cornerstone": "3.10.0-beta.40",
"@ohif/extension-cornerstone-dicom-seg": "3.10.0-beta.40",
"@ohif/extension-cornerstone-dynamic-volume": "3.10.0-beta.40",
"@ohif/extension-default": "3.10.0-beta.40",
"@ohif/extension-tmtv": "3.10.0-beta.40"
"@ohif/core": "3.10.0-beta.45",
"@ohif/extension-cornerstone": "3.10.0-beta.45",
"@ohif/extension-cornerstone-dicom-seg": "3.10.0-beta.45",
"@ohif/extension-cornerstone-dynamic-volume": "3.10.0-beta.45",
"@ohif/extension-default": "3.10.0-beta.45",
"@ohif/extension-tmtv": "3.10.0-beta.45"
},
"dependencies": {
"@babel/runtime": "^7.20.13"
+40
View File
@@ -3,6 +3,46 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [3.10.0-beta.45](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.44...v3.10.0-beta.45) (2025-01-08)
**Note:** Version bump only for package @ohif/mode-segmentation
# [3.10.0-beta.44](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.43...v3.10.0-beta.44) (2025-01-08)
**Note:** Version bump only for package @ohif/mode-segmentation
# [3.10.0-beta.43](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.42...v3.10.0-beta.43) (2025-01-08)
**Note:** Version bump only for package @ohif/mode-segmentation
# [3.10.0-beta.42](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.41...v3.10.0-beta.42) (2025-01-08)
**Note:** Version bump only for package @ohif/mode-segmentation
# [3.10.0-beta.41](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.40...v3.10.0-beta.41) (2025-01-08)
**Note:** Version bump only for package @ohif/mode-segmentation
# [3.10.0-beta.40](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.39...v3.10.0-beta.40) (2025-01-08)
**Note:** Version bump only for package @ohif/mode-segmentation
+9 -9
View File
@@ -1,6 +1,6 @@
{
"name": "@ohif/mode-segmentation",
"version": "3.10.0-beta.40",
"version": "3.10.0-beta.45",
"description": "OHIF segmentation mode which enables labelmap segmentation read/edit/export",
"author": "@ohif",
"license": "MIT",
@@ -35,14 +35,14 @@
"test:unit:ci": "jest --ci --runInBand --collectCoverage --passWithNoTests"
},
"peerDependencies": {
"@ohif/core": "3.10.0-beta.40",
"@ohif/extension-cornerstone": "3.10.0-beta.40",
"@ohif/extension-cornerstone-dicom-rt": "3.10.0-beta.40",
"@ohif/extension-cornerstone-dicom-seg": "3.10.0-beta.40",
"@ohif/extension-cornerstone-dicom-sr": "3.10.0-beta.40",
"@ohif/extension-default": "3.10.0-beta.40",
"@ohif/extension-dicom-pdf": "3.10.0-beta.40",
"@ohif/extension-dicom-video": "3.10.0-beta.40"
"@ohif/core": "3.10.0-beta.45",
"@ohif/extension-cornerstone": "3.10.0-beta.45",
"@ohif/extension-cornerstone-dicom-rt": "3.10.0-beta.45",
"@ohif/extension-cornerstone-dicom-seg": "3.10.0-beta.45",
"@ohif/extension-cornerstone-dicom-sr": "3.10.0-beta.45",
"@ohif/extension-default": "3.10.0-beta.45",
"@ohif/extension-dicom-pdf": "3.10.0-beta.45",
"@ohif/extension-dicom-video": "3.10.0-beta.45"
},
"dependencies": {
"@babel/runtime": "^7.20.13",
+40
View File
@@ -3,6 +3,46 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [3.10.0-beta.45](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.44...v3.10.0-beta.45) (2025-01-08)
**Note:** Version bump only for package @ohif/mode-tmtv
# [3.10.0-beta.44](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.43...v3.10.0-beta.44) (2025-01-08)
**Note:** Version bump only for package @ohif/mode-tmtv
# [3.10.0-beta.43](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.42...v3.10.0-beta.43) (2025-01-08)
**Note:** Version bump only for package @ohif/mode-tmtv
# [3.10.0-beta.42](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.41...v3.10.0-beta.42) (2025-01-08)
**Note:** Version bump only for package @ohif/mode-tmtv
# [3.10.0-beta.41](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.40...v3.10.0-beta.41) (2025-01-08)
**Note:** Version bump only for package @ohif/mode-tmtv
# [3.10.0-beta.40](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.39...v3.10.0-beta.40) (2025-01-08)
**Note:** Version bump only for package @ohif/mode-tmtv
+8 -8
View File
@@ -1,6 +1,6 @@
{
"name": "@ohif/mode-tmtv",
"version": "3.10.0-beta.40",
"version": "3.10.0-beta.45",
"description": "Total Metabolic Tumor Volume Workflow",
"author": "OHIF",
"license": "MIT",
@@ -34,13 +34,13 @@
"test:unit:ci": "jest --ci --runInBand --collectCoverage --passWithNoTests"
},
"peerDependencies": {
"@ohif/core": "3.10.0-beta.40",
"@ohif/extension-cornerstone": "3.10.0-beta.40",
"@ohif/extension-cornerstone-dicom-sr": "3.10.0-beta.40",
"@ohif/extension-default": "3.10.0-beta.40",
"@ohif/extension-dicom-pdf": "3.10.0-beta.40",
"@ohif/extension-dicom-video": "3.10.0-beta.40",
"@ohif/extension-measurement-tracking": "3.10.0-beta.40"
"@ohif/core": "3.10.0-beta.45",
"@ohif/extension-cornerstone": "3.10.0-beta.45",
"@ohif/extension-cornerstone-dicom-sr": "3.10.0-beta.45",
"@ohif/extension-default": "3.10.0-beta.45",
"@ohif/extension-dicom-pdf": "3.10.0-beta.45",
"@ohif/extension-dicom-video": "3.10.0-beta.45",
"@ohif/extension-measurement-tracking": "3.10.0-beta.45"
},
"dependencies": {
"@babel/runtime": "^7.20.13",
+40
View File
@@ -3,6 +3,46 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [3.10.0-beta.45](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.44...v3.10.0-beta.45) (2025-01-08)
**Note:** Version bump only for package @ohif/app
# [3.10.0-beta.44](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.43...v3.10.0-beta.44) (2025-01-08)
**Note:** Version bump only for package @ohif/app
# [3.10.0-beta.43](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.42...v3.10.0-beta.43) (2025-01-08)
**Note:** Version bump only for package @ohif/app
# [3.10.0-beta.42](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.41...v3.10.0-beta.42) (2025-01-08)
**Note:** Version bump only for package @ohif/app
# [3.10.0-beta.41](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.40...v3.10.0-beta.41) (2025-01-08)
**Note:** Version bump only for package @ohif/app
# [3.10.0-beta.40](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.39...v3.10.0-beta.40) (2025-01-08)
**Note:** Version bump only for package @ohif/app
+18 -18
View File
@@ -1,6 +1,6 @@
{
"name": "@ohif/app",
"version": "3.10.0-beta.40",
"version": "3.10.0-beta.45",
"productVersion": "3.4.0",
"description": "OHIF Viewer",
"author": "OHIF Contributors",
@@ -55,23 +55,23 @@
"@cornerstonejs/codec-openjph": "^2.4.5",
"@cornerstonejs/dicom-image-loader": "^2.14.7",
"@emotion/serialize": "^1.1.3",
"@ohif/core": "3.10.0-beta.40",
"@ohif/extension-cornerstone": "3.10.0-beta.40",
"@ohif/extension-cornerstone-dicom-rt": "3.10.0-beta.40",
"@ohif/extension-cornerstone-dicom-seg": "3.10.0-beta.40",
"@ohif/extension-cornerstone-dicom-sr": "3.10.0-beta.40",
"@ohif/extension-default": "3.10.0-beta.40",
"@ohif/extension-dicom-microscopy": "3.10.0-beta.40",
"@ohif/extension-dicom-pdf": "3.10.0-beta.40",
"@ohif/extension-dicom-video": "3.10.0-beta.40",
"@ohif/extension-test": "3.10.0-beta.40",
"@ohif/i18n": "3.10.0-beta.40",
"@ohif/mode-basic-dev-mode": "3.10.0-beta.40",
"@ohif/mode-longitudinal": "3.10.0-beta.40",
"@ohif/mode-microscopy": "3.10.0-beta.40",
"@ohif/mode-test": "3.10.0-beta.40",
"@ohif/ui": "3.10.0-beta.40",
"@ohif/ui-next": "3.10.0-beta.40",
"@ohif/core": "3.10.0-beta.45",
"@ohif/extension-cornerstone": "3.10.0-beta.45",
"@ohif/extension-cornerstone-dicom-rt": "3.10.0-beta.45",
"@ohif/extension-cornerstone-dicom-seg": "3.10.0-beta.45",
"@ohif/extension-cornerstone-dicom-sr": "3.10.0-beta.45",
"@ohif/extension-default": "3.10.0-beta.45",
"@ohif/extension-dicom-microscopy": "3.10.0-beta.45",
"@ohif/extension-dicom-pdf": "3.10.0-beta.45",
"@ohif/extension-dicom-video": "3.10.0-beta.45",
"@ohif/extension-test": "3.10.0-beta.45",
"@ohif/i18n": "3.10.0-beta.45",
"@ohif/mode-basic-dev-mode": "3.10.0-beta.45",
"@ohif/mode-longitudinal": "3.10.0-beta.45",
"@ohif/mode-microscopy": "3.10.0-beta.45",
"@ohif/mode-test": "3.10.0-beta.45",
"@ohif/ui": "3.10.0-beta.45",
"@ohif/ui-next": "3.10.0-beta.45",
"@svgr/webpack": "^8.1.0",
"@types/react": "^18.3.3",
"classnames": "^2.3.2",
+1 -1
View File
@@ -19,7 +19,6 @@ import {
ModalProvider,
ThemeWrapper,
ViewportDialogProvider,
ViewportGridProvider,
CineProvider,
UserAuthenticationProvider,
ToolboxProvider,
@@ -27,6 +26,7 @@ import {
import {
ThemeWrapper as ThemeWrapperNext,
NotificationProvider,
ViewportGridProvider,
TooltipProvider,
} from '@ohif/ui-next';
// Viewer Project
+2 -1
View File
@@ -1,7 +1,8 @@
import React, { useEffect, useCallback, useRef } from 'react';
import { useResizeDetector } from 'react-resize-detector';
import { Types, MeasurementService } from '@ohif/core';
import { ViewportGrid, ViewportPane, useViewportGrid } from '@ohif/ui';
import { ViewportGrid, ViewportPane } from '@ohif/ui';
import { useViewportGrid } from '@ohif/ui-next';
import EmptyViewport from './EmptyViewport';
import classNames from 'classnames';
import { useAppConfig } from '@state';
+34 -12
View File
@@ -14,13 +14,11 @@ import { utils, hotkeys } from '@ohif/core';
import publicUrl from '../../utils/publicUrl';
import {
Icon,
StudyListExpandedRow,
EmptyStudies,
StudyListTable,
StudyListPagination,
StudyListFilter,
TooltipClipboard,
useModal,
AboutModal,
UserPreferences,
@@ -31,12 +29,20 @@ import {
ButtonEnums,
} from '@ohif/ui';
import { Header, Icons } from '@ohif/ui-next';
import {
Header,
Icons,
Tooltip,
TooltipTrigger,
TooltipContent,
Clipboard,
Onboarding,
ScrollArea,
} from '@ohif/ui-next';
import { Types } from '@ohif/ui';
import i18n from '@ohif/i18n';
import { Onboarding, ScrollArea } from '@ohif/ui-next';
const PatientInfoVisibility = Types.PatientInfoVisibility;
@@ -274,22 +280,37 @@ function WorkList({
t('Common:localTimeFormat', 'hh:mm A')
);
const makeCopyTooltipCell = textValue => {
if (!textValue) {
return '';
}
return (
<Tooltip>
<TooltipTrigger asChild>
<span className="cursor-pointer truncate">{textValue}</span>
</TooltipTrigger>
<TooltipContent side="bottom">
<div className="flex items-center justify-between gap-2">
{textValue}
<Clipboard>{textValue}</Clipboard>
</div>
</TooltipContent>
</Tooltip>
);
};
return {
dataCY: `studyRow-${studyInstanceUid}`,
clickableCY: studyInstanceUid,
row: [
{
key: 'patientName',
content: patientName ? (
<TooltipClipboard>{patientName}</TooltipClipboard>
) : (
<span className="text-gray-700">(Empty)</span>
),
content: patientName ? makeCopyTooltipCell(patientName) : null,
gridCol: 4,
},
{
key: 'mrn',
content: <TooltipClipboard>{mrn}</TooltipClipboard>,
content: makeCopyTooltipCell(mrn),
gridCol: 3,
},
{
@@ -305,7 +326,7 @@ function WorkList({
},
{
key: 'description',
content: <TooltipClipboard>{description}</TooltipClipboard>,
content: makeCopyTooltipCell(description),
gridCol: 4,
},
{
@@ -316,7 +337,7 @@ function WorkList({
},
{
key: 'accession',
content: <TooltipClipboard>{accession}</TooltipClipboard>,
content: makeCopyTooltipCell(accession),
gridCol: 3,
},
{
@@ -392,6 +413,7 @@ function WorkList({
query.append('configUrl', filterValues.configUrl);
}
query.append('StudyInstanceUIDs', studyInstanceUid);
return (
mode.displayName && (
<Link
+40
View File
@@ -3,6 +3,46 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [3.10.0-beta.45](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.44...v3.10.0-beta.45) (2025-01-08)
**Note:** Version bump only for package @ohif/cli
# [3.10.0-beta.44](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.43...v3.10.0-beta.44) (2025-01-08)
**Note:** Version bump only for package @ohif/cli
# [3.10.0-beta.43](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.42...v3.10.0-beta.43) (2025-01-08)
**Note:** Version bump only for package @ohif/cli
# [3.10.0-beta.42](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.41...v3.10.0-beta.42) (2025-01-08)
**Note:** Version bump only for package @ohif/cli
# [3.10.0-beta.41](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.40...v3.10.0-beta.41) (2025-01-08)
**Note:** Version bump only for package @ohif/cli
# [3.10.0-beta.40](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.39...v3.10.0-beta.40) (2025-01-08)
**Note:** Version bump only for package @ohif/cli
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@ohif/cli",
"version": "3.10.0-beta.40",
"version": "3.10.0-beta.45",
"description": "A CLI to bootstrap new OHIF extension or mode",
"type": "module",
"main": "src/index.js",
+40
View File
@@ -3,6 +3,46 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [3.10.0-beta.45](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.44...v3.10.0-beta.45) (2025-01-08)
**Note:** Version bump only for package @ohif/core
# [3.10.0-beta.44](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.43...v3.10.0-beta.44) (2025-01-08)
**Note:** Version bump only for package @ohif/core
# [3.10.0-beta.43](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.42...v3.10.0-beta.43) (2025-01-08)
**Note:** Version bump only for package @ohif/core
# [3.10.0-beta.42](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.41...v3.10.0-beta.42) (2025-01-08)
**Note:** Version bump only for package @ohif/core
# [3.10.0-beta.41](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.40...v3.10.0-beta.41) (2025-01-08)
**Note:** Version bump only for package @ohif/core
# [3.10.0-beta.40](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.39...v3.10.0-beta.40) (2025-01-08)
**Note:** Version bump only for package @ohif/core
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@ohif/core",
"version": "3.10.0-beta.40",
"version": "3.10.0-beta.45",
"description": "Generic business logic for web-based medical imaging applications",
"author": "OHIF Core Team",
"license": "MIT",
@@ -38,7 +38,7 @@
"@cornerstonejs/codec-openjpeg": "^1.2.4",
"@cornerstonejs/codec-openjph": "^2.4.5",
"@cornerstonejs/dicom-image-loader": "^2.14.7",
"@ohif/ui": "3.10.0-beta.40",
"@ohif/ui": "3.10.0-beta.45",
"cornerstone-math": "0.1.9",
"dicom-parser": "^1.8.21"
},
+40
View File
@@ -3,6 +3,46 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [3.10.0-beta.45](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.44...v3.10.0-beta.45) (2025-01-08)
**Note:** Version bump only for package ohif-docs
# [3.10.0-beta.44](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.43...v3.10.0-beta.44) (2025-01-08)
**Note:** Version bump only for package ohif-docs
# [3.10.0-beta.43](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.42...v3.10.0-beta.43) (2025-01-08)
**Note:** Version bump only for package ohif-docs
# [3.10.0-beta.42](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.41...v3.10.0-beta.42) (2025-01-08)
**Note:** Version bump only for package ohif-docs
# [3.10.0-beta.41](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.40...v3.10.0-beta.41) (2025-01-08)
**Note:** Version bump only for package ohif-docs
# [3.10.0-beta.40](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.39...v3.10.0-beta.40) (2025-01-08)
**Note:** Version bump only for package ohif-docs
@@ -0,0 +1,15 @@
---
title: General
---
## HTML Template Update
We have modified the `template.html` file so if you are using a custom template, you will need to update it.
Here are the key changes needed in the migration:
1. Added `window.PUBLIC_URL` declaration:
```javascript
window.PUBLIC_URL = '<%= PUBLIC_URL %>';
```
Was added before the `<!-- EXTENSIONS -->` comment block.
@@ -1,6 +1,5 @@
---
sidebar_position: 2
sidebar_label: Icons
title: Icons
---
## Migration Guide: Icon Component Updates
@@ -0,0 +1,62 @@
---
title: Tooltip
---
## Tooltip Updates
### Changes:
- Updated Tooltip structure to use `Tooltip`, `TooltipTrigger`, and `TooltipContent`.
- Removed deprecated `TooltipClipboard` and inline `content`/`position` properties.
### Migration Steps:
1. Replace imports:
```tsx
// Before
import { Tooltip } from '@ohif/ui';
import { TooltipClipboard } from '@ohif/ui';
// After
import { Tooltip, TooltipTrigger, TooltipContent } from '@ohif/ui-next';
```
2. Update Tooltip usage:
```tsx
// Before
<Tooltip content={<div>Tooltip Message</div>} position="bottom-left">
<Component />
</Tooltip>
// After
<Tooltip>
<TooltipTrigger asChild>
<Component />
</TooltipTrigger>
<TooltipContent side="bottom">
Tooltip Message
</TooltipContent>
</Tooltip>
```
3. TooltipClipboard Replacement:
The `TooltipClipboard` component has been removed. Instead, use the `Clipboard` component inside `TooltipContent` for copying text functionality.
#### Before:
```tsx
<TooltipClipboard>{text}</TooltipClipboard>
```
#### After:
```tsx
<Tooltip>
<TooltipTrigger asChild>
<span className="cursor-pointer truncate">{text}</span>
</TooltipTrigger>
<TooltipContent side="bottom">
<div className="flex items-center justify-between gap-2">
{text}
<Clipboard>{text}</Clipboard>
</div>
</TooltipContent>
</Tooltip>
```
@@ -4,3 +4,6 @@ sidebar_label: 3.9 -> 3.10 beta
---
# Migration Guide
## General
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "ohif-docs",
"version": "3.10.0-beta.40",
"version": "3.10.0-beta.45",
"private": true,
"workspaces": {
"nohoist": [
+40
View File
@@ -3,6 +3,46 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [3.10.0-beta.45](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.44...v3.10.0-beta.45) (2025-01-08)
**Note:** Version bump only for package @ohif/i18n
# [3.10.0-beta.44](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.43...v3.10.0-beta.44) (2025-01-08)
**Note:** Version bump only for package @ohif/i18n
# [3.10.0-beta.43](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.42...v3.10.0-beta.43) (2025-01-08)
**Note:** Version bump only for package @ohif/i18n
# [3.10.0-beta.42](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.41...v3.10.0-beta.42) (2025-01-08)
**Note:** Version bump only for package @ohif/i18n
# [3.10.0-beta.41](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.40...v3.10.0-beta.41) (2025-01-08)
**Note:** Version bump only for package @ohif/i18n
# [3.10.0-beta.40](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.39...v3.10.0-beta.40) (2025-01-08)
**Note:** Version bump only for package @ohif/i18n
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@ohif/i18n",
"version": "3.10.0-beta.40",
"version": "3.10.0-beta.45",
"description": "Internationalization library for The OHIF Viewer",
"author": "OHIF",
"license": "MIT",
+40
View File
@@ -3,6 +3,46 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [3.10.0-beta.45](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.44...v3.10.0-beta.45) (2025-01-08)
**Note:** Version bump only for package @ohif/ui-next
# [3.10.0-beta.44](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.43...v3.10.0-beta.44) (2025-01-08)
**Note:** Version bump only for package @ohif/ui-next
# [3.10.0-beta.43](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.42...v3.10.0-beta.43) (2025-01-08)
**Note:** Version bump only for package @ohif/ui-next
# [3.10.0-beta.42](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.41...v3.10.0-beta.42) (2025-01-08)
**Note:** Version bump only for package @ohif/ui-next
# [3.10.0-beta.41](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.40...v3.10.0-beta.41) (2025-01-08)
**Note:** Version bump only for package @ohif/ui-next
# [3.10.0-beta.40](https://github.com/OHIF/Viewers/compare/v3.10.0-beta.39...v3.10.0-beta.40) (2025-01-08)
**Note:** Version bump only for package @ohif/ui-next
+2 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@ohif/ui-next",
"version": "3.10.0-beta.40",
"version": "3.10.0-beta.45",
"description": "Next version of OHIF Viewers UI, more customizable using shadcn/ui",
"main": "dist/ohif-ui-next.umd.js",
"module": "src/index.ts",
@@ -29,6 +29,7 @@
"dependencies": {
"@radix-ui/react-accordion": "^1.2.0",
"@radix-ui/react-checkbox": "^1.1.1",
"@radix-ui/react-context-menu": "^2.2.4",
"@radix-ui/react-dialog": "^1.1.1",
"@radix-ui/react-dropdown-menu": "^2.1.1",
"@radix-ui/react-icons": "^1.3.0",
@@ -0,0 +1,55 @@
import React, { ReactNode } from 'react';
import { Button } from '../Button';
import { Icons } from '../Icons';
interface ClipboardProps {
children: ReactNode;
}
const Clipboard: React.FC<ClipboardProps> = ({ children }) => {
const [copyState, setCopyState] = React.useState<'idle' | 'success' | 'error'>('idle');
const copyText = React.useMemo(() => {
if (typeof children === 'string') {
return children.trim();
}
return '';
}, [children]);
const handleCopy = React.useCallback(async () => {
if (!copyText) {
return;
}
try {
await navigator.clipboard.writeText(copyText);
setCopyState('success');
} catch {
setCopyState('error');
} finally {
setTimeout(() => setCopyState('idle'), 1500); // Reset state after feedback
}
}, [copyText]);
return (
<Button
variant="ghost"
size="icon"
onClick={e => {
e.stopPropagation();
handleCopy();
}}
className="text-white"
title="Copy"
>
{copyState === 'idle' && <Icons.Copy className="h-6 w-6" />}
{copyState === 'success' && <Icons.FeedbackComplete className="h-6 w-6 text-white" />}
{copyState === 'error' && (
<Icons.ByName
name="Error"
className="h-6 w-6 text-white"
/>
)}
</Button>
);
};
export { Clipboard };
@@ -0,0 +1,3 @@
import { Clipboard } from './Clipboard';
export { Clipboard };
@@ -0,0 +1,187 @@
import * as React from 'react';
import * as ContextMenuPrimitive from '@radix-ui/react-context-menu';
import { cn } from '../../lib/utils';
import { CheckIcon, ChevronRightIcon, DotFilledIcon } from '@radix-ui/react-icons';
const ContextMenu = ContextMenuPrimitive.Root;
const ContextMenuTrigger = ContextMenuPrimitive.Trigger;
const ContextMenuGroup = ContextMenuPrimitive.Group;
const ContextMenuPortal = ContextMenuPrimitive.Portal;
const ContextMenuSub = ContextMenuPrimitive.Sub;
const ContextMenuRadioGroup = ContextMenuPrimitive.RadioGroup;
const ContextMenuSubTrigger = React.forwardRef<
React.ElementRef<typeof ContextMenuPrimitive.SubTrigger>,
React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.SubTrigger> & {
inset?: boolean;
}
>(({ className, inset, children, ...props }, ref) => (
<ContextMenuPrimitive.SubTrigger
ref={ref}
className={cn(
'focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none',
inset && 'pl-8',
className
)}
{...props}
>
{children}
<ChevronRightIcon className="ml-auto h-4 w-4" />
</ContextMenuPrimitive.SubTrigger>
));
ContextMenuSubTrigger.displayName = ContextMenuPrimitive.SubTrigger.displayName;
const ContextMenuSubContent = React.forwardRef<
React.ElementRef<typeof ContextMenuPrimitive.SubContent>,
React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.SubContent>
>(({ className, ...props }, ref) => (
<ContextMenuPrimitive.SubContent
ref={ref}
className={cn(
'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-lg',
className
)}
{...props}
/>
));
ContextMenuSubContent.displayName = ContextMenuPrimitive.SubContent.displayName;
const ContextMenuContent = React.forwardRef<
React.ElementRef<typeof ContextMenuPrimitive.Content>,
React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Content>
>(({ className, ...props }, ref) => (
<ContextMenuPrimitive.Portal>
<ContextMenuPrimitive.Content
ref={ref}
className={cn(
'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-md',
className
)}
{...props}
/>
</ContextMenuPrimitive.Portal>
));
ContextMenuContent.displayName = ContextMenuPrimitive.Content.displayName;
const ContextMenuItem = React.forwardRef<
React.ElementRef<typeof ContextMenuPrimitive.Item>,
React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Item> & {
inset?: boolean;
}
>(({ className, inset, ...props }, ref) => (
<ContextMenuPrimitive.Item
ref={ref}
className={cn(
'focus:bg-accent focus:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50',
inset && 'pl-8',
className
)}
{...props}
/>
));
ContextMenuItem.displayName = ContextMenuPrimitive.Item.displayName;
const ContextMenuCheckboxItem = React.forwardRef<
React.ElementRef<typeof ContextMenuPrimitive.CheckboxItem>,
React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.CheckboxItem>
>(({ className, children, checked, ...props }, ref) => (
<ContextMenuPrimitive.CheckboxItem
ref={ref}
className={cn(
'focus:bg-accent focus:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50',
className
)}
checked={checked}
{...props}
>
<span className="absolute left-2 flex h-3.5 w-3.5 items-center justify-center">
<ContextMenuPrimitive.ItemIndicator>
<CheckIcon className="h-4 w-4" />
</ContextMenuPrimitive.ItemIndicator>
</span>
{children}
</ContextMenuPrimitive.CheckboxItem>
));
ContextMenuCheckboxItem.displayName = ContextMenuPrimitive.CheckboxItem.displayName;
const ContextMenuRadioItem = React.forwardRef<
React.ElementRef<typeof ContextMenuPrimitive.RadioItem>,
React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.RadioItem>
>(({ className, children, ...props }, ref) => (
<ContextMenuPrimitive.RadioItem
ref={ref}
className={cn(
'focus:bg-accent focus:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50',
className
)}
{...props}
>
<span className="absolute left-2 flex h-3.5 w-3.5 items-center justify-center">
<ContextMenuPrimitive.ItemIndicator>
<DotFilledIcon className="h-4 w-4 fill-current" />
</ContextMenuPrimitive.ItemIndicator>
</span>
{children}
</ContextMenuPrimitive.RadioItem>
));
ContextMenuRadioItem.displayName = ContextMenuPrimitive.RadioItem.displayName;
const ContextMenuLabel = React.forwardRef<
React.ElementRef<typeof ContextMenuPrimitive.Label>,
React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Label> & {
inset?: boolean;
}
>(({ className, inset, ...props }, ref) => (
<ContextMenuPrimitive.Label
ref={ref}
className={cn('text-foreground px-2 py-1.5 text-sm font-semibold', inset && 'pl-8', className)}
{...props}
/>
));
ContextMenuLabel.displayName = ContextMenuPrimitive.Label.displayName;
const ContextMenuSeparator = React.forwardRef<
React.ElementRef<typeof ContextMenuPrimitive.Separator>,
React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Separator>
>(({ className, ...props }, ref) => (
<ContextMenuPrimitive.Separator
ref={ref}
className={cn('bg-border -mx-1 my-1 h-px', className)}
{...props}
/>
));
ContextMenuSeparator.displayName = ContextMenuPrimitive.Separator.displayName;
const ContextMenuShortcut = ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>) => {
return (
<span
className={cn('text-muted-foreground ml-auto text-xs tracking-widest', className)}
{...props}
/>
);
};
ContextMenuShortcut.displayName = 'ContextMenuShortcut';
export {
ContextMenu,
ContextMenuTrigger,
ContextMenuContent,
ContextMenuItem,
ContextMenuCheckboxItem,
ContextMenuRadioItem,
ContextMenuLabel,
ContextMenuSeparator,
ContextMenuShortcut,
ContextMenuGroup,
ContextMenuPortal,
ContextMenuSub,
ContextMenuSubContent,
ContextMenuSubTrigger,
ContextMenuRadioGroup,
};
@@ -0,0 +1,35 @@
import {
ContextMenu,
ContextMenuTrigger,
ContextMenuContent,
ContextMenuItem,
ContextMenuCheckboxItem,
ContextMenuRadioItem,
ContextMenuLabel,
ContextMenuSeparator,
ContextMenuShortcut,
ContextMenuGroup,
ContextMenuPortal,
ContextMenuSub,
ContextMenuSubContent,
ContextMenuSubTrigger,
ContextMenuRadioGroup,
} from './ContextMenu';
export {
ContextMenu,
ContextMenuTrigger,
ContextMenuContent,
ContextMenuItem,
ContextMenuCheckboxItem,
ContextMenuRadioItem,
ContextMenuLabel,
ContextMenuSeparator,
ContextMenuShortcut,
ContextMenuGroup,
ContextMenuPortal,
ContextMenuSub,
ContextMenuSubContent,
ContextMenuSubTrigger,
ContextMenuRadioGroup,
};
@@ -7,6 +7,7 @@ import ChevronOpen from './Sources/ChevronOpen';
import Code from './Sources/Code';
import ColorChange from './Sources/ColorChange';
import Controls from './Sources/Controls';
import Copy from './Sources/Copy';
import Delete from './Sources/Delete';
import DicomTagBrowser from './Sources/DicomTagBrowser';
import DisplayFillAndOutline from './Sources/DisplayFillAndOutline';
@@ -16,6 +17,7 @@ import Download from './Sources/Download';
import Export from './Sources/Export';
import EyeHidden from './Sources/EyeHidden';
import EyeVisible from './Sources/EyeVisible';
import FeedbackComplete from './Sources/FeedbackComplete';
import GearSettings from './Sources/GearSettings';
import Hide from './Sources/Hide';
import IconMPR from './Sources/IconMPR';
@@ -418,6 +420,7 @@ export const Icons = {
Code,
ColorChange,
Controls,
Copy,
Delete,
DicomTagBrowser,
DisplayFillAndOutline,
@@ -430,6 +433,7 @@ export const Icons = {
Export,
EyeHidden,
EyeVisible,
FeedbackComplete,
GearSettings,
Hide,
IconMPR,
@@ -0,0 +1,44 @@
import React from 'react';
import type { IconProps } from '../types';
export const Copy = (props: IconProps) => (
<svg
width="24px"
height="24px"
viewBox="0 0 24 24"
{...props}
>
<g
id="Copy"
stroke="none"
strokeWidth="1"
fill="none"
fillRule="evenodd"
>
<rect
id="Rectangle"
x="0"
y="0"
width="24"
height="24"
></rect>
<rect
id="Rectangle"
stroke="currentColor"
x="8.95205173"
y="4.5"
width="10"
height="10"
rx="2"
></rect>
<path
d="M7.05569885,9.5 L5.5,9.5 C4.67157288,9.5 4,10.1715729 4,11 L4,17.8271183 C4,18.6555454 4.67157288,19.3271183 5.5,19.3271183 L12.4520517,19.3271183 C13.2804789,19.3271183 13.9520517,18.6555454 13.9520517,17.8271183 L13.9520517,16.3489489 L13.9520517,16.3489489"
id="Path-4"
stroke="currentColor"
strokeLinecap="round"
></path>
</g>
</svg>
);
export default Copy;
@@ -0,0 +1,35 @@
import React from 'react';
import type { IconProps } from '../types';
export const FeedbackComplete = (props: IconProps) => (
<svg
width="24px"
height="24px"
viewBox="0 0 24 24"
{...props}
>
<g
id="FeedbackComplete"
stroke="none"
strokeWidth="1"
fill="none"
fillRule="evenodd"
>
<rect
id="Rectangle"
x="0"
y="0"
width="24"
height="24"
></rect>
<path
d="M6.5,12.5497794 L10.0873523,16.1371317 C10.4778766,16.527656 11.1110415,16.527656 11.5015658,16.1371317 C11.5482206,16.0904769 11.5901435,16.0393192 11.6267216,15.9844066 L17.6113609,7 L17.6113609,7"
id="Path-3"
stroke="currentColor"
strokeLinecap="round"
></path>
</g>
</svg>
);
export default FeedbackComplete;
@@ -17,7 +17,7 @@ const TooltipContent = React.forwardRef<
ref={ref}
sideOffset={sideOffset}
className={cn(
'bg-primary-dark border-secondary-light text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 overflow-hidden rounded border px-3 py-1.5 text-sm',
'bg-primary-dark border-secondary-light text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 overflow-hidden rounded border px-2 py-1.5 text-sm',
className
)}
{...props}
@@ -0,0 +1,138 @@
import React from 'react';
import PropTypes from 'prop-types';
import classnames from 'classnames';
import { useTranslation } from 'react-i18next';
import { Icons, Tooltip, TooltipTrigger, TooltipContent } from '../../components';
const classes = {
infoHeader: 'text-base text-primary-light',
infoText: 'text-base text-white max-w-24 truncate',
firstRow: 'flex flex-col',
row: 'flex flex-col ml-4',
};
/**
* A small info icon that, when clicked, can reveal additional patient details in a tooltip overlay.
*/
function PatientInfo({
patientName,
patientSex,
patientAge,
MRN,
thickness,
thicknessUnits,
spacing,
scanner,
isOpen,
showPatientInfoRef,
}) {
const { t } = useTranslation('PatientInfo');
// strip leading '0' from age if present
while (patientAge.charAt(0) === '0') {
patientAge = patientAge.substr(1);
}
return (
<div ref={showPatientInfoRef}>
<Tooltip>
<TooltipTrigger asChild>
<Icons.Info className="hover:text-primary-light cursor-pointer text-white" />
</TooltipTrigger>
{isOpen && (
<TooltipContent
side="bottom"
align="end"
>
<div className="flex py-2">
<div className="flex pt-1">
<Icons.InfoLink className="text-primary-main w-4" />
</div>
<div className="ml-2 flex flex-col">
<span
className="text-base font-bold text-white"
title={patientName}
>
{patientName}
</span>
<div className="border-secondary-main mt-4 mb-4 flex border-b pb-4">
<div className={classnames(classes.firstRow)}>
<span className={classnames(classes.infoHeader)}>{t('Sex')}</span>
<span
className={classnames(classes.infoText)}
title={patientSex}
>
{patientSex}
</span>
</div>
<div className={classnames(classes.row)}>
<span className={classnames(classes.infoHeader)}>{t('Age')}</span>
<span
className={classnames(classes.infoText)}
title={patientAge}
>
{patientAge}
</span>
</div>
<div className={classnames(classes.row)}>
<span className={classnames(classes.infoHeader)}>{t('MRN')}</span>
<span
className={classnames(classes.infoText)}
title={MRN}
>
{MRN}
</span>
</div>
</div>
<div className="flex">
<div className={classnames(classes.firstRow)}>
<span className={classnames(classes.infoHeader)}>{t('Thickness')}</span>
<span
className={classnames(classes.infoText)}
title={thickness}
>
{thicknessUnits ? `${thickness}${thicknessUnits}` : `${thickness}`}
</span>
</div>
<div className={classnames(classes.row)}>
<span className={classnames(classes.infoHeader)}>{t('Spacing')}</span>
<span
className={classnames(classes.infoText)}
title={spacing}
>
{spacing}
</span>
</div>
<div className={classnames(classes.row)}>
<span className={classnames(classes.infoHeader)}>{t('Scanner')}</span>
<span
className={classnames(classes.infoText)}
title={scanner}
>
{scanner}
</span>
</div>
</div>
</div>
</div>
</TooltipContent>
)}
</Tooltip>
</div>
);
}
PatientInfo.propTypes = {
patientName: PropTypes.string,
patientSex: PropTypes.string,
patientAge: PropTypes.string,
MRN: PropTypes.string,
thickness: PropTypes.string,
thicknessUnits: PropTypes.string,
spacing: PropTypes.string,
scanner: PropTypes.string,
isOpen: PropTypes.bool,
showPatientInfoRef: PropTypes.object,
};
export { PatientInfo };
@@ -0,0 +1,31 @@
import React from 'react';
import classNames from 'classnames';
import PropTypes from 'prop-types';
import { Icons } from '@ohif/ui-next';
const arrowClasses =
'cursor-pointer flex items-center justify-center shrink-0 text-primary-light active:text-white hover:bg-secondary-light/60 rounded';
/**
* A small set of left/right arrow icons for stepping through slices or series.
*/
function ViewportActionArrows({ onArrowsClick, className }) {
return (
<div className={classNames(className, 'flex')}>
<div className={arrowClasses}>
<Icons.ArrowLeftBold onClick={() => onArrowsClick(-1)} />
</div>
<div className={arrowClasses}>
<Icons.ArrowRightBold onClick={() => onArrowsClick(1)} />
</div>
</div>
);
}
ViewportActionArrows.propTypes = {
onArrowsClick: PropTypes.func.isRequired,
className: PropTypes.string,
};
export { ViewportActionArrows };
@@ -0,0 +1,128 @@
import React, {
MouseEventHandler,
ReactElement,
useCallback,
useEffect,
useRef,
useState,
} from 'react';
import PropTypes from 'prop-types';
import { useTranslation } from 'react-i18next';
import { Icons } from '@ohif/ui-next';
import PatientInfo from './PatientInfo';
/**
* This is the modern Viewport Action Bar, showing patient info, series date,
* series description, and optional next/prev arrows if there's enough screen width.
*/
type ViewportActionBarProps = {
studyData: any;
onArrowsClick: (arrow: string) => void;
onDoubleClick: MouseEventHandler;
getStatusComponent: () => ReactElement;
};
function ViewportActionBar({
studyData,
onArrowsClick,
onDoubleClick,
getStatusComponent,
}: ViewportActionBarProps): JSX.Element {
const { label, studyDate, seriesDescription, patientInformation } = studyData;
const { patientName, patientSex, patientAge, MRN, thickness, thicknessUnits, spacing, scanner } =
patientInformation;
const [showPatientInfo, setShowPatientInfo] = useState(false);
const showPatientInfoElemRef = useRef<HTMLDivElement>(null);
const { t } = useTranslation();
// handle click outside to close patient info
const handleClickOutside = useCallback(
(evt: MouseEvent) => {
if (
showPatientInfo &&
showPatientInfoElemRef.current &&
!showPatientInfoElemRef.current.contains(evt.target as Node)
) {
setShowPatientInfo(false);
}
},
[showPatientInfoElemRef, showPatientInfo]
);
useEffect(() => {
document.addEventListener('mousedown', handleClickOutside);
return () => {
document.removeEventListener('mousedown', handleClickOutside);
};
}, [handleClickOutside]);
return (
<div
className="pointer-events-auto flex h-8 shrink-0 select-none items-center overflow-visible whitespace-nowrap px-2 text-base"
onDoubleClick={onDoubleClick}
>
{getStatusComponent()}
{!!label?.length && <span className="text-aqua-pale text-large ml-1">{label}</span>}
<div className="border-secondary-light mx-2 border-l py-2"></div>
<span
data-cy="studyDate"
className="text-white"
>
{studyDate}
</span>
<div className="border-secondary-light mx-2 border-l py-2"></div>
<span className="text-aqua-pale mr-1 overflow-hidden text-ellipsis">{seriesDescription}</span>
{/* Prev/Next icons */}
<Icons.ByName
className="hover:text-primary-light ml-auto mr-2 cursor-pointer text-white"
name="chevron-prev"
onClick={() => onArrowsClick('left')}
/>
<Icons.ByName
className="hover:text-primary-light mr-2 cursor-pointer text-white"
name="chevron-next"
onClick={() => onArrowsClick('right')}
/>
{/* Patient Info */}
<div onClick={() => setShowPatientInfo(!showPatientInfo)}>
<PatientInfo
showPatientInfoRef={showPatientInfoElemRef}
isOpen={showPatientInfo}
patientName={patientName}
patientSex={patientSex}
patientAge={patientAge}
MRN={MRN}
thickness={thickness}
thicknessUnits={thicknessUnits}
spacing={spacing}
scanner={scanner}
/>
</div>
</div>
);
}
ViewportActionBar.propTypes = {
onArrowsClick: PropTypes.func.isRequired,
onDoubleClick: PropTypes.func,
studyData: PropTypes.shape({
label: PropTypes.string.isRequired,
studyDate: PropTypes.string.isRequired,
seriesDescription: PropTypes.string.isRequired,
patientInformation: PropTypes.shape({
patientName: PropTypes.string,
patientSex: PropTypes.string,
patientAge: PropTypes.string,
MRN: PropTypes.string,
thickness: PropTypes.string,
thicknessUnits: PropTypes.string,
spacing: PropTypes.string,
scanner: PropTypes.string,
}),
}).isRequired,
getStatusComponent: PropTypes.func.isRequired,
};
export { ViewportActionBar };
Loaded 100 of 116 files, more files were not shown because too many files have changed in this diff. Show more