Add CRDs to Command Palette and fix bugs

- Deprecate the "scope" on command registrations as it is buggy and
  generally unfixable

- Switch to mounting CommandContainer in each new frame so that there is
  no need to broadcast anything other than opening palette

- Add CRD entries to the command registry within each cluster

- Add navigate to CommandActionContext to simplify handling of root
  frame scoped URLs

- Switch to using DI for some of the deps

Signed-off-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
Sebastian Malton committed 2022-01-05 11:48:51 -05:00
1 parent 4f75acf2b4
commit abe90ad92a
27 files changed
+607 -431

No files matched your search

@@ -66,22 +66,15 @@ export class CRDStore extends KubeObjectStore<CustomResourceDefinition> {
@computed get groups() {
const groups: Record<string, CustomResourceDefinition[]> = {};
return this.items.reduce((groups, crd) => {
const group = crd.getGroup();
for (const crd of this.items) {
(groups[crd.getGroup()] ??= []).push(crd);
}
if (!groups[group]) groups[group] = [];
groups[group].push(crd);
return groups;
}, groups);
return groups;
}
getByGroup(group: string, pluralName: string) {
const crdInGroup = this.groups[group];
if (!crdInGroup) return null;
return crdInGroup.find(crd => crd.getPluralName() === pluralName);
return this.groups[group]?.find(crd => crd.getPluralName() === pluralName);
}
getByObject(obj: KubeObject) {