@cornerstonejs/tools 1.1.2 → 1.1.4
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/cjs/eventDispatchers/shared/getActiveToolForKeyboardEvent.js +2 -1
- package/dist/cjs/eventDispatchers/shared/getActiveToolForKeyboardEvent.js.map +1 -1
- package/dist/cjs/eventDispatchers/shared/getActiveToolForMouseEvent.js +2 -1
- package/dist/cjs/eventDispatchers/shared/getActiveToolForMouseEvent.js.map +1 -1
- package/dist/cjs/eventDispatchers/shared/getActiveToolForTouchEvent.js +2 -1
- package/dist/cjs/eventDispatchers/shared/getActiveToolForTouchEvent.js.map +1 -1
- package/dist/cjs/store/ToolGroupManager/ToolGroup.d.ts +2 -1
- package/dist/cjs/store/ToolGroupManager/ToolGroup.js +7 -2
- package/dist/cjs/store/ToolGroupManager/ToolGroup.js.map +1 -1
- package/dist/cjs/types/IToolGroup.d.ts +4 -0
- package/dist/esm/eventDispatchers/shared/getActiveToolForKeyboardEvent.js +3 -2
- package/dist/esm/eventDispatchers/shared/getActiveToolForKeyboardEvent.js.map +1 -1
- package/dist/esm/eventDispatchers/shared/getActiveToolForMouseEvent.js +3 -2
- package/dist/esm/eventDispatchers/shared/getActiveToolForMouseEvent.js.map +1 -1
- package/dist/esm/eventDispatchers/shared/getActiveToolForTouchEvent.js +3 -2
- package/dist/esm/eventDispatchers/shared/getActiveToolForTouchEvent.js.map +1 -1
- package/dist/esm/store/ToolGroupManager/ToolGroup.d.ts +2 -1
- package/dist/esm/store/ToolGroupManager/ToolGroup.js +7 -2
- package/dist/esm/store/ToolGroupManager/ToolGroup.js.map +1 -1
- package/dist/esm/types/IToolGroup.d.ts +4 -0
- package/dist/umd/index.js +1 -1
- package/dist/umd/index.js.map +1 -1
- package/package.json +3 -3
- package/src/eventDispatchers/shared/getActiveToolForKeyboardEvent.ts +2 -1
- package/src/eventDispatchers/shared/getActiveToolForMouseEvent.ts +2 -1
- package/src/eventDispatchers/shared/getActiveToolForTouchEvent.ts +2 -1
- package/src/store/ToolGroupManager/ToolGroup.ts +14 -3
- package/src/types/IToolGroup.ts +4 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cornerstonejs/tools",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.4",
|
|
4
4
|
"description": "Cornerstone3D Tools",
|
|
5
5
|
"main": "dist/umd/index.js",
|
|
6
6
|
"types": "dist/esm/index.d.ts",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"webpack:watch": "webpack --mode development --progress --watch --config ./.webpack/webpack.dev.js"
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@cornerstonejs/core": "^1.1.
|
|
29
|
+
"@cornerstonejs/core": "^1.1.4",
|
|
30
30
|
"lodash.clonedeep": "4.5.0",
|
|
31
31
|
"lodash.get": "^4.4.2"
|
|
32
32
|
},
|
|
@@ -49,5 +49,5 @@
|
|
|
49
49
|
"type": "individual",
|
|
50
50
|
"url": "https://ohif.org/donate"
|
|
51
51
|
},
|
|
52
|
-
"gitHead": "
|
|
52
|
+
"gitHead": "bd0b4c3bbbcf1646a9dffcbd6a26794dcd292cfb"
|
|
53
53
|
}
|
|
@@ -36,6 +36,7 @@ export default function getActiveToolForKeyboardEvent(
|
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
const toolGroupToolNames = Object.keys(toolGroup.toolOptions);
|
|
39
|
+
const defaultMousePrimary = toolGroup.getDefaultMousePrimary();
|
|
39
40
|
|
|
40
41
|
for (let j = 0; j < toolGroupToolNames.length; j++) {
|
|
41
42
|
const toolName = toolGroupToolNames[j];
|
|
@@ -47,7 +48,7 @@ export default function getActiveToolForKeyboardEvent(
|
|
|
47
48
|
toolOptions.bindings.length &&
|
|
48
49
|
toolOptions.bindings.some(
|
|
49
50
|
(binding) =>
|
|
50
|
-
binding.mouseButton === (mouseButton ??
|
|
51
|
+
binding.mouseButton === (mouseButton ?? defaultMousePrimary) &&
|
|
51
52
|
binding.modifierKey === modifierKey
|
|
52
53
|
);
|
|
53
54
|
|
|
@@ -38,6 +38,7 @@ export default function getActiveToolForMouseEvent(
|
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
const toolGroupToolNames = Object.keys(toolGroup.toolOptions);
|
|
41
|
+
const defaultMousePrimary = toolGroup.getDefaultMousePrimary();
|
|
41
42
|
|
|
42
43
|
for (let j = 0; j < toolGroupToolNames.length; j++) {
|
|
43
44
|
const toolName = toolGroupToolNames[j];
|
|
@@ -50,7 +51,7 @@ export default function getActiveToolForMouseEvent(
|
|
|
50
51
|
toolOptions.bindings.some((binding) => {
|
|
51
52
|
return (
|
|
52
53
|
binding.mouseButton ===
|
|
53
|
-
(mouseEvent ? mouseEvent.buttons :
|
|
54
|
+
(mouseEvent ? mouseEvent.buttons : defaultMousePrimary) &&
|
|
54
55
|
binding.modifierKey === modifierKey
|
|
55
56
|
);
|
|
56
57
|
});
|
|
@@ -38,6 +38,7 @@ export default function getActiveToolForTouchEvent(
|
|
|
38
38
|
// If any keyboard modifier key is also pressed
|
|
39
39
|
const modifierKey =
|
|
40
40
|
getMouseModifier(touchEvent) || keyEventListener.getModifierKey();
|
|
41
|
+
const defaultMousePrimary = toolGroup.getDefaultMousePrimary();
|
|
41
42
|
|
|
42
43
|
for (let j = 0; j < toolGroupToolNames.length; j++) {
|
|
43
44
|
const toolName = toolGroupToolNames[j];
|
|
@@ -55,7 +56,7 @@ export default function getActiveToolForTouchEvent(
|
|
|
55
56
|
(binding) =>
|
|
56
57
|
(binding.numTouchPoints === numTouchPoints ||
|
|
57
58
|
(numTouchPoints === 1 &&
|
|
58
|
-
binding.mouseButton ===
|
|
59
|
+
binding.mouseButton === defaultMousePrimary)) &&
|
|
59
60
|
binding.modifierKey === modifierKey
|
|
60
61
|
);
|
|
61
62
|
|
|
@@ -406,12 +406,13 @@ export default class ToolGroup implements IToolGroup {
|
|
|
406
406
|
}
|
|
407
407
|
);
|
|
408
408
|
|
|
409
|
+
const defaultMousePrimary = this.getDefaultMousePrimary();
|
|
410
|
+
|
|
409
411
|
// Remove the primary button bindings without modifiers, if they exist
|
|
410
412
|
toolOptions.bindings = toolOptions.bindings.filter(
|
|
411
413
|
(binding) =>
|
|
412
|
-
binding.mouseButton !==
|
|
414
|
+
binding.mouseButton !== defaultMousePrimary || binding.modifierKey
|
|
413
415
|
);
|
|
414
|
-
|
|
415
416
|
// If there are other bindings, set the tool to be active
|
|
416
417
|
let mode = Passive;
|
|
417
418
|
if (toolOptions.bindings.length !== 0) {
|
|
@@ -620,6 +621,14 @@ export default class ToolGroup implements IToolGroup {
|
|
|
620
621
|
return true;
|
|
621
622
|
}
|
|
622
623
|
|
|
624
|
+
/**
|
|
625
|
+
* Returns the default mouse primary button.
|
|
626
|
+
*
|
|
627
|
+
*/
|
|
628
|
+
public getDefaultMousePrimary(): MouseBindings {
|
|
629
|
+
return MouseBindings.Primary;
|
|
630
|
+
}
|
|
631
|
+
|
|
623
632
|
/**
|
|
624
633
|
* Get the configuration of tool. It returns only the config for the given path (in case exists).
|
|
625
634
|
* ConfigurationPath is the the path of the property to get separated by '.'.
|
|
@@ -650,9 +659,11 @@ export default class ToolGroup implements IToolGroup {
|
|
|
650
659
|
* @returns A boolean value.
|
|
651
660
|
*/
|
|
652
661
|
private _hasMousePrimaryButtonBinding(toolOptions) {
|
|
662
|
+
const defaultMousePrimary = this.getDefaultMousePrimary();
|
|
663
|
+
|
|
653
664
|
return toolOptions?.bindings?.some(
|
|
654
665
|
(binding) =>
|
|
655
|
-
binding.mouseButton ===
|
|
666
|
+
binding.mouseButton === defaultMousePrimary &&
|
|
656
667
|
binding.modifierKey === undefined
|
|
657
668
|
);
|
|
658
669
|
}
|
package/src/types/IToolGroup.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Types } from '@cornerstonejs/core';
|
|
2
2
|
import { SetToolBindingsType, ToolOptionsType } from './ISetToolModeOptions';
|
|
3
|
-
|
|
3
|
+
import { MouseBindings } from '../enums';
|
|
4
4
|
/**
|
|
5
5
|
* ToolGroup interface
|
|
6
6
|
*/
|
|
@@ -69,4 +69,7 @@ export default interface IToolGroup {
|
|
|
69
69
|
getToolConfiguration: {
|
|
70
70
|
(toolName: string, configurationPath: string): any;
|
|
71
71
|
};
|
|
72
|
+
getDefaultMousePrimary: {
|
|
73
|
+
(): MouseBindings;
|
|
74
|
+
};
|
|
72
75
|
}
|