Views exposed forms

The top of a view, in six combinations: a header on its own, exposed filters on their own, exposed sorts on their own, all of it at once with the reset and pager controls, grouped filters, and the sort links a table style puts in its header cells. Every variation is a real view, built in memory and never saved, listing the same dummy people rather than the content of the site. Nothing is queried, so applying a filter or a sort no longer changes what is listed; the widgets are here to be themed, and they still come back in the state they were submitted in. The exposed forms submit to this page and share its query string, the way several views on one page do, so applying one is visible in the others that expose the same identifier.

Header, no exposed form

Two header areas, a custom text and a result summary, above a view with nothing exposed. The header is wrapped on its own, so it is themed whether or not an exposed form follows it.

Everybody with an account on this site.Showing 1 to 3 of 6 people.
Name: Ada Lovelace
Member for: 3 days ago
Name: Grace Hopper
Member for: 1 week 5 days ago
Name: Alan Turing
Member for: 1 month 2 weeks ago
Name: Katherine Johnson
Member for: 6 months 2 weeks ago
Name: Edsger Dijkstra
Member for: 1 year 1 month ago
Name: Barbara Liskov
Member for: 3 years 3 months ago

Exposed filters, no header

One filter per widget the core handlers build: a textfield from a string filter, a select from a boolean filter, and a date filter with its operator exposed, so the operator select and the value are rendered as a pair.

Part of a username.
Member since
A date, or an offset such as "-1 year".
Name: Ada Lovelace
Member for: 3 days ago
Name: Grace Hopper
Member for: 1 week 5 days ago
Name: Alan Turing
Member for: 1 month 2 weeks ago
Name: Katherine Johnson
Member for: 6 months 2 weeks ago
Name: Edsger Dijkstra
Member for: 1 year 1 month ago
Name: Barbara Liskov
Member for: 3 years 3 months ago

Exposed sorts, no filters

The "Sort by" and "Order" selects the exposed form plugin appends when sorts are exposed. They are ordinary selects, but they are the only widgets in the form, so the exposed form has to hold up with no filter beside them.

Name: Ada Lovelace
Member for: 3 days ago
Name: Grace Hopper
Member for: 1 week 5 days ago
Name: Alan Turing
Member for: 1 month 2 weeks ago
Name: Katherine Johnson
Member for: 6 months 2 weeks ago
Name: Edsger Dijkstra
Member for: 1 year 1 month ago
Name: Barbara Liskov
Member for: 3 years 3 months ago

Header, filters, sorts, reset and pager controls

Everything at once, and the widest the exposed form ever gets: filters, the sort selects, the exposed items per page and offset the pager adds, the Apply button and the Reset button. The Reset button only appears once a filter has been applied, so the view is rendered with one.

Showing 1 to 5 of 6 people.
Name: Ada Lovelace
Member for: 3 days ago
Name: Grace Hopper
Member for: 1 week 5 days ago
Name: Alan Turing
Member for: 1 month 2 weeks ago
Name: Katherine Johnson
Member for: 6 months 2 weeks ago
Name: Edsger Dijkstra
Member for: 1 year 1 month ago
Name: Barbara Liskov
Member for: 3 years 3 months ago

Grouped filters

A grouped filter replaces the widget of a filter with a list of named combinations of an operator and a value. The same filter is exposed twice, once as radio buttons and once as a select, since a group is rendered either way.

Joined
Name: Ada Lovelace
Member for: 3 days ago
Name: Grace Hopper
Member for: 1 week 5 days ago
Name: Alan Turing
Member for: 1 month 2 weeks ago
Name: Katherine Johnson
Member for: 6 months 2 weeks ago
Name: Edsger Dijkstra
Member for: 1 year 1 month ago
Name: Barbara Liskov
Member for: 3 years 3 months ago

Sortable table headers

The other kind of sort in a view: the table style turns the header cell of a sortable column into a link, and marks the column being sorted with an "is-active" class and a sort indicator.

Showing 1 to 5 of 6 people.
Name Member for Sort ascending
Ada Lovelace 3 days ago
Grace Hopper 1 week 5 days ago
Alan Turing 1 month 2 weeks ago
Katherine Johnson 6 months 2 weeks ago
Edsger Dijkstra 1 year 1 month ago
Barbara Liskov 3 years 3 months ago