SourceTermAnalysisSystem_vue/node_modules/.vite/deps/chunk-Z7GUXWJ4.js
2026-05-15 10:22:44 +08:00

480 lines
14 KiB
JavaScript

import {
easeOut,
linear
} from "./chunk-LMC3RO5P.js";
import {
MAC,
WEBKIT
} from "./chunk-5XHD7RSF.js";
import {
Object_default
} from "./chunk-H47PV7W6.js";
import {
EventType_default,
Event_default,
FALSE,
TRUE
} from "./chunk-KJXIHBKT.js";
// node_modules/ol/MapEvent.js
var MapEvent = class extends Event_default {
/**
* @param {string} type Event type.
* @param {import("./Map.js").default} map Map.
* @param {?import("./Map.js").FrameState} [frameState] Frame state.
*/
constructor(type, map, frameState) {
super(type);
this.map = map;
this.frameState = frameState !== void 0 ? frameState : null;
}
};
var MapEvent_default = MapEvent;
// node_modules/ol/MapBrowserEvent.js
var MapBrowserEvent = class extends MapEvent_default {
/**
* @param {string} type Event type.
* @param {import("./Map.js").default} map Map.
* @param {EVENT} originalEvent Original event.
* @param {boolean} [dragging] Is the map currently being dragged?
* @param {import("./Map.js").FrameState} [frameState] Frame state.
* @param {Array<PointerEvent>} [activePointers] Active pointers.
*/
constructor(type, map, originalEvent, dragging, frameState, activePointers) {
super(type, map, frameState);
this.originalEvent = originalEvent;
this.pixel_ = null;
this.coordinate_ = null;
this.dragging = dragging !== void 0 ? dragging : false;
this.activePointers = 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
* @override
*/
preventDefault() {
super.preventDefault();
if ("preventDefault" in this.originalEvent) {
this.originalEvent.preventDefault();
}
}
/**
* Prevents further propagation of the current event.
* See https://developer.mozilla.org/en-US/docs/Web/API/event.stopPropagation.
* @api
* @override
*/
stopPropagation() {
super.stopPropagation();
if ("stopPropagation" in this.originalEvent) {
this.originalEvent.stopPropagation();
}
}
};
var MapBrowserEvent_default = MapBrowserEvent;
// node_modules/ol/MapBrowserEventType.js
var MapBrowserEventType_default = {
/**
* A true single click with no dragging and no double click. Note that this
* event is delayed by 250 ms to ensure that it is not a double click.
* @event module:ol/MapBrowserEvent~MapBrowserEvent#singleclick
* @api
*/
SINGLECLICK: "singleclick",
/**
* A click with no dragging. A double click will fire two of this.
* @event module:ol/MapBrowserEvent~MapBrowserEvent#click
* @api
*/
CLICK: EventType_default.CLICK,
/**
* A true double click, with no dragging.
* @event module:ol/MapBrowserEvent~MapBrowserEvent#dblclick
* @api
*/
DBLCLICK: EventType_default.DBLCLICK,
/**
* Triggered when a pointer is dragged.
* @event module:ol/MapBrowserEvent~MapBrowserEvent#pointerdrag
* @api
*/
POINTERDRAG: "pointerdrag",
/**
* Triggered when a pointer is moved. Note that on touch devices this is
* triggered when the map is panned, so is not the same as mousemove.
* @event module:ol/MapBrowserEvent~MapBrowserEvent#pointermove
* @api
*/
POINTERMOVE: "pointermove",
POINTERDOWN: "pointerdown",
POINTERUP: "pointerup",
POINTEROVER: "pointerover",
POINTEROUT: "pointerout",
POINTERENTER: "pointerenter",
POINTERLEAVE: "pointerleave",
POINTERCANCEL: "pointercancel"
};
// node_modules/ol/interaction/Property.js
var Property_default = {
ACTIVE: "active"
};
// node_modules/ol/events/condition.js
function all(var_args) {
const conditions = arguments;
return function(event) {
let pass = true;
for (let i = 0, ii = conditions.length; i < ii; ++i) {
pass = pass && conditions[i](event);
if (!pass) {
break;
}
}
return pass;
};
}
var altShiftKeysOnly = function(mapBrowserEvent) {
const originalEvent = mapBrowserEvent.originalEvent;
return originalEvent.altKey && !(originalEvent.metaKey || originalEvent.ctrlKey) && originalEvent.shiftKey;
};
var focus = function(event) {
const targetElement = event.map.getTargetElement();
const rootNode = targetElement.getRootNode();
const activeElement = event.map.getOwnerDocument().activeElement;
return rootNode instanceof ShadowRoot ? rootNode.host.contains(activeElement) : targetElement.contains(activeElement);
};
var focusWithTabindex = function(event) {
const targetElement = event.map.getTargetElement();
const rootNode = targetElement.getRootNode();
const tabIndexCandidate = rootNode instanceof ShadowRoot ? rootNode.host : targetElement;
return tabIndexCandidate.hasAttribute("tabindex") ? focus(event) : true;
};
var always = TRUE;
var mouseActionButton = function(mapBrowserEvent) {
const originalEvent = mapBrowserEvent.originalEvent;
return "pointerId" in originalEvent && originalEvent.button == 0 && !(WEBKIT && MAC && originalEvent.ctrlKey);
};
var never = FALSE;
var noModifierKeys = function(mapBrowserEvent) {
const originalEvent = (
/** @type {KeyboardEvent|MouseEvent|TouchEvent} */
mapBrowserEvent.originalEvent
);
return !originalEvent.altKey && !(originalEvent.metaKey || originalEvent.ctrlKey) && !originalEvent.shiftKey;
};
var platformModifierKey = function(mapBrowserEvent) {
const originalEvent = mapBrowserEvent.originalEvent;
return MAC ? originalEvent.metaKey : originalEvent.ctrlKey;
};
var shiftKeyOnly = function(mapBrowserEvent) {
const originalEvent = mapBrowserEvent.originalEvent;
return !originalEvent.altKey && !(originalEvent.metaKey || originalEvent.ctrlKey) && originalEvent.shiftKey;
};
var targetNotEditable = function(mapBrowserEvent) {
const originalEvent = mapBrowserEvent.originalEvent;
const tagName = (
/** @type {Element} */
originalEvent.target.tagName
);
return tagName !== "INPUT" && tagName !== "SELECT" && tagName !== "TEXTAREA" && // `isContentEditable` is only available on `HTMLElement`, but it may also be a
// different type like `SVGElement`.
// @ts-ignore
!originalEvent.target.isContentEditable;
};
var mouseOnly = function(mapBrowserEvent) {
const pointerEvent = mapBrowserEvent.originalEvent;
return "pointerId" in pointerEvent && pointerEvent.pointerType == "mouse";
};
var primaryAction = function(mapBrowserEvent) {
const pointerEvent = mapBrowserEvent.originalEvent;
return "pointerId" in pointerEvent && pointerEvent.isPrimary && pointerEvent.button === 0;
};
// node_modules/ol/interaction/Interaction.js
var Interaction = class extends Object_default {
/**
* @param {InteractionOptions} [options] Options.
*/
constructor(options) {
super();
this.on;
this.once;
this.un;
if (options && options.handleEvent) {
this.handleEvent = options.handleEvent;
}
this.map_ = null;
this.setActive(true);
}
/**
* Return whether the interaction is currently active.
* @return {boolean} `true` if the interaction is active, `false` otherwise.
* @observable
* @api
*/
getActive() {
return (
/** @type {boolean} */
this.get(Property_default.ACTIVE)
);
}
/**
* Get the map associated with this interaction.
* @return {import("../Map.js").default|null} Map.
* @api
*/
getMap() {
return this.map_;
}
/**
* Handles the {@link module:ol/MapBrowserEvent~MapBrowserEvent map browser event}.
* @param {import("../MapBrowserEvent.js").default} mapBrowserEvent Map browser event.
* @return {boolean} `false` to stop event propagation.
* @api
*/
handleEvent(mapBrowserEvent) {
return true;
}
/**
* Activate or deactivate the interaction.
* @param {boolean} active Active.
* @observable
* @api
*/
setActive(active) {
this.set(Property_default.ACTIVE, active);
}
/**
* Remove the interaction from its current map and attach it to the new map.
* Subclasses may set up event handlers to get notified about changes to
* the map here.
* @param {import("../Map.js").default|null} map Map.
*/
setMap(map) {
this.map_ = map;
}
};
function pan(view, delta, duration) {
const currentCenter = view.getCenterInternal();
if (currentCenter) {
const center = [currentCenter[0] + delta[0], currentCenter[1] + delta[1]];
view.animateInternal({
duration: duration !== void 0 ? duration : 250,
easing: linear,
center: view.getConstrainedCenter(center)
});
}
}
function zoomByDelta(view, delta, anchor, duration) {
const currentZoom = view.getZoom();
if (currentZoom === void 0) {
return;
}
const newZoom = view.getConstrainedZoom(currentZoom + delta);
const newResolution = view.getResolutionForZoom(newZoom);
if (view.getAnimating()) {
view.cancelAnimations();
}
view.animate({
resolution: newResolution,
anchor,
duration: duration !== void 0 ? duration : 250,
easing: easeOut
});
}
var Interaction_default = Interaction;
// node_modules/ol/interaction/Pointer.js
var PointerInteraction = class extends Interaction_default {
/**
* @param {Options} [options] Options.
*/
constructor(options) {
options = options ? options : {};
super(
/** @type {import("./Interaction.js").InteractionOptions} */
options
);
if (options.handleDownEvent) {
this.handleDownEvent = options.handleDownEvent;
}
if (options.handleDragEvent) {
this.handleDragEvent = options.handleDragEvent;
}
if (options.handleMoveEvent) {
this.handleMoveEvent = options.handleMoveEvent;
}
if (options.handleUpEvent) {
this.handleUpEvent = options.handleUpEvent;
}
if (options.stopDown) {
this.stopDown = options.stopDown;
}
this.handlingDownUpSequence = false;
this.targetPointers = [];
}
/**
* Returns the current number of pointers involved in the interaction,
* e.g. `2` when two fingers are used.
* @return {number} The number of pointers.
* @api
*/
getPointerCount() {
return this.targetPointers.length;
}
/**
* Handle pointer down events.
* @param {import("../MapBrowserEvent.js").default} mapBrowserEvent Event.
* @return {boolean} If the event was consumed.
* @protected
*/
handleDownEvent(mapBrowserEvent) {
return false;
}
/**
* Handle pointer drag events.
* @param {import("../MapBrowserEvent.js").default} mapBrowserEvent Event.
* @protected
*/
handleDragEvent(mapBrowserEvent) {
}
/**
* Handles the {@link module:ol/MapBrowserEvent~MapBrowserEvent map browser event} and may call into
* other functions, if event sequences like e.g. 'drag' or 'down-up' etc. are
* detected.
* @param {import("../MapBrowserEvent.js").default} mapBrowserEvent Map browser event.
* @return {boolean} `false` to stop event propagation.
* @api
* @override
*/
handleEvent(mapBrowserEvent) {
if (!mapBrowserEvent.originalEvent) {
return true;
}
let stopEvent = false;
this.updateTrackedPointers_(mapBrowserEvent);
if (this.handlingDownUpSequence) {
if (mapBrowserEvent.type == MapBrowserEventType_default.POINTERDRAG) {
this.handleDragEvent(mapBrowserEvent);
mapBrowserEvent.originalEvent.preventDefault();
} else if (mapBrowserEvent.type == MapBrowserEventType_default.POINTERUP) {
const handledUp = this.handleUpEvent(mapBrowserEvent);
this.handlingDownUpSequence = handledUp && this.targetPointers.length > 0;
}
} else {
if (mapBrowserEvent.type == MapBrowserEventType_default.POINTERDOWN) {
const handled = this.handleDownEvent(mapBrowserEvent);
this.handlingDownUpSequence = handled;
stopEvent = this.stopDown(handled);
} else if (mapBrowserEvent.type == MapBrowserEventType_default.POINTERMOVE) {
this.handleMoveEvent(mapBrowserEvent);
}
}
return !stopEvent;
}
/**
* Handle pointer move events.
* @param {import("../MapBrowserEvent.js").default} mapBrowserEvent Event.
* @protected
*/
handleMoveEvent(mapBrowserEvent) {
}
/**
* Handle pointer up events.
* @param {import("../MapBrowserEvent.js").default} mapBrowserEvent Event.
* @return {boolean} If the event was consumed.
* @protected
*/
handleUpEvent(mapBrowserEvent) {
return false;
}
/**
* This function is used to determine if "down" events should be propagated
* to other interactions or should be stopped.
* @param {boolean} handled Was the event handled by the interaction?
* @return {boolean} Should the `down` event be stopped?
*/
stopDown(handled) {
return handled;
}
/**
* @param {import("../MapBrowserEvent.js").default} mapBrowserEvent Event.
* @private
*/
updateTrackedPointers_(mapBrowserEvent) {
if (mapBrowserEvent.activePointers) {
this.targetPointers = mapBrowserEvent.activePointers;
}
}
};
function centroid(pointerEvents) {
const length = pointerEvents.length;
let clientX = 0;
let clientY = 0;
for (let i = 0; i < length; i++) {
clientX += pointerEvents[i].clientX;
clientY += pointerEvents[i].clientY;
}
return { clientX: clientX / length, clientY: clientY / length };
}
var Pointer_default = PointerInteraction;
export {
MapEvent_default,
MapBrowserEvent_default,
MapBrowserEventType_default,
Property_default,
pan,
zoomByDelta,
Interaction_default,
all,
altShiftKeysOnly,
focusWithTabindex,
always,
mouseActionButton,
never,
noModifierKeys,
platformModifierKey,
shiftKeyOnly,
targetNotEditable,
mouseOnly,
primaryAction,
centroid,
Pointer_default
};
//# sourceMappingURL=chunk-Z7GUXWJ4.js.map