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(_objectSpread({}, style), (RENDER_TYPE_STYLES[renderType] || noOp)());
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2VkaXRvci9mZWF0dXJlLXN0eWxlcy5qcyJdLCJuYW1lcyI6WyJERUZBVUxUX1JBRElVUyIsIkRFRkFVTFRfU1RBVEVfU1RZTEVfU1RST0tFIiwiQ09MT1JTIiwiUFJJTUFSWSIsIlNUQVRFX1NUWUxFU19TVFJPS0UiLCJSZW5kZXJTdGF0ZXMiLCJJTkFDVElWRSIsIlVOQ09NTUlUVEVEIiwiQ0xPU0lORyIsIlNFTEVDVEVEIiwiSE9WRVJFRCIsIkRFRkFVTFRfU1RBVEVfU1RZTEVfRklMTCIsIlNUQVRFX1NUWUxFU19GSUxMIiwiREVGQVVMVF9TVEFURV9TVFlMRV9PUEFDSVRZIiwiU1RBVEVfU1RZTEVTX1NUUk9LRV9XSURUSCIsIkRFRkFVTFRfU1RST0tFX0RBU0hfQVJSQVkiLCJSRU5ERVJfVFlQRV9TVFlMRVMiLCJSZW5kZXJUeXBlcyIsIlBPSU5UIiwiciIsIkxJTkVfU1RSSU5HIiwiZmlsbCIsIm5vT3AiLCJnZXRTdHlsZSIsImZlYXR1cmUiLCJzdGF0ZSIsImlzVmlzaWJsZSIsInN0eWxlIiwic3Ryb2tlIiwic3Ryb2tlV2lkdGgiLCJmaWxsT3BhY2l0eSIsInN0cm9rZURhc2hhcnJheSIsInJlbmRlclR5cGUiLCJwcm9wZXJ0aWVzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBb0JBOztBQUNBOztBQUNBOzs7Ozs7OztBQUVPLElBQU1BLGNBQWMsR0FBRyxDQUF2Qjs7QUFDQSxJQUFNQywwQkFBMEIsR0FBR0Msa0JBQU9DLE9BQTFDOztBQUVBLElBQU1DLG1CQUFtQixzRkFDN0JDLDZCQUFhQyxRQURnQixFQUNMLFNBREssMERBRTdCRCw2QkFBYUUsV0FGZ0IsRUFFRixTQUZFLDBEQUc3QkYsNkJBQWFHLE9BSGdCLEVBR04sU0FITSwwREFJN0JILDZCQUFhSSxRQUpnQixFQUlMLFNBSkssMERBSzdCSiw2QkFBYUssT0FMZ0IsRUFLTixTQUxNLHdCQUF6Qjs7QUFRQSxJQUFNQyx3QkFBd0IsR0FBRyxNQUFqQzs7QUFFQSxJQUFNQyxpQkFBaUIsa0ZBQzNCUCw2QkFBYUMsUUFEYyxFQUNILFNBREcsd0RBRTNCRCw2QkFBYUssT0FGYyxFQUVKLFNBRkksd0RBRzNCTCw2QkFBYUksUUFIYyxFQUdILFNBSEcsd0RBSTNCSiw2QkFBYUUsV0FKYyxFQUlBLFNBSkEsd0RBSzNCRiw2QkFBYUcsT0FMYyxFQUtKLFNBTEksc0JBQXZCOztBQVFBLElBQU1LLDJCQUEyQixHQUFHLEdBQXBDOztBQUVBLElBQU1DLHlCQUF5QixHQUFHLENBQWxDOztBQUVBLElBQU1DLHlCQUF5QixHQUFHLEtBQWxDOztBQUVBLElBQU1DLGtCQUFrQixvRkFDNUJDLDRCQUFZQyxLQURnQixFQUNSO0FBQUEsU0FBTztBQUFDQyxJQUFBQSxDQUFDLEVBQUVuQjtBQUFKLEdBQVA7QUFBQSxDQURRLHlEQUU1QmlCLDRCQUFZRyxXQUZnQixFQUVGO0FBQUEsU0FBTztBQUFDQyxJQUFBQSxJQUFJLEVBQUU7QUFBUCxHQUFQO0FBQUEsQ0FGRSx1QkFBeEI7OztBQUtBLFNBQVNDLElBQVQsR0FBZ0IsQ0FBRTs7QUFFbEIsU0FBU0MsUUFBVCxPQUFvQztBQUFBLE1BQWpCQyxPQUFpQixRQUFqQkEsT0FBaUI7QUFBQSxNQUFSQyxLQUFRLFFBQVJBLEtBQVE7QUFDekMsTUFBTUMsU0FBUyxHQUFHLHdCQUFJRixPQUFKLEVBQWEsQ0FBQyxZQUFELEVBQWUsV0FBZixDQUFiLEVBQTBDLElBQTFDLENBQWxCOztBQUNBLE1BQU1HLEtBQUs7QUFDVEMsSUFBQUEsTUFBTSxFQUFFeEIsbUJBQW1CLENBQUNxQixLQUFELENBQW5CLElBQThCeEIsMEJBRDdCO0FBRVQ0QixJQUFBQSxXQUFXLEVBQUVILFNBQVMsR0FBR1oseUJBQUgsR0FBK0IsQ0FGNUM7QUFHVE8sSUFBQUEsSUFBSSxFQUFFVCxpQkFBaUIsQ0FBQ2EsS0FBRCxDQUFqQixJQUE0QmQsd0JBSHpCO0FBSVRtQixJQUFBQSxXQUFXLEVBQUVqQjtBQUpKLEtBS0xZLEtBQUssS0FBS3BCLDZCQUFhSSxRQUF2QixHQUFrQztBQUFDc0IsSUFBQUEsZUFBZSxFQUFFaEI7QUFBbEIsR0FBbEMsR0FBaUYsSUFMNUUsQ0FBWDs7QUFRQSxNQUFNaUIsVUFBVSxHQUFHUixPQUFPLENBQUNTLFVBQVIsR0FBcUJULE9BQU8sQ0FBQ1MsVUFBUixDQUFtQkQsVUFBeEMsR0FBcURSLE9BQU8sQ0FBQ1EsVUFBaEY7QUFFQSx5Q0FDS0wsS0FETCxHQUVLLENBQUNYLGtCQUFrQixDQUFDZ0IsVUFBRCxDQUFsQixJQUFrQ1YsSUFBbkMsR0FGTDtBQUlEIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIxIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IHtSZW5kZXJTdGF0ZXMsIFJlbmRlclR5cGVzfSBmcm9tICdyZWFjdC1tYXAtZ2wtZHJhdyc7XG5pbXBvcnQgZ2V0IGZyb20gJ2xvZGFzaC5nZXQnO1xuaW1wb3J0IHtDT0xPUlN9IGZyb20gJy4vY29uc3RhbnRzJztcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfUkFESVVTID0gNTtcbmV4cG9ydCBjb25zdCBERUZBVUxUX1NUQVRFX1NUWUxFX1NUUk9LRSA9IENPTE9SUy5QUklNQVJZO1xuXG5leHBvcnQgY29uc3QgU1RBVEVfU1RZTEVTX1NUUk9LRSA9IHtcbiAgW1JlbmRlclN0YXRlcy5JTkFDVElWRV06ICcjMjZCNUYyJyxcbiAgW1JlbmRlclN0YXRlcy5VTkNPTU1JVFRFRF06ICcjYTlhOWE5JyxcbiAgW1JlbmRlclN0YXRlcy5DTE9TSU5HXTogJyNhOWE5YTknLFxuICBbUmVuZGVyU3RhdGVzLlNFTEVDVEVEXTogJyMyNkI1RjInLFxuICBbUmVuZGVyU3RhdGVzLkhPVkVSRURdOiAnIzI2QjVGMidcbn07XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX1NUQVRFX1NUWUxFX0ZJTEwgPSAnIzAwMCc7XG5cbmV4cG9ydCBjb25zdCBTVEFURV9TVFlMRVNfRklMTCA9IHtcbiAgW1JlbmRlclN0YXRlcy5JTkFDVElWRV06ICcjMzMzMzMzJyxcbiAgW1JlbmRlclN0YXRlcy5IT1ZFUkVEXTogJyM3YWM5NDMnLFxuICBbUmVuZGVyU3RhdGVzLlNFTEVDVEVEXTogJyNmZmZmMDAnLFxuICBbUmVuZGVyU3RhdGVzLlVOQ09NTUlUVEVEXTogJyNhOWE5YTknLFxuICBbUmVuZGVyU3RhdGVzLkNMT1NJTkddOiAnI2E5YTlhOSdcbn07XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX1NUQVRFX1NUWUxFX09QQUNJVFkgPSAwLjE7XG5cbmV4cG9ydCBjb25zdCBTVEFURV9TVFlMRVNfU1RST0tFX1dJRFRIID0gMjtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfU1RST0tFX0RBU0hfQVJSQVkgPSAnNCwyJztcblxuZXhwb3J0IGNvbnN0IFJFTkRFUl9UWVBFX1NUWUxFUyA9IHtcbiAgW1JlbmRlclR5cGVzLlBPSU5UXTogKCkgPT4gKHtyOiBERUZBVUxUX1JBRElVU30pLFxuICBbUmVuZGVyVHlwZXMuTElORV9TVFJJTkddOiAoKSA9PiAoe2ZpbGw6ICdub25lJ30pXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gbm9PcCgpIHt9XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTdHlsZSh7ZmVhdHVyZSwgc3RhdGV9KSB7XG4gIGNvbnN0IGlzVmlzaWJsZSA9IGdldChmZWF0dXJlLCBbJ3Byb3BlcnRpZXMnLCAnaXNWaXNpYmxlJ10sIHRydWUpO1xuICBjb25zdCBzdHlsZSA9IHtcbiAgICBzdHJva2U6IFNUQVRFX1NUWUxFU19TVFJPS0Vbc3RhdGVdIHx8IERFRkFVTFRfU1RBVEVfU1RZTEVfU1RST0tFLFxuICAgIHN0cm9rZVdpZHRoOiBpc1Zpc2libGUgPyBTVEFURV9TVFlMRVNfU1RST0tFX1dJRFRIIDogMCxcbiAgICBmaWxsOiBTVEFURV9TVFlMRVNfRklMTFtzdGF0ZV0gfHwgREVGQVVMVF9TVEFURV9TVFlMRV9GSUxMLFxuICAgIGZpbGxPcGFjaXR5OiBERUZBVUxUX1NUQVRFX1NUWUxFX09QQUNJVFksXG4gICAgLi4uKHN0YXRlICE9PSBSZW5kZXJTdGF0ZXMuU0VMRUNURUQgPyB7c3Ryb2tlRGFzaGFycmF5OiBERUZBVUxUX1NUUk9LRV9EQVNIX0FSUkFZfSA6IG51bGwpXG4gIH07XG5cbiAgY29uc3QgcmVuZGVyVHlwZSA9IGZlYXR1cmUucHJvcGVydGllcyA/IGZlYXR1cmUucHJvcGVydGllcy5yZW5kZXJUeXBlIDogZmVhdHVyZS5yZW5kZXJUeXBlO1xuXG4gIHJldHVybiB7XG4gICAgLi4uc3R5bGUsXG4gICAgLi4uKFJFTkRFUl9UWVBFX1NUWUxFU1tyZW5kZXJUeXBlXSB8fCBub09wKSgpXG4gIH07XG59XG4iXX0=