Convert ExtensionManagerView to TypeScript/spina and fix bundles.

Review Request #13803 — Created April 30, 2024 and submitted

Information

Djblets
release-5.x

Reviewers

This change converts the ExtensionManagerView class to TypeScript and
spina.

This also fixes up some issues with our bundles in djblets. The
ExtensionManagerModel was converted to TypeScript, but inadvertently
included in the djblets-extensions bundle instead of the
djblets-extensions-admin bundle. In addition, we had neglected to remove
the other old filenames for the rest of the djblets-extensions bundle
contents from the list.

  • Ran js-tests.
  • Used the extensions list in the Review Board admin and saw everything
    work correctly.
Summary ID
Convert ExtensionManagerView to TypeScript/spina and fix bundles.
This change converts the ExtensionManagerView class to TypeScript and spina. This also fixes up some issues with our bundles in djblets. The ExtensionManagerModel was converted to TypeScript, but inadvertently included in the djblets-extensions bundle instead of the djblets-extensions-admin bundle. In addition, we had neglected to remove the other old filenames for the rest of the djblets-extensions bundle contents from the list. Testing Done: - Ran js-tests. - Used the extensions list in the Review Board admin and saw everything work correctly.
e3c7d6959f98003c82eb2580a2a3a8eb55e1c518
Description From Last Updated

Extra word here: "in"

maubinmaubin

Did you mean Djblets 6?

maubinmaubin

Trailing comma here.

chipx86chipx86

Shouldn't need to use super anymore, since that should auto-merge. (Check to be sure.)

chipx86chipx86

It'd be nice to avoid having a newline here. Can we instead just set the value on the next line, …

chipx86chipx86

This is used to customize the classes in use by the parent, so they can be specialized. We need to …

chipx86chipx86

Should be protected.

chipx86chipx86
maubin
  1. 
      
  2. Show all issues

    Extra word here: "in"

  3. Show all issues

    Did you mean Djblets 6?

    1. I had just copied the arg description from ListItemModel without reading it. I'll handle that removal in another change.

  4. 
      
david
maubin
  1. Ship It!
  2. 
      
chipx86
  1. 
      
  2. Show all issues

    Trailing comma here.

  3. Show all issues

    Shouldn't need to use super anymore, since that should auto-merge. (Check to be sure.)

  4. Show all issues

    It'd be nice to avoid having a newline here. Can we instead just set the value on the next line, the way we had it before?

  5. Show all issues

    This is used to customize the classes in use by the parent, so they can be specialized. We need to keep these and keep all the references below.

    It'd also make sense to have ExtensionManagerView take these as generics, so there's enforcement of types.

    1. This wasn't actually used anywhere that I could tell?

    2. Yeah, looks like nothing does. I was going through the history of this and paging in some old memories. If memory serves, I had two plans:

      1. Add a common parent for this and the integrations view (which both use this same design) to eventually have one class manage the whole "list of pluggable things that can be configured/toggled" responsibility.
      2. Allow Review Board to specialize presentation/logic for any of these (though I don't recall now what I had wanted to do there).

      Technically this is an API break, but we never documented any of this, or took advantage of the ability to override these, so I'm okay removing it.

  6. Show all issues

    Should be protected.

  7. 
      
david
chipx86
  1. Ship It!
  2. 
      
david
Review request changed
Status:
Completed
Change Summary:
Pushed to release-5.x (6d57008)