force-graph 1.42.2 → 1.42.6

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.
@@ -50,14 +50,9 @@ function ownKeys(object, enumerableOnly) {
50
50
 
51
51
  if (Object.getOwnPropertySymbols) {
52
52
  var symbols = Object.getOwnPropertySymbols(object);
53
-
54
- if (enumerableOnly) {
55
- symbols = symbols.filter(function (sym) {
56
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
57
- });
58
- }
59
-
60
- keys.push.apply(keys, symbols);
53
+ enumerableOnly && (symbols = symbols.filter(function (sym) {
54
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
55
+ })), keys.push.apply(keys, symbols);
61
56
  }
62
57
 
63
58
  return keys;
@@ -65,19 +60,12 @@ function ownKeys(object, enumerableOnly) {
65
60
 
66
61
  function _objectSpread2(target) {
67
62
  for (var i = 1; i < arguments.length; i++) {
68
- var source = arguments[i] != null ? arguments[i] : {};
69
-
70
- if (i % 2) {
71
- ownKeys(Object(source), true).forEach(function (key) {
72
- _defineProperty(target, key, source[key]);
73
- });
74
- } else if (Object.getOwnPropertyDescriptors) {
75
- Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
76
- } else {
77
- ownKeys(Object(source)).forEach(function (key) {
78
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
79
- });
80
- }
63
+ var source = null != arguments[i] ? arguments[i] : {};
64
+ i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {
65
+ _defineProperty(target, key, source[key]);
66
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {
67
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
68
+ });
81
69
  }
82
70
 
83
71
  return target;
@@ -86,17 +74,11 @@ function _objectSpread2(target) {
86
74
  function _typeof(obj) {
87
75
  "@babel/helpers - typeof";
88
76
 
89
- if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
90
- _typeof = function (obj) {
91
- return typeof obj;
92
- };
93
- } else {
94
- _typeof = function (obj) {
95
- return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
96
- };
97
- }
98
-
99
- return _typeof(obj);
77
+ return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
78
+ return typeof obj;
79
+ } : function (obj) {
80
+ return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
81
+ }, _typeof(obj);
100
82
  }
101
83
 
102
84
  function _defineProperty(obj, key, value) {
@@ -1252,11 +1234,9 @@ var forceGraph = Kapsule({
1252
1234
  triggerUpdate: false
1253
1235
  },
1254
1236
  onZoom: {
1255
- "default": function _default() {},
1256
1237
  triggerUpdate: false
1257
1238
  },
1258
1239
  onZoomEnd: {
1259
- "default": function _default() {},
1260
1240
  triggerUpdate: false
1261
1241
  },
1262
1242
  onRenderFramePre: {
@@ -1444,6 +1424,8 @@ var forceGraph = Kapsule({
1444
1424
  };
1445
1425
  },
1446
1426
  init: function init(domNode, state) {
1427
+ var _this = this;
1428
+
1447
1429
  // Wipe DOM
1448
1430
  domNode.innerHTML = ''; // Container anchor for canvas and tooltip
1449
1431
 
@@ -1537,9 +1519,12 @@ var forceGraph = Kapsule({
1537
1519
  }
1538
1520
 
1539
1521
  delete obj.__initialDragPos;
1540
- state.forceGraph.d3AlphaTarget(0) // release engine low intensity
1541
- .resetCountdown(); // let the engine readjust after releasing fixed nodes
1542
- // drag cursor
1522
+
1523
+ if (state.forceGraph.d3AlphaTarget()) {
1524
+ state.forceGraph.d3AlphaTarget(0) // release engine low intensity
1525
+ .resetCountdown(); // let the engine readjust after releasing fixed nodes
1526
+ } // drag cursor
1527
+
1543
1528
 
1544
1529
  state.canvas.classList.remove('grabbable');
1545
1530
  state.isPointerDragging = false;
@@ -1566,10 +1551,11 @@ var forceGraph = Kapsule({
1566
1551
  c.translate(t.x, t.y);
1567
1552
  c.scale(t.k, t.k);
1568
1553
  });
1569
- state.onZoom(_objectSpread2({}, t));
1554
+ state.onZoom && state.onZoom(_objectSpread2(_objectSpread2({}, t), _this.centerAt())); // report x,y coordinates relative to canvas center
1555
+
1570
1556
  state.needsRedraw = true;
1571
1557
  }).on('end', function (ev) {
1572
- return state.onZoomEnd(_objectSpread2({}, ev.transform));
1558
+ return state.onZoomEnd && state.onZoomEnd(_objectSpread2(_objectSpread2({}, ev.transform), _this.centerAt()));
1573
1559
  });
1574
1560
  adjustCanvasSize(state);
1575
1561
  state.forceGraph.onNeedsRedraw(function () {
@@ -1,7 +1,7 @@
1
1
  <head>
2
2
  <style> body { margin: 0; } </style>
3
3
 
4
- <script src="//bundle.run/@yarnpkg/lockfile"></script>
4
+ <script src="//bundle.run/@yarnpkg/lockfile@1.1.0"></script>
5
5
  <script src="//unpkg.com/dat.gui"></script>
6
6
  <script src="//unpkg.com/d3-quadtree"></script>
7
7
  <script src="//unpkg.com/d3-force"></script>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "force-graph",
3
- "version": "1.42.2",
3
+ "version": "1.42.6",
4
4
  "description": "2D force-directed graph rendered on HTML5 canvas",
5
5
  "unpkg": "dist/force-graph.min.js",
6
6
  "main": "dist/force-graph.common.js",
@@ -40,7 +40,7 @@
40
40
  "dependencies": {
41
41
  "@tweenjs/tween.js": "18",
42
42
  "accessor-fn": "1",
43
- "bezier-js": "3 - 4",
43
+ "bezier-js": "3 - 5",
44
44
  "canvas-color-tracker": "1",
45
45
  "d3-array": "1 - 3",
46
46
  "d3-drag": "2 - 3",
@@ -54,19 +54,19 @@
54
54
  "lodash.throttle": "4"
55
55
  },
56
56
  "devDependencies": {
57
- "@babel/core": "^7.15.0",
58
- "@babel/plugin-proposal-class-properties": "^7.14.5",
59
- "@babel/plugin-proposal-object-rest-spread": "^7.14.7",
60
- "@babel/preset-env": "^7.15.0",
57
+ "@babel/core": "^7.16.12",
58
+ "@babel/plugin-proposal-class-properties": "^7.16.7",
59
+ "@babel/plugin-proposal-object-rest-spread": "^7.16.7",
60
+ "@babel/preset-env": "^7.16.11",
61
61
  "@rollup/plugin-babel": "^5.3.0",
62
- "@rollup/plugin-commonjs": "^20.0.0",
63
- "@rollup/plugin-node-resolve": "^13.0.4",
64
- "postcss": "^8.3.6",
62
+ "@rollup/plugin-commonjs": "^21.0.1",
63
+ "@rollup/plugin-node-resolve": "^13.1.3",
64
+ "postcss": "^8.4.5",
65
65
  "rimraf": "^3.0.2",
66
- "rollup": "^2.55.1",
67
- "rollup-plugin-dts": "^3.0.2",
68
- "rollup-plugin-postcss": "^4.0.0",
66
+ "rollup": "^2.66.1",
67
+ "rollup-plugin-dts": "^4.1.0",
68
+ "rollup-plugin-postcss": "^4.0.2",
69
69
  "rollup-plugin-terser": "^7.0.2",
70
- "typescript": "^4.3.5"
70
+ "typescript": "^4.5.5"
71
71
  }
72
72
  }
@@ -178,8 +178,8 @@ export default Kapsule({
178
178
  onLinkHover: { triggerUpdate: false },
179
179
  onBackgroundClick: { triggerUpdate: false },
180
180
  onBackgroundRightClick: { triggerUpdate: false },
181
- onZoom: { default: () => {}, triggerUpdate: false },
182
- onZoomEnd: { default: () => {}, triggerUpdate: false },
181
+ onZoom: { triggerUpdate: false },
182
+ onZoomEnd: { triggerUpdate: false },
183
183
  onRenderFramePre: { triggerUpdate: false },
184
184
  onRenderFramePost: { triggerUpdate: false },
185
185
  ...linkedProps
@@ -432,9 +432,11 @@ export default Kapsule({
432
432
  if (initPos.fy === undefined) { obj.fy = undefined; }
433
433
  delete(obj.__initialDragPos);
434
434
 
435
- state.forceGraph
436
- .d3AlphaTarget(0) // release engine low intensity
437
- .resetCountdown(); // let the engine readjust after releasing fixed nodes
435
+ if (state.forceGraph.d3AlphaTarget()) {
436
+ state.forceGraph
437
+ .d3AlphaTarget(0) // release engine low intensity
438
+ .resetCountdown(); // let the engine readjust after releasing fixed nodes
439
+ }
438
440
 
439
441
  // drag cursor
440
442
  state.canvas.classList.remove('grabbable');
@@ -468,10 +470,10 @@ export default Kapsule({
468
470
  c.translate(t.x, t.y);
469
471
  c.scale(t.k, t.k);
470
472
  });
471
- state.onZoom({ ...t });
473
+ state.onZoom && state.onZoom({ ...t, ...this.centerAt() }); // report x,y coordinates relative to canvas center
472
474
  state.needsRedraw = true;
473
475
  })
474
- .on('end', ev => state.onZoomEnd({ ...ev.transform }));
476
+ .on('end', ev => state.onZoomEnd && state.onZoomEnd({ ...ev.transform, ...this.centerAt() }));
475
477
 
476
478
  adjustCanvasSize(state);
477
479
 
package/src/index.d.ts CHANGED
@@ -30,7 +30,7 @@ type DagMode = 'td' | 'bu' | 'lr' | 'rl' | 'radialout' | 'radialin';
30
30
 
31
31
  interface ForceFn {
32
32
  (alpha: number): void;
33
- initialize?: (nodes: NodeObject[]) => void;
33
+ initialize?: (nodes: NodeObject[], ...args: any[]) => void;
34
34
  [key: string]: any;
35
35
  }
36
36