Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor Picker as a table with multiple columns/filters #7265

Closed
wants to merge 3 commits into from

Commits on Jan 23, 2024

  1. Refactor Picker in terms of columns

    `menu::Item` is replaced with column configurations for each picker
    which control how a column is displayed and whether it is passed to
    nucleo for filtering. (This is used for dynamic pickers so that we can
    filter those items with the dynamic picker callback rather than nucleo.)
    
    The picker has a new lucene-like syntax that can be used to filter the
    picker only on certain criteria. If a filter is not specified, the text
    in the prompt applies to the picker's configured "primary" column.
    
    Adding column configurations for each picker is left for the child
    commit.
    the-mikedavis committed Jan 23, 2024
    Configuration menu
    Copy the full SHA
    9b08ee0 View commit details
    Browse the repository at this point in the history
  2. Add column configurations for existing pickers

    This removes the menu::Item implementations for picker item types and
    adds `Vec<Column<T, D>>` configurations.
    the-mikedavis committed Jan 23, 2024
    Configuration menu
    Copy the full SHA
    d5d7320 View commit details
    Browse the repository at this point in the history
  3. Select fields by substring in the picker query

    So you can select a field by a substring of its name, like
    `%p:syntax.rs` to specify the `path` field as "syntax.rs".
    
    Co-authored-by: ItsEthra <107059409+ItsEthra@users.noreply.github.com>
    the-mikedavis and ItsEthra committed Jan 23, 2024
    Configuration menu
    Copy the full SHA
    3a8ce21 View commit details
    Browse the repository at this point in the history