mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
fix: show loaded items from api into IngressClasses view
Signed-off-by: Roman <ixrock@gmail.com>
This commit is contained in:
parent
b385c281c1
commit
6492770fa6
@ -36,8 +36,8 @@ export interface IngressClassParametersReference {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export interface IngressClassSpec {
|
export interface IngressClassSpec {
|
||||||
"controller": string; // example.com/ingress-controller
|
controller: string; // example.com/ingress-controller
|
||||||
"parameters": IngressClassParametersReference,
|
parameters?: IngressClassParametersReference,
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface IngressClassStatus {
|
export interface IngressClassStatus {
|
||||||
@ -52,27 +52,27 @@ export class IngressClass extends KubeObject<IngressClassMetadata, IngressClassS
|
|||||||
return this.spec.controller;
|
return this.spec.controller;
|
||||||
}
|
}
|
||||||
|
|
||||||
getApiGroup(){
|
getApiGroup() {
|
||||||
return this.spec.parameters.apiGroup;
|
return this.spec.parameters?.apiGroup;
|
||||||
}
|
}
|
||||||
|
|
||||||
getScope(){
|
getScope() {
|
||||||
return this.spec.parameters.scope;
|
return this.spec.parameters?.scope;
|
||||||
}
|
}
|
||||||
|
|
||||||
getNs() {
|
getNs() {
|
||||||
return this.spec.parameters?.namespace as string;
|
return this.spec.parameters?.namespace as string;
|
||||||
}
|
}
|
||||||
|
|
||||||
getKind(){
|
getKind() {
|
||||||
return this.spec.parameters.kind;
|
return this.spec.parameters?.kind;
|
||||||
}
|
}
|
||||||
|
|
||||||
getName(){
|
getSpecName() {
|
||||||
return this.spec.parameters.name;
|
return this.spec.parameters?.name as string;
|
||||||
}
|
}
|
||||||
|
|
||||||
get isDefault(){
|
get isDefault() {
|
||||||
return this.metadata?.annotations?.["ingressclass.kubernetes.io/is-default-class"] === "true";
|
return this.metadata.annotations?.["ingressclass.kubernetes.io/is-default-class"] === "true";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -5,3 +5,4 @@
|
|||||||
|
|
||||||
export * from "./ingresses";
|
export * from "./ingresses";
|
||||||
export * from "./ingress-details";
|
export * from "./ingress-details";
|
||||||
|
export * from "./ingress-classes";
|
||||||
|
|||||||
@ -15,7 +15,6 @@ import ingressClassStoreInjectable from "./ingress-class-store.injectable";
|
|||||||
import type { IngressClass } from "../../../common/k8s-api/endpoints/ingress-class.api";
|
import type { IngressClass } from "../../../common/k8s-api/endpoints/ingress-class.api";
|
||||||
|
|
||||||
enum columnId {
|
enum columnId {
|
||||||
is_default = "is-default",
|
|
||||||
name = "name",
|
name = "name",
|
||||||
namespace = "namespace",
|
namespace = "namespace",
|
||||||
controller = "controller",
|
controller = "controller",
|
||||||
@ -41,7 +40,6 @@ const NonInjectedIngressClasses = observer((props: Dependencies) => {
|
|||||||
className={styles.IngressClasses}
|
className={styles.IngressClasses}
|
||||||
store={store}
|
store={store}
|
||||||
sortingCallbacks={{
|
sortingCallbacks={{
|
||||||
[columnId.is_default]: (resource: IngressClass) => resource.isDefault ? 1 : 0,
|
|
||||||
[columnId.name]: (resource: IngressClass) => resource.getName(),
|
[columnId.name]: (resource: IngressClass) => resource.getName(),
|
||||||
[columnId.namespace]: (resource: IngressClass) => resource.getNs(),
|
[columnId.namespace]: (resource: IngressClass) => resource.getNs(),
|
||||||
[columnId.controller]: (resource: IngressClass) => resource.getController(),
|
[columnId.controller]: (resource: IngressClass) => resource.getController(),
|
||||||
@ -54,8 +52,7 @@ const NonInjectedIngressClasses = observer((props: Dependencies) => {
|
|||||||
]}
|
]}
|
||||||
renderHeaderTitle="Ingress Classes"
|
renderHeaderTitle="Ingress Classes"
|
||||||
renderTableHeader={[
|
renderTableHeader={[
|
||||||
{ title: "Default", className: styles.is_default, id: columnId.is_default },
|
{ title: "Name", className: styles.name, sortBy: columnId.name, id: columnId.name },
|
||||||
{ title: "Name", className: styles.names, sortBy: columnId.name, id: columnId.name },
|
|
||||||
{
|
{
|
||||||
title: "Namespace",
|
title: "Namespace",
|
||||||
className: styles.namespace,
|
className: styles.namespace,
|
||||||
@ -69,7 +66,7 @@ const NonInjectedIngressClasses = observer((props: Dependencies) => {
|
|||||||
id: columnId.controller,
|
id: columnId.controller,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "ApiGroup",
|
title: "API Group",
|
||||||
className: styles.apiGroup,
|
className: styles.apiGroup,
|
||||||
sortBy: columnId.apiGroup,
|
sortBy: columnId.apiGroup,
|
||||||
id: columnId.apiGroup,
|
id: columnId.apiGroup,
|
||||||
@ -77,11 +74,11 @@ const NonInjectedIngressClasses = observer((props: Dependencies) => {
|
|||||||
{ title: "Scope", className: styles.scope, sortBy: columnId.scope, id: columnId.scope, },
|
{ title: "Scope", className: styles.scope, sortBy: columnId.scope, id: columnId.scope, },
|
||||||
{ title: "Kind", className: styles.kind, sortBy: columnId.kind, id: columnId.kind, },
|
{ title: "Kind", className: styles.kind, sortBy: columnId.kind, id: columnId.kind, },
|
||||||
]}
|
]}
|
||||||
renderTableContents={ingressClass => [
|
renderTableContents={(ingressClass: IngressClass) => [
|
||||||
<span>checkbox-set-default</span>,
|
// TODO: add "is-default" icon/marker + some actions how to "set as default" for each IngressClass
|
||||||
ingressClass.getName(),
|
ingressClass.getName(),
|
||||||
ingressClass.getNs(),
|
|
||||||
ingressClass.getController(),
|
ingressClass.getController(),
|
||||||
|
ingressClass.getNs(),
|
||||||
ingressClass.getApiGroup(),
|
ingressClass.getApiGroup(),
|
||||||
ingressClass.getScope(),
|
ingressClass.getScope(),
|
||||||
ingressClass.getKind(),
|
ingressClass.getKind(),
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user