jam-cloud/jam-ui/node_modules/react-leaflet/lib/MapLayer.js

93 lines
3.0 KiB
JavaScript

"use strict";
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.default = void 0;
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
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 _react = _interopRequireWildcard(require("react"));
var _context = require("./context");
var _MapComponent2 = _interopRequireDefault(require("./MapComponent"));
var MapLayer = /*#__PURE__*/function (_MapComponent) {
(0, _inheritsLoose2.default)(MapLayer, _MapComponent);
function MapLayer(props) {
var _this;
_this = _MapComponent.call(this, props) || this;
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "contextValue", void 0);
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "leafletElement", void 0);
_this.leafletElement = _this.createLeafletElement(props);
return _this;
}
var _proto = MapLayer.prototype;
_proto.createLeafletElement = function createLeafletElement(_props) {
throw new Error('createLeafletElement() must be implemented');
};
_proto.updateLeafletElement = function updateLeafletElement(_fromProps, _toProps) {};
_proto.componentDidMount = function componentDidMount() {
_MapComponent.prototype.componentDidMount.call(this);
this.layerContainer.addLayer(this.leafletElement);
};
_proto.componentDidUpdate = function componentDidUpdate(prevProps) {
_MapComponent.prototype.componentDidUpdate.call(this, prevProps);
if (this.props.attribution !== prevProps.attribution) {
var map = this.props.leaflet.map;
if (map != null && map.attributionControl != null) {
map.attributionControl.removeAttribution(prevProps.attribution);
map.attributionControl.addAttribution(this.props.attribution);
}
}
this.updateLeafletElement(prevProps, this.props);
};
_proto.componentWillUnmount = function componentWillUnmount() {
_MapComponent.prototype.componentWillUnmount.call(this);
this.layerContainer.removeLayer(this.leafletElement);
};
_proto.render = function render() {
var children = this.props.children;
if (children == null) {
return null;
}
return this.contextValue == null ? /*#__PURE__*/_react.default.createElement(_react.Fragment, null, children) : /*#__PURE__*/_react.default.createElement(_context.LeafletProvider, {
value: this.contextValue
}, children);
};
(0, _createClass2.default)(MapLayer, [{
key: "layerContainer",
get: function get() {
return this.props.leaflet.layerContainer || this.props.leaflet.map;
}
}]);
return MapLayer;
}(_MapComponent2.default);
exports.default = MapLayer;