kepler.gl
Version:
kepler.gl is a webgl based application to visualize large scale location data in the browser
72 lines (70 loc) • 13.8 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _typeof = require("@babel/runtime/helpers/typeof");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.ChannelByValueSelectorFactory = ChannelByValueSelectorFactory;
exports["default"] = void 0;
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _react = _interopRequireWildcard(require("react"));
var _constants = require("@kepler.gl/constants");
var _dimensionScaleSelector = _interopRequireDefault(require("./dimension-scale-selector"));
var _visConfigByFieldSelector = _interopRequireDefault(require("./vis-config-by-field-selector"));
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
// SPDX-License-Identifier: MIT
// Copyright contributors to the kepler.gl project
ChannelByValueSelectorFactory.deps = [_visConfigByFieldSelector["default"], _dimensionScaleSelector["default"]];
function ChannelByValueSelectorFactory(VisConfigByFieldSelector, DimensionScaleSelector) {
var ChannelByValueSelector = function ChannelByValueSelector(_ref) {
var layer = _ref.layer,
channel = _ref.channel,
onChange = _ref.onChange,
fields = _ref.fields,
dataset = _ref.dataset,
description = _ref.description,
setColorUI = _ref.setColorUI,
disabled = _ref.disabled;
var channelScaleType = channel.channelScaleType,
field = channel.field,
key = channel.key,
property = channel.property,
scale = channel.scale,
defaultMeasure = channel.defaultMeasure,
supportedFieldTypes = channel.supportedFieldTypes;
var channelSupportedFieldTypes = supportedFieldTypes || _constants.CHANNEL_SCALE_SUPPORTED_FIELDS[channelScaleType];
var supportedFields = fields.filter(function (_ref2) {
var type = _ref2.type;
return channelSupportedFieldTypes.includes(type);
});
var showScale = !layer.isAggregated && layer.config[scale] && layer.config[field];
var defaultDescription = 'layerConfiguration.defaultDescription';
var updateField = (0, _react.useCallback)(function (val) {
onChange((0, _defineProperty2["default"])({}, field, val), key);
}, [onChange, field, key]);
return /*#__PURE__*/_react["default"].createElement("div", {
className: "channel-by-value-selector"
}, /*#__PURE__*/_react["default"].createElement(VisConfigByFieldSelector, {
description: description || defaultDescription,
fields: supportedFields,
id: layer.id,
key: "".concat(key, "-channel-selector"),
property: property,
disabled: disabled,
placeholder: defaultMeasure || 'placeholder.selectField',
selectedField: layer.config[field],
updateField: updateField
}), showScale && !disabled ? /*#__PURE__*/_react["default"].createElement(DimensionScaleSelector, {
layer: layer,
channel: channel,
dataset: dataset,
label: "".concat(property, " scale"),
setColorUI: setColorUI,
onChange: onChange
}) : null);
};
return ChannelByValueSelector;
}
var _default = exports["default"] = ChannelByValueSelectorFactory;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfY29uc3RhbnRzIiwiX2RpbWVuc2lvblNjYWxlU2VsZWN0b3IiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3Zpc0NvbmZpZ0J5RmllbGRTZWxlY3RvciIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIkNoYW5uZWxCeVZhbHVlU2VsZWN0b3JGYWN0b3J5IiwiZGVwcyIsIlZpc0NvbmZpZ0J5RmllbGRTZWxlY3RvckZhY3RvcnkiLCJEaW1lbnNpb25TY2FsZVNlbGVjdG9yRmFjdG9yeSIsIlZpc0NvbmZpZ0J5RmllbGRTZWxlY3RvciIsIkRpbWVuc2lvblNjYWxlU2VsZWN0b3IiLCJDaGFubmVsQnlWYWx1ZVNlbGVjdG9yIiwiX3JlZiIsImxheWVyIiwiY2hhbm5lbCIsIm9uQ2hhbmdlIiwiZmllbGRzIiwiZGF0YXNldCIsImRlc2NyaXB0aW9uIiwic2V0Q29sb3JVSSIsImRpc2FibGVkIiwiY2hhbm5lbFNjYWxlVHlwZSIsImZpZWxkIiwia2V5IiwicHJvcGVydHkiLCJzY2FsZSIsImRlZmF1bHRNZWFzdXJlIiwic3VwcG9ydGVkRmllbGRUeXBlcyIsImNoYW5uZWxTdXBwb3J0ZWRGaWVsZFR5cGVzIiwiQ0hBTk5FTF9TQ0FMRV9TVVBQT1JURURfRklFTERTIiwic3VwcG9ydGVkRmllbGRzIiwiZmlsdGVyIiwiX3JlZjIiLCJ0eXBlIiwiaW5jbHVkZXMiLCJzaG93U2NhbGUiLCJpc0FnZ3JlZ2F0ZWQiLCJjb25maWciLCJkZWZhdWx0RGVzY3JpcHRpb24iLCJ1cGRhdGVGaWVsZCIsInVzZUNhbGxiYWNrIiwidmFsIiwiX2RlZmluZVByb3BlcnR5MiIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJpZCIsImNvbmNhdCIsInBsYWNlaG9sZGVyIiwic2VsZWN0ZWRGaWVsZCIsImxhYmVsIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NpZGUtcGFuZWwvbGF5ZXItcGFuZWwvY2hhbm5lbC1ieS12YWx1ZS1zZWxlY3Rvci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7dXNlQ2FsbGJhY2t9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHtDSEFOTkVMX1NDQUxFX1NVUFBPUlRFRF9GSUVMRFN9IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcbmltcG9ydCB7TGF5ZXIsIFZpc3VhbENoYW5uZWx9IGZyb20gJ0BrZXBsZXIuZ2wvbGF5ZXJzJztcbmltcG9ydCB7S2VwbGVyVGFibGV9IGZyb20gJ0BrZXBsZXIuZ2wvdGFibGUnO1xuaW1wb3J0IHtDb2xvclVJLCBGaWVsZCwgTGF5ZXJWaXNDb25maWcsIE5lc3RlZFBhcnRpYWx9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuXG5pbXBvcnQgRGltZW5zaW9uU2NhbGVTZWxlY3RvckZhY3RvcnkgZnJvbSAnLi9kaW1lbnNpb24tc2NhbGUtc2VsZWN0b3InO1xuaW1wb3J0IFZpc0NvbmZpZ0J5RmllbGRTZWxlY3RvckZhY3RvcnkgZnJvbSAnLi92aXMtY29uZmlnLWJ5LWZpZWxkLXNlbGVjdG9yJztcblxuZXhwb3J0IHR5cGUgQ2hhbm5lbEJ5VmFsdWVTZWxlY3RvclByb3BzID0ge1xuICBsYXllcjogTGF5ZXI7XG4gIGNoYW5uZWw6IFZpc3VhbENoYW5uZWw7XG4gIG9uQ2hhbmdlOiAoXG4gICAgbmV3Q29uZmlnOiB7W2tleTogc3RyaW5nXTogRmllbGQgfCBudWxsIHwgc3RyaW5nfSxcbiAgICBrZXk6IHN0cmluZyxcbiAgICBuZXdWaXNDb25maWc/OiBQYXJ0aWFsPExheWVyVmlzQ29uZmlnPlxuICApID0+IHZvaWQ7XG4gIGZpZWxkczogRmllbGRbXTtcbiAgZGF0YXNldDogS2VwbGVyVGFibGUgfCB1bmRlZmluZWQ7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBzZXRDb2xvclVJOiAocHJvcDogc3RyaW5nLCBuZXdDb25maWc6IE5lc3RlZFBhcnRpYWw8Q29sb3JVST4pID0+IHZvaWQ7XG4gIHVwZGF0ZUxheWVyVmlzQ29uZmlnOiAobmV3Q29uZmlnOiBQYXJ0aWFsPExheWVyVmlzQ29uZmlnPikgPT4gdm9pZDtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xufTtcblxuQ2hhbm5lbEJ5VmFsdWVTZWxlY3RvckZhY3RvcnkuZGVwcyA9IFtcbiAgVmlzQ29uZmlnQnlGaWVsZFNlbGVjdG9yRmFjdG9yeSxcbiAgRGltZW5zaW9uU2NhbGVTZWxlY3RvckZhY3Rvcnlcbl07XG5cbmV4cG9ydCBmdW5jdGlvbiBDaGFubmVsQnlWYWx1ZVNlbGVjdG9yRmFjdG9yeShcbiAgVmlzQ29uZmlnQnlGaWVsZFNlbGVjdG9yOiBSZXR1cm5UeXBlPHR5cGVvZiBWaXNDb25maWdCeUZpZWxkU2VsZWN0b3JGYWN0b3J5PixcbiAgRGltZW5zaW9uU2NhbGVTZWxlY3RvcjogUmV0dXJuVHlwZTx0eXBlb2YgRGltZW5zaW9uU2NhbGVTZWxlY3RvckZhY3Rvcnk+XG4pOiBSZWFjdC5GQzxDaGFubmVsQnlWYWx1ZVNlbGVjdG9yUHJvcHM+IHtcbiAgY29uc3QgQ2hhbm5lbEJ5VmFsdWVTZWxlY3RvcjogUmVhY3QuRkM8Q2hhbm5lbEJ5VmFsdWVTZWxlY3RvclByb3BzPiA9ICh7XG4gICAgbGF5ZXIsXG4gICAgY2hhbm5lbCxcbiAgICBvbkNoYW5nZSxcbiAgICBmaWVsZHMsXG4gICAgZGF0YXNldCxcbiAgICBkZXNjcmlwdGlvbixcbiAgICBzZXRDb2xvclVJLFxuICAgIGRpc2FibGVkXG4gIH0pID0+IHtcbiAgICBjb25zdCB7Y2hhbm5lbFNjYWxlVHlwZSwgZmllbGQsIGtleSwgcHJvcGVydHksIHNjYWxlLCBkZWZhdWx0TWVhc3VyZSwgc3VwcG9ydGVkRmllbGRUeXBlc30gPVxuICAgICAgY2hhbm5lbDtcbiAgICBjb25zdCBjaGFubmVsU3VwcG9ydGVkRmllbGRUeXBlcyA9XG4gICAgICBzdXBwb3J0ZWRGaWVsZFR5cGVzIHx8IENIQU5ORUxfU0NBTEVfU1VQUE9SVEVEX0ZJRUxEU1tjaGFubmVsU2NhbGVUeXBlXTtcbiAgICBjb25zdCBzdXBwb3J0ZWRGaWVsZHMgPSBmaWVsZHMuZmlsdGVyKCh7dHlwZX0pID0+IGNoYW5uZWxTdXBwb3J0ZWRGaWVsZFR5cGVzLmluY2x1ZGVzKHR5cGUpKTtcbiAgICBjb25zdCBzaG93U2NhbGUgPSAhbGF5ZXIuaXNBZ2dyZWdhdGVkICYmIGxheWVyLmNvbmZpZ1tzY2FsZV0gJiYgbGF5ZXIuY29uZmlnW2ZpZWxkXTtcbiAgICBjb25zdCBkZWZhdWx0RGVzY3JpcHRpb24gPSAnbGF5ZXJDb25maWd1cmF0aW9uLmRlZmF1bHREZXNjcmlwdGlvbic7XG4gICAgY29uc3QgdXBkYXRlRmllbGQgPSB1c2VDYWxsYmFjayhcbiAgICAgIHZhbCA9PiB7XG4gICAgICAgIG9uQ2hhbmdlKHtbZmllbGRdOiB2YWx9LCBrZXkpO1xuICAgICAgfSxcbiAgICAgIFtvbkNoYW5nZSwgZmllbGQsIGtleV1cbiAgICApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY2hhbm5lbC1ieS12YWx1ZS1zZWxlY3RvclwiPlxuICAgICAgICA8VmlzQ29uZmlnQnlGaWVsZFNlbGVjdG9yXG4gICAgICAgICAgZGVzY3JpcHRpb249e2Rlc2NyaXB0aW9uIHx8IGRlZmF1bHREZXNjcmlwdGlvbn1cbiAgICAgICAgICBmaWVsZHM9e3N1cHBvcnRlZEZpZWxkc31cbiAgICAgICAgICBpZD17bGF5ZXIuaWR9XG4gICAgICAgICAga2V5PXtgJHtrZXl9LWNoYW5uZWwtc2VsZWN0b3JgfVxuICAgICAgICAgIHByb3BlcnR5PXtwcm9wZXJ0eX1cbiAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgcGxhY2Vob2xkZXI9e2RlZmF1bHRNZWFzdXJlIHx8ICdwbGFjZWhvbGRlci5zZWxlY3RGaWVsZCd9XG4gICAgICAgICAgc2VsZWN0ZWRGaWVsZD17bGF5ZXIuY29uZmlnW2ZpZWxkXX1cbiAgICAgICAgICB1cGRhdGVGaWVsZD17dXBkYXRlRmllbGR9XG4gICAgICAgIC8+XG4gICAgICAgIHtzaG93U2NhbGUgJiYgIWRpc2FibGVkID8gKFxuICAgICAgICAgIDxEaW1lbnNpb25TY2FsZVNlbGVjdG9yXG4gICAgICAgICAgICBsYXllcj17bGF5ZXJ9XG4gICAgICAgICAgICBjaGFubmVsPXtjaGFubmVsfVxuICAgICAgICAgICAgZGF0YXNldD17ZGF0YXNldH1cbiAgICAgICAgICAgIGxhYmVsPXtgJHtwcm9wZXJ0eX0gc2NhbGVgfVxuICAgICAgICAgICAgc2V0Q29sb3JVST17c2V0Q29sb3JVSX1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXtvbkNoYW5nZX1cbiAgICAgICAgICAvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH07XG5cbiAgcmV0dXJuIENoYW5uZWxCeVZhbHVlU2VsZWN0b3I7XG59XG5cbmV4cG9ydCBkZWZhdWx0IENoYW5uZWxCeVZhbHVlU2VsZWN0b3JGYWN0b3J5O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBR0EsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsVUFBQSxHQUFBRCxPQUFBO0FBS0EsSUFBQUUsdUJBQUEsR0FBQUMsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFJLHlCQUFBLEdBQUFELHNCQUFBLENBQUFILE9BQUE7QUFBNkUsU0FBQUsseUJBQUFDLENBQUEsNkJB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QUN0QixLQUFLLENBQUN1QixZQUFZLElBQUl2QixLQUFLLENBQUN3QixNQUFNLENBQUNaLEtBQUssQ0FBQyxJQUFJWixLQUFLLENBQUN3QixNQUFNLENBQUNmLEtBQUssQ0FBQztJQUNuRixJQUFNZ0Isa0JBQWtCLEdBQUcsdUNBQXVDO0lBQ2xFLElBQU1DLFdBQVcsR0FBRyxJQUFBQyxrQkFBVyxFQUM3QixVQUFBQyxHQUFHLEVBQUk7TUFDTDFCLFFBQVEsS0FBQTJCLGdCQUFBLGlCQUFHcEIsS0FBSyxFQUFHbUIsR0FBRyxHQUFHbEIsR0FBRyxDQUFDO0lBQy9CLENBQUMsRUFDRCxDQUFDUixRQUFRLEVBQUVPLEtBQUssRUFBRUMsR0FBRyxDQUN2QixDQUFDO0lBRUQsb0JBQ0U3QyxNQUFBLFlBQUFpRSxhQUFBO01BQUtDLFNBQVMsRUFBQztJQUEyQixnQkFDeENsRSxNQUFBLFlBQUFpRSxhQUFBLENBQUNsQyx3QkFBd0I7TUFDdkJTLFdBQVcsRUFBRUEsV0FBVyxJQUFJb0Isa0JBQW1CO01BQy9DdEIsTUFBTSxFQUFFYyxlQUFnQjtNQUN4QmUsRUFBRSxFQUFFaEMsS0FBSyxDQUFDZ0MsRUFBRztNQUNidEIsR0FBRyxLQUFBdUIsTUFBQSxDQUFLdkIsR0FBRyxzQkFBb0I7TUFDL0JDLFFBQVEsRUFBRUEsUUFBUztNQUNuQkosUUFBUSxFQUFFQSxRQUFTO01BQ25CMkIsV0FBVyxFQUFFckIsY0FBYyxJQUFJLHlCQUEwQjtNQUN6RHNCLGFBQWEsRUFBRW5DLEtBQUssQ0FBQ3dCLE1BQU0sQ0FBQ2YsS0FBSyxDQUFFO01BQ25DaUIsV0FBVyxFQUFFQTtJQUFZLENBQzFCLENBQUMsRUFDREosU0FBUyxJQUFJLENBQUNmLFFBQVEsZ0JBQ3JCMUMsTUFBQSxZQUFBaUUsYUFBQSxDQUFDakMsc0JBQXNCO01BQ3JCRyxLQUFLLEVBQUVBLEtBQU07TUFDYkMsT0FBTyxFQUFFQSxPQUFRO01BQ2pCRyxPQUFPLEVBQUVBLE9BQVE7TUFDakJnQyxLQUFLLEtBQUFILE1BQUEsQ0FBS3RCLFFBQVEsV0FBUztNQUMzQkwsVUFBVSxFQUFFQSxVQUFXO01BQ3ZCSixRQUFRLEVBQUVBO0lBQVMsQ0FDcEIsQ0FBQyxHQUNBLElBQ0QsQ0FBQztFQUVWLENBQUM7RUFFRCxPQUFPSixzQkFBc0I7QUFDL0I7QUFBQyxJQUFBdUMsUUFBQSxHQUFBQyxPQUFBLGNBRWM5Qyw2QkFBNkIiLCJpZ25vcmVMaXN0IjpbXX0=
;