2022-01-21 01:57:16 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								import  Combine  from  "../Base/Combine" ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								import  { FlowStep }  from  "./FlowStep" ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								import  { BBox }  from  "../../Logic/BBox" ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								import  LayerConfig  from  "../../Models/ThemeConfig/LayerConfig" ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								import  { UIEventSource }  from  "../../Logic/UIEventSource" ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								import  CreateNoteImportLayer  from  "../../Models/ThemeConfig/Conversion/CreateNoteImportLayer" ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								import  FilteredLayer ,  { FilterState }  from  "../../Models/FilteredLayer" ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								import  GeoJsonSource  from  "../../Logic/FeatureSource/Sources/GeoJsonSource" ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								import  MetaTagging  from  "../../Logic/MetaTagging" ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								import  RelationsTracker  from  "../../Logic/Osm/RelationsTracker" ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								import  FilteringFeatureSource  from  "../../Logic/FeatureSource/Sources/FilteringFeatureSource" ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								import  Minimap  from  "../Base/Minimap" ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								import  ShowDataLayer  from  "../ShowDataLayer/ShowDataLayer" ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								import  FeatureInfoBox  from  "../Popup/FeatureInfoBox" ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								import  { ImportUtils }  from  "./ImportUtils" ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								import  *  as  import_candidate  from  "../../assets/layers/import_candidate/import_candidate.json" ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								import  StaticFeatureSource  from  "../../Logic/FeatureSource/Sources/StaticFeatureSource" ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								import  Title  from  "../Base/Title" ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								import  Loading  from  "../Base/Loading" ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								import  { FixedUiElement }  from  "../Base/FixedUiElement" ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								import  { VariableUiElement }  from  "../Base/VariableUIElement" ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								import  *  as  known_layers  from  "../../assets/generated/known_layers.json"  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								import  { LayerConfigJson }  from  "../../Models/ThemeConfig/Json/LayerConfigJson" ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/ * *  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Filters  out  points  for  which  the  import - note  already  exists ,  to  prevent  duplicates 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * / 
							 
						 
					
						
							
								
									
										
										
										
											2022-03-24 03:11:29 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								export  class  CompareToAlreadyExistingNotes  extends  Combine  implements  FlowStep < {  bbox : BBox ,  layer : LayerConfig ,  features : any [ ] ,  theme : string  } >  {  
						 
					
						
							
								
									
										
										
										
											2022-01-21 01:57:16 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  IsValid : UIEventSource < boolean > 
							 
						 
					
						
							
								
									
										
										
										
											2022-03-24 03:11:29 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    public  Value : UIEventSource < {  bbox : BBox ,  layer : LayerConfig ,  features : any [ ]  ,  theme : string } > 
							 
						 
					
						
							
								
									
										
										
										
											2022-01-21 01:57:16 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-03-24 03:11:29 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    constructor ( state ,  params :  {  bbox : BBox ,  layer : LayerConfig ,   features : any [ ] ,  theme : string  } )  { 
							 
						 
					
						
							
								
									
										
										
										
											2022-01-21 01:57:16 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-01-22 02:56:35 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        const  layerConfig  =  known_layers . layers . filter ( l  = >  l . id  ===  params . layer . id ) [ 0 ] 
							 
						 
					
						
							
								
									
										
										
										
											2022-01-26 21:40:38 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        if  ( layerConfig  ===  undefined )  { 
							 
						 
					
						
							
								
									
										
										
										
											2022-01-22 02:56:35 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            console . error ( "WEIRD: layer not found in the builtin layer overview" ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
									
										
										
										
											2022-03-24 03:11:29 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        const  importLayerJson  =  new  CreateNoteImportLayer ( 150 ) . convertStrict ( < LayerConfigJson > layerConfig ,  "CompareToAlreadyExistingNotes" ) 
							 
						 
					
						
							
								
									
										
										
										
											2022-01-21 01:57:16 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								        const  importLayer  =  new  LayerConfig ( importLayerJson ,  "import-layer-dynamic" ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        const  flayer : FilteredLayer  =  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            appliedFilters : new  UIEventSource < Map < string ,  FilterState > > ( new  Map < string ,  FilterState > ( ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            isDisplayed : new  UIEventSource < boolean > ( true ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            layerDef : importLayer 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
									
										
										
										
											2022-01-22 02:56:35 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        const  allNotesWithinBbox  =  new  GeoJsonSource ( flayer ,  params . bbox . padAbsolute ( 0.0001 ) ) 
							 
						 
					
						
							
								
									
										
										
										
											2022-03-24 03:11:29 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        
							 
						 
					
						
							
								
									
										
										
										
											2022-01-22 02:56:35 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        allNotesWithinBbox . features . map ( f  = >  MetaTagging . addMetatags ( 
							 
						 
					
						
							
								
									
										
										
										
											2022-01-21 01:57:16 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								                f , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    memberships : new  RelationsTracker ( ) , 
							 
						 
					
						
							
								
									
										
										
										
											2022-03-24 03:11:29 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                    getFeaturesWithin :  ( )  = >  [ ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    getFeatureById :  ( )  = >  undefined 
							 
						 
					
						
							
								
									
										
										
										
											2022-01-21 01:57:16 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								                } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                importLayer , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                state , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    includeDates : true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    // We assume that the non-dated metatags are already set by the cache generator
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    includeNonDates : true 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ) 
							 
						 
					
						
							
								
									
										
										
										
											2022-01-22 02:56:35 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        const  alreadyOpenImportNotes  =  new  FilteringFeatureSource ( state ,  undefined ,  allNotesWithinBbox ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        alreadyOpenImportNotes . features . addCallbackD ( features  = >  console . log ( "Loaded and filtered features are" ,  features ) ) 
							 
						 
					
						
							
								
									
										
										
										
											2022-01-21 01:57:16 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								        const  map  =  Minimap . createMiniMap ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        map . SetClass ( "w-full" ) . SetStyle ( "height: 500px" ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-01-22 02:56:35 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        const  comparisonMap  =  Minimap . createMiniMap ( { 
							 
						 
					
						
							
								
									
										
										
										
											2022-01-21 01:57:16 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								            location : map.location , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } ) 
							 
						 
					
						
							
								
									
										
										
										
											2022-01-22 02:56:35 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        comparisonMap . SetClass ( "w-full" ) . SetStyle ( "height: 500px" ) 
							 
						 
					
						
							
								
									
										
										
										
											2022-01-21 01:57:16 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        new  ShowDataLayer ( { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            layerToShow : importLayer , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            state , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            zoomToFeatures : true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            leafletMap : map.leafletMap , 
							 
						 
					
						
							
								
									
										
										
										
											2022-01-22 02:56:35 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            features : alreadyOpenImportNotes , 
							 
						 
					
						
							
								
									
										
										
										
											2022-01-21 01:57:16 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								            popup :  ( tags ,  layer )  = >  new  FeatureInfoBox ( tags ,  layer ,  state ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-03-24 03:11:29 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        const  maxDistance  =  new  UIEventSource < number > ( 10 ) 
							 
						 
					
						
							
								
									
										
										
										
											2022-01-21 01:57:16 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-03-24 03:11:29 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        const  partitionedImportPoints  =  ImportUtils . partitionFeaturesIfNearby ( params ,  alreadyOpenImportNotes . features 
							 
						 
					
						
							
								
									
										
										
										
											2022-01-21 01:57:16 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								            . map ( ff  = >  ( { features : ff.map ( ff  = >  ff . feature ) } ) ) ,  maxDistance ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        new  ShowDataLayer ( { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            layerToShow : new  LayerConfig ( import_candidate ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            state , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            zoomToFeatures : true , 
							 
						 
					
						
							
								
									
										
										
										
											2022-01-22 02:56:35 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            leafletMap : comparisonMap.leafletMap , 
							 
						 
					
						
							
								
									
										
										
										
											2022-01-21 01:57:16 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								            features : new  StaticFeatureSource ( partitionedImportPoints . map ( p  = >  p . hasNearby ) ,  false ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            popup :  ( tags ,  layer )  = >  new  FeatureInfoBox ( tags ,  layer ,  state ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        super ( [ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            new  Title ( "Compare with already existing 'to-import'-notes" ) , 
							 
						 
					
						
							
								
									
										
										
										
											2022-01-22 02:56:35 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            new  VariableUiElement ( 
							 
						 
					
						
							
								
									
										
										
										
											2022-01-26 21:40:38 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                alreadyOpenImportNotes . features . map ( notesWithImport  = >  { 
							 
						 
					
						
							
								
									
										
										
										
											2022-03-24 03:11:29 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                    if ( allNotesWithinBbox . state . data  !==  undefined   &&  allNotesWithinBbox . state . data [ "error" ]  !==  undefined ) { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        return  new  FixedUiElement ( "Loading notes failed: " + allNotesWithinBbox . state . data [ "error" ]    ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    } 
							 
						 
					
						
							
								
									
										
										
										
											2022-01-26 21:40:38 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                    if  ( allNotesWithinBbox . features . data  ===  undefined  ||  allNotesWithinBbox . features . data . length  ===  0 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        return  new  Loading ( "Fetching notes from OSM" ) 
							 
						 
					
						
							
								
									
										
										
										
											2022-01-22 02:56:35 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                    } 
							 
						 
					
						
							
								
									
										
										
										
											2022-01-26 21:40:38 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                    if  ( notesWithImport . length  ===  0 )  { 
							 
						 
					
						
							
								
									
										
										
										
											2022-03-24 03:11:29 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                        return  new  FixedUiElement ( "No previous import notes found" ) . SetClass ( "thanks" ) 
							 
						 
					
						
							
								
									
										
										
										
											2022-01-22 02:56:35 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    return  new  Combine ( [ 
							 
						 
					
						
							
								
									
										
										
										
											2022-03-24 03:11:29 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                        "The red elements on the next map are all the data points from your dataset. There are <b>" + params . features . length + "</b> elements in your dataset." , 
							 
						 
					
						
							
								
									
										
										
										
											2022-01-22 02:56:35 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                        map , 
							 
						 
					
						
							
								
									
										
										
										
											2022-03-24 03:11:29 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                        
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                      new  VariableUiElement (   partitionedImportPoints . map ( ( { noNearby ,  hasNearby } )  = >  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                            
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                          if ( noNearby . length  ===  0 ) { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                              // Nothing can be imported
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                            return   new  FixedUiElement ( "All of the proposed points have (or had) an import note already" ) . SetClass ( "alert w-full block" ) . SetStyle ( "padding: 0.5rem" ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                          } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                          
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                          if ( hasNearby . length  ===  0 ) { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                              // All points can be imported
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                             return  new  FixedUiElement ( "All of the proposed points have don't have a previous import note nearby" ) . SetClass ( "thanks w-full block" ) . SetStyle ( "padding: 0.5rem" ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                          } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                          
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                          return  new  Combine ( [ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                              new  FixedUiElement ( hasNearby . length + " points do have an already existing import note within " + maxDistance . data + " meter." ) . SetClass ( "alert" ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                              "These data points will <i>not</i> be imported and are shown as red dots on the map below" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                              comparisonMap . SetClass ( "w-full" ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                          ] ) . SetClass ( "w-full" ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        } ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        
							 
						 
					
						
							
								
									
										
										
										
											2022-01-22 02:56:35 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                    ] ) . SetClass ( "flex flex-col" ) 
							 
						 
					
						
							
								
									
										
										
										
											2022-01-26 21:40:38 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-03-24 03:11:29 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                } ,  [ allNotesWithinBbox . features ,  allNotesWithinBbox . state ] ) 
							 
						 
					
						
							
								
									
										
										
										
											2022-01-21 01:57:16 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								            ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ] ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        this . SetClass ( "flex flex-col" ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        this . Value  =  partitionedImportPoints . map ( ( { noNearby } )  = >  ( { 
							 
						 
					
						
							
								
									
										
										
										
											2022-03-24 03:11:29 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            features : noNearby , 
							 
						 
					
						
							
								
									
										
										
										
											2022-01-21 01:57:16 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								            bbox : params.bbox , 
							 
						 
					
						
							
								
									
										
										
										
											2022-03-24 03:11:29 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            layer : params.layer , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            theme : params.theme 
							 
						 
					
						
							
								
									
										
										
										
											2022-01-21 01:57:16 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								        } ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-01-22 02:56:35 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        this . IsValid  =  alreadyOpenImportNotes . features . map ( ff  = >  { 
							 
						 
					
						
							
								
									
										
										
										
											2022-01-26 21:40:38 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            if  ( allNotesWithinBbox . features . data . length  ===  0 )  { 
							 
						 
					
						
							
								
									
										
										
										
											2022-01-22 02:56:35 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                // Not yet loaded
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                return  false 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            } 
							 
						 
					
						
							
								
									
										
										
										
											2022-01-26 21:40:38 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            if  ( ff . length  ==  0 )  { 
							 
						 
					
						
							
								
									
										
										
										
											2022-01-22 02:56:35 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                // No import notes at all
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                return  true ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            } 
							 
						 
					
						
							
								
									
										
										
										
											2022-01-26 21:40:38 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-01-22 02:56:35 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            return  partitionedImportPoints . data . noNearby . length  >  0 ;  // at least _something_ can be imported
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } ,  [ partitionedImportPoints ,  allNotesWithinBbox . features ] ) 
							 
						 
					
						
							
								
									
										
										
										
											2022-01-21 01:57:16 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}