UNPKG

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
"use strict"; 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=