kepler.gl
Version:
kepler.gl is a webgl based application to visualize large scale location data in the browser
91 lines (88 loc) • 13 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getEchartsTools = getEchartsTools;
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
var _plots = require("@openassistant/plots");
var _echarts = require("@openassistant/echarts");
var _actions = require("@kepler.gl/actions");
var _utils = require("./utils");
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } // SPDX-License-Identifier: MIT
// Copyright contributors to the kepler.gl project
function getEchartsTools(datasets, layers, dispatch) {
// context for tools
var getValues = /*#__PURE__*/function () {
var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(datasetName, variableName) {
var values;
return _regenerator["default"].wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
values = (0, _utils.getValuesFromDataset)(datasets, layers, datasetName, variableName);
return _context.abrupt("return", values);
case 2:
case "end":
return _context.stop();
}
}, _callee);
}));
return function getValues(_x, _x2) {
return _ref.apply(this, arguments);
};
}();
var onSelected = function onSelected(datasetName, selectedIndices) {
var triggerLayerReRender = function triggerLayerReRender(layer, isValid) {
dispatch((0, _actions.layerSetIsValid)(layer, isValid));
};
(0, _utils.highlightRows)(datasets, layers, datasetName, selectedIndices, triggerLayerReRender);
};
// Create the boxplot tool with the getValues implementation
var boxplotTool = _objectSpread(_objectSpread({}, _plots.boxplot), {}, {
context: _objectSpread(_objectSpread({}, _plots.boxplot.context), {}, {
getValues: getValues,
onSelected: onSelected
}),
component: _echarts.BoxplotComponent
});
// Create the bubble chart tool with the getValues implementation
var bubbleChartTool = _objectSpread(_objectSpread({}, _plots.bubbleChart), {}, {
context: _objectSpread(_objectSpread({}, _plots.bubbleChart.context), {}, {
getValues: getValues,
onSelected: onSelected
}),
component: _echarts.BubbleChartComponent
});
var histogramTool = _objectSpread(_objectSpread({}, _plots.histogram), {}, {
context: _objectSpread(_objectSpread({}, _plots.histogram.context), {}, {
getValues: getValues,
onSelected: onSelected
}),
component: _echarts.HistogramPlotComponent
});
var pcpTool = _objectSpread(_objectSpread({}, _plots.pcp), {}, {
context: _objectSpread(_objectSpread({}, _plots.pcp.context), {}, {
getValues: getValues,
onSelected: onSelected
}),
component: _echarts.ParallelCoordinateComponent
});
var scatterplotTool = _objectSpread(_objectSpread({}, _plots.scatterplot), {}, {
context: _objectSpread(_objectSpread({}, _plots.scatterplot.context), {}, {
getValues: getValues,
onSelected: onSelected
}),
component: _echarts.ScatterplotComponent
});
return {
boxplotTool: boxplotTool,
bubbleChartTool: bubbleChartTool,
histogramTool: histogramTool,
pcpTool: pcpTool,
scatterplotTool: scatterplotTool
};
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcGxvdHMiLCJyZXF1aXJlIiwiX2VjaGFydHMiLCJfYWN0aW9ucyIsIl91dGlscyIsIm93bktleXMiLCJlIiwiciIsInQiLCJPYmplY3QiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImRlZmluZVByb3BlcnR5IiwiZ2V0RWNoYXJ0c1Rvb2xzIiwiZGF0YXNldHMiLCJsYXllcnMiLCJkaXNwYXRjaCIsImdldFZhbHVlcyIsIl9yZWYiLCJfYXN5bmNUb0dlbmVyYXRvcjIiLCJfcmVnZW5lcmF0b3IiLCJtYXJrIiwiX2NhbGxlZSIsImRhdGFzZXROYW1lIiwidmFyaWFibGVOYW1lIiwidmFsdWVzIiwid3JhcCIsIl9jYWxsZWUkIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsImdldFZhbHVlc0Zyb21EYXRhc2V0IiwiYWJydXB0Iiwic3RvcCIsIl94IiwiX3gyIiwib25TZWxlY3RlZCIsInNlbGVjdGVkSW5kaWNlcyIsInRyaWdnZXJMYXllclJlUmVuZGVyIiwibGF5ZXIiLCJpc1ZhbGlkIiwibGF5ZXJTZXRJc1ZhbGlkIiwiaGlnaGxpZ2h0Um93cyIsImJveHBsb3RUb29sIiwiYm94cGxvdCIsImNvbnRleHQiLCJjb21wb25lbnQiLCJCb3hwbG90Q29tcG9uZW50IiwiYnViYmxlQ2hhcnRUb29sIiwiYnViYmxlQ2hhcnQiLCJCdWJibGVDaGFydENvbXBvbmVudCIsImhpc3RvZ3JhbVRvb2wiLCJoaXN0b2dyYW0iLCJIaXN0b2dyYW1QbG90Q29tcG9uZW50IiwicGNwVG9vbCIsInBjcCIsIlBhcmFsbGVsQ29vcmRpbmF0ZUNvbXBvbmVudCIsInNjYXR0ZXJwbG90VG9vbCIsInNjYXR0ZXJwbG90IiwiU2NhdHRlcnBsb3RDb21wb25lbnQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdG9vbHMvZWNoYXJ0cy10b29scy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IHtcbiAgYm94cGxvdCxcbiAgQm94cGxvdFRvb2wsXG4gIGJ1YmJsZUNoYXJ0LFxuICBCdWJibGVDaGFydFRvb2wsXG4gIGhpc3RvZ3JhbSxcbiAgSGlzdG9ncmFtVG9vbCxcbiAgcGNwLFxuICBQQ1BUb29sLFxuICBzY2F0dGVycGxvdCxcbiAgU2NhdHRlcnBsb3RUb29sXG59IGZyb20gJ0BvcGVuYXNzaXN0YW50L3Bsb3RzJztcbmltcG9ydCB7XG4gIEJveHBsb3RDb21wb25lbnQsXG4gIEJ1YmJsZUNoYXJ0Q29tcG9uZW50LFxuICBIaXN0b2dyYW1QbG90Q29tcG9uZW50LFxuICBQYXJhbGxlbENvb3JkaW5hdGVDb21wb25lbnQsXG4gIFNjYXR0ZXJwbG90Q29tcG9uZW50XG59IGZyb20gJ0BvcGVuYXNzaXN0YW50L2VjaGFydHMnO1xuXG5pbXBvcnQge2xheWVyU2V0SXNWYWxpZH0gZnJvbSAnQGtlcGxlci5nbC9hY3Rpb25zJztcbmltcG9ydCB7RGF0YXNldHN9IGZyb20gJ0BrZXBsZXIuZ2wvdGFibGUnO1xuaW1wb3J0IHtMYXllcn0gZnJvbSAnQGtlcGxlci5nbC9sYXllcnMnO1xuaW1wb3J0IHtEaXNwYXRjaH0gZnJvbSAncmVkdXgnO1xuXG5pbXBvcnQge2dldFZhbHVlc0Zyb21EYXRhc2V0LCBoaWdobGlnaHRSb3dzfSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEVjaGFydHNUb29scyhkYXRhc2V0czogRGF0YXNldHMsIGxheWVyczogTGF5ZXJbXSwgZGlzcGF0Y2g6IERpc3BhdGNoKSB7XG4gIC8vIGNvbnRleHQgZm9yIHRvb2xzXG4gIGNvbnN0IGdldFZhbHVlcyA9IGFzeW5jIChkYXRhc2V0TmFtZTogc3RyaW5nLCB2YXJpYWJsZU5hbWU6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IHZhbHVlcyA9IGdldFZhbHVlc0Zyb21EYXRhc2V0KGRhdGFzZXRzLCBsYXllcnMsIGRhdGFzZXROYW1lLCB2YXJpYWJsZU5hbWUpO1xuICAgIHJldHVybiB2YWx1ZXMgYXMgbnVtYmVyW107XG4gIH07XG5cbiAgY29uc3Qgb25TZWxlY3RlZCA9IChkYXRhc2V0TmFtZTogc3RyaW5nLCBzZWxlY3RlZEluZGljZXM6IG51bWJlcltdKSA9PiB7XG4gICAgY29uc3QgdHJpZ2dlckxheWVyUmVSZW5kZXIgPSAobGF5ZXI6IExheWVyLCBpc1ZhbGlkOiBib29sZWFuKSA9PiB7XG4gICAgICBkaXNwYXRjaChsYXllclNldElzVmFsaWQobGF5ZXIsIGlzVmFsaWQpKTtcbiAgICB9O1xuICAgIGhpZ2hsaWdodFJvd3MoZGF0YXNldHMsIGxheWVycywgZGF0YXNldE5hbWUsIHNlbGVjdGVkSW5kaWNlcywgdHJpZ2dlckxheWVyUmVSZW5kZXIpO1xuICB9O1xuXG4gIC8vIENyZWF0ZSB0aGUgYm94cGxvdCB0b29sIHdpdGggdGhlIGdldFZhbHVlcyBpbXBsZW1lbnRhdGlvblxuICBjb25zdCBib3hwbG90VG9vbDogQm94cGxvdFRvb2wgPSB7XG4gICAgLi4uYm94cGxvdCxcbiAgICBjb250ZXh0OiB7XG4gICAgICAuLi5ib3hwbG90LmNvbnRleHQsXG4gICAgICBnZXRWYWx1ZXMsXG4gICAgICBvblNlbGVjdGVkXG4gICAgfSxcbiAgICBjb21wb25lbnQ6IEJveHBsb3RDb21wb25lbnRcbiAgfTtcblxuICAvLyBDcmVhdGUgdGhlIGJ1YmJsZSBjaGFydCB0b29sIHdpdGggdGhlIGdldFZhbHVlcyBpbXBsZW1lbnRhdGlvblxuICBjb25zdCBidWJibGVDaGFydFRvb2w6IEJ1YmJsZUNoYXJ0VG9vbCA9IHtcbiAgICAuLi5idWJibGVDaGFydCxcbiAgICBjb250ZXh0OiB7XG4gICAgICAuLi5idWJibGVDaGFydC5jb250ZXh0LFxuICAgICAgZ2V0VmFsdWVzLFxuICAgICAgb25TZWxlY3RlZFxuICAgIH0sXG4gICAgY29tcG9uZW50OiBCdWJibGVDaGFydENvbXBvbmVudFxuICB9O1xuXG4gIGNvbnN0IGhpc3RvZ3JhbVRvb2w6IEhpc3RvZ3JhbVRvb2wgPSB7XG4gICAgLi4uaGlzdG9ncmFtLFxuICAgIGNvbnRleHQ6IHtcbiAgICAgIC4uLmhpc3RvZ3JhbS5jb250ZXh0LFxuICAgICAgZ2V0VmFsdWVzLFxuICAgICAgb25TZWxlY3RlZFxuICAgIH0sXG4gICAgY29tcG9uZW50OiBIaXN0b2dyYW1QbG90Q29tcG9uZW50XG4gIH07XG5cbiAgY29uc3QgcGNwVG9vbDogUENQVG9vbCA9IHtcbiAgICAuLi5wY3AsXG4gICAgY29udGV4dDoge1xuICAgICAgLi4ucGNwLmNvbnRleHQsXG4gICAgICBnZXRWYWx1ZXMsXG4gICAgICBvblNlbGVjdGVkXG4gICAgfSxcbiAgICBjb21wb25lbnQ6IFBhcmFsbGVsQ29vcmRpbmF0ZUNvbXBvbmVudFxuICB9O1xuXG4gIGNvbnN0IHNjYXR0ZXJwbG90VG9vbDogU2NhdHRlcnBsb3RUb29sID0ge1xuICAgIC4uLnNjYXR0ZXJwbG90LFxuICAgIGNvbnRleHQ6IHtcbiAgICAgIC4uLnNjYXR0ZXJwbG90LmNvbnRleHQsXG4gICAgICBnZXRWYWx1ZXMsXG4gICAgICBvblNlbGVjdGVkXG4gICAgfSxcbiAgICBjb21wb25lbnQ6IFNjYXR0ZXJwbG90Q29tcG9uZW50XG4gIH07XG5cbiAgcmV0dXJuIHtcbiAgICBib3hwbG90VG9vbCxcbiAgICBidWJibGVDaGFydFRvb2wsXG4gICAgaGlzdG9ncmFtVG9vbCxcbiAgICBwY3BUb29sLFxuICAgIHNjYXR0ZXJwbG90VG9vbFxuICB9O1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBR0EsSUFBQUEsTUFB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QUNBLElBQU1LLFdBQXdCLEdBQUF0QyxhQUFBLENBQUFBLGFBQUEsS0FDekJ1QyxjQUFPO0lBQ1ZDLE9BQU8sRUFBQXhDLGFBQUEsQ0FBQUEsYUFBQSxLQUNGdUMsY0FBTyxDQUFDQyxPQUFPO01BQ2xCNUIsU0FBUyxFQUFUQSxTQUFTO01BQ1RtQixVQUFVLEVBQVZBO0lBQVUsRUFDWDtJQUNEVSxTQUFTLEVBQUVDO0VBQWdCLEVBQzVCOztFQUVEO0VBQ0EsSUFBTUMsZUFBZ0MsR0FBQTNDLGFBQUEsQ0FBQUEsYUFBQSxLQUNqQzRDLGtCQUFXO0lBQ2RKLE9BQU8sRUFBQXhDLGFBQUEsQ0FBQUEsYUFBQSxLQUNGNEMsa0JBQVcsQ0FBQ0osT0FBTztNQUN0QjVCLFNBQVMsRUFBVEEsU0FBUztNQUNUbUIsVUFBVSxFQUFWQTtJQUFVLEVBQ1g7SUFDRFUsU0FBUyxFQUFFSTtFQUFvQixFQUNoQztFQUVELElBQU1DLGFBQTRCLEdBQUE5QyxhQUFBLENBQUFBLGFBQUEsS0FDN0IrQyxnQkFBUztJQUNaUCxPQUFPLEVBQUF4QyxhQUFBLENBQUFBLGFBQUEsS0FDRitDLGdCQUFTLENBQUNQLE9BQU87TUFDcEI1QixTQUFTLEVBQVRBLFNBQVM7TUFDVG1CLFVBQVUsRUFBVkE7SUFBVSxFQUNYO0lBQ0RVLFNBQVMsRUFBRU87RUFBc0IsRUFDbEM7RUFFRCxJQUFNQyxPQUFnQixHQUFBakQsYUFBQSxDQUFBQSxhQUFBLEtBQ2pCa0QsVUFBRztJQUNOVixPQUFPLEVBQUF4QyxhQUFBLENBQUFBLGFBQUEsS0FDRmtELFVBQUcsQ0FBQ1YsT0FBTztNQUNkNUIsU0FBUyxFQUFUQSxTQUFTO01BQ1RtQixVQUFVLEVBQVZBO0lBQVUsRUFDWDtJQUNEVSxTQUFTLEVBQUVVO0VBQTJCLEVBQ3ZDO0VBRUQsSUFBTUMsZUFBZ0MsR0FBQXBELGFBQUEsQ0FBQUEsYUFBQSxLQUNqQ3FELGtCQUFXO0lBQ2RiLE9BQU8sRUFBQXhDLGFBQUEsQ0FBQUEsYUFBQSxLQUNGcUQsa0JBQVcsQ0FBQ2IsT0FBTztNQUN0QjVCLFNBQVMsRUFBVEEsU0FBUztNQUNUbUIsVUFBVSxFQUFWQTtJQUFVLEVBQ1g7SUFDRFUsU0FBUyxFQUFFYTtFQUFvQixFQUNoQztFQUVELE9BQU87SUFDTGhCLFdBQVcsRUFBWEEsV0FBVztJQUNYSyxlQUFlLEVBQWZBLGVBQWU7SUFDZkcsYUFBYSxFQUFiQSxhQUFhO0lBQ2JHLE9BQU8sRUFBUEEsT0FBTztJQUNQRyxlQUFlLEVBQWZBO0VBQ0YsQ0FBQztBQUNIIiwiaWdub3JlTGlzdCI6W119