@splunk/visualizations 25.13.1 → 26.1.0
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/Area.config.js +318 -234
- package/Area.config.js.map +1 -1
- package/Area.js +1131 -766
- package/Area.js.map +1 -1
- package/Bar.config.js +317 -233
- package/Bar.config.js.map +1 -1
- package/Bar.js +1007 -594
- package/Bar.js.map +1 -1
- package/Bubble.config.js +234 -160
- package/Bubble.config.js.map +1 -1
- package/Bubble.js +912 -509
- package/Bubble.js.map +1 -1
- package/ChoroplethSvg.config.js +80 -29
- package/ChoroplethSvg.config.js.map +1 -1
- package/ChoroplethSvg.js +691 -319
- package/ChoroplethSvg.js.map +1 -1
- package/Column.config.js +308 -223
- package/Column.config.js.map +1 -1
- package/Column.js +1011 -587
- package/Column.js.map +1 -1
- package/Ellipse.config.js +127 -62
- package/Ellipse.config.js.map +1 -1
- package/Ellipse.js +576 -286
- package/Ellipse.js.map +1 -1
- package/Events.config.js +111 -29
- package/Events.config.js.map +1 -1
- package/Events.js +998 -527
- package/Events.js.map +1 -1
- package/FillerGauge.config.js +142 -73
- package/FillerGauge.config.js.map +1 -1
- package/FillerGauge.js +962 -572
- package/FillerGauge.js.map +1 -1
- package/Image.config.js +70 -26
- package/Image.config.js.map +1 -1
- package/Image.js +524 -253
- package/Image.js.map +1 -1
- package/Line.config.js +326 -242
- package/Line.config.js.map +1 -1
- package/Line.js +1022 -606
- package/Line.js.map +1 -1
- package/LinkGraph.config.js +99 -49
- package/LinkGraph.config.js.map +1 -1
- package/LinkGraph.js +1184 -762
- package/LinkGraph.js.map +1 -1
- package/MIGRATION.md +1082 -0
- package/Map.config.js +311 -167
- package/Map.config.js.map +1 -1
- package/Map.js +1479 -873
- package/Map.js.map +1 -1
- package/Markdown.config.js +93 -43
- package/Markdown.config.js.map +1 -1
- package/Markdown.js +603 -332
- package/Markdown.js.map +1 -1
- package/MarkerGauge.config.js +163 -105
- package/MarkerGauge.config.js.map +1 -1
- package/MarkerGauge.js +1025 -628
- package/MarkerGauge.js.map +1 -1
- package/ParallelCoordinates.config.js +95 -41
- package/ParallelCoordinates.config.js.map +1 -1
- package/ParallelCoordinates.js +993 -622
- package/ParallelCoordinates.js.map +1 -1
- package/Pie.config.js +99 -46
- package/Pie.config.js.map +1 -1
- package/Pie.js +847 -442
- package/Pie.js.map +1 -1
- package/Punchcard.config.js +114 -62
- package/Punchcard.config.js.map +1 -1
- package/Punchcard.js +1097 -633
- package/Punchcard.js.map +1 -1
- package/Rectangle.config.js +131 -65
- package/Rectangle.config.js.map +1 -1
- package/Rectangle.js +580 -288
- package/Rectangle.js.map +1 -1
- package/Sankey.config.js +103 -41
- package/Sankey.config.js.map +1 -1
- package/Sankey.js +1128 -586
- package/Sankey.js.map +1 -1
- package/Scatter.config.js +231 -157
- package/Scatter.config.js.map +1 -1
- package/Scatter.js +904 -504
- package/Scatter.js.map +1 -1
- package/SingleValue.config.js +212 -142
- package/SingleValue.config.js.map +1 -1
- package/SingleValue.js +1506 -956
- package/SingleValue.js.map +1 -1
- package/SingleValueBasic.js +294 -233
- package/SingleValueBasic.js.map +1 -1
- package/SingleValueIcon.config.js +208 -138
- package/SingleValueIcon.config.js.map +1 -1
- package/SingleValueIcon.js +1375 -914
- package/SingleValueIcon.js.map +1 -1
- package/SingleValueRadial.config.js +252 -137
- package/SingleValueRadial.config.js.map +1 -1
- package/SingleValueRadial.js +2194 -1069
- package/SingleValueRadial.js.map +1 -1
- package/SparkLine.js +172 -83
- package/SparkLine.js.map +1 -1
- package/Table.config.js +123 -70
- package/Table.config.js.map +1 -1
- package/Table.js +1094 -590
- package/Table.js.map +1 -1
- package/common/Charting.js +147 -75
- package/common/Charting.js.map +1 -1
- package/common/ChartingApi.js +18 -7
- package/common/ChartingApi.js.map +1 -1
- package/common/EventsDoc.js +91 -36
- package/common/EventsDoc.js.map +1 -1
- package/common/GaugeMajorTicks.js +70 -60
- package/common/GaugeMajorTicks.js.map +1 -1
- package/common/GaugeValueMarker.js +45 -36
- package/common/GaugeValueMarker.js.map +1 -1
- package/common/OptionsDoc.js +177 -86
- package/common/OptionsDoc.js.map +1 -1
- package/common/OverviewDoc.js +65 -32
- package/common/OverviewDoc.js.map +1 -1
- package/common/SplunkVisualization.js +34 -7
- package/common/SplunkVisualization.js.map +1 -1
- package/common/SplunkVisualizationApi.js +10 -4
- package/common/SplunkVisualizationApi.js.map +1 -1
- package/common/ThemesDoc.js +41 -28
- package/common/ThemesDoc.js.map +1 -1
- package/common/chartingUtils.js +56 -24
- package/common/chartingUtils.js.map +1 -1
- package/common/docUtils.js +15 -5
- package/common/docUtils.js.map +1 -1
- package/common/gaugeUtils.js +238 -155
- package/common/gaugeUtils.js.map +1 -1
- package/common/shapeUtils.js +34 -16
- package/common/shapeUtils.js.map +1 -1
- package/common/utils/configUtils.js +59 -23
- package/common/utils/configUtils.js.map +1 -1
- package/common/utils/dataUtils.js +9 -4
- package/common/utils/dataUtils.js.map +1 -1
- package/common/utils/hocUtils.js +5 -3
- package/common/utils/hocUtils.js.map +1 -1
- package/common/utils/layoutUtils.js +3 -2
- package/common/utils/layoutUtils.js.map +1 -1
- package/common/utils/mapUtils.js +370 -206
- package/common/utils/mapUtils.js.map +1 -1
- package/common/utils/singleValueUtils.js +243 -198
- package/common/utils/singleValueUtils.js.map +1 -1
- package/common/utils/testHelper.js +36 -9
- package/common/utils/testHelper.js.map +1 -1
- package/common/utils/trellisUtils.js +87 -26
- package/common/utils/trellisUtils.js.map +1 -1
- package/common/utils/urlUtils.js +4 -2
- package/common/utils/urlUtils.js.map +1 -1
- package/common/withDashboardViz.js +375 -193
- package/common/withDashboardViz.js.map +1 -1
- package/package.json +25 -27
package/common/utils/mapUtils.js
CHANGED
|
@@ -87,7 +87,7 @@ module.exports =
|
|
|
87
87
|
/******/
|
|
88
88
|
/******/
|
|
89
89
|
/******/ // Load entry module and return exports
|
|
90
|
-
/******/ return __webpack_require__(__webpack_require__.s =
|
|
90
|
+
/******/ return __webpack_require__(__webpack_require__.s = 19);
|
|
91
91
|
/******/ })
|
|
92
92
|
/************************************************************************/
|
|
93
93
|
/******/ ([
|
|
@@ -134,22 +134,28 @@ module.exports = require("@splunk/visualization-encoding/utils/types");
|
|
|
134
134
|
/* 10 */
|
|
135
135
|
/***/ (function(module, exports) {
|
|
136
136
|
|
|
137
|
-
module.exports = require("
|
|
137
|
+
module.exports = require("@babel/runtime/helpers/taggedTemplateLiteral");
|
|
138
138
|
|
|
139
139
|
/***/ }),
|
|
140
140
|
/* 11 */
|
|
141
141
|
/***/ (function(module, exports) {
|
|
142
142
|
|
|
143
|
+
module.exports = require("styled-components");
|
|
144
|
+
|
|
145
|
+
/***/ }),
|
|
146
|
+
/* 12 */
|
|
147
|
+
/***/ (function(module, exports) {
|
|
148
|
+
|
|
143
149
|
module.exports = require("@splunk/visualizations-shared/colorUtils");
|
|
144
150
|
|
|
145
151
|
/***/ }),
|
|
146
|
-
/* 12 */,
|
|
147
152
|
/* 13 */,
|
|
148
153
|
/* 14 */,
|
|
149
154
|
/* 15 */,
|
|
150
155
|
/* 16 */,
|
|
151
156
|
/* 17 */,
|
|
152
|
-
/* 18
|
|
157
|
+
/* 18 */,
|
|
158
|
+
/* 19 */
|
|
153
159
|
/***/ (function(module, exports, __webpack_require__) {
|
|
154
160
|
|
|
155
161
|
"use strict";
|
|
@@ -159,40 +165,52 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
159
165
|
value: true
|
|
160
166
|
});
|
|
161
167
|
exports.columnsNullToZeros = void 0;
|
|
168
|
+
|
|
162
169
|
var types_1 = __webpack_require__(9);
|
|
163
|
-
|
|
164
|
-
var
|
|
165
|
-
|
|
166
|
-
var
|
|
170
|
+
|
|
171
|
+
var dsl_1 = __webpack_require__(20);
|
|
172
|
+
|
|
173
|
+
var hocUtils_1 = __webpack_require__(21);
|
|
174
|
+
|
|
175
|
+
var JSONSchemaUtils_1 = __webpack_require__(22);
|
|
176
|
+
|
|
177
|
+
var BubbleLayer_1 = __webpack_require__(23);
|
|
178
|
+
|
|
167
179
|
var columnsNullToZeros = function columnsNullToZeros(config, dataSources, options) {
|
|
168
180
|
var _a, _b;
|
|
181
|
+
|
|
169
182
|
var primary = dataSources.primary;
|
|
170
183
|
var _primary$data = primary.data,
|
|
171
|
-
|
|
172
|
-
|
|
184
|
+
columns = _primary$data.columns,
|
|
185
|
+
fields = _primary$data.fields;
|
|
173
186
|
var newColumns = columns;
|
|
174
|
-
var mergedOptions = hocUtils_1.deepMergeWithArrayPrimitiveOverrides({}, options, JSONSchemaUtils_1.pickFieldFromJSONSchema(config.optionsSchema, 'default'));
|
|
187
|
+
var mergedOptions = (0, hocUtils_1.deepMergeWithArrayPrimitiveOverrides)({}, options, (0, JSONSchemaUtils_1.pickFieldFromJSONSchema)(config.optionsSchema, 'default'));
|
|
188
|
+
|
|
175
189
|
if (((_b = (_a = mergedOptions.layers) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.type) === 'bubble') {
|
|
176
|
-
var latitudeField = dsl_1.getFieldsFromDSL(mergedOptions.layers[0].latitude, dataSources)[0] || '';
|
|
177
|
-
var longitudeField = dsl_1.getFieldsFromDSL(mergedOptions.layers[0].longitude, dataSources)[0] || '';
|
|
190
|
+
var latitudeField = (0, dsl_1.getFieldsFromDSL)(mergedOptions.layers[0].latitude, dataSources)[0] || '';
|
|
191
|
+
var longitudeField = (0, dsl_1.getFieldsFromDSL)(mergedOptions.layers[0].longitude, dataSources)[0] || '';
|
|
178
192
|
var excludedFields = [latitudeField, longitudeField, 'geobin'].concat(BubbleLayer_1.GEO_LAT_AND_LONG_FIELD);
|
|
179
193
|
var indicesToEvaluate = new Set(fields.reduce(function (arr, e, i) {
|
|
180
194
|
var field = typeof e === 'string' ? e : e.name.toString();
|
|
195
|
+
|
|
181
196
|
if (!excludedFields.includes(field)) {
|
|
182
197
|
arr.push(i);
|
|
183
198
|
}
|
|
199
|
+
|
|
184
200
|
return arr;
|
|
185
201
|
}, []));
|
|
186
202
|
newColumns = columns.map(function (column, i) {
|
|
187
203
|
if (indicesToEvaluate.has(i)) {
|
|
188
204
|
// sanitize value and convert string to numeric numbers
|
|
189
205
|
return column.map(function (value) {
|
|
190
|
-
return !value || !types_1.isNumber(value) ? 0 : +value;
|
|
206
|
+
return !value || !(0, types_1.isNumber)(value) ? 0 : +value;
|
|
191
207
|
});
|
|
192
208
|
}
|
|
209
|
+
|
|
193
210
|
return column;
|
|
194
211
|
});
|
|
195
212
|
}
|
|
213
|
+
|
|
196
214
|
var modifiedDatasources = Object.assign(Object.assign({}, dataSources), {
|
|
197
215
|
primary: Object.assign(Object.assign({}, primary), {
|
|
198
216
|
data: Object.assign(Object.assign({}, primary.data), {
|
|
@@ -202,62 +220,80 @@ var columnsNullToZeros = function columnsNullToZeros(config, dataSources, option
|
|
|
202
220
|
});
|
|
203
221
|
return modifiedDatasources;
|
|
204
222
|
};
|
|
223
|
+
|
|
205
224
|
exports.columnsNullToZeros = columnsNullToZeros;
|
|
206
225
|
|
|
207
226
|
/***/ }),
|
|
208
|
-
/*
|
|
227
|
+
/* 20 */
|
|
209
228
|
/***/ (function(module, exports) {
|
|
210
229
|
|
|
211
230
|
module.exports = require("@splunk/visualization-encoding/utils/dsl");
|
|
212
231
|
|
|
213
232
|
/***/ }),
|
|
214
|
-
/*
|
|
233
|
+
/* 21 */
|
|
215
234
|
/***/ (function(module, exports) {
|
|
216
235
|
|
|
217
236
|
module.exports = require("@splunk/visualizations-shared/hocUtils");
|
|
218
237
|
|
|
219
238
|
/***/ }),
|
|
220
|
-
/*
|
|
239
|
+
/* 22 */
|
|
221
240
|
/***/ (function(module, exports) {
|
|
222
241
|
|
|
223
242
|
module.exports = require("@splunk/visualizations-shared/JSONSchemaUtils");
|
|
224
243
|
|
|
225
244
|
/***/ }),
|
|
226
|
-
/*
|
|
245
|
+
/* 23 */
|
|
227
246
|
/***/ (function(module, exports, __webpack_require__) {
|
|
228
247
|
|
|
229
248
|
"use strict";
|
|
230
249
|
|
|
231
250
|
|
|
232
251
|
var _slicedToArray = __webpack_require__(7);
|
|
252
|
+
|
|
233
253
|
var _defineProperty = __webpack_require__(1);
|
|
254
|
+
|
|
234
255
|
var _toConsumableArray = __webpack_require__(2);
|
|
256
|
+
|
|
257
|
+
var _taggedTemplateLiteral = __webpack_require__(10);
|
|
258
|
+
|
|
259
|
+
var _templateObject;
|
|
260
|
+
|
|
235
261
|
Object.defineProperty(exports, "__esModule", {
|
|
236
262
|
value: true
|
|
237
263
|
});
|
|
238
264
|
exports.Bubble = exports.PieSegment = exports.GEO_LAT_AND_LONG_FIELD = exports.GEO_BOUND_PREFIX = void 0;
|
|
265
|
+
|
|
239
266
|
var React = __webpack_require__(3);
|
|
240
|
-
|
|
267
|
+
|
|
268
|
+
var styled_components_1 = __webpack_require__(11);
|
|
269
|
+
|
|
241
270
|
var lodash_1 = __webpack_require__(0);
|
|
242
|
-
|
|
243
|
-
var
|
|
244
|
-
|
|
271
|
+
|
|
272
|
+
var colorUtils_1 = __webpack_require__(12);
|
|
273
|
+
|
|
274
|
+
var MapUtils_1 = __webpack_require__(24);
|
|
275
|
+
|
|
276
|
+
var MarkerWrapper_1 = __webpack_require__(28);
|
|
277
|
+
|
|
245
278
|
exports.GEO_BOUND_PREFIX = '_geo_bounds_';
|
|
246
279
|
exports.GEO_LAT_AND_LONG_FIELD = ['_geo_long_field', '_geo_lat_field'];
|
|
247
280
|
exports.PieSegment = React.memo(function (_ref) {
|
|
248
281
|
var start = _ref.start,
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
282
|
+
end = _ref.end,
|
|
283
|
+
radius = _ref.radius,
|
|
284
|
+
color = _ref.color,
|
|
285
|
+
themeColor = _ref.themeColor,
|
|
286
|
+
segmentMetadata = _ref.segmentMetadata,
|
|
287
|
+
handleBubbleClick = _ref.handleBubbleClick;
|
|
288
|
+
|
|
255
289
|
var _ref2 = segmentMetadata !== null && segmentMetadata !== void 0 ? segmentMetadata : {},
|
|
256
|
-
|
|
257
|
-
|
|
290
|
+
name = _ref2.name,
|
|
291
|
+
value = _ref2.value;
|
|
292
|
+
|
|
258
293
|
var handleSegmentClick = React.useCallback(function (e) {
|
|
259
294
|
handleBubbleClick(e, name, value);
|
|
260
295
|
}, [name, value, handleBubbleClick]);
|
|
296
|
+
|
|
261
297
|
if (end - start === 1) {
|
|
262
298
|
return React.createElement("circle", {
|
|
263
299
|
onClick: handleSegmentClick,
|
|
@@ -270,6 +306,7 @@ exports.PieSegment = React.memo(function (_ref) {
|
|
|
270
306
|
stroke: color
|
|
271
307
|
});
|
|
272
308
|
}
|
|
309
|
+
|
|
273
310
|
var a0 = 2 * Math.PI * (start - 0.25);
|
|
274
311
|
var a1 = 2 * Math.PI * (end - 0.25);
|
|
275
312
|
var x0 = Math.cos(a0);
|
|
@@ -288,23 +325,20 @@ exports.PieSegment = React.memo(function (_ref) {
|
|
|
288
325
|
});
|
|
289
326
|
});
|
|
290
327
|
exports.PieSegment.displayName = 'MapBubblePieSegment';
|
|
291
|
-
var StyledMarkerWrapper = styled_components_1.default(MarkerWrapper_1.default)
|
|
292
|
-
displayName: "BubbleLayer__StyledMarkerWrapper",
|
|
293
|
-
componentId: "sc-8aqbb-0"
|
|
294
|
-
})(["cursor:pointer;"]);
|
|
328
|
+
var StyledMarkerWrapper = (0, styled_components_1.default)(MarkerWrapper_1.default)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n cursor: pointer;\n"])));
|
|
295
329
|
exports.Bubble = React.memo(function (_ref3) {
|
|
296
330
|
var originalValues = _ref3.originalValues,
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
331
|
+
valueRange = _ref3.valueRange,
|
|
332
|
+
colors = _ref3.colors,
|
|
333
|
+
themeColor = _ref3.themeColor,
|
|
334
|
+
isPie = _ref3.isPie,
|
|
335
|
+
latitude = _ref3.latitude,
|
|
336
|
+
longitude = _ref3.longitude,
|
|
337
|
+
bubbleSize = _ref3.bubbleSize,
|
|
338
|
+
_ref3$additionalField = _ref3.additionalFields,
|
|
339
|
+
additionalFields = _ref3$additionalField === void 0 ? [] : _ref3$additionalField,
|
|
340
|
+
map = _ref3.map,
|
|
341
|
+
handleMapClick = _ref3.handleMapClick;
|
|
308
342
|
var onBubbleClick = React.useCallback(function (e, name, value) {
|
|
309
343
|
handleMapClick(e, name, value);
|
|
310
344
|
e.stopPropagation();
|
|
@@ -313,21 +347,23 @@ exports.Bubble = React.memo(function (_ref3) {
|
|
|
313
347
|
var allZeros = originalValues.every(function (v) {
|
|
314
348
|
return v === 0;
|
|
315
349
|
});
|
|
350
|
+
|
|
316
351
|
if (allZeros || !originalValues.length) {
|
|
317
352
|
return null;
|
|
318
|
-
}
|
|
319
|
-
|
|
353
|
+
} // sanitize values
|
|
354
|
+
|
|
355
|
+
|
|
320
356
|
var values = originalValues.map(function (v) {
|
|
321
357
|
return v > 0 ? v : 0;
|
|
322
|
-
});
|
|
323
|
-
|
|
358
|
+
}); // compute offsets for pie segments
|
|
359
|
+
|
|
324
360
|
var offsets = [];
|
|
325
361
|
var total = 0;
|
|
326
362
|
values.forEach(function (count) {
|
|
327
363
|
offsets.push(total);
|
|
328
364
|
total += count;
|
|
329
365
|
});
|
|
330
|
-
var radius = MapUtils_1.matchBubbleSize(valueRange, total);
|
|
366
|
+
var radius = (0, MapUtils_1.matchBubbleSize)(valueRange, total);
|
|
331
367
|
var width = radius * 2;
|
|
332
368
|
return React.createElement("svg", {
|
|
333
369
|
width: width,
|
|
@@ -354,9 +390,11 @@ exports.Bubble = React.memo(function (_ref3) {
|
|
|
354
390
|
});
|
|
355
391
|
}));
|
|
356
392
|
}, [bubbleSize, colors, isPie, onBubbleClick, originalValues, themeColor, valueRange]);
|
|
393
|
+
|
|
357
394
|
if (!bubble) {
|
|
358
395
|
return null;
|
|
359
396
|
}
|
|
397
|
+
|
|
360
398
|
return React.createElement(StyledMarkerWrapper, {
|
|
361
399
|
longitude: longitude,
|
|
362
400
|
latitude: latitude,
|
|
@@ -366,34 +404,37 @@ exports.Bubble = React.memo(function (_ref3) {
|
|
|
366
404
|
}, bubble);
|
|
367
405
|
});
|
|
368
406
|
exports.Bubble.displayName = 'MapBubble';
|
|
407
|
+
|
|
369
408
|
var BubbleLayer = function BubbleLayer(props) {
|
|
370
409
|
var bubbleLayer = props.bubbleLayer,
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
410
|
+
themeColorScheme = props.themeColorScheme,
|
|
411
|
+
map = props.map,
|
|
412
|
+
zoom = props.zoom,
|
|
413
|
+
onMapClick = props.onMapClick;
|
|
375
414
|
bubbleLayer.seriesColors = bubbleLayer.seriesColors || MapUtils_1.DEFAULT_SERIES_COLORS;
|
|
376
415
|
bubbleLayer.bubbleSize = bubbleLayer.bubbleSize || [];
|
|
377
416
|
var bakedData = React.useMemo(function () {
|
|
378
|
-
return MapUtils_1.bakeBubbleData(bubbleLayer);
|
|
417
|
+
return (0, MapUtils_1.bakeBubbleData)(bubbleLayer);
|
|
379
418
|
}, [bubbleLayer]);
|
|
380
419
|
var staticColors = React.useMemo(function () {
|
|
381
|
-
return MapUtils_1.getStaticColors(bubbleLayer.bubbleSize.length, bubbleLayer.seriesColors);
|
|
420
|
+
return (0, MapUtils_1.getStaticColors)(bubbleLayer.bubbleSize.length, bubbleLayer.seriesColors);
|
|
382
421
|
}, [bubbleLayer.bubbleSize.length, bubbleLayer.seriesColors]);
|
|
422
|
+
|
|
383
423
|
var _ref4 = bakedData !== null && bakedData !== void 0 ? bakedData : {},
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
424
|
+
_ref4$data = _ref4.data,
|
|
425
|
+
data = _ref4$data === void 0 ? [] : _ref4$data,
|
|
426
|
+
_ref4$dataRange = _ref4.dataRange,
|
|
427
|
+
dataRange = _ref4$dataRange === void 0 ? [] : _ref4$dataRange,
|
|
428
|
+
resultLimit = _ref4.resultLimit,
|
|
429
|
+
bubbleSizeFields = _ref4.bubbleSizeFields,
|
|
430
|
+
isPie = _ref4.isPie;
|
|
431
|
+
|
|
391
432
|
var _bubbleLayer$addition = bubbleLayer.additionalTooltipFields,
|
|
392
|
-
|
|
433
|
+
additionalTooltipFields = _bubbleLayer$addition === void 0 ? [] : _bubbleLayer$addition;
|
|
393
434
|
var roundedZoom = Math.round(zoom);
|
|
394
435
|
var themeColor = themeColorScheme === 'light' ? '#ffffff' : '#1a1c20';
|
|
395
|
-
var dynamicColors = bubbleLayer.dataColors;
|
|
396
|
-
|
|
436
|
+
var dynamicColors = bubbleLayer.dataColors; // filter data for the current zoom level and sort base on values
|
|
437
|
+
|
|
397
438
|
var dataToRender = React.useMemo(function () {
|
|
398
439
|
return data.reduce(function (acc, datum, i) {
|
|
399
440
|
if (datum.zoom === roundedZoom) {
|
|
@@ -402,14 +443,17 @@ var BubbleLayer = function BubbleLayer(props) {
|
|
|
402
443
|
idx: i
|
|
403
444
|
});
|
|
404
445
|
}
|
|
446
|
+
|
|
405
447
|
return acc;
|
|
406
448
|
}, []).slice(0, resultLimit || MapUtils_1.DEFAULT_RESULT_LIMIT).sort(function (a, b) {
|
|
407
|
-
return lodash_1.sum(b.data.values) - lodash_1.sum(a.data.values);
|
|
449
|
+
return (0, lodash_1.sum)(b.data.values) - (0, lodash_1.sum)(a.data.values);
|
|
408
450
|
});
|
|
409
451
|
}, [data, resultLimit, roundedZoom]);
|
|
452
|
+
|
|
410
453
|
var _handleMapClick = React.useCallback(function (e, name, value, i) {
|
|
411
|
-
var _a, _b, _c;
|
|
412
|
-
|
|
454
|
+
var _a, _b, _c; // retrieve metadata from the appropriate datum, indexed by i
|
|
455
|
+
|
|
456
|
+
|
|
413
457
|
var metadata = (_c = (_b = (_a = dataToRender[i]) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.metadata) !== null && _c !== void 0 ? _c : {};
|
|
414
458
|
var payload = Object.keys(metadata).reduce(function (acc, curr) {
|
|
415
459
|
var key = "row.".concat(curr, ".value");
|
|
@@ -424,13 +468,16 @@ var BubbleLayer = function BubbleLayer(props) {
|
|
|
424
468
|
payload: payload
|
|
425
469
|
});
|
|
426
470
|
}, [dataToRender, onMapClick]);
|
|
471
|
+
|
|
427
472
|
return React.createElement(React.Fragment, null, dataToRender.map(function (datum, i) {
|
|
428
473
|
var colors = dynamicColors ? [dataToRender.map(function (obj) {
|
|
429
|
-
return colorUtils_1.isColor(dynamicColors[obj.idx]) ? dynamicColors[obj.idx] : MapUtils_1.DEFAULT_CLUSTER_COLOR;
|
|
474
|
+
return (0, colorUtils_1.isColor)(dynamicColors[obj.idx]) ? dynamicColors[obj.idx] : MapUtils_1.DEFAULT_CLUSTER_COLOR;
|
|
430
475
|
})[i]] : staticColors;
|
|
476
|
+
|
|
431
477
|
var _datum$data$coordinat = _slicedToArray(datum.data.coordinates, 2),
|
|
432
|
-
|
|
433
|
-
|
|
478
|
+
longitude = _datum$data$coordinat[0],
|
|
479
|
+
latitude = _datum$data$coordinat[1];
|
|
480
|
+
|
|
434
481
|
var bubbleSize = datum.data.values.map(function (value, index) {
|
|
435
482
|
return {
|
|
436
483
|
name: bubbleSizeFields[index],
|
|
@@ -462,45 +509,59 @@ var BubbleLayer = function BubbleLayer(props) {
|
|
|
462
509
|
});
|
|
463
510
|
}));
|
|
464
511
|
};
|
|
512
|
+
|
|
465
513
|
exports.default = BubbleLayer;
|
|
466
514
|
|
|
467
515
|
/***/ }),
|
|
468
|
-
/*
|
|
516
|
+
/* 24 */
|
|
469
517
|
/***/ (function(module, exports, __webpack_require__) {
|
|
470
518
|
|
|
471
519
|
"use strict";
|
|
472
520
|
|
|
473
521
|
|
|
474
522
|
var _defineProperty = __webpack_require__(1);
|
|
523
|
+
|
|
475
524
|
var _slicedToArray = __webpack_require__(7);
|
|
525
|
+
|
|
476
526
|
var _toConsumableArray = __webpack_require__(2);
|
|
527
|
+
|
|
477
528
|
Object.defineProperty(exports, "__esModule", {
|
|
478
529
|
value: true
|
|
479
530
|
});
|
|
480
531
|
exports.formatMetadata = exports.compareBaseStyles = exports.getScaledOpacities = exports.getGlobalLayerBoundaries = exports.isValidLatLon = exports.bakeBubbleData = exports.sanitizeValues = exports.transposeArray = exports.matchBubbleSize = exports.getStaticColors = exports.getZoomLevelFromGeobin = exports.getZoomConstraintsFromTileConfig = exports.getMapStyle = exports.getTilePreset = exports.LAYER_TYPE = exports.DEFAULT_OPACITY = exports.MAX_BUBBLE_RADIUS = exports.MIN_BUBBLE_RADIUS = exports.MAP_STYLE_VERSION_NUMBER = exports.DEFAULT_SERIES_COLORS = exports.DEFAULT_CLUSTER_COLOR = exports.DEFAULT_RESULT_LIMIT = exports.MIN_LONGITUDE = exports.MAX_LONGITUDE = exports.MIN_LATITUDE = exports.MAX_LATITUDE = void 0;
|
|
532
|
+
|
|
481
533
|
var lodash_1 = __webpack_require__(0);
|
|
482
|
-
|
|
483
|
-
var
|
|
484
|
-
|
|
485
|
-
var
|
|
534
|
+
|
|
535
|
+
var d3_scale_1 = __webpack_require__(25);
|
|
536
|
+
|
|
537
|
+
var chroma = __webpack_require__(26);
|
|
538
|
+
|
|
539
|
+
var colorUtils_1 = __webpack_require__(12);
|
|
540
|
+
|
|
541
|
+
var visualization_color_palettes_1 = __webpack_require__(27);
|
|
542
|
+
|
|
486
543
|
var types_1 = __webpack_require__(9);
|
|
544
|
+
|
|
487
545
|
exports.MAX_LATITUDE = 90;
|
|
488
546
|
exports.MIN_LATITUDE = -90;
|
|
489
547
|
exports.MAX_LONGITUDE = 180;
|
|
490
548
|
exports.MIN_LONGITUDE = -180;
|
|
491
549
|
exports.DEFAULT_RESULT_LIMIT = 1000;
|
|
492
550
|
exports.DEFAULT_CLUSTER_COLOR = '#909090';
|
|
493
|
-
exports.DEFAULT_SERIES_COLORS = visualization_color_palettes_1.VIZ_CATEGORICAL;
|
|
494
|
-
|
|
495
|
-
exports.MAP_STYLE_VERSION_NUMBER = 8;
|
|
496
|
-
// currently using one [min, max] value set for bubbles across all zoom levels
|
|
551
|
+
exports.DEFAULT_SERIES_COLORS = visualization_color_palettes_1.VIZ_CATEGORICAL; // MapLibre requires a map style specification number which is always 8
|
|
552
|
+
|
|
553
|
+
exports.MAP_STYLE_VERSION_NUMBER = 8; // currently using one [min, max] value set for bubbles across all zoom levels
|
|
497
554
|
// TODO: design choices on [min, max] bubble size for different zoom levels
|
|
555
|
+
|
|
498
556
|
exports.MIN_BUBBLE_RADIUS = 7.11; // 10px
|
|
557
|
+
|
|
499
558
|
exports.MAX_BUBBLE_RADIUS = 45.26; // 85px
|
|
559
|
+
|
|
500
560
|
exports.DEFAULT_OPACITY = 0.8;
|
|
501
561
|
var LONGITUDE = 'longitude';
|
|
502
562
|
var LATITUDE = 'latitude';
|
|
503
563
|
var LAYER_TYPE;
|
|
564
|
+
|
|
504
565
|
(function (LAYER_TYPE) {
|
|
505
566
|
LAYER_TYPE["Marker"] = "marker";
|
|
506
567
|
LAYER_TYPE["Bubble"] = "bubble";
|
|
@@ -514,17 +575,21 @@ var LAYER_TYPE;
|
|
|
514
575
|
* @param {BaseTileConfig[]} args.customTileConfig
|
|
515
576
|
* @returns {Object} tile preset
|
|
516
577
|
*/
|
|
578
|
+
|
|
579
|
+
|
|
517
580
|
var getTilePreset = function getTilePreset(_ref) {
|
|
518
581
|
var _ref$defaultTileConfi = _ref.defaultTileConfig,
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
582
|
+
defaultTileConfig = _ref$defaultTileConfi === void 0 ? [] : _ref$defaultTileConfi,
|
|
583
|
+
_ref$customTileConfig = _ref.customTileConfig,
|
|
584
|
+
customTileConfig = _ref$customTileConfig === void 0 ? [] : _ref$customTileConfig;
|
|
585
|
+
|
|
522
586
|
var _a, _b;
|
|
587
|
+
|
|
523
588
|
var tilePreset = {};
|
|
524
589
|
var defaultTileLight = {};
|
|
525
590
|
var defaultTileDark = {};
|
|
526
591
|
var tileConfigs = [].concat(defaultTileConfig).concat(customTileConfig);
|
|
527
|
-
lodash_1.forEach(tileConfigs, function (tileConfig) {
|
|
592
|
+
(0, lodash_1.forEach)(tileConfigs, function (tileConfig) {
|
|
528
593
|
var key = tileConfig === null || tileConfig === void 0 ? void 0 : tileConfig.key;
|
|
529
594
|
var updatedConfig = Object.assign(Object.assign({
|
|
530
595
|
theme: 'all'
|
|
@@ -533,6 +598,7 @@ var getTilePreset = function getTilePreset(_ref) {
|
|
|
533
598
|
});
|
|
534
599
|
tilePreset[key] = updatedConfig;
|
|
535
600
|
});
|
|
601
|
+
|
|
536
602
|
if (defaultTileConfig.length > 0) {
|
|
537
603
|
defaultTileLight = (_a = defaultTileConfig.find(function (config) {
|
|
538
604
|
return config.theme === 'light';
|
|
@@ -545,12 +611,14 @@ var getTilePreset = function getTilePreset(_ref) {
|
|
|
545
611
|
return config.theme === undefined;
|
|
546
612
|
});
|
|
547
613
|
}
|
|
614
|
+
|
|
548
615
|
return {
|
|
549
616
|
tilePreset: tilePreset,
|
|
550
617
|
defaultTileLight: defaultTileLight,
|
|
551
618
|
defaultTileDark: defaultTileDark
|
|
552
619
|
};
|
|
553
620
|
};
|
|
621
|
+
|
|
554
622
|
exports.getTilePreset = getTilePreset;
|
|
555
623
|
/**
|
|
556
624
|
* Check if baseLayerTileServer is in tilePreset and config matches current theme, if yes, return.
|
|
@@ -565,20 +633,22 @@ exports.getTilePreset = getTilePreset;
|
|
|
565
633
|
* @param {BaseTileConfig} args.defaultTileLight
|
|
566
634
|
* @returns {BaseTileConfig} mapStyle
|
|
567
635
|
*/
|
|
636
|
+
|
|
568
637
|
var getMapStyle = function getMapStyle(_ref2) {
|
|
569
638
|
var showBaseLayer = _ref2.showBaseLayer,
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
639
|
+
_ref2$baseLayerTileSe = _ref2.baseLayerTileServer,
|
|
640
|
+
baseLayerTileServer = _ref2$baseLayerTileSe === void 0 ? '' : _ref2$baseLayerTileSe,
|
|
641
|
+
_ref2$baseLayerTileSe2 = _ref2.baseLayerTileServerType,
|
|
642
|
+
baseLayerTileServerType = _ref2$baseLayerTileSe2 === void 0 ? '' : _ref2$baseLayerTileSe2,
|
|
643
|
+
_ref2$tilePreset = _ref2.tilePreset,
|
|
644
|
+
tilePreset = _ref2$tilePreset === void 0 ? {} : _ref2$tilePreset,
|
|
645
|
+
_ref2$colorScheme = _ref2.colorScheme,
|
|
646
|
+
colorScheme = _ref2$colorScheme === void 0 ? 'light' : _ref2$colorScheme,
|
|
647
|
+
_ref2$defaultTileLigh = _ref2.defaultTileLight,
|
|
648
|
+
defaultTileLight = _ref2$defaultTileLigh === void 0 ? {} : _ref2$defaultTileLigh,
|
|
649
|
+
_ref2$defaultTileDark = _ref2.defaultTileDark,
|
|
650
|
+
defaultTileDark = _ref2$defaultTileDark === void 0 ? {} : _ref2$defaultTileDark;
|
|
651
|
+
|
|
582
652
|
if (!showBaseLayer) {
|
|
583
653
|
return {
|
|
584
654
|
version: exports.MAP_STYLE_VERSION_NUMBER,
|
|
@@ -598,9 +668,11 @@ var getMapStyle = function getMapStyle(_ref2) {
|
|
|
598
668
|
}]
|
|
599
669
|
};
|
|
600
670
|
}
|
|
671
|
+
|
|
601
672
|
if (baseLayerTileServer && tilePreset[baseLayerTileServer] && (tilePreset[baseLayerTileServer].theme === colorScheme || tilePreset[baseLayerTileServer].theme === 'all')) {
|
|
602
673
|
return tilePreset[baseLayerTileServer];
|
|
603
674
|
}
|
|
675
|
+
|
|
604
676
|
if (baseLayerTileServer && baseLayerTileServerType) {
|
|
605
677
|
var tiles = [];
|
|
606
678
|
/**
|
|
@@ -608,6 +680,7 @@ var getMapStyle = function getMapStyle(_ref2) {
|
|
|
608
680
|
* Subdomains are used to help with browser parallel requests per domain limitation. These subdomains are typically single letters 'a', 'b' and 'c'
|
|
609
681
|
* Refer to https://leafletjs.com/SlavaUkraini/reference.html#tilelayer and https://wiki.openstreetmap.org/wiki/Tile_servers
|
|
610
682
|
*/
|
|
683
|
+
|
|
611
684
|
if (baseLayerTileServer.match(/^(https?):\/\/{(s|S)}\../)) {
|
|
612
685
|
/**
|
|
613
686
|
* sXML (Leaflet) allows users to define their own tile server URLs + list of available subdomains
|
|
@@ -618,8 +691,9 @@ var getMapStyle = function getMapStyle(_ref2) {
|
|
|
618
691
|
tiles = [baseLayerTileServer.replace(/{(s|S)}/, 'a'), baseLayerTileServer.replace(/{(s|S)}/, 'b'), baseLayerTileServer.replace(/{(s|S)}/, 'c')];
|
|
619
692
|
} else {
|
|
620
693
|
tiles = [baseLayerTileServer];
|
|
621
|
-
}
|
|
622
|
-
|
|
694
|
+
} // TODO: remove hardcoded style when we allow users to pass in layer style through Viz options
|
|
695
|
+
|
|
696
|
+
|
|
623
697
|
var mapStyle = {
|
|
624
698
|
version: exports.MAP_STYLE_VERSION_NUMBER,
|
|
625
699
|
sources: {
|
|
@@ -635,134 +709,164 @@ var getMapStyle = function getMapStyle(_ref2) {
|
|
|
635
709
|
source: 'base-tiles',
|
|
636
710
|
minzoom: 0,
|
|
637
711
|
maxzoom: 24 // https://maplibre.org/maplibre-gl-js-docs/api/map/
|
|
712
|
+
|
|
638
713
|
}]
|
|
639
714
|
};
|
|
640
|
-
|
|
641
715
|
return mapStyle;
|
|
642
|
-
}
|
|
643
|
-
|
|
716
|
+
} // if tile server is not present in the preset AND we can't construct a mapStyle, fall back on defaults
|
|
717
|
+
|
|
718
|
+
|
|
644
719
|
return colorScheme === 'light' ? defaultTileLight : defaultTileDark;
|
|
645
720
|
};
|
|
721
|
+
|
|
646
722
|
exports.getMapStyle = getMapStyle;
|
|
723
|
+
|
|
647
724
|
var getZoomConstraintsFromTileConfig = function getZoomConstraintsFromTileConfig(tileConfig, baseLayerTileServer) {
|
|
648
725
|
var sources = tileConfig.sources,
|
|
649
|
-
|
|
650
|
-
var matchedBaseLayerTileServer = false;
|
|
651
|
-
|
|
726
|
+
layers = tileConfig.layers;
|
|
727
|
+
var matchedBaseLayerTileServer = false; // check sources for minzoom maxzoom first
|
|
728
|
+
|
|
652
729
|
var sourceKeys = Object.keys(sources);
|
|
730
|
+
|
|
653
731
|
for (var i = 0; i < sourceKeys.length; i += 1) {
|
|
654
732
|
var _sources$sourceKeys$i = sources[sourceKeys[i]],
|
|
655
|
-
|
|
656
|
-
|
|
733
|
+
minzoom = _sources$sourceKeys$i.minzoom,
|
|
734
|
+
maxzoom = _sources$sourceKeys$i.maxzoom;
|
|
735
|
+
|
|
657
736
|
if (baseLayerTileServer && sources[sourceKeys[i]].tiles.indexOf(baseLayerTileServer) !== -1) {
|
|
658
737
|
matchedBaseLayerTileServer = true;
|
|
659
738
|
}
|
|
660
|
-
|
|
739
|
+
|
|
740
|
+
if ((baseLayerTileServer && matchedBaseLayerTileServer || !baseLayerTileServer) && (0, lodash_1.isNumber)(minzoom) && (0, lodash_1.isNumber)(maxzoom)) {
|
|
661
741
|
return {
|
|
662
742
|
minZoom: minzoom,
|
|
663
743
|
maxZoom: maxzoom
|
|
664
744
|
};
|
|
665
745
|
}
|
|
666
|
-
}
|
|
667
|
-
|
|
746
|
+
} // then check layers
|
|
747
|
+
|
|
748
|
+
|
|
668
749
|
for (var _i = 0; _i < layers.length; _i += 1) {
|
|
669
750
|
var _layers$_i = layers[_i],
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
751
|
+
_minzoom = _layers$_i.minzoom,
|
|
752
|
+
_maxzoom = _layers$_i.maxzoom;
|
|
753
|
+
|
|
754
|
+
if ((baseLayerTileServer && matchedBaseLayerTileServer || !baseLayerTileServer) && (0, lodash_1.isNumber)(_minzoom) && (0, lodash_1.isNumber)(_maxzoom)) {
|
|
673
755
|
return {
|
|
674
756
|
minZoom: _minzoom,
|
|
675
757
|
maxZoom: _maxzoom
|
|
676
758
|
};
|
|
677
759
|
}
|
|
678
|
-
}
|
|
679
|
-
|
|
760
|
+
} // Maplibre default - would reset previous min/maxZoom https://maplibre.org/maplibre-gl-js-docs/api/map/
|
|
761
|
+
|
|
762
|
+
|
|
680
763
|
return {
|
|
681
764
|
minZoom: 0,
|
|
682
765
|
maxZoom: 24
|
|
683
766
|
};
|
|
684
767
|
};
|
|
768
|
+
|
|
685
769
|
exports.getZoomConstraintsFromTileConfig = getZoomConstraintsFromTileConfig;
|
|
770
|
+
|
|
686
771
|
var getZoomLevelFromGeobin = function getZoomLevelFromGeobin(geobinStr) {
|
|
687
772
|
var _a;
|
|
773
|
+
|
|
688
774
|
if (!geobinStr) {
|
|
689
775
|
return null;
|
|
690
|
-
}
|
|
691
|
-
|
|
776
|
+
} // geostats cmds return geobin with zoom level 0-18, 0-99 in the geobinPattern covers the range
|
|
777
|
+
|
|
778
|
+
|
|
692
779
|
var geobinPattern = /bin_id_zl_([0-9]{0,2})?_y_/g;
|
|
693
780
|
var match = geobinPattern.exec(geobinStr);
|
|
694
781
|
return (_a = (match === null || match === void 0 ? void 0 : match.length) && parseInt(match[1], 10)) !== null && _a !== void 0 ? _a : null;
|
|
695
782
|
};
|
|
696
|
-
|
|
697
|
-
// Bubble colors - static
|
|
783
|
+
|
|
784
|
+
exports.getZoomLevelFromGeobin = getZoomLevelFromGeobin; // Bubble colors - static
|
|
785
|
+
|
|
698
786
|
var getStaticColors = function getStaticColors(colorCount, colorArray) {
|
|
699
787
|
if (colorCount < 0 || !colorCount) {
|
|
700
788
|
return [exports.DEFAULT_CLUSTER_COLOR];
|
|
701
789
|
}
|
|
790
|
+
|
|
702
791
|
if (!colorArray || !colorArray.length) {
|
|
703
792
|
return _toConsumableArray(Array(colorCount).keys()).map(function (i) {
|
|
704
793
|
return exports.DEFAULT_SERIES_COLORS[i];
|
|
705
794
|
});
|
|
706
|
-
}
|
|
707
|
-
// loop through colorArray to pick the first $colorCount colors
|
|
795
|
+
} // loop through colorArray to pick the first $colorCount colors
|
|
708
796
|
// start from begining again if colorCount > colorArray.length
|
|
797
|
+
|
|
798
|
+
|
|
709
799
|
return _toConsumableArray(Array(colorCount).keys()).map(function (i) {
|
|
710
|
-
return colorUtils_1.isColor(colorArray[i % colorArray.length]) ? colorArray[i % colorArray.length] : exports.DEFAULT_CLUSTER_COLOR;
|
|
800
|
+
return (0, colorUtils_1.isColor)(colorArray[i % colorArray.length]) ? colorArray[i % colorArray.length] : exports.DEFAULT_CLUSTER_COLOR;
|
|
711
801
|
});
|
|
712
802
|
};
|
|
713
|
-
|
|
714
|
-
// Bubble size
|
|
803
|
+
|
|
804
|
+
exports.getStaticColors = getStaticColors; // Bubble size
|
|
805
|
+
|
|
715
806
|
var matchBubbleSize = function matchBubbleSize(dataRange, data) {
|
|
716
|
-
var size = d3_scale_1.scalePow().exponent(0.2).domain(dataRange).range([exports.MIN_BUBBLE_RADIUS, exports.MAX_BUBBLE_RADIUS])(data);
|
|
807
|
+
var size = (0, d3_scale_1.scalePow)().exponent(0.2).domain(dataRange).range([exports.MIN_BUBBLE_RADIUS, exports.MAX_BUBBLE_RADIUS])(data);
|
|
808
|
+
|
|
717
809
|
if (size > exports.MAX_BUBBLE_RADIUS) {
|
|
718
810
|
return exports.MAX_BUBBLE_RADIUS;
|
|
719
811
|
}
|
|
812
|
+
|
|
720
813
|
if (size < exports.MIN_BUBBLE_RADIUS) {
|
|
721
814
|
return exports.MIN_BUBBLE_RADIUS;
|
|
722
815
|
}
|
|
816
|
+
|
|
723
817
|
return size;
|
|
724
818
|
};
|
|
819
|
+
|
|
725
820
|
exports.matchBubbleSize = matchBubbleSize;
|
|
821
|
+
|
|
726
822
|
var transposeArray = function transposeArray(array) {
|
|
727
823
|
if (!array || !array.length || !array[0] || !array[0].length) {
|
|
728
824
|
return [];
|
|
729
825
|
}
|
|
826
|
+
|
|
730
827
|
return array[0].map(function (_, i) {
|
|
731
828
|
return array.map(function (row) {
|
|
732
829
|
return row[i];
|
|
733
830
|
});
|
|
734
831
|
});
|
|
735
832
|
};
|
|
736
|
-
|
|
737
|
-
// sanitize values: update all null, undefined, or negative values to 0
|
|
833
|
+
|
|
834
|
+
exports.transposeArray = transposeArray; // sanitize values: update all null, undefined, or negative values to 0
|
|
835
|
+
|
|
738
836
|
var sanitizeValues = function sanitizeValues(values) {
|
|
739
837
|
// null / undefined
|
|
740
838
|
if (!values) {
|
|
741
839
|
return 0;
|
|
742
|
-
}
|
|
743
|
-
|
|
840
|
+
} // number
|
|
841
|
+
|
|
842
|
+
|
|
744
843
|
if (!Array.isArray(values)) {
|
|
745
844
|
return values > 0 ? values : 0;
|
|
746
|
-
}
|
|
747
|
-
|
|
845
|
+
} // array
|
|
846
|
+
|
|
847
|
+
|
|
748
848
|
return values.map(function (arr) {
|
|
749
|
-
return exports.sanitizeValues(arr);
|
|
849
|
+
return (0, exports.sanitizeValues)(arr);
|
|
750
850
|
});
|
|
751
851
|
};
|
|
852
|
+
|
|
752
853
|
exports.sanitizeValues = sanitizeValues;
|
|
854
|
+
|
|
753
855
|
var bakeBubbleData = function bakeBubbleData(layer) {
|
|
754
856
|
var _a;
|
|
857
|
+
|
|
755
858
|
if (!layer || !((_a = layer.bubbleSize) === null || _a === void 0 ? void 0 : _a.length) || !layer.geobin || !layer.geobin.length || !layer.latitude || !layer.latitude.length || !layer.longitude || !layer.longitude.length) {
|
|
756
859
|
return null;
|
|
757
|
-
}
|
|
758
|
-
// if bubbleSize is passed as an array of single number array (data series)
|
|
860
|
+
} // if bubbleSize is passed as an array of single number array (data series)
|
|
759
861
|
// e.g. [value0, value1, ...]
|
|
760
862
|
// format each value as an array to unify data operations for data series and frames
|
|
761
|
-
|
|
863
|
+
|
|
864
|
+
|
|
865
|
+
var sanitizedBubbleSize = (0, exports.sanitizeValues)(layer.bubbleSize);
|
|
762
866
|
var transposedBubbleSize;
|
|
763
867
|
var transposedSanitizedBubbleSize;
|
|
764
|
-
var isPie = false;
|
|
765
|
-
|
|
868
|
+
var isPie = false; // format array if bubbleSize is passed as an array of array (data frame)
|
|
869
|
+
|
|
766
870
|
if (Array.isArray(layer.bubbleSize[0])) {
|
|
767
871
|
// one-time array transpose,
|
|
768
872
|
// e.g. from [column0data, column0data] (multi series)
|
|
@@ -771,9 +875,9 @@ var bakeBubbleData = function bakeBubbleData(layer) {
|
|
|
771
875
|
// to [[column0data]]
|
|
772
876
|
// for easy access of values at each geo location,
|
|
773
877
|
// and min max pie size computation
|
|
774
|
-
transposedBubbleSize = exports.transposeArray(layer.bubbleSize);
|
|
775
|
-
transposedSanitizedBubbleSize = exports.transposeArray(sanitizedBubbleSize);
|
|
776
|
-
|
|
878
|
+
transposedBubbleSize = (0, exports.transposeArray)(layer.bubbleSize);
|
|
879
|
+
transposedSanitizedBubbleSize = (0, exports.transposeArray)(sanitizedBubbleSize); // if multiple series in the dataframe, set isPie to true
|
|
880
|
+
|
|
777
881
|
if (layer.bubbleSize.length > 1) {
|
|
778
882
|
isPie = true;
|
|
779
883
|
}
|
|
@@ -785,12 +889,14 @@ var bakeBubbleData = function bakeBubbleData(layer) {
|
|
|
785
889
|
return [n];
|
|
786
890
|
});
|
|
787
891
|
}
|
|
892
|
+
|
|
788
893
|
if (!transposedBubbleSize || !transposedBubbleSize.length) {
|
|
789
894
|
return null;
|
|
790
895
|
}
|
|
896
|
+
|
|
791
897
|
var data = layer.latitude.map(function (lat, i) {
|
|
792
898
|
return {
|
|
793
|
-
zoom: exports.getZoomLevelFromGeobin(layer.geobin[i]),
|
|
899
|
+
zoom: (0, exports.getZoomLevelFromGeobin)(layer.geobin[i]),
|
|
794
900
|
values: transposedBubbleSize[i],
|
|
795
901
|
sanitizedValues: transposedSanitizedBubbleSize[i],
|
|
796
902
|
coordinates: [layer.longitude[i], lat],
|
|
@@ -798,12 +904,12 @@ var bakeBubbleData = function bakeBubbleData(layer) {
|
|
|
798
904
|
};
|
|
799
905
|
}).filter(function (d) {
|
|
800
906
|
return Boolean(d.values);
|
|
801
|
-
});
|
|
802
|
-
|
|
803
|
-
var min = lodash_1.sum(transposedSanitizedBubbleSize[0]);
|
|
804
|
-
var max = lodash_1.sum(transposedSanitizedBubbleSize[1]);
|
|
907
|
+
}); // compute the min/max value to encode min/max pie or bubble size
|
|
908
|
+
|
|
909
|
+
var min = (0, lodash_1.sum)(transposedSanitizedBubbleSize[0]);
|
|
910
|
+
var max = (0, lodash_1.sum)(transposedSanitizedBubbleSize[1]);
|
|
805
911
|
transposedSanitizedBubbleSize.forEach(function (row) {
|
|
806
|
-
var bubbleSize = lodash_1.sum(row);
|
|
912
|
+
var bubbleSize = (0, lodash_1.sum)(row);
|
|
807
913
|
max = bubbleSize > max ? bubbleSize : max;
|
|
808
914
|
min = bubbleSize < min ? bubbleSize : min;
|
|
809
915
|
});
|
|
@@ -815,22 +921,29 @@ var bakeBubbleData = function bakeBubbleData(layer) {
|
|
|
815
921
|
bubbleSizeFields: layer.bubbleSizeFields
|
|
816
922
|
};
|
|
817
923
|
};
|
|
924
|
+
|
|
818
925
|
exports.bakeBubbleData = bakeBubbleData;
|
|
926
|
+
|
|
819
927
|
var isValidLatLon = function isValidLatLon(latlon) {
|
|
820
928
|
if (!latlon || !Array.isArray(latlon) || latlon.length !== 2) {
|
|
821
929
|
return false;
|
|
822
930
|
}
|
|
931
|
+
|
|
823
932
|
var _latlon = _slicedToArray(latlon, 2),
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
933
|
+
lat = _latlon[0],
|
|
934
|
+
lon = _latlon[1];
|
|
935
|
+
|
|
936
|
+
if (!(0, types_1.isNumber)(lat) || !(lat >= exports.MIN_LATITUDE && lat <= exports.MAX_LATITUDE)) {
|
|
827
937
|
return false;
|
|
828
938
|
}
|
|
829
|
-
|
|
939
|
+
|
|
940
|
+
if (!(0, types_1.isNumber)(lon) || !(lon >= exports.MIN_LONGITUDE && lon <= exports.MAX_LONGITUDE)) {
|
|
830
941
|
return false;
|
|
831
942
|
}
|
|
943
|
+
|
|
832
944
|
return true;
|
|
833
945
|
};
|
|
946
|
+
|
|
834
947
|
exports.isValidLatLon = isValidLatLon;
|
|
835
948
|
/**
|
|
836
949
|
* Returns a list of all lat or lon coordinates used in a specified layer
|
|
@@ -838,10 +951,12 @@ exports.isValidLatLon = isValidLatLon;
|
|
|
838
951
|
* @param {string} field
|
|
839
952
|
* @returns {number[]} list of lat coordinates or lon coordinates
|
|
840
953
|
*/
|
|
954
|
+
|
|
841
955
|
var getLatOrLonCoordinates = function getLatOrLonCoordinates(layer, field) {
|
|
842
956
|
var getClusterValues = function getClusterValues(clusterLayer) {
|
|
843
|
-
return lodash_1.get(clusterLayer, field, []).slice(0, clusterLayer.type === LAYER_TYPE.Marker && clusterLayer.resultLimit ? clusterLayer.resultLimit : exports.DEFAULT_RESULT_LIMIT);
|
|
957
|
+
return (0, lodash_1.get)(clusterLayer, field, []).slice(0, clusterLayer.type === LAYER_TYPE.Marker && clusterLayer.resultLimit ? clusterLayer.resultLimit : exports.DEFAULT_RESULT_LIMIT);
|
|
844
958
|
};
|
|
959
|
+
|
|
845
960
|
var getChoroplethValues = function getChoroplethValues(choroplethLayer) {
|
|
846
961
|
var slicedGeomList = choroplethLayer.geom.slice(0, choroplethLayer.resultLimit);
|
|
847
962
|
var flatCoordinates = slicedGeomList.flatMap(function (geomObject) {
|
|
@@ -851,6 +966,7 @@ var getLatOrLonCoordinates = function getLatOrLonCoordinates(layer, field) {
|
|
|
851
966
|
return coord[field === LONGITUDE ? 0 : 1];
|
|
852
967
|
});
|
|
853
968
|
};
|
|
969
|
+
|
|
854
970
|
return layer.type === LAYER_TYPE.Choropleth ? getChoroplethValues(layer) : getClusterValues(layer);
|
|
855
971
|
};
|
|
856
972
|
/**
|
|
@@ -858,72 +974,92 @@ var getLatOrLonCoordinates = function getLatOrLonCoordinates(layer, field) {
|
|
|
858
974
|
* @param {LayerType[]} layers
|
|
859
975
|
* @returns {LngLatBoundsLike}
|
|
860
976
|
*/
|
|
977
|
+
|
|
978
|
+
|
|
861
979
|
var getGlobalLayerBoundaries = function getGlobalLayerBoundaries(layers) {
|
|
862
980
|
var isLayerValid = function isLayerValid(field) {
|
|
863
981
|
return layers.every(function (layer) {
|
|
864
982
|
return layer[field] || layer.geom;
|
|
865
983
|
});
|
|
866
984
|
};
|
|
985
|
+
|
|
867
986
|
var getDefaultMax = function getDefaultMax(field) {
|
|
868
987
|
return field === LONGITUDE ? exports.MAX_LONGITUDE : exports.MAX_LATITUDE;
|
|
869
988
|
};
|
|
989
|
+
|
|
870
990
|
var getDefaultMin = function getDefaultMin(field) {
|
|
871
991
|
return field === LONGITUDE ? exports.MIN_LONGITUDE : exports.MIN_LATITUDE;
|
|
872
992
|
};
|
|
993
|
+
|
|
873
994
|
if (!layers || !Array.isArray(layers) || !layers.length) {
|
|
874
995
|
return null;
|
|
875
996
|
}
|
|
997
|
+
|
|
876
998
|
var getMin = function getMin(field) {
|
|
877
999
|
if (!isLayerValid(field)) {
|
|
878
1000
|
return getDefaultMin(field);
|
|
879
1001
|
}
|
|
1002
|
+
|
|
880
1003
|
return layers.reduce(function (prevVal, layer) {
|
|
881
1004
|
var coordinatesNumArr = getLatOrLonCoordinates(layer, field).map(function (x) {
|
|
882
1005
|
return +x;
|
|
883
1006
|
});
|
|
884
|
-
return lodash_1.min([prevVal].concat(_toConsumableArray(coordinatesNumArr)));
|
|
1007
|
+
return (0, lodash_1.min)([prevVal].concat(_toConsumableArray(coordinatesNumArr)));
|
|
885
1008
|
}, getDefaultMax(field));
|
|
886
1009
|
};
|
|
1010
|
+
|
|
887
1011
|
var getMax = function getMax(field) {
|
|
888
1012
|
if (!isLayerValid(field)) {
|
|
889
1013
|
return getDefaultMax(field);
|
|
890
1014
|
}
|
|
1015
|
+
|
|
891
1016
|
return layers.reduce(function (prevVal, layer) {
|
|
892
1017
|
var coordinatesNumArr = getLatOrLonCoordinates(layer, field).map(Number);
|
|
893
|
-
return lodash_1.max([prevVal].concat(_toConsumableArray(coordinatesNumArr)));
|
|
1018
|
+
return (0, lodash_1.max)([prevVal].concat(_toConsumableArray(coordinatesNumArr)));
|
|
894
1019
|
}, getDefaultMin(field));
|
|
895
1020
|
};
|
|
1021
|
+
|
|
896
1022
|
return [[getMin(LONGITUDE), getMin(LATITUDE)], [getMax(LONGITUDE), getMax(LATITUDE)]];
|
|
897
1023
|
};
|
|
1024
|
+
|
|
898
1025
|
exports.getGlobalLayerBoundaries = getGlobalLayerBoundaries;
|
|
1026
|
+
|
|
899
1027
|
var getScaledOpacities = function getScaledOpacities(colors, cfgOpacity) {
|
|
900
1028
|
// extract opacity information from 8 digit hex codes
|
|
901
1029
|
var opacities = colors === null || colors === void 0 ? void 0 : colors.map(function (color) {
|
|
902
1030
|
var _a;
|
|
1031
|
+
|
|
903
1032
|
return (color === null || color === void 0 ? void 0 : color.length) === 9 ? (_a = chroma(color).alpha()) !== null && _a !== void 0 ? _a : 1 : 1;
|
|
904
|
-
});
|
|
905
|
-
|
|
1033
|
+
}); // opacity cannot be greater than configured opacity
|
|
1034
|
+
|
|
906
1035
|
return opacities === null || opacities === void 0 ? void 0 : opacities.map(function (opacity) {
|
|
907
1036
|
return opacity * cfgOpacity;
|
|
908
1037
|
});
|
|
909
1038
|
};
|
|
1039
|
+
|
|
910
1040
|
exports.getScaledOpacities = getScaledOpacities;
|
|
1041
|
+
|
|
911
1042
|
var compareBaseStyles = function compareBaseStyles(curr, next) {
|
|
912
1043
|
var _a, _b, _c, _d;
|
|
1044
|
+
|
|
913
1045
|
var currBaseLayer = (_a = curr === null || curr === void 0 ? void 0 : curr.layers) === null || _a === void 0 ? void 0 : _a.find(function (layer) {
|
|
914
1046
|
return (layer === null || layer === void 0 ? void 0 : layer.id) === 'base-layer';
|
|
915
1047
|
});
|
|
916
1048
|
var nextBaseLayer = (_b = next === null || next === void 0 ? void 0 : next.layers) === null || _b === void 0 ? void 0 : _b.find(function (layer) {
|
|
917
1049
|
return (layer === null || layer === void 0 ? void 0 : layer.id) === 'base-layer';
|
|
918
1050
|
});
|
|
919
|
-
var currBaseSource = lodash_1.get(curr === null || curr === void 0 ? void 0 : curr.sources, (_c = currBaseLayer === null || currBaseLayer === void 0 ? void 0 : currBaseLayer.source) !== null && _c !== void 0 ? _c : '');
|
|
920
|
-
var nextBaseSource = lodash_1.get(next === null || next === void 0 ? void 0 : next.sources, (_d = nextBaseLayer === null || nextBaseLayer === void 0 ? void 0 : nextBaseLayer.source) !== null && _d !== void 0 ? _d : '');
|
|
1051
|
+
var currBaseSource = (0, lodash_1.get)(curr === null || curr === void 0 ? void 0 : curr.sources, (_c = currBaseLayer === null || currBaseLayer === void 0 ? void 0 : currBaseLayer.source) !== null && _c !== void 0 ? _c : '');
|
|
1052
|
+
var nextBaseSource = (0, lodash_1.get)(next === null || next === void 0 ? void 0 : next.sources, (_d = nextBaseLayer === null || nextBaseLayer === void 0 ? void 0 : nextBaseLayer.source) !== null && _d !== void 0 ? _d : '');
|
|
1053
|
+
|
|
921
1054
|
if (!currBaseLayer || !nextBaseLayer || !currBaseSource || !nextBaseSource) {
|
|
922
1055
|
return false;
|
|
923
1056
|
}
|
|
924
|
-
|
|
1057
|
+
|
|
1058
|
+
return (0, lodash_1.isEqual)(currBaseLayer, nextBaseLayer) && (0, lodash_1.isEqual)(currBaseSource, nextBaseSource);
|
|
925
1059
|
};
|
|
1060
|
+
|
|
926
1061
|
exports.compareBaseStyles = compareBaseStyles;
|
|
1062
|
+
|
|
927
1063
|
var formatMetadata = function formatMetadata(choroplethLayer, i) {
|
|
928
1064
|
if (!choroplethLayer || !choroplethLayer.areaIds || !choroplethLayer.areaValues) return {};
|
|
929
1065
|
if (i >= choroplethLayer.areaIds.length) return {};
|
|
@@ -936,71 +1072,83 @@ var formatMetadata = function formatMetadata(choroplethLayer, i) {
|
|
|
936
1072
|
};
|
|
937
1073
|
return Object.keys(metadata).reduce(function (result, curr) {
|
|
938
1074
|
var key = "row.".concat(curr, ".value");
|
|
939
|
-
var val = lodash_1.isObject(metadata[curr]) ? JSON.stringify(metadata[curr]) : String(metadata[curr]);
|
|
1075
|
+
var val = (0, lodash_1.isObject)(metadata[curr]) ? JSON.stringify(metadata[curr]) : String(metadata[curr]);
|
|
940
1076
|
return Object.assign(Object.assign({}, result), _defineProperty({}, key, val));
|
|
941
1077
|
}, base);
|
|
942
1078
|
};
|
|
1079
|
+
|
|
943
1080
|
exports.formatMetadata = formatMetadata;
|
|
944
1081
|
|
|
945
1082
|
/***/ }),
|
|
946
|
-
/*
|
|
1083
|
+
/* 25 */
|
|
947
1084
|
/***/ (function(module, exports) {
|
|
948
1085
|
|
|
949
1086
|
module.exports = require("d3-scale");
|
|
950
1087
|
|
|
951
1088
|
/***/ }),
|
|
952
|
-
/*
|
|
1089
|
+
/* 26 */
|
|
953
1090
|
/***/ (function(module, exports) {
|
|
954
1091
|
|
|
955
1092
|
module.exports = require("chroma-js");
|
|
956
1093
|
|
|
957
1094
|
/***/ }),
|
|
958
|
-
/*
|
|
1095
|
+
/* 27 */
|
|
959
1096
|
/***/ (function(module, exports) {
|
|
960
1097
|
|
|
961
1098
|
module.exports = require("@splunk/visualization-color-palettes");
|
|
962
1099
|
|
|
963
1100
|
/***/ }),
|
|
964
|
-
/*
|
|
1101
|
+
/* 28 */
|
|
965
1102
|
/***/ (function(module, exports, __webpack_require__) {
|
|
966
1103
|
|
|
967
1104
|
"use strict";
|
|
968
1105
|
|
|
969
1106
|
|
|
970
1107
|
var _slicedToArray = __webpack_require__(7);
|
|
1108
|
+
|
|
971
1109
|
var __rest = this && this.__rest || function (s, e) {
|
|
972
1110
|
var t = {};
|
|
1111
|
+
|
|
973
1112
|
for (var p in s) {
|
|
974
1113
|
if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
975
1114
|
}
|
|
1115
|
+
|
|
976
1116
|
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
977
1117
|
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
978
1118
|
}
|
|
979
1119
|
return t;
|
|
980
1120
|
};
|
|
1121
|
+
|
|
981
1122
|
Object.defineProperty(exports, "__esModule", {
|
|
982
1123
|
value: true
|
|
983
1124
|
});
|
|
984
|
-
|
|
1125
|
+
|
|
1126
|
+
var maplibre_gl_1 = __webpack_require__(29);
|
|
1127
|
+
|
|
985
1128
|
var React = __webpack_require__(3);
|
|
986
|
-
|
|
1129
|
+
|
|
1130
|
+
var Tooltip_1 = __webpack_require__(30);
|
|
1131
|
+
|
|
987
1132
|
var MarkerWrapper = function MarkerWrapper(_a) {
|
|
988
1133
|
var longitude = _a.longitude,
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
1134
|
+
latitude = _a.latitude,
|
|
1135
|
+
areaId = _a.areaId,
|
|
1136
|
+
areaValue = _a.areaValue,
|
|
1137
|
+
_a$additionalFields = _a.additionalFields,
|
|
1138
|
+
additionalFields = _a$additionalFields === void 0 ? [] : _a$additionalFields,
|
|
1139
|
+
map = _a.map,
|
|
1140
|
+
isChoroplethTooltipOpen = _a.isChoroplethTooltipOpen,
|
|
1141
|
+
children = _a.children,
|
|
1142
|
+
otherProps = __rest(_a, ["longitude", "latitude", "areaId", "areaValue", "additionalFields", "map", "isChoroplethTooltipOpen", "children"]);
|
|
1143
|
+
|
|
998
1144
|
var container = React.useRef();
|
|
999
1145
|
var marker = React.useRef();
|
|
1146
|
+
|
|
1000
1147
|
var _React$useState = React.useState(false),
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1148
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
1149
|
+
isTooltipOpen = _React$useState2[0],
|
|
1150
|
+
setTooltipOpenStatus = _React$useState2[1];
|
|
1151
|
+
|
|
1004
1152
|
var isChoroplethTooltip = React.useCallback(function () {
|
|
1005
1153
|
return isChoroplethTooltipOpen !== undefined;
|
|
1006
1154
|
}, [isChoroplethTooltipOpen]);
|
|
@@ -1059,87 +1207,102 @@ var MarkerWrapper = function MarkerWrapper(_a) {
|
|
|
1059
1207
|
additionalFields: additionalFields
|
|
1060
1208
|
})));
|
|
1061
1209
|
};
|
|
1210
|
+
|
|
1062
1211
|
exports.default = MarkerWrapper;
|
|
1063
1212
|
|
|
1064
1213
|
/***/ }),
|
|
1065
|
-
/*
|
|
1214
|
+
/* 29 */
|
|
1066
1215
|
/***/ (function(module, exports) {
|
|
1067
1216
|
|
|
1068
1217
|
module.exports = require("maplibre-gl");
|
|
1069
1218
|
|
|
1070
1219
|
/***/ }),
|
|
1071
|
-
/*
|
|
1220
|
+
/* 30 */
|
|
1072
1221
|
/***/ (function(module, exports, __webpack_require__) {
|
|
1073
1222
|
|
|
1074
1223
|
"use strict";
|
|
1075
1224
|
|
|
1076
1225
|
|
|
1226
|
+
var _taggedTemplateLiteral = __webpack_require__(10);
|
|
1227
|
+
|
|
1228
|
+
var _templateObject;
|
|
1229
|
+
|
|
1077
1230
|
Object.defineProperty(exports, "__esModule", {
|
|
1078
1231
|
value: true
|
|
1079
1232
|
});
|
|
1080
1233
|
exports.convertDegToDMS = void 0;
|
|
1234
|
+
|
|
1081
1235
|
var React = __webpack_require__(3);
|
|
1082
|
-
|
|
1083
|
-
var
|
|
1084
|
-
|
|
1085
|
-
var
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1236
|
+
|
|
1237
|
+
var styled_components_1 = __webpack_require__(11);
|
|
1238
|
+
|
|
1239
|
+
var Popover_1 = __webpack_require__(31);
|
|
1240
|
+
|
|
1241
|
+
var i18n_1 = __webpack_require__(32);
|
|
1242
|
+
|
|
1243
|
+
var StyledPopover = (0, styled_components_1.default)(Popover_1.default)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n width: 250px;\n font-size: 12px;\n"])));
|
|
1089
1244
|
var StyledTable = styled_components_1.default.table.withConfig({
|
|
1090
1245
|
displayName: "Tooltip__StyledTable",
|
|
1091
|
-
componentId: "xwewsa-
|
|
1246
|
+
componentId: "xwewsa-0"
|
|
1092
1247
|
})(["margin:2px 6px 2px 6px;width:calc(100% - 12px);"]);
|
|
1093
1248
|
var StyledTitleColumn = styled_components_1.default.td.withConfig({
|
|
1094
1249
|
displayName: "Tooltip__StyledTitleColumn",
|
|
1095
|
-
componentId: "xwewsa-
|
|
1250
|
+
componentId: "xwewsa-1"
|
|
1096
1251
|
})(["opacity:0.85;"]);
|
|
1097
1252
|
var StyledValueColumn = styled_components_1.default.td.withConfig({
|
|
1098
1253
|
displayName: "Tooltip__StyledValueColumn",
|
|
1099
|
-
componentId: "xwewsa-
|
|
1254
|
+
componentId: "xwewsa-2"
|
|
1100
1255
|
})(["text-align:right;"]);
|
|
1101
1256
|
var StyledColorBlock = styled_components_1.default.div.withConfig({
|
|
1102
1257
|
displayName: "Tooltip__StyledColorBlock",
|
|
1103
|
-
componentId: "xwewsa-
|
|
1258
|
+
componentId: "xwewsa-3"
|
|
1104
1259
|
})(["background-color:", ";display:inline-block;margin-right:4px;border-radius:2px;width:6px;height:11px;transform:translateY(1px);"], function (props) {
|
|
1105
1260
|
return props.color;
|
|
1106
1261
|
});
|
|
1262
|
+
|
|
1107
1263
|
var convertDegToDMS = function convertDegToDMS(decimalDegree, type) {
|
|
1108
1264
|
var truncate = function truncate(n) {
|
|
1109
1265
|
return n > 0 ? Math.floor(n) : Math.ceil(n);
|
|
1110
1266
|
};
|
|
1267
|
+
|
|
1111
1268
|
var absoluteDegree = Math.abs(decimalDegree);
|
|
1112
1269
|
var degrees = truncate(absoluteDegree);
|
|
1113
1270
|
var minutes = truncate((absoluteDegree - degrees) * 60);
|
|
1114
1271
|
var seconds = Math.round((absoluteDegree - degrees - minutes / 60) * 3600);
|
|
1272
|
+
|
|
1115
1273
|
if (seconds === 60) {
|
|
1116
1274
|
minutes += 1;
|
|
1117
1275
|
seconds = 0;
|
|
1118
1276
|
}
|
|
1277
|
+
|
|
1119
1278
|
if (minutes === 60) {
|
|
1120
1279
|
degrees += 1;
|
|
1121
1280
|
minutes = 0;
|
|
1122
1281
|
}
|
|
1282
|
+
|
|
1123
1283
|
var direction;
|
|
1284
|
+
|
|
1124
1285
|
if (type === 'longitude') {
|
|
1125
1286
|
direction = decimalDegree < 0 ? 'W' : 'E';
|
|
1126
1287
|
} else if (type === 'latitude') {
|
|
1127
1288
|
direction = decimalDegree < 0 ? 'S' : 'N';
|
|
1128
1289
|
}
|
|
1290
|
+
|
|
1129
1291
|
return "".concat(degrees, "\xB0 ").concat(minutes, "' ").concat(seconds, "\" ").concat(direction);
|
|
1130
1292
|
};
|
|
1131
|
-
|
|
1132
|
-
// only want latitude/longitude for marker and bubble
|
|
1293
|
+
|
|
1294
|
+
exports.convertDegToDMS = convertDegToDMS; // only want latitude/longitude for marker and bubble
|
|
1133
1295
|
// omit for choropleth, and put areaid, areavalue instead
|
|
1296
|
+
|
|
1134
1297
|
var Tooltip = function Tooltip(_ref) {
|
|
1135
1298
|
var open = _ref.open,
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1299
|
+
anchor = _ref.anchor,
|
|
1300
|
+
latitude = _ref.latitude,
|
|
1301
|
+
longitude = _ref.longitude,
|
|
1302
|
+
areaId = _ref.areaId,
|
|
1303
|
+
areaValue = _ref.areaValue,
|
|
1304
|
+
_ref$additionalFields = _ref.additionalFields,
|
|
1305
|
+
additionalFields = _ref$additionalFields === void 0 ? [] : _ref$additionalFields;
|
|
1143
1306
|
return React.createElement(StyledPopover, {
|
|
1144
1307
|
open: open,
|
|
1145
1308
|
animation: false,
|
|
@@ -1150,17 +1313,17 @@ var Tooltip = function Tooltip(_ref) {
|
|
|
1150
1313
|
"data-test": "area-id"
|
|
1151
1314
|
}, areaId), React.createElement(StyledValueColumn, {
|
|
1152
1315
|
"data-test": "area-value"
|
|
1153
|
-
}, areaValue)), latitude && React.createElement("tr", null, React.createElement(StyledTitleColumn, null, i18n_1._('Latitude')), React.createElement(StyledValueColumn, {
|
|
1316
|
+
}, areaValue)), latitude && React.createElement("tr", null, React.createElement(StyledTitleColumn, null, (0, i18n_1._)('Latitude')), React.createElement(StyledValueColumn, {
|
|
1154
1317
|
"data-test": "latitude"
|
|
1155
|
-
}, exports.convertDegToDMS(latitude, 'latitude'))), longitude && React.createElement("tr", null, React.createElement(StyledTitleColumn, null, i18n_1._('Longitude')), React.createElement(StyledValueColumn, {
|
|
1318
|
+
}, (0, exports.convertDegToDMS)(latitude, 'latitude'))), longitude && React.createElement("tr", null, React.createElement(StyledTitleColumn, null, (0, i18n_1._)('Longitude')), React.createElement(StyledValueColumn, {
|
|
1156
1319
|
"data-test": "longitude"
|
|
1157
|
-
}, exports.convertDegToDMS(longitude, 'longitude'))), additionalFields.filter(function (_ref2) {
|
|
1320
|
+
}, (0, exports.convertDegToDMS)(longitude, 'longitude'))), additionalFields.filter(function (_ref2) {
|
|
1158
1321
|
var value = _ref2.value;
|
|
1159
1322
|
return value && String(value) !== '0';
|
|
1160
1323
|
}).map(function (_ref3, index) {
|
|
1161
1324
|
var name = _ref3.name,
|
|
1162
|
-
|
|
1163
|
-
|
|
1325
|
+
value = _ref3.value,
|
|
1326
|
+
color = _ref3.color;
|
|
1164
1327
|
return React.createElement("tr", {
|
|
1165
1328
|
key: String(index)
|
|
1166
1329
|
}, React.createElement(StyledTitleColumn, {
|
|
@@ -1173,16 +1336,17 @@ var Tooltip = function Tooltip(_ref) {
|
|
|
1173
1336
|
}, value));
|
|
1174
1337
|
}))));
|
|
1175
1338
|
};
|
|
1339
|
+
|
|
1176
1340
|
exports.default = Tooltip;
|
|
1177
1341
|
|
|
1178
1342
|
/***/ }),
|
|
1179
|
-
/*
|
|
1343
|
+
/* 31 */
|
|
1180
1344
|
/***/ (function(module, exports) {
|
|
1181
1345
|
|
|
1182
1346
|
module.exports = require("@splunk/react-ui/Popover");
|
|
1183
1347
|
|
|
1184
1348
|
/***/ }),
|
|
1185
|
-
/*
|
|
1349
|
+
/* 32 */
|
|
1186
1350
|
/***/ (function(module, exports) {
|
|
1187
1351
|
|
|
1188
1352
|
module.exports = require("@splunk/ui-utils/i18n");
|