Allow extensions to register kube-object menus + details (#1108)

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
This commit is contained in:
Jari Kolehmainen authored and GitHub committed 2020-10-22 21:41:20 +03:00
1 parent 91bef77997
commit 99db7aca19
101 files changed
+7858 -1604

No files matched your search

@@ -47,20 +47,7 @@ export class NetworkPolicies extends React.Component<Props> {
item.getTypes().join(", "),
item.getAge(),
]}
renderItemMenu={(item: NetworkPolicy) => {
return <NetworkPolicyMenu object={item}/>
}}
/>
)
}
}
export function NetworkPolicyMenu(props: KubeObjectMenuProps<NetworkPolicy>) {
return (
<KubeObjectMenu {...props}/>
)
}
apiManager.registerViews(networkPolicyApi, {
Menu: NetworkPolicyMenu,
})
@@ -4,15 +4,15 @@ import get from "lodash/get";
import React, { Fragment } from "react";
import { t, Trans } from "@lingui/macro";
import { DrawerItem, DrawerTitle } from "../drawer";
import { IPolicyEgress, IPolicyIngress, IPolicyIpBlock, IPolicySelector, NetworkPolicy, networkPolicyApi } from "../../api/endpoints/network-policy.api";
import { IPolicyEgress, IPolicyIngress, IPolicyIpBlock, IPolicySelector, NetworkPolicy } from "../../api/endpoints/network-policy.api";
import { Badge } from "../badge";
import { SubTitle } from "../layout/sub-title";
import { KubeEventDetails } from "../+events/kube-event-details";
import { observer } from "mobx-react";
import { KubeObjectDetailsProps } from "../kube-object";
import { _i18n } from "../../i18n";
import { apiManager } from "../../api/api-manager";
import { KubeObjectMeta } from "../kube-object/kube-object-meta";
import { kubeObjectDetailRegistry } from "../../api/kube-object-detail-registry";
interface Props extends KubeObjectDetailsProps<NetworkPolicy> {
}
@@ -144,6 +144,10 @@ export class NetworkPolicyDetails extends React.Component<Props> {
}
}
apiManager.registerViews(networkPolicyApi, {
Details: NetworkPolicyDetails
})
kubeObjectDetailRegistry.add({
kind: "NetworkPolicy",
apiVersions: ["networking.k8s.io/v1"],
components: {
Details: (props) => <NetworkPolicyDetails {...props} />
}
})