Merge pull request #8753 from wallw-bits/fix-typecheck-pluggablemap

Fix type check in ol/PluggableMap.js
This commit is contained in:
Andreas Hocevar
2018-10-03 19:33:12 +02:00
committed by GitHub
+19 -8
View File
@@ -464,6 +464,10 @@ class PluggableMap extends BaseObject {
} }
/**
* @abstract
* @return {import("./renderer/Map.js").default} The map renderer
*/
createRenderer() { createRenderer() {
throw new Error('Use a map type that has a createRenderer method'); throw new Error('Use a map type that has a createRenderer method');
} }
@@ -565,7 +569,8 @@ class PluggableMap extends BaseObject {
return; return;
} }
const coordinate = this.getCoordinateFromPixel(pixel); const coordinate = this.getCoordinateFromPixel(pixel);
opt_options = opt_options !== undefined ? opt_options : {}; opt_options = opt_options !== undefined ? opt_options :
/** @type {AtPixelOptions} */ ({});
const hitTolerance = opt_options.hitTolerance !== undefined ? const hitTolerance = opt_options.hitTolerance !== undefined ?
opt_options.hitTolerance * this.frameState_.pixelRatio : 0; opt_options.hitTolerance * this.frameState_.pixelRatio : 0;
const layerFilter = opt_options.layerFilter !== undefined ? const layerFilter = opt_options.layerFilter !== undefined ?
@@ -637,7 +642,8 @@ class PluggableMap extends BaseObject {
return false; return false;
} }
const coordinate = this.getCoordinateFromPixel(pixel); const coordinate = this.getCoordinateFromPixel(pixel);
opt_options = opt_options !== undefined ? opt_options : {}; opt_options = opt_options !== undefined ? opt_options :
/** @type {AtPixelOptions} */ ({});
const layerFilter = opt_options.layerFilter !== undefined ? opt_options.layerFilter : TRUE; const layerFilter = opt_options.layerFilter !== undefined ? opt_options.layerFilter : TRUE;
const hitTolerance = opt_options.hitTolerance !== undefined ? const hitTolerance = opt_options.hitTolerance !== undefined ?
opt_options.hitTolerance * this.frameState_.pixelRatio : 0; opt_options.hitTolerance * this.frameState_.pixelRatio : 0;
@@ -663,7 +669,10 @@ class PluggableMap extends BaseObject {
*/ */
getEventPixel(event) { getEventPixel(event) {
const viewportPosition = this.viewport_.getBoundingClientRect(); const viewportPosition = this.viewport_.getBoundingClientRect();
const eventPosition = event.changedTouches ? event.changedTouches[0] : event; const eventPosition = 'changedTouches' in event ?
/** @type {TouchEvent} */ (event).changedTouches[0] :
/** @type {MouseEvent} */ (event);
return [ return [
eventPosition.clientX - viewportPosition.left, eventPosition.clientX - viewportPosition.left,
eventPosition.clientY - viewportPosition.top eventPosition.clientY - viewportPosition.top
@@ -1059,7 +1068,7 @@ class PluggableMap extends BaseObject {
} }
const view = this.getView(); const view = this.getView();
if (view) { if (view) {
this.viewport_.setAttribute('data-view', getUid(view)); this.viewport_.setAttribute('data-view', getUid(view).toString());
this.viewPropertyListenerKey_ = listen( this.viewPropertyListenerKey_ = listen(
view, ObjectEventType.PROPERTYCHANGE, view, ObjectEventType.PROPERTYCHANGE,
this.handleViewPropertyChanged_, this); this.handleViewPropertyChanged_, this);
@@ -1423,10 +1432,12 @@ function getLoading(layers) {
const layer = layers[i]; const layer = layers[i];
if (layer instanceof LayerGroup) { if (layer instanceof LayerGroup) {
return getLoading(layer.getLayers().getArray()); return getLoading(layer.getLayers().getArray());
} } else {
const source = layers[i].getSource(); const source = /** @type {import("./layer/Layer.js").default} */ (
if (source && source.loading) { layer).getSource();
return true; if (source && source.loading) {
return true;
}
} }
} }
return false; return false;