@ohif/app 3.11.0-beta.16 → 3.11.0-beta.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{3984.bundle.8ae9bddf8fa462e17ce5.js → 3984.bundle.f71e61e01f90ceae343c.js} +3 -3
- package/dist/{7241.bundle.928234e10c557bc25bd6.js → 7241.bundle.af4b37ebda883020420b.js} +88 -41
- package/dist/{963.bundle.7cc918def10d308e4a28.js → 963.bundle.830a5c271fe1568e5310.js} +2 -2
- package/dist/{app.bundle.01365fa030b144c107ad.js → app.bundle.56f46ad8e70c5a2c69ed.js} +1690 -1538
- package/dist/index.html +1 -1
- package/dist/sw.js +1 -1
- package/package.json +18 -18
- /package/dist/{1459.bundle.827c9dba5cc9c30b93c8.js → 1459.bundle.4f9e0de541e00e449254.js} +0 -0
- /package/dist/{1807.bundle.804d73818f9dfb29f76b.js → 1807.bundle.92b919d402b43b724a86.js} +0 -0
- /package/dist/{1919.bundle.f550c71049e32ad189db.js → 1919.bundle.e735c79ba2d887797799.js} +0 -0
- /package/dist/{213.bundle.14f6ba7ef156a8fb2156.js → 213.bundle.25224d64579610ddb115.js} +0 -0
- /package/dist/{2424.bundle.d7d56105cdedda789ac0.js → 2424.bundle.befa6e6e34bcc26ec76b.js} +0 -0
- /package/dist/{2932.bundle.7b2e13d5a14a59f57cf2.js → 2932.bundle.2b17f59097c408c0ebd9.js} +0 -0
- /package/dist/{3658.bundle.7fac2e183f4a9a1eb69e.js → 3658.bundle.78e5659bddd253e74da0.js} +0 -0
- /package/dist/{4113.bundle.25c8990d3e0fcc3bf2a8.js → 4113.bundle.b5814e49c841926e9ff4.js} +0 -0
- /package/dist/{6027.bundle.f8cdeb07643890873b70.js → 6027.bundle.96b0976efa55246725f0.js} +0 -0
- /package/dist/{6201.bundle.ae0c4dcfe25eb82d0a47.js → 6201.bundle.bd707d0d1aad246b79db.js} +0 -0
- /package/dist/{7197.bundle.9b2336bed927efaaf12d.js → 7197.bundle.896eadd851a271593a85.js} +0 -0
- /package/dist/{7639.bundle.b0730163f27b89121a92.js → 7639.bundle.d2761fc27142f31ba8c5.js} +0 -0
- /package/dist/{810.bundle.691394d0ac721fa0e3e3.js → 810.bundle.8c22c18d2e1642c4b812.js} +0 -0
- /package/dist/{85.bundle.1d7aa7438d918bc519dc.js → 85.bundle.5728d01dd2433c103654.js} +0 -0
- /package/dist/{8558.bundle.ad7744e9caa59f17a900.js → 8558.bundle.3b1b4595869acfd6ee4e.js} +0 -0
- /package/dist/{8815.bundle.d802e695eb6251ae067f.js → 8815.bundle.5794ca5e135d9aabff4a.js} +0 -0
- /package/dist/{934.bundle.b848e991234fa16e2896.js → 934.bundle.e83601f58e8f6aedc68b.js} +0 -0
|
@@ -3887,7 +3887,7 @@ const collapsedInsideBorderSize = 4;
|
|
|
3887
3887
|
const collapsedOutsideBorderSize = 4;
|
|
3888
3888
|
const collapsedWidth = 25;
|
|
3889
3889
|
const rightPanelInitialExpandedWidth = 280;
|
|
3890
|
-
const leftPanelInitialExpandedWidth =
|
|
3890
|
+
const leftPanelInitialExpandedWidth = 282;
|
|
3891
3891
|
const panelGroupDefinition = {
|
|
3892
3892
|
groupId: 'viewerLayoutResizablePanelGroup',
|
|
3893
3893
|
shared: {
|
|
@@ -10270,8 +10270,8 @@ function AboutModalDefault() {
|
|
|
10270
10270
|
name
|
|
10271
10271
|
} = (0,browser_detect_es5/* default */.A)();
|
|
10272
10272
|
const browser = `${name[0].toUpperCase()}${name.substr(1)} ${version}`;
|
|
10273
|
-
const versionNumber = "3.11.0-beta.
|
|
10274
|
-
const commitHash = "
|
|
10273
|
+
const versionNumber = "3.11.0-beta.18";
|
|
10274
|
+
const commitHash = "0bb9b17636223daa5a749c628f7ba2b00538a0fc";
|
|
10275
10275
|
const [main, beta] = versionNumber.split('-');
|
|
10276
10276
|
return /*#__PURE__*/react.createElement(ui_next_src/* AboutModal */.VTU, {
|
|
10277
10277
|
className: "w-[400px]"
|
|
@@ -1610,6 +1610,8 @@ ImageOverlayViewerTool.addOverlayPlaneModule = tools_OverlayPlaneModuleProvider.
|
|
|
1610
1610
|
|
|
1611
1611
|
function initCornerstoneTools(configuration = {}) {
|
|
1612
1612
|
dist_esm.CrosshairsTool.isAnnotation = false;
|
|
1613
|
+
ai_dist_esm/* LabelmapSlicePropagationTool */.Bj.isAnnotation = false;
|
|
1614
|
+
ai_dist_esm/* MarkerLabelmapTool */.pY.isAnnotation = false;
|
|
1613
1615
|
dist_esm.ReferenceLinesTool.isAnnotation = false;
|
|
1614
1616
|
dist_esm.AdvancedMagnifyTool.isAnnotation = false;
|
|
1615
1617
|
dist_esm.PlanarFreehandContourSegmentationTool.isAnnotation = false;
|
|
@@ -6647,10 +6649,16 @@ async function init({
|
|
|
6647
6649
|
esm.eventTarget.addEventListenerDebounced(esm.EVENTS.ERROR_EVENT, ({
|
|
6648
6650
|
detail
|
|
6649
6651
|
}) => {
|
|
6652
|
+
// Create a stable ID for deduplication based on error type and message
|
|
6653
|
+
const errorId = `cornerstone-error-${detail.type}-${detail.message.substring(0, 50)}`;
|
|
6650
6654
|
uiNotificationService.show({
|
|
6651
6655
|
title: detail.type,
|
|
6652
6656
|
message: detail.message,
|
|
6653
|
-
type: 'error'
|
|
6657
|
+
type: 'error',
|
|
6658
|
+
id: errorId,
|
|
6659
|
+
allowDuplicates: false,
|
|
6660
|
+
// Prevent duplicate error notifications
|
|
6661
|
+
deduplicationInterval: 30000 // 30 seconds deduplication window
|
|
6654
6662
|
});
|
|
6655
6663
|
}, 100);
|
|
6656
6664
|
|
|
@@ -6662,37 +6670,80 @@ async function init({
|
|
|
6662
6670
|
};
|
|
6663
6671
|
}
|
|
6664
6672
|
function initializeWebWorkerProgressHandler(uiNotificationService) {
|
|
6665
|
-
|
|
6666
|
-
|
|
6667
|
-
|
|
6668
|
-
//
|
|
6669
|
-
|
|
6670
|
-
|
|
6671
|
-
|
|
6672
|
-
|
|
6673
|
-
|
|
6674
|
-
|
|
6675
|
-
|
|
6676
|
-
|
|
6677
|
-
|
|
6678
|
-
|
|
6679
|
-
|
|
6680
|
-
|
|
6681
|
-
|
|
6682
|
-
|
|
6683
|
-
|
|
6684
|
-
|
|
6685
|
-
|
|
6686
|
-
|
|
6687
|
-
|
|
6688
|
-
|
|
6689
|
-
|
|
6690
|
-
|
|
6691
|
-
|
|
6692
|
-
|
|
6693
|
-
|
|
6694
|
-
|
|
6695
|
-
|
|
6673
|
+
// Use a single map to track all active worker tasks
|
|
6674
|
+
const activeWorkerTasks = new Map();
|
|
6675
|
+
|
|
6676
|
+
// Create a normalized task key that doesn't include the random ID
|
|
6677
|
+
// This helps us identify and deduplicate the same type of task
|
|
6678
|
+
const getNormalizedTaskKey = type => {
|
|
6679
|
+
return `worker-task-${type.toLowerCase().replace(/\s+/g, '-')}`;
|
|
6680
|
+
};
|
|
6681
|
+
esm.eventTarget.addEventListener(esm.EVENTS.WEB_WORKER_PROGRESS, ({
|
|
6682
|
+
detail
|
|
6683
|
+
}) => {
|
|
6684
|
+
const {
|
|
6685
|
+
progress,
|
|
6686
|
+
type,
|
|
6687
|
+
id
|
|
6688
|
+
} = detail;
|
|
6689
|
+
|
|
6690
|
+
// Skip notifications for compute statistics
|
|
6691
|
+
if (type === dist_esm.Enums.WorkerTypes.COMPUTE_STATISTICS) {
|
|
6692
|
+
return;
|
|
6693
|
+
}
|
|
6694
|
+
const normalizedKey = getNormalizedTaskKey(type);
|
|
6695
|
+
if (progress === 0) {
|
|
6696
|
+
// Check if we're already tracking a task of this type
|
|
6697
|
+
if (!activeWorkerTasks.has(normalizedKey)) {
|
|
6698
|
+
const progressPromise = new Promise((resolve, reject) => {
|
|
6699
|
+
activeWorkerTasks.set(normalizedKey, {
|
|
6700
|
+
resolve,
|
|
6701
|
+
reject,
|
|
6702
|
+
originalId: id,
|
|
6703
|
+
type
|
|
6704
|
+
});
|
|
6705
|
+
});
|
|
6706
|
+
uiNotificationService.show({
|
|
6707
|
+
id: normalizedKey,
|
|
6708
|
+
// Use the normalized key as ID for better deduplication
|
|
6709
|
+
title: `${type}`,
|
|
6710
|
+
message: `Computing...`,
|
|
6711
|
+
autoClose: false,
|
|
6712
|
+
allowDuplicates: false,
|
|
6713
|
+
deduplicationInterval: 60000,
|
|
6714
|
+
// 60 seconds - prevent frequent notifications of same type
|
|
6715
|
+
promise: progressPromise,
|
|
6716
|
+
promiseMessages: {
|
|
6717
|
+
loading: `Computing...`,
|
|
6718
|
+
success: `Completed successfully`,
|
|
6719
|
+
error: 'Web Worker failed'
|
|
6720
|
+
}
|
|
6721
|
+
});
|
|
6722
|
+
} else {
|
|
6723
|
+
// Already tracking this type of task, just let it continue
|
|
6724
|
+
console.debug(`Already tracking a "${type}" task, skipping duplicate notification`);
|
|
6725
|
+
}
|
|
6726
|
+
}
|
|
6727
|
+
// Task completed
|
|
6728
|
+
else if (progress === 100) {
|
|
6729
|
+
// Check if we have this task type in our tracking map
|
|
6730
|
+
const taskData = activeWorkerTasks.get(normalizedKey);
|
|
6731
|
+
if (taskData) {
|
|
6732
|
+
// Resolve the promise to update the notification
|
|
6733
|
+
const {
|
|
6734
|
+
resolve
|
|
6735
|
+
} = taskData;
|
|
6736
|
+
resolve({
|
|
6737
|
+
progress,
|
|
6738
|
+
type
|
|
6739
|
+
});
|
|
6740
|
+
|
|
6741
|
+
// Remove from tracking
|
|
6742
|
+
activeWorkerTasks.delete(normalizedKey);
|
|
6743
|
+
console.debug(`Worker task "${type}" completed successfully`);
|
|
6744
|
+
}
|
|
6745
|
+
}
|
|
6746
|
+
});
|
|
6696
6747
|
}
|
|
6697
6748
|
|
|
6698
6749
|
/**
|
|
@@ -8627,15 +8678,11 @@ const CornerstoneViewportDownloadForm = ({
|
|
|
8627
8678
|
} = downloadViewport;
|
|
8628
8679
|
const toolGroup = dist_esm.ToolGroupManager.getToolGroupForViewport(activeViewportId, renderingEngineId);
|
|
8629
8680
|
toolGroup.addViewport(downloadViewportId, renderingEngineId);
|
|
8630
|
-
|
|
8631
|
-
|
|
8632
|
-
|
|
8633
|
-
|
|
8634
|
-
|
|
8635
|
-
console.debug('Error enabling tool:', error);
|
|
8636
|
-
}
|
|
8637
|
-
} else {
|
|
8638
|
-
toolGroup.setToolDisabled(toolName);
|
|
8681
|
+
const toolInstances = toolGroup.getToolInstances();
|
|
8682
|
+
const toolInstancesArray = Object.values(toolInstances);
|
|
8683
|
+
toolInstancesArray.forEach(toolInstance => {
|
|
8684
|
+
if (toolInstance.constructor.isAnnotation !== false) {
|
|
8685
|
+
toolGroup.setToolEnabled(toolInstance.toolName);
|
|
8639
8686
|
}
|
|
8640
8687
|
});
|
|
8641
8688
|
};
|
|
@@ -453,8 +453,8 @@ const toolbarButtons = [
|
|
|
453
453
|
tooltip: 'Show Reference Lines',
|
|
454
454
|
commands: 'toggleEnabledDisabledToolbar',
|
|
455
455
|
listeners: {
|
|
456
|
-
[core_src/* ViewportGridService */.sI.EVENTS.ACTIVE_VIEWPORT_ID_CHANGED]: callbacks('
|
|
457
|
-
[core_src/* ViewportGridService */.sI.EVENTS.VIEWPORTS_READY]: callbacks('
|
|
456
|
+
[core_src/* ViewportGridService */.sI.EVENTS.ACTIVE_VIEWPORT_ID_CHANGED]: callbacks('ReferenceLines'),
|
|
457
|
+
[core_src/* ViewportGridService */.sI.EVENTS.VIEWPORTS_READY]: callbacks('ReferenceLines')
|
|
458
458
|
},
|
|
459
459
|
evaluate: ['evaluate.cornerstoneTool.toggle', {
|
|
460
460
|
name: 'evaluate.viewport.supported',
|