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() {
|
constructor() {
|
||||||
super({
|
super({
|
||||||
objectConstructor: IngressClass,
|
objectConstructor: IngressClass,
|
||||||
|
checkPreferredVersion: true,
|
||||||
|
fallbackApiBases: ["/apis/extensions/v1beta1/ingressclasses"],
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -37,7 +39,7 @@ 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;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -49,28 +51,28 @@ export class IngressClass extends KubeObject<IngressClassMetadata, IngressClassS
|
|||||||
static readonly namespaced = true;
|
static readonly namespaced = true;
|
||||||
static readonly apiBase = "/apis/networking.k8s.io/v1/ingressclasses";
|
static readonly apiBase = "/apis/networking.k8s.io/v1/ingressclasses";
|
||||||
|
|
||||||
getController() {
|
getIngressCtrl(): string {
|
||||||
return this.spec.controller;
|
return this.spec.controller;
|
||||||
}
|
}
|
||||||
|
|
||||||
getApiGroup() {
|
getCtrlApiGroup() {
|
||||||
return this.spec.parameters?.apiGroup;
|
return this.spec?.parameters?.apiGroup;
|
||||||
}
|
}
|
||||||
|
|
||||||
getScope() {
|
getCtrlScope() {
|
||||||
return this.spec.parameters?.scope;
|
return this.spec?.parameters?.scope;
|
||||||
}
|
}
|
||||||
|
|
||||||
getNs() {
|
getCtrlNs() {
|
||||||
return this.spec.parameters?.namespace as string;
|
return this.spec?.parameters?.namespace as string;
|
||||||
}
|
}
|
||||||
|
|
||||||
getKind() {
|
getCtrlKind() {
|
||||||
return this.spec.parameters?.kind;
|
return this.spec?.parameters?.kind;
|
||||||
}
|
}
|
||||||
|
|
||||||
getSpecName() {
|
getCtrlName() {
|
||||||
return this.spec.parameters?.name as string;
|
return this.spec?.parameters?.name as string;
|
||||||
}
|
}
|
||||||
|
|
||||||
get isDefault() {
|
get isDefault() {
|
||||||
|
|||||||
@ -13,8 +13,9 @@ import { withInjectables } from "@ogre-tools/injectable-react";
|
|||||||
import type { IngressClassStore } from "./ingress-class-store";
|
import type { IngressClassStore } from "./ingress-class-store";
|
||||||
import ingressClassStoreInjectable from "./ingress-class-store.injectable";
|
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";
|
||||||
import { Icon } from "../icon";
|
|
||||||
import { cssNames } from "../../utils";
|
import { cssNames } from "../../utils";
|
||||||
|
import { Icon } from "../icon";
|
||||||
|
import { Badge } from "../badge";
|
||||||
|
|
||||||
enum columnId {
|
enum columnId {
|
||||||
name = "name",
|
name = "name",
|
||||||
@ -42,15 +43,19 @@ const NonInjectedIngressClasses = observer((props: Dependencies) => {
|
|||||||
className={styles.IngressClasses}
|
className={styles.IngressClasses}
|
||||||
store={store}
|
store={store}
|
||||||
sortingCallbacks={{
|
sortingCallbacks={{
|
||||||
[columnId.name]: (resource: IngressClass) => resource.getName(),
|
[columnId.name]: (resource: IngressClass) => resource.getCtrlName(),
|
||||||
[columnId.namespace]: (resource: IngressClass) => resource.getNs(),
|
[columnId.namespace]: (resource: IngressClass) => resource.getCtrlNs(),
|
||||||
[columnId.controller]: (resource: IngressClass) => resource.getController(),
|
[columnId.controller]: (resource: IngressClass) => resource.getIngressCtrl(),
|
||||||
[columnId.apiGroup]: (resource: IngressClass) => resource.getApiGroup(),
|
[columnId.apiGroup]: (resource: IngressClass) => resource.getCtrlApiGroup(),
|
||||||
[columnId.scope]: (resource: IngressClass) => resource.getScope(),
|
[columnId.scope]: (resource: IngressClass) => resource.getCtrlScope(),
|
||||||
[columnId.kind]: (resource: IngressClass) => resource.getKind(),
|
[columnId.kind]: (resource: IngressClass) => resource.getCtrlKind(),
|
||||||
}}
|
}}
|
||||||
searchFilters={[
|
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"
|
renderHeaderTitle="Ingress Classes"
|
||||||
renderTableHeader={[
|
renderTableHeader={[
|
||||||
@ -89,11 +94,11 @@ const NonInjectedIngressClasses = observer((props: Dependencies) => {
|
|||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
</div>,
|
</div>,
|
||||||
ingressClass.getController(),
|
ingressClass.getCtrlNs(),
|
||||||
ingressClass.getNs(),
|
<Badge label={ingressClass.getIngressCtrl()} tooltip={ingressClass.getIngressCtrl()} />,
|
||||||
ingressClass.getApiGroup(),
|
ingressClass.getCtrlApiGroup(),
|
||||||
ingressClass.getScope(),
|
ingressClass.getCtrlScope(),
|
||||||
ingressClass.getKind(),
|
ingressClass.getCtrlKind(),
|
||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
</SiblingsInTabLayout>
|
</SiblingsInTabLayout>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user