rlayers
Version:
React Components for OpenLayers
30 lines • 1.26 kB
JavaScript
import React from 'react';
import { OverviewMap } from 'ol/control';
import { RContext } from '../context';
import { default as RControlBase } from './RControlBase';
/**
* An overview map component
*
* Requires an `RMap` context
*
* Provides an 'RMap` context - allowing to nest overview layers in it
*/
export default class ROverviewMap extends RControlBase {
constructor(props) {
super(props);
this.ol = new OverviewMap(this.toOLProps(props));
}
toOLProps(props) {
return Object.assign(Object.assign({}, super.toOLProps(props)), { collapsible: props.collapsible, collapsed: props.collapsed, label: props.label, collapseLabel: props.collapseLabel });
}
refresh(prevProps) {
super.refresh(prevProps);
if ((prevProps === null || prevProps === void 0 ? void 0 : prevProps.collapsed) !== this.props.collapsed)
this.ol.setCollapsed(this.props.collapsed);
}
render() {
return (React.createElement("div", { className: this.props.className, style: { width: this.props.width, height: this.props.height } },
React.createElement(RContext.Provider, { value: { map: this.ol.getOverviewMap() } }, this.props.children)));
}
}
//# sourceMappingURL=ROverviewMap.js.map