UNPKG

@hackoregon/component-library

Version:

Official repo for Hack Oregon React component library

70 lines (61 loc) 2.44 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _react = _interopRequireDefault(require("react")); var _deck = require("deck.gl"); var _shortid = _interopRequireDefault(require("shortid")); var _propTypes = require("prop-types"); var _mapStyles = _interopRequireDefault(require("./mapStyles")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } var MultiScreenGridMap = function MultiScreenGridMap(props) { var id = props.id, data = props.data, _props$pickable = props.pickable, pickable = _props$pickable === void 0 ? true : _props$pickable, _props$civicColor = props.civicColor, civicColor = _props$civicColor === void 0 ? "thermal" : _props$civicColor, _props$opacity = props.opacity, opacity = _props$opacity === void 0 ? 0.7 : _props$opacity, _props$getPosition = props.getPosition, getPosition = _props$getPosition === void 0 ? function (f) { return f.geometry.coordinates; } : _props$getPosition, _props$squareSize = props.squareSize, squareSize = _props$squareSize === void 0 ? 10 : _props$squareSize, _props$autoHighlight = props.autoHighlight, autoHighlight = _props$autoHighlight === void 0 ? true : _props$autoHighlight, _props$highlightColor = props.highlightColor, highlightColor = _props$highlightColor === void 0 ? [255, 255, 0, 100] : _props$highlightColor; var colorRange = _mapStyles["default"][civicColor]; return _react["default"].createElement(_deck.ScreenGridLayer, { key: _shortid["default"].generate(), id: id, pickable: pickable, data: data, getPosition: getPosition, opacity: opacity, colorRange: colorRange, cellSizePixels: squareSize, autoHighlight: autoHighlight, highlightColor: highlightColor, gpuAggregation: false, updateTriggers: { colorRange: colorRange } }); }; MultiScreenGridMap.propTypes = { id: _propTypes.string.isRequired, data: (0, _propTypes.arrayOf)((0, _propTypes.shape)({})).isRequired, pickable: _propTypes.bool, civicColor: _propTypes.string, opacity: _propTypes.number, getPosition: _propTypes.func, squareSize: _propTypes.number, autoHighlight: _propTypes.bool, highlightColor: (0, _propTypes.arrayOf)(_propTypes.number) }; var _default = MultiScreenGridMap; exports["default"] = _default;