diff --git a/src/ol/interaction/Select.js b/src/ol/interaction/Select.js
index ba27efdc45..4bef1e1c5d 100644
--- a/src/ol/interaction/Select.js
+++ b/src/ol/interaction/Select.js
@@ -22,13 +22,55 @@ import {createEditingStyle} from '../style/Style.js';
const SelectEventType = {
/**
* Triggered when feature(s) has been (de)selected.
- * @event ol.interaction.Select.Event#select
+ * @event SelectEvent#select
* @api
*/
SELECT: 'select'
};
+/**
+ * @classdesc
+ * Events emitted by {@link ol.interaction.Select} instances are instances of
+ * this type.
+ *
+ * @param {SelectEventType} type The event type.
+ * @param {Array.
} selected Selected features.
+ * @param {Array.} deselected Deselected features.
+ * @param {ol.MapBrowserEvent} mapBrowserEvent Associated
+ * {@link ol.MapBrowserEvent}.
+ * @implements {oli.SelectEvent}
+ * @extends {ol.events.Event}
+ * @constructor
+ */
+const SelectEvent = function(type, selected, deselected, mapBrowserEvent) {
+ Event.call(this, type);
+
+ /**
+ * Selected features array.
+ * @type {Array.}
+ * @api
+ */
+ this.selected = selected;
+
+ /**
+ * Deselected features array.
+ * @type {Array.}
+ * @api
+ */
+ this.deselected = deselected;
+
+ /**
+ * Associated {@link ol.MapBrowserEvent}.
+ * @type {ol.MapBrowserEvent}
+ * @api
+ */
+ this.mapBrowserEvent = mapBrowserEvent;
+};
+
+inherits(SelectEvent, Event);
+
+
/**
* @classdesc
* Interaction for selecting vector features. By default, selected features are
@@ -44,7 +86,7 @@ const SelectEventType = {
* @constructor
* @extends {ol.interaction.Interaction}
* @param {olx.interaction.SelectOptions=} opt_options Options.
- * @fires ol.interaction.Select.Event
+ * @fires SelectEvent
* @api
*/
const Select = function(opt_options) {
@@ -104,7 +146,7 @@ const Select = function(opt_options) {
wrapX: options.wrapX
}),
style: options.style ? options.style :
- Select.getDefaultStyleFunction(),
+ getDefaultStyleFunction(),
updateWhileAnimating: true,
updateWhileInteracting: true
});
@@ -289,7 +331,7 @@ function handleEvent(mapBrowserEvent) {
}
if (selected.length > 0 || deselected.length > 0) {
this.dispatchEvent(
- new Select.Event(SelectEventType.SELECT,
+ new SelectEvent(SelectEventType.SELECT,
selected, deselected, mapBrowserEvent));
}
return pointerMove(mapBrowserEvent);
@@ -333,7 +375,7 @@ Select.prototype.setMap = function(map) {
/**
* @return {ol.StyleFunction} Styles.
*/
-Select.getDefaultStyleFunction = function() {
+function getDefaultStyleFunction() {
const styles = createEditingStyle();
extend(styles[GeometryType.POLYGON], styles[GeometryType.LINE_STRING]);
extend(styles[GeometryType.GEOMETRY_COLLECTION], styles[GeometryType.LINE_STRING]);
@@ -344,7 +386,7 @@ Select.getDefaultStyleFunction = function() {
}
return styles[feature.getGeometry().getType()];
};
-};
+}
/**
@@ -381,46 +423,4 @@ Select.prototype.removeFeatureLayerAssociation_ = function(feature) {
};
-/**
- * @classdesc
- * Events emitted by {@link ol.interaction.Select} instances are instances of
- * this type.
- *
- * @param {ol.interaction.SelectEventType} type The event type.
- * @param {Array.} selected Selected features.
- * @param {Array.} deselected Deselected features.
- * @param {ol.MapBrowserEvent} mapBrowserEvent Associated
- * {@link ol.MapBrowserEvent}.
- * @implements {oli.SelectEvent}
- * @extends {ol.events.Event}
- * @constructor
- */
-Select.Event = function(type, selected, deselected, mapBrowserEvent) {
- Event.call(this, type);
-
- /**
- * Selected features array.
- * @type {Array.}
- * @api
- */
- this.selected = selected;
-
- /**
- * Deselected features array.
- * @type {Array.}
- * @api
- */
- this.deselected = deselected;
-
- /**
- * Associated {@link ol.MapBrowserEvent}.
- * @type {ol.MapBrowserEvent}
- * @api
- */
- this.mapBrowserEvent = mapBrowserEvent;
-};
-
-inherits(Select.Event, Event);
-
-
export default Select;