Table Filters

Optional table presets rendered as patch links.

Read more Read less

The parent supplies a two-argument patch function that builds a URL from each slot's sorting and filters. These same values determine the active state.

Counts are computed by the caller, respecting search and the preset filters. Clicking an active preset reapplies it; it does not toggle it off.

When clear_button is true, the reset icon on the right calls patch.([], []) to clear all sorting and column filters.

<.table_filters
  id="table-filters-single-with-counts"
  patch={&Storybook.Components.TableFilters.table_path/2}
  clear_button
  current_filters={[score: ["critical"]]}
  current_sorting={[score: :desc]}
>
  <:filter sorting={[score: :desc]} filters={[score: ["critical"]]} color={:danger} count={23}>Critiques</:filter>
  <:filter sorting={[score: :desc]} filters={[score: ["warning"]]} color={:warning} count={113}>À surveiller</:filter>
  <:filter sorting={[score: :desc]} filters={[score: ["ok"]]} color={:success} count={31}>OK</:filter>
</.table_filters>
<.table_filters
  id="table-filters-single-optional-counts"
  patch={&Storybook.Components.TableFilters.table_path/2}
>
  <:filter color={:primary}>Tous</:filter>
  <:filter filters={[score: ["critical"]]} color={:danger} count={0}>Critiques</:filter>
  <:filter filters={[score: ["ok"]]} color={:success}>OK</:filter>
</.table_filters>