Redo the Change List page in the Administration UI.

Review Request #10792 — Created Nov. 7, 2019 and submitted

Review Board

The Change List page is used to list items for a particular model that
can be changed or deleted. It optionally offers search capabilities,
actions that can be performed on items, and filters for limiting the
items shown.

The old Change List was heavily built on top of Django's administration
UI, using its classes and layout, but customizing it in places. This
made our version of the page fragile.

The new implementation is fully independent of Django's styling and
template for the page, instead built on top of some of our existing
components (drawers, datagrids, search fields, headers) and on top of
new ones (rb-c-admin-change-list, rb-c-admin-filters,

All functionality works with desktop and mobile modes, with the
exception of filters, which currently are hidden in mobile mode.

Actions, which Django provided as UI above the change list, are now
shown in a drawer that appears when items are selected, just like the
dashboard. This only works with a standard action form. Custom action
forms (which are not used by any of the apps we depend on or ship, but
are a feature available in Django) are not supported.

This does remove the django.less, which is what contained many of our
customizations on top of the Django admin UI. This means some pages are
going to look strange or broken until the admin UI rewrite is complete,
but is necessary to make progress on pages to avoid issues with some
base styles.

Tested various change list pages in both desktop and mobile modes,
making sure that search, filters, and actions worked as expected.

  1. Ship It!
Review request changed

Status: Closed (submitted)

Change Summary:

Pushed to release-4.0.x (7ebacf5)