This commit is contained in:
122
node_modules/ol/src/MapBrowserEvent.js
generated
vendored
Normal file
122
node_modules/ol/src/MapBrowserEvent.js
generated
vendored
Normal file
@@ -0,0 +1,122 @@
|
||||
/**
|
||||
* @module ol/MapBrowserEvent
|
||||
*/
|
||||
import MapEvent from './MapEvent.js';
|
||||
|
||||
/**
|
||||
* @classdesc
|
||||
* Events emitted as map browser events are instances of this type.
|
||||
* See {@link module:ol/PluggableMap~PluggableMap} for which events trigger a map browser event.
|
||||
* @template {UIEvent} EVENT
|
||||
*/
|
||||
class MapBrowserEvent extends MapEvent {
|
||||
/**
|
||||
* @param {string} type Event type.
|
||||
* @param {import("./PluggableMap.js").default} map Map.
|
||||
* @param {EVENT} originalEvent Original event.
|
||||
* @param {boolean} [opt_dragging] Is the map currently being dragged?
|
||||
* @param {import("./PluggableMap.js").FrameState} [opt_frameState] Frame state.
|
||||
* @param {Array<PointerEvent>} [opt_activePointers] Active pointers.
|
||||
*/
|
||||
constructor(
|
||||
type,
|
||||
map,
|
||||
originalEvent,
|
||||
opt_dragging,
|
||||
opt_frameState,
|
||||
opt_activePointers
|
||||
) {
|
||||
super(type, map, opt_frameState);
|
||||
|
||||
/**
|
||||
* The original browser event.
|
||||
* @const
|
||||
* @type {EVENT}
|
||||
* @api
|
||||
*/
|
||||
this.originalEvent = originalEvent;
|
||||
|
||||
/**
|
||||
* The map pixel relative to the viewport corresponding to the original browser event.
|
||||
* @type {?import("./pixel.js").Pixel}
|
||||
*/
|
||||
this.pixel_ = null;
|
||||
|
||||
/**
|
||||
* The coordinate in the user projection corresponding to the original browser event.
|
||||
* @type {?import("./coordinate.js").Coordinate}
|
||||
*/
|
||||
this.coordinate_ = null;
|
||||
|
||||
/**
|
||||
* Indicates if the map is currently being dragged. Only set for
|
||||
* `POINTERDRAG` and `POINTERMOVE` events. Default is `false`.
|
||||
*
|
||||
* @type {boolean}
|
||||
* @api
|
||||
*/
|
||||
this.dragging = opt_dragging !== undefined ? opt_dragging : false;
|
||||
|
||||
/**
|
||||
* @type {Array<PointerEvent>|undefined}
|
||||
*/
|
||||
this.activePointers = opt_activePointers;
|
||||
}
|
||||
|
||||
/**
|
||||
* The map pixel relative to the viewport corresponding to the original event.
|
||||
* @type {import("./pixel.js").Pixel}
|
||||
* @api
|
||||
*/
|
||||
get pixel() {
|
||||
if (!this.pixel_) {
|
||||
this.pixel_ = this.map.getEventPixel(this.originalEvent);
|
||||
}
|
||||
return this.pixel_;
|
||||
}
|
||||
set pixel(pixel) {
|
||||
this.pixel_ = pixel;
|
||||
}
|
||||
|
||||
/**
|
||||
* The coordinate corresponding to the original browser event. This will be in the user
|
||||
* projection if one is set. Otherwise it will be in the view projection.
|
||||
* @type {import("./coordinate.js").Coordinate}
|
||||
* @api
|
||||
*/
|
||||
get coordinate() {
|
||||
if (!this.coordinate_) {
|
||||
this.coordinate_ = this.map.getCoordinateFromPixel(this.pixel);
|
||||
}
|
||||
return this.coordinate_;
|
||||
}
|
||||
set coordinate(coordinate) {
|
||||
this.coordinate_ = coordinate;
|
||||
}
|
||||
|
||||
/**
|
||||
* Prevents the default browser action.
|
||||
* See https://developer.mozilla.org/en-US/docs/Web/API/event.preventDefault.
|
||||
* @api
|
||||
*/
|
||||
preventDefault() {
|
||||
super.preventDefault();
|
||||
if ('preventDefault' in this.originalEvent) {
|
||||
/** @type {UIEvent} */ (this.originalEvent).preventDefault();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Prevents further propagation of the current event.
|
||||
* See https://developer.mozilla.org/en-US/docs/Web/API/event.stopPropagation.
|
||||
* @api
|
||||
*/
|
||||
stopPropagation() {
|
||||
super.stopPropagation();
|
||||
if ('stopPropagation' in this.originalEvent) {
|
||||
/** @type {UIEvent} */ (this.originalEvent).stopPropagation();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export default MapBrowserEvent;
|
||||
Reference in New Issue
Block a user