kepler.gl
Version:
kepler.gl is a webgl based application to visualize large scale location data in the browser
72 lines (58 loc) • 11.5 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.noOp = noOp;
exports.getStyle = getStyle;
exports.RENDER_TYPE_STYLES = exports.DEFAULT_STROKE_DASH_ARRAY = exports.STATE_STYLES_STROKE_WIDTH = exports.DEFAULT_STATE_STYLE_OPACITY = exports.STATE_STYLES_FILL = exports.DEFAULT_STATE_STYLE_FILL = exports.STATE_STYLES_STROKE = exports.DEFAULT_STATE_STYLE_STROKE = exports.DEFAULT_RADIUS = void 0;
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _reactMapGlDraw = require("react-map-gl-draw");
var _lodash = _interopRequireDefault(require("lodash.get"));
var _constants = require("./constants");
var _STATE_STYLES_STROKE, _STATE_STYLES_FILL, _RENDER_TYPE_STYLES;
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
var DEFAULT_RADIUS = 5;
exports.DEFAULT_RADIUS = DEFAULT_RADIUS;
var DEFAULT_STATE_STYLE_STROKE = _constants.COLORS.PRIMARY;
exports.DEFAULT_STATE_STYLE_STROKE = DEFAULT_STATE_STYLE_STROKE;
var STATE_STYLES_STROKE = (_STATE_STYLES_STROKE = {}, (0, _defineProperty2["default"])(_STATE_STYLES_STROKE, _reactMapGlDraw.RenderStates.INACTIVE, '#26B5F2'), (0, _defineProperty2["default"])(_STATE_STYLES_STROKE, _reactMapGlDraw.RenderStates.UNCOMMITTED, '#a9a9a9'), (0, _defineProperty2["default"])(_STATE_STYLES_STROKE, _reactMapGlDraw.RenderStates.CLOSING, '#a9a9a9'), (0, _defineProperty2["default"])(_STATE_STYLES_STROKE, _reactMapGlDraw.RenderStates.SELECTED, '#26B5F2'), (0, _defineProperty2["default"])(_STATE_STYLES_STROKE, _reactMapGlDraw.RenderStates.HOVERED, '#26B5F2'), _STATE_STYLES_STROKE);
exports.STATE_STYLES_STROKE = STATE_STYLES_STROKE;
var DEFAULT_STATE_STYLE_FILL = '#000';
exports.DEFAULT_STATE_STYLE_FILL = DEFAULT_STATE_STYLE_FILL;
var STATE_STYLES_FILL = (_STATE_STYLES_FILL = {}, (0, _defineProperty2["default"])(_STATE_STYLES_FILL, _reactMapGlDraw.RenderStates.INACTIVE, '#333333'), (0, _defineProperty2["default"])(_STATE_STYLES_FILL, _reactMapGlDraw.RenderStates.HOVERED, '#7ac943'), (0, _defineProperty2["default"])(_STATE_STYLES_FILL, _reactMapGlDraw.RenderStates.SELECTED, '#ffff00'), (0, _defineProperty2["default"])(_STATE_STYLES_FILL, _reactMapGlDraw.RenderStates.UNCOMMITTED, '#a9a9a9'), (0, _defineProperty2["default"])(_STATE_STYLES_FILL, _reactMapGlDraw.RenderStates.CLOSING, '#a9a9a9'), _STATE_STYLES_FILL);
exports.STATE_STYLES_FILL = STATE_STYLES_FILL;
var DEFAULT_STATE_STYLE_OPACITY = 0.1;
exports.DEFAULT_STATE_STYLE_OPACITY = DEFAULT_STATE_STYLE_OPACITY;
var STATE_STYLES_STROKE_WIDTH = 2;
exports.STATE_STYLES_STROKE_WIDTH = STATE_STYLES_STROKE_WIDTH;
var DEFAULT_STROKE_DASH_ARRAY = '4,2';
exports.DEFAULT_STROKE_DASH_ARRAY = DEFAULT_STROKE_DASH_ARRAY;
var RENDER_TYPE_STYLES = (_RENDER_TYPE_STYLES = {}, (0, _defineProperty2["default"])(_RENDER_TYPE_STYLES, _reactMapGlDraw.RenderTypes.POINT, function () {
return {
r: DEFAULT_RADIUS
};
}), (0, _defineProperty2["default"])(_RENDER_TYPE_STYLES, _reactMapGlDraw.RenderTypes.LINE_STRING, function () {
return {
fill: 'none'
};
}), _RENDER_TYPE_STYLES);
exports.RENDER_TYPE_STYLES = RENDER_TYPE_STYLES;
function noOp() {}
function getStyle(_ref) {
var feature = _ref.feature,
state = _ref.state;
var isVisible = (0, _lodash["default"])(feature, ['properties', 'isVisible'], true);
var style = _objectSpread({
stroke: STATE_STYLES_STROKE[state] || DEFAULT_STATE_STYLE_STROKE,
strokeWidth: isVisible ? STATE_STYLES_STROKE_WIDTH : 0,
fill: STATE_STYLES_FILL[state] || DEFAULT_STATE_STYLE_FILL,
fillOpacity: DEFAULT_STATE_STYLE_OPACITY
}, state !== _reactMapGlDraw.RenderStates.SELECTED ? {
strokeDasharray: DEFAULT_STROKE_DASH_ARRAY
} : null);
var renderType = feature.properties ? feature.properties.renderType : feature.renderType;
return _objectSpread({}, style, {}, (RENDER_TYPE_STYLES[renderType] || noOp)(state));
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2VkaXRvci9mZWF0dXJlLXN0eWxlcy5qcyJdLCJuYW1lcyI6WyJERUZBVUxUX1JBRElVUyIsIkRFRkFVTFRfU1RBVEVfU1RZTEVfU1RST0tFIiwiQ09MT1JTIiwiUFJJTUFSWSIsIlNUQVRFX1NUWUxFU19TVFJPS0UiLCJSZW5kZXJTdGF0ZXMiLCJJTkFDVElWRSIsIlVOQ09NTUlUVEVEIiwiQ0xPU0lORyIsIlNFTEVDVEVEIiwiSE9WRVJFRCIsIkRFRkFVTFRfU1RBVEVfU1RZTEVfRklMTCIsIlNUQVRFX1NUWUxFU19GSUxMIiwiREVGQVVMVF9TVEFURV9TVFlMRV9PUEFDSVRZIiwiU1RBVEVfU1RZTEVTX1NUUk9LRV9XSURUSCIsIkRFRkFVTFRfU1RST0tFX0RBU0hfQVJSQVkiLCJSRU5ERVJfVFlQRV9TVFlMRVMiLCJSZW5kZXJUeXBlcyIsIlBPSU5UIiwiciIsIkxJTkVfU1RSSU5HIiwiZmlsbCIsIm5vT3AiLCJnZXRTdHlsZSIsImZlYXR1cmUiLCJzdGF0ZSIsImlzVmlzaWJsZSIsInN0eWxlIiwic3Ryb2tlIiwic3Ryb2tlV2lkdGgiLCJmaWxsT3BhY2l0eSIsInN0cm9rZURhc2hhcnJheSIsInJlbmRlclR5cGUiLCJwcm9wZXJ0aWVzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBb0JBOztBQUNBOztBQUNBOzs7Ozs7OztBQUVPLElBQU1BLGNBQWMsR0FBRyxDQUF2Qjs7QUFDQSxJQUFNQywwQkFBMEIsR0FBR0Msa0JBQU9DLE9BQTFDOztBQUVBLElBQU1DLG1CQUFtQixzRkFDN0JDLDZCQUFhQyxRQURnQixFQUNMLFNBREssMERBRTdCRCw2QkFBYUUsV0FGZ0IsRUFFRixTQUZFLDBEQUc3QkYsNkJBQWFHLE9BSGdCLEVBR04sU0FITSwwREFJN0JILDZCQUFhSSxRQUpnQixFQUlMLFNBSkssMERBSzdCSiw2QkFBYUssT0FMZ0IsRUFLTixTQUxNLHdCQUF6Qjs7QUFRQSxJQUFNQyx3QkFBd0IsR0FBRyxNQUFqQzs7QUFFQSxJQUFNQyxpQkFBaUIsa0ZBQzNCUCw2QkFBYUMsUUFEYyxFQUNILFNBREcsd0RBRTNCRCw2QkFBYUssT0FGYyxFQUVKLFNBRkksd0RBRzNCTCw2QkFBYUksUUFIYyxFQUdILFNBSEcsd0RBSTNCSiw2QkFBYUUsV0FKYyxFQUlBLFNBSkEsd0RBSzNCRiw2QkFBYUcsT0FMYyxFQUtKLFNBTEksc0JBQXZCOztBQVFBLElBQU1LLDJCQUEyQixHQUFHLEdBQXBDOztBQUVBLElBQU1DLHlCQUF5QixHQUFHLENBQWxDOztBQUVBLElBQU1DLHlCQUF5QixHQUFHLEtBQWxDOztBQUVBLElBQU1DLGtCQUFrQixvRkFDNUJDLDRCQUFZQyxLQURnQixFQUNSO0FBQUEsU0FBTztBQUFDQyxJQUFBQSxDQUFDLEVBQUVuQjtBQUFKLEdBQVA7QUFBQSxDQURRLHlEQUU1QmlCLDRCQUFZRyxXQUZnQixFQUVGO0FBQUEsU0FBTztBQUFDQyxJQUFBQSxJQUFJLEVBQUU7QUFBUCxHQUFQO0FBQUEsQ0FGRSx1QkFBeEI7OztBQUtBLFNBQVNDLElBQVQsR0FBZ0IsQ0FBRTs7QUFFbEIsU0FBU0MsUUFBVCxPQUFvQztBQUFBLE1BQWpCQyxPQUFpQixRQUFqQkEsT0FBaUI7QUFBQSxNQUFSQyxLQUFRLFFBQVJBLEtBQVE7QUFDekMsTUFBTUMsU0FBUyxHQUFHLHdCQUFJRixPQUFKLEVBQWEsQ0FBQyxZQUFELEVBQWUsV0FBZixDQUFiLEVBQTBDLElBQTFDLENBQWxCOztBQUNBLE1BQU1HLEtBQUs7QUFDVEMsSUFBQUEsTUFBTSxFQUFFeEIsbUJBQW1CLENBQUNxQixLQUFELENBQW5CLElBQThCeEIsMEJBRDdCO0FBRVQ0QixJQUFBQSxXQUFXLEVBQUVILFNBQVMsR0FBR1oseUJBQUgsR0FBK0IsQ0FGNUM7QUFHVE8sSUFBQUEsSUFBSSxFQUFFVCxpQkFBaUIsQ0FBQ2EsS0FBRCxDQUFqQixJQUE0QmQsd0JBSHpCO0FBSVRtQixJQUFBQSxXQUFXLEVBQUVqQjtBQUpKLEtBS0xZLEtBQUssS0FBS3BCLDZCQUFhSSxRQUF2QixHQUFrQztBQUFDc0IsSUFBQUEsZUFBZSxFQUFFaEI7QUFBbEIsR0FBbEMsR0FBaUYsSUFMNUUsQ0FBWDs7QUFRQSxNQUFNaUIsVUFBVSxHQUFHUixPQUFPLENBQUNTLFVBQVIsR0FBcUJULE9BQU8sQ0FBQ1MsVUFBUixDQUFtQkQsVUFBeEMsR0FBcURSLE9BQU8sQ0FBQ1EsVUFBaEY7QUFFQSwyQkFDS0wsS0FETCxNQUVLLENBQUNYLGtCQUFrQixDQUFDZ0IsVUFBRCxDQUFsQixJQUFrQ1YsSUFBbkMsRUFBeUNHLEtBQXpDLENBRkw7QUFJRCIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMCBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCB7UmVuZGVyU3RhdGVzLCBSZW5kZXJUeXBlc30gZnJvbSAncmVhY3QtbWFwLWdsLWRyYXcnO1xuaW1wb3J0IGdldCBmcm9tICdsb2Rhc2guZ2V0JztcbmltcG9ydCB7Q09MT1JTfSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX1JBRElVUyA9IDU7XG5leHBvcnQgY29uc3QgREVGQVVMVF9TVEFURV9TVFlMRV9TVFJPS0UgPSBDT0xPUlMuUFJJTUFSWTtcblxuZXhwb3J0IGNvbnN0IFNUQVRFX1NUWUxFU19TVFJPS0UgPSB7XG4gIFtSZW5kZXJTdGF0ZXMuSU5BQ1RJVkVdOiAnIzI2QjVGMicsXG4gIFtSZW5kZXJTdGF0ZXMuVU5DT01NSVRURURdOiAnI2E5YTlhOScsXG4gIFtSZW5kZXJTdGF0ZXMuQ0xPU0lOR106ICcjYTlhOWE5JyxcbiAgW1JlbmRlclN0YXRlcy5TRUxFQ1RFRF06ICcjMjZCNUYyJyxcbiAgW1JlbmRlclN0YXRlcy5IT1ZFUkVEXTogJyMyNkI1RjInXG59O1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9TVEFURV9TVFlMRV9GSUxMID0gJyMwMDAnO1xuXG5leHBvcnQgY29uc3QgU1RBVEVfU1RZTEVTX0ZJTEwgPSB7XG4gIFtSZW5kZXJTdGF0ZXMuSU5BQ1RJVkVdOiAnIzMzMzMzMycsXG4gIFtSZW5kZXJTdGF0ZXMuSE9WRVJFRF06ICcjN2FjOTQzJyxcbiAgW1JlbmRlclN0YXRlcy5TRUxFQ1RFRF06ICcjZmZmZjAwJyxcbiAgW1JlbmRlclN0YXRlcy5VTkNPTU1JVFRFRF06ICcjYTlhOWE5JyxcbiAgW1JlbmRlclN0YXRlcy5DTE9TSU5HXTogJyNhOWE5YTknXG59O1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9TVEFURV9TVFlMRV9PUEFDSVRZID0gMC4xO1xuXG5leHBvcnQgY29uc3QgU1RBVEVfU1RZTEVTX1NUUk9LRV9XSURUSCA9IDI7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX1NUUk9LRV9EQVNIX0FSUkFZID0gJzQsMic7XG5cbmV4cG9ydCBjb25zdCBSRU5ERVJfVFlQRV9TVFlMRVMgPSB7XG4gIFtSZW5kZXJUeXBlcy5QT0lOVF06ICgpID0+ICh7cjogREVGQVVMVF9SQURJVVN9KSxcbiAgW1JlbmRlclR5cGVzLkxJTkVfU1RSSU5HXTogKCkgPT4gKHtmaWxsOiAnbm9uZSd9KVxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIG5vT3AoKSB7fVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3R5bGUoe2ZlYXR1cmUsIHN0YXRlfSkge1xuICBjb25zdCBpc1Zpc2libGUgPSBnZXQoZmVhdHVyZSwgWydwcm9wZXJ0aWVzJywgJ2lzVmlzaWJsZSddLCB0cnVlKTtcbiAgY29uc3Qgc3R5bGUgPSB7XG4gICAgc3Ryb2tlOiBTVEFURV9TVFlMRVNfU1RST0tFW3N0YXRlXSB8fCBERUZBVUxUX1NUQVRFX1NUWUxFX1NUUk9LRSxcbiAgICBzdHJva2VXaWR0aDogaXNWaXNpYmxlID8gU1RBVEVfU1RZTEVTX1NUUk9LRV9XSURUSCA6IDAsXG4gICAgZmlsbDogU1RBVEVfU1RZTEVTX0ZJTExbc3RhdGVdIHx8IERFRkFVTFRfU1RBVEVfU1RZTEVfRklMTCxcbiAgICBmaWxsT3BhY2l0eTogREVGQVVMVF9TVEFURV9TVFlMRV9PUEFDSVRZLFxuICAgIC4uLihzdGF0ZSAhPT0gUmVuZGVyU3RhdGVzLlNFTEVDVEVEID8ge3N0cm9rZURhc2hhcnJheTogREVGQVVMVF9TVFJPS0VfREFTSF9BUlJBWX0gOiBudWxsKVxuICB9O1xuXG4gIGNvbnN0IHJlbmRlclR5cGUgPSBmZWF0dXJlLnByb3BlcnRpZXMgPyBmZWF0dXJlLnByb3BlcnRpZXMucmVuZGVyVHlwZSA6IGZlYXR1cmUucmVuZGVyVHlwZTtcblxuICByZXR1cm4ge1xuICAgIC4uLnN0eWxlLFxuICAgIC4uLihSRU5ERVJfVFlQRV9TVFlMRVNbcmVuZGVyVHlwZV0gfHwgbm9PcCkoc3RhdGUpXG4gIH07XG59XG4iXX0=
;