kepler.gl
Version:
kepler.gl is a webgl based application to visualize large scale location data in the browser
93 lines (77 loc) • 13 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
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 _localization = require("../../../localization");
var _styledComponents2 = require("../../common/styled-components");
var _columnSelector = _interopRequireDefault(require("./column-selector"));
var _templateObject;
var TopRow = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n"])));
LayerColumnConfigFactory.deps = [_columnSelector["default"]];
function LayerColumnConfigFactory(ColumnSelector) {
var LayerColumnConfig = function LayerColumnConfig(_ref) {
var columnPairs = _ref.columnPairs,
fieldPairs = _ref.fieldPairs,
columns = _ref.columns,
columnLabels = _ref.columnLabels,
fields = _ref.fields,
updateLayerConfig = _ref.updateLayerConfig,
assignColumn = _ref.assignColumn,
assignColumnPairs = _ref.assignColumnPairs;
var enhancedFieldPairs = (0, _react.useMemo)(function () {
return columnPairs && fieldPairs ? fieldPairs.map(function (fp) {
return {
name: fp.defaultName,
type: 'point',
pair: fp.pair
};
}) : null;
}, [columnPairs, fieldPairs]);
var onUpdateColumn = (0, _react.useCallback)(function (key, value) {
var assignedColumns = value && value.pair && columnPairs ? assignColumnPairs(key, value.pair) : assignColumn(key, value);
updateLayerConfig({
columns: assignedColumns
});
}, [updateLayerConfig, columnPairs, assignColumnPairs, assignColumn]);
return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_styledComponents2.SidePanelSection, null, /*#__PURE__*/_react["default"].createElement("div", {
className: "layer-config__column"
}, /*#__PURE__*/_react["default"].createElement(TopRow, null, /*#__PURE__*/_react["default"].createElement(_styledComponents2.PanelLabel, null, /*#__PURE__*/_react["default"].createElement(_localization.FormattedMessage, {
id: 'columns.title'
})), /*#__PURE__*/_react["default"].createElement(_styledComponents2.PanelLabel, null, /*#__PURE__*/_react["default"].createElement(_localization.FormattedMessage, {
id: "layer.required"
}))), Object.keys(columns).map(function (key) {
return /*#__PURE__*/_react["default"].createElement(ColumnSelector, {
column: columns[key],
columns: columns,
label: columnLabels && columnLabels[key] || key,
key: key,
allFields: fields,
fieldPairs: enhancedFieldPairs,
onSelect: function onSelect(val) {
return onUpdateColumn(key, val);
}
});
}))));
};
LayerColumnConfig.propTypes = {
columns: _propTypes["default"].object.isRequired,
fields: _propTypes["default"].arrayOf(_propTypes["default"].any).isRequired,
assignColumnPairs: _propTypes["default"].func.isRequired,
assignColumn: _propTypes["default"].func.isRequired,
updateLayerConfig: _propTypes["default"].func.isRequired,
columnPairs: _propTypes["default"].object,
fieldPairs: _propTypes["default"].arrayOf(_propTypes["default"].any),
columnLabels: _propTypes["default"].object
};
return LayerColumnConfig;
}
var _default = LayerColumnConfigFactory;
exports["default"] = _default;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3NpZGUtcGFuZWwvbGF5ZXItcGFuZWwvbGF5ZXItY29sdW1uLWNvbmZpZy5qcyJdLCJuYW1lcyI6WyJUb3BSb3ciLCJzdHlsZWQiLCJkaXYiLCJMYXllckNvbHVtbkNvbmZpZ0ZhY3RvcnkiLCJkZXBzIiwiQ29sdW1uU2VsZWN0b3JGYWN0b3J5IiwiQ29sdW1uU2VsZWN0b3IiLCJMYXllckNvbHVtbkNvbmZpZyIsImNvbHVtblBhaXJzIiwiZmllbGRQYWlycyIsImNvbHVtbnMiLCJjb2x1bW5MYWJlbHMiLCJmaWVsZHMiLCJ1cGRhdGVMYXllckNvbmZpZyIsImFzc2lnbkNvbHVtbiIsImFzc2lnbkNvbHVtblBhaXJzIiwiZW5oYW5jZWRGaWVsZFBhaXJzIiwibWFwIiwiZnAiLCJuYW1lIiwiZGVmYXVsdE5hbWUiLCJ0eXBlIiwicGFpciIsIm9uVXBkYXRlQ29sdW1uIiwia2V5IiwidmFsdWUiLCJhc3NpZ25lZENvbHVtbnMiLCJPYmplY3QiLCJrZXlzIiwidmFsIiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwib2JqZWN0IiwiaXNSZXF1aXJlZCIsImFycmF5T2YiLCJhbnkiLCJmdW5jIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBb0JBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7O0FBRUEsSUFBTUEsTUFBTSxHQUFHQyw2QkFBT0MsR0FBViw2SUFBWjs7QUFLQUMsd0JBQXdCLENBQUNDLElBQXpCLEdBQWdDLENBQUNDLDBCQUFELENBQWhDOztBQUVBLFNBQVNGLHdCQUFULENBQWtDRyxjQUFsQyxFQUFrRDtBQUNoRCxNQUFNQyxpQkFBaUIsR0FBRyxTQUFwQkEsaUJBQW9CLE9BU3BCO0FBQUEsUUFSSkMsV0FRSSxRQVJKQSxXQVFJO0FBQUEsUUFQSkMsVUFPSSxRQVBKQSxVQU9JO0FBQUEsUUFOSkMsT0FNSSxRQU5KQSxPQU1JO0FBQUEsUUFMSkMsWUFLSSxRQUxKQSxZQUtJO0FBQUEsUUFKSkMsTUFJSSxRQUpKQSxNQUlJO0FBQUEsUUFISkMsaUJBR0ksUUFISkEsaUJBR0k7QUFBQSxRQUZKQyxZQUVJLFFBRkpBLFlBRUk7QUFBQSxRQURKQyxpQkFDSSxRQURKQSxpQkFDSTtBQUNKLFFBQU1DLGtCQUFrQixHQUFHLG9CQUN6QjtBQUFBLGFBQ0VSLFdBQVcsSUFBSUMsVUFBZixHQUNJQSxVQUFVLENBQUNRLEdBQVgsQ0FBZSxVQUFBQyxFQUFFO0FBQUEsZUFBSztBQUNwQkMsVUFBQUEsSUFBSSxFQUFFRCxFQUFFLENBQUNFLFdBRFc7QUFFcEJDLFVBQUFBLElBQUksRUFBRSxPQUZjO0FBR3BCQyxVQUFBQSxJQUFJLEVBQUVKLEVBQUUsQ0FBQ0k7QUFIVyxTQUFMO0FBQUEsT0FBakIsQ0FESixHQU1JLElBUE47QUFBQSxLQUR5QixFQVN6QixDQUFDZCxXQUFELEVBQWNDLFVBQWQsQ0FUeUIsQ0FBM0I7QUFZQSxRQUFNYyxjQUFjLEdBQUcsd0JBQ3JCLFVBQUNDLEdBQUQsRUFBTUMsS0FBTixFQUFnQjtBQUNkLFVBQU1DLGVBQWUsR0FDbkJELEtBQUssSUFBSUEsS0FBSyxDQUFDSCxJQUFmLElBQXVCZCxXQUF2QixHQUNJTyxpQkFBaUIsQ0FBQ1MsR0FBRCxFQUFNQyxLQUFLLENBQUNILElBQVosQ0FEckIsR0FFSVIsWUFBWSxDQUFDVSxHQUFELEVBQU1DLEtBQU4sQ0FIbEI7QUFLQVosTUFBQUEsaUJBQWlCLENBQUM7QUFBQ0gsUUFBQUEsT0FBTyxFQUFFZ0I7QUFBVixPQUFELENBQWpCO0FBQ0QsS0FSb0IsRUFTckIsQ0FBQ2IsaUJBQUQsRUFBb0JMLFdBQXBCLEVBQWlDTyxpQkFBakMsRUFBb0RELFlBQXBELENBVHFCLENBQXZCO0FBWUEsd0JBQ0UsMERBQ0UsZ0NBQUMsbUNBQUQscUJBQ0U7QUFBSyxNQUFBLFNBQVMsRUFBQztBQUFmLG9CQUNFLGdDQUFDLE1BQUQscUJBQ0UsZ0NBQUMsNkJBQUQscUJBQ0UsZ0NBQUMsOEJBQUQ7QUFBa0IsTUFBQSxFQUFFLEVBQUU7QUFBdEIsTUFERixDQURGLGVBSUUsZ0NBQUMsNkJBQUQscUJBQ0UsZ0NBQUMsOEJBQUQ7QUFBa0IsTUFBQSxFQUFFLEVBQUM7QUFBckIsTUFERixDQUpGLENBREYsRUFTR2EsTUFBTSxDQUFDQyxJQUFQLENBQVlsQixPQUFaLEVBQXFCTyxHQUFyQixDQUF5QixVQUFBTyxHQUFHO0FBQUEsMEJBQzNCLGdDQUFDLGNBQUQ7QUFDRSxRQUFBLE1BQU0sRUFBRWQsT0FBTyxDQUFDYyxHQUFELENBRGpCO0FBRUUsUUFBQSxPQUFPLEVBQUVkLE9BRlg7QUFHRSxRQUFBLEtBQUssRUFBR0MsWUFBWSxJQUFJQSxZQUFZLENBQUNhLEdBQUQsQ0FBN0IsSUFBdUNBLEdBSGhEO0FBSUUsUUFBQSxHQUFHLEVBQUVBLEdBSlA7QUFLRSxRQUFBLFNBQVMsRUFBRVosTUFMYjtBQU1FLFFBQUEsVUFBVSxFQUFFSSxrQkFOZDtBQU9FLFFBQUEsUUFBUSxFQUFFLGtCQUFBYSxHQUFHO0FBQUEsaUJBQUlOLGNBQWMsQ0FBQ0MsR0FBRCxFQUFNSyxHQUFOLENBQWxCO0FBQUE7QUFQZixRQUQyQjtBQUFBLEtBQTVCLENBVEgsQ0FERixDQURGLENBREY7QUEyQkQsR0E3REQ7O0FBK0RBdEIsRUFBQUEsaUJBQWlCLENBQUN1QixTQUFsQixHQUE4QjtBQUM1QnBCLElBQUFBLE9BQU8sRUFBRXFCLHNCQUFVQyxNQUFWLENBQWlCQyxVQURFO0FBRTVCckIsSUFBQUEsTUFBTSxFQUFFbUIsc0JBQVVHLE9BQVYsQ0FBa0JILHNCQUFVSSxHQUE1QixFQUFpQ0YsVUFGYjtBQUc1QmxCLElBQUFBLGlCQUFpQixFQUFFZ0Isc0JBQVVLLElBQVYsQ0FBZUgsVUFITjtBQUk1Qm5CLElBQUFBLFlBQVksRUFBRWlCLHNCQUFVSyxJQUFWLENBQWVILFVBSkQ7QUFLNUJwQixJQUFBQSxpQkFBaUIsRUFBRWtCLHNCQUFVSyxJQUFWLENBQWVILFVBTE47QUFNNUJ6QixJQUFBQSxXQUFXLEVBQUV1QixzQkFBVUMsTUFOSztBQU81QnZCLElBQUFBLFVBQVUsRUFBRXNCLHNCQUFVRyxPQUFWLENBQWtCSCxzQkFBVUksR0FBNUIsQ0FQZ0I7QUFRNUJ4QixJQUFBQSxZQUFZLEVBQUVvQixzQkFBVUM7QUFSSSxHQUE5QjtBQVdBLFNBQU96QixpQkFBUDtBQUNEOztlQUVjSix3QiIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMSBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBSZWFjdCwge3VzZUNhbGxiYWNrLCB1c2VNZW1vfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge0Zvcm1hdHRlZE1lc3NhZ2V9IGZyb20gJ2xvY2FsaXphdGlvbic7XG5pbXBvcnQge1BhbmVsTGFiZWwsIFNpZGVQYW5lbFNlY3Rpb259IGZyb20gJ2NvbXBvbmVudHMvY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBDb2x1bW5TZWxlY3RvckZhY3RvcnkgZnJvbSAnLi9jb2x1bW4tc2VsZWN0b3InO1xuXG5jb25zdCBUb3BSb3cgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5gO1xuXG5MYXllckNvbHVtbkNvbmZpZ0ZhY3RvcnkuZGVwcyA9IFtDb2x1bW5TZWxlY3RvckZhY3RvcnldO1xuXG5mdW5jdGlvbiBMYXllckNvbHVtbkNvbmZpZ0ZhY3RvcnkoQ29sdW1uU2VsZWN0b3IpIHtcbiAgY29uc3QgTGF5ZXJDb2x1bW5Db25maWcgPSAoe1xuICAgIGNvbHVtblBhaXJzLFxuICAgIGZpZWxkUGFpcnMsXG4gICAgY29sdW1ucyxcbiAgICBjb2x1bW5MYWJlbHMsXG4gICAgZmllbGRzLFxuICAgIHVwZGF0ZUxheWVyQ29uZmlnLFxuICAgIGFzc2lnbkNvbHVtbixcbiAgICBhc3NpZ25Db2x1bW5QYWlyc1xuICB9KSA9PiB7XG4gICAgY29uc3QgZW5oYW5jZWRGaWVsZFBhaXJzID0gdXNlTWVtbyhcbiAgICAgICgpID0+XG4gICAgICAgIGNvbHVtblBhaXJzICYmIGZpZWxkUGFpcnNcbiAgICAgICAgICA/IGZpZWxkUGFpcnMubWFwKGZwID0+ICh7XG4gICAgICAgICAgICAgIG5hbWU6IGZwLmRlZmF1bHROYW1lLFxuICAgICAgICAgICAgICB0eXBlOiAncG9pbnQnLFxuICAgICAgICAgICAgICBwYWlyOiBmcC5wYWlyXG4gICAgICAgICAgICB9KSlcbiAgICAgICAgICA6IG51bGwsXG4gICAgICBbY29sdW1uUGFpcnMsIGZpZWxkUGFpcnNdXG4gICAgKTtcblxuICAgIGNvbnN0IG9uVXBkYXRlQ29sdW1uID0gdXNlQ2FsbGJhY2soXG4gICAgICAoa2V5LCB2YWx1ZSkgPT4ge1xuICAgICAgICBjb25zdCBhc3NpZ25lZENvbHVtbnMgPVxuICAgICAgICAgIHZhbHVlICYmIHZhbHVlLnBhaXIgJiYgY29sdW1uUGFpcnNcbiAgICAgICAgICAgID8gYXNzaWduQ29sdW1uUGFpcnMoa2V5LCB2YWx1ZS5wYWlyKVxuICAgICAgICAgICAgOiBhc3NpZ25Db2x1bW4oa2V5LCB2YWx1ZSk7XG5cbiAgICAgICAgdXBkYXRlTGF5ZXJDb25maWcoe2NvbHVtbnM6IGFzc2lnbmVkQ29sdW1uc30pO1xuICAgICAgfSxcbiAgICAgIFt1cGRhdGVMYXllckNvbmZpZywgY29sdW1uUGFpcnMsIGFzc2lnbkNvbHVtblBhaXJzLCBhc3NpZ25Db2x1bW5dXG4gICAgKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8U2lkZVBhbmVsU2VjdGlvbj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxheWVyLWNvbmZpZ19fY29sdW1uXCI+XG4gICAgICAgICAgICA8VG9wUm93PlxuICAgICAgICAgICAgICA8UGFuZWxMYWJlbD5cbiAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD17J2NvbHVtbnMudGl0bGUnfSAvPlxuICAgICAgICAgICAgICA8L1BhbmVsTGFiZWw+XG4gICAgICAgICAgICAgIDxQYW5lbExhYmVsPlxuICAgICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPVwibGF5ZXIucmVxdWlyZWRcIiAvPlxuICAgICAgICAgICAgICA8L1BhbmVsTGFiZWw+XG4gICAgICAgICAgICA8L1RvcFJvdz5cbiAgICAgICAgICAgIHtPYmplY3Qua2V5cyhjb2x1bW5zKS5tYXAoa2V5ID0+IChcbiAgICAgICAgICAgICAgPENvbHVtblNlbGVjdG9yXG4gICAgICAgICAgICAgICAgY29sdW1uPXtjb2x1bW5zW2tleV19XG4gICAgICAgICAgICAgICAgY29sdW1ucz17Y29sdW1uc31cbiAgICAgICAgICAgICAgICBsYWJlbD17KGNvbHVtbkxhYmVscyAmJiBjb2x1bW5MYWJlbHNba2V5XSkgfHwga2V5fVxuICAgICAgICAgICAgICAgIGtleT17a2V5fVxuICAgICAgICAgICAgICAgIGFsbEZpZWxkcz17ZmllbGRzfVxuICAgICAgICAgICAgICAgIGZpZWxkUGFpcnM9e2VuaGFuY2VkRmllbGRQYWlyc31cbiAgICAgICAgICAgICAgICBvblNlbGVjdD17dmFsID0+IG9uVXBkYXRlQ29sdW1uKGtleSwgdmFsKX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICkpfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1NpZGVQYW5lbFNlY3Rpb24+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9O1xuXG4gIExheWVyQ29sdW1uQ29uZmlnLnByb3BUeXBlcyA9IHtcbiAgICBjb2x1bW5zOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgZmllbGRzOiBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuYW55KS5pc1JlcXVpcmVkLFxuICAgIGFzc2lnbkNvbHVtblBhaXJzOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGFzc2lnbkNvbHVtbjogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICB1cGRhdGVMYXllckNvbmZpZzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBjb2x1bW5QYWlyczogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBmaWVsZFBhaXJzOiBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuYW55KSxcbiAgICBjb2x1bW5MYWJlbHM6IFByb3BUeXBlcy5vYmplY3RcbiAgfTtcblxuICByZXR1cm4gTGF5ZXJDb2x1bW5Db25maWc7XG59XG5cbmV4cG9ydCBkZWZhdWx0IExheWVyQ29sdW1uQ29uZmlnRmFjdG9yeTtcbiJdfQ==