Skip to content

New Search Interface

Lauri Himanen requested to merge new-search into v0.11.0

Completely rewritten search interface and search context for entries. Major changes include:

  • New components for advanced querying:
    • FilterText.js: freeform text search with suggestion
    • FilterSelect.js: Dropdown for search options with large number of available values
    • FilterCheckboxes.js: Checkboxes for search options with small number of available values
    • FilterSlider.js: Two-handled slider for selecting a numeric range
    • FilterDate.js: For selecting a date-range.
  • FilterContext.js: provides several custom hooks for interacting with the current set of search filters. Optimized usage of Recoil.js Atoms and Selectors that minimize the number of renders when filters are updated. Also has a built-in debounce mechanism.
  • Improved unit conversion tools (needed especially for recalculating Filter values from the current unit system to SI and back).
  • Completely rewritten search bar: Now provides meaningful suggestions, is synced with the filters shown on the left panel, supports simple range queries, has a primitive validation mechanism.

Also fixes the following API issues:

  • Fixed issues with range validation when using gte, lte queries for numeric values and timestamps.
  • Fixed issue with invalid 'next_page_after_value' reported by the API.

Merge request reports