Fix private scope type issues in controls
This commit is contained in:
@@ -49,7 +49,7 @@ class Attribution extends Control {
|
||||
|
||||
super({
|
||||
element: document.createElement('div'),
|
||||
render: options.render || render,
|
||||
render: options.render,
|
||||
target: options.target,
|
||||
});
|
||||
|
||||
@@ -328,15 +328,15 @@ class Attribution extends Control {
|
||||
getCollapsed() {
|
||||
return this.collapsed_;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the attribution element.
|
||||
* @param {import("../MapEvent.js").default} mapEvent Map event.
|
||||
* @this {Attribution}
|
||||
* @override
|
||||
*/
|
||||
export function render(mapEvent) {
|
||||
render(mapEvent) {
|
||||
this.updateElement_(mapEvent.frameState);
|
||||
}
|
||||
}
|
||||
|
||||
export default Attribution;
|
||||
|
||||
@@ -74,11 +74,9 @@ class Control extends BaseObject {
|
||||
*/
|
||||
this.listenerKeys = [];
|
||||
|
||||
/**
|
||||
* @private
|
||||
* @type {function(import("../MapEvent.js").default): void}
|
||||
*/
|
||||
this.render_ = options.render ? options.render : VOID;
|
||||
if (options.render) {
|
||||
this.render = options.render;
|
||||
}
|
||||
|
||||
if (options.target) {
|
||||
this.setTarget(options.target);
|
||||
@@ -133,14 +131,11 @@ class Control extends BaseObject {
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the projection. Rendering of the coordinates is done in
|
||||
* `handleMouseMove` and `handleMouseUp`.
|
||||
* Renders the control.
|
||||
* @param {import("../MapEvent.js").default} mapEvent Map event.
|
||||
* @api
|
||||
*/
|
||||
render(mapEvent) {
|
||||
this.render_.call(this, mapEvent);
|
||||
}
|
||||
render(mapEvent) {}
|
||||
|
||||
/**
|
||||
* This function is used to set a target element for the control. It has no
|
||||
|
||||
@@ -66,7 +66,7 @@ class MousePosition extends Control {
|
||||
|
||||
super({
|
||||
element: element,
|
||||
render: options.render || render,
|
||||
render: options.render,
|
||||
target: options.target,
|
||||
});
|
||||
|
||||
@@ -251,15 +251,14 @@ class MousePosition extends Control {
|
||||
this.renderedHTML_ = html;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the projection. Rendering of the coordinates is done in
|
||||
* `handleMouseMove` and `handleMouseUp`.
|
||||
* @param {import("../MapEvent.js").default} mapEvent Map event.
|
||||
* @this {MousePosition}
|
||||
* @override
|
||||
*/
|
||||
export function render(mapEvent) {
|
||||
render(mapEvent) {
|
||||
const frameState = mapEvent.frameState;
|
||||
if (!frameState) {
|
||||
this.mapProjection_ = null;
|
||||
@@ -270,5 +269,6 @@ export function render(mapEvent) {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export default MousePosition;
|
||||
|
||||
@@ -81,7 +81,7 @@ class OverviewMap extends Control {
|
||||
|
||||
super({
|
||||
element: document.createElement('div'),
|
||||
render: options.render || render,
|
||||
render: options.render,
|
||||
target: options.target,
|
||||
});
|
||||
|
||||
@@ -644,16 +644,16 @@ class OverviewMap extends Control {
|
||||
getOverviewMap() {
|
||||
return this.ovmap_;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the overview map element.
|
||||
* @param {import("../MapEvent.js").default} mapEvent Map event.
|
||||
* @this {OverviewMap}
|
||||
* @override
|
||||
*/
|
||||
export function render(mapEvent) {
|
||||
render(mapEvent) {
|
||||
this.validateExtent_();
|
||||
this.updateBox_();
|
||||
}
|
||||
}
|
||||
|
||||
export default OverviewMap;
|
||||
|
||||
@@ -39,7 +39,7 @@ class Rotate extends Control {
|
||||
|
||||
super({
|
||||
element: document.createElement('div'),
|
||||
render: options.render || render,
|
||||
render: options.render,
|
||||
target: options.target,
|
||||
});
|
||||
|
||||
@@ -145,14 +145,13 @@ class Rotate extends Control {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the rotate control element.
|
||||
* @param {import("../MapEvent.js").default} mapEvent Map event.
|
||||
* @this {Rotate}
|
||||
* @override
|
||||
*/
|
||||
export function render(mapEvent) {
|
||||
render(mapEvent) {
|
||||
const frameState = mapEvent.frameState;
|
||||
if (!frameState) {
|
||||
return;
|
||||
@@ -172,5 +171,6 @@ export function render(mapEvent) {
|
||||
}
|
||||
this.rotation_ = rotation;
|
||||
}
|
||||
}
|
||||
|
||||
export default Rotate;
|
||||
|
||||
@@ -87,7 +87,7 @@ class ScaleLine extends Control {
|
||||
|
||||
super({
|
||||
element: document.createElement('div'),
|
||||
render: options.render || render,
|
||||
render: options.render,
|
||||
target: options.target,
|
||||
});
|
||||
|
||||
@@ -471,14 +471,13 @@ class ScaleLine extends Control {
|
||||
const inchesPerMeter = 39.37;
|
||||
return parseFloat(resolution.toString()) * mpu * inchesPerMeter * dpi;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the scale line element.
|
||||
* @param {import("../MapEvent.js").default} mapEvent Map event.
|
||||
* @this {ScaleLine}
|
||||
* @override
|
||||
*/
|
||||
export function render(mapEvent) {
|
||||
render(mapEvent) {
|
||||
const frameState = mapEvent.frameState;
|
||||
if (!frameState) {
|
||||
this.viewState_ = null;
|
||||
@@ -487,5 +486,6 @@ export function render(mapEvent) {
|
||||
}
|
||||
this.updateElement_();
|
||||
}
|
||||
}
|
||||
|
||||
export default ScaleLine;
|
||||
|
||||
@@ -49,7 +49,7 @@ class ZoomSlider extends Control {
|
||||
|
||||
super({
|
||||
element: document.createElement('div'),
|
||||
render: options.render || render,
|
||||
render: options.render,
|
||||
});
|
||||
|
||||
/**
|
||||
@@ -356,14 +356,13 @@ class ZoomSlider extends Control {
|
||||
const fn = this.getMap().getView().getValueForResolutionFunction();
|
||||
return clamp(1 - fn(res), 0, 1);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the zoomslider element.
|
||||
* @param {import("../MapEvent.js").default} mapEvent Map event.
|
||||
* @this {ZoomSlider}
|
||||
* @override
|
||||
*/
|
||||
export function render(mapEvent) {
|
||||
render(mapEvent) {
|
||||
if (!mapEvent.frameState) {
|
||||
return;
|
||||
}
|
||||
@@ -374,5 +373,6 @@ export function render(mapEvent) {
|
||||
this.currentResolution_ = res;
|
||||
this.setThumbPosition_(res);
|
||||
}
|
||||
}
|
||||
|
||||
export default ZoomSlider;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import Map from '../../../../src/ol/Map.js';
|
||||
import Projection from '../../../../src/ol/proj/Projection.js';
|
||||
import ScaleLine, {render} from '../../../../src/ol/control/ScaleLine.js';
|
||||
import ScaleLine from '../../../../src/ol/control/ScaleLine.js';
|
||||
import View from '../../../../src/ol/View.js';
|
||||
import proj4 from 'proj4';
|
||||
import {
|
||||
@@ -82,14 +82,14 @@ describe('ol.control.ScaleLine', function () {
|
||||
describe('render', function () {
|
||||
it('defaults to `ol.control.ScaleLine.render`', function () {
|
||||
const ctrl = new ScaleLine();
|
||||
expect(ctrl.render_).to.be(render);
|
||||
expect(ctrl.render).to.be(ScaleLine.prototype.render);
|
||||
});
|
||||
it('can be configured', function () {
|
||||
const myRender = function () {};
|
||||
const ctrl = new ScaleLine({
|
||||
render: myRender,
|
||||
});
|
||||
expect(ctrl.render_).to.be(myRender);
|
||||
expect(ctrl.render).to.be(myRender);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user