mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
some fixes, improved items search by values from spec.parameters.*
Signed-off-by: Roman <ixrock@gmail.com>
This commit is contained in:
parent
4c88f295ec
commit
34e7977259
@ -11,6 +11,8 @@ export class IngressClassApi extends KubeApi<IngressClass> {
|
||||
constructor() {
|
||||
super({
|
||||
objectConstructor: IngressClass,
|
||||
checkPreferredVersion: true,
|
||||
fallbackApiBases: ["/apis/extensions/v1beta1/ingressclasses"],
|
||||
});
|
||||
}
|
||||
}
|
||||
@ -37,7 +39,7 @@ export interface IngressClassParametersReference {
|
||||
}
|
||||
|
||||
export interface IngressClassSpec {
|
||||
controller: string; // example.com/ingress-controller
|
||||
controller: string; // "example.com/ingress-controller"
|
||||
parameters?: IngressClassParametersReference;
|
||||
}
|
||||
|
||||
@ -49,28 +51,28 @@ export class IngressClass extends KubeObject<IngressClassMetadata, IngressClassS
|
||||
static readonly namespaced = true;
|
||||
static readonly apiBase = "/apis/networking.k8s.io/v1/ingressclasses";
|
||||
|
||||
getController() {
|
||||
getIngressCtrl(): string {
|
||||
return this.spec.controller;
|
||||
}
|
||||
|
||||
getApiGroup() {
|
||||
return this.spec.parameters?.apiGroup;
|
||||
getCtrlApiGroup() {
|
||||
return this.spec?.parameters?.apiGroup;
|
||||
}
|
||||
|
||||
getScope() {
|
||||
return this.spec.parameters?.scope;
|
||||
getCtrlScope() {
|
||||
return this.spec?.parameters?.scope;
|
||||
}
|
||||
|
||||
getNs() {
|
||||
return this.spec.parameters?.namespace as string;
|
||||
getCtrlNs() {
|
||||
return this.spec?.parameters?.namespace as string;
|
||||
}
|
||||
|
||||
getKind() {
|
||||
return this.spec.parameters?.kind;
|
||||
getCtrlKind() {
|
||||
return this.spec?.parameters?.kind;
|
||||
}
|
||||
|
||||
getSpecName() {
|
||||
return this.spec.parameters?.name as string;
|
||||
getCtrlName() {
|
||||
return this.spec?.parameters?.name as string;
|
||||
}
|
||||
|
||||
get isDefault() {
|
||||
|
||||
@ -13,8 +13,9 @@ import { withInjectables } from "@ogre-tools/injectable-react";
|
||||
import type { IngressClassStore } from "./ingress-class-store";
|
||||
import ingressClassStoreInjectable from "./ingress-class-store.injectable";
|
||||
import type { IngressClass } from "../../../common/k8s-api/endpoints/ingress-class.api";
|
||||
import { Icon } from "../icon";
|
||||
import { cssNames } from "../../utils";
|
||||
import { Icon } from "../icon";
|
||||
import { Badge } from "../badge";
|
||||
|
||||
enum columnId {
|
||||
name = "name",
|
||||
@ -42,15 +43,19 @@ const NonInjectedIngressClasses = observer((props: Dependencies) => {
|
||||
className={styles.IngressClasses}
|
||||
store={store}
|
||||
sortingCallbacks={{
|
||||
[columnId.name]: (resource: IngressClass) => resource.getName(),
|
||||
[columnId.namespace]: (resource: IngressClass) => resource.getNs(),
|
||||
[columnId.controller]: (resource: IngressClass) => resource.getController(),
|
||||
[columnId.apiGroup]: (resource: IngressClass) => resource.getApiGroup(),
|
||||
[columnId.scope]: (resource: IngressClass) => resource.getScope(),
|
||||
[columnId.kind]: (resource: IngressClass) => resource.getKind(),
|
||||
[columnId.name]: (resource: IngressClass) => resource.getCtrlName(),
|
||||
[columnId.namespace]: (resource: IngressClass) => resource.getCtrlNs(),
|
||||
[columnId.controller]: (resource: IngressClass) => resource.getIngressCtrl(),
|
||||
[columnId.apiGroup]: (resource: IngressClass) => resource.getCtrlApiGroup(),
|
||||
[columnId.scope]: (resource: IngressClass) => resource.getCtrlScope(),
|
||||
[columnId.kind]: (resource: IngressClass) => resource.getCtrlKind(),
|
||||
}}
|
||||
searchFilters={[
|
||||
ingress => ingress.getSearchFields(),
|
||||
(resource: IngressClass) => resource.getSearchFields(),
|
||||
(resource: IngressClass) => resource.getIngressCtrl(),
|
||||
(resource: IngressClass) => resource.getCtrlApiGroup(),
|
||||
(resource: IngressClass) => resource.getCtrlScope(),
|
||||
(resource: IngressClass) => resource.getCtrlKind(),
|
||||
]}
|
||||
renderHeaderTitle="Ingress Classes"
|
||||
renderTableHeader={[
|
||||
@ -89,11 +94,11 @@ const NonInjectedIngressClasses = observer((props: Dependencies) => {
|
||||
/>
|
||||
)}
|
||||
</div>,
|
||||
ingressClass.getController(),
|
||||
ingressClass.getNs(),
|
||||
ingressClass.getApiGroup(),
|
||||
ingressClass.getScope(),
|
||||
ingressClass.getKind(),
|
||||
ingressClass.getCtrlNs(),
|
||||
<Badge label={ingressClass.getIngressCtrl()} tooltip={ingressClass.getIngressCtrl()} />,
|
||||
ingressClass.getCtrlApiGroup(),
|
||||
ingressClass.getCtrlScope(),
|
||||
ingressClass.getCtrlKind(),
|
||||
]}
|
||||
/>
|
||||
</SiblingsInTabLayout>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user