@nextgis/leaflet-map-adapter 1.19.2 → 1.19.5

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.
@@ -1,4 +1,4 @@
1
- /** Bundle of @nextgis/leaflet-map-adapter; version: 1.19.2; author: NextGIS */
1
+ /** Bundle of @nextgis/leaflet-map-adapter; version: 1.19.5; author: NextGIS */
2
2
  import { EventEmitter } from 'events';
3
3
  import { Control, DomEvent, GeoJSON, DivIcon, Marker, CircleMarker, FeatureGroup, ImageOverlay as ImageOverlay$1, Layer, Util, CRS, GridLayer, DomUtil, TileLayer as TileLayer$1, Map } from 'leaflet';
4
4
  import { defined, debounce as debounce$1 } from '@nextgis/utils';
@@ -684,11 +684,22 @@ class GeoJsonAdapter extends BaseAdapter {
684
684
  }
685
685
  _updateTooltip(layerDef) {
686
686
  const { feature, layer } = layerDef;
687
- if (feature && layer && feature.properties && this.options.labelField) {
687
+ const { label, labelField, labelOnHover } = this.options;
688
+ if (layer) {
688
689
  layer.unbindTooltip();
689
- const message = feature.properties[this.options.labelField];
690
- if (message !== undefined) {
691
- const permanent = !this.options.labelOnHover;
690
+ let message;
691
+ if (feature.properties && labelField) {
692
+ message = feature.properties[labelField];
693
+ }
694
+ else if (label) {
695
+ message = label({
696
+ target: this,
697
+ ...layerDef,
698
+ ...createFeaturePositionOptions(feature),
699
+ });
700
+ }
701
+ if (message) {
702
+ const permanent = !labelOnHover;
692
703
  layer.bindTooltip(String(message), { permanent, sticky: false });
693
704
  }
694
705
  }
@@ -813,6 +824,7 @@ class GeoJsonAdapter extends BaseAdapter {
813
824
  layer,
814
825
  ...createFeaturePositionOptions(feature),
815
826
  };
827
+ // @ts-ignore
816
828
  layer.options.pane = this.pane;
817
829
  this._layers.push(def);
818
830
  let ok = true;
@@ -935,9 +947,9 @@ class GeoJsonAdapter extends BaseAdapter {
935
947
  _addMapListener() {
936
948
  const map = this.map;
937
949
  if (map) {
938
- const { labelField, labelOnHover } = this.options;
950
+ const { label, labelField, labelOnHover } = this.options;
939
951
  this._addMapClickListener();
940
- if (labelField && !labelOnHover) {
952
+ if ((labelField || label) && !labelOnHover) {
941
953
  map.on('zoomend', this.$updateTooltip);
942
954
  map.on('moveend', this.$updateTooltip);
943
955
  }