75 lines
2.1 KiB
JavaScript
75 lines
2.1 KiB
JavaScript
"use strict";
|
|
|
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
|
|
exports.__esModule = true;
|
|
exports.default = void 0;
|
|
|
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
|
|
var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
|
|
|
|
var _leaflet = require("leaflet");
|
|
|
|
var _react = _interopRequireDefault(require("react"));
|
|
|
|
var _context = require("./context");
|
|
|
|
var _MapLayer2 = _interopRequireDefault(require("./MapLayer"));
|
|
|
|
var Marker = /*#__PURE__*/function (_MapLayer) {
|
|
(0, _inheritsLoose2.default)(Marker, _MapLayer);
|
|
|
|
function Marker() {
|
|
return _MapLayer.apply(this, arguments) || this;
|
|
}
|
|
|
|
var _proto = Marker.prototype;
|
|
|
|
_proto.createLeafletElement = function createLeafletElement(props) {
|
|
var el = new _leaflet.Marker(props.position, this.getOptions(props));
|
|
this.contextValue = (0, _extends2.default)({}, props.leaflet, {
|
|
popupContainer: el
|
|
});
|
|
return el;
|
|
};
|
|
|
|
_proto.updateLeafletElement = function updateLeafletElement(fromProps, toProps) {
|
|
if (toProps.position !== fromProps.position) {
|
|
this.leafletElement.setLatLng(toProps.position);
|
|
}
|
|
|
|
if (toProps.icon !== fromProps.icon) {
|
|
this.leafletElement.setIcon(toProps.icon);
|
|
}
|
|
|
|
if (toProps.zIndexOffset !== fromProps.zIndexOffset) {
|
|
this.leafletElement.setZIndexOffset(toProps.zIndexOffset);
|
|
}
|
|
|
|
if (toProps.opacity !== fromProps.opacity) {
|
|
this.leafletElement.setOpacity(toProps.opacity);
|
|
}
|
|
|
|
if (toProps.draggable !== fromProps.draggable) {
|
|
if (toProps.draggable === true) {
|
|
this.leafletElement.dragging.enable();
|
|
} else {
|
|
this.leafletElement.dragging.disable();
|
|
}
|
|
}
|
|
};
|
|
|
|
_proto.render = function render() {
|
|
var children = this.props.children;
|
|
return children == null || this.contextValue == null ? null : /*#__PURE__*/_react.default.createElement(_context.LeafletProvider, {
|
|
value: this.contextValue
|
|
}, children);
|
|
};
|
|
|
|
return Marker;
|
|
}(_MapLayer2.default);
|
|
|
|
var _default = (0, _context.withLeaflet)(Marker);
|
|
|
|
exports.default = _default; |