61 lines
1.8 KiB
JavaScript
61 lines
1.8 KiB
JavaScript
"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; |