kepler.gl
Version:
kepler.gl is a webgl based application to visualize large scale location data in the browser
112 lines (85 loc) • 12.3 kB
JavaScript
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
var _react = _interopRequireWildcard(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _styledComponents = _interopRequireDefault(require("styled-components"));
var _lodash = _interopRequireDefault(require("lodash.get"));
var _fileUpload = _interopRequireDefault(require("../common/file-uploader/file-upload"));
var _loadStorageMap = _interopRequireDefault(require("./load-storage-map"));
var _modalTabs = _interopRequireDefault(require("./modal-tabs"));
var _loadingDialog = _interopRequireDefault(require("./loading-dialog"));
var _defaultSettings = require("../../constants/default-settings");
function _templateObject() {
var data = (0, _taggedTemplateLiteral2["default"])(["\n padding: ", ";\n min-height: 440px;\n display: flex;\n flex-direction: column;\n"]);
_templateObject = function _templateObject() {
return data;
};
return data;
}
var StyledLoadDataModal = _styledComponents["default"].div.attrs({
className: 'load-data-modal'
})(_templateObject(), function (props) {
return props.theme.modalPadding;
});
var noop = function noop() {};
var getDefaultMethod = function getDefaultMethod(methods) {
return Array.isArray(methods) ? (0, _lodash["default"])(methods, [0]) : null;
};
LoadDataModalFactory.deps = [_modalTabs["default"], _fileUpload["default"], _loadStorageMap["default"]];
function LoadDataModalFactory(ModalTabs, FileUpload, LoadStorageMap) {
var LoadDataModal = function LoadDataModal(props) {
var fileLoading = props.fileLoading,
loadingMethods = props.loadingMethods,
isCloudMapLoading = props.isCloudMapLoading;
var _useState = (0, _react.useState)(getDefaultMethod(loadingMethods)),
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
currentMethod = _useState2[0],
toggleMethod = _useState2[1];
return _react["default"].createElement(StyledLoadDataModal, null, _react["default"].createElement(ModalTabs, {
currentMethod: currentMethod.id,
loadingMethods: loadingMethods,
toggleMethod: toggleMethod
}), fileLoading || isCloudMapLoading ? _react["default"].createElement(_loadingDialog["default"], {
size: 64
}) : currentMethod && _react["default"].createElement(currentMethod.elementType, (0, _extends2["default"])({
key: currentMethod.id
}, props)));
};
LoadDataModal.propTypes = {
// call backs
onFileUpload: _propTypes["default"].func.isRequired,
onLoadCloudMap: _propTypes["default"].func.isRequired,
fileLoading: _propTypes["default"].bool,
loadingMethods: _propTypes["default"].arrayOf(_propTypes["default"].shape({
id: _propTypes["default"].string,
label: _propTypes["default"].string,
elementType: _propTypes["default"].elementType,
tabElementType: _propTypes["default"].elementType
}))
};
LoadDataModal.defaultProps = {
onFileUpload: noop,
fileLoading: false,
loadingMethods: [{
id: _defaultSettings.LOADING_METHODS.upload,
label: 'modal.loadData.upload',
elementType: FileUpload
}, {
id: _defaultSettings.LOADING_METHODS.storage,
label: 'modal.loadData.storage',
elementType: LoadStorageMap
}]
};
return LoadDataModal;
}
var _default = LoadDataModalFactory;
exports["default"] = _default;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vZGFscy9sb2FkLWRhdGEtbW9kYWwuanMiXSwibmFtZXMiOlsiU3R5bGVkTG9hZERhdGFNb2RhbCIsInN0eWxlZCIsImRpdiIsImF0dHJzIiwiY2xhc3NOYW1lIiwicHJvcHMiLCJ0aGVtZSIsIm1vZGFsUGFkZGluZyIsIm5vb3AiLCJnZXREZWZhdWx0TWV0aG9kIiwibWV0aG9kcyIsIkFycmF5IiwiaXNBcnJheSIsIkxvYWREYXRhTW9kYWxGYWN0b3J5IiwiZGVwcyIsIk1vZGFsVGFic0ZhY3RvcnkiLCJGaWxlVXBsb2FkRmFjdG9yeSIsIkxvYWRTdG9yYWdlTWFwRmFjdG9yeSIsIk1vZGFsVGFicyIsIkZpbGVVcGxvYWQiLCJMb2FkU3RvcmFnZU1hcCIsIkxvYWREYXRhTW9kYWwiLCJmaWxlTG9hZGluZyIsImxvYWRpbmdNZXRob2RzIiwiaXNDbG91ZE1hcExvYWRpbmciLCJjdXJyZW50TWV0aG9kIiwidG9nZ2xlTWV0aG9kIiwiaWQiLCJwcm9wVHlwZXMiLCJvbkZpbGVVcGxvYWQiLCJQcm9wVHlwZXMiLCJmdW5jIiwiaXNSZXF1aXJlZCIsIm9uTG9hZENsb3VkTWFwIiwiYm9vbCIsImFycmF5T2YiLCJzaGFwZSIsInN0cmluZyIsImxhYmVsIiwiZWxlbWVudFR5cGUiLCJ0YWJFbGVtZW50VHlwZSIsImRlZmF1bHRQcm9wcyIsIkxPQURJTkdfTUVUSE9EUyIsInVwbG9hZCIsInN0b3JhZ2UiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBb0JBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOzs7Ozs7Ozs7Ozs7QUFFQSxJQUFNQSxtQkFBbUIsR0FBR0MsNkJBQU9DLEdBQVAsQ0FBV0MsS0FBWCxDQUFpQjtBQUMzQ0MsRUFBQUEsU0FBUyxFQUFFO0FBRGdDLENBQWpCLENBQUgsb0JBR1osVUFBQUMsS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0MsS0FBTixDQUFZQyxZQUFoQjtBQUFBLENBSE8sQ0FBekI7O0FBU0EsSUFBTUMsSUFBSSxHQUFHLFNBQVBBLElBQU8sR0FBTSxDQUFFLENBQXJCOztBQUNBLElBQU1DLGdCQUFnQixHQUFHLFNBQW5CQSxnQkFBbUIsQ0FBQUMsT0FBTztBQUFBLFNBQUtDLEtBQUssQ0FBQ0MsT0FBTixDQUFjRixPQUFkLElBQXlCLHdCQUFJQSxPQUFKLEVBQWEsQ0FBQyxDQUFELENBQWIsQ0FBekIsR0FBNkMsSUFBbEQ7QUFBQSxDQUFoQzs7QUFFQUcsb0JBQW9CLENBQUNDLElBQXJCLEdBQTRCLENBQUNDLHFCQUFELEVBQW1CQyxzQkFBbkIsRUFBc0NDLDBCQUF0QyxDQUE1Qjs7QUFFQSxTQUFTSixvQkFBVCxDQUE4QkssU0FBOUIsRUFBeUNDLFVBQXpDLEVBQXFEQyxjQUFyRCxFQUFxRTtBQUNuRSxNQUFNQyxhQUFhLEdBQUcsU0FBaEJBLGFBQWdCLENBQUFoQixLQUFLLEVBQUk7QUFBQSxRQUN0QmlCLFdBRHNCLEdBQzRCakIsS0FENUIsQ0FDdEJpQixXQURzQjtBQUFBLFFBQ1RDLGNBRFMsR0FDNEJsQixLQUQ1QixDQUNUa0IsY0FEUztBQUFBLFFBQ09DLGlCQURQLEdBQzRCbkIsS0FENUIsQ0FDT21CLGlCQURQOztBQUFBLG9CQUVTLHFCQUFTZixnQkFBZ0IsQ0FBQ2MsY0FBRCxDQUF6QixDQUZUO0FBQUE7QUFBQSxRQUV0QkUsYUFGc0I7QUFBQSxRQUVQQyxZQUZPOztBQUk3QixXQUNFLGdDQUFDLG1CQUFELFFBQ0UsZ0NBQUMsU0FBRDtBQUNFLE1BQUEsYUFBYSxFQUFFRCxhQUFhLENBQUNFLEVBRC9CO0FBRUUsTUFBQSxjQUFjLEVBQUVKLGNBRmxCO0FBR0UsTUFBQSxZQUFZLEVBQUVHO0FBSGhCLE1BREYsRUFNR0osV0FBVyxJQUFJRSxpQkFBZixHQUNDLGdDQUFDLHlCQUFEO0FBQWUsTUFBQSxJQUFJLEVBQUU7QUFBckIsTUFERCxHQUdDQyxhQUFhLElBQUksZ0NBQUMsYUFBRCxDQUFlLFdBQWY7QUFBMkIsTUFBQSxHQUFHLEVBQUVBLGFBQWEsQ0FBQ0U7QUFBOUMsT0FBc0R0QixLQUF0RCxFQVRyQixDQURGO0FBY0QsR0FsQkQ7O0FBb0JBZ0IsRUFBQUEsYUFBYSxDQUFDTyxTQUFkLEdBQTBCO0FBQ3hCO0FBQ0FDLElBQUFBLFlBQVksRUFBRUMsc0JBQVVDLElBQVYsQ0FBZUMsVUFGTDtBQUd4QkMsSUFBQUEsY0FBYyxFQUFFSCxzQkFBVUMsSUFBVixDQUFlQyxVQUhQO0FBSXhCVixJQUFBQSxXQUFXLEVBQUVRLHNCQUFVSSxJQUpDO0FBS3hCWCxJQUFBQSxjQUFjLEVBQUVPLHNCQUFVSyxPQUFWLENBQ2RMLHNCQUFVTSxLQUFWLENBQWdCO0FBQ2RULE1BQUFBLEVBQUUsRUFBRUcsc0JBQVVPLE1BREE7QUFFZEMsTUFBQUEsS0FBSyxFQUFFUixzQkFBVU8sTUFGSDtBQUdkRSxNQUFBQSxXQUFXLEVBQUVULHNCQUFVUyxXQUhUO0FBSWRDLE1BQUFBLGNBQWMsRUFBRVYsc0JBQVVTO0FBSlosS0FBaEIsQ0FEYztBQUxRLEdBQTFCO0FBZUFsQixFQUFBQSxhQUFhLENBQUNvQixZQUFkLEdBQTZCO0FBQzNCWixJQUFBQSxZQUFZLEVBQUVyQixJQURhO0FBRTNCYyxJQUFBQSxXQUFXLEVBQUUsS0FGYztBQUczQkMsSUFBQUEsY0FBYyxFQUFFLENBQ2Q7QUFDRUksTUFBQUEsRUFBRSxFQUFFZSxpQ0FBZ0JDLE1BRHRCO0FBRUVMLE1BQUFBLEtBQUssRUFBRSx1QkFGVDtBQUdFQyxNQUFBQSxXQUFXLEVBQUVwQjtBQUhmLEtBRGMsRUFNZDtBQUNFUSxNQUFBQSxFQUFFLEVBQUVlLGlDQUFnQkUsT0FEdEI7QUFFRU4sTUFBQUEsS0FBSyxFQUFFLHdCQUZUO0FBR0VDLE1BQUFBLFdBQVcsRUFBRW5CO0FBSGYsS0FOYztBQUhXLEdBQTdCO0FBZ0JBLFNBQU9DLGFBQVA7QUFDRDs7ZUFFY1Isb0IiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjAgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgUmVhY3QsIHt1c2VTdGF0ZX0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IGdldCBmcm9tICdsb2Rhc2guZ2V0JztcblxuaW1wb3J0IEZpbGVVcGxvYWRGYWN0b3J5IGZyb20gJ2NvbXBvbmVudHMvY29tbW9uL2ZpbGUtdXBsb2FkZXIvZmlsZS11cGxvYWQnO1xuaW1wb3J0IExvYWRTdG9yYWdlTWFwRmFjdG9yeSBmcm9tICcuL2xvYWQtc3RvcmFnZS1tYXAnO1xuaW1wb3J0IE1vZGFsVGFic0ZhY3RvcnkgZnJvbSAnLi9tb2RhbC10YWJzJztcblxuaW1wb3J0IExvYWRpbmdEaWFsb2cgZnJvbSAnLi9sb2FkaW5nLWRpYWxvZyc7XG5pbXBvcnQge0xPQURJTkdfTUVUSE9EU30gZnJvbSAnY29uc3RhbnRzL2RlZmF1bHQtc2V0dGluZ3MnO1xuXG5jb25zdCBTdHlsZWRMb2FkRGF0YU1vZGFsID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ2xvYWQtZGF0YS1tb2RhbCdcbn0pYFxuICBwYWRkaW5nOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLm1vZGFsUGFkZGluZ307XG4gIG1pbi1oZWlnaHQ6IDQ0MHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuYDtcblxuY29uc3Qgbm9vcCA9ICgpID0+IHt9O1xuY29uc3QgZ2V0RGVmYXVsdE1ldGhvZCA9IG1ldGhvZHMgPT4gKEFycmF5LmlzQXJyYXkobWV0aG9kcykgPyBnZXQobWV0aG9kcywgWzBdKSA6IG51bGwpO1xuXG5Mb2FkRGF0YU1vZGFsRmFjdG9yeS5kZXBzID0gW01vZGFsVGFic0ZhY3RvcnksIEZpbGVVcGxvYWRGYWN0b3J5LCBMb2FkU3RvcmFnZU1hcEZhY3RvcnldO1xuXG5mdW5jdGlvbiBMb2FkRGF0YU1vZGFsRmFjdG9yeShNb2RhbFRhYnMsIEZpbGVVcGxvYWQsIExvYWRTdG9yYWdlTWFwKSB7XG4gIGNvbnN0IExvYWREYXRhTW9kYWwgPSBwcm9wcyA9PiB7XG4gICAgY29uc3Qge2ZpbGVMb2FkaW5nLCBsb2FkaW5nTWV0aG9kcywgaXNDbG91ZE1hcExvYWRpbmd9ID0gcHJvcHM7XG4gICAgY29uc3QgW2N1cnJlbnRNZXRob2QsIHRvZ2dsZU1ldGhvZF0gPSB1c2VTdGF0ZShnZXREZWZhdWx0TWV0aG9kKGxvYWRpbmdNZXRob2RzKSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZExvYWREYXRhTW9kYWw+XG4gICAgICAgIDxNb2RhbFRhYnNcbiAgICAgICAgICBjdXJyZW50TWV0aG9kPXtjdXJyZW50TWV0aG9kLmlkfVxuICAgICAgICAgIGxvYWRpbmdNZXRob2RzPXtsb2FkaW5nTWV0aG9kc31cbiAgICAgICAgICB0b2dnbGVNZXRob2Q9e3RvZ2dsZU1ldGhvZH1cbiAgICAgICAgLz5cbiAgICAgICAge2ZpbGVMb2FkaW5nIHx8IGlzQ2xvdWRNYXBMb2FkaW5nID8gKFxuICAgICAgICAgIDxMb2FkaW5nRGlhbG9nIHNpemU9ezY0fSAvPlxuICAgICAgICApIDogKFxuICAgICAgICAgIGN1cnJlbnRNZXRob2QgJiYgPGN1cnJlbnRNZXRob2QuZWxlbWVudFR5cGUga2V5PXtjdXJyZW50TWV0aG9kLmlkfSB7Li4ucHJvcHN9IC8+XG4gICAgICAgICl9XG4gICAgICA8L1N0eWxlZExvYWREYXRhTW9kYWw+XG4gICAgKTtcbiAgfTtcblxuICBMb2FkRGF0YU1vZGFsLnByb3BUeXBlcyA9IHtcbiAgICAvLyBjYWxsIGJhY2tzXG4gICAgb25GaWxlVXBsb2FkOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uTG9hZENsb3VkTWFwOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGZpbGVMb2FkaW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBsb2FkaW5nTWV0aG9kczogUHJvcFR5cGVzLmFycmF5T2YoXG4gICAgICBQcm9wVHlwZXMuc2hhcGUoe1xuICAgICAgICBpZDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgbGFiZWw6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgIGVsZW1lbnRUeXBlOiBQcm9wVHlwZXMuZWxlbWVudFR5cGUsXG4gICAgICAgIHRhYkVsZW1lbnRUeXBlOiBQcm9wVHlwZXMuZWxlbWVudFR5cGVcbiAgICAgIH0pXG4gICAgKVxuICB9O1xuXG4gIExvYWREYXRhTW9kYWwuZGVmYXVsdFByb3BzID0ge1xuICAgIG9uRmlsZVVwbG9hZDogbm9vcCxcbiAgICBmaWxlTG9hZGluZzogZmFsc2UsXG4gICAgbG9hZGluZ01ldGhvZHM6IFtcbiAgICAgIHtcbiAgICAgICAgaWQ6IExPQURJTkdfTUVUSE9EUy51cGxvYWQsXG4gICAgICAgIGxhYmVsOiAnbW9kYWwubG9hZERhdGEudXBsb2FkJyxcbiAgICAgICAgZWxlbWVudFR5cGU6IEZpbGVVcGxvYWRcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGlkOiBMT0FESU5HX01FVEhPRFMuc3RvcmFnZSxcbiAgICAgICAgbGFiZWw6ICdtb2RhbC5sb2FkRGF0YS5zdG9yYWdlJyxcbiAgICAgICAgZWxlbWVudFR5cGU6IExvYWRTdG9yYWdlTWFwXG4gICAgICB9XG4gICAgXVxuICB9O1xuICByZXR1cm4gTG9hZERhdGFNb2RhbDtcbn1cblxuZXhwb3J0IGRlZmF1bHQgTG9hZERhdGFNb2RhbEZhY3Rvcnk7XG4iXX0=
;