@@ -50,7 +50,12 @@ function ColumnMapContainer(props) {
5050 ) ;
5151}
5252
53- type ColumnFilterKey = "liths" | "stratNames" | "intervals" ;
53+ type ColumnFilterKey =
54+ | "liths"
55+ | "stratNames"
56+ | "intervals"
57+ | "concepts"
58+ | "environments" ;
5459
5560type ColumnFilterDef = {
5661 type : ColumnFilterKey ;
@@ -432,7 +437,7 @@ function LexFilters() {
432437async function _fetchFilterItems ( inputText : string ) {
433438 // Fetch filter items from the API based on input text, using the PostgREST client API
434439 const res = postgrest
435- . from ( "col_filter " )
440+ . from ( "col_filters " )
436441 . select ( "*" )
437442 . ilike ( "name" , `%${ inputText } %` )
438443 . limit ( 5 ) ;
@@ -473,6 +478,10 @@ function routeForFilterKey(key: ColumnFilterKey): string {
473478 return "strat-names" ;
474479 case "intervals" :
475480 return "intervals" ;
481+ case "concepts" :
482+ return "concepts" ;
483+ case "environments" :
484+ return "environments" ;
476485 }
477486}
478487
@@ -484,33 +493,42 @@ function filterKeyFromType(type: string): ColumnFilterKey | null {
484493 return "stratNames" ;
485494 case "interval" :
486495 return "intervals" ;
496+ case "concept" :
497+ return "concepts" ;
498+ case "environment" :
499+ return "environments" ;
487500 default :
488501 return null ;
489502 }
490503}
491504
492- function paramNameForFilterKey ( key : ColumnFilterKey ) : string {
505+ function paramNameForFilterKey (
506+ key : ColumnFilterKey
507+ ) : keyof ColumnFilterOptions {
493508 switch ( key ) {
494509 case "liths" :
495510 return "liths" ;
496511 case "stratNames" :
497512 return "strat_names" ;
498513 case "intervals" :
499514 return "intervals" ;
515+ case "concepts" :
516+ return "strat_name_concepts" ;
517+ case "environments" :
518+ return "environments" ;
500519 }
501520}
502521
503522function buildParamsFromFilters (
504- filters : ColumnFilterDef [ ] ,
505- // Allow multiple filters per category (not supported in API v2)
506- allowMultiple = false
523+ filters : ColumnFilterDef [ ]
507524) : Partial < ColumnFilterOptions > {
508525 const params : Record < string , string > = { } ;
509526 if ( filters == null ) return params ;
510527 let filterData : Partial < ColumnFilterOptions > = { } ;
511528 for ( const filter of filters ) {
512529 const key = paramNameForFilterKey ( filter . type ) ;
513- if ( allowMultiple ) {
530+ if ( key == "strat_names" || key == "strat_name_concepts" ) {
531+ // We can add multiple parameters of each type
514532 filterData [ key ] ??= [ ] ;
515533 } else {
516534 filterData [ key ] = [ ] ;
0 commit comments