"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports.default = void 0; var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized")); var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _leaflet = require("leaflet"); var _react = require("react"); var MapControl = /*#__PURE__*/function (_Component) { (0, _inheritsLoose2.default)(MapControl, _Component); function MapControl(props) { var _this; _this = _Component.call(this, props) || this; (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "leafletElement", void 0); _this.leafletElement = _this.createLeafletElement(_this.props); return _this; } var _proto = MapControl.prototype; _proto.createLeafletElement = function createLeafletElement(_props) { throw new Error('createLeafletElement() must be implemented'); }; _proto.updateLeafletElement = function updateLeafletElement(fromProps, toProps) { if (toProps.position !== fromProps.position) { this.leafletElement.setPosition(toProps.position); } }; _proto.componentDidMount = function componentDidMount() { this.leafletElement.addTo(this.props.leaflet.map); }; _proto.componentDidUpdate = function componentDidUpdate(prevProps) { this.updateLeafletElement(prevProps, this.props); }; _proto.componentWillUnmount = function componentWillUnmount() { this.leafletElement.remove(); }; _proto.render = function render() { return null; }; return MapControl; }(_react.Component); exports.default = MapControl;