globe.gl 2.26.5 → 2.26.7
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/globe.gl.common.js +63 -110
- package/dist/globe.gl.js +7151 -7059
- package/dist/globe.gl.js.map +1 -1
- package/dist/globe.gl.min.js +20 -5
- package/dist/globe.gl.module.js +56 -95
- package/package.json +12 -12
package/dist/globe.gl.module.js
CHANGED
|
@@ -9,15 +9,12 @@ import TWEEN from '@tweenjs/tween.js';
|
|
|
9
9
|
function styleInject(css, ref) {
|
|
10
10
|
if (ref === void 0) ref = {};
|
|
11
11
|
var insertAt = ref.insertAt;
|
|
12
|
-
|
|
13
12
|
if (!css || typeof document === 'undefined') {
|
|
14
13
|
return;
|
|
15
14
|
}
|
|
16
|
-
|
|
17
15
|
var head = document.head || document.getElementsByTagName('head')[0];
|
|
18
16
|
var style = document.createElement('style');
|
|
19
17
|
style.type = 'text/css';
|
|
20
|
-
|
|
21
18
|
if (insertAt === 'top') {
|
|
22
19
|
if (head.firstChild) {
|
|
23
20
|
head.insertBefore(style, head.firstChild);
|
|
@@ -27,7 +24,6 @@ function styleInject(css, ref) {
|
|
|
27
24
|
} else {
|
|
28
25
|
head.appendChild(style);
|
|
29
26
|
}
|
|
30
|
-
|
|
31
27
|
if (style.styleSheet) {
|
|
32
28
|
style.styleSheet.cssText = css;
|
|
33
29
|
} else {
|
|
@@ -40,17 +36,14 @@ styleInject(css_248z);
|
|
|
40
36
|
|
|
41
37
|
function ownKeys(object, enumerableOnly) {
|
|
42
38
|
var keys = Object.keys(object);
|
|
43
|
-
|
|
44
39
|
if (Object.getOwnPropertySymbols) {
|
|
45
40
|
var symbols = Object.getOwnPropertySymbols(object);
|
|
46
41
|
enumerableOnly && (symbols = symbols.filter(function (sym) {
|
|
47
42
|
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
48
43
|
})), keys.push.apply(keys, symbols);
|
|
49
44
|
}
|
|
50
|
-
|
|
51
45
|
return keys;
|
|
52
46
|
}
|
|
53
|
-
|
|
54
47
|
function _objectSpread2(target) {
|
|
55
48
|
for (var i = 1; i < arguments.length; i++) {
|
|
56
49
|
var source = null != arguments[i] ? arguments[i] : {};
|
|
@@ -60,10 +53,8 @@ function _objectSpread2(target) {
|
|
|
60
53
|
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
61
54
|
});
|
|
62
55
|
}
|
|
63
|
-
|
|
64
56
|
return target;
|
|
65
57
|
}
|
|
66
|
-
|
|
67
58
|
function _defineProperty(obj, key, value) {
|
|
68
59
|
if (key in obj) {
|
|
69
60
|
Object.defineProperty(obj, key, {
|
|
@@ -75,35 +66,26 @@ function _defineProperty(obj, key, value) {
|
|
|
75
66
|
} else {
|
|
76
67
|
obj[key] = value;
|
|
77
68
|
}
|
|
78
|
-
|
|
79
69
|
return obj;
|
|
80
70
|
}
|
|
81
|
-
|
|
82
71
|
function _objectWithoutPropertiesLoose(source, excluded) {
|
|
83
72
|
if (source == null) return {};
|
|
84
73
|
var target = {};
|
|
85
74
|
var sourceKeys = Object.keys(source);
|
|
86
75
|
var key, i;
|
|
87
|
-
|
|
88
76
|
for (i = 0; i < sourceKeys.length; i++) {
|
|
89
77
|
key = sourceKeys[i];
|
|
90
78
|
if (excluded.indexOf(key) >= 0) continue;
|
|
91
79
|
target[key] = source[key];
|
|
92
80
|
}
|
|
93
|
-
|
|
94
81
|
return target;
|
|
95
82
|
}
|
|
96
|
-
|
|
97
83
|
function _objectWithoutProperties(source, excluded) {
|
|
98
84
|
if (source == null) return {};
|
|
99
|
-
|
|
100
85
|
var target = _objectWithoutPropertiesLoose(source, excluded);
|
|
101
|
-
|
|
102
86
|
var key, i;
|
|
103
|
-
|
|
104
87
|
if (Object.getOwnPropertySymbols) {
|
|
105
88
|
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
|
|
106
|
-
|
|
107
89
|
for (i = 0; i < sourceSymbolKeys.length; i++) {
|
|
108
90
|
key = sourceSymbolKeys[i];
|
|
109
91
|
if (excluded.indexOf(key) >= 0) continue;
|
|
@@ -111,22 +93,17 @@ function _objectWithoutProperties(source, excluded) {
|
|
|
111
93
|
target[key] = source[key];
|
|
112
94
|
}
|
|
113
95
|
}
|
|
114
|
-
|
|
115
96
|
return target;
|
|
116
97
|
}
|
|
117
|
-
|
|
118
98
|
function _toConsumableArray(arr) {
|
|
119
99
|
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
|
|
120
100
|
}
|
|
121
|
-
|
|
122
101
|
function _arrayWithoutHoles(arr) {
|
|
123
102
|
if (Array.isArray(arr)) return _arrayLikeToArray(arr);
|
|
124
103
|
}
|
|
125
|
-
|
|
126
104
|
function _iterableToArray(iter) {
|
|
127
105
|
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
128
106
|
}
|
|
129
|
-
|
|
130
107
|
function _unsupportedIterableToArray(o, minLen) {
|
|
131
108
|
if (!o) return;
|
|
132
109
|
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
|
@@ -135,15 +112,11 @@ function _unsupportedIterableToArray(o, minLen) {
|
|
|
135
112
|
if (n === "Map" || n === "Set") return Array.from(o);
|
|
136
113
|
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
|
137
114
|
}
|
|
138
|
-
|
|
139
115
|
function _arrayLikeToArray(arr, len) {
|
|
140
116
|
if (len == null || len > arr.length) len = arr.length;
|
|
141
|
-
|
|
142
117
|
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
|
|
143
|
-
|
|
144
118
|
return arr2;
|
|
145
119
|
}
|
|
146
|
-
|
|
147
120
|
function _nonIterableSpread() {
|
|
148
121
|
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
149
122
|
}
|
|
@@ -166,11 +139,9 @@ function linkKapsule (kapsulePropName, kapsuleType) {
|
|
|
166
139
|
// link method pass-through
|
|
167
140
|
return function (state) {
|
|
168
141
|
var kapsuleInstance = state[kapsulePropName];
|
|
169
|
-
|
|
170
142
|
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
171
143
|
args[_key - 1] = arguments[_key];
|
|
172
144
|
}
|
|
173
|
-
|
|
174
145
|
var returnVal = kapsuleInstance[method].apply(kapsuleInstance, args);
|
|
175
146
|
return returnVal === kapsuleInstance ? this // chain based on the parent object, not the inner kapsule
|
|
176
147
|
: returnVal;
|
|
@@ -180,7 +151,6 @@ function linkKapsule (kapsulePropName, kapsuleType) {
|
|
|
180
151
|
}
|
|
181
152
|
|
|
182
153
|
var _excluded = ["rendererConfig", "waitForGlobeReady"];
|
|
183
|
-
|
|
184
154
|
var THREE = _objectSpread2(_objectSpread2({}, window.THREE ? window.THREE // Prefer consumption from global THREE, if exists
|
|
185
155
|
: {
|
|
186
156
|
AmbientLight: AmbientLight,
|
|
@@ -189,23 +159,28 @@ var THREE = _objectSpread2(_objectSpread2({}, window.THREE ? window.THREE // Pre
|
|
|
189
159
|
}), {}, {
|
|
190
160
|
CSS2DRenderer: CSS2DRenderer
|
|
191
161
|
});
|
|
192
|
-
// Expose config from ThreeGlobe
|
|
193
162
|
|
|
163
|
+
//
|
|
164
|
+
|
|
165
|
+
// Expose config from ThreeGlobe
|
|
194
166
|
var bindGlobe = linkKapsule('globe', ThreeGlobe);
|
|
195
167
|
var linkedGlobeProps = Object.assign.apply(Object, _toConsumableArray(['globeImageUrl', 'bumpImageUrl', 'showGlobe', 'showGraticules', 'showAtmosphere', 'atmosphereColor', 'atmosphereAltitude', 'globeMaterial', 'onGlobeReady', 'pointsData', 'pointLat', 'pointLng', 'pointColor', 'pointAltitude', 'pointRadius', 'pointResolution', 'pointsMerge', 'pointsTransitionDuration', 'arcsData', 'arcStartLat', 'arcStartLng', 'arcEndLat', 'arcEndLng', 'arcColor', 'arcAltitude', 'arcAltitudeAutoScale', 'arcStroke', 'arcCurveResolution', 'arcCircularResolution', 'arcDashLength', 'arcDashGap', 'arcDashInitialGap', 'arcDashAnimateTime', 'arcsTransitionDuration', 'polygonsData', 'polygonGeoJsonGeometry', 'polygonCapColor', 'polygonCapMaterial', 'polygonSideColor', 'polygonSideMaterial', 'polygonStrokeColor', 'polygonAltitude', 'polygonCapCurvatureResolution', 'polygonsTransitionDuration', 'pathsData', 'pathPoints', 'pathPointLat', 'pathPointLng', 'pathPointAlt', 'pathResolution', 'pathColor', 'pathStroke', 'pathDashLength', 'pathDashGap', 'pathDashInitialGap', 'pathDashAnimateTime', 'pathTransitionDuration', 'hexBinPointsData', 'hexBinPointLat', 'hexBinPointLng', 'hexBinPointWeight', 'hexBinResolution', 'hexMargin', 'hexTopCurvatureResolution', 'hexTopColor', 'hexSideColor', 'hexAltitude', 'hexBinMerge', 'hexTransitionDuration', 'hexPolygonsData', 'hexPolygonGeoJsonGeometry', 'hexPolygonColor', 'hexPolygonAltitude', 'hexPolygonResolution', 'hexPolygonMargin', 'hexPolygonCurvatureResolution', 'hexPolygonsTransitionDuration', 'tilesData', 'tileLat', 'tileLng', 'tileAltitude', 'tileWidth', 'tileHeight', 'tileUseGlobeProjection', 'tileMaterial', 'tileCurvatureResolution', 'tilesTransitionDuration', 'ringsData', 'ringLat', 'ringLng', 'ringAltitude', 'ringColor', 'ringResolution', 'ringMaxRadius', 'ringPropagationSpeed', 'ringRepeatPeriod', 'labelsData', 'labelLat', 'labelLng', 'labelAltitude', 'labelRotation', 'labelText', 'labelSize', 'labelTypeFace', 'labelColor', 'labelResolution', 'labelIncludeDot', 'labelDotRadius', 'labelDotOrientation', 'labelsTransitionDuration', 'htmlElementsData', 'htmlLat', 'htmlLng', 'htmlAltitude', 'htmlElement', 'htmlTransitionDuration', 'objectsData', 'objectLat', 'objectLng', 'objectAltitude', 'objectThreeObject', 'customLayerData', 'customThreeObject', 'customThreeObjectUpdate'].map(function (p) {
|
|
196
168
|
return _defineProperty({}, p, bindGlobe.linkProp(p));
|
|
197
169
|
})));
|
|
198
170
|
var linkedGlobeMethods = Object.assign.apply(Object, _toConsumableArray(['getGlobeRadius', 'getCoords', 'toGeoCoords'].map(function (p) {
|
|
199
171
|
return _defineProperty({}, p, bindGlobe.linkMethod(p));
|
|
200
|
-
})));
|
|
172
|
+
})));
|
|
201
173
|
|
|
174
|
+
// Expose config from renderObjs
|
|
202
175
|
var bindRenderObjs = linkKapsule('renderObjs', ThreeRenderObjects);
|
|
203
176
|
var linkedRenderObjsProps = Object.assign.apply(Object, _toConsumableArray(['width', 'height', 'backgroundColor', 'backgroundImageUrl', 'enablePointerInteraction'].map(function (p) {
|
|
204
177
|
return _defineProperty({}, p, bindRenderObjs.linkProp(p));
|
|
205
178
|
})));
|
|
206
179
|
var linkedRenderObjsMethods = Object.assign.apply(Object, _toConsumableArray(['postProcessingComposer'].map(function (p) {
|
|
207
180
|
return _defineProperty({}, p, bindRenderObjs.linkMethod(p));
|
|
208
|
-
})));
|
|
181
|
+
})));
|
|
182
|
+
|
|
183
|
+
//
|
|
209
184
|
|
|
210
185
|
var globe = Kapsule({
|
|
211
186
|
props: _objectSpread2(_objectSpread2({
|
|
@@ -370,14 +345,12 @@ var globe = Kapsule({
|
|
|
370
345
|
cancelAnimationFrame(state.animationFrameRequestId);
|
|
371
346
|
state.animationFrameRequestId = null;
|
|
372
347
|
}
|
|
373
|
-
|
|
374
348
|
return this;
|
|
375
349
|
},
|
|
376
350
|
resumeAnimation: function resumeAnimation(state) {
|
|
377
351
|
if (state.animationFrameRequestId === null) {
|
|
378
352
|
this._animationCycle();
|
|
379
353
|
}
|
|
380
|
-
|
|
381
354
|
return this;
|
|
382
355
|
},
|
|
383
356
|
_animationCycle: function _animationCycle(state) {
|
|
@@ -388,8 +361,9 @@ var globe = Kapsule({
|
|
|
388
361
|
pointOfView: function pointOfView(state) {
|
|
389
362
|
var geoCoords = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
390
363
|
var transitionDuration = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
|
|
391
|
-
var curGeoCoords = getGeoCoords();
|
|
364
|
+
var curGeoCoords = getGeoCoords();
|
|
392
365
|
|
|
366
|
+
// Getter
|
|
393
367
|
if (geoCoords.lat === undefined && geoCoords.lng === undefined && geoCoords.altitude === undefined) {
|
|
394
368
|
return curGeoCoords;
|
|
395
369
|
} else {
|
|
@@ -407,38 +381,32 @@ var globe = Kapsule({
|
|
|
407
381
|
while (curGeoCoords.lng - finalGeoCoords.lng > 180) {
|
|
408
382
|
curGeoCoords.lng -= 360;
|
|
409
383
|
}
|
|
410
|
-
|
|
411
384
|
while (curGeoCoords.lng - finalGeoCoords.lng < -180) {
|
|
412
385
|
curGeoCoords.lng += 360;
|
|
413
386
|
}
|
|
414
|
-
|
|
415
387
|
new TWEEN.Tween(curGeoCoords).to(finalGeoCoords, transitionDuration).easing(TWEEN.Easing.Cubic.InOut).onUpdate(setCameraPos).start();
|
|
416
388
|
}
|
|
417
|
-
|
|
418
389
|
return this;
|
|
419
|
-
}
|
|
390
|
+
}
|
|
420
391
|
|
|
392
|
+
//
|
|
421
393
|
|
|
422
394
|
function getGeoCoords() {
|
|
423
395
|
return state.globe.toGeoCoords(state.renderObjs.cameraPosition());
|
|
424
396
|
}
|
|
425
|
-
|
|
426
397
|
function setCameraPos(_ref5) {
|
|
427
398
|
var lat = _ref5.lat,
|
|
428
|
-
|
|
429
|
-
|
|
399
|
+
lng = _ref5.lng,
|
|
400
|
+
altitude = _ref5.altitude;
|
|
430
401
|
state.renderObjs.cameraPosition(state.globe.getCoords(lat, lng, altitude));
|
|
431
402
|
}
|
|
432
403
|
},
|
|
433
404
|
getScreenCoords: function getScreenCoords(state) {
|
|
434
405
|
var _state$globe;
|
|
435
|
-
|
|
436
406
|
for (var _len = arguments.length, geoCoords = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
437
407
|
geoCoords[_key - 1] = arguments[_key];
|
|
438
408
|
}
|
|
439
|
-
|
|
440
409
|
var cartesianCoords = (_state$globe = state.globe).getCoords.apply(_state$globe, geoCoords);
|
|
441
|
-
|
|
442
410
|
return state.renderObjs.getScreenCoords(cartesianCoords.x, cartesianCoords.y, cartesianCoords.z);
|
|
443
411
|
},
|
|
444
412
|
toGlobeCoords: function toGlobeCoords(state, x, y) {
|
|
@@ -448,9 +416,8 @@ var globe = Kapsule({
|
|
|
448
416
|
if (!globeIntersects) return null; // coords outside globe
|
|
449
417
|
|
|
450
418
|
var _state$globe$toGeoCoo = state.globe.toGeoCoords(globeIntersects.point),
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
419
|
+
lat = _state$globe$toGeoCoo.lat,
|
|
420
|
+
lng = _state$globe$toGeoCoo.lng;
|
|
454
421
|
return {
|
|
455
422
|
lat: lat,
|
|
456
423
|
lng: lng
|
|
@@ -489,10 +456,9 @@ var globe = Kapsule({
|
|
|
489
456
|
}, linkedGlobeMethods), linkedRenderObjsMethods),
|
|
490
457
|
stateInit: function stateInit(_ref6) {
|
|
491
458
|
var rendererConfig = _ref6.rendererConfig,
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
459
|
+
_ref6$waitForGlobeRea = _ref6.waitForGlobeReady,
|
|
460
|
+
waitForGlobeReady = _ref6$waitForGlobeRea === void 0 ? true : _ref6$waitForGlobeRea,
|
|
461
|
+
globeInitConfig = _objectWithoutProperties(_ref6, _excluded);
|
|
496
462
|
var globe = new ThreeGlobe(_objectSpread2({
|
|
497
463
|
waitForGlobeReady: waitForGlobeReady
|
|
498
464
|
}, globeInitConfig));
|
|
@@ -503,33 +469,35 @@ var globe = Kapsule({
|
|
|
503
469
|
rendererConfig: rendererConfig,
|
|
504
470
|
waitForLoadComplete: waitForGlobeReady,
|
|
505
471
|
extraRenderers: [new THREE.CSS2DRenderer()] // Used in HTML elements layer
|
|
506
|
-
|
|
507
472
|
}).skyRadius(globe.getGlobeRadius() * 500).showNavInfo(false)
|
|
508
473
|
};
|
|
509
474
|
},
|
|
510
475
|
init: function init(domNode, state) {
|
|
511
476
|
var _this = this;
|
|
512
|
-
|
|
513
477
|
// Wipe DOM
|
|
514
|
-
domNode.innerHTML = '';
|
|
478
|
+
domNode.innerHTML = '';
|
|
515
479
|
|
|
480
|
+
// Add relative container
|
|
516
481
|
domNode.appendChild(state.container = document.createElement('div'));
|
|
517
|
-
state.container.style.position = 'relative';
|
|
482
|
+
state.container.style.position = 'relative';
|
|
518
483
|
|
|
484
|
+
// Add renderObjs
|
|
519
485
|
var roDomNode = document.createElement('div');
|
|
520
486
|
state.container.appendChild(roDomNode);
|
|
521
|
-
state.renderObjs(roDomNode);
|
|
487
|
+
state.renderObjs(roDomNode);
|
|
522
488
|
|
|
523
|
-
|
|
489
|
+
// inject renderer size on three-globe
|
|
490
|
+
state.globe.rendererSize(state.renderObjs.renderer().getSize(new THREE.Vector2()));
|
|
524
491
|
|
|
492
|
+
// set initial distance
|
|
525
493
|
this.pointOfView({
|
|
526
494
|
altitude: 2.5
|
|
527
|
-
});
|
|
495
|
+
});
|
|
528
496
|
|
|
497
|
+
// calibrate orbit controls
|
|
529
498
|
var globeR = state.globe.getGlobeRadius();
|
|
530
499
|
var controls = state.renderObjs.controls();
|
|
531
500
|
controls.minDistance = globeR * 1.01; // just above the surface
|
|
532
|
-
|
|
533
501
|
controls.maxDistance = globeR * 100;
|
|
534
502
|
controls.enablePan = false;
|
|
535
503
|
controls.enableDamping = true;
|
|
@@ -539,26 +507,23 @@ var globe = Kapsule({
|
|
|
539
507
|
controls.addEventListener('change', function () {
|
|
540
508
|
// adjust controls speed based on altitude
|
|
541
509
|
var pov = _this.pointOfView();
|
|
542
|
-
|
|
543
510
|
controls.rotateSpeed = pov.altitude * 0.2; // Math.pow(pov.altitude + 1, 2) * 0.025;
|
|
544
|
-
|
|
545
511
|
controls.zoomSpeed = (pov.altitude + 1) * 0.1; // Math.sqrt(pov.altitude) * 0.2;
|
|
546
|
-
// Update three-globe pov when camera moves, for proper hiding of elements
|
|
547
512
|
|
|
513
|
+
// Update three-globe pov when camera moves, for proper hiding of elements
|
|
548
514
|
state.globe.setPointOfView(state.renderObjs.camera().position);
|
|
549
515
|
state.onZoom && state.onZoom(pov);
|
|
550
|
-
});
|
|
516
|
+
});
|
|
551
517
|
|
|
518
|
+
// config renderObjs
|
|
552
519
|
var getGlobeObj = function getGlobeObj(object) {
|
|
553
|
-
var obj = object;
|
|
554
|
-
|
|
520
|
+
var obj = object;
|
|
521
|
+
// recurse up object chain until finding the globe object
|
|
555
522
|
while (obj && !obj.hasOwnProperty('__globeObjType')) {
|
|
556
523
|
obj = obj.parent;
|
|
557
524
|
}
|
|
558
|
-
|
|
559
525
|
return obj;
|
|
560
526
|
};
|
|
561
|
-
|
|
562
527
|
var dataAccessors = {
|
|
563
528
|
point: function point(d) {
|
|
564
529
|
return d;
|
|
@@ -591,16 +556,16 @@ var globe = Kapsule({
|
|
|
591
556
|
return d;
|
|
592
557
|
}
|
|
593
558
|
};
|
|
594
|
-
state.renderObjs.objects([
|
|
559
|
+
state.renderObjs.objects([
|
|
560
|
+
// Populate scene
|
|
595
561
|
new THREE.AmbientLight(0xbbbbbb), new THREE.DirectionalLight(0xffffff, 0.6), state.globe]).hoverOrderComparator(function (a, b) {
|
|
596
562
|
var aObj = getGlobeObj(a);
|
|
597
|
-
var bObj = getGlobeObj(b);
|
|
563
|
+
var bObj = getGlobeObj(b);
|
|
598
564
|
|
|
565
|
+
// de-prioritize background / non-globe objects
|
|
599
566
|
var isBackground = function isBackground(o) {
|
|
600
567
|
return !o;
|
|
601
568
|
}; // || o.__globeObjType === 'globe' || o.__globeObjType === 'atmosphere';
|
|
602
|
-
|
|
603
|
-
|
|
604
569
|
return isBackground(aObj) - isBackground(bObj);
|
|
605
570
|
}).tooltipContent(function (obj) {
|
|
606
571
|
var objAccessors = {
|
|
@@ -645,34 +610,32 @@ var globe = Kapsule({
|
|
|
645
610
|
object: state.onObjectClick,
|
|
646
611
|
custom: state.onCustomLayerClick
|
|
647
612
|
};
|
|
648
|
-
var hoverObj = getGlobeObj(obj);
|
|
613
|
+
var hoverObj = getGlobeObj(obj);
|
|
649
614
|
|
|
615
|
+
// ignore non-recognised obj types
|
|
650
616
|
hoverObj && !hoverObjFns.hasOwnProperty(hoverObj.__globeObjType) && (hoverObj = null);
|
|
651
|
-
|
|
652
617
|
if (hoverObj !== state.hoverObj) {
|
|
653
618
|
var prevObjType = state.hoverObj ? state.hoverObj.__globeObjType : null;
|
|
654
619
|
var prevObjData = state.hoverObj ? dataAccessors[prevObjType](state.hoverObj.__data) : null;
|
|
655
620
|
var objType = hoverObj ? hoverObj.__globeObjType : null;
|
|
656
621
|
var objData = hoverObj ? dataAccessors[objType](hoverObj.__data) : null;
|
|
657
|
-
|
|
658
622
|
if (prevObjType && prevObjType !== objType) {
|
|
659
623
|
// Hover out
|
|
660
624
|
hoverObjFns[prevObjType] && hoverObjFns[prevObjType](null, prevObjData);
|
|
661
625
|
}
|
|
662
|
-
|
|
663
626
|
if (objType) {
|
|
664
627
|
// Hover in
|
|
665
628
|
hoverObjFns[objType] && hoverObjFns[objType](objData, prevObjType === objType ? prevObjData : null);
|
|
666
|
-
}
|
|
667
|
-
|
|
629
|
+
}
|
|
668
630
|
|
|
631
|
+
// set pointer if hovered object is clickable
|
|
669
632
|
state.renderObjs.renderer().domElement.classList[objType && clickObjFns[objType] ? 'add' : 'remove']('clickable');
|
|
670
633
|
state.hoverObj = hoverObj;
|
|
671
634
|
}
|
|
672
635
|
}).onClick(function (obj, ev, point) {
|
|
673
636
|
if (!obj) return; // ignore background clicks
|
|
674
|
-
// Handle click events on objects
|
|
675
637
|
|
|
638
|
+
// Handle click events on objects
|
|
676
639
|
var objFns = {
|
|
677
640
|
globe: state.onGlobeClick,
|
|
678
641
|
point: state.onPointClick,
|
|
@@ -688,15 +651,14 @@ var globe = Kapsule({
|
|
|
688
651
|
};
|
|
689
652
|
var globeObj = getGlobeObj(obj);
|
|
690
653
|
var objType = globeObj.__globeObjType;
|
|
691
|
-
|
|
692
654
|
if (globeObj && objFns.hasOwnProperty(objType) && objFns[objType]) {
|
|
693
|
-
var args = [ev];
|
|
655
|
+
var args = [ev];
|
|
694
656
|
|
|
657
|
+
// include click coords
|
|
695
658
|
if (objType === 'globe') {
|
|
696
659
|
var _this$toGeoCoords = _this.toGeoCoords(point),
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
660
|
+
lat = _this$toGeoCoords.lat,
|
|
661
|
+
lng = _this$toGeoCoords.lng;
|
|
700
662
|
args.unshift({
|
|
701
663
|
lat: lat,
|
|
702
664
|
lng: lng
|
|
@@ -704,14 +666,13 @@ var globe = Kapsule({
|
|
|
704
666
|
} else {
|
|
705
667
|
args.push(_this.toGeoCoords(point));
|
|
706
668
|
}
|
|
707
|
-
|
|
708
669
|
dataAccessors.hasOwnProperty(objType) && args.unshift(dataAccessors[objType](globeObj.__data));
|
|
709
670
|
objFns[objType].apply(objFns, args);
|
|
710
671
|
}
|
|
711
672
|
}).onRightClick(function (obj, ev, point) {
|
|
712
673
|
if (!obj) return; // ignore background clicks
|
|
713
|
-
// Handle right-click events
|
|
714
674
|
|
|
675
|
+
// Handle right-click events
|
|
715
676
|
var objFns = {
|
|
716
677
|
globe: state.onGlobeRightClick,
|
|
717
678
|
point: state.onPointRightClick,
|
|
@@ -727,15 +688,14 @@ var globe = Kapsule({
|
|
|
727
688
|
};
|
|
728
689
|
var globeObj = getGlobeObj(obj);
|
|
729
690
|
var objType = globeObj.__globeObjType;
|
|
730
|
-
|
|
731
691
|
if (globeObj && objFns.hasOwnProperty(objType) && objFns[objType]) {
|
|
732
|
-
var args = [ev];
|
|
692
|
+
var args = [ev];
|
|
733
693
|
|
|
694
|
+
// include click coords
|
|
734
695
|
if (objType === 'globe') {
|
|
735
696
|
var _this$toGeoCoords2 = _this.toGeoCoords(point),
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
697
|
+
lat = _this$toGeoCoords2.lat,
|
|
698
|
+
lng = _this$toGeoCoords2.lng;
|
|
739
699
|
args.unshift({
|
|
740
700
|
lat: lat,
|
|
741
701
|
lng: lng
|
|
@@ -743,13 +703,14 @@ var globe = Kapsule({
|
|
|
743
703
|
} else {
|
|
744
704
|
args.push(_this.toGeoCoords(point));
|
|
745
705
|
}
|
|
746
|
-
|
|
747
706
|
dataAccessors.hasOwnProperty(objType) && args.unshift(dataAccessors[objType](globeObj.__data));
|
|
748
707
|
objFns[objType].apply(objFns, args);
|
|
749
708
|
}
|
|
750
|
-
});
|
|
751
|
-
// Kick-off renderer
|
|
709
|
+
});
|
|
752
710
|
|
|
711
|
+
//
|
|
712
|
+
|
|
713
|
+
// Kick-off renderer
|
|
753
714
|
this._animationCycle();
|
|
754
715
|
}
|
|
755
716
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "globe.gl",
|
|
3
|
-
"version": "2.26.
|
|
3
|
+
"version": "2.26.7",
|
|
4
4
|
"description": "UI component for Globe Data Visualization using ThreeJS/WebGL",
|
|
5
5
|
"unpkg": "dist/globe.gl.min.js",
|
|
6
6
|
"jsdelivr": "dist/globe.gl.min.js",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"homepage": "https://github.com/vasturiano/globe.gl",
|
|
35
35
|
"scripts": {
|
|
36
36
|
"build": "rimraf dist && rollup -c",
|
|
37
|
-
"dev": "rollup -w -c rollup.config.dev.
|
|
37
|
+
"dev": "rollup -w -c rollup.config.dev.mjs",
|
|
38
38
|
"prepare": "npm run build"
|
|
39
39
|
},
|
|
40
40
|
"files": [
|
|
@@ -50,19 +50,19 @@
|
|
|
50
50
|
"three-render-objects": "^1.27"
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|
|
53
|
-
"@babel/core": "^7.
|
|
53
|
+
"@babel/core": "^7.19.6",
|
|
54
54
|
"@babel/plugin-proposal-class-properties": "^7.18.6",
|
|
55
|
-
"@babel/plugin-proposal-object-rest-spread": "^7.
|
|
56
|
-
"@babel/preset-env": "^7.
|
|
57
|
-
"@rollup/plugin-babel": "^
|
|
58
|
-
"@rollup/plugin-commonjs": "^
|
|
59
|
-
"@rollup/plugin-node-resolve": "^
|
|
60
|
-
"postcss": "^8.4.
|
|
55
|
+
"@babel/plugin-proposal-object-rest-spread": "^7.19.4",
|
|
56
|
+
"@babel/preset-env": "^7.19.4",
|
|
57
|
+
"@rollup/plugin-babel": "^6.0.2",
|
|
58
|
+
"@rollup/plugin-commonjs": "^23.0.2",
|
|
59
|
+
"@rollup/plugin-node-resolve": "^15.0.1",
|
|
60
|
+
"postcss": "^8.4.18",
|
|
61
61
|
"rimraf": "^3.0.2",
|
|
62
|
-
"rollup": "^2.
|
|
63
|
-
"rollup-plugin-dts": "^
|
|
62
|
+
"rollup": "^3.2.5",
|
|
63
|
+
"rollup-plugin-dts": "^5.0.0",
|
|
64
64
|
"rollup-plugin-postcss": "^4.0.2",
|
|
65
65
|
"rollup-plugin-terser": "^7.0.2",
|
|
66
|
-
"typescript": "^4.
|
|
66
|
+
"typescript": "^4.8.4"
|
|
67
67
|
}
|
|
68
68
|
}
|