315 lines
7.5 KiB
JavaScript
315 lines
7.5 KiB
JavaScript
import {
|
|
equals
|
|
} from "./chunk-FQY6EMA7.js";
|
|
import {
|
|
clear
|
|
} from "./chunk-5RHQVMYD.js";
|
|
|
|
// node_modules/ol/events/EventType.js
|
|
var EventType_default = {
|
|
/**
|
|
* Generic change event. Triggered when the revision counter is increased.
|
|
* @event module:ol/events/Event~BaseEvent#change
|
|
* @api
|
|
*/
|
|
CHANGE: "change",
|
|
/**
|
|
* Generic error event. Triggered when an error occurs.
|
|
* @event module:ol/events/Event~BaseEvent#error
|
|
* @api
|
|
*/
|
|
ERROR: "error",
|
|
BLUR: "blur",
|
|
CLEAR: "clear",
|
|
CONTEXTMENU: "contextmenu",
|
|
CLICK: "click",
|
|
DBLCLICK: "dblclick",
|
|
DRAGENTER: "dragenter",
|
|
DRAGOVER: "dragover",
|
|
DROP: "drop",
|
|
FOCUS: "focus",
|
|
KEYDOWN: "keydown",
|
|
KEYPRESS: "keypress",
|
|
LOAD: "load",
|
|
RESIZE: "resize",
|
|
TOUCHMOVE: "touchmove",
|
|
WHEEL: "wheel"
|
|
};
|
|
|
|
// node_modules/ol/Disposable.js
|
|
var Disposable = class {
|
|
constructor() {
|
|
this.disposed = false;
|
|
}
|
|
/**
|
|
* Clean up.
|
|
*/
|
|
dispose() {
|
|
if (!this.disposed) {
|
|
this.disposed = true;
|
|
this.disposeInternal();
|
|
}
|
|
}
|
|
/**
|
|
* Extension point for disposable objects.
|
|
* @protected
|
|
*/
|
|
disposeInternal() {
|
|
}
|
|
};
|
|
var Disposable_default = Disposable;
|
|
|
|
// node_modules/ol/functions.js
|
|
function TRUE() {
|
|
return true;
|
|
}
|
|
function FALSE() {
|
|
return false;
|
|
}
|
|
function VOID() {
|
|
}
|
|
function memoizeOne(fn) {
|
|
let lastResult;
|
|
let lastArgs;
|
|
let lastThis;
|
|
return function() {
|
|
const nextArgs = Array.prototype.slice.call(arguments);
|
|
if (!lastArgs || this !== lastThis || !equals(nextArgs, lastArgs)) {
|
|
lastThis = this;
|
|
lastArgs = nextArgs;
|
|
lastResult = fn.apply(this, arguments);
|
|
}
|
|
return lastResult;
|
|
};
|
|
}
|
|
function toPromise(getter) {
|
|
function promiseGetter() {
|
|
let value;
|
|
try {
|
|
value = getter();
|
|
} catch (err) {
|
|
return Promise.reject(err);
|
|
}
|
|
if (value instanceof Promise) {
|
|
return value;
|
|
}
|
|
return Promise.resolve(value);
|
|
}
|
|
return promiseGetter();
|
|
}
|
|
|
|
// node_modules/ol/events/Event.js
|
|
var BaseEvent = class {
|
|
/**
|
|
* @param {string} type Type.
|
|
*/
|
|
constructor(type) {
|
|
this.propagationStopped;
|
|
this.defaultPrevented;
|
|
this.type = type;
|
|
this.target = null;
|
|
}
|
|
/**
|
|
* Prevent default. This means that no emulated `click`, `singleclick` or `doubleclick` events
|
|
* will be fired.
|
|
* @api
|
|
*/
|
|
preventDefault() {
|
|
this.defaultPrevented = true;
|
|
}
|
|
/**
|
|
* Stop event propagation.
|
|
* @api
|
|
*/
|
|
stopPropagation() {
|
|
this.propagationStopped = true;
|
|
}
|
|
};
|
|
function stopPropagation(evt) {
|
|
evt.stopPropagation();
|
|
}
|
|
var Event_default = BaseEvent;
|
|
|
|
// node_modules/ol/events/Target.js
|
|
var Target = class extends Disposable_default {
|
|
/**
|
|
* @param {*} [target] Default event target for dispatched events.
|
|
*/
|
|
constructor(target) {
|
|
super();
|
|
this.eventTarget_ = target;
|
|
this.pendingRemovals_ = null;
|
|
this.dispatching_ = null;
|
|
this.listeners_ = null;
|
|
}
|
|
/**
|
|
* @param {string} type Type.
|
|
* @param {import("../events.js").Listener} listener Listener.
|
|
*/
|
|
addEventListener(type, listener) {
|
|
if (!type || !listener) {
|
|
return;
|
|
}
|
|
const listeners = this.listeners_ || (this.listeners_ = {});
|
|
const listenersForType = listeners[type] || (listeners[type] = []);
|
|
if (!listenersForType.includes(listener)) {
|
|
listenersForType.push(listener);
|
|
}
|
|
}
|
|
/**
|
|
* Dispatches an event and calls all listeners listening for events
|
|
* of this type. The event parameter can either be a string or an
|
|
* Object with a `type` property.
|
|
*
|
|
* @param {import("./Event.js").default|string} event Event object.
|
|
* @return {boolean|undefined} `false` if anyone called preventDefault on the
|
|
* event object or if any of the listeners returned false.
|
|
* @api
|
|
*/
|
|
dispatchEvent(event) {
|
|
const isString = typeof event === "string";
|
|
const type = isString ? event : event.type;
|
|
const listeners = this.listeners_ && this.listeners_[type];
|
|
if (!listeners) {
|
|
return;
|
|
}
|
|
const evt = isString ? new Event_default(event) : (
|
|
/** @type {Event} */
|
|
event
|
|
);
|
|
if (!evt.target) {
|
|
evt.target = this.eventTarget_ || this;
|
|
}
|
|
const dispatching = this.dispatching_ || (this.dispatching_ = {});
|
|
const pendingRemovals = this.pendingRemovals_ || (this.pendingRemovals_ = {});
|
|
if (!(type in dispatching)) {
|
|
dispatching[type] = 0;
|
|
pendingRemovals[type] = 0;
|
|
}
|
|
++dispatching[type];
|
|
let propagate;
|
|
for (let i = 0, ii = listeners.length; i < ii; ++i) {
|
|
if ("handleEvent" in listeners[i]) {
|
|
propagate = /** @type {import("../events.js").ListenerObject} */
|
|
listeners[i].handleEvent(evt);
|
|
} else {
|
|
propagate = /** @type {import("../events.js").ListenerFunction} */
|
|
listeners[i].call(this, evt);
|
|
}
|
|
if (propagate === false || evt.propagationStopped) {
|
|
propagate = false;
|
|
break;
|
|
}
|
|
}
|
|
if (--dispatching[type] === 0) {
|
|
let pr = pendingRemovals[type];
|
|
delete pendingRemovals[type];
|
|
while (pr--) {
|
|
this.removeEventListener(type, VOID);
|
|
}
|
|
delete dispatching[type];
|
|
}
|
|
return propagate;
|
|
}
|
|
/**
|
|
* Clean up.
|
|
* @override
|
|
*/
|
|
disposeInternal() {
|
|
this.listeners_ && clear(this.listeners_);
|
|
}
|
|
/**
|
|
* Get the listeners for a specified event type. Listeners are returned in the
|
|
* order that they will be called in.
|
|
*
|
|
* @param {string} type Type.
|
|
* @return {Array<import("../events.js").Listener>|undefined} Listeners.
|
|
*/
|
|
getListeners(type) {
|
|
return this.listeners_ && this.listeners_[type] || void 0;
|
|
}
|
|
/**
|
|
* @param {string} [type] Type. If not provided,
|
|
* `true` will be returned if this event target has any listeners.
|
|
* @return {boolean} Has listeners.
|
|
*/
|
|
hasListener(type) {
|
|
if (!this.listeners_) {
|
|
return false;
|
|
}
|
|
return type ? type in this.listeners_ : Object.keys(this.listeners_).length > 0;
|
|
}
|
|
/**
|
|
* @param {string} type Type.
|
|
* @param {import("../events.js").Listener} listener Listener.
|
|
*/
|
|
removeEventListener(type, listener) {
|
|
if (!this.listeners_) {
|
|
return;
|
|
}
|
|
const listeners = this.listeners_[type];
|
|
if (!listeners) {
|
|
return;
|
|
}
|
|
const index = listeners.indexOf(listener);
|
|
if (index !== -1) {
|
|
if (this.pendingRemovals_ && type in this.pendingRemovals_) {
|
|
listeners[index] = VOID;
|
|
++this.pendingRemovals_[type];
|
|
} else {
|
|
listeners.splice(index, 1);
|
|
if (listeners.length === 0) {
|
|
delete this.listeners_[type];
|
|
}
|
|
}
|
|
}
|
|
}
|
|
};
|
|
var Target_default = Target;
|
|
|
|
// node_modules/ol/events.js
|
|
function listen(target, type, listener, thisArg, once) {
|
|
if (once) {
|
|
const originalListener = listener;
|
|
listener = function(event) {
|
|
target.removeEventListener(type, listener);
|
|
return originalListener.call(thisArg ?? this, event);
|
|
};
|
|
} else if (thisArg && thisArg !== target) {
|
|
listener = listener.bind(thisArg);
|
|
}
|
|
const eventsKey = {
|
|
target,
|
|
type,
|
|
listener
|
|
};
|
|
target.addEventListener(type, listener);
|
|
return eventsKey;
|
|
}
|
|
function listenOnce(target, type, listener, thisArg) {
|
|
return listen(target, type, listener, thisArg, true);
|
|
}
|
|
function unlistenByKey(key) {
|
|
if (key && key.target) {
|
|
key.target.removeEventListener(key.type, key.listener);
|
|
clear(key);
|
|
}
|
|
}
|
|
|
|
export {
|
|
EventType_default,
|
|
Disposable_default,
|
|
TRUE,
|
|
FALSE,
|
|
VOID,
|
|
memoizeOne,
|
|
toPromise,
|
|
stopPropagation,
|
|
Event_default,
|
|
Target_default,
|
|
listen,
|
|
listenOnce,
|
|
unlistenByKey
|
|
};
|
|
//# sourceMappingURL=chunk-KJXIHBKT.js.map
|