Modernize the UI for managing extensions.
Review Request #11044 — Created June 17, 2020 and submitted
This is a complete design refresh for the extension UI. It makes use of
the config forms CSS components to provide a list of extensions that's
more in line with the look and feel of the integrations list, amongst
other bits of UI we're assembling, and presents information on the
extensions in a much clearer way than the old UI.
The new extension list presents each item as a row with three columns.
The first column contains all the extension metadata (summary, version,
author, description, load errors). The second column contains the status
(Enabled, Disabled, Error). The third column contains a vertical list of
actions that can be performed (Enable/Disable/Reload, Configure,
Above the list of extensions is a list of actions. This will always show
a "Reload Extensions" (replacement for "Scan for installed extensions").
settings.DJBLETS_EXTENSIONS_BROWSE_URLis set, this will also
include a "More Extensions" button that navigates to that page. In the
process, the old template block for adding this sort of action has been
This new layout reduces the visual noise of the old layout, and makes it
easier to see and manage the states of all extensions.
The old template assumed it would be shown in the administration UI,
with standard Django administratino UI conventions. We still have a
template for that, but the meat of the new UI is in a reusable "parts"
template that can be embedded into any page.
Tested extensions in all possible states.
Tested the More Extensions and Reload Extensions buttons.
The spec isn't clear, but I don't think it's supposed to allow returning multiple values through either resolve or reject. If we want to have multiple values, I think they need to be wrapped in an array and can be destructured on the other end.
I also can't find where
errorRspcomes from. Was that supposed to be
Same here re: multiple values and
Fixed several issues around extension load error handling.
Revision 2 (+900 -634)
Checks run (2 succeeded)