@@ -20,6 +20,8 @@ import { createCheckins, useRockdAPI, Image } from "../index";
2020import "./main.sass" ;
2121import "@macrostrat/style-system" ;
2222import { MapPosition } from "@macrostrat/mapbox-utils" ;
23+ import { configDefinitionsBuiltInGlobal } from "vike/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn" ;
24+ import { CONTEXTMENU_WARN_DECORATOR_NEEDS_REACT_ELEMENT } from "@blueprintjs/core/lib/esm/legacy/contextMenuTargetLegacy" ;
2325
2426const h = hyper . styled ( styles ) ;
2527
@@ -106,7 +108,9 @@ function weaverStyle(type: object) {
106108 filter : [ 'has' , 'n' ] ,
107109 layout : {
108110 'text-field' : [ 'get' , 'n' ] ,
109- 'text-size' : 10
111+ 'text-size' : 10 ,
112+ 'text-allow-overlap' : true ,
113+ 'text-ignore-placement' : false ,
110114 } ,
111115 paint : {
112116 "text-color" : "#fff"
@@ -145,6 +149,7 @@ function WeaverMap({
145149 const [ showFilter , setFilter ] = useState ( false ) ;
146150 const [ filteredCheckins , setFilteredCheckins ] = useState ( false ) ;
147151 const [ filteredData , setFilteredData ] = useState ( null ) ;
152+ const [ autocompleteOpen , setAutocompleteOpen ] = useState ( false ) ;
148153
149154 // overlay
150155 const [ inspectPosition , setInspectPosition ] = useState < mapboxgl . LngLat | null > ( null ) ;
@@ -176,7 +181,7 @@ function WeaverMap({
176181
177182 const toolbar = h ( Toolbar , { showSettings, setSettings, showFilter, setFilter} ) ;
178183 const contextPanel = h ( ContextPanel , { showSettings, showSatelite, setSatelite, showOverlay, setOverlay} ) ;
179- const autoComplete = h ( AutoComplete , { showFilter, setFilteredCheckins, setFilteredData} ) ;
184+ const autoComplete = h ( AutoComplete , { showFilter, setFilteredCheckins, setFilteredData, autocompleteOpen , setAutocompleteOpen } ) ;
180185
181186 const filteredCheckinsComplete = h ( createFilteredCheckins , { filteredData, setInspectPosition} ) ;
182187
@@ -205,7 +210,7 @@ function WeaverMap({
205210 h ( "div.overlay-div" , [
206211 h ( 'div.autocomplete-container' , [
207212 autoComplete ,
208- filteredData ? h ( "div.filtered-checkins" , filteredCheckinsComplete ) : null ,
213+ filteredData && ! autocompleteOpen ? h ( "div.filtered-checkins" , filteredCheckinsComplete ) : null ,
209214 ] )
210215 ] ) ,
211216 ] )
@@ -376,7 +381,7 @@ function FeatureDetails({setInspectPosition}) {
376381 }
377382 } , [ bounds ] ) ;
378383
379- if ( result == null ) return h ( Spinner ) ;
384+ if ( result == null ) return h ( Spinner , { className : "loading-spinner" } ) ;
380385 result = result . success . data ;
381386
382387 checkins = createCheckins ( result , mapRef , setInspectPosition ) ;
@@ -494,15 +499,14 @@ function createFilteredCheckins(filteredData, setInspectPosition) {
494499 return createCheckins ( filteredData ?. filteredData , mapRef , setInspectPosition ) ;
495500}
496501
497- function AutoComplete ( { showFilter, setFilteredCheckins, setFilteredData} ) {
502+ function AutoComplete ( { showFilter, setFilteredCheckins, setFilteredData, autocompleteOpen , setAutocompleteOpen } ) {
498503 const mapRef = useMapRef ( ) ;
499504 const map = mapRef . current ;
500505 const [ filters , setFilters ] = useState ( [ ] ) ;
501- const [ autocompleteOpen , setAutocompleteOpen ] = useState ( true ) ;
502506 const [ input , setInput ] = useState ( '' ) ;
503507 const [ close , setClose ] = useState ( false ) ;
504508
505- const person_data = getPersonCheckins ( filters . length > 0 ? filters [ 0 ] . id : 0 ) ?. success . data ;
509+ const person_data = getPersonCheckins ( filters . length > 0 ? filters . map ( item => item . id ) . join ( ',' ) : 0 ) ?. success . data ;
506510 const foundData = person_data && person_data . length > 0 ;
507511
508512 console . log ( "person_data" , person_data ) ;
@@ -602,7 +606,7 @@ function AutoComplete({showFilter, setFilteredCheckins, setFilteredData}) {
602606 h ( 'ul' , filters . map ( ( item ) => {
603607 return h ( "div.filter-item" , [
604608 h ( 'li' , item . name ) ,
605- h ( Icon , { icon : "cross" , style : { color : "red" } , onClick : ( ) => {
609+ h ( Icon , { className : 'red-cross' , icon : "cross" , style : { color : "red" } , onClick : ( ) => {
606610 setFilters ( filters . filter ( ( filter ) => filter != item ) ) ;
607611 if ( filters . length == 1 ) {
608612 setClose ( true ) ;
0 commit comments