// Here are some example of filters to setup
// Add any of thse filters to the filters{} object in -> FlowSearch onReady - Main Script
//NB! Minimum setup for a filter
// Must have field and component
// Component Types: numberFilter, dateFilter, buttonRangeFilter, filterSearch, isAvailable, textSearch, buttonFilterSingle, buttonFilterMulti, checkBoxFilterMulti, checkBoxFilterSingle
//IMPORTANT: In all snippets you will see FILTER_NAME_HERE this is the name you specify here:
FILTER_NAME_HERE: {
  field: 'FIELDNAME',
  component: 'COMPONENT_NAME',
},
eg:
siteSearch: {
  field: 'FIELDNAME',
  component: 'COMPONENT_NAME',
},
//Extra optional fields
siteSearch: {
  field: 'FIELDNAME',
  component: 'COMPONENT_NAME',
  //Optional
  action: 'filter', // advanced
  type: 'term', // !!Important - use terms if multi true or term if false - advanced
  id: 'amenities-filter',// Provide custom id - advanced
  size: 10,// Number of filter results to return
  orderBy: '_term', // _count
  orderSortBy: 'desc', // desc
}
//Normal Site Search
siteSearch: {
  field: 'name, description, propertyType, summary',
  component: 'textSearch'
},
//EqualTo number filter
dailyPriceEq: {
  field: 'dailyPrice',
  evaluation: 'EqualTo',
  component: 'numberFilter',
},
//EqualTo date filter
createdOn: {
  field: 'createdOn',
  evaluation: 'EqualTo',
  component: 'dateFilter',
},
//buttonRangeFilter
dailyPriceRanges: {
  component: 'buttonRangeFilter',
  field: 'dailyPrice',
  rangeGroups: [
    {
      label: '$50 to $75',
      evaluation: {
        lte: '75',
        gte: '50',
      },
    },
    {
      label: '$75 to $100',
      evaluation: {
        lte: '100',
        gte: '75',
      },
    },
    {
      label: '$101 to $200',
      evaluation: {
        lte: '200',
        gte: '101',
      },
    },
    {
      label: '$201 to $500',
      evaluation: {
        lte: '500',
        gte: '201',
      },
    },
    {
      label: '$500+',
      evaluation: {
        gt: '500',
      },
    },
  ],
},
// filterSearch filter
property: {
  field: 'propertyType',
  component: 'filterSearch',
  size: 10,
  orderBy: '_count', // _count
  sortBy: 'asc', // desc
},
// App search filter
appSearch: {
  field: 'name, description, propertyType, summary',
  component: 'textSearch',
},
// Is Available / checks for true/false
isAvailable: {
  field: 'isAvailable',
  component: 'isSetFilter',
},
// buttonFilterSingle
amenities: {
  field: 'amenities',
  component: 'buttonFilterSingle',
},
// checkBoxFilterMulti
facilities: {
  field: 'facilities',
  component: 'checkBoxFilterMulti',
  size: 20,
},