3d-force-graph 1.74.3 → 1.74.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/3d-force-graph.js +554 -763
- package/dist/3d-force-graph.js.map +1 -1
- package/dist/3d-force-graph.min.js +3 -3
- package/package.json +4 -4
package/dist/3d-force-graph.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Version 1.74.
|
|
1
|
+
// Version 1.74.4 3d-force-graph - https://github.com/vasturiano/3d-force-graph
|
|
2
2
|
(function (global, factory) {
|
|
3
3
|
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
|
|
4
4
|
typeof define === 'function' && define.amd ? define(factory) :
|
|
@@ -35,29 +35,29 @@
|
|
|
35
35
|
var css_248z$1 = ".graph-info-msg {\n top: 50%;\n width: 100%;\n text-align: center;\n color: lavender;\n opacity: 0.7;\n font-size: 22px;\n position: absolute;\n font-family: Sans-serif;\n}\n\n.scene-container .clickable {\n cursor: pointer;\n}\n\n.scene-container .grabbable {\n cursor: move;\n cursor: grab;\n cursor: -moz-grab;\n cursor: -webkit-grab;\n}\n\n.scene-container .grabbable:active {\n cursor: grabbing;\n cursor: -moz-grabbing;\n cursor: -webkit-grabbing;\n}";
|
|
36
36
|
styleInject$1(css_248z$1);
|
|
37
37
|
|
|
38
|
-
function _arrayLikeToArray$
|
|
38
|
+
function _arrayLikeToArray$4(r, a) {
|
|
39
39
|
(null == a || a > r.length) && (a = r.length);
|
|
40
40
|
for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
|
|
41
41
|
return n;
|
|
42
42
|
}
|
|
43
|
-
function _arrayWithoutHoles$
|
|
44
|
-
if (Array.isArray(r)) return _arrayLikeToArray$
|
|
43
|
+
function _arrayWithoutHoles$3(r) {
|
|
44
|
+
if (Array.isArray(r)) return _arrayLikeToArray$4(r);
|
|
45
45
|
}
|
|
46
|
-
function _defineProperty$
|
|
47
|
-
return (r = _toPropertyKey$
|
|
46
|
+
function _defineProperty$2(e, r, t) {
|
|
47
|
+
return (r = _toPropertyKey$3(r)) in e ? Object.defineProperty(e, r, {
|
|
48
48
|
value: t,
|
|
49
49
|
enumerable: !0,
|
|
50
50
|
configurable: !0,
|
|
51
51
|
writable: !0
|
|
52
52
|
}) : e[r] = t, e;
|
|
53
53
|
}
|
|
54
|
-
function _iterableToArray$
|
|
54
|
+
function _iterableToArray$3(r) {
|
|
55
55
|
if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r);
|
|
56
56
|
}
|
|
57
|
-
function _nonIterableSpread$
|
|
57
|
+
function _nonIterableSpread$3() {
|
|
58
58
|
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
59
59
|
}
|
|
60
|
-
function ownKeys$
|
|
60
|
+
function ownKeys$1(e, r) {
|
|
61
61
|
var t = Object.keys(e);
|
|
62
62
|
if (Object.getOwnPropertySymbols) {
|
|
63
63
|
var o = Object.getOwnPropertySymbols(e);
|
|
@@ -67,21 +67,21 @@
|
|
|
67
67
|
}
|
|
68
68
|
return t;
|
|
69
69
|
}
|
|
70
|
-
function _objectSpread2$
|
|
70
|
+
function _objectSpread2$1(e) {
|
|
71
71
|
for (var r = 1; r < arguments.length; r++) {
|
|
72
72
|
var t = null != arguments[r] ? arguments[r] : {};
|
|
73
|
-
r % 2 ? ownKeys$
|
|
74
|
-
_defineProperty$
|
|
75
|
-
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$
|
|
73
|
+
r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) {
|
|
74
|
+
_defineProperty$2(e, r, t[r]);
|
|
75
|
+
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) {
|
|
76
76
|
Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
|
|
77
77
|
});
|
|
78
78
|
}
|
|
79
79
|
return e;
|
|
80
80
|
}
|
|
81
|
-
function _toConsumableArray$
|
|
82
|
-
return _arrayWithoutHoles$
|
|
81
|
+
function _toConsumableArray$3(r) {
|
|
82
|
+
return _arrayWithoutHoles$3(r) || _iterableToArray$3(r) || _unsupportedIterableToArray$4(r) || _nonIterableSpread$3();
|
|
83
83
|
}
|
|
84
|
-
function _toPrimitive$
|
|
84
|
+
function _toPrimitive$3(t, r) {
|
|
85
85
|
if ("object" != typeof t || !t) return t;
|
|
86
86
|
var e = t[Symbol.toPrimitive];
|
|
87
87
|
if (void 0 !== e) {
|
|
@@ -91,15 +91,15 @@
|
|
|
91
91
|
}
|
|
92
92
|
return ("string" === r ? String : Number)(t);
|
|
93
93
|
}
|
|
94
|
-
function _toPropertyKey$
|
|
95
|
-
var i = _toPrimitive$
|
|
94
|
+
function _toPropertyKey$3(t) {
|
|
95
|
+
var i = _toPrimitive$3(t, "string");
|
|
96
96
|
return "symbol" == typeof i ? i : i + "";
|
|
97
97
|
}
|
|
98
|
-
function _unsupportedIterableToArray$
|
|
98
|
+
function _unsupportedIterableToArray$4(r, a) {
|
|
99
99
|
if (r) {
|
|
100
|
-
if ("string" == typeof r) return _arrayLikeToArray$
|
|
100
|
+
if ("string" == typeof r) return _arrayLikeToArray$4(r, a);
|
|
101
101
|
var t = {}.toString.call(r).slice(8, -1);
|
|
102
|
-
return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$
|
|
102
|
+
return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$4(r, a) : void 0;
|
|
103
103
|
}
|
|
104
104
|
}
|
|
105
105
|
|
|
@@ -26323,7 +26323,7 @@
|
|
|
26323
26323
|
|
|
26324
26324
|
}
|
|
26325
26325
|
|
|
26326
|
-
let _id$
|
|
26326
|
+
let _id$9 = 0;
|
|
26327
26327
|
|
|
26328
26328
|
class WebGLShaderCache {
|
|
26329
26329
|
|
|
@@ -26437,7 +26437,7 @@
|
|
|
26437
26437
|
|
|
26438
26438
|
constructor( code ) {
|
|
26439
26439
|
|
|
26440
|
-
this.id = _id$
|
|
26440
|
+
this.id = _id$9 ++;
|
|
26441
26441
|
|
|
26442
26442
|
this.code = code;
|
|
26443
26443
|
this.usedTimes = 0;
|
|
@@ -38984,7 +38984,7 @@ void main() {
|
|
|
38984
38984
|
return (random() - 0.5) * 1e-6;
|
|
38985
38985
|
}
|
|
38986
38986
|
|
|
38987
|
-
function index$
|
|
38987
|
+
function index$2(d) {
|
|
38988
38988
|
return d.index;
|
|
38989
38989
|
}
|
|
38990
38990
|
|
|
@@ -38995,7 +38995,7 @@ void main() {
|
|
|
38995
38995
|
}
|
|
38996
38996
|
|
|
38997
38997
|
function forceLink(links) {
|
|
38998
|
-
var id = index$
|
|
38998
|
+
var id = index$2,
|
|
38999
38999
|
strength = defaultStrength,
|
|
39000
39000
|
strengths,
|
|
39001
39001
|
distance = constant(30),
|
|
@@ -42748,23 +42748,23 @@ function InsertStackElement(node, body) {
|
|
|
42748
42748
|
return debounced;
|
|
42749
42749
|
}
|
|
42750
42750
|
|
|
42751
|
-
function _arrayLikeToArray$
|
|
42751
|
+
function _arrayLikeToArray$3(r, a) {
|
|
42752
42752
|
(null == a || a > r.length) && (a = r.length);
|
|
42753
42753
|
for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
|
|
42754
42754
|
return n;
|
|
42755
42755
|
}
|
|
42756
|
-
function _arrayWithHoles$
|
|
42756
|
+
function _arrayWithHoles$3(r) {
|
|
42757
42757
|
if (Array.isArray(r)) return r;
|
|
42758
42758
|
}
|
|
42759
|
-
function _classCallCheck$
|
|
42759
|
+
function _classCallCheck$2(a, n) {
|
|
42760
42760
|
if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function");
|
|
42761
42761
|
}
|
|
42762
|
-
function _createClass$
|
|
42762
|
+
function _createClass$2(e, r, t) {
|
|
42763
42763
|
return Object.defineProperty(e, "prototype", {
|
|
42764
42764
|
writable: !1
|
|
42765
42765
|
}), e;
|
|
42766
42766
|
}
|
|
42767
|
-
function _iterableToArrayLimit$
|
|
42767
|
+
function _iterableToArrayLimit$3(r, l) {
|
|
42768
42768
|
var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
|
|
42769
42769
|
if (null != t) {
|
|
42770
42770
|
var e,
|
|
@@ -42788,34 +42788,34 @@ function InsertStackElement(node, body) {
|
|
|
42788
42788
|
return a;
|
|
42789
42789
|
}
|
|
42790
42790
|
}
|
|
42791
|
-
function _nonIterableRest$
|
|
42791
|
+
function _nonIterableRest$3() {
|
|
42792
42792
|
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
42793
42793
|
}
|
|
42794
|
-
function _slicedToArray$
|
|
42795
|
-
return _arrayWithHoles$
|
|
42794
|
+
function _slicedToArray$3(r, e) {
|
|
42795
|
+
return _arrayWithHoles$3(r) || _iterableToArrayLimit$3(r, e) || _unsupportedIterableToArray$3(r, e) || _nonIterableRest$3();
|
|
42796
42796
|
}
|
|
42797
|
-
function _unsupportedIterableToArray$
|
|
42797
|
+
function _unsupportedIterableToArray$3(r, a) {
|
|
42798
42798
|
if (r) {
|
|
42799
|
-
if ("string" == typeof r) return _arrayLikeToArray$
|
|
42799
|
+
if ("string" == typeof r) return _arrayLikeToArray$3(r, a);
|
|
42800
42800
|
var t = {}.toString.call(r).slice(8, -1);
|
|
42801
|
-
return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$
|
|
42801
|
+
return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$3(r, a) : void 0;
|
|
42802
42802
|
}
|
|
42803
42803
|
}
|
|
42804
42804
|
|
|
42805
|
-
var Prop = /*#__PURE__*/_createClass$
|
|
42805
|
+
var Prop = /*#__PURE__*/_createClass$2(function Prop(name, _ref) {
|
|
42806
42806
|
var _ref$default = _ref["default"],
|
|
42807
42807
|
defaultVal = _ref$default === void 0 ? null : _ref$default,
|
|
42808
42808
|
_ref$triggerUpdate = _ref.triggerUpdate,
|
|
42809
42809
|
triggerUpdate = _ref$triggerUpdate === void 0 ? true : _ref$triggerUpdate,
|
|
42810
42810
|
_ref$onChange = _ref.onChange,
|
|
42811
42811
|
onChange = _ref$onChange === void 0 ? function (newVal, state) {} : _ref$onChange;
|
|
42812
|
-
_classCallCheck$
|
|
42812
|
+
_classCallCheck$2(this, Prop);
|
|
42813
42813
|
this.name = name;
|
|
42814
42814
|
this.defaultVal = defaultVal;
|
|
42815
42815
|
this.triggerUpdate = triggerUpdate;
|
|
42816
42816
|
this.onChange = onChange;
|
|
42817
42817
|
});
|
|
42818
|
-
function index$
|
|
42818
|
+
function index$1 (_ref2) {
|
|
42819
42819
|
var _ref2$stateInit = _ref2.stateInit,
|
|
42820
42820
|
stateInit = _ref2$stateInit === void 0 ? function () {
|
|
42821
42821
|
return {};
|
|
@@ -42915,7 +42915,7 @@ function InsertStackElement(node, body) {
|
|
|
42915
42915
|
|
|
42916
42916
|
// Link aliases
|
|
42917
42917
|
Object.entries(aliases).forEach(function (_ref4) {
|
|
42918
|
-
var _ref5 = _slicedToArray$
|
|
42918
|
+
var _ref5 = _slicedToArray$3(_ref4, 2),
|
|
42919
42919
|
alias = _ref5[0],
|
|
42920
42920
|
target = _ref5[1];
|
|
42921
42921
|
return comp[alias] = comp[target];
|
|
@@ -42939,7 +42939,7 @@ function InsertStackElement(node, body) {
|
|
|
42939
42939
|
};
|
|
42940
42940
|
}
|
|
42941
42941
|
|
|
42942
|
-
var index
|
|
42942
|
+
var index = (function (p) {
|
|
42943
42943
|
return typeof p === 'function' ? p // fn
|
|
42944
42944
|
: typeof p === 'string' ? function (obj) {
|
|
42945
42945
|
return obj[p];
|
|
@@ -43036,21 +43036,51 @@ function InsertStackElement(node, body) {
|
|
|
43036
43036
|
return min;
|
|
43037
43037
|
}
|
|
43038
43038
|
|
|
43039
|
-
function _arrayLikeToArray$
|
|
43039
|
+
function _arrayLikeToArray$2(r, a) {
|
|
43040
43040
|
(null == a || a > r.length) && (a = r.length);
|
|
43041
43041
|
for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
|
|
43042
43042
|
return n;
|
|
43043
43043
|
}
|
|
43044
|
-
function _arrayWithHoles$
|
|
43044
|
+
function _arrayWithHoles$2(r) {
|
|
43045
43045
|
if (Array.isArray(r)) return r;
|
|
43046
43046
|
}
|
|
43047
|
-
function _arrayWithoutHoles$
|
|
43048
|
-
if (Array.isArray(r)) return _arrayLikeToArray$
|
|
43047
|
+
function _arrayWithoutHoles$2(r) {
|
|
43048
|
+
if (Array.isArray(r)) return _arrayLikeToArray$2(r);
|
|
43049
43049
|
}
|
|
43050
|
-
function
|
|
43050
|
+
function _assertClassBrand$1(e, t, n) {
|
|
43051
|
+
if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n;
|
|
43052
|
+
throw new TypeError("Private element is not present on this object");
|
|
43053
|
+
}
|
|
43054
|
+
function _checkPrivateRedeclaration$1(e, t) {
|
|
43055
|
+
if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object");
|
|
43056
|
+
}
|
|
43057
|
+
function _classCallCheck$1(a, n) {
|
|
43058
|
+
if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function");
|
|
43059
|
+
}
|
|
43060
|
+
function _classPrivateFieldGet2$1(s, a) {
|
|
43061
|
+
return s.get(_assertClassBrand$1(s, a));
|
|
43062
|
+
}
|
|
43063
|
+
function _classPrivateFieldInitSpec$1(e, t, a) {
|
|
43064
|
+
_checkPrivateRedeclaration$1(e, t), t.set(e, a);
|
|
43065
|
+
}
|
|
43066
|
+
function _classPrivateFieldSet2$1(s, a, r) {
|
|
43067
|
+
return s.set(_assertClassBrand$1(s, a), r), r;
|
|
43068
|
+
}
|
|
43069
|
+
function _defineProperties$1(e, r) {
|
|
43070
|
+
for (var t = 0; t < r.length; t++) {
|
|
43071
|
+
var o = r[t];
|
|
43072
|
+
o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey$2(o.key), o);
|
|
43073
|
+
}
|
|
43074
|
+
}
|
|
43075
|
+
function _createClass$1(e, r, t) {
|
|
43076
|
+
return r && _defineProperties$1(e.prototype, r), Object.defineProperty(e, "prototype", {
|
|
43077
|
+
writable: !1
|
|
43078
|
+
}), e;
|
|
43079
|
+
}
|
|
43080
|
+
function _iterableToArray$2(r) {
|
|
43051
43081
|
if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r);
|
|
43052
43082
|
}
|
|
43053
|
-
function _iterableToArrayLimit$
|
|
43083
|
+
function _iterableToArrayLimit$2(r, l) {
|
|
43054
43084
|
var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
|
|
43055
43085
|
if (null != t) {
|
|
43056
43086
|
var e,
|
|
@@ -43074,421 +43104,140 @@ function InsertStackElement(node, body) {
|
|
|
43074
43104
|
return a;
|
|
43075
43105
|
}
|
|
43076
43106
|
}
|
|
43077
|
-
function _nonIterableRest$
|
|
43107
|
+
function _nonIterableRest$2() {
|
|
43078
43108
|
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
43079
43109
|
}
|
|
43080
|
-
function _nonIterableSpread$
|
|
43110
|
+
function _nonIterableSpread$2() {
|
|
43081
43111
|
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
43082
43112
|
}
|
|
43083
|
-
function
|
|
43084
|
-
|
|
43085
|
-
var o,
|
|
43086
|
-
r,
|
|
43087
|
-
i = _objectWithoutPropertiesLoose$2(e, t);
|
|
43088
|
-
if (Object.getOwnPropertySymbols) {
|
|
43089
|
-
var s = Object.getOwnPropertySymbols(e);
|
|
43090
|
-
for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);
|
|
43091
|
-
}
|
|
43092
|
-
return i;
|
|
43093
|
-
}
|
|
43094
|
-
function _objectWithoutPropertiesLoose$2(r, e) {
|
|
43095
|
-
if (null == r) return {};
|
|
43096
|
-
var t = {};
|
|
43097
|
-
for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
|
|
43098
|
-
if (e.includes(n)) continue;
|
|
43099
|
-
t[n] = r[n];
|
|
43100
|
-
}
|
|
43101
|
-
return t;
|
|
43102
|
-
}
|
|
43103
|
-
function _slicedToArray$3(r, e) {
|
|
43104
|
-
return _arrayWithHoles$3(r) || _iterableToArrayLimit$3(r, e) || _unsupportedIterableToArray$3(r, e) || _nonIterableRest$3();
|
|
43113
|
+
function _slicedToArray$2(r, e) {
|
|
43114
|
+
return _arrayWithHoles$2(r) || _iterableToArrayLimit$2(r, e) || _unsupportedIterableToArray$2(r, e) || _nonIterableRest$2();
|
|
43105
43115
|
}
|
|
43106
|
-
function _toConsumableArray$
|
|
43107
|
-
return _arrayWithoutHoles$
|
|
43116
|
+
function _toConsumableArray$2(r) {
|
|
43117
|
+
return _arrayWithoutHoles$2(r) || _iterableToArray$2(r) || _unsupportedIterableToArray$2(r) || _nonIterableSpread$2();
|
|
43108
43118
|
}
|
|
43109
|
-
function _toPrimitive$
|
|
43119
|
+
function _toPrimitive$2(t, r) {
|
|
43110
43120
|
if ("object" != typeof t || !t) return t;
|
|
43111
43121
|
var e = t[Symbol.toPrimitive];
|
|
43112
43122
|
if (void 0 !== e) {
|
|
43113
|
-
var i = e.call(t, r
|
|
43123
|
+
var i = e.call(t, r);
|
|
43114
43124
|
if ("object" != typeof i) return i;
|
|
43115
43125
|
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
43116
43126
|
}
|
|
43117
43127
|
return (String )(t);
|
|
43118
43128
|
}
|
|
43119
|
-
function _toPropertyKey$
|
|
43120
|
-
var i = _toPrimitive$
|
|
43129
|
+
function _toPropertyKey$2(t) {
|
|
43130
|
+
var i = _toPrimitive$2(t, "string");
|
|
43121
43131
|
return "symbol" == typeof i ? i : i + "";
|
|
43122
43132
|
}
|
|
43123
|
-
function _unsupportedIterableToArray$
|
|
43133
|
+
function _unsupportedIterableToArray$2(r, a) {
|
|
43124
43134
|
if (r) {
|
|
43125
|
-
if ("string" == typeof r) return _arrayLikeToArray$
|
|
43135
|
+
if ("string" == typeof r) return _arrayLikeToArray$2(r, a);
|
|
43126
43136
|
var t = {}.toString.call(r).slice(8, -1);
|
|
43127
|
-
return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$
|
|
43137
|
+
return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$2(r, a) : void 0;
|
|
43128
43138
|
}
|
|
43129
43139
|
}
|
|
43130
43140
|
|
|
43131
|
-
var
|
|
43132
|
-
|
|
43133
|
-
|
|
43134
|
-
|
|
43135
|
-
|
|
43136
|
-
|
|
43137
|
-
|
|
43138
|
-
|
|
43139
|
-
|
|
43140
|
-
|
|
43141
|
-
|
|
43142
|
-
|
|
43143
|
-
|
|
43144
|
-
var itemVal = item;
|
|
43145
|
-
keys.forEach(function (_ref, idx) {
|
|
43146
|
-
var keyAccessor = _ref.keyAccessor,
|
|
43147
|
-
isProp = _ref.isProp;
|
|
43148
|
-
var key;
|
|
43149
|
-
if (isProp) {
|
|
43150
|
-
var _itemVal = itemVal,
|
|
43151
|
-
propVal = _itemVal[keyAccessor],
|
|
43152
|
-
rest = _objectWithoutProperties$2(_itemVal, [keyAccessor].map(_toPropertyKey$3));
|
|
43153
|
-
key = propVal;
|
|
43154
|
-
itemVal = rest;
|
|
43155
|
-
} else {
|
|
43156
|
-
key = keyAccessor(itemVal, idx);
|
|
43157
|
-
}
|
|
43158
|
-
if (idx + 1 < keys.length) {
|
|
43159
|
-
if (!iterObj.hasOwnProperty(key)) {
|
|
43160
|
-
iterObj[key] = {};
|
|
43161
|
-
}
|
|
43162
|
-
iterObj = iterObj[key];
|
|
43163
|
-
} else {
|
|
43164
|
-
// Leaf key
|
|
43165
|
-
if (multiItem) {
|
|
43166
|
-
if (!iterObj.hasOwnProperty(key)) {
|
|
43167
|
-
iterObj[key] = [];
|
|
43168
|
-
}
|
|
43169
|
-
iterObj[key].push(itemVal);
|
|
43170
|
-
} else {
|
|
43171
|
-
iterObj[key] = itemVal;
|
|
43172
|
-
}
|
|
43173
|
-
}
|
|
43141
|
+
var _dataMap = /*#__PURE__*/new WeakMap();
|
|
43142
|
+
var _objMap = /*#__PURE__*/new WeakMap();
|
|
43143
|
+
var _id$8 = /*#__PURE__*/new WeakMap();
|
|
43144
|
+
var _createObj = /*#__PURE__*/new WeakMap();
|
|
43145
|
+
var _updateObj = /*#__PURE__*/new WeakMap();
|
|
43146
|
+
var _removeObj = /*#__PURE__*/new WeakMap();
|
|
43147
|
+
var DataBindMapper = /*#__PURE__*/function () {
|
|
43148
|
+
function DataBindMapper() {
|
|
43149
|
+
_classCallCheck$1(this, DataBindMapper);
|
|
43150
|
+
_classPrivateFieldInitSpec$1(this, _dataMap, new Map());
|
|
43151
|
+
_classPrivateFieldInitSpec$1(this, _objMap, new Map());
|
|
43152
|
+
_classPrivateFieldInitSpec$1(this, _id$8, function (d) {
|
|
43153
|
+
return d;
|
|
43174
43154
|
});
|
|
43175
|
-
|
|
43176
|
-
|
|
43177
|
-
|
|
43178
|
-
|
|
43179
|
-
(function
|
|
43180
|
-
var level = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
|
43181
|
-
if (level === keys.length) {
|
|
43182
|
-
Object.keys(node).forEach(function (k) {
|
|
43183
|
-
return node[k] = multiItem(node[k]);
|
|
43184
|
-
});
|
|
43185
|
-
} else {
|
|
43186
|
-
Object.values(node).forEach(function (child) {
|
|
43187
|
-
return reduce(child, level + 1);
|
|
43188
|
-
});
|
|
43189
|
-
}
|
|
43190
|
-
})(indexedResult); // IIFE
|
|
43155
|
+
_classPrivateFieldInitSpec$1(this, _createObj, function () {
|
|
43156
|
+
return {};
|
|
43157
|
+
});
|
|
43158
|
+
_classPrivateFieldInitSpec$1(this, _updateObj, function () {});
|
|
43159
|
+
_classPrivateFieldInitSpec$1(this, _removeObj, function () {});
|
|
43191
43160
|
}
|
|
43192
|
-
|
|
43193
|
-
|
|
43194
|
-
|
|
43195
|
-
|
|
43196
|
-
(function flatten(node) {
|
|
43197
|
-
var accKeys = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
43198
|
-
if (accKeys.length === keys.length) {
|
|
43199
|
-
result.push({
|
|
43200
|
-
keys: accKeys,
|
|
43201
|
-
vals: node
|
|
43202
|
-
});
|
|
43203
|
-
} else {
|
|
43204
|
-
Object.entries(node).forEach(function (_ref2) {
|
|
43205
|
-
var _ref3 = _slicedToArray$3(_ref2, 2),
|
|
43206
|
-
key = _ref3[0],
|
|
43207
|
-
val = _ref3[1];
|
|
43208
|
-
return flatten(val, [].concat(_toConsumableArray$3(accKeys), [key]));
|
|
43209
|
-
});
|
|
43210
|
-
}
|
|
43211
|
-
})(indexedResult); //IIFE
|
|
43212
|
-
|
|
43213
|
-
if (keyAccessors instanceof Array && keyAccessors.length === 0 && result.length === 1) {
|
|
43214
|
-
// clear keys if there's no key accessors (single result)
|
|
43215
|
-
result[0].keys = [];
|
|
43161
|
+
return _createClass$1(DataBindMapper, [{
|
|
43162
|
+
key: "getObj",
|
|
43163
|
+
value: function getObj(d) {
|
|
43164
|
+
return _classPrivateFieldGet2$1(_dataMap, this).get(_classPrivateFieldGet2$1(_id$8, this).call(this, d));
|
|
43216
43165
|
}
|
|
43217
|
-
}
|
|
43218
|
-
|
|
43219
|
-
|
|
43220
|
-
|
|
43221
|
-
function _iterableToArrayLimit$2(arr, i) {
|
|
43222
|
-
var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"];
|
|
43223
|
-
if (null != _i) {
|
|
43224
|
-
var _s,
|
|
43225
|
-
_e,
|
|
43226
|
-
_x,
|
|
43227
|
-
_r,
|
|
43228
|
-
_arr = [],
|
|
43229
|
-
_n = !0,
|
|
43230
|
-
_d = !1;
|
|
43231
|
-
try {
|
|
43232
|
-
if (_x = (_i = _i.call(arr)).next, 0 === i) ; else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);
|
|
43233
|
-
} catch (err) {
|
|
43234
|
-
_d = !0, _e = err;
|
|
43235
|
-
} finally {
|
|
43236
|
-
try {
|
|
43237
|
-
if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return;
|
|
43238
|
-
} finally {
|
|
43239
|
-
if (_d) throw _e;
|
|
43240
|
-
}
|
|
43166
|
+
}, {
|
|
43167
|
+
key: "getData",
|
|
43168
|
+
value: function getData(o) {
|
|
43169
|
+
return _classPrivateFieldGet2$1(_objMap, this).get(o);
|
|
43241
43170
|
}
|
|
43242
|
-
|
|
43243
|
-
|
|
43244
|
-
|
|
43245
|
-
|
|
43246
|
-
|
|
43247
|
-
|
|
43248
|
-
|
|
43249
|
-
|
|
43250
|
-
|
|
43251
|
-
})), keys.push.apply(keys, symbols);
|
|
43252
|
-
}
|
|
43253
|
-
return keys;
|
|
43254
|
-
}
|
|
43255
|
-
function _objectSpread2$1(target) {
|
|
43256
|
-
for (var i = 1; i < arguments.length; i++) {
|
|
43257
|
-
var source = null != arguments[i] ? arguments[i] : {};
|
|
43258
|
-
i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) {
|
|
43259
|
-
_defineProperty$2(target, key, source[key]);
|
|
43260
|
-
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) {
|
|
43261
|
-
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
43262
|
-
});
|
|
43263
|
-
}
|
|
43264
|
-
return target;
|
|
43265
|
-
}
|
|
43266
|
-
function _defineProperty$2(obj, key, value) {
|
|
43267
|
-
key = _toPropertyKey$2(key);
|
|
43268
|
-
if (key in obj) {
|
|
43269
|
-
Object.defineProperty(obj, key, {
|
|
43270
|
-
value: value,
|
|
43271
|
-
enumerable: true,
|
|
43272
|
-
configurable: true,
|
|
43273
|
-
writable: true
|
|
43274
|
-
});
|
|
43275
|
-
} else {
|
|
43276
|
-
obj[key] = value;
|
|
43277
|
-
}
|
|
43278
|
-
return obj;
|
|
43279
|
-
}
|
|
43280
|
-
function _objectWithoutPropertiesLoose$1(source, excluded) {
|
|
43281
|
-
if (source == null) return {};
|
|
43282
|
-
var target = {};
|
|
43283
|
-
var sourceKeys = Object.keys(source);
|
|
43284
|
-
var key, i;
|
|
43285
|
-
for (i = 0; i < sourceKeys.length; i++) {
|
|
43286
|
-
key = sourceKeys[i];
|
|
43287
|
-
if (excluded.indexOf(key) >= 0) continue;
|
|
43288
|
-
target[key] = source[key];
|
|
43289
|
-
}
|
|
43290
|
-
return target;
|
|
43291
|
-
}
|
|
43292
|
-
function _objectWithoutProperties$1(source, excluded) {
|
|
43293
|
-
if (source == null) return {};
|
|
43294
|
-
var target = _objectWithoutPropertiesLoose$1(source, excluded);
|
|
43295
|
-
var key, i;
|
|
43296
|
-
if (Object.getOwnPropertySymbols) {
|
|
43297
|
-
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
|
|
43298
|
-
for (i = 0; i < sourceSymbolKeys.length; i++) {
|
|
43299
|
-
key = sourceSymbolKeys[i];
|
|
43300
|
-
if (excluded.indexOf(key) >= 0) continue;
|
|
43301
|
-
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
|
|
43302
|
-
target[key] = source[key];
|
|
43171
|
+
}, {
|
|
43172
|
+
key: "entries",
|
|
43173
|
+
value: function entries() {
|
|
43174
|
+
return _toConsumableArray$2(_classPrivateFieldGet2$1(_objMap, this).entries()).map(function (_ref) {
|
|
43175
|
+
var _ref2 = _slicedToArray$2(_ref, 2),
|
|
43176
|
+
o = _ref2[0],
|
|
43177
|
+
d = _ref2[1];
|
|
43178
|
+
return [d, o];
|
|
43179
|
+
});
|
|
43303
43180
|
}
|
|
43304
|
-
}
|
|
43305
|
-
|
|
43306
|
-
|
|
43307
|
-
|
|
43308
|
-
|
|
43309
|
-
}
|
|
43310
|
-
function _toConsumableArray$2(arr) {
|
|
43311
|
-
return _arrayWithoutHoles$2(arr) || _iterableToArray$2(arr) || _unsupportedIterableToArray$2(arr) || _nonIterableSpread$2();
|
|
43312
|
-
}
|
|
43313
|
-
function _arrayWithoutHoles$2(arr) {
|
|
43314
|
-
if (Array.isArray(arr)) return _arrayLikeToArray$2(arr);
|
|
43315
|
-
}
|
|
43316
|
-
function _arrayWithHoles$2(arr) {
|
|
43317
|
-
if (Array.isArray(arr)) return arr;
|
|
43318
|
-
}
|
|
43319
|
-
function _iterableToArray$2(iter) {
|
|
43320
|
-
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
43321
|
-
}
|
|
43322
|
-
function _unsupportedIterableToArray$2(o, minLen) {
|
|
43323
|
-
if (!o) return;
|
|
43324
|
-
if (typeof o === "string") return _arrayLikeToArray$2(o, minLen);
|
|
43325
|
-
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
43326
|
-
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
43327
|
-
if (n === "Map" || n === "Set") return Array.from(o);
|
|
43328
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$2(o, minLen);
|
|
43329
|
-
}
|
|
43330
|
-
function _arrayLikeToArray$2(arr, len) {
|
|
43331
|
-
if (len == null || len > arr.length) len = arr.length;
|
|
43332
|
-
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
|
|
43333
|
-
return arr2;
|
|
43334
|
-
}
|
|
43335
|
-
function _nonIterableSpread$2() {
|
|
43336
|
-
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
43337
|
-
}
|
|
43338
|
-
function _nonIterableRest$2() {
|
|
43339
|
-
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
43340
|
-
}
|
|
43341
|
-
function _toPrimitive$2(input, hint) {
|
|
43342
|
-
if (typeof input !== "object" || input === null) return input;
|
|
43343
|
-
var prim = input[Symbol.toPrimitive];
|
|
43344
|
-
if (prim !== undefined) {
|
|
43345
|
-
var res = prim.call(input, hint || "default");
|
|
43346
|
-
if (typeof res !== "object") return res;
|
|
43347
|
-
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
43348
|
-
}
|
|
43349
|
-
return (hint === "string" ? String : Number)(input);
|
|
43350
|
-
}
|
|
43351
|
-
function _toPropertyKey$2(arg) {
|
|
43352
|
-
var key = _toPrimitive$2(arg, "string");
|
|
43353
|
-
return typeof key === "symbol" ? key : String(key);
|
|
43354
|
-
}
|
|
43355
|
-
|
|
43356
|
-
var _excluded$1 = ["createObj", "updateObj", "exitObj", "objBindAttr", "dataBindAttr"];
|
|
43357
|
-
function diffArrays(prev, next, idAccessor) {
|
|
43358
|
-
var result = {
|
|
43359
|
-
enter: [],
|
|
43360
|
-
update: [],
|
|
43361
|
-
exit: []
|
|
43362
|
-
};
|
|
43363
|
-
if (!idAccessor) {
|
|
43364
|
-
// use object references for comparison
|
|
43365
|
-
var prevSet = new Set(prev);
|
|
43366
|
-
var nextSet = new Set(next);
|
|
43367
|
-
new Set([].concat(_toConsumableArray$2(prevSet), _toConsumableArray$2(nextSet))).forEach(function (item) {
|
|
43368
|
-
var type = !prevSet.has(item) ? 'enter' : !nextSet.has(item) ? 'exit' : 'update';
|
|
43369
|
-
result[type].push(type === 'update' ? [item, item] : item);
|
|
43370
|
-
});
|
|
43371
|
-
} else {
|
|
43372
|
-
// compare by id (duplicate keys are ignored)
|
|
43373
|
-
var prevById = index(prev, idAccessor, false);
|
|
43374
|
-
var nextById = index(next, idAccessor, false);
|
|
43375
|
-
var byId = Object.assign({}, prevById, nextById);
|
|
43376
|
-
Object.entries(byId).forEach(function (_ref) {
|
|
43377
|
-
var _ref2 = _slicedToArray$2(_ref, 2),
|
|
43378
|
-
id = _ref2[0],
|
|
43379
|
-
item = _ref2[1];
|
|
43380
|
-
var type = !prevById.hasOwnProperty(id) ? 'enter' : !nextById.hasOwnProperty(id) ? 'exit' : 'update';
|
|
43381
|
-
result[type].push(type === 'update' ? [prevById[id], nextById[id]] : item);
|
|
43382
|
-
});
|
|
43383
|
-
}
|
|
43384
|
-
return result;
|
|
43385
|
-
}
|
|
43386
|
-
function dataBindDiff(data, existingObjs, _ref3) {
|
|
43387
|
-
var _ref3$objBindAttr = _ref3.objBindAttr,
|
|
43388
|
-
objBindAttr = _ref3$objBindAttr === void 0 ? '__obj' : _ref3$objBindAttr,
|
|
43389
|
-
_ref3$dataBindAttr = _ref3.dataBindAttr,
|
|
43390
|
-
dataBindAttr = _ref3$dataBindAttr === void 0 ? '__data' : _ref3$dataBindAttr,
|
|
43391
|
-
idAccessor = _ref3.idAccessor,
|
|
43392
|
-
_ref3$purge = _ref3.purge,
|
|
43393
|
-
purge = _ref3$purge === void 0 ? false : _ref3$purge;
|
|
43394
|
-
var isObjValid = function isObjValid(obj) {
|
|
43395
|
-
return obj.hasOwnProperty(dataBindAttr);
|
|
43396
|
-
};
|
|
43397
|
-
var removeObjs = existingObjs.filter(function (obj) {
|
|
43398
|
-
return !isObjValid(obj);
|
|
43399
|
-
});
|
|
43400
|
-
var prevD = existingObjs.filter(isObjValid).map(function (obj) {
|
|
43401
|
-
return obj[dataBindAttr];
|
|
43402
|
-
});
|
|
43403
|
-
var nextD = data;
|
|
43404
|
-
var diff = purge ? {
|
|
43405
|
-
enter: nextD,
|
|
43406
|
-
exit: prevD,
|
|
43407
|
-
update: []
|
|
43408
|
-
} // don't diff data in purge mode
|
|
43409
|
-
: diffArrays(prevD, nextD, idAccessor);
|
|
43410
|
-
diff.update = diff.update.map(function (_ref4) {
|
|
43411
|
-
var _ref5 = _slicedToArray$2(_ref4, 2),
|
|
43412
|
-
prevD = _ref5[0],
|
|
43413
|
-
nextD = _ref5[1];
|
|
43414
|
-
if (prevD !== nextD) {
|
|
43415
|
-
// transfer obj to new data point (if different)
|
|
43416
|
-
nextD[objBindAttr] = prevD[objBindAttr];
|
|
43417
|
-
nextD[objBindAttr][dataBindAttr] = nextD;
|
|
43181
|
+
}, {
|
|
43182
|
+
key: "id",
|
|
43183
|
+
value: function id(p) {
|
|
43184
|
+
_classPrivateFieldSet2$1(_id$8, this, index(p));
|
|
43185
|
+
return this;
|
|
43418
43186
|
}
|
|
43419
|
-
|
|
43420
|
-
|
|
43421
|
-
|
|
43422
|
-
|
|
43423
|
-
|
|
43424
|
-
|
|
43425
|
-
|
|
43426
|
-
|
|
43427
|
-
|
|
43428
|
-
|
|
43429
|
-
|
|
43430
|
-
|
|
43431
|
-
|
|
43432
|
-
|
|
43433
|
-
|
|
43434
|
-
|
|
43435
|
-
|
|
43436
|
-
|
|
43437
|
-
|
|
43438
|
-
|
|
43439
|
-
|
|
43440
|
-
|
|
43441
|
-
|
|
43442
|
-
|
|
43443
|
-
|
|
43444
|
-
|
|
43445
|
-
|
|
43446
|
-
|
|
43447
|
-
|
|
43448
|
-
|
|
43449
|
-
|
|
43450
|
-
|
|
43451
|
-
|
|
43452
|
-
|
|
43453
|
-
|
|
43454
|
-
|
|
43455
|
-
|
|
43456
|
-
|
|
43457
|
-
|
|
43458
|
-
|
|
43459
|
-
|
|
43460
|
-
|
|
43461
|
-
|
|
43462
|
-
|
|
43463
|
-
|
|
43464
|
-
|
|
43465
|
-
|
|
43466
|
-
|
|
43467
|
-
|
|
43468
|
-
|
|
43469
|
-
|
|
43470
|
-
|
|
43471
|
-
|
|
43472
|
-
|
|
43473
|
-
var obj = createObj(d);
|
|
43474
|
-
if (obj) {
|
|
43475
|
-
obj[dataBindAttr] = d;
|
|
43476
|
-
d[objBindAttr] = obj;
|
|
43477
|
-
newObjs.push(obj);
|
|
43478
|
-
}
|
|
43479
|
-
});
|
|
43480
|
-
return newObjs;
|
|
43481
|
-
}
|
|
43482
|
-
function updateObjs(data) {
|
|
43483
|
-
data.forEach(function (d) {
|
|
43484
|
-
var obj = d[objBindAttr];
|
|
43485
|
-
if (obj) {
|
|
43486
|
-
obj[dataBindAttr] = d;
|
|
43487
|
-
updateObj(obj, d);
|
|
43488
|
-
}
|
|
43489
|
-
});
|
|
43490
|
-
}
|
|
43491
|
-
}
|
|
43187
|
+
}, {
|
|
43188
|
+
key: "onCreateObj",
|
|
43189
|
+
value: function onCreateObj(fn) {
|
|
43190
|
+
_classPrivateFieldSet2$1(_createObj, this, fn);
|
|
43191
|
+
return this;
|
|
43192
|
+
}
|
|
43193
|
+
}, {
|
|
43194
|
+
key: "onUpdateObj",
|
|
43195
|
+
value: function onUpdateObj(fn) {
|
|
43196
|
+
_classPrivateFieldSet2$1(_updateObj, this, fn);
|
|
43197
|
+
return this;
|
|
43198
|
+
}
|
|
43199
|
+
}, {
|
|
43200
|
+
key: "onRemoveObj",
|
|
43201
|
+
value: function onRemoveObj(fn) {
|
|
43202
|
+
_classPrivateFieldSet2$1(_removeObj, this, fn);
|
|
43203
|
+
return this;
|
|
43204
|
+
}
|
|
43205
|
+
}, {
|
|
43206
|
+
key: "digest",
|
|
43207
|
+
value: function digest(data) {
|
|
43208
|
+
var _this = this;
|
|
43209
|
+
data.filter(function (d) {
|
|
43210
|
+
return !_classPrivateFieldGet2$1(_dataMap, _this).has(_classPrivateFieldGet2$1(_id$8, _this).call(_this, d));
|
|
43211
|
+
}).forEach(function (d) {
|
|
43212
|
+
var obj = _classPrivateFieldGet2$1(_createObj, _this).call(_this, d);
|
|
43213
|
+
_classPrivateFieldGet2$1(_dataMap, _this).set(_classPrivateFieldGet2$1(_id$8, _this).call(_this, d), obj);
|
|
43214
|
+
_classPrivateFieldGet2$1(_objMap, _this).set(obj, d);
|
|
43215
|
+
});
|
|
43216
|
+
var dataIdsMap = new Map(data.map(function (d) {
|
|
43217
|
+
return [_classPrivateFieldGet2$1(_id$8, _this).call(_this, d), d];
|
|
43218
|
+
}));
|
|
43219
|
+
_classPrivateFieldGet2$1(_dataMap, this).entries().forEach(function (_ref3) {
|
|
43220
|
+
var _ref4 = _slicedToArray$2(_ref3, 2),
|
|
43221
|
+
dId = _ref4[0],
|
|
43222
|
+
o = _ref4[1];
|
|
43223
|
+
if (!dataIdsMap.has(dId)) {
|
|
43224
|
+
_classPrivateFieldGet2$1(_removeObj, _this).call(_this, o, dId);
|
|
43225
|
+
_classPrivateFieldGet2$1(_dataMap, _this)["delete"](dId);
|
|
43226
|
+
_classPrivateFieldGet2$1(_objMap, _this)["delete"](o);
|
|
43227
|
+
} else {
|
|
43228
|
+
_classPrivateFieldGet2$1(_updateObj, _this).call(_this, o, dataIdsMap.get(dId));
|
|
43229
|
+
}
|
|
43230
|
+
});
|
|
43231
|
+
return this;
|
|
43232
|
+
}
|
|
43233
|
+
}, {
|
|
43234
|
+
key: "clear",
|
|
43235
|
+
value: function clear() {
|
|
43236
|
+
this.digest([]);
|
|
43237
|
+
return this;
|
|
43238
|
+
}
|
|
43239
|
+
}]);
|
|
43240
|
+
}();
|
|
43492
43241
|
|
|
43493
43242
|
function initRange(domain, range) {
|
|
43494
43243
|
switch (arguments.length) {
|
|
@@ -44741,6 +44490,10 @@ function InsertStackElement(node, body) {
|
|
|
44741
44490
|
function _arrayWithoutHoles$1(r) {
|
|
44742
44491
|
if (Array.isArray(r)) return _arrayLikeToArray$1(r);
|
|
44743
44492
|
}
|
|
44493
|
+
function _assertClassBrand(e, t, n) {
|
|
44494
|
+
if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n;
|
|
44495
|
+
throw new TypeError("Private element is not present on this object");
|
|
44496
|
+
}
|
|
44744
44497
|
function _assertThisInitialized$1(e) {
|
|
44745
44498
|
if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
44746
44499
|
return e;
|
|
@@ -44748,9 +44501,21 @@ function InsertStackElement(node, body) {
|
|
|
44748
44501
|
function _callSuper(t, o, e) {
|
|
44749
44502
|
return o = _getPrototypeOf$1(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$1() ? Reflect.construct(o, e || [], _getPrototypeOf$1(t).constructor) : o.apply(t, e));
|
|
44750
44503
|
}
|
|
44504
|
+
function _checkPrivateRedeclaration(e, t) {
|
|
44505
|
+
if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object");
|
|
44506
|
+
}
|
|
44751
44507
|
function _classCallCheck(a, n) {
|
|
44752
44508
|
if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function");
|
|
44753
44509
|
}
|
|
44510
|
+
function _classPrivateFieldGet2(s, a) {
|
|
44511
|
+
return s.get(_assertClassBrand(s, a));
|
|
44512
|
+
}
|
|
44513
|
+
function _classPrivateFieldInitSpec(e, t, a) {
|
|
44514
|
+
_checkPrivateRedeclaration(e, t), t.set(e, a);
|
|
44515
|
+
}
|
|
44516
|
+
function _classPrivateFieldSet2(s, a, r) {
|
|
44517
|
+
return s.set(_assertClassBrand(s, a), r), r;
|
|
44518
|
+
}
|
|
44754
44519
|
function _construct$1(t, e, r) {
|
|
44755
44520
|
if (_isNativeReflectConstruct$1()) return Reflect.construct.apply(null, arguments);
|
|
44756
44521
|
var o = [null];
|
|
@@ -44758,8 +44523,14 @@ function InsertStackElement(node, body) {
|
|
|
44758
44523
|
var p = new (t.bind.apply(t, o))();
|
|
44759
44524
|
return p;
|
|
44760
44525
|
}
|
|
44526
|
+
function _defineProperties(e, r) {
|
|
44527
|
+
for (var t = 0; t < r.length; t++) {
|
|
44528
|
+
var o = r[t];
|
|
44529
|
+
o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey$1(o.key), o);
|
|
44530
|
+
}
|
|
44531
|
+
}
|
|
44761
44532
|
function _createClass(e, r, t) {
|
|
44762
|
-
return Object.defineProperty(e, "prototype", {
|
|
44533
|
+
return r && _defineProperties(e.prototype, r), Object.defineProperty(e, "prototype", {
|
|
44763
44534
|
writable: !1
|
|
44764
44535
|
}), e;
|
|
44765
44536
|
}
|
|
@@ -44771,6 +44542,15 @@ function InsertStackElement(node, body) {
|
|
|
44771
44542
|
writable: !0
|
|
44772
44543
|
}) : e[r] = t, e;
|
|
44773
44544
|
}
|
|
44545
|
+
function _get() {
|
|
44546
|
+
return _get = "undefined" != typeof Reflect && Reflect.get ? Reflect.get.bind() : function (e, t, r) {
|
|
44547
|
+
var p = _superPropBase(e, t);
|
|
44548
|
+
if (p) {
|
|
44549
|
+
var n = Object.getOwnPropertyDescriptor(p, t);
|
|
44550
|
+
return n.get ? n.get.call(arguments.length < 3 ? e : r) : n.value;
|
|
44551
|
+
}
|
|
44552
|
+
}, _get.apply(null, arguments);
|
|
44553
|
+
}
|
|
44774
44554
|
function _getPrototypeOf$1(t) {
|
|
44775
44555
|
return _getPrototypeOf$1 = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {
|
|
44776
44556
|
return t.__proto__ || Object.getPrototypeOf(t);
|
|
@@ -44850,26 +44630,6 @@ function InsertStackElement(node, body) {
|
|
|
44850
44630
|
}
|
|
44851
44631
|
return e;
|
|
44852
44632
|
}
|
|
44853
|
-
function _objectWithoutProperties(e, t) {
|
|
44854
|
-
if (null == e) return {};
|
|
44855
|
-
var o,
|
|
44856
|
-
r,
|
|
44857
|
-
i = _objectWithoutPropertiesLoose(e, t);
|
|
44858
|
-
if (Object.getOwnPropertySymbols) {
|
|
44859
|
-
var s = Object.getOwnPropertySymbols(e);
|
|
44860
|
-
for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);
|
|
44861
|
-
}
|
|
44862
|
-
return i;
|
|
44863
|
-
}
|
|
44864
|
-
function _objectWithoutPropertiesLoose(r, e) {
|
|
44865
|
-
if (null == r) return {};
|
|
44866
|
-
var t = {};
|
|
44867
|
-
for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
|
|
44868
|
-
if (e.includes(n)) continue;
|
|
44869
|
-
t[n] = r[n];
|
|
44870
|
-
}
|
|
44871
|
-
return t;
|
|
44872
|
-
}
|
|
44873
44633
|
function _possibleConstructorReturn(t, e) {
|
|
44874
44634
|
if (e && ("object" == typeof e || "function" == typeof e)) return e;
|
|
44875
44635
|
if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined");
|
|
@@ -44883,6 +44643,16 @@ function InsertStackElement(node, body) {
|
|
|
44883
44643
|
function _slicedToArray$1(r, e) {
|
|
44884
44644
|
return _arrayWithHoles$1(r) || _iterableToArrayLimit$1(r, e) || _unsupportedIterableToArray$1(r, e) || _nonIterableRest$1();
|
|
44885
44645
|
}
|
|
44646
|
+
function _superPropBase(t, o) {
|
|
44647
|
+
for (; !{}.hasOwnProperty.call(t, o) && null !== (t = _getPrototypeOf$1(t)););
|
|
44648
|
+
return t;
|
|
44649
|
+
}
|
|
44650
|
+
function _superPropGet(t, o, e, r) {
|
|
44651
|
+
var p = _get(_getPrototypeOf$1(t.prototype ), o, e);
|
|
44652
|
+
return "function" == typeof p ? function (t) {
|
|
44653
|
+
return p.apply(e, t);
|
|
44654
|
+
} : p;
|
|
44655
|
+
}
|
|
44886
44656
|
function _toConsumableArray$1(r) {
|
|
44887
44657
|
return _arrayWithoutHoles$1(r) || _iterableToArray$1(r) || _unsupportedIterableToArray$1(r) || _nonIterableSpread$1();
|
|
44888
44658
|
}
|
|
@@ -44949,23 +44719,56 @@ function InsertStackElement(node, body) {
|
|
|
44949
44719
|
}
|
|
44950
44720
|
};
|
|
44951
44721
|
|
|
44952
|
-
var
|
|
44953
|
-
|
|
44954
|
-
|
|
44955
|
-
|
|
44956
|
-
|
|
44957
|
-
|
|
44958
|
-
|
|
44959
|
-
|
|
44960
|
-
|
|
44961
|
-
|
|
44962
|
-
|
|
44963
|
-
|
|
44964
|
-
|
|
44965
|
-
|
|
44966
|
-
|
|
44967
|
-
|
|
44968
|
-
|
|
44722
|
+
var _dataBindAttr = /*#__PURE__*/new WeakMap();
|
|
44723
|
+
var _objBindAttr = /*#__PURE__*/new WeakMap();
|
|
44724
|
+
var ThreeDigest = /*#__PURE__*/function (_DataBindMapper) {
|
|
44725
|
+
function ThreeDigest(scene) {
|
|
44726
|
+
var _this;
|
|
44727
|
+
var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
|
44728
|
+
_ref$dataBindAttr = _ref.dataBindAttr,
|
|
44729
|
+
dataBindAttr = _ref$dataBindAttr === void 0 ? '__data' : _ref$dataBindAttr,
|
|
44730
|
+
_ref$objBindAttr = _ref.objBindAttr,
|
|
44731
|
+
objBindAttr = _ref$objBindAttr === void 0 ? '__threeObj' : _ref$objBindAttr;
|
|
44732
|
+
_classCallCheck(this, ThreeDigest);
|
|
44733
|
+
_this = _callSuper(this, ThreeDigest);
|
|
44734
|
+
_defineProperty$1(_this, "scene", void 0);
|
|
44735
|
+
_classPrivateFieldInitSpec(_this, _dataBindAttr, void 0);
|
|
44736
|
+
_classPrivateFieldInitSpec(_this, _objBindAttr, void 0);
|
|
44737
|
+
_this.scene = scene;
|
|
44738
|
+
_classPrivateFieldSet2(_dataBindAttr, _this, dataBindAttr);
|
|
44739
|
+
_classPrivateFieldSet2(_objBindAttr, _this, objBindAttr);
|
|
44740
|
+
_this.onRemoveObj(function () {});
|
|
44741
|
+
return _this;
|
|
44742
|
+
}
|
|
44743
|
+
_inherits(ThreeDigest, _DataBindMapper);
|
|
44744
|
+
return _createClass(ThreeDigest, [{
|
|
44745
|
+
key: "onCreateObj",
|
|
44746
|
+
value: function onCreateObj(fn) {
|
|
44747
|
+
var _this2 = this;
|
|
44748
|
+
_superPropGet(ThreeDigest, "onCreateObj", this)([function (d) {
|
|
44749
|
+
var obj = fn(d);
|
|
44750
|
+
d[_classPrivateFieldGet2(_objBindAttr, _this2)] = obj;
|
|
44751
|
+
obj[_classPrivateFieldGet2(_dataBindAttr, _this2)] = d;
|
|
44752
|
+
_this2.scene.add(obj);
|
|
44753
|
+
return obj;
|
|
44754
|
+
}]);
|
|
44755
|
+
return this;
|
|
44756
|
+
}
|
|
44757
|
+
}, {
|
|
44758
|
+
key: "onRemoveObj",
|
|
44759
|
+
value: function onRemoveObj(fn) {
|
|
44760
|
+
var _this3 = this;
|
|
44761
|
+
_superPropGet(ThreeDigest, "onRemoveObj", this)([function (obj, dId) {
|
|
44762
|
+
var d = _superPropGet(ThreeDigest, "getData", _this3)([obj]);
|
|
44763
|
+
fn(obj, dId);
|
|
44764
|
+
_this3.scene.remove(obj);
|
|
44765
|
+
emptyObject(obj);
|
|
44766
|
+
delete d[_classPrivateFieldGet2(_objBindAttr, _this3)];
|
|
44767
|
+
}]);
|
|
44768
|
+
return this;
|
|
44769
|
+
}
|
|
44770
|
+
}]);
|
|
44771
|
+
}(DataBindMapper);
|
|
44969
44772
|
|
|
44970
44773
|
var colorStr2Hex = function colorStr2Hex(str) {
|
|
44971
44774
|
return isNaN(str) ? parseInt(tinycolor(str).toHex(), 16) : str;
|
|
@@ -45099,7 +44902,7 @@ function InsertStackElement(node, body) {
|
|
|
45099
44902
|
// support multiple method names for backwards threejs compatibility
|
|
45100
44903
|
var setAttributeFn = new three$1$1.BufferGeometry().setAttribute ? 'setAttribute' : 'addAttribute';
|
|
45101
44904
|
var applyMatrix4Fn = new three$1$1.BufferGeometry().applyMatrix4 ? 'applyMatrix4' : 'applyMatrix';
|
|
45102
|
-
var ForceGraph = index$
|
|
44905
|
+
var ForceGraph = index$1({
|
|
45103
44906
|
props: {
|
|
45104
44907
|
jsonUrl: {
|
|
45105
44908
|
onChange: function onChange(jsonUrl, state) {
|
|
@@ -45393,11 +45196,13 @@ function InsertStackElement(node, body) {
|
|
|
45393
45196
|
state.layout[isD3Sim ? 'tick' : 'step'](); // Tick it
|
|
45394
45197
|
state.onEngineTick();
|
|
45395
45198
|
}
|
|
45396
|
-
var nodeThreeObjectExtendAccessor = index
|
|
45199
|
+
var nodeThreeObjectExtendAccessor = index(state.nodeThreeObjectExtend);
|
|
45397
45200
|
|
|
45398
45201
|
// Update nodes position
|
|
45399
|
-
state.
|
|
45400
|
-
var
|
|
45202
|
+
state.nodeDataMapper.entries().forEach(function (_ref) {
|
|
45203
|
+
var _ref2 = _slicedToArray$1(_ref, 2),
|
|
45204
|
+
node = _ref2[0],
|
|
45205
|
+
obj = _ref2[1];
|
|
45401
45206
|
if (!obj) return;
|
|
45402
45207
|
var pos = isD3Sim ? node : state.layout.getNodePosition(node[state.nodeId]);
|
|
45403
45208
|
var extendedObj = nodeThreeObjectExtendAccessor(node);
|
|
@@ -45414,12 +45219,14 @@ function InsertStackElement(node, body) {
|
|
|
45414
45219
|
});
|
|
45415
45220
|
|
|
45416
45221
|
// Update links position
|
|
45417
|
-
var linkWidthAccessor = index
|
|
45418
|
-
var linkCurvatureAccessor = index
|
|
45419
|
-
var linkCurveRotationAccessor = index
|
|
45420
|
-
var linkThreeObjectExtendAccessor = index
|
|
45421
|
-
state.
|
|
45422
|
-
var
|
|
45222
|
+
var linkWidthAccessor = index(state.linkWidth);
|
|
45223
|
+
var linkCurvatureAccessor = index(state.linkCurvature);
|
|
45224
|
+
var linkCurveRotationAccessor = index(state.linkCurveRotation);
|
|
45225
|
+
var linkThreeObjectExtendAccessor = index(state.linkThreeObjectExtend);
|
|
45226
|
+
state.linkDataMapper.entries().forEach(function (_ref3) {
|
|
45227
|
+
var _ref4 = _slicedToArray$1(_ref3, 2),
|
|
45228
|
+
link = _ref4[0],
|
|
45229
|
+
lineObj = _ref4[1];
|
|
45423
45230
|
if (!lineObj) return;
|
|
45424
45231
|
var pos = isD3Sim ? link : state.layout.getLinkPosition(state.layout.graph.getLink(link.source, link.target).id);
|
|
45425
45232
|
var start = pos[isD3Sim ? 'source' : 'from'];
|
|
@@ -45556,11 +45363,13 @@ function InsertStackElement(node, body) {
|
|
|
45556
45363
|
}
|
|
45557
45364
|
function updateArrows() {
|
|
45558
45365
|
// update link arrow position
|
|
45559
|
-
var arrowRelPosAccessor = index
|
|
45560
|
-
var arrowLengthAccessor = index
|
|
45561
|
-
var nodeValAccessor = index
|
|
45562
|
-
state.
|
|
45563
|
-
var
|
|
45366
|
+
var arrowRelPosAccessor = index(state.linkDirectionalArrowRelPos);
|
|
45367
|
+
var arrowLengthAccessor = index(state.linkDirectionalArrowLength);
|
|
45368
|
+
var nodeValAccessor = index(state.nodeVal);
|
|
45369
|
+
state.arrowDataMapper.entries().forEach(function (_ref5) {
|
|
45370
|
+
var _ref6 = _slicedToArray$1(_ref5, 2),
|
|
45371
|
+
link = _ref6[0],
|
|
45372
|
+
arrowObj = _ref6[1];
|
|
45564
45373
|
if (!arrowObj) return;
|
|
45565
45374
|
var pos = isD3Sim ? link : state.layout.getLinkPosition(state.layout.graph.getLink(link.source, link.target).id);
|
|
45566
45375
|
var start = pos[isD3Sim ? 'source' : 'from'];
|
|
@@ -45605,9 +45414,10 @@ function InsertStackElement(node, body) {
|
|
|
45605
45414
|
}
|
|
45606
45415
|
function updatePhotons() {
|
|
45607
45416
|
// update link particle positions
|
|
45608
|
-
var particleSpeedAccessor = index
|
|
45417
|
+
var particleSpeedAccessor = index(state.linkDirectionalParticleSpeed);
|
|
45609
45418
|
state.graphData.links.forEach(function (link) {
|
|
45610
|
-
var
|
|
45419
|
+
var photonsObj = state.particlesDataMapper.getObj(link);
|
|
45420
|
+
var cyclePhotons = photonsObj && photonsObj.children;
|
|
45611
45421
|
var singleHopPhotons = link.__singleHopPhotonsObj && link.__singleHopPhotonsObj.children;
|
|
45612
45422
|
if ((!singleHopPhotons || !singleHopPhotons.length) && (!cyclePhotons || !cyclePhotons.length)) return;
|
|
45613
45423
|
var pos = isD3Sim ? link : state.layout.getLinkPosition(state.layout.graph.getLink(link.source, link.target).id);
|
|
@@ -45664,12 +45474,12 @@ function InsertStackElement(node, body) {
|
|
|
45664
45474
|
link.__singleHopPhotonsObj = obj;
|
|
45665
45475
|
state.graphScene.add(obj);
|
|
45666
45476
|
}
|
|
45667
|
-
var particleWidthAccessor = index
|
|
45477
|
+
var particleWidthAccessor = index(state.linkDirectionalParticleWidth);
|
|
45668
45478
|
var photonR = Math.ceil(particleWidthAccessor(link) * 10) / 10 / 2;
|
|
45669
45479
|
var numSegments = state.linkDirectionalParticleResolution;
|
|
45670
45480
|
var particleGeometry = new three$1$1.SphereGeometry(photonR, numSegments, numSegments);
|
|
45671
|
-
var linkColorAccessor = index
|
|
45672
|
-
var particleColorAccessor = index
|
|
45481
|
+
var linkColorAccessor = index(state.linkColor);
|
|
45482
|
+
var particleColorAccessor = index(state.linkDirectionalParticleColor);
|
|
45673
45483
|
var photonColor = particleColorAccessor(link) || linkColorAccessor(link) || '#f0f0f0';
|
|
45674
45484
|
var materialColor = new three$1$1.Color(colorStr2Hex(photonColor));
|
|
45675
45485
|
var opacity = state.linkOpacity * 3;
|
|
@@ -45725,6 +45535,18 @@ function InsertStackElement(node, body) {
|
|
|
45725
45535
|
init: function init(threeObj, state) {
|
|
45726
45536
|
// Main three object to manipulate
|
|
45727
45537
|
state.graphScene = threeObj;
|
|
45538
|
+
state.nodeDataMapper = new ThreeDigest(threeObj, {
|
|
45539
|
+
objBindAttr: '__threeObj'
|
|
45540
|
+
});
|
|
45541
|
+
state.linkDataMapper = new ThreeDigest(threeObj, {
|
|
45542
|
+
objBindAttr: '__lineObj'
|
|
45543
|
+
});
|
|
45544
|
+
state.arrowDataMapper = new ThreeDigest(threeObj, {
|
|
45545
|
+
objBindAttr: '__arrowObj'
|
|
45546
|
+
});
|
|
45547
|
+
state.particlesDataMapper = new ThreeDigest(threeObj, {
|
|
45548
|
+
objBindAttr: '__photonsObj'
|
|
45549
|
+
});
|
|
45728
45550
|
},
|
|
45729
45551
|
update: function update(state, changedProps) {
|
|
45730
45552
|
var hasAnyPropChanged = function hasAnyPropChanged(propList) {
|
|
@@ -45733,95 +45555,89 @@ function InsertStackElement(node, body) {
|
|
|
45733
45555
|
});
|
|
45734
45556
|
};
|
|
45735
45557
|
state.engineRunning = false; // pause simulation
|
|
45736
|
-
state.onUpdate();
|
|
45558
|
+
typeof state.onUpdate === "function" && state.onUpdate();
|
|
45737
45559
|
if (state.nodeAutoColorBy !== null && hasAnyPropChanged(['nodeAutoColorBy', 'graphData', 'nodeColor'])) {
|
|
45738
45560
|
// Auto add color to uncolored nodes
|
|
45739
|
-
autoColorObjects(state.graphData.nodes, index
|
|
45561
|
+
autoColorObjects(state.graphData.nodes, index(state.nodeAutoColorBy), state.nodeColor);
|
|
45740
45562
|
}
|
|
45741
45563
|
if (state.linkAutoColorBy !== null && hasAnyPropChanged(['linkAutoColorBy', 'graphData', 'linkColor'])) {
|
|
45742
45564
|
// Auto add color to uncolored links
|
|
45743
|
-
autoColorObjects(state.graphData.links, index
|
|
45565
|
+
autoColorObjects(state.graphData.links, index(state.linkAutoColorBy), state.linkColor);
|
|
45744
45566
|
}
|
|
45745
45567
|
|
|
45746
45568
|
// Digest nodes WebGL objects
|
|
45747
45569
|
if (state._flushObjects || hasAnyPropChanged(['graphData', 'nodeThreeObject', 'nodeThreeObjectExtend', 'nodeVal', 'nodeColor', 'nodeVisibility', 'nodeRelSize', 'nodeResolution', 'nodeOpacity'])) {
|
|
45748
|
-
var customObjectAccessor = index
|
|
45749
|
-
var customObjectExtendAccessor = index
|
|
45750
|
-
var valAccessor = index
|
|
45751
|
-
var colorAccessor = index
|
|
45752
|
-
var visibilityAccessor = index
|
|
45570
|
+
var customObjectAccessor = index(state.nodeThreeObject);
|
|
45571
|
+
var customObjectExtendAccessor = index(state.nodeThreeObjectExtend);
|
|
45572
|
+
var valAccessor = index(state.nodeVal);
|
|
45573
|
+
var colorAccessor = index(state.nodeColor);
|
|
45574
|
+
var visibilityAccessor = index(state.nodeVisibility);
|
|
45753
45575
|
var sphereGeometries = {}; // indexed by node value
|
|
45754
45576
|
var sphereMaterials = {}; // indexed by color
|
|
45755
45577
|
|
|
45756
|
-
|
|
45757
|
-
|
|
45758
|
-
|
|
45759
|
-
|
|
45760
|
-
|
|
45761
|
-
|
|
45762
|
-
|
|
45763
|
-
|
|
45764
|
-
|
|
45765
|
-
|
|
45766
|
-
|
|
45767
|
-
|
|
45768
|
-
|
|
45578
|
+
if (state._flushObjects || hasAnyPropChanged([
|
|
45579
|
+
// recreate objects if any of these props have changed
|
|
45580
|
+
'nodeThreeObject', 'nodeThreeObjectExtend'])) state.nodeDataMapper.clear();
|
|
45581
|
+
state.nodeDataMapper.onCreateObj(function (node) {
|
|
45582
|
+
var customObj = customObjectAccessor(node);
|
|
45583
|
+
var extendObj = customObjectExtendAccessor(node);
|
|
45584
|
+
if (customObj && state.nodeThreeObject === customObj) {
|
|
45585
|
+
// clone object if it's a shared object among all nodes
|
|
45586
|
+
customObj = customObj.clone();
|
|
45587
|
+
}
|
|
45588
|
+
var obj;
|
|
45589
|
+
if (customObj && !extendObj) {
|
|
45590
|
+
obj = customObj;
|
|
45591
|
+
} else {
|
|
45592
|
+
// Add default object (sphere mesh)
|
|
45593
|
+
obj = new three$1$1.Mesh();
|
|
45594
|
+
obj.__graphDefaultObj = true;
|
|
45595
|
+
if (customObj && extendObj) {
|
|
45596
|
+
obj.add(customObj); // extend default with custom
|
|
45769
45597
|
}
|
|
45770
|
-
|
|
45771
|
-
|
|
45772
|
-
|
|
45773
|
-
|
|
45774
|
-
|
|
45775
|
-
|
|
45776
|
-
|
|
45777
|
-
|
|
45778
|
-
|
|
45598
|
+
}
|
|
45599
|
+
obj.__graphObjType = 'node'; // Add object type
|
|
45600
|
+
|
|
45601
|
+
return obj;
|
|
45602
|
+
}).onUpdateObj(function (obj, node) {
|
|
45603
|
+
if (obj.__graphDefaultObj) {
|
|
45604
|
+
// bypass internal updates for custom node objects
|
|
45605
|
+
var val = valAccessor(node) || 1;
|
|
45606
|
+
var radius = Math.cbrt(val) * state.nodeRelSize;
|
|
45607
|
+
var numSegments = state.nodeResolution;
|
|
45608
|
+
if (!obj.geometry.type.match(/^Sphere(Buffer)?Geometry$/) || obj.geometry.parameters.radius !== radius || obj.geometry.parameters.widthSegments !== numSegments) {
|
|
45609
|
+
if (!sphereGeometries.hasOwnProperty(val)) {
|
|
45610
|
+
sphereGeometries[val] = new three$1$1.SphereGeometry(radius, numSegments, numSegments);
|
|
45779
45611
|
}
|
|
45612
|
+
obj.geometry.dispose();
|
|
45613
|
+
obj.geometry = sphereGeometries[val];
|
|
45780
45614
|
}
|
|
45781
|
-
|
|
45782
|
-
|
|
45783
|
-
|
|
45784
|
-
|
|
45785
|
-
|
|
45786
|
-
|
|
45787
|
-
|
|
45788
|
-
|
|
45789
|
-
|
|
45790
|
-
|
|
45791
|
-
if (!obj.geometry.type.match(/^Sphere(Buffer)?Geometry$/) || obj.geometry.parameters.radius !== radius || obj.geometry.parameters.widthSegments !== numSegments) {
|
|
45792
|
-
if (!sphereGeometries.hasOwnProperty(val)) {
|
|
45793
|
-
sphereGeometries[val] = new three$1$1.SphereGeometry(radius, numSegments, numSegments);
|
|
45794
|
-
}
|
|
45795
|
-
obj.geometry.dispose();
|
|
45796
|
-
obj.geometry = sphereGeometries[val];
|
|
45797
|
-
}
|
|
45798
|
-
var color = colorAccessor(node);
|
|
45799
|
-
var materialColor = new three$1$1.Color(colorStr2Hex(color || '#ffffaa'));
|
|
45800
|
-
var opacity = state.nodeOpacity * colorAlpha(color);
|
|
45801
|
-
if (obj.material.type !== 'MeshLambertMaterial' || !obj.material.color.equals(materialColor) || obj.material.opacity !== opacity) {
|
|
45802
|
-
if (!sphereMaterials.hasOwnProperty(color)) {
|
|
45803
|
-
sphereMaterials[color] = new three$1$1.MeshLambertMaterial({
|
|
45804
|
-
color: materialColor,
|
|
45805
|
-
transparent: true,
|
|
45806
|
-
opacity: opacity
|
|
45807
|
-
});
|
|
45808
|
-
}
|
|
45809
|
-
obj.material.dispose();
|
|
45810
|
-
obj.material = sphereMaterials[color];
|
|
45615
|
+
var color = colorAccessor(node);
|
|
45616
|
+
var materialColor = new three$1$1.Color(colorStr2Hex(color || '#ffffaa'));
|
|
45617
|
+
var opacity = state.nodeOpacity * colorAlpha(color);
|
|
45618
|
+
if (obj.material.type !== 'MeshLambertMaterial' || !obj.material.color.equals(materialColor) || obj.material.opacity !== opacity) {
|
|
45619
|
+
if (!sphereMaterials.hasOwnProperty(color)) {
|
|
45620
|
+
sphereMaterials[color] = new three$1$1.MeshLambertMaterial({
|
|
45621
|
+
color: materialColor,
|
|
45622
|
+
transparent: true,
|
|
45623
|
+
opacity: opacity
|
|
45624
|
+
});
|
|
45811
45625
|
}
|
|
45626
|
+
obj.material.dispose();
|
|
45627
|
+
obj.material = sphereMaterials[color];
|
|
45812
45628
|
}
|
|
45813
45629
|
}
|
|
45814
|
-
});
|
|
45630
|
+
}).digest(state.graphData.nodes.filter(visibilityAccessor));
|
|
45815
45631
|
}
|
|
45816
45632
|
|
|
45817
45633
|
// Digest links WebGL objects
|
|
45818
45634
|
if (state._flushObjects || hasAnyPropChanged(['graphData', 'linkThreeObject', 'linkThreeObjectExtend', 'linkMaterial', 'linkColor', 'linkWidth', 'linkVisibility', 'linkResolution', 'linkOpacity', 'linkDirectionalArrowLength', 'linkDirectionalArrowColor', 'linkDirectionalArrowResolution', 'linkDirectionalParticles', 'linkDirectionalParticleWidth', 'linkDirectionalParticleColor', 'linkDirectionalParticleResolution'])) {
|
|
45819
|
-
var _customObjectAccessor = index
|
|
45820
|
-
var _customObjectExtendAccessor = index
|
|
45821
|
-
var customMaterialAccessor = index
|
|
45822
|
-
var _visibilityAccessor = index
|
|
45823
|
-
var _colorAccessor = index
|
|
45824
|
-
var widthAccessor = index
|
|
45635
|
+
var _customObjectAccessor = index(state.linkThreeObject);
|
|
45636
|
+
var _customObjectExtendAccessor = index(state.linkThreeObjectExtend);
|
|
45637
|
+
var customMaterialAccessor = index(state.linkMaterial);
|
|
45638
|
+
var _visibilityAccessor = index(state.linkVisibility);
|
|
45639
|
+
var _colorAccessor = index(state.linkColor);
|
|
45640
|
+
var widthAccessor = index(state.linkWidth);
|
|
45825
45641
|
var cylinderGeometries = {}; // indexed by link width
|
|
45826
45642
|
var lambertLineMaterials = {}; // for cylinder objects, indexed by link color
|
|
45827
45643
|
var basicLineMaterials = {}; // for line objects, indexed by link color
|
|
@@ -45829,218 +45645,193 @@ function InsertStackElement(node, body) {
|
|
|
45829
45645
|
var visibleLinks = state.graphData.links.filter(_visibilityAccessor);
|
|
45830
45646
|
|
|
45831
45647
|
// lines digest cycle
|
|
45832
|
-
|
|
45833
|
-
|
|
45834
|
-
|
|
45835
|
-
|
|
45836
|
-
|
|
45837
|
-
|
|
45838
|
-
|
|
45839
|
-
|
|
45840
|
-
|
|
45841
|
-
|
|
45842
|
-
|
|
45843
|
-
|
|
45844
|
-
|
|
45845
|
-
|
|
45846
|
-
|
|
45847
|
-
|
|
45848
|
-
|
|
45849
|
-
|
|
45850
|
-
|
|
45851
|
-
|
|
45852
|
-
|
|
45853
|
-
|
|
45854
|
-
|
|
45855
|
-
|
|
45856
|
-
|
|
45857
|
-
|
|
45858
|
-
|
|
45859
|
-
|
|
45860
|
-
|
|
45861
|
-
defaultObj = new three$1$1.Mesh();
|
|
45862
|
-
} else {
|
|
45863
|
-
// Use plain line (constant width)
|
|
45864
|
-
var lineGeometry = new three$1$1.BufferGeometry();
|
|
45865
|
-
lineGeometry[setAttributeFn]('position', new three$1$1.BufferAttribute(new Float32Array(2 * 3), 3));
|
|
45866
|
-
defaultObj = new three$1$1.Line(lineGeometry);
|
|
45867
|
-
}
|
|
45648
|
+
if (state._flushObjects || hasAnyPropChanged([
|
|
45649
|
+
// recreate objects if any of these props have changed
|
|
45650
|
+
'linkThreeObject', 'linkThreeObjectExtend', 'linkWidth'])) state.linkDataMapper.clear();
|
|
45651
|
+
state.linkDataMapper.onRemoveObj(function (obj) {
|
|
45652
|
+
// remove trailing single photons
|
|
45653
|
+
var singlePhotonsObj = obj.__data && obj.__data.__singleHopPhotonsObj;
|
|
45654
|
+
if (singlePhotonsObj) {
|
|
45655
|
+
singlePhotonsObj.parent.remove(singlePhotonsObj);
|
|
45656
|
+
emptyObject(singlePhotonsObj);
|
|
45657
|
+
delete obj.__data.__singleHopPhotonsObj;
|
|
45658
|
+
}
|
|
45659
|
+
}).onCreateObj(function (link) {
|
|
45660
|
+
var customObj = _customObjectAccessor(link);
|
|
45661
|
+
var extendObj = _customObjectExtendAccessor(link);
|
|
45662
|
+
if (customObj && state.linkThreeObject === customObj) {
|
|
45663
|
+
// clone object if it's a shared object among all links
|
|
45664
|
+
customObj = customObj.clone();
|
|
45665
|
+
}
|
|
45666
|
+
var defaultObj;
|
|
45667
|
+
if (!customObj || extendObj) {
|
|
45668
|
+
// construct default line obj
|
|
45669
|
+
var useCylinder = !!widthAccessor(link);
|
|
45670
|
+
if (useCylinder) {
|
|
45671
|
+
defaultObj = new three$1$1.Mesh();
|
|
45672
|
+
} else {
|
|
45673
|
+
// Use plain line (constant width)
|
|
45674
|
+
var lineGeometry = new three$1$1.BufferGeometry();
|
|
45675
|
+
lineGeometry[setAttributeFn]('position', new three$1$1.BufferAttribute(new Float32Array(2 * 3), 3));
|
|
45676
|
+
defaultObj = new three$1$1.Line(lineGeometry);
|
|
45868
45677
|
}
|
|
45869
|
-
|
|
45870
|
-
|
|
45871
|
-
|
|
45872
|
-
|
|
45678
|
+
}
|
|
45679
|
+
var obj;
|
|
45680
|
+
if (!customObj) {
|
|
45681
|
+
obj = defaultObj;
|
|
45682
|
+
obj.__graphDefaultObj = true;
|
|
45683
|
+
} else {
|
|
45684
|
+
if (!extendObj) {
|
|
45685
|
+
// use custom object
|
|
45686
|
+
obj = customObj;
|
|
45873
45687
|
} else {
|
|
45874
|
-
|
|
45875
|
-
|
|
45876
|
-
|
|
45877
|
-
|
|
45878
|
-
|
|
45879
|
-
obj = new three$1$1.Group();
|
|
45880
|
-
obj.__graphDefaultObj = true;
|
|
45881
|
-
obj.add(defaultObj);
|
|
45882
|
-
obj.add(customObj);
|
|
45883
|
-
}
|
|
45688
|
+
// extend default with custom in a group
|
|
45689
|
+
obj = new three$1$1.Group();
|
|
45690
|
+
obj.__graphDefaultObj = true;
|
|
45691
|
+
obj.add(defaultObj);
|
|
45692
|
+
obj.add(customObj);
|
|
45884
45693
|
}
|
|
45885
|
-
|
|
45886
|
-
|
|
45887
|
-
|
|
45888
|
-
|
|
45889
|
-
|
|
45890
|
-
|
|
45891
|
-
|
|
45892
|
-
|
|
45893
|
-
|
|
45894
|
-
|
|
45895
|
-
|
|
45896
|
-
|
|
45897
|
-
|
|
45898
|
-
|
|
45899
|
-
|
|
45900
|
-
|
|
45901
|
-
|
|
45902
|
-
|
|
45903
|
-
|
|
45904
|
-
|
|
45905
|
-
|
|
45906
|
-
|
|
45907
|
-
}
|
|
45908
|
-
obj.geometry.dispose();
|
|
45909
|
-
obj.geometry = cylinderGeometries[linkWidth];
|
|
45694
|
+
}
|
|
45695
|
+
obj.renderOrder = 10; // Prevent visual glitches of dark lines on top of nodes by rendering them last
|
|
45696
|
+
|
|
45697
|
+
obj.__graphObjType = 'link'; // Add object type
|
|
45698
|
+
|
|
45699
|
+
return obj;
|
|
45700
|
+
}).onUpdateObj(function (updObj, link) {
|
|
45701
|
+
if (updObj.__graphDefaultObj) {
|
|
45702
|
+
// bypass internal updates for custom link objects
|
|
45703
|
+
// select default object if it's an extended group
|
|
45704
|
+
var obj = updObj.children.length ? updObj.children[0] : updObj;
|
|
45705
|
+
var linkWidth = Math.ceil(widthAccessor(link) * 10) / 10;
|
|
45706
|
+
var useCylinder = !!linkWidth;
|
|
45707
|
+
if (useCylinder) {
|
|
45708
|
+
var r = linkWidth / 2;
|
|
45709
|
+
var numSegments = state.linkResolution;
|
|
45710
|
+
if (!obj.geometry.type.match(/^Cylinder(Buffer)?Geometry$/) || obj.geometry.parameters.radiusTop !== r || obj.geometry.parameters.radialSegments !== numSegments) {
|
|
45711
|
+
if (!cylinderGeometries.hasOwnProperty(linkWidth)) {
|
|
45712
|
+
var geometry = new three$1$1.CylinderGeometry(r, r, 1, numSegments, 1, false);
|
|
45713
|
+
geometry[applyMatrix4Fn](new three$1$1.Matrix4().makeTranslation(0, 1 / 2, 0));
|
|
45714
|
+
geometry[applyMatrix4Fn](new three$1$1.Matrix4().makeRotationX(Math.PI / 2));
|
|
45715
|
+
cylinderGeometries[linkWidth] = geometry;
|
|
45910
45716
|
}
|
|
45717
|
+
obj.geometry.dispose();
|
|
45718
|
+
obj.geometry = cylinderGeometries[linkWidth];
|
|
45911
45719
|
}
|
|
45912
|
-
|
|
45913
|
-
|
|
45914
|
-
|
|
45915
|
-
|
|
45916
|
-
|
|
45917
|
-
|
|
45918
|
-
|
|
45919
|
-
|
|
45920
|
-
|
|
45921
|
-
|
|
45922
|
-
|
|
45923
|
-
|
|
45924
|
-
|
|
45925
|
-
|
|
45926
|
-
|
|
45927
|
-
|
|
45928
|
-
|
|
45929
|
-
}
|
|
45930
|
-
obj.material.dispose();
|
|
45931
|
-
obj.material = lineMaterials[color];
|
|
45720
|
+
}
|
|
45721
|
+
var customMaterial = customMaterialAccessor(link);
|
|
45722
|
+
if (customMaterial) {
|
|
45723
|
+
obj.material = customMaterial;
|
|
45724
|
+
} else {
|
|
45725
|
+
var color = _colorAccessor(link);
|
|
45726
|
+
var materialColor = new three$1$1.Color(colorStr2Hex(color || '#f0f0f0'));
|
|
45727
|
+
var opacity = state.linkOpacity * colorAlpha(color);
|
|
45728
|
+
var materialType = useCylinder ? 'MeshLambertMaterial' : 'LineBasicMaterial';
|
|
45729
|
+
if (obj.material.type !== materialType || !obj.material.color.equals(materialColor) || obj.material.opacity !== opacity) {
|
|
45730
|
+
var lineMaterials = useCylinder ? lambertLineMaterials : basicLineMaterials;
|
|
45731
|
+
if (!lineMaterials.hasOwnProperty(color)) {
|
|
45732
|
+
lineMaterials[color] = new three$1$1[materialType]({
|
|
45733
|
+
color: materialColor,
|
|
45734
|
+
transparent: opacity < 1,
|
|
45735
|
+
opacity: opacity,
|
|
45736
|
+
depthWrite: opacity >= 1 // Prevent transparency issues
|
|
45737
|
+
});
|
|
45932
45738
|
}
|
|
45739
|
+
obj.material.dispose();
|
|
45740
|
+
obj.material = lineMaterials[color];
|
|
45933
45741
|
}
|
|
45934
45742
|
}
|
|
45935
45743
|
}
|
|
45936
|
-
});
|
|
45744
|
+
}).digest(visibleLinks);
|
|
45937
45745
|
|
|
45938
45746
|
// Arrows digest cycle
|
|
45939
45747
|
if (state.linkDirectionalArrowLength || changedProps.hasOwnProperty('linkDirectionalArrowLength')) {
|
|
45940
|
-
var arrowLengthAccessor = index
|
|
45941
|
-
var arrowColorAccessor = index
|
|
45942
|
-
|
|
45943
|
-
|
|
45944
|
-
|
|
45945
|
-
|
|
45946
|
-
|
|
45947
|
-
|
|
45948
|
-
|
|
45949
|
-
|
|
45950
|
-
|
|
45951
|
-
|
|
45952
|
-
|
|
45953
|
-
|
|
45954
|
-
|
|
45955
|
-
|
|
45956
|
-
|
|
45957
|
-
|
|
45958
|
-
|
|
45959
|
-
var coneGeometry = new three$1$1.ConeGeometry(arrowLength * 0.25, arrowLength, numSegments);
|
|
45960
|
-
// Correct orientation
|
|
45961
|
-
coneGeometry.translate(0, arrowLength / 2, 0);
|
|
45962
|
-
coneGeometry.rotateX(Math.PI / 2);
|
|
45963
|
-
obj.geometry.dispose();
|
|
45964
|
-
obj.geometry = coneGeometry;
|
|
45965
|
-
}
|
|
45966
|
-
var arrowColor = arrowColorAccessor(link) || _colorAccessor(link) || '#f0f0f0';
|
|
45967
|
-
obj.material.color = new three$1$1.Color(colorStr2Hex(arrowColor));
|
|
45968
|
-
obj.material.opacity = state.linkOpacity * 3 * colorAlpha(arrowColor);
|
|
45748
|
+
var arrowLengthAccessor = index(state.linkDirectionalArrowLength);
|
|
45749
|
+
var arrowColorAccessor = index(state.linkDirectionalArrowColor);
|
|
45750
|
+
state.arrowDataMapper.onCreateObj(function () {
|
|
45751
|
+
var obj = new three$1$1.Mesh(undefined, new three$1$1.MeshLambertMaterial({
|
|
45752
|
+
transparent: true
|
|
45753
|
+
}));
|
|
45754
|
+
obj.__linkThreeObjType = 'arrow'; // Add object type
|
|
45755
|
+
|
|
45756
|
+
return obj;
|
|
45757
|
+
}).onUpdateObj(function (obj, link) {
|
|
45758
|
+
var arrowLength = arrowLengthAccessor(link);
|
|
45759
|
+
var numSegments = state.linkDirectionalArrowResolution;
|
|
45760
|
+
if (!obj.geometry.type.match(/^Cone(Buffer)?Geometry$/) || obj.geometry.parameters.height !== arrowLength || obj.geometry.parameters.radialSegments !== numSegments) {
|
|
45761
|
+
var coneGeometry = new three$1$1.ConeGeometry(arrowLength * 0.25, arrowLength, numSegments);
|
|
45762
|
+
// Correct orientation
|
|
45763
|
+
coneGeometry.translate(0, arrowLength / 2, 0);
|
|
45764
|
+
coneGeometry.rotateX(Math.PI / 2);
|
|
45765
|
+
obj.geometry.dispose();
|
|
45766
|
+
obj.geometry = coneGeometry;
|
|
45969
45767
|
}
|
|
45970
|
-
|
|
45768
|
+
var arrowColor = arrowColorAccessor(link) || _colorAccessor(link) || '#f0f0f0';
|
|
45769
|
+
obj.material.color = new three$1$1.Color(colorStr2Hex(arrowColor));
|
|
45770
|
+
obj.material.opacity = state.linkOpacity * 3 * colorAlpha(arrowColor);
|
|
45771
|
+
}).digest(visibleLinks.filter(arrowLengthAccessor));
|
|
45971
45772
|
}
|
|
45972
45773
|
|
|
45973
45774
|
// Photon particles digest cycle
|
|
45974
45775
|
if (state.linkDirectionalParticles || changedProps.hasOwnProperty('linkDirectionalParticles')) {
|
|
45975
|
-
var particlesAccessor = index
|
|
45976
|
-
var particleWidthAccessor = index
|
|
45977
|
-
var particleColorAccessor = index
|
|
45776
|
+
var particlesAccessor = index(state.linkDirectionalParticles);
|
|
45777
|
+
var particleWidthAccessor = index(state.linkDirectionalParticleWidth);
|
|
45778
|
+
var particleColorAccessor = index(state.linkDirectionalParticleColor);
|
|
45978
45779
|
var particleMaterials = {}; // indexed by link color
|
|
45979
45780
|
var particleGeometries = {}; // indexed by particle width
|
|
45980
45781
|
|
|
45981
|
-
|
|
45982
|
-
|
|
45983
|
-
|
|
45984
|
-
|
|
45985
|
-
|
|
45986
|
-
|
|
45987
|
-
|
|
45988
|
-
|
|
45989
|
-
|
|
45990
|
-
|
|
45991
|
-
|
|
45992
|
-
|
|
45993
|
-
|
|
45994
|
-
|
|
45995
|
-
|
|
45996
|
-
|
|
45997
|
-
|
|
45998
|
-
if (curPhoton && curPhoton.geometry.parameters.radius === photonR && curPhoton.geometry.parameters.widthSegments === numSegments) {
|
|
45999
|
-
particleGeometry = curPhoton.geometry;
|
|
46000
|
-
} else {
|
|
46001
|
-
if (!particleGeometries.hasOwnProperty(photonR)) {
|
|
46002
|
-
particleGeometries[photonR] = new three$1$1.SphereGeometry(photonR, numSegments, numSegments);
|
|
46003
|
-
}
|
|
46004
|
-
particleGeometry = particleGeometries[photonR];
|
|
46005
|
-
curPhoton && curPhoton.geometry.dispose();
|
|
45782
|
+
state.particlesDataMapper.onCreateObj(function () {
|
|
45783
|
+
var obj = new three$1$1.Group();
|
|
45784
|
+
obj.__linkThreeObjType = 'photons'; // Add object type
|
|
45785
|
+
|
|
45786
|
+
obj.__photonDataMapper = new ThreeDigest(obj);
|
|
45787
|
+
return obj;
|
|
45788
|
+
}).onUpdateObj(function (obj, link) {
|
|
45789
|
+
var numPhotons = Math.round(Math.abs(particlesAccessor(link)));
|
|
45790
|
+
var curPhoton = !!obj.children.length && obj.children[0];
|
|
45791
|
+
var photonR = Math.ceil(particleWidthAccessor(link) * 10) / 10 / 2;
|
|
45792
|
+
var numSegments = state.linkDirectionalParticleResolution;
|
|
45793
|
+
var particleGeometry;
|
|
45794
|
+
if (curPhoton && curPhoton.geometry.parameters.radius === photonR && curPhoton.geometry.parameters.widthSegments === numSegments) {
|
|
45795
|
+
particleGeometry = curPhoton.geometry;
|
|
45796
|
+
} else {
|
|
45797
|
+
if (!particleGeometries.hasOwnProperty(photonR)) {
|
|
45798
|
+
particleGeometries[photonR] = new three$1$1.SphereGeometry(photonR, numSegments, numSegments);
|
|
46006
45799
|
}
|
|
46007
|
-
|
|
46008
|
-
|
|
46009
|
-
|
|
46010
|
-
|
|
46011
|
-
|
|
46012
|
-
|
|
46013
|
-
|
|
46014
|
-
|
|
46015
|
-
|
|
46016
|
-
|
|
46017
|
-
|
|
46018
|
-
|
|
46019
|
-
|
|
46020
|
-
|
|
46021
|
-
|
|
46022
|
-
|
|
45800
|
+
particleGeometry = particleGeometries[photonR];
|
|
45801
|
+
curPhoton && curPhoton.geometry.dispose();
|
|
45802
|
+
}
|
|
45803
|
+
var photonColor = particleColorAccessor(link) || _colorAccessor(link) || '#f0f0f0';
|
|
45804
|
+
var materialColor = new three$1$1.Color(colorStr2Hex(photonColor));
|
|
45805
|
+
var opacity = state.linkOpacity * 3;
|
|
45806
|
+
var particleMaterial;
|
|
45807
|
+
if (curPhoton && curPhoton.material.color.equals(materialColor) && curPhoton.material.opacity === opacity) {
|
|
45808
|
+
particleMaterial = curPhoton.material;
|
|
45809
|
+
} else {
|
|
45810
|
+
if (!particleMaterials.hasOwnProperty(photonColor)) {
|
|
45811
|
+
particleMaterials[photonColor] = new three$1$1.MeshLambertMaterial({
|
|
45812
|
+
color: materialColor,
|
|
45813
|
+
transparent: true,
|
|
45814
|
+
opacity: opacity
|
|
45815
|
+
});
|
|
46023
45816
|
}
|
|
46024
|
-
|
|
46025
|
-
|
|
46026
|
-
threeDigest(_toConsumableArray$1(new Array(numPhotons)).map(function (_, idx) {
|
|
46027
|
-
return {
|
|
46028
|
-
idx: idx
|
|
46029
|
-
};
|
|
46030
|
-
}), obj, {
|
|
46031
|
-
idAccessor: function idAccessor(d) {
|
|
46032
|
-
return d.idx;
|
|
46033
|
-
},
|
|
46034
|
-
createObj: function createObj() {
|
|
46035
|
-
return new three$1$1.Mesh(particleGeometry, particleMaterial);
|
|
46036
|
-
},
|
|
46037
|
-
updateObj: function updateObj(obj) {
|
|
46038
|
-
obj.geometry = particleGeometry;
|
|
46039
|
-
obj.material = particleMaterial;
|
|
46040
|
-
}
|
|
46041
|
-
});
|
|
45817
|
+
particleMaterial = particleMaterials[photonColor];
|
|
45818
|
+
curPhoton && curPhoton.material.dispose();
|
|
46042
45819
|
}
|
|
46043
|
-
|
|
45820
|
+
|
|
45821
|
+
// digest cycle for each photon
|
|
45822
|
+
obj.__photonDataMapper.id(function (d) {
|
|
45823
|
+
return d.idx;
|
|
45824
|
+
}).onCreateObj(function () {
|
|
45825
|
+
return new three$1$1.Mesh(particleGeometry, particleMaterial);
|
|
45826
|
+
}).onUpdateObj(function (obj) {
|
|
45827
|
+
obj.geometry = particleGeometry;
|
|
45828
|
+
obj.material = particleMaterial;
|
|
45829
|
+
}).digest(_toConsumableArray$1(new Array(numPhotons)).map(function (_, idx) {
|
|
45830
|
+
return {
|
|
45831
|
+
idx: idx
|
|
45832
|
+
};
|
|
45833
|
+
}));
|
|
45834
|
+
}).digest(visibleLinks.filter(particlesAccessor));
|
|
46044
45835
|
}
|
|
46045
45836
|
}
|
|
46046
45837
|
state._flushObjects = false; // reset objects refresh flag
|
|
@@ -88852,7 +88643,7 @@ var<${access}> ${name} : ${structName};`;
|
|
|
88852
88643
|
Spherical: Spherical,
|
|
88853
88644
|
Clock: Clock
|
|
88854
88645
|
};
|
|
88855
|
-
var threeRenderObjects = index$
|
|
88646
|
+
var threeRenderObjects = index$1({
|
|
88856
88647
|
props: {
|
|
88857
88648
|
width: {
|
|
88858
88649
|
"default": window.innerWidth,
|
|
@@ -88958,7 +88749,7 @@ var<${access}> ${name} : ${structName};`;
|
|
|
88958
88749
|
}
|
|
88959
88750
|
if (topObject !== state.hoverObj) {
|
|
88960
88751
|
state.onHover(topObject, state.hoverObj);
|
|
88961
|
-
state.toolTipElem.innerHTML = topObject ? index
|
|
88752
|
+
state.toolTipElem.innerHTML = topObject ? index(state.tooltipContent)(topObject) || '' : '';
|
|
88962
88753
|
state.hoverObj = topObject;
|
|
88963
88754
|
}
|
|
88964
88755
|
}
|
|
@@ -89411,20 +89202,20 @@ var<${access}> ${name} : ${structName};`;
|
|
|
89411
89202
|
|
|
89412
89203
|
// Expose config from forceGraph
|
|
89413
89204
|
var bindFG = linkKapsule('forceGraph', threeForcegraph);
|
|
89414
|
-
var linkedFGProps = Object.assign.apply(Object, _toConsumableArray$
|
|
89415
|
-
return _defineProperty$
|
|
89205
|
+
var linkedFGProps = Object.assign.apply(Object, _toConsumableArray$3(['jsonUrl', 'graphData', 'numDimensions', 'dagMode', 'dagLevelDistance', 'dagNodeFilter', 'onDagError', 'nodeRelSize', 'nodeId', 'nodeVal', 'nodeResolution', 'nodeColor', 'nodeAutoColorBy', 'nodeOpacity', 'nodeVisibility', 'nodeThreeObject', 'nodeThreeObjectExtend', 'linkSource', 'linkTarget', 'linkVisibility', 'linkColor', 'linkAutoColorBy', 'linkOpacity', 'linkWidth', 'linkResolution', 'linkCurvature', 'linkCurveRotation', 'linkMaterial', 'linkThreeObject', 'linkThreeObjectExtend', 'linkPositionUpdate', 'linkDirectionalArrowLength', 'linkDirectionalArrowColor', 'linkDirectionalArrowRelPos', 'linkDirectionalArrowResolution', 'linkDirectionalParticles', 'linkDirectionalParticleSpeed', 'linkDirectionalParticleWidth', 'linkDirectionalParticleColor', 'linkDirectionalParticleResolution', 'forceEngine', 'd3AlphaDecay', 'd3VelocityDecay', 'd3AlphaMin', 'ngraphPhysics', 'warmupTicks', 'cooldownTicks', 'cooldownTime', 'onEngineTick', 'onEngineStop'].map(function (p) {
|
|
89206
|
+
return _defineProperty$2({}, p, bindFG.linkProp(p));
|
|
89416
89207
|
})));
|
|
89417
|
-
var linkedFGMethods = Object.assign.apply(Object, _toConsumableArray$
|
|
89418
|
-
return _defineProperty$
|
|
89208
|
+
var linkedFGMethods = Object.assign.apply(Object, _toConsumableArray$3(['refresh', 'getGraphBbox', 'd3Force', 'd3ReheatSimulation', 'emitParticle'].map(function (p) {
|
|
89209
|
+
return _defineProperty$2({}, p, bindFG.linkMethod(p));
|
|
89419
89210
|
})));
|
|
89420
89211
|
|
|
89421
89212
|
// Expose config from renderObjs
|
|
89422
89213
|
var bindRenderObjs = linkKapsule('renderObjs', threeRenderObjects);
|
|
89423
|
-
var linkedRenderObjsProps = Object.assign.apply(Object, _toConsumableArray$
|
|
89424
|
-
return _defineProperty$
|
|
89214
|
+
var linkedRenderObjsProps = Object.assign.apply(Object, _toConsumableArray$3(['width', 'height', 'backgroundColor', 'showNavInfo', 'enablePointerInteraction'].map(function (p) {
|
|
89215
|
+
return _defineProperty$2({}, p, bindRenderObjs.linkProp(p));
|
|
89425
89216
|
})));
|
|
89426
|
-
var linkedRenderObjsMethods = Object.assign.apply(Object, _toConsumableArray$
|
|
89427
|
-
return _defineProperty$
|
|
89217
|
+
var linkedRenderObjsMethods = Object.assign.apply(Object, _toConsumableArray$3(['lights', 'cameraPosition', 'postProcessingComposer'].map(function (p) {
|
|
89218
|
+
return _defineProperty$2({}, p, bindRenderObjs.linkMethod(p));
|
|
89428
89219
|
})).concat([{
|
|
89429
89220
|
graph2ScreenCoords: bindRenderObjs.linkMethod('getScreenCoords'),
|
|
89430
89221
|
screen2GraphCoords: bindRenderObjs.linkMethod('getSceneCoords')
|
|
@@ -89432,8 +89223,8 @@ var<${access}> ${name} : ${structName};`;
|
|
|
89432
89223
|
|
|
89433
89224
|
//
|
|
89434
89225
|
|
|
89435
|
-
var _3dForceGraph = index$
|
|
89436
|
-
props: _objectSpread2$
|
|
89226
|
+
var _3dForceGraph = index$1({
|
|
89227
|
+
props: _objectSpread2$1(_objectSpread2$1({
|
|
89437
89228
|
nodeLabel: {
|
|
89438
89229
|
"default": 'name',
|
|
89439
89230
|
triggerUpdate: false
|
|
@@ -89498,7 +89289,7 @@ var<${access}> ${name} : ${structName};`;
|
|
|
89498
89289
|
triggerUpdate: false
|
|
89499
89290
|
}
|
|
89500
89291
|
}, linkedFGProps), linkedRenderObjsProps),
|
|
89501
|
-
methods: _objectSpread2$
|
|
89292
|
+
methods: _objectSpread2$1(_objectSpread2$1({
|
|
89502
89293
|
zoomToFit: function zoomToFit(state, transitionDuration, padding) {
|
|
89503
89294
|
var _state$forceGraph;
|
|
89504
89295
|
for (var _len = arguments.length, bboxArgs = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {
|
|
@@ -89751,7 +89542,7 @@ var<${access}> ${name} : ${structName};`;
|
|
|
89751
89542
|
return isNode(bObj) - isNode(aObj);
|
|
89752
89543
|
}).tooltipContent(function (obj) {
|
|
89753
89544
|
var graphObj = getGraphObj(obj);
|
|
89754
|
-
return graphObj ? index
|
|
89545
|
+
return graphObj ? index(state["".concat(graphObj.__graphObjType, "Label")])(graphObj.__data) || '' : '';
|
|
89755
89546
|
}).hoverDuringDrag(false).onHover(function (obj) {
|
|
89756
89547
|
// Update tooltip and trigger onHover events
|
|
89757
89548
|
var hoverObj = getGraphObj(obj);
|