@vaadin/bundles 25.3.0-alpha13 → 25.3.0-alpha14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/node_modules_vaadin_map_node_modules_ol_control_MousePosition_js.js +6 -6
- package/node_modules_vaadin_map_node_modules_ol_control_MousePosition_js.js.map +1 -1
- package/node_modules_vaadin_map_node_modules_ol_control_ZoomToExtent_js.js +10 -1
- package/node_modules_vaadin_map_node_modules_ol_control_ZoomToExtent_js.js.map +1 -1
- package/node_modules_vaadin_map_node_modules_ol_events_SnapEvent_js.js +5 -0
- package/node_modules_vaadin_map_node_modules_ol_events_SnapEvent_js.js.map +1 -1
- package/node_modules_vaadin_map_node_modules_ol_featureloader_js.js +9 -8
- package/node_modules_vaadin_map_node_modules_ol_featureloader_js.js.map +1 -1
- package/node_modules_vaadin_map_node_modules_ol_geom_GeometryCollection_js.js +1 -1
- package/node_modules_vaadin_map_node_modules_ol_geom_GeometryCollection_js.js.map +1 -1
- package/node_modules_vaadin_map_node_modules_ol_geom_flat_clip_js.js +172 -0
- package/node_modules_vaadin_map_node_modules_ol_geom_flat_clip_js.js.map +1 -0
- package/node_modules_vaadin_map_node_modules_ol_geom_flat_length_js-_95bd5.js +58 -0
- package/node_modules_vaadin_map_node_modules_ol_geom_flat_length_js-_95bd5.js.map +1 -0
- package/{node_modules_vaadin_map_node_modules_ol_render_VectorContext_js-node_modules_vaadin_map_node_-a1378d.js → node_modules_vaadin_map_node_modules_ol_geom_flat_lineoffset_js-node_modules_vaadin_map_node_-304640.js} +244 -5
- package/node_modules_vaadin_map_node_modules_ol_geom_flat_lineoffset_js-node_modules_vaadin_map_node_-304640.js.map +1 -0
- package/node_modules_vaadin_map_node_modules_ol_geom_flat_lineoffset_js-node_modules_vaadin_map_node_-7a9288.js +383 -0
- package/node_modules_vaadin_map_node_modules_ol_geom_flat_lineoffset_js-node_modules_vaadin_map_node_-7a9288.js.map +1 -0
- package/node_modules_vaadin_map_node_modules_ol_geom_flat_lineoffset_js.js +243 -0
- package/node_modules_vaadin_map_node_modules_ol_geom_flat_lineoffset_js.js.map +1 -0
- package/node_modules_vaadin_map_node_modules_ol_geom_flat_textpath_js.js +18 -5
- package/node_modules_vaadin_map_node_modules_ol_geom_flat_textpath_js.js.map +1 -1
- package/node_modules_vaadin_map_node_modules_ol_interaction_DragAndDrop_js.js +8 -8
- package/node_modules_vaadin_map_node_modules_ol_interaction_DragAndDrop_js.js.map +1 -1
- package/{node_modules_vaadin_map_node_modules_ol_render_VectorContext_js-_279c0.js → node_modules_vaadin_map_node_modules_ol_render_VectorContext_js.js} +2 -2
- package/node_modules_vaadin_map_node_modules_ol_render_VectorContext_js.js.map +1 -0
- package/node_modules_vaadin_map_node_modules_ol_render_canvas_LineStringBuilder_js.js +17 -7
- package/node_modules_vaadin_map_node_modules_ol_render_canvas_LineStringBuilder_js.js.map +1 -1
- package/node_modules_vaadin_map_node_modules_ol_render_canvas_ZIndexContext_js-_abc10.js +18 -15
- package/node_modules_vaadin_map_node_modules_ol_render_canvas_ZIndexContext_js-_abc10.js.map +1 -1
- package/node_modules_vaadin_map_node_modules_ol_render_canvas_ZIndexContext_js-_abc11.js +18 -15
- package/node_modules_vaadin_map_node_modules_ol_render_canvas_ZIndexContext_js-_abc11.js.map +1 -1
- package/node_modules_vaadin_map_node_modules_ol_renderer_Layer_js.js +21 -1
- package/node_modules_vaadin_map_node_modules_ol_renderer_Layer_js.js.map +1 -1
- package/node_modules_vaadin_map_node_modules_ol_source_Source_js.js +34 -3
- package/node_modules_vaadin_map_node_modules_ol_source_Source_js.js.map +1 -1
- package/package.json +135 -135
- package/vaadin-bundle.json +1824 -1812
- package/vaadin.js +2725 -1726
- package/vaadin.js.map +1 -1
- package/vendors-node_modules_vaadin_map_node_modules_ol_Feature_js.js +30 -16
- package/vendors-node_modules_vaadin_map_node_modules_ol_Feature_js.js.map +1 -1
- package/vendors-node_modules_vaadin_map_node_modules_ol_Overlay_js.js +6 -6
- package/vendors-node_modules_vaadin_map_node_modules_ol_Overlay_js.js.map +1 -1
- package/vendors-node_modules_vaadin_map_node_modules_ol_control_FullScreen_js.js +7 -7
- package/vendors-node_modules_vaadin_map_node_modules_ol_control_FullScreen_js.js.map +1 -1
- package/vendors-node_modules_vaadin_map_node_modules_ol_control_OverviewMap_js.js +1 -1
- package/vendors-node_modules_vaadin_map_node_modules_ol_control_OverviewMap_js.js.map +1 -1
- package/vendors-node_modules_vaadin_map_node_modules_ol_control_ScaleLine_js.js +6 -6
- package/vendors-node_modules_vaadin_map_node_modules_ol_control_ScaleLine_js.js.map +1 -1
- package/vendors-node_modules_vaadin_map_node_modules_ol_control_ZoomSlider_js.js +1 -1
- package/vendors-node_modules_vaadin_map_node_modules_ol_control_ZoomSlider_js.js.map +1 -1
- package/vendors-node_modules_vaadin_map_node_modules_ol_control_js.js +34 -25
- package/vendors-node_modules_vaadin_map_node_modules_ol_control_js.js.map +1 -1
- package/vendors-node_modules_vaadin_map_node_modules_ol_interaction_Draw_js.js +146 -943
- package/vendors-node_modules_vaadin_map_node_modules_ol_interaction_Draw_js.js.map +1 -1
- package/vendors-node_modules_vaadin_map_node_modules_ol_interaction_Extent_js.js +111 -34
- package/vendors-node_modules_vaadin_map_node_modules_ol_interaction_Extent_js.js.map +1 -1
- package/vendors-node_modules_vaadin_map_node_modules_ol_interaction_Link_js.js +3 -3
- package/vendors-node_modules_vaadin_map_node_modules_ol_interaction_Link_js.js.map +1 -1
- package/vendors-node_modules_vaadin_map_node_modules_ol_interaction_Modify_js.js +1055 -219
- package/vendors-node_modules_vaadin_map_node_modules_ol_interaction_Modify_js.js.map +1 -1
- package/vendors-node_modules_vaadin_map_node_modules_ol_interaction_Select_js.js +129 -57
- package/vendors-node_modules_vaadin_map_node_modules_ol_interaction_Select_js.js.map +1 -1
- package/vendors-node_modules_vaadin_map_node_modules_ol_interaction_Snap_js.js +74 -80
- package/vendors-node_modules_vaadin_map_node_modules_ol_interaction_Snap_js.js.map +1 -1
- package/vendors-node_modules_vaadin_map_node_modules_ol_interaction_Translate_js.js +11 -11
- package/vendors-node_modules_vaadin_map_node_modules_ol_interaction_Translate_js.js.map +1 -1
- package/vendors-node_modules_vaadin_map_node_modules_ol_interaction_js.js +54 -54
- package/vendors-node_modules_vaadin_map_node_modules_ol_interaction_js.js.map +1 -1
- package/vendors-node_modules_vaadin_map_node_modules_ol_interaction_tracing_js.js +801 -0
- package/vendors-node_modules_vaadin_map_node_modules_ol_interaction_tracing_js.js.map +1 -0
- package/vendors-node_modules_vaadin_map_node_modules_ol_render_Feature_js.js +36 -20
- package/vendors-node_modules_vaadin_map_node_modules_ol_render_Feature_js.js.map +1 -1
- package/vendors-node_modules_vaadin_map_node_modules_ol_render_canvas_BuilderGroup_js.js +17 -279
- package/vendors-node_modules_vaadin_map_node_modules_ol_render_canvas_BuilderGroup_js.js.map +1 -1
- package/vendors-node_modules_vaadin_map_node_modules_ol_render_canvas_Builder_js.js +16 -7
- package/vendors-node_modules_vaadin_map_node_modules_ol_render_canvas_Builder_js.js.map +1 -1
- package/vendors-node_modules_vaadin_map_node_modules_ol_render_canvas_ExecutorGroup_js.js +53 -17
- package/vendors-node_modules_vaadin_map_node_modules_ol_render_canvas_ExecutorGroup_js.js.map +1 -1
- package/vendors-node_modules_vaadin_map_node_modules_ol_render_canvas_Executor_js.js +336 -38
- package/vendors-node_modules_vaadin_map_node_modules_ol_render_canvas_Executor_js.js.map +1 -1
- package/vendors-node_modules_vaadin_map_node_modules_ol_render_canvas_Immediate_js.js +75 -42
- package/vendors-node_modules_vaadin_map_node_modules_ol_render_canvas_Immediate_js.js.map +1 -1
- package/{node_modules_vaadin_map_node_modules_ol_render_canvas_PolygonBuilder_js.js → vendors-node_modules_vaadin_map_node_modules_ol_render_canvas_PolygonBuilder_js.js} +77 -11
- package/vendors-node_modules_vaadin_map_node_modules_ol_render_canvas_PolygonBuilder_js.js.map +1 -0
- package/vendors-node_modules_vaadin_map_node_modules_ol_render_canvas_TextBuilder_js.js +210 -16
- package/vendors-node_modules_vaadin_map_node_modules_ol_render_canvas_TextBuilder_js.js.map +1 -1
- package/vendors-node_modules_vaadin_map_node_modules_ol_renderer_canvas_Layer_js.js +88 -32
- package/vendors-node_modules_vaadin_map_node_modules_ol_renderer_canvas_Layer_js.js.map +1 -1
- package/vendors-node_modules_vaadin_map_node_modules_ol_renderer_canvas_VectorLayer_js.js +62 -22
- package/vendors-node_modules_vaadin_map_node_modules_ol_renderer_canvas_VectorLayer_js.js.map +1 -1
- package/vendors-node_modules_vaadin_map_node_modules_ol_renderer_vector_js.js +2 -2
- package/vendors-node_modules_vaadin_map_node_modules_ol_renderer_vector_js.js.map +1 -1
- package/vendors-node_modules_vaadin_map_node_modules_ol_source_Vector_js.js +135 -81
- package/vendors-node_modules_vaadin_map_node_modules_ol_source_Vector_js.js.map +1 -1
- package/node_modules_vaadin_map_node_modules_ol_render_VectorContext_js-_279c0.js.map +0 -1
- package/node_modules_vaadin_map_node_modules_ol_render_VectorContext_js-_279c1.js +0 -144
- package/node_modules_vaadin_map_node_modules_ol_render_VectorContext_js-_279c1.js.map +0 -1
- package/node_modules_vaadin_map_node_modules_ol_render_VectorContext_js-node_modules_vaadin_map_node_-a1378d.js.map +0 -1
- package/node_modules_vaadin_map_node_modules_ol_render_canvas_PolygonBuilder_js.js.map +0 -1
- package/node_modules_vaadin_map_node_modules_ol_style_js.js +0 -48
- package/node_modules_vaadin_map_node_modules_ol_style_js.js.map +0 -1
- package/vendors-node_modules_vaadin_map_node_modules_ol_geom_js-node_modules_vaadin_map_node_modules_-f0f4bb.js +0 -769
- package/vendors-node_modules_vaadin_map_node_modules_ol_geom_js-node_modules_vaadin_map_node_modules_-f0f4bb.js.map +0 -1
|
@@ -27,13 +27,14 @@ let withCredentials = false;
|
|
|
27
27
|
* {@link module:ol/source/Vector~VectorSource} sources use a function of this type to
|
|
28
28
|
* load features.
|
|
29
29
|
*
|
|
30
|
-
* This function takes
|
|
31
|
-
* the area to be loaded, a `{number}` representing the resolution (map units per pixel), a
|
|
32
|
-
* {@link module:ol/proj/Projection~Projection} for the projection
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
30
|
+
* This function takes 3 arguments: an {@link module:ol/extent~Extent} representing
|
|
31
|
+
* the area to be loaded, a `{number}` representing the resolution (map units per pixel), and a
|
|
32
|
+
* {@link module:ol/proj/Projection~Projection} for the projection. The function is expeced to return
|
|
33
|
+
* a promise that resolves to an array of features.
|
|
34
|
+
*
|
|
35
|
+
* There are also a deprecated signature, with `void` as
|
|
36
|
+
* return, and two additional arguments: an optional success callback that should get
|
|
37
|
+
* the loaded features passed as an argument and an optional failure callback with no arguments.
|
|
37
38
|
*
|
|
38
39
|
* The function is responsible for loading the features and adding them to the
|
|
39
40
|
* source.
|
|
@@ -44,7 +45,7 @@ let withCredentials = false;
|
|
|
44
45
|
* resolution: number,
|
|
45
46
|
* projection: import("./proj/Projection.js").default,
|
|
46
47
|
* success?: (features: Array<FeatureType>) => void,
|
|
47
|
-
* failure?: () => void) => void} FeatureLoader
|
|
48
|
+
* failure?: () => void) => void|Promise<Array<FeatureType>>} FeatureLoader
|
|
48
49
|
* @api
|
|
49
50
|
*/
|
|
50
51
|
|
|
@@ -381,8 +382,8 @@ class Source extends _Object_js__WEBPACK_IMPORTED_MODULE_1__["default"] {
|
|
|
381
382
|
|
|
382
383
|
/**
|
|
383
384
|
* This source is currently loading data. Sources that defer loading to the
|
|
384
|
-
* map's tile queue never set this to `
|
|
385
|
-
* @type {boolean}
|
|
385
|
+
* map's tile queue never set this to a `truthy` value.
|
|
386
|
+
* @type {boolean|number}
|
|
386
387
|
*/
|
|
387
388
|
this.loading = false;
|
|
388
389
|
|
|
@@ -454,7 +455,7 @@ class Source extends _Object_js__WEBPACK_IMPORTED_MODULE_1__["default"] {
|
|
|
454
455
|
}
|
|
455
456
|
|
|
456
457
|
/**
|
|
457
|
-
* @param {import("../proj/Projection").default} [projection] Projection.
|
|
458
|
+
* @param {import("../proj/Projection.js").default} [projection] Projection.
|
|
458
459
|
* @return {Array<number>|null} Resolutions.
|
|
459
460
|
*/
|
|
460
461
|
getResolutions(projection) {
|
|
@@ -468,6 +469,37 @@ class Source extends _Object_js__WEBPACK_IMPORTED_MODULE_1__["default"] {
|
|
|
468
469
|
return this.viewPromise_;
|
|
469
470
|
}
|
|
470
471
|
|
|
472
|
+
/**
|
|
473
|
+
* Resolve once the source is ready to be used (its state is `ready`), or
|
|
474
|
+
* reject if it fails to load (its state is `error`). Sources that configure
|
|
475
|
+
* asynchronously can use this to expose data (e.g. dimensions) through a
|
|
476
|
+
* promise instead of the `change` event.
|
|
477
|
+
* @return {Promise<void>} Resolves when the source is ready.
|
|
478
|
+
* @protected
|
|
479
|
+
*/
|
|
480
|
+
ready() {
|
|
481
|
+
const state = this.getState();
|
|
482
|
+
if (state === 'ready') {
|
|
483
|
+
return Promise.resolve();
|
|
484
|
+
}
|
|
485
|
+
if (state === 'error') {
|
|
486
|
+
return Promise.reject(new Error('Source failed to load'));
|
|
487
|
+
}
|
|
488
|
+
return new Promise((resolve, reject) => {
|
|
489
|
+
const onChange = () => {
|
|
490
|
+
const changedState = this.getState();
|
|
491
|
+
if (changedState === 'ready') {
|
|
492
|
+
this.un('change', onChange);
|
|
493
|
+
resolve();
|
|
494
|
+
} else if (changedState === 'error') {
|
|
495
|
+
this.un('change', onChange);
|
|
496
|
+
reject(new Error('Source failed to load'));
|
|
497
|
+
}
|
|
498
|
+
};
|
|
499
|
+
this.on('change', onChange);
|
|
500
|
+
});
|
|
501
|
+
}
|
|
502
|
+
|
|
471
503
|
/**
|
|
472
504
|
* Get the state of the source, see {@link import("./Source.js").State} for possible states.
|
|
473
505
|
* @return {import("./Source.js").State} State.
|
|
@@ -560,9 +592,9 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
560
592
|
/* harmony import */ var _ObjectEventType_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../ObjectEventType.js */ "./node_modules/@vaadin/map/node_modules/ol/ObjectEventType.js");
|
|
561
593
|
/* harmony import */ var _array_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../array.js */ "./node_modules/@vaadin/map/node_modules/ol/array.js");
|
|
562
594
|
/* harmony import */ var _asserts_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../asserts.js */ "./node_modules/@vaadin/map/node_modules/ol/asserts.js");
|
|
595
|
+
/* harmony import */ var _events_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../events.js */ "./node_modules/@vaadin/map/node_modules/ol/events.js");
|
|
563
596
|
/* harmony import */ var _events_Event_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../events/Event.js */ "./node_modules/@vaadin/map/node_modules/ol/events/Event.js");
|
|
564
597
|
/* harmony import */ var _events_EventType_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../events/EventType.js */ "./node_modules/@vaadin/map/node_modules/ol/events/EventType.js");
|
|
565
|
-
/* harmony import */ var _events_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../events.js */ "./node_modules/@vaadin/map/node_modules/ol/events.js");
|
|
566
598
|
/* harmony import */ var _extent_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../extent.js */ "./node_modules/@vaadin/map/node_modules/ol/extent.js");
|
|
567
599
|
/* harmony import */ var _featureloader_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../featureloader.js */ "./node_modules/@vaadin/map/node_modules/ol/featureloader.js");
|
|
568
600
|
/* harmony import */ var _functions_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../functions.js */ "./node_modules/@vaadin/map/node_modules/ol/functions.js");
|
|
@@ -644,11 +676,11 @@ class VectorSourceEvent extends _events_Event_js__WEBPACK_IMPORTED_MODULE_0__["d
|
|
|
644
676
|
/***
|
|
645
677
|
* @template Return
|
|
646
678
|
* @template {import("../Feature.js").FeatureLike} [FeatureType=import("../Feature.js").default]
|
|
647
|
-
* @typedef {import("../Observable").OnSignature<import("../Observable").EventTypes, import("../events/Event.js").default, Return> &
|
|
648
|
-
* import("../Observable").OnSignature<import("../ObjectEventType").Types, import("../Object").ObjectEvent, Return> &
|
|
649
|
-
* import("../Observable").OnSignature<import("./VectorEventType").VectorSourceEventTypes, VectorSourceEvent<FeatureType>, Return> &
|
|
650
|
-
* import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|import("../ObjectEventType").Types|
|
|
651
|
-
* import("./VectorEventType").VectorSourceEventTypes, Return>} VectorSourceOnSignature
|
|
679
|
+
* @typedef {import("../Observable.js").OnSignature<import("../Observable.js").EventTypes, import("../events/Event.js").default, Return> &
|
|
680
|
+
* import("../Observable.js").OnSignature<import("../ObjectEventType.js").Types, import("../Object.js").ObjectEvent, Return> &
|
|
681
|
+
* import("../Observable.js").OnSignature<import("./VectorEventType.js").VectorSourceEventTypes, VectorSourceEvent<FeatureType>, Return> &
|
|
682
|
+
* import("../Observable.js").CombinedOnSignature<import("../Observable.js").EventTypes|import("../ObjectEventType.js").Types|
|
|
683
|
+
* import("./VectorEventType.js").VectorSourceEventTypes, Return>} VectorSourceOnSignature
|
|
652
684
|
*/
|
|
653
685
|
|
|
654
686
|
/**
|
|
@@ -674,34 +706,31 @@ class VectorSourceEvent extends _events_Event_js__WEBPACK_IMPORTED_MODULE_0__["d
|
|
|
674
706
|
* import {bbox} from 'ol/loadingstrategy.js';
|
|
675
707
|
*
|
|
676
708
|
* const vectorSource = new Vector({
|
|
677
|
-
*
|
|
678
|
-
* loader: function(extent, resolution, projection, success, failure) {
|
|
679
|
-
* const proj = projection.getCode();
|
|
709
|
+
* loader: async (extent, resolution, projection) => {
|
|
680
710
|
* const url = 'https://ahocevar.com/geoserver/wfs?service=WFS&' +
|
|
681
711
|
* 'version=1.1.0&request=GetFeature&typename=osm:water_areas&' +
|
|
682
|
-
* 'outputFormat=application/json
|
|
683
|
-
* 'bbox=' + extent.join(',') + ',' +
|
|
684
|
-
* const
|
|
685
|
-
*
|
|
686
|
-
*
|
|
687
|
-
* vectorSource.removeLoadedExtent(extent);
|
|
688
|
-
* failure();
|
|
712
|
+
* 'outputFormat=application/json' +
|
|
713
|
+
* 'bbox=' + extent.join(',') + ',' + projection.getCode();
|
|
714
|
+
* const response = await fetch(url);
|
|
715
|
+
* if (!response.ok) {
|
|
716
|
+
* throw new Error('Network response was not ok');
|
|
689
717
|
* }
|
|
690
|
-
*
|
|
691
|
-
*
|
|
692
|
-
*
|
|
693
|
-
*
|
|
694
|
-
*
|
|
695
|
-
* success(features);
|
|
696
|
-
* } else {
|
|
697
|
-
* onError();
|
|
698
|
-
* }
|
|
699
|
-
* }
|
|
700
|
-
* xhr.send();
|
|
718
|
+
* const json = await response.json();
|
|
719
|
+
* const features = new GeoJSON().readFeatures(json, {
|
|
720
|
+
* featureProjection: projection,
|
|
721
|
+
* });
|
|
722
|
+
* return features;
|
|
701
723
|
* },
|
|
702
724
|
* strategy: bbox,
|
|
703
725
|
* });
|
|
704
726
|
* ```
|
|
727
|
+
*
|
|
728
|
+
* When you want to retry a failed request, use
|
|
729
|
+
* ```js
|
|
730
|
+
* vectorSource.removeLoadedExtent(extent);
|
|
731
|
+
* vectorSource.changed();
|
|
732
|
+
* ```
|
|
733
|
+
*
|
|
705
734
|
* @property {boolean} [overlaps=true] This source may have overlapping geometries.
|
|
706
735
|
* Setting this to `false` (e.g. for sources with polygons that represent administrative
|
|
707
736
|
* boundaries or TopoJSON sources) allows the renderer to optimise fill and
|
|
@@ -770,12 +799,12 @@ class VectorSource extends _Source_js__WEBPACK_IMPORTED_MODULE_1__["default"] {
|
|
|
770
799
|
});
|
|
771
800
|
|
|
772
801
|
/***
|
|
773
|
-
* @type {VectorSourceOnSignature<import("../events").EventsKey, FeatureType>}
|
|
802
|
+
* @type {VectorSourceOnSignature<import("../events.js").EventsKey, FeatureType>}
|
|
774
803
|
*/
|
|
775
804
|
this.on;
|
|
776
805
|
|
|
777
806
|
/***
|
|
778
|
-
* @type {VectorSourceOnSignature<import("../events").EventsKey, FeatureType>}
|
|
807
|
+
* @type {VectorSourceOnSignature<import("../events.js").EventsKey, FeatureType>}
|
|
779
808
|
*/
|
|
780
809
|
this.once;
|
|
781
810
|
|
|
@@ -838,12 +867,6 @@ class VectorSource extends _Source_js__WEBPACK_IMPORTED_MODULE_1__["default"] {
|
|
|
838
867
|
*/
|
|
839
868
|
this.loadedExtentsRtree_ = new _structs_RBush_js__WEBPACK_IMPORTED_MODULE_6__["default"]();
|
|
840
869
|
|
|
841
|
-
/**
|
|
842
|
-
* @type {number}
|
|
843
|
-
* @private
|
|
844
|
-
*/
|
|
845
|
-
this.loadingExtentsCount_ = 0;
|
|
846
|
-
|
|
847
870
|
/**
|
|
848
871
|
* @private
|
|
849
872
|
* @type {!Object<string, FeatureType>}
|
|
@@ -1416,15 +1439,15 @@ class VectorSource extends _Source_js__WEBPACK_IMPORTED_MODULE_1__["default"] {
|
|
|
1416
1439
|
/**
|
|
1417
1440
|
* Get the extent of the features currently in the source.
|
|
1418
1441
|
*
|
|
1419
|
-
* This
|
|
1442
|
+
* This will return `null` when the source is configured with
|
|
1420
1443
|
* `useSpatialIndex` set to `false`.
|
|
1421
1444
|
* @param {import("../extent.js").Extent} [extent] Destination extent. If provided, no new extent
|
|
1422
1445
|
* will be created. Instead, that extent's coordinates will be overwritten.
|
|
1423
|
-
* @return {import("../extent.js").Extent} Extent.
|
|
1446
|
+
* @return {import("../extent.js").Extent | null} Extent.
|
|
1424
1447
|
* @api
|
|
1425
1448
|
*/
|
|
1426
1449
|
getExtent(extent) {
|
|
1427
|
-
return this.featuresRtree_
|
|
1450
|
+
return this.featuresRtree_?.getExtent(extent) ?? null;
|
|
1428
1451
|
}
|
|
1429
1452
|
|
|
1430
1453
|
/**
|
|
@@ -1540,7 +1563,11 @@ class VectorSource extends _Source_js__WEBPACK_IMPORTED_MODULE_1__["default"] {
|
|
|
1540
1563
|
hasFeature(feature) {
|
|
1541
1564
|
const id = feature.getId();
|
|
1542
1565
|
if (id !== undefined) {
|
|
1543
|
-
|
|
1566
|
+
const indexed = this.idIndex_[String(id)];
|
|
1567
|
+
if (Array.isArray(indexed)) {
|
|
1568
|
+
return indexed.includes(feature);
|
|
1569
|
+
}
|
|
1570
|
+
return indexed === feature;
|
|
1544
1571
|
}
|
|
1545
1572
|
return (0,_util_js__WEBPACK_IMPORTED_MODULE_8__.getUid)(feature) in this.uidIndex_;
|
|
1546
1573
|
}
|
|
@@ -1581,40 +1608,59 @@ class VectorSource extends _Source_js__WEBPACK_IMPORTED_MODULE_1__["default"] {
|
|
|
1581
1608
|
},
|
|
1582
1609
|
);
|
|
1583
1610
|
if (!alreadyLoaded) {
|
|
1584
|
-
|
|
1611
|
+
this.loading = Number(this.loading) + 1;
|
|
1585
1612
|
this.dispatchEvent(
|
|
1586
1613
|
new VectorSourceEvent(_VectorEventType_js__WEBPACK_IMPORTED_MODULE_9__["default"].FEATURESLOADSTART),
|
|
1587
1614
|
);
|
|
1588
|
-
|
|
1615
|
+
|
|
1616
|
+
/**
|
|
1617
|
+
* @param {Array<FeatureType>} features Loaded features
|
|
1618
|
+
*/
|
|
1619
|
+
const success = (features) => {
|
|
1620
|
+
this.loading = Number(this.loading) - 1;
|
|
1621
|
+
this.dispatchEvent(
|
|
1622
|
+
new VectorSourceEvent(
|
|
1623
|
+
_VectorEventType_js__WEBPACK_IMPORTED_MODULE_9__["default"].FEATURESLOADEND,
|
|
1624
|
+
undefined,
|
|
1625
|
+
features,
|
|
1626
|
+
),
|
|
1627
|
+
);
|
|
1628
|
+
};
|
|
1629
|
+
|
|
1630
|
+
const failure = () => {
|
|
1631
|
+
this.changed();
|
|
1632
|
+
this.loading = Number(this.loading) - 1;
|
|
1633
|
+
this.dispatchEvent(
|
|
1634
|
+
new VectorSourceEvent(_VectorEventType_js__WEBPACK_IMPORTED_MODULE_9__["default"].FEATURESLOADERROR),
|
|
1635
|
+
);
|
|
1636
|
+
};
|
|
1637
|
+
|
|
1638
|
+
//TODO Remove this when the deprecatedsuccess and failure arguments are removed
|
|
1639
|
+
let disableCallbacks = false;
|
|
1640
|
+
|
|
1641
|
+
const loaded = this.loader_.call(
|
|
1589
1642
|
this,
|
|
1590
1643
|
extentToLoad,
|
|
1591
1644
|
resolution,
|
|
1592
1645
|
projection,
|
|
1593
|
-
|
|
1594
|
-
|
|
1595
|
-
*/
|
|
1596
|
-
(features) => {
|
|
1597
|
-
--this.loadingExtentsCount_;
|
|
1598
|
-
this.dispatchEvent(
|
|
1599
|
-
new VectorSourceEvent(
|
|
1600
|
-
_VectorEventType_js__WEBPACK_IMPORTED_MODULE_9__["default"].FEATURESLOADEND,
|
|
1601
|
-
undefined,
|
|
1602
|
-
features,
|
|
1603
|
-
),
|
|
1604
|
-
);
|
|
1605
|
-
},
|
|
1606
|
-
() => {
|
|
1607
|
-
--this.loadingExtentsCount_;
|
|
1608
|
-
this.dispatchEvent(
|
|
1609
|
-
new VectorSourceEvent(_VectorEventType_js__WEBPACK_IMPORTED_MODULE_9__["default"].FEATURESLOADERROR),
|
|
1610
|
-
);
|
|
1611
|
-
},
|
|
1646
|
+
(features) => disableCallbacks || success(features),
|
|
1647
|
+
() => disableCallbacks || failure(),
|
|
1612
1648
|
);
|
|
1649
|
+
if (loaded instanceof Promise) {
|
|
1650
|
+
//TODO Remove this when the deprecatedsuccess and failure arguments are removed
|
|
1651
|
+
disableCallbacks = true;
|
|
1652
|
+
loaded
|
|
1653
|
+
.then((features) => {
|
|
1654
|
+
this.addFeatures(features);
|
|
1655
|
+
success(features);
|
|
1656
|
+
})
|
|
1657
|
+
.catch(failure);
|
|
1658
|
+
} else if (this.loader_.length < 4) {
|
|
1659
|
+
this.loading = false;
|
|
1660
|
+
}
|
|
1613
1661
|
loadedExtentsRtree.insert(extentToLoad, {extent: extentToLoad.slice()});
|
|
1614
1662
|
}
|
|
1615
1663
|
}
|
|
1616
|
-
this.loading =
|
|
1617
|
-
this.loader_.length < 4 ? false : this.loadingExtentsCount_ > 0;
|
|
1618
1664
|
}
|
|
1619
1665
|
|
|
1620
1666
|
/**
|
|
@@ -1627,20 +1673,28 @@ class VectorSource extends _Source_js__WEBPACK_IMPORTED_MODULE_1__["default"] {
|
|
|
1627
1673
|
}
|
|
1628
1674
|
|
|
1629
1675
|
/**
|
|
1630
|
-
*
|
|
1631
|
-
*
|
|
1676
|
+
* Marks an extent as not loaded, preserving any loaded areas outside it.
|
|
1677
|
+
*
|
|
1678
|
+
* Any previously loaded extent overlapping the given extent is split into its
|
|
1679
|
+
* remaining non-overlapping parts using {@link module:ol/extent~getDifference getDifference()},
|
|
1680
|
+
* which are then re-inserted into the tree.
|
|
1681
|
+
*
|
|
1682
|
+
* @param {import("../extent.js").Extent} extent Extent to mark as not loaded.
|
|
1632
1683
|
* @api
|
|
1633
1684
|
*/
|
|
1634
1685
|
removeLoadedExtent(extent) {
|
|
1635
1686
|
const loadedExtentsRtree = this.loadedExtentsRtree_;
|
|
1636
|
-
const
|
|
1637
|
-
|
|
1638
|
-
|
|
1687
|
+
const intersectingExtents = [];
|
|
1688
|
+
loadedExtentsRtree.forEachInExtent(extent, function (object) {
|
|
1689
|
+
intersectingExtents.push(object);
|
|
1690
|
+
});
|
|
1691
|
+
intersectingExtents.forEach((intersectingExtent) => {
|
|
1692
|
+
loadedExtentsRtree.remove(intersectingExtent);
|
|
1693
|
+
const remainders = (0,_extent_js__WEBPACK_IMPORTED_MODULE_17__.getDifference)(intersectingExtent.extent, extent);
|
|
1694
|
+
for (const remainder of remainders) {
|
|
1695
|
+
loadedExtentsRtree.insert(remainder, {extent: remainder});
|
|
1639
1696
|
}
|
|
1640
1697
|
});
|
|
1641
|
-
if (obj) {
|
|
1642
|
-
loadedExtentsRtree.remove(obj);
|
|
1643
|
-
}
|
|
1644
1698
|
}
|
|
1645
1699
|
|
|
1646
1700
|
/**
|