kepler.gl.geoiq
Version:
kepler.gl is a webgl based application to visualize large scale location data in the browser
86 lines (78 loc) • 8.89 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.LOAD_MAP_STYLE_TASK = exports.LOAD_FILE_TASK = void 0;
var _tasks = require("react-palm/tasks");
var _d3Request = require("d3-request");
var _console = _interopRequireDefault(require("global/console"));
// Copyright (c) 2023 Uber Technologies, Inc.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
var LOAD_FILE_TASK = exports.LOAD_FILE_TASK = (0, _tasks.taskCreator)(function (_ref, success, error) {
var fileBlob = _ref.fileBlob,
info = _ref.info,
handler = _ref.handler,
processor = _ref.processor;
delete fileBlob.indexName;
return handler(fileBlob, processor).then(function (result) {
if (!result) {
// TODO: capture in the UI and show message
error(new Error('File to load data, result is empty'));
} else {
// we are trying to standardize the shape of our return
// since we start using the kepler.json format
// result has both datasets and info
// TODO: I think we should pass info to the handler and return
// the same format back from the file handler
// console.timeEnd('loadFileTask');
if (result.datasets) {
// this is coming from parsing keplergl.json file
success(result); // info is already part of datasets
}
success({
datasets: {
data: result,
info: info
}
});
}
})["catch"](function (err) {
error(err);
});
}, 'LOAD_FILE_TASK');
var LOAD_MAP_STYLE_TASK = exports.LOAD_MAP_STYLE_TASK = (0, _tasks.taskCreator)(function (_ref2, success, error) {
var url = _ref2.url,
id = _ref2.id;
return (0, _d3Request.json)(url, function (err, result) {
if (err) {
error(err);
} else {
if (!result) {
error(new Error('Map style response is empty'));
}
success({
id: id,
style: result
});
}
});
}, 'LOAD_MAP_STYLE_TASK');
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90YXNrcy90YXNrcy5qcyJdLCJuYW1lcyI6WyJMT0FEX0ZJTEVfVEFTSyIsInN1Y2Nlc3MiLCJlcnJvciIsImZpbGVCbG9iIiwiaW5mbyIsImhhbmRsZXIiLCJwcm9jZXNzb3IiLCJpbmRleE5hbWUiLCJ0aGVuIiwicmVzdWx0IiwiRXJyb3IiLCJkYXRhc2V0cyIsImRhdGEiLCJlcnIiLCJMT0FEX01BUF9TVFlMRV9UQVNLIiwidXJsIiwiaWQiLCJzdHlsZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBb0JBOztBQUNBOztBQUNBOztBQXRCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU1PLElBQU1BLGNBQWMsNEJBQUcsd0JBQzVCLGdCQUF1Q0MsT0FBdkMsRUFBZ0RDLEtBQWhELEVBQTBEO0FBQUEsTUFBeERDLFFBQXdELFFBQXhEQSxRQUF3RDtBQUFBLE1BQTlDQyxJQUE4QyxRQUE5Q0EsSUFBOEM7QUFBQSxNQUF4Q0MsT0FBd0MsUUFBeENBLE9BQXdDO0FBQUEsTUFBL0JDLFNBQStCLFFBQS9CQSxTQUErQjtBQUN4RCxTQUFPSCxRQUFRLENBQUNJLFNBQWhCO0FBQ0EsU0FBT0YsT0FBTyxDQUFDRixRQUFELEVBQVdHLFNBQVgsQ0FBUCxDQUNKRSxJQURJLENBQ0MsVUFBQUMsTUFBTSxFQUFJO0FBQ2QsUUFBSSxDQUFDQSxNQUFMLEVBQWE7QUFDWDtBQUNBUCxNQUFBQSxLQUFLLENBQUMsSUFBSVEsS0FBSixDQUFVLG9DQUFWLENBQUQsQ0FBTDtBQUNELEtBSEQsTUFHTztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBLFVBQUlELE1BQU0sQ0FBQ0UsUUFBWCxFQUFxQjtBQUNuQjtBQUNBVixRQUFBQSxPQUFPLENBQUNRLE1BQUQsQ0FBUCxDQUZtQixDQUVGO0FBQ2xCOztBQUNEUixNQUFBQSxPQUFPLENBQUM7QUFBQ1UsUUFBQUEsUUFBUSxFQUFFO0FBQUNDLFVBQUFBLElBQUksRUFBRUgsTUFBUDtBQUFlTCxVQUFBQSxJQUFJLEVBQUpBO0FBQWY7QUFBWCxPQUFELENBQVA7QUFDRDtBQUNGLEdBbkJJLFdBb0JFLFVBQUFTLEdBQUcsRUFBSTtBQUNaWCxJQUFBQSxLQUFLLENBQUNXLEdBQUQsQ0FBTDtBQUNELEdBdEJJLENBQVA7QUF1QkQsQ0ExQjJCLEVBNEI1QixnQkE1QjRCLENBQXZCO0FBK0JBLElBQU1DLG1CQUFtQixpQ0FBRyx3QkFDakMsaUJBQVliLE9BQVosRUFBcUJDLEtBQXJCO0FBQUEsTUFBRWEsR0FBRixTQUFFQSxHQUFGO0FBQUEsTUFBT0MsRUFBUCxTQUFPQSxFQUFQO0FBQUEsU0FDRSxxQkFBWUQsR0FBWixFQUFpQixVQUFDRixHQUFELEVBQU1KLE1BQU4sRUFBaUI7QUFDaEMsUUFBSUksR0FBSixFQUFTO0FBQ1BYLE1BQUFBLEtBQUssQ0FBQ1csR0FBRCxDQUFMO0FBQ0QsS0FGRCxNQUVPO0FBQ0wsVUFBSSxDQUFDSixNQUFMLEVBQWE7QUFDWFAsUUFBQUEsS0FBSyxDQUFDLElBQUlRLEtBQUosQ0FBVSw2QkFBVixDQUFELENBQUw7QUFDRDs7QUFDRFQsTUFBQUEsT0FBTyxDQUFDO0FBQUNlLFFBQUFBLEVBQUUsRUFBRkEsRUFBRDtBQUFLQyxRQUFBQSxLQUFLLEVBQUVSO0FBQVosT0FBRCxDQUFQO0FBQ0Q7QUFDRixHQVRELENBREY7QUFBQSxDQURpQyxFQWFqQyxxQkFiaUMsQ0FBNUIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjMgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQge3Rhc2tDcmVhdG9yfSBmcm9tICdyZWFjdC1wYWxtL3Rhc2tzJztcbmltcG9ydCB7anNvbiBhcyByZXF1ZXN0SnNvbn0gZnJvbSAnZDMtcmVxdWVzdCc7XG5pbXBvcnQgY29uc29sZSBmcm9tICdnbG9iYWwvY29uc29sZSc7XG5cbmV4cG9ydCBjb25zdCBMT0FEX0ZJTEVfVEFTSyA9IHRhc2tDcmVhdG9yKFxuICAoe2ZpbGVCbG9iLCBpbmZvLCBoYW5kbGVyLCBwcm9jZXNzb3J9LCBzdWNjZXNzLCBlcnJvcikgPT4ge1xuICAgIGRlbGV0ZSBmaWxlQmxvYi5pbmRleE5hbWU7XG4gICAgcmV0dXJuIGhhbmRsZXIoZmlsZUJsb2IsIHByb2Nlc3NvcilcbiAgICAgIC50aGVuKHJlc3VsdCA9PiB7XG4gICAgICAgIGlmICghcmVzdWx0KSB7XG4gICAgICAgICAgLy8gVE9ETzogY2FwdHVyZSBpbiB0aGUgVUkgYW5kIHNob3cgbWVzc2FnZVxuICAgICAgICAgIGVycm9yKG5ldyBFcnJvcignRmlsZSB0byBsb2FkIGRhdGEsIHJlc3VsdCBpcyBlbXB0eScpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyB3ZSBhcmUgdHJ5aW5nIHRvIHN0YW5kYXJkaXplIHRoZSBzaGFwZSBvZiBvdXIgcmV0dXJuXG4gICAgICAgICAgLy8gc2luY2Ugd2Ugc3RhcnQgdXNpbmcgdGhlIGtlcGxlci5qc29uIGZvcm1hdFxuICAgICAgICAgIC8vIHJlc3VsdCBoYXMgYm90aCBkYXRhc2V0cyBhbmQgaW5mb1xuICAgICAgICAgIC8vIFRPRE86IEkgdGhpbmsgd2Ugc2hvdWxkIHBhc3MgaW5mbyB0byB0aGUgaGFuZGxlciBhbmQgcmV0dXJuXG4gICAgICAgICAgLy8gdGhlIHNhbWUgZm9ybWF0IGJhY2sgZnJvbSB0aGUgZmlsZSBoYW5kbGVyXG4gICAgICAgICAgLy8gY29uc29sZS50aW1lRW5kKCdsb2FkRmlsZVRhc2snKTtcblxuICAgICAgICAgIGlmIChyZXN1bHQuZGF0YXNldHMpIHtcbiAgICAgICAgICAgIC8vIHRoaXMgaXMgY29taW5nIGZyb20gcGFyc2luZyBrZXBsZXJnbC5qc29uIGZpbGVcbiAgICAgICAgICAgIHN1Y2Nlc3MocmVzdWx0KTsgLy8gaW5mbyBpcyBhbHJlYWR5IHBhcnQgb2YgZGF0YXNldHNcbiAgICAgICAgICB9XG4gICAgICAgICAgc3VjY2Vzcyh7ZGF0YXNldHM6IHtkYXRhOiByZXN1bHQsIGluZm99fSk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgICAuY2F0Y2goZXJyID0+IHtcbiAgICAgICAgZXJyb3IoZXJyKTtcbiAgICAgIH0pO1xuICB9LFxuXG4gICdMT0FEX0ZJTEVfVEFTSydcbik7XG5cbmV4cG9ydCBjb25zdCBMT0FEX01BUF9TVFlMRV9UQVNLID0gdGFza0NyZWF0b3IoXG4gICh7dXJsLCBpZH0sIHN1Y2Nlc3MsIGVycm9yKSA9PlxuICAgIHJlcXVlc3RKc29uKHVybCwgKGVyciwgcmVzdWx0KSA9PiB7XG4gICAgICBpZiAoZXJyKSB7XG4gICAgICAgIGVycm9yKGVycik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoIXJlc3VsdCkge1xuICAgICAgICAgIGVycm9yKG5ldyBFcnJvcignTWFwIHN0eWxlIHJlc3BvbnNlIGlzIGVtcHR5JykpO1xuICAgICAgICB9XG4gICAgICAgIHN1Y2Nlc3Moe2lkLCBzdHlsZTogcmVzdWx0fSk7XG4gICAgICB9XG4gICAgfSksXG5cbiAgJ0xPQURfTUFQX1NUWUxFX1RBU0snXG4pO1xuIl19