@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.
Files changed (28) hide show
  1. package/dist/cjs/eventDispatchers/shared/getActiveToolForKeyboardEvent.js +2 -1
  2. package/dist/cjs/eventDispatchers/shared/getActiveToolForKeyboardEvent.js.map +1 -1
  3. package/dist/cjs/eventDispatchers/shared/getActiveToolForMouseEvent.js +2 -1
  4. package/dist/cjs/eventDispatchers/shared/getActiveToolForMouseEvent.js.map +1 -1
  5. package/dist/cjs/eventDispatchers/shared/getActiveToolForTouchEvent.js +2 -1
  6. package/dist/cjs/eventDispatchers/shared/getActiveToolForTouchEvent.js.map +1 -1
  7. package/dist/cjs/store/ToolGroupManager/ToolGroup.d.ts +2 -1
  8. package/dist/cjs/store/ToolGroupManager/ToolGroup.js +7 -2
  9. package/dist/cjs/store/ToolGroupManager/ToolGroup.js.map +1 -1
  10. package/dist/cjs/types/IToolGroup.d.ts +4 -0
  11. package/dist/esm/eventDispatchers/shared/getActiveToolForKeyboardEvent.js +3 -2
  12. package/dist/esm/eventDispatchers/shared/getActiveToolForKeyboardEvent.js.map +1 -1
  13. package/dist/esm/eventDispatchers/shared/getActiveToolForMouseEvent.js +3 -2
  14. package/dist/esm/eventDispatchers/shared/getActiveToolForMouseEvent.js.map +1 -1
  15. package/dist/esm/eventDispatchers/shared/getActiveToolForTouchEvent.js +3 -2
  16. package/dist/esm/eventDispatchers/shared/getActiveToolForTouchEvent.js.map +1 -1
  17. package/dist/esm/store/ToolGroupManager/ToolGroup.d.ts +2 -1
  18. package/dist/esm/store/ToolGroupManager/ToolGroup.js +7 -2
  19. package/dist/esm/store/ToolGroupManager/ToolGroup.js.map +1 -1
  20. package/dist/esm/types/IToolGroup.d.ts +4 -0
  21. package/dist/umd/index.js +1 -1
  22. package/dist/umd/index.js.map +1 -1
  23. package/package.json +3 -3
  24. package/src/eventDispatchers/shared/getActiveToolForKeyboardEvent.ts +2 -1
  25. package/src/eventDispatchers/shared/getActiveToolForMouseEvent.ts +2 -1
  26. package/src/eventDispatchers/shared/getActiveToolForTouchEvent.ts +2 -1
  27. package/src/store/ToolGroupManager/ToolGroup.ts +14 -3
  28. 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.2",
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.2",
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": "85417732b63fd6d094625afee7a9539a1ccf1b5c"
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 ?? MouseBindings.Primary) &&
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 : MouseBindings.Primary) &&
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 === MouseBindings.Primary)) &&
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 !== MouseBindings.Primary || binding.modifierKey
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 === MouseBindings.Primary &&
666
+ binding.mouseButton === defaultMousePrimary &&
656
667
  binding.modifierKey === undefined
657
668
  );
658
669
  }
@@ -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
  }