Merge pull request #5770 from vvlladd28/improvement/map/add-editor-settings
[3.3.3] UI: Add in map widgets new group setting - Editor setting
This commit is contained in:
		
						commit
						5e6189b277
					
				@ -28,7 +28,7 @@
 | 
			
		||||
    "@date-io/date-fns": "^2.11.0",
 | 
			
		||||
    "@flowjs/flow.js": "^2.14.1",
 | 
			
		||||
    "@flowjs/ngx-flow": "~0.4.6",
 | 
			
		||||
    "@geoman-io/leaflet-geoman-free": "^2.11.3",
 | 
			
		||||
    "@geoman-io/leaflet-geoman-free": "^2.11.4",
 | 
			
		||||
    "@juggle/resize-observer": "^3.3.1",
 | 
			
		||||
    "@mat-datetimepicker/core": "~7.0.1",
 | 
			
		||||
    "@material-ui/core": "^4.12.3",
 | 
			
		||||
 | 
			
		||||
@ -24,7 +24,9 @@ import {
 | 
			
		||||
  defaultSettings,
 | 
			
		||||
  FormattedData,
 | 
			
		||||
  MapSettings,
 | 
			
		||||
  MarkerSettings, MarkerIconInfo, MarkerImageInfo,
 | 
			
		||||
  MarkerIconInfo,
 | 
			
		||||
  MarkerImageInfo,
 | 
			
		||||
  MarkerSettings,
 | 
			
		||||
  PolygonSettings,
 | 
			
		||||
  PolylineSettings,
 | 
			
		||||
  ReplaceInfo,
 | 
			
		||||
@ -182,7 +184,7 @@ export default abstract class LeafletMap {
 | 
			
		||||
 | 
			
		||||
    addEditControl() {
 | 
			
		||||
      // Customize edit marker
 | 
			
		||||
      if (this.options.draggableMarker) {
 | 
			
		||||
      if (this.options.draggableMarker && !this.options.hideDrawControlButton) {
 | 
			
		||||
        const actions = [{
 | 
			
		||||
          text: L.PM.Utils.getTranslation('actions.cancel'),
 | 
			
		||||
          onClick: () => this.toggleDrawMode('tbMarker')
 | 
			
		||||
@ -197,7 +199,7 @@ export default abstract class LeafletMap {
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      // Customize edit polygon
 | 
			
		||||
      if (this.editPolygons) {
 | 
			
		||||
      if (this.editPolygons && !this.options.hideDrawControlButton) {
 | 
			
		||||
        const rectangleActions = [
 | 
			
		||||
          {
 | 
			
		||||
            text: L.PM.Utils.getTranslation('actions.cancel'),
 | 
			
		||||
@ -231,18 +233,27 @@ export default abstract class LeafletMap {
 | 
			
		||||
 | 
			
		||||
      const translateService = this.ctx.$injector.get(TranslateService);
 | 
			
		||||
      this.map.pm.setLang('en', translateService.instant('widgets.maps'), 'en');
 | 
			
		||||
      this.map.pm.addControls({
 | 
			
		||||
        position: 'topleft',
 | 
			
		||||
        drawMarker: false,
 | 
			
		||||
        drawCircle: false,
 | 
			
		||||
        drawCircleMarker: false,
 | 
			
		||||
        drawRectangle: false,
 | 
			
		||||
        drawPolyline: false,
 | 
			
		||||
        drawPolygon: false,
 | 
			
		||||
        editMode: this.editPolygons,
 | 
			
		||||
        cutPolygon: this.editPolygons,
 | 
			
		||||
        rotateMode: this.editPolygons
 | 
			
		||||
      });
 | 
			
		||||
      if (!this.options.hideAllControlButton) {
 | 
			
		||||
        this.map.pm.addControls({
 | 
			
		||||
          position: 'topleft',
 | 
			
		||||
          drawControls: !this.options.hideDrawControlButton,
 | 
			
		||||
          drawMarker: false,
 | 
			
		||||
          drawCircle: false,
 | 
			
		||||
          drawCircleMarker: false,
 | 
			
		||||
          drawRectangle: false,
 | 
			
		||||
          drawPolyline: false,
 | 
			
		||||
          drawPolygon: false,
 | 
			
		||||
          dragMode: !this.options.hideEditControlButton,
 | 
			
		||||
          editMode: this.editPolygons && !this.options.hideEditControlButton,
 | 
			
		||||
          cutPolygon: this.editPolygons && !this.options.hideEditControlButton,
 | 
			
		||||
          removalMode: !this.options.hideRemoveControlButton,
 | 
			
		||||
          rotateMode: this.editPolygons && !this.options.hideEditControlButton
 | 
			
		||||
        });
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      if (this.options.initDragMode) {
 | 
			
		||||
        this.map.pm.enableGlobalDragMode();
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      this.map.on('pm:create', (e) => {
 | 
			
		||||
        if (e.shape === 'tbMarker') {
 | 
			
		||||
@ -344,6 +355,7 @@ export default abstract class LeafletMap {
 | 
			
		||||
        }
 | 
			
		||||
        if (this.options.draggableMarker || this.editPolygons) {
 | 
			
		||||
          map.pm.setGlobalOptions({ snappable: false } as L.PM.GlobalOptions);
 | 
			
		||||
          map.pm.applyGlobalOptions();
 | 
			
		||||
          this.addEditControl();
 | 
			
		||||
        } else {
 | 
			
		||||
          this.map.pm.disableDraw();
 | 
			
		||||
@ -555,7 +567,7 @@ export default abstract class LeafletMap {
 | 
			
		||||
            updatedMarkers.push(m);
 | 
			
		||||
          }
 | 
			
		||||
        } else {
 | 
			
		||||
          m = this.createMarker(data.entityName, data, markersData, this.options as MarkerSettings, updateBounds, callback);
 | 
			
		||||
          m = this.createMarker(data.entityName, data, markersData, this.options, updateBounds, callback);
 | 
			
		||||
          if (m) {
 | 
			
		||||
            createdMarkers.push(m);
 | 
			
		||||
          }
 | 
			
		||||
@ -569,7 +581,7 @@ export default abstract class LeafletMap {
 | 
			
		||||
        }
 | 
			
		||||
      });
 | 
			
		||||
      this.markersData = markersData;
 | 
			
		||||
      if ((this.options as MarkerSettings).useClusterMarkers) {
 | 
			
		||||
      if (this.options.useClusterMarkers) {
 | 
			
		||||
        if (createdMarkers.length) {
 | 
			
		||||
          this.markersCluster.addLayers(createdMarkers.map(marker => marker.leafletMarker));
 | 
			
		||||
        }
 | 
			
		||||
@ -589,7 +601,7 @@ export default abstract class LeafletMap {
 | 
			
		||||
        this.saveLocation(data, this.convertToCustomFormat(e.target._latlng)).subscribe();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private createMarker(key: string, data: FormattedData, dataSources: FormattedData[], settings: MarkerSettings,
 | 
			
		||||
    private createMarker(key: string, data: FormattedData, dataSources: FormattedData[], settings: UnitedMapSettings,
 | 
			
		||||
                         updateBounds = true, callback?): Marker {
 | 
			
		||||
      const newMarker = new Marker(this, this.convertPosition(data), settings, data, dataSources, this.dragMarker);
 | 
			
		||||
      if (callback) {
 | 
			
		||||
@ -597,7 +609,7 @@ export default abstract class LeafletMap {
 | 
			
		||||
          callback(data, true);
 | 
			
		||||
        });
 | 
			
		||||
      }
 | 
			
		||||
      if (this.bounds && updateBounds && !(this.options as MarkerSettings).useClusterMarkers) {
 | 
			
		||||
      if (this.bounds && updateBounds && !this.options.useClusterMarkers) {
 | 
			
		||||
        this.fitBounds(this.bounds.extend(newMarker.leafletMarker.getLatLng()));
 | 
			
		||||
      }
 | 
			
		||||
      this.markers.set(key, newMarker);
 | 
			
		||||
@ -786,7 +798,7 @@ export default abstract class LeafletMap {
 | 
			
		||||
    this.saveLocation(data, this.convertPolygonToCustomFormat(coordinates)).subscribe(() => {});
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
    createPolygon(polyData: FormattedData, dataSources: FormattedData[], settings: PolygonSettings, updateBounds = true) {
 | 
			
		||||
    createPolygon(polyData: FormattedData, dataSources: FormattedData[], settings: UnitedMapSettings, updateBounds = true) {
 | 
			
		||||
      const polygon = new Polygon(this.map, polyData, dataSources, settings, this.dragPolygonVertex);
 | 
			
		||||
      if (updateBounds) {
 | 
			
		||||
        const bounds = polygon.leafletPoly.getBounds();
 | 
			
		||||
 | 
			
		||||
@ -192,6 +192,15 @@ export type PolylineSettings = {
 | 
			
		||||
    strokeWeightFunction: GenericFunction;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export interface EditorSettings {
 | 
			
		||||
    snappable: boolean;
 | 
			
		||||
    initDragMode: boolean;
 | 
			
		||||
    hideAllControlButton: boolean;
 | 
			
		||||
    hideDrawControlButton: boolean;
 | 
			
		||||
    hideEditControlButton: boolean;
 | 
			
		||||
    hideRemoveControlButton: boolean;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export interface HistorySelectSettings {
 | 
			
		||||
    buttonColor: string;
 | 
			
		||||
}
 | 
			
		||||
@ -231,7 +240,7 @@ export interface TripAnimationSettings extends PolygonSettings {
 | 
			
		||||
 | 
			
		||||
export type actionsHandler = ($event: Event, datasource: Datasource) => void;
 | 
			
		||||
 | 
			
		||||
export type UnitedMapSettings = MapSettings & PolygonSettings & MarkerSettings & PolylineSettings & TripAnimationSettings;
 | 
			
		||||
export type UnitedMapSettings = MapSettings & PolygonSettings & MarkerSettings & PolylineSettings & TripAnimationSettings & EditorSettings;
 | 
			
		||||
 | 
			
		||||
export const defaultSettings: any = {
 | 
			
		||||
    xPosKeyName: 'xPos',
 | 
			
		||||
@ -271,7 +280,13 @@ export const defaultSettings: any = {
 | 
			
		||||
    draggableMarker: false,
 | 
			
		||||
    editablePolygon: false,
 | 
			
		||||
    fitMapBounds: true,
 | 
			
		||||
    mapPageSize: DEFAULT_MAP_PAGE_SIZE
 | 
			
		||||
    mapPageSize: DEFAULT_MAP_PAGE_SIZE,
 | 
			
		||||
    snappable: false,
 | 
			
		||||
    initDragMode: false,
 | 
			
		||||
    hideAllControlButton: false,
 | 
			
		||||
    hideDrawControlButton: false,
 | 
			
		||||
    hideEditControlButton: false,
 | 
			
		||||
    hideRemoveControlButton: false
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export const hereProviders = [
 | 
			
		||||
 | 
			
		||||
@ -18,6 +18,7 @@ import { defaultSettings, FormattedData, hereProviders, MapProviders, UnitedMapS
 | 
			
		||||
import LeafletMap from './leaflet-map';
 | 
			
		||||
import {
 | 
			
		||||
  commonMapSettingsSchema,
 | 
			
		||||
  editorSettingSchema,
 | 
			
		||||
  mapPolygonSchema,
 | 
			
		||||
  markerClusteringSettingsSchema,
 | 
			
		||||
  markerClusteringSettingsSchemaLeaflet,
 | 
			
		||||
@ -115,6 +116,8 @@ export class MapWidgetController implements MapWidgetInterface {
 | 
			
		||||
                    `model.useClusterMarkers === true && model.provider !== "image-map"`)]);
 | 
			
		||||
            addToSchema(schema, clusteringSchema);
 | 
			
		||||
            addGroupInfo(schema, 'Markers Clustering Settings');
 | 
			
		||||
            addToSchema(schema, addCondition(editorSettingSchema, '(model.editablePolygon === true || model.draggableMarker === true)'));
 | 
			
		||||
            addGroupInfo(schema, 'Editor settings');
 | 
			
		||||
        }
 | 
			
		||||
        return schema;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@ -14,19 +14,17 @@
 | 
			
		||||
/// limitations under the License.
 | 
			
		||||
///
 | 
			
		||||
 | 
			
		||||
import L, { Icon, LeafletMouseEvent } from 'leaflet';
 | 
			
		||||
import { FormattedData, MarkerIconInfo, MarkerIconReadyFunction, MarkerImageInfo, MarkerSettings } from './map-models';
 | 
			
		||||
import L, { LeafletMouseEvent } from 'leaflet';
 | 
			
		||||
import {
 | 
			
		||||
  bindPopupActions,
 | 
			
		||||
  createTooltip,
 | 
			
		||||
} from './maps-utils';
 | 
			
		||||
import {
 | 
			
		||||
  aspectCache,
 | 
			
		||||
  fillPattern,
 | 
			
		||||
  parseWithTranslation,
 | 
			
		||||
  processPattern,
 | 
			
		||||
  safeExecute
 | 
			
		||||
} from './common-maps-utils';
 | 
			
		||||
  FormattedData,
 | 
			
		||||
  MarkerIconInfo,
 | 
			
		||||
  MarkerIconReadyFunction,
 | 
			
		||||
  MarkerImageInfo,
 | 
			
		||||
  MarkerSettings,
 | 
			
		||||
  UnitedMapSettings
 | 
			
		||||
} from './map-models';
 | 
			
		||||
import { bindPopupActions, createTooltip, } from './maps-utils';
 | 
			
		||||
import { aspectCache, fillPattern, parseWithTranslation, processPattern, safeExecute } from './common-maps-utils';
 | 
			
		||||
import tinycolor from 'tinycolor2';
 | 
			
		||||
import { isDefined, isDefinedAndNotNull } from '@core/utils';
 | 
			
		||||
import LeafletMap from './leaflet-map';
 | 
			
		||||
@ -40,10 +38,13 @@ export class Marker {
 | 
			
		||||
    data: FormattedData;
 | 
			
		||||
    dataSources: FormattedData[];
 | 
			
		||||
 | 
			
		||||
  constructor(private map: LeafletMap, private location: L.LatLng, public settings: MarkerSettings,
 | 
			
		||||
  constructor(private map: LeafletMap, private location: L.LatLng, public settings: UnitedMapSettings,
 | 
			
		||||
              data?: FormattedData, dataSources?, onDragendListener?) {
 | 
			
		||||
        this.setDataSources(data, dataSources);
 | 
			
		||||
        this.leafletMarker = L.marker(location, {pmIgnore: !settings.draggableMarker});
 | 
			
		||||
        this.leafletMarker = L.marker(location, {
 | 
			
		||||
          pmIgnore: !settings.draggableMarker,
 | 
			
		||||
          snapIgnore: !settings.snappable
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        this.markerOffset = [
 | 
			
		||||
          isDefined(settings.markerOffsetX) ? settings.markerOffsetX : 0.5,
 | 
			
		||||
 | 
			
		||||
@ -23,7 +23,7 @@ import {
 | 
			
		||||
  processPattern,
 | 
			
		||||
  safeExecute
 | 
			
		||||
} from './common-maps-utils';
 | 
			
		||||
import { FormattedData, MarkerSettings, PolygonSettings } from './map-models';
 | 
			
		||||
import { FormattedData, PolygonSettings, UnitedMapSettings } from './map-models';
 | 
			
		||||
 | 
			
		||||
export class Polygon {
 | 
			
		||||
 | 
			
		||||
@ -32,7 +32,7 @@ export class Polygon {
 | 
			
		||||
    data: FormattedData;
 | 
			
		||||
    dataSources: FormattedData[];
 | 
			
		||||
 | 
			
		||||
    constructor(public map, data: FormattedData, dataSources: FormattedData[], private settings: PolygonSettings,
 | 
			
		||||
    constructor(public map, data: FormattedData, dataSources: FormattedData[], private settings: UnitedMapSettings,
 | 
			
		||||
                private onDragendListener?) {
 | 
			
		||||
        this.dataSources = dataSources;
 | 
			
		||||
        this.data = data;
 | 
			
		||||
@ -47,7 +47,8 @@ export class Polygon {
 | 
			
		||||
          weight: settings.polygonStrokeWeight,
 | 
			
		||||
          fillOpacity: settings.polygonOpacity,
 | 
			
		||||
          opacity: settings.polygonStrokeOpacity,
 | 
			
		||||
          pmIgnore: !settings.editablePolygon
 | 
			
		||||
          pmIgnore: !settings.editablePolygon,
 | 
			
		||||
          snapIgnore: !settings.snappable
 | 
			
		||||
        }).addTo(this.map);
 | 
			
		||||
 | 
			
		||||
        this.updateLabel(settings);
 | 
			
		||||
 | 
			
		||||
@ -1311,3 +1311,61 @@ export const providerSets: { [key: string]: IProvider } = {
 | 
			
		||||
    name: 'image-map'
 | 
			
		||||
  }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export const editorSettingSchema =
 | 
			
		||||
  {
 | 
			
		||||
    schema: {
 | 
			
		||||
      title: 'Editor settings',
 | 
			
		||||
      type: 'object',
 | 
			
		||||
      properties: {
 | 
			
		||||
        snappable: {
 | 
			
		||||
          title: 'Enable snapping to other vertices for precision drawing',
 | 
			
		||||
          type: 'boolean',
 | 
			
		||||
          default: false
 | 
			
		||||
        },
 | 
			
		||||
        initDragMode: {
 | 
			
		||||
          title: 'Initialize map in draggable mode',
 | 
			
		||||
          type: 'boolean',
 | 
			
		||||
          default: false
 | 
			
		||||
        },
 | 
			
		||||
        hideAllControlButton: {
 | 
			
		||||
          title: 'Hide all button',
 | 
			
		||||
          type: 'boolean',
 | 
			
		||||
          default: false
 | 
			
		||||
        },
 | 
			
		||||
        hideDrawControlButton: {
 | 
			
		||||
          title: 'Hide draw buttons',
 | 
			
		||||
          type: 'boolean',
 | 
			
		||||
          default: false
 | 
			
		||||
        },
 | 
			
		||||
        hideEditControlButton: {
 | 
			
		||||
          title: 'Hide edit buttons',
 | 
			
		||||
          type: 'boolean',
 | 
			
		||||
          default: false
 | 
			
		||||
        },
 | 
			
		||||
        hideRemoveControlButton: {
 | 
			
		||||
          title: 'Hide remove button',
 | 
			
		||||
          type: 'boolean',
 | 
			
		||||
          default: false
 | 
			
		||||
        },
 | 
			
		||||
      },
 | 
			
		||||
      required: []
 | 
			
		||||
    },
 | 
			
		||||
    form: [
 | 
			
		||||
      'snappable',
 | 
			
		||||
      'initDragMode',
 | 
			
		||||
      'hideAllControlButton',
 | 
			
		||||
      {
 | 
			
		||||
        key: 'hideDrawControlButton',
 | 
			
		||||
        condition: 'model.hideAllControlButton == false'
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        key: 'hideEditControlButton',
 | 
			
		||||
        condition: 'model.hideAllControlButton == false'
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        key: 'hideRemoveControlButton',
 | 
			
		||||
        condition: 'model.hideAllControlButton == false'
 | 
			
		||||
      }
 | 
			
		||||
    ]
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										103
									
								
								ui-ngx/yarn.lock
									
									
									
									
									
								
							
							
						
						
									
										103
									
								
								ui-ngx/yarn.lock
									
									
									
									
									
								
							@ -1308,15 +1308,15 @@
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.2.tgz#30aa825f11d438671d585bd44e7fd564535fc210"
 | 
			
		||||
  integrity sha512-82cpyJyKRoQoRi+14ibCeGPu0CwypgtBAdBhq1WfvagpCZNKqwXbKwXllYSMG91DhmG4jt9gN8eP6lGOtozuaw==
 | 
			
		||||
 | 
			
		||||
"@geoman-io/leaflet-geoman-free@^2.11.3":
 | 
			
		||||
  version "2.11.3"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/@geoman-io/leaflet-geoman-free/-/leaflet-geoman-free-2.11.3.tgz#480164ab76c2b2a885003e0c111284f3c3160a36"
 | 
			
		||||
  integrity sha512-LsiurEgKEHBcTnAVl8h7EfS5V/doCuxePzPE9SnfrhtJBN7IzP6UwkEo35Agwko+BnIuw/o2bE4F7irvKwQzjw==
 | 
			
		||||
"@geoman-io/leaflet-geoman-free@^2.11.4":
 | 
			
		||||
  version "2.11.4"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/@geoman-io/leaflet-geoman-free/-/leaflet-geoman-free-2.11.4.tgz#4a43fa8d3d5d2bca751135b775c19c6cc0063699"
 | 
			
		||||
  integrity sha512-uWfgaGDhrtoCMHdHi2oNVKb8WXFMQvyNnan1sS/+Yn5jMPuhijWFyAjy0G5kTCamXhGXg4vUvlEpiRSrBwewKg==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    "@turf/boolean-contains" "6.3.0"
 | 
			
		||||
    "@turf/kinks" "6.3.0"
 | 
			
		||||
    "@turf/line-intersect" "6.3.0"
 | 
			
		||||
    "@turf/line-split" "6.3.0"
 | 
			
		||||
    "@turf/boolean-contains" "^6.5.0"
 | 
			
		||||
    "@turf/kinks" "^6.5.0"
 | 
			
		||||
    "@turf/line-intersect" "^6.5.0"
 | 
			
		||||
    "@turf/line-split" "^6.5.0"
 | 
			
		||||
    lodash "4.17.21"
 | 
			
		||||
    polygon-clipping "0.15.3"
 | 
			
		||||
 | 
			
		||||
@ -1601,7 +1601,7 @@
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.2.tgz#423c77877d0569db20e1fc80885ac4118314010e"
 | 
			
		||||
  integrity sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==
 | 
			
		||||
 | 
			
		||||
"@turf/bbox@*", "@turf/bbox@^6.3.0":
 | 
			
		||||
"@turf/bbox@*", "@turf/bbox@^6.5.0":
 | 
			
		||||
  version "6.5.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/@turf/bbox/-/bbox-6.5.0.tgz#bec30a744019eae420dac9ea46fb75caa44d8dc5"
 | 
			
		||||
  integrity sha512-RBbLaao5hXTYyyg577iuMtDB8ehxMlUqHEJiMs8jT1GHkFhr6sYre3lmLsPeYEi/ZKj5TP5tt7fkzNdJ4GIVyw==
 | 
			
		||||
@ -1617,18 +1617,18 @@
 | 
			
		||||
    "@turf/helpers" "^6.5.0"
 | 
			
		||||
    "@turf/invariant" "^6.5.0"
 | 
			
		||||
 | 
			
		||||
"@turf/boolean-contains@6.3.0":
 | 
			
		||||
  version "6.3.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/@turf/boolean-contains/-/boolean-contains-6.3.0.tgz#fe4fc359e408c8c3c89e7fb159c9d31fde48779a"
 | 
			
		||||
  integrity sha512-1MW7B5G5tIu1lnAv3pXyFzl75wfBYnbA2GhwHDb4okIXMhloy/r5uIqAZHo0fOXykKVJS/gIfA/MioKIftoTug==
 | 
			
		||||
"@turf/boolean-contains@^6.5.0":
 | 
			
		||||
  version "6.5.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/@turf/boolean-contains/-/boolean-contains-6.5.0.tgz#f802e7432fb53109242d5bf57393ef2f53849bbf"
 | 
			
		||||
  integrity sha512-4m8cJpbw+YQcKVGi8y0cHhBUnYT+QRfx6wzM4GI1IdtYH3p4oh/DOBJKrepQyiDzFDaNIjxuWXBh0ai1zVwOQQ==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    "@turf/bbox" "^6.3.0"
 | 
			
		||||
    "@turf/boolean-point-in-polygon" "^6.3.0"
 | 
			
		||||
    "@turf/boolean-point-on-line" "^6.3.0"
 | 
			
		||||
    "@turf/helpers" "^6.3.0"
 | 
			
		||||
    "@turf/invariant" "^6.3.0"
 | 
			
		||||
    "@turf/bbox" "^6.5.0"
 | 
			
		||||
    "@turf/boolean-point-in-polygon" "^6.5.0"
 | 
			
		||||
    "@turf/boolean-point-on-line" "^6.5.0"
 | 
			
		||||
    "@turf/helpers" "^6.5.0"
 | 
			
		||||
    "@turf/invariant" "^6.5.0"
 | 
			
		||||
 | 
			
		||||
"@turf/boolean-point-in-polygon@^6.3.0":
 | 
			
		||||
"@turf/boolean-point-in-polygon@^6.5.0":
 | 
			
		||||
  version "6.5.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/@turf/boolean-point-in-polygon/-/boolean-point-in-polygon-6.5.0.tgz#6d2e9c89de4cd2e4365004c1e51490b7795a63cf"
 | 
			
		||||
  integrity sha512-DtSuVFB26SI+hj0SjrvXowGTUCHlgevPAIsukssW6BG5MlNSBQAo70wpICBNJL6RjukXg8d2eXaAWuD/CqL00A==
 | 
			
		||||
@ -1636,7 +1636,7 @@
 | 
			
		||||
    "@turf/helpers" "^6.5.0"
 | 
			
		||||
    "@turf/invariant" "^6.5.0"
 | 
			
		||||
 | 
			
		||||
"@turf/boolean-point-on-line@^6.3.0":
 | 
			
		||||
"@turf/boolean-point-on-line@^6.5.0":
 | 
			
		||||
  version "6.5.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/@turf/boolean-point-on-line/-/boolean-point-on-line-6.5.0.tgz#a8efa7bad88760676f395afb9980746bc5b376e9"
 | 
			
		||||
  integrity sha512-A1BbuQ0LceLHvq7F/P7w3QvfpmZqbmViIUPHdNLvZimFNLo4e6IQunmzbe+8aSStH9QRZm3VOflyvNeXvvpZEQ==
 | 
			
		||||
@ -1660,37 +1660,26 @@
 | 
			
		||||
    "@turf/helpers" "^6.5.0"
 | 
			
		||||
    "@turf/invariant" "^6.5.0"
 | 
			
		||||
 | 
			
		||||
"@turf/helpers@6.x", "@turf/helpers@^6.3.0", "@turf/helpers@^6.5.0":
 | 
			
		||||
"@turf/helpers@6.x", "@turf/helpers@^6.5.0":
 | 
			
		||||
  version "6.5.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/@turf/helpers/-/helpers-6.5.0.tgz#f79af094bd6b8ce7ed2bd3e089a8493ee6cae82e"
 | 
			
		||||
  integrity sha512-VbI1dV5bLFzohYYdgqwikdMVpe7pJ9X3E+dlr425wa2/sMJqYDhTO++ec38/pcPvPE6oD9WEEeU3Xu3gza+VPw==
 | 
			
		||||
 | 
			
		||||
"@turf/invariant@^6.3.0", "@turf/invariant@^6.5.0":
 | 
			
		||||
"@turf/invariant@^6.5.0":
 | 
			
		||||
  version "6.5.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/@turf/invariant/-/invariant-6.5.0.tgz#970afc988023e39c7ccab2341bd06979ddc7463f"
 | 
			
		||||
  integrity sha512-Wv8PRNCtPD31UVbdJE/KVAWKe7l6US+lJItRR/HOEW3eh+U/JwRCSUl/KZ7bmjM/C+zLNoreM2TU6OoLACs4eg==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    "@turf/helpers" "^6.5.0"
 | 
			
		||||
 | 
			
		||||
"@turf/kinks@6.3.0":
 | 
			
		||||
  version "6.3.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/@turf/kinks/-/kinks-6.3.0.tgz#a16b4ccc5a5aae139d43e36271e0a0494fdb4bf7"
 | 
			
		||||
  integrity sha512-BLWvbl2/fa4SeJzVMbleT6Vo1cmzwmzRfxL2xxMei2jmf6JSvqDoMJFwIHGXrLZXvhOCb1b2C+MhBfhtc7kYkQ==
 | 
			
		||||
"@turf/kinks@^6.5.0":
 | 
			
		||||
  version "6.5.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/@turf/kinks/-/kinks-6.5.0.tgz#80e7456367535365012f658cf1a988b39a2c920b"
 | 
			
		||||
  integrity sha512-ViCngdPt1eEL7hYUHR2eHR662GvCgTc35ZJFaNR6kRtr6D8plLaDju0FILeFFWSc+o8e3fwxZEJKmFj9IzPiIQ==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    "@turf/helpers" "^6.3.0"
 | 
			
		||||
    "@turf/helpers" "^6.5.0"
 | 
			
		||||
 | 
			
		||||
"@turf/line-intersect@6.3.0":
 | 
			
		||||
  version "6.3.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/@turf/line-intersect/-/line-intersect-6.3.0.tgz#726a50edc66bb7b5e798b052b103fb0da4d1c4f4"
 | 
			
		||||
  integrity sha512-3naxR7XpkPd2vst3Mw6DFry4C9m3o0/f2n/xu5UAyxb88Ie4m2k+1eqkhzMMx/0L+E6iThWpLx7DASM6q6o9ow==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    "@turf/helpers" "^6.3.0"
 | 
			
		||||
    "@turf/invariant" "^6.3.0"
 | 
			
		||||
    "@turf/line-segment" "^6.3.0"
 | 
			
		||||
    "@turf/meta" "^6.3.0"
 | 
			
		||||
    geojson-rbush "3.x"
 | 
			
		||||
 | 
			
		||||
"@turf/line-intersect@^6.3.0", "@turf/line-intersect@^6.5.0":
 | 
			
		||||
"@turf/line-intersect@^6.5.0":
 | 
			
		||||
  version "6.5.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/@turf/line-intersect/-/line-intersect-6.5.0.tgz#dea48348b30c093715d2195d2dd7524aee4cf020"
 | 
			
		||||
  integrity sha512-CS6R1tZvVQD390G9Ea4pmpM6mJGPWoL82jD46y0q1KSor9s6HupMIo1kY4Ny+AEYQl9jd21V3Scz20eldpbTVA==
 | 
			
		||||
@ -1701,7 +1690,7 @@
 | 
			
		||||
    "@turf/meta" "^6.5.0"
 | 
			
		||||
    geojson-rbush "3.x"
 | 
			
		||||
 | 
			
		||||
"@turf/line-segment@^6.3.0", "@turf/line-segment@^6.5.0":
 | 
			
		||||
"@turf/line-segment@^6.5.0":
 | 
			
		||||
  version "6.5.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/@turf/line-segment/-/line-segment-6.5.0.tgz#ee73f3ffcb7c956203b64ed966d96af380a4dd65"
 | 
			
		||||
  integrity sha512-jI625Ho4jSuJESNq66Mmi290ZJ5pPZiQZruPVpmHkUw257Pew0alMmb6YrqYNnLUuiVVONxAAKXUVeeUGtycfw==
 | 
			
		||||
@ -1710,30 +1699,30 @@
 | 
			
		||||
    "@turf/invariant" "^6.5.0"
 | 
			
		||||
    "@turf/meta" "^6.5.0"
 | 
			
		||||
 | 
			
		||||
"@turf/line-split@6.3.0":
 | 
			
		||||
  version "6.3.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/@turf/line-split/-/line-split-6.3.0.tgz#ee218f66cd65ce84eafc4956c24083663f6082ea"
 | 
			
		||||
  integrity sha512-Q0nUJ0vczy11piyEz0FaKScFwSQtb1HJ2RPEMCw1coUJhTCB02KBWQLImhYqwsD3uLg+H/fxaJ1Gva6EPWoDNQ==
 | 
			
		||||
"@turf/line-split@^6.5.0":
 | 
			
		||||
  version "6.5.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/@turf/line-split/-/line-split-6.5.0.tgz#116d7fbf714457878225187f5820ef98db7b02c2"
 | 
			
		||||
  integrity sha512-/rwUMVr9OI2ccJjw7/6eTN53URtGThNSD5I0GgxyFXMtxWiloRJ9MTff8jBbtPWrRka/Sh2GkwucVRAEakx9Sw==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    "@turf/bbox" "^6.3.0"
 | 
			
		||||
    "@turf/helpers" "^6.3.0"
 | 
			
		||||
    "@turf/invariant" "^6.3.0"
 | 
			
		||||
    "@turf/line-intersect" "^6.3.0"
 | 
			
		||||
    "@turf/line-segment" "^6.3.0"
 | 
			
		||||
    "@turf/meta" "^6.3.0"
 | 
			
		||||
    "@turf/nearest-point-on-line" "^6.3.0"
 | 
			
		||||
    "@turf/square" "^6.3.0"
 | 
			
		||||
    "@turf/truncate" "^6.3.0"
 | 
			
		||||
    "@turf/bbox" "^6.5.0"
 | 
			
		||||
    "@turf/helpers" "^6.5.0"
 | 
			
		||||
    "@turf/invariant" "^6.5.0"
 | 
			
		||||
    "@turf/line-intersect" "^6.5.0"
 | 
			
		||||
    "@turf/line-segment" "^6.5.0"
 | 
			
		||||
    "@turf/meta" "^6.5.0"
 | 
			
		||||
    "@turf/nearest-point-on-line" "^6.5.0"
 | 
			
		||||
    "@turf/square" "^6.5.0"
 | 
			
		||||
    "@turf/truncate" "^6.5.0"
 | 
			
		||||
    geojson-rbush "3.x"
 | 
			
		||||
 | 
			
		||||
"@turf/meta@6.x", "@turf/meta@^6.3.0", "@turf/meta@^6.5.0":
 | 
			
		||||
"@turf/meta@6.x", "@turf/meta@^6.5.0":
 | 
			
		||||
  version "6.5.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/@turf/meta/-/meta-6.5.0.tgz#b725c3653c9f432133eaa04d3421f7e51e0418ca"
 | 
			
		||||
  integrity sha512-RrArvtsV0vdsCBegoBtOalgdSOfkBrTJ07VkpiCnq/491W67hnMWmDu7e6Ztw0C3WldRYTXkg3SumfdzZxLBHA==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    "@turf/helpers" "^6.5.0"
 | 
			
		||||
 | 
			
		||||
"@turf/nearest-point-on-line@^6.3.0":
 | 
			
		||||
"@turf/nearest-point-on-line@^6.5.0":
 | 
			
		||||
  version "6.5.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/@turf/nearest-point-on-line/-/nearest-point-on-line-6.5.0.tgz#8e1cd2cdc0b5acaf4c8d8b3b33bb008d3cb99e7b"
 | 
			
		||||
  integrity sha512-WthrvddddvmymnC+Vf7BrkHGbDOUu6Z3/6bFYUGv1kxw8tiZ6n83/VG6kHz4poHOfS0RaNflzXSkmCi64fLBlg==
 | 
			
		||||
@ -1746,7 +1735,7 @@
 | 
			
		||||
    "@turf/line-intersect" "^6.5.0"
 | 
			
		||||
    "@turf/meta" "^6.5.0"
 | 
			
		||||
 | 
			
		||||
"@turf/square@^6.3.0":
 | 
			
		||||
"@turf/square@^6.5.0":
 | 
			
		||||
  version "6.5.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/@turf/square/-/square-6.5.0.tgz#ab43eef99d39c36157ab5b80416bbeba1f6b2122"
 | 
			
		||||
  integrity sha512-BM2UyWDmiuHCadVhHXKIx5CQQbNCpOxB6S/aCNOCLbhCeypKX5Q0Aosc5YcmCJgkwO5BERCC6Ee7NMbNB2vHmQ==
 | 
			
		||||
@ -1754,7 +1743,7 @@
 | 
			
		||||
    "@turf/distance" "^6.5.0"
 | 
			
		||||
    "@turf/helpers" "^6.5.0"
 | 
			
		||||
 | 
			
		||||
"@turf/truncate@^6.3.0":
 | 
			
		||||
"@turf/truncate@^6.5.0":
 | 
			
		||||
  version "6.5.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/@turf/truncate/-/truncate-6.5.0.tgz#c3a16cad959f1be1c5156157d5555c64b19185d8"
 | 
			
		||||
  integrity sha512-pFxg71pLk+eJj134Z9yUoRhIi8vqnnKvCYwdT4x/DQl/19RVdq1tV3yqOT3gcTQNfniteylL5qV1uTBDV5sgrg==
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user