kepler.gl.geoiq
Version:
kepler.gl is a webgl based application to visualize large scale location data in the browser
167 lines (130 loc) • 15.4 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 _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
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 _fieldSelector = _interopRequireDefault(require("../../common/field-selector"));
var _styledComponents2 = require("../../common/styled-components");
function _templateObject4() {
var data = (0, _taggedTemplateLiteral2["default"])(["\n width: 70%;\n"]);
_templateObject4 = function _templateObject4() {
return data;
};
return data;
}
function _templateObject3() {
var data = (0, _taggedTemplateLiteral2["default"])(["\n width: 30%;\n"]);
_templateObject3 = function _templateObject3() {
return data;
};
return data;
}
function _templateObject2() {
var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n margin-bottom: 8px;\n align-items: center;\n"]);
_templateObject2 = function _templateObject2() {
return data;
};
return data;
}
function _templateObject() {
var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n"]);
_templateObject = function _templateObject() {
return data;
};
return data;
}
var TopRow = _styledComponents["default"].div(_templateObject());
var LayerColumnConfig =
/*#__PURE__*/
function (_Component) {
(0, _inherits2["default"])(LayerColumnConfig, _Component);
function LayerColumnConfig() {
(0, _classCallCheck2["default"])(this, LayerColumnConfig);
return (0, _possibleConstructorReturn2["default"])(this, (0, _getPrototypeOf2["default"])(LayerColumnConfig).apply(this, arguments));
}
(0, _createClass2["default"])(LayerColumnConfig, [{
key: "_updateColumn",
value: function _updateColumn(key, value) {
var layer = this.props.layer;
var columns = value && value.pair && layer.columnPairs ? layer.assignColumnPairs(key, value.pair) : layer.assignColumn(key, value);
this.props.updateLayerConfig({
columns: columns
});
}
}, {
key: "render",
value: function render() {
var _this = this;
var _this$props = this.props,
layer = _this$props.layer,
fields = _this$props.fields,
fieldPairs = _this$props.fieldPairs;
return _react["default"].createElement("div", null, _react["default"].createElement(_styledComponents2.SidePanelSection, null, _react["default"].createElement("div", {
className: "layer-config__column"
}, _react["default"].createElement(TopRow, null, _react["default"].createElement(_styledComponents2.PanelLabel, null, "Columns"), _react["default"].createElement(_styledComponents2.PanelLabel, null, "* Required")), Object.keys(layer.config.columns).map(function (key) {
return _react["default"].createElement(ColumnSelector, {
column: layer.config.columns[key],
label: key,
key: key,
allFields: fields,
fieldPairs: layer.columnPairs ? fieldPairs.map(function (fp) {
return {
name: fp.defaultName,
type: 'point',
pair: fp.pair
};
}) : null,
onSelect: function onSelect(val) {
return _this._updateColumn(key, val);
}
});
}))));
}
}]);
return LayerColumnConfig;
}(_react.Component);
exports["default"] = LayerColumnConfig;
(0, _defineProperty2["default"])(LayerColumnConfig, "propTypes", {
layer: _propTypes["default"].object.isRequired,
fields: _propTypes["default"].arrayOf(_propTypes["default"].any).isRequired,
updateLayerConfig: _propTypes["default"].func.isRequired,
fieldPairs: _propTypes["default"].arrayOf(_propTypes["default"].any)
});
;
var ColumnRow = _styledComponents["default"].div(_templateObject2());
var ColumnName = _styledComponents["default"].div(_templateObject3());
var ColumnSelect = _styledComponents["default"].div(_templateObject4());
var ColumnSelector = function ColumnSelector(_ref) {
var column = _ref.column,
label = _ref.label,
allFields = _ref.allFields,
onSelect = _ref.onSelect,
fieldPairs = _ref.fieldPairs;
return _react["default"].createElement(ColumnRow, {
className: "layer-config__column__selector"
}, _react["default"].createElement(ColumnName, {
className: "layer-config__column__name"
}, _react["default"].createElement(_styledComponents2.PanelLabel, null, label), !column.optional ? _react["default"].createElement(_styledComponents2.PanelLabel, null, " *") : null), _react["default"].createElement(ColumnSelect, {
className: "layer-config__column__select"
}, _react["default"].createElement(_fieldSelector["default"], {
suggested: fieldPairs,
error: !column.optional && !column.value,
fields: allFields,
value: column.value,
erasable: Boolean(column.optional),
onSelect: onSelect
})));
};
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3NpZGUtcGFuZWwvd2lkZ2V0LXBhbmVsL2xheWVyLWNvbHVtbi1jb25maWcuanMiXSwibmFtZXMiOlsiVG9wUm93Iiwic3R5bGVkIiwiZGl2IiwiTGF5ZXJDb2x1bW5Db25maWciLCJrZXkiLCJ2YWx1ZSIsImxheWVyIiwicHJvcHMiLCJjb2x1bW5zIiwicGFpciIsImNvbHVtblBhaXJzIiwiYXNzaWduQ29sdW1uUGFpcnMiLCJhc3NpZ25Db2x1bW4iLCJ1cGRhdGVMYXllckNvbmZpZyIsImZpZWxkcyIsImZpZWxkUGFpcnMiLCJPYmplY3QiLCJrZXlzIiwiY29uZmlnIiwibWFwIiwiZnAiLCJuYW1lIiwiZGVmYXVsdE5hbWUiLCJ0eXBlIiwidmFsIiwiX3VwZGF0ZUNvbHVtbiIsIkNvbXBvbmVudCIsIlByb3BUeXBlcyIsIm9iamVjdCIsImlzUmVxdWlyZWQiLCJhcnJheU9mIiwiYW55IiwiZnVuYyIsIkNvbHVtblJvdyIsIkNvbHVtbk5hbWUiLCJDb2x1bW5TZWxlY3QiLCJDb2x1bW5TZWxlY3RvciIsImNvbHVtbiIsImxhYmVsIiwiYWxsRmllbGRzIiwib25TZWxlY3QiLCJvcHRpb25hbCIsIkJvb2xlYW4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFvQkE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUtBLElBQU1BLE1BQU0sR0FBR0MsNkJBQU9DLEdBQVYsbUJBQVo7O0lBS3FCQyxpQjs7Ozs7Ozs7Ozs7O2tDQVFMQyxHLEVBQUtDLEssRUFBTztBQUFBLFVBQ2pCQyxLQURpQixHQUNSLEtBQUtDLEtBREcsQ0FDakJELEtBRGlCO0FBR3hCLFVBQU1FLE9BQU8sR0FDWEgsS0FBSyxJQUFJQSxLQUFLLENBQUNJLElBQWYsSUFBdUJILEtBQUssQ0FBQ0ksV0FBN0IsR0FDSUosS0FBSyxDQUFDSyxpQkFB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RCxJQUZ6RCxDQURGLEVBS0UsZ0NBQUMsWUFBRDtBQUFjLElBQUEsU0FBUyxFQUFDO0FBQXhCLEtBQ0UsZ0NBQUMseUJBQUQ7QUFDRSxJQUFBLFNBQVMsRUFBRTFCLFVBRGI7QUFFRSxJQUFBLEtBQUssRUFBRSxDQUFDc0IsTUFBTSxDQUFDSSxRQUFSLElBQW9CLENBQUNKLE1BQU0sQ0FBQ2hDLEtBRnJDO0FBR0UsSUFBQSxNQUFNLEVBQUVrQyxTQUhWO0FBSUUsSUFBQSxLQUFLLEVBQUVGLE1BQU0sQ0FBQ2hDLEtBSmhCO0FBS0UsSUFBQSxRQUFRLEVBQUVxQyxPQUFPLENBQUNMLE1BQU0sQ0FBQ0ksUUFBUixDQUxuQjtBQU1FLElBQUEsUUFBUSxFQUFFRDtBQU5aLElBREYsQ0FMRixDQURxQjtBQUFBLENBQXZCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDE5IFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50fSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgRmllbGRTZWxlY3RvciBmcm9tICdjb21wb25lbnRzL2NvbW1vbi9maWVsZC1zZWxlY3Rvcic7XG5cbmltcG9ydCB7XG4gIFBhbmVsTGFiZWwsXG4gIFNpZGVQYW5lbFNlY3Rpb25cbn0gZnJvbSAnY29tcG9uZW50cy9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMnO1xuXG5jb25zdCBUb3BSb3cgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5gO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBMYXllckNvbHVtbkNvbmZpZyBleHRlbmRzIENvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgbGF5ZXI6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICBmaWVsZHM6IFByb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5hbnkpLmlzUmVxdWlyZWQsXG4gICAgdXBkYXRlTGF5ZXJDb25maWc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZmllbGRQYWlyczogUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLmFueSlcbiAgfTtcblxuICBfdXBkYXRlQ29sdW1uKGtleSwgdmFsdWUpIHtcbiAgICBjb25zdCB7bGF5ZXJ9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IGNvbHVtbnMgPVxuICAgICAgdmFsdWUgJiYgdmFsdWUucGFpciAmJiBsYXllci5jb2x1bW5QYWlyc1xuICAgICAgICA/IGxheWVyLmFzc2lnbkNvbHVtblBhaXJzKGtleSwgdmFsdWUucGFpcilcbiAgICAgICAgOiBsYXllci5hc3NpZ25Db2x1bW4oa2V5LCB2YWx1ZSk7XG5cbiAgICB0aGlzLnByb3BzLnVwZGF0ZUxheWVyQ29uZmlnKHtjb2x1bW5zfSk7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge2xheWVyLCBmaWVsZHMsIGZpZWxkUGFpcnN9ID0gdGhpcy5wcm9wcztcbiAgICByZXR1cm4gKFxuICAgICAgPGRpdj5cbiAgICAgICAgPFNpZGVQYW5lbFNlY3Rpb24+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsYXllci1jb25maWdfX2NvbHVtblwiPlxuICAgICAgICAgIDxUb3BSb3c+XG4gICAgICAgICAgICA8UGFuZWxMYWJlbD5Db2x1bW5zPC9QYW5lbExhYmVsPlxuICAgICAgICAgICAgPFBhbmVsTGFiZWw+KiBSZXF1aXJlZDwvUGFuZWxMYWJlbD5cbiAgICAgICAgICA8L1RvcFJvdz5cbiAgICAgICAgICB7T2JqZWN0LmtleXMobGF5ZXIuY29uZmlnLmNvbHVtbnMpLm1hcChrZXkgPT4gKFxuICAgICAgICAgICAgPENvbHVtblNlbGVjdG9yXG4gICAgICAgICAgICAgIGNvbHVtbj17bGF5ZXIuY29uZmlnLmNvbHVtbnNba2V5XX1cbiAgICAgICAgICAgICAgbGFiZWw9e2tleX1cbiAgICAgICAgICAgICAga2V5PXtrZXl9XG4gICAgICAgICAgICAgIGFsbEZpZWxkcz17ZmllbGRzfVxuICAgICAgICAgICAgICBmaWVsZFBhaXJzPXtcbiAgICAgICAgICAgICAgICBsYXllci5jb2x1bW5QYWlyc1xuICAgICAgICAgICAgICAgICAgPyBmaWVsZFBhaXJzLm1hcChmcCA9PiAoe1xuICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IGZwLmRlZmF1bHROYW1lLFxuICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdwb2ludCcsXG4gICAgICAgICAgICAgICAgICAgICAgcGFpcjogZnAucGFpclxuICAgICAgICAgICAgICAgICAgICB9KSlcbiAgICAgICAgICAgICAgICAgIDogbnVsbFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIG9uU2VsZWN0PXt2YWwgPT4gdGhpcy5fdXBkYXRlQ29sdW1uKGtleSwgdmFsKX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvU2lkZVBhbmVsU2VjdGlvbj5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbn07XG5cbmNvbnN0IENvbHVtblJvdyA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IENvbHVtbk5hbWUgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMzAlO1xuYDtcbmNvbnN0IENvbHVtblNlbGVjdCA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiA3MCU7XG5gO1xuXG5jb25zdCBDb2x1bW5TZWxlY3RvciA9ICh7Y29sdW1uLCBsYWJlbCwgYWxsRmllbGRzLCBvblNlbGVjdCwgZmllbGRQYWlyc30pID0+IChcbiAgPENvbHVtblJvdyBjbGFzc05hbWU9XCJsYXllci1jb25maWdfX2NvbHVtbl9fc2VsZWN0b3JcIj5cbiAgICA8Q29sdW1uTmFtZSBjbGFzc05hbWU9XCJsYXllci1jb25maWdfX2NvbHVtbl9fbmFtZVwiPlxuICAgICAgPFBhbmVsTGFiZWw+e2xhYmVsfTwvUGFuZWxMYWJlbD5cbiAgICAgIHshY29sdW1uLm9wdGlvbmFsID8gPFBhbmVsTGFiZWw+e2AgICpgfTwvUGFuZWxMYWJlbD4gOiBudWxsfVxuICAgIDwvQ29sdW1uTmFtZT5cbiAgICA8Q29sdW1uU2VsZWN0IGNsYXNzTmFtZT1cImxheWVyLWNvbmZpZ19fY29sdW1uX19zZWxlY3RcIj5cbiAgICAgIDxGaWVsZFNlbGVjdG9yXG4gICAgICAgIHN1Z2dlc3RlZD17ZmllbGRQYWlyc31cbiAgICAgICAgZXJyb3I9eyFjb2x1bW4ub3B0aW9uYWwgJiYgIWNvbHVtbi52YWx1ZX1cbiAgICAgICAgZmllbGRzPXthbGxGaWVsZHN9XG4gICAgICAgIHZhbHVlPXtjb2x1bW4udmFsdWV9XG4gICAgICAgIGVyYXNhYmxlPXtCb29sZWFuKGNvbHVtbi5vcHRpb25hbCl9XG4gICAgICAgIG9uU2VsZWN0PXtvblNlbGVjdH1cbiAgICAgIC8+XG4gICAgPC9Db2x1bW5TZWxlY3Q+XG4gIDwvQ29sdW1uUm93PlxuKTtcbiJdfQ==