@knotx/plugins-canvas 0.3.0 → 0.3.2

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/index.cjs CHANGED
@@ -75,8 +75,8 @@ var __privateIn = (member, obj) => Object(obj) !== obj ? __typeError('Cannot use
75
75
  var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
76
76
  var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
77
77
  var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
78
- var _init_dec, _render_dec, _setTransform_dec, _zoomOut_dec, _zoomIn_dec, _scrollNodeIntoView_dec, _removeListener_dec, _addListener_dec, _container_dec, _getNode_dec, _transform_dec, _ref_dec, _a, _init;
79
- class Canvas extends (_a = core.BasePlugin, _ref_dec = [decorators.register("ref")], _transform_dec = [decorators.register("transform")], _getNode_dec = [decorators.inject.getNode()], _container_dec = [decorators.inject.container()], _addListener_dec = [decorators.register("addListener")], _removeListener_dec = [decorators.register("removeListener")], _scrollNodeIntoView_dec = [decorators.tool("Scroll node into viewport center", {
78
+ var _init_dec, _render_dec, _setTransform_dec, _zoomOut_dec, _zoomIn_dec, _scrollNodeIntoView_dec, _removeListener_dec, _addListener_dec, _interaction_dec, _container_dec, _getNode_dec, _transform_dec, _ref_dec, _a, _init;
79
+ class Canvas extends (_a = core.BasePlugin, _ref_dec = [decorators.register("ref")], _transform_dec = [decorators.register("transform")], _getNode_dec = [decorators.inject.getNode()], _container_dec = [decorators.inject.container()], _interaction_dec = [decorators.inject.interaction()], _addListener_dec = [decorators.register("addListener")], _removeListener_dec = [decorators.register("removeListener")], _scrollNodeIntoView_dec = [decorators.tool("Scroll node into viewport center", {
80
80
  type: "object",
81
81
  properties: {
82
82
  nodeId: { type: "string" },
@@ -124,16 +124,17 @@ class Canvas extends (_a = core.BasePlugin, _ref_dec = [decorators.register("ref
124
124
  __publicField(this, "transform", __runInitializers(_init, 12, this)), __runInitializers(_init, 15, this);
125
125
  __publicField(this, "getNode", __runInitializers(_init, 16, this)), __runInitializers(_init, 19, this);
126
126
  __publicField(this, "container", __runInitializers(_init, 20, this)), __runInitializers(_init, 23, this);
127
+ __publicField(this, "interaction", __runInitializers(_init, 24, this)), __runInitializers(_init, 27, this);
127
128
  __publicField(this, "listeners", {
128
129
  click: /* @__PURE__ */ new Set(),
129
130
  contextmenu: /* @__PURE__ */ new Set()
130
131
  });
131
- __publicField(this, "addListener", __runInitializers(_init, 24, this, (type, listener) => {
132
+ __publicField(this, "addListener", __runInitializers(_init, 28, this, (type, listener) => {
132
133
  this.listeners[type].add(listener);
133
- })), __runInitializers(_init, 27, this);
134
- __publicField(this, "removeListener", __runInitializers(_init, 28, this, (type, listener) => {
135
- this.listeners[type].delete(listener);
136
134
  })), __runInitializers(_init, 31, this);
135
+ __publicField(this, "removeListener", __runInitializers(_init, 32, this, (type, listener) => {
136
+ this.listeners[type].delete(listener);
137
+ })), __runInitializers(_init, 35, this);
137
138
  }
138
139
  scrollNodeIntoView({ nodeId, scale = this.transform.scale, block = "nearest", inline = "nearest", offset = 0, animationTime }) {
139
140
  var _a2, _b, _c, _d, _e, _f, _g;
@@ -262,6 +263,9 @@ class Canvas extends (_a = core.BasePlugin, _ref_dec = [decorators.register("ref
262
263
  if (!this.isCanvasEvent(e)) {
263
264
  return;
264
265
  }
266
+ if (!this.interaction.canInteract(core.InteractionPriority.CanvasClick)) {
267
+ return;
268
+ }
265
269
  this.listeners.click.forEach((listener) => {
266
270
  listener(e);
267
271
  });
@@ -270,6 +274,9 @@ class Canvas extends (_a = core.BasePlugin, _ref_dec = [decorators.register("ref
270
274
  if (!this.isCanvasEvent(e)) {
271
275
  return;
272
276
  }
277
+ if (!this.interaction.canInteract(core.InteractionPriority.CanvasContextMenu)) {
278
+ return;
279
+ }
273
280
  this.listeners.contextmenu.forEach((listener) => {
274
281
  listener(e);
275
282
  });
@@ -339,6 +346,7 @@ __decorateElement(_init, 5, "ref", _ref_dec, Canvas);
339
346
  __decorateElement(_init, 5, "transform", _transform_dec, Canvas);
340
347
  __decorateElement(_init, 5, "getNode", _getNode_dec, Canvas);
341
348
  __decorateElement(_init, 5, "container", _container_dec, Canvas);
349
+ __decorateElement(_init, 5, "interaction", _interaction_dec, Canvas);
342
350
  __decorateElement(_init, 5, "addListener", _addListener_dec, Canvas);
343
351
  __decorateElement(_init, 5, "removeListener", _removeListener_dec, Canvas);
344
352
  __decoratorMetadata(_init, Canvas);
package/dist/index.d.cts CHANGED
@@ -1,7 +1,7 @@
1
+ import { BasePlugin, Engine } from '@knotx/core';
1
2
  import { InferParamsFromSchema } from '@knotx/decorators';
2
3
  import { MouseEvent, ReactNode } from 'react';
3
4
  import { ReactZoomPanPinchContentRef, ReactZoomPanPinchState, ReactZoomPanPinchProps } from 'react-zoom-pan-pinch';
4
- import { BasePlugin } from '@knotx/core';
5
5
 
6
6
  type CanvasConfig = ReactZoomPanPinchProps;
7
7
  type CanvasTransformState = ReactZoomPanPinchState;
@@ -54,6 +54,7 @@ declare class Canvas extends BasePlugin<'canvas', CanvasConfig> {
54
54
  transform: CanvasTransformState;
55
55
  private getNode;
56
56
  private container;
57
+ interaction: Engine['interaction'];
57
58
  private listeners;
58
59
  addListener: (event: CanvasEventType, listener: CanvasEventListener) => void;
59
60
  removeListener: (event: CanvasEventType, listener: CanvasEventListener) => void;
package/dist/index.d.mts CHANGED
@@ -1,7 +1,7 @@
1
+ import { BasePlugin, Engine } from '@knotx/core';
1
2
  import { InferParamsFromSchema } from '@knotx/decorators';
2
3
  import { MouseEvent, ReactNode } from 'react';
3
4
  import { ReactZoomPanPinchContentRef, ReactZoomPanPinchState, ReactZoomPanPinchProps } from 'react-zoom-pan-pinch';
4
- import { BasePlugin } from '@knotx/core';
5
5
 
6
6
  type CanvasConfig = ReactZoomPanPinchProps;
7
7
  type CanvasTransformState = ReactZoomPanPinchState;
@@ -54,6 +54,7 @@ declare class Canvas extends BasePlugin<'canvas', CanvasConfig> {
54
54
  transform: CanvasTransformState;
55
55
  private getNode;
56
56
  private container;
57
+ interaction: Engine['interaction'];
57
58
  private listeners;
58
59
  addListener: (event: CanvasEventType, listener: CanvasEventListener) => void;
59
60
  removeListener: (event: CanvasEventType, listener: CanvasEventListener) => void;
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
+ import { BasePlugin, Engine } from '@knotx/core';
1
2
  import { InferParamsFromSchema } from '@knotx/decorators';
2
3
  import { MouseEvent, ReactNode } from 'react';
3
4
  import { ReactZoomPanPinchContentRef, ReactZoomPanPinchState, ReactZoomPanPinchProps } from 'react-zoom-pan-pinch';
4
- import { BasePlugin } from '@knotx/core';
5
5
 
6
6
  type CanvasConfig = ReactZoomPanPinchProps;
7
7
  type CanvasTransformState = ReactZoomPanPinchState;
@@ -54,6 +54,7 @@ declare class Canvas extends BasePlugin<'canvas', CanvasConfig> {
54
54
  transform: CanvasTransformState;
55
55
  private getNode;
56
56
  private container;
57
+ interaction: Engine['interaction'];
57
58
  private listeners;
58
59
  addListener: (event: CanvasEventType, listener: CanvasEventListener) => void;
59
60
  removeListener: (event: CanvasEventType, listener: CanvasEventListener) => void;
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { jsxs, jsx } from '@knotx/jsx/jsx-runtime';
2
- import { Layer, bem, BasePlugin } from '@knotx/core';
2
+ import { Layer, InteractionPriority, bem, BasePlugin } from '@knotx/core';
3
3
  import { register, inject, tool, layer, OnInit } from '@knotx/decorators';
4
4
  import { merge } from 'lodash-es';
5
5
  import { useState, useMemo, useEffect, useCallback, Fragment } from 'react';
@@ -73,8 +73,8 @@ var __privateIn = (member, obj) => Object(obj) !== obj ? __typeError('Cannot use
73
73
  var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
74
74
  var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
75
75
  var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
76
- var _init_dec, _render_dec, _setTransform_dec, _zoomOut_dec, _zoomIn_dec, _scrollNodeIntoView_dec, _removeListener_dec, _addListener_dec, _container_dec, _getNode_dec, _transform_dec, _ref_dec, _a, _init;
77
- class Canvas extends (_a = BasePlugin, _ref_dec = [register("ref")], _transform_dec = [register("transform")], _getNode_dec = [inject.getNode()], _container_dec = [inject.container()], _addListener_dec = [register("addListener")], _removeListener_dec = [register("removeListener")], _scrollNodeIntoView_dec = [tool("Scroll node into viewport center", {
76
+ var _init_dec, _render_dec, _setTransform_dec, _zoomOut_dec, _zoomIn_dec, _scrollNodeIntoView_dec, _removeListener_dec, _addListener_dec, _interaction_dec, _container_dec, _getNode_dec, _transform_dec, _ref_dec, _a, _init;
77
+ class Canvas extends (_a = BasePlugin, _ref_dec = [register("ref")], _transform_dec = [register("transform")], _getNode_dec = [inject.getNode()], _container_dec = [inject.container()], _interaction_dec = [inject.interaction()], _addListener_dec = [register("addListener")], _removeListener_dec = [register("removeListener")], _scrollNodeIntoView_dec = [tool("Scroll node into viewport center", {
78
78
  type: "object",
79
79
  properties: {
80
80
  nodeId: { type: "string" },
@@ -122,16 +122,17 @@ class Canvas extends (_a = BasePlugin, _ref_dec = [register("ref")], _transform_
122
122
  __publicField(this, "transform", __runInitializers(_init, 12, this)), __runInitializers(_init, 15, this);
123
123
  __publicField(this, "getNode", __runInitializers(_init, 16, this)), __runInitializers(_init, 19, this);
124
124
  __publicField(this, "container", __runInitializers(_init, 20, this)), __runInitializers(_init, 23, this);
125
+ __publicField(this, "interaction", __runInitializers(_init, 24, this)), __runInitializers(_init, 27, this);
125
126
  __publicField(this, "listeners", {
126
127
  click: /* @__PURE__ */ new Set(),
127
128
  contextmenu: /* @__PURE__ */ new Set()
128
129
  });
129
- __publicField(this, "addListener", __runInitializers(_init, 24, this, (type, listener) => {
130
+ __publicField(this, "addListener", __runInitializers(_init, 28, this, (type, listener) => {
130
131
  this.listeners[type].add(listener);
131
- })), __runInitializers(_init, 27, this);
132
- __publicField(this, "removeListener", __runInitializers(_init, 28, this, (type, listener) => {
133
- this.listeners[type].delete(listener);
134
132
  })), __runInitializers(_init, 31, this);
133
+ __publicField(this, "removeListener", __runInitializers(_init, 32, this, (type, listener) => {
134
+ this.listeners[type].delete(listener);
135
+ })), __runInitializers(_init, 35, this);
135
136
  }
136
137
  scrollNodeIntoView({ nodeId, scale = this.transform.scale, block = "nearest", inline = "nearest", offset = 0, animationTime }) {
137
138
  var _a2, _b, _c, _d, _e, _f, _g;
@@ -260,6 +261,9 @@ class Canvas extends (_a = BasePlugin, _ref_dec = [register("ref")], _transform_
260
261
  if (!this.isCanvasEvent(e)) {
261
262
  return;
262
263
  }
264
+ if (!this.interaction.canInteract(InteractionPriority.CanvasClick)) {
265
+ return;
266
+ }
263
267
  this.listeners.click.forEach((listener) => {
264
268
  listener(e);
265
269
  });
@@ -268,6 +272,9 @@ class Canvas extends (_a = BasePlugin, _ref_dec = [register("ref")], _transform_
268
272
  if (!this.isCanvasEvent(e)) {
269
273
  return;
270
274
  }
275
+ if (!this.interaction.canInteract(InteractionPriority.CanvasContextMenu)) {
276
+ return;
277
+ }
271
278
  this.listeners.contextmenu.forEach((listener) => {
272
279
  listener(e);
273
280
  });
@@ -337,6 +344,7 @@ __decorateElement(_init, 5, "ref", _ref_dec, Canvas);
337
344
  __decorateElement(_init, 5, "transform", _transform_dec, Canvas);
338
345
  __decorateElement(_init, 5, "getNode", _getNode_dec, Canvas);
339
346
  __decorateElement(_init, 5, "container", _container_dec, Canvas);
347
+ __decorateElement(_init, 5, "interaction", _interaction_dec, Canvas);
340
348
  __decorateElement(_init, 5, "addListener", _addListener_dec, Canvas);
341
349
  __decorateElement(_init, 5, "removeListener", _removeListener_dec, Canvas);
342
350
  __decoratorMetadata(_init, Canvas);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@knotx/plugins-canvas",
3
- "version": "0.3.0",
3
+ "version": "0.3.2",
4
4
  "description": "Canvas Plugin for Knotx",
5
5
  "author": "boenfu",
6
6
  "license": "MIT",
@@ -29,23 +29,23 @@
29
29
  ],
30
30
  "peerDependencies": {
31
31
  "react": ">=17.0.0",
32
- "@knotx/jsx": "0.3.0"
32
+ "@knotx/jsx": "0.3.2"
33
33
  },
34
34
  "dependencies": {
35
35
  "lodash-es": "^4.17.21",
36
36
  "react-zoom-pan-pinch": "^3.7.0",
37
37
  "rxjs": "^7.8.1",
38
- "@knotx/core": "0.3.0",
39
- "@knotx/decorators": "0.3.0"
38
+ "@knotx/core": "0.3.2",
39
+ "@knotx/decorators": "0.3.2"
40
40
  },
41
41
  "devDependencies": {
42
42
  "@types/lodash-es": "^4.17.12",
43
43
  "@types/react": "^17.0.0",
44
44
  "react": "^17.0.0",
45
- "@knotx/build-config": "0.3.0",
46
- "@knotx/eslint-config": "0.3.0",
47
- "@knotx/jsx": "0.3.0",
48
- "@knotx/typescript-config": "0.3.0"
45
+ "@knotx/build-config": "0.3.2",
46
+ "@knotx/eslint-config": "0.3.2",
47
+ "@knotx/jsx": "0.3.2",
48
+ "@knotx/typescript-config": "0.3.2"
49
49
  },
50
50
  "scripts": {
51
51
  "build": "unbuild",