@knotx/plugins-canvas 0.4.10 → 0.4.11

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
@@ -158,8 +158,8 @@ var __privateIn = (member, obj) => Object(obj) !== obj ? __typeError('Cannot use
158
158
  var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
159
159
  var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
160
160
  var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
161
- var _init_dec, _render_dec, _resetTransform_dec, _setTransform_dec, _zoomOut_dec, _zoomIn_dec, _scrollNodeIntoView_dec, _removeListener_dec, _addListener_dec, _interaction_dec, _container_dec, _getNode_dec, _edgeScroll_dec, _updateContentSize_dec, _contentSize_dec, _rootElement_dec, _transform_dec, _a, _init;
162
- class Canvas extends (_a = core.BasePlugin, _transform_dec = [decorators.register("transform")], _rootElement_dec = [decorators.register("rootElement")], _contentSize_dec = [decorators.register("contentSize")], _updateContentSize_dec = [decorators.register("updateContentSize")], _edgeScroll_dec = [decorators.register("edgeScroll")], _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 view", {
161
+ var _init_dec, _render_dec, _resetTransform_dec, _setTransform_dec, _zoomOut_dec, _zoomIn_dec, _scrollNodeIntoView_dec, _removeListener_dec, _addListener_dec, _registerDataManager_dec, _interaction_dec, _container_dec, _getNode_dec, _edgeScroll_dec, _updateContentSize_dec, _contentSize_dec, _rootElement_dec, _transform_dec, _a, _init;
162
+ class Canvas extends (_a = core.BasePlugin, _transform_dec = [decorators.register("transform")], _rootElement_dec = [decorators.register("rootElement")], _contentSize_dec = [decorators.register("contentSize")], _updateContentSize_dec = [decorators.register("updateContentSize")], _edgeScroll_dec = [decorators.register("edgeScroll")], _getNode_dec = [decorators.inject.getNode()], _container_dec = [decorators.inject.container()], _interaction_dec = [decorators.inject.interaction()], _registerDataManager_dec = [decorators.inject.history.registerDataManager()], _addListener_dec = [decorators.register("addListener")], _removeListener_dec = [decorators.register("removeListener")], _scrollNodeIntoView_dec = [decorators.tool("Scroll node into view", {
163
163
  type: "object",
164
164
  properties: {
165
165
  nodeId: { type: "string" },
@@ -209,11 +209,20 @@ class Canvas extends (_a = core.BasePlugin, _transform_dec = [decorators.registe
209
209
  __publicField(this, "config");
210
210
  __publicField(this, "name", "canvas");
211
211
  __publicField(this, "ref", null);
212
+ __publicField(this, "dataManager", new core.DataManager(this.name));
212
213
  __publicField(this, "transform", __runInitializers(_init, 8, this)), __runInitializers(_init, 11, this);
213
214
  __publicField(this, "rootElement", __runInitializers(_init, 12, this, null)), __runInitializers(_init, 15, this);
214
215
  __publicField(this, "contentSize", __runInitializers(_init, 16, this)), __runInitializers(_init, 19, this);
215
216
  __publicField(this, "updateContentSize", __runInitializers(_init, 20, this, (contentSize) => {
217
+ if (lodashEs.isEqual(this.contentSize, contentSize)) {
218
+ return;
219
+ }
216
220
  this.contentSize = contentSize;
221
+ this.dataManager.dispatch({
222
+ id: "contentSize",
223
+ type: "update",
224
+ data: { data: contentSize }
225
+ });
217
226
  })), __runInitializers(_init, 23, this);
218
227
  __publicField(this, "edgeScroll", __runInitializers(_init, 24, this, {
219
228
  config: {
@@ -233,6 +242,7 @@ class Canvas extends (_a = core.BasePlugin, _transform_dec = [decorators.registe
233
242
  __publicField(this, "getNode", __runInitializers(_init, 28, this)), __runInitializers(_init, 31, this);
234
243
  __publicField(this, "container", __runInitializers(_init, 32, this)), __runInitializers(_init, 35, this);
235
244
  __publicField(this, "interaction", __runInitializers(_init, 36, this)), __runInitializers(_init, 39, this);
245
+ __publicField(this, "registerDataManager", __runInitializers(_init, 40, this)), __runInitializers(_init, 43, this);
236
246
  __publicField(this, "listeners", {
237
247
  click: /* @__PURE__ */ new Set(),
238
248
  contextmenu: /* @__PURE__ */ new Set(),
@@ -241,12 +251,12 @@ class Canvas extends (_a = core.BasePlugin, _transform_dec = [decorators.registe
241
251
  });
242
252
  __publicField(this, "edgeScrollAnimationFrame", null);
243
253
  __publicField(this, "mousePosition", null);
244
- __publicField(this, "addListener", __runInitializers(_init, 40, this, (type, listener) => {
254
+ __publicField(this, "addListener", __runInitializers(_init, 44, this, (type, listener) => {
245
255
  this.listeners[type].add(listener);
246
- })), __runInitializers(_init, 43, this);
247
- __publicField(this, "removeListener", __runInitializers(_init, 44, this, (type, listener) => {
248
- this.listeners[type].delete(listener);
249
256
  })), __runInitializers(_init, 47, this);
257
+ __publicField(this, "removeListener", __runInitializers(_init, 48, this, (type, listener) => {
258
+ this.listeners[type].delete(listener);
259
+ })), __runInitializers(_init, 51, this);
250
260
  __publicField(this, "onClick", (e) => {
251
261
  if (!this.isCanvasEvent(e)) {
252
262
  return;
@@ -489,6 +499,17 @@ class Canvas extends (_a = core.BasePlugin, _transform_dec = [decorators.registe
489
499
  }
490
500
  this.rootElement = null;
491
501
  });
502
+ if (this.registerDataManager) {
503
+ this.subscriptions.push(this.registerDataManager(this.dataManager));
504
+ }
505
+ this.dataManager.init([{ id: "contentSize", data: void 0 }]);
506
+ this.subscriptions.push(
507
+ this.dataManager.getData$("contentSize").subscribe((contentSize) => {
508
+ if (contentSize == null ? void 0 : contentSize.data) {
509
+ this.updateContentSize(contentSize.data);
510
+ }
511
+ })
512
+ );
492
513
  }
493
514
  groupLayers(children) {
494
515
  const fixedLayers = [];
@@ -549,6 +570,7 @@ __decorateElement(_init, 5, "edgeScroll", _edgeScroll_dec, Canvas);
549
570
  __decorateElement(_init, 5, "getNode", _getNode_dec, Canvas);
550
571
  __decorateElement(_init, 5, "container", _container_dec, Canvas);
551
572
  __decorateElement(_init, 5, "interaction", _interaction_dec, Canvas);
573
+ __decorateElement(_init, 5, "registerDataManager", _registerDataManager_dec, Canvas);
552
574
  __decorateElement(_init, 5, "addListener", _addListener_dec, Canvas);
553
575
  __decorateElement(_init, 5, "removeListener", _removeListener_dec, Canvas);
554
576
  __decoratorMetadata(_init, Canvas);
package/dist/index.d.cts CHANGED
@@ -1,4 +1,4 @@
1
- import { Element, BasePlugin, DOMElement, Engine } from '@knotx/core';
1
+ import { Element, BasePlugin, DataManager, DOMElement, Engine, PluginData } from '@knotx/core';
2
2
  import { InferParamsFromSchema } from '@knotx/decorators';
3
3
  import { ReactZoomPanPinchProps, ReactZoomPanPinchContentRef } from '@knotx/react-zoom-pan-pinch';
4
4
  import { MouseEvent, ReactNode } from 'react';
@@ -78,10 +78,15 @@ declare module '@knotx/core' {
78
78
  }
79
79
  type CanvasEventType = 'click' | 'contextmenu' | 'mouseenter' | 'mouseleave';
80
80
  type CanvasEventListener = (event: MouseEvent<HTMLElement>) => void;
81
+ interface CanvasDataType {
82
+ id: 'contentSize';
83
+ data: CanvasContentSize | undefined;
84
+ }
81
85
  declare class Canvas extends BasePlugin<'canvas', CanvasConfig> {
82
86
  private config;
83
87
  name: "canvas";
84
88
  ref: ReactZoomPanPinchContentRef | null;
89
+ dataManager: DataManager<CanvasDataType, "canvas">;
85
90
  transform: CanvasTransformState;
86
91
  rootElement: DOMElement | null;
87
92
  contentSize: CanvasContentSize | undefined;
@@ -93,6 +98,7 @@ declare class Canvas extends BasePlugin<'canvas', CanvasConfig> {
93
98
  private getNode;
94
99
  private container;
95
100
  interaction: Engine['interaction'];
101
+ registerDataManager: PluginData['history']['registerDataManager'];
96
102
  private listeners;
97
103
  private edgeScrollAnimationFrame;
98
104
  private mousePosition;
package/dist/index.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { Element, BasePlugin, DOMElement, Engine } from '@knotx/core';
1
+ import { Element, BasePlugin, DataManager, DOMElement, Engine, PluginData } from '@knotx/core';
2
2
  import { InferParamsFromSchema } from '@knotx/decorators';
3
3
  import { ReactZoomPanPinchProps, ReactZoomPanPinchContentRef } from '@knotx/react-zoom-pan-pinch';
4
4
  import { MouseEvent, ReactNode } from 'react';
@@ -78,10 +78,15 @@ declare module '@knotx/core' {
78
78
  }
79
79
  type CanvasEventType = 'click' | 'contextmenu' | 'mouseenter' | 'mouseleave';
80
80
  type CanvasEventListener = (event: MouseEvent<HTMLElement>) => void;
81
+ interface CanvasDataType {
82
+ id: 'contentSize';
83
+ data: CanvasContentSize | undefined;
84
+ }
81
85
  declare class Canvas extends BasePlugin<'canvas', CanvasConfig> {
82
86
  private config;
83
87
  name: "canvas";
84
88
  ref: ReactZoomPanPinchContentRef | null;
89
+ dataManager: DataManager<CanvasDataType, "canvas">;
85
90
  transform: CanvasTransformState;
86
91
  rootElement: DOMElement | null;
87
92
  contentSize: CanvasContentSize | undefined;
@@ -93,6 +98,7 @@ declare class Canvas extends BasePlugin<'canvas', CanvasConfig> {
93
98
  private getNode;
94
99
  private container;
95
100
  interaction: Engine['interaction'];
101
+ registerDataManager: PluginData['history']['registerDataManager'];
96
102
  private listeners;
97
103
  private edgeScrollAnimationFrame;
98
104
  private mousePosition;
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { Element, BasePlugin, DOMElement, Engine } from '@knotx/core';
1
+ import { Element, BasePlugin, DataManager, DOMElement, Engine, PluginData } from '@knotx/core';
2
2
  import { InferParamsFromSchema } from '@knotx/decorators';
3
3
  import { ReactZoomPanPinchProps, ReactZoomPanPinchContentRef } from '@knotx/react-zoom-pan-pinch';
4
4
  import { MouseEvent, ReactNode } from 'react';
@@ -78,10 +78,15 @@ declare module '@knotx/core' {
78
78
  }
79
79
  type CanvasEventType = 'click' | 'contextmenu' | 'mouseenter' | 'mouseleave';
80
80
  type CanvasEventListener = (event: MouseEvent<HTMLElement>) => void;
81
+ interface CanvasDataType {
82
+ id: 'contentSize';
83
+ data: CanvasContentSize | undefined;
84
+ }
81
85
  declare class Canvas extends BasePlugin<'canvas', CanvasConfig> {
82
86
  private config;
83
87
  name: "canvas";
84
88
  ref: ReactZoomPanPinchContentRef | null;
89
+ dataManager: DataManager<CanvasDataType, "canvas">;
85
90
  transform: CanvasTransformState;
86
91
  rootElement: DOMElement | null;
87
92
  contentSize: CanvasContentSize | undefined;
@@ -93,6 +98,7 @@ declare class Canvas extends BasePlugin<'canvas', CanvasConfig> {
93
98
  private getNode;
94
99
  private container;
95
100
  interaction: Engine['interaction'];
101
+ registerDataManager: PluginData['history']['registerDataManager'];
96
102
  private listeners;
97
103
  private edgeScrollAnimationFrame;
98
104
  private mousePosition;
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { jsxs, jsx } from '@knotx/jsx/jsx-runtime';
2
- import { Layer, use, DOMElement, bem, BasePlugin, InteractionPriority } from '@knotx/core';
2
+ import { Layer, DataManager, use, DOMElement, bem, BasePlugin, InteractionPriority } from '@knotx/core';
3
3
  import { register, inject, tool, layer, OnInit } from '@knotx/decorators';
4
4
  import { TransformWrapper, TransformComponent } from '@knotx/react-zoom-pan-pinch';
5
5
  import { isEqual, merge } from 'lodash-es';
@@ -156,8 +156,8 @@ var __privateIn = (member, obj) => Object(obj) !== obj ? __typeError('Cannot use
156
156
  var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
157
157
  var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
158
158
  var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
159
- var _init_dec, _render_dec, _resetTransform_dec, _setTransform_dec, _zoomOut_dec, _zoomIn_dec, _scrollNodeIntoView_dec, _removeListener_dec, _addListener_dec, _interaction_dec, _container_dec, _getNode_dec, _edgeScroll_dec, _updateContentSize_dec, _contentSize_dec, _rootElement_dec, _transform_dec, _a, _init;
160
- class Canvas extends (_a = BasePlugin, _transform_dec = [register("transform")], _rootElement_dec = [register("rootElement")], _contentSize_dec = [register("contentSize")], _updateContentSize_dec = [register("updateContentSize")], _edgeScroll_dec = [register("edgeScroll")], _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 view", {
159
+ var _init_dec, _render_dec, _resetTransform_dec, _setTransform_dec, _zoomOut_dec, _zoomIn_dec, _scrollNodeIntoView_dec, _removeListener_dec, _addListener_dec, _registerDataManager_dec, _interaction_dec, _container_dec, _getNode_dec, _edgeScroll_dec, _updateContentSize_dec, _contentSize_dec, _rootElement_dec, _transform_dec, _a, _init;
160
+ class Canvas extends (_a = BasePlugin, _transform_dec = [register("transform")], _rootElement_dec = [register("rootElement")], _contentSize_dec = [register("contentSize")], _updateContentSize_dec = [register("updateContentSize")], _edgeScroll_dec = [register("edgeScroll")], _getNode_dec = [inject.getNode()], _container_dec = [inject.container()], _interaction_dec = [inject.interaction()], _registerDataManager_dec = [inject.history.registerDataManager()], _addListener_dec = [register("addListener")], _removeListener_dec = [register("removeListener")], _scrollNodeIntoView_dec = [tool("Scroll node into view", {
161
161
  type: "object",
162
162
  properties: {
163
163
  nodeId: { type: "string" },
@@ -207,11 +207,20 @@ class Canvas extends (_a = BasePlugin, _transform_dec = [register("transform")],
207
207
  __publicField(this, "config");
208
208
  __publicField(this, "name", "canvas");
209
209
  __publicField(this, "ref", null);
210
+ __publicField(this, "dataManager", new DataManager(this.name));
210
211
  __publicField(this, "transform", __runInitializers(_init, 8, this)), __runInitializers(_init, 11, this);
211
212
  __publicField(this, "rootElement", __runInitializers(_init, 12, this, null)), __runInitializers(_init, 15, this);
212
213
  __publicField(this, "contentSize", __runInitializers(_init, 16, this)), __runInitializers(_init, 19, this);
213
214
  __publicField(this, "updateContentSize", __runInitializers(_init, 20, this, (contentSize) => {
215
+ if (isEqual(this.contentSize, contentSize)) {
216
+ return;
217
+ }
214
218
  this.contentSize = contentSize;
219
+ this.dataManager.dispatch({
220
+ id: "contentSize",
221
+ type: "update",
222
+ data: { data: contentSize }
223
+ });
215
224
  })), __runInitializers(_init, 23, this);
216
225
  __publicField(this, "edgeScroll", __runInitializers(_init, 24, this, {
217
226
  config: {
@@ -231,6 +240,7 @@ class Canvas extends (_a = BasePlugin, _transform_dec = [register("transform")],
231
240
  __publicField(this, "getNode", __runInitializers(_init, 28, this)), __runInitializers(_init, 31, this);
232
241
  __publicField(this, "container", __runInitializers(_init, 32, this)), __runInitializers(_init, 35, this);
233
242
  __publicField(this, "interaction", __runInitializers(_init, 36, this)), __runInitializers(_init, 39, this);
243
+ __publicField(this, "registerDataManager", __runInitializers(_init, 40, this)), __runInitializers(_init, 43, this);
234
244
  __publicField(this, "listeners", {
235
245
  click: /* @__PURE__ */ new Set(),
236
246
  contextmenu: /* @__PURE__ */ new Set(),
@@ -239,12 +249,12 @@ class Canvas extends (_a = BasePlugin, _transform_dec = [register("transform")],
239
249
  });
240
250
  __publicField(this, "edgeScrollAnimationFrame", null);
241
251
  __publicField(this, "mousePosition", null);
242
- __publicField(this, "addListener", __runInitializers(_init, 40, this, (type, listener) => {
252
+ __publicField(this, "addListener", __runInitializers(_init, 44, this, (type, listener) => {
243
253
  this.listeners[type].add(listener);
244
- })), __runInitializers(_init, 43, this);
245
- __publicField(this, "removeListener", __runInitializers(_init, 44, this, (type, listener) => {
246
- this.listeners[type].delete(listener);
247
254
  })), __runInitializers(_init, 47, this);
255
+ __publicField(this, "removeListener", __runInitializers(_init, 48, this, (type, listener) => {
256
+ this.listeners[type].delete(listener);
257
+ })), __runInitializers(_init, 51, this);
248
258
  __publicField(this, "onClick", (e) => {
249
259
  if (!this.isCanvasEvent(e)) {
250
260
  return;
@@ -487,6 +497,17 @@ class Canvas extends (_a = BasePlugin, _transform_dec = [register("transform")],
487
497
  }
488
498
  this.rootElement = null;
489
499
  });
500
+ if (this.registerDataManager) {
501
+ this.subscriptions.push(this.registerDataManager(this.dataManager));
502
+ }
503
+ this.dataManager.init([{ id: "contentSize", data: void 0 }]);
504
+ this.subscriptions.push(
505
+ this.dataManager.getData$("contentSize").subscribe((contentSize) => {
506
+ if (contentSize == null ? void 0 : contentSize.data) {
507
+ this.updateContentSize(contentSize.data);
508
+ }
509
+ })
510
+ );
490
511
  }
491
512
  groupLayers(children) {
492
513
  const fixedLayers = [];
@@ -547,6 +568,7 @@ __decorateElement(_init, 5, "edgeScroll", _edgeScroll_dec, Canvas);
547
568
  __decorateElement(_init, 5, "getNode", _getNode_dec, Canvas);
548
569
  __decorateElement(_init, 5, "container", _container_dec, Canvas);
549
570
  __decorateElement(_init, 5, "interaction", _interaction_dec, Canvas);
571
+ __decorateElement(_init, 5, "registerDataManager", _registerDataManager_dec, Canvas);
550
572
  __decorateElement(_init, 5, "addListener", _addListener_dec, Canvas);
551
573
  __decorateElement(_init, 5, "removeListener", _removeListener_dec, Canvas);
552
574
  __decoratorMetadata(_init, Canvas);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@knotx/plugins-canvas",
3
- "version": "0.4.10",
3
+ "version": "0.4.11",
4
4
  "description": "Canvas Plugin for Knotx",
5
5
  "author": "boenfu",
6
6
  "license": "MIT",
@@ -29,23 +29,25 @@
29
29
  ],
30
30
  "peerDependencies": {
31
31
  "react": ">=17.0.0",
32
- "@knotx/jsx": "0.4.10"
32
+ "@knotx/jsx": "0.4.11",
33
+ "@knotx/plugins-history": "0.4.11"
33
34
  },
34
35
  "dependencies": {
35
36
  "@knotx/react-zoom-pan-pinch": "^3.9.9",
36
37
  "lodash-es": "^4.17.21",
37
38
  "rxjs": "^7.8.1",
38
- "@knotx/core": "0.4.10",
39
- "@knotx/decorators": "0.4.10"
39
+ "@knotx/core": "0.4.11",
40
+ "@knotx/decorators": "0.4.11"
40
41
  },
41
42
  "devDependencies": {
42
43
  "@types/lodash-es": "^4.17.12",
43
44
  "@types/react": "^17.0.0",
44
45
  "react": "^17.0.0",
45
- "@knotx/build-config": "0.4.10",
46
- "@knotx/eslint-config": "0.4.10",
47
- "@knotx/jsx": "0.4.10",
48
- "@knotx/typescript-config": "0.4.10"
46
+ "@knotx/build-config": "0.4.11",
47
+ "@knotx/eslint-config": "0.4.11",
48
+ "@knotx/jsx": "0.4.11",
49
+ "@knotx/plugins-history": "0.4.11",
50
+ "@knotx/typescript-config": "0.4.11"
49
51
  },
50
52
  "scripts": {
51
53
  "build": "unbuild",