feat: New view for PriorityClasses under Config menu (#5816)

* feat: new view for PriorityClass under Config menu

Signed-off-by: Piotr Roszatycki <piotr.roszatycki@gmail.com>

* Added priorityClassDetailItemInjectable

Signed-off-by: Piotr Roszatycki <piotr.roszatycki@gmail.com>

* Removed uneccessary defensive code

Signed-off-by: Piotr Roszatycki <piotr.roszatycki@gmail.com>
This commit is contained in:
Piotr Roszatycki authored and GitHub committed 2022-07-19 08:41:07 +03:00
1 parent 70105a6ef2
commit f4b7fea54a
24 files changed
+470 -2

No files matched your search

@@ -0,0 +1,33 @@
/**
* Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import { getInjectable } from "@ogre-tools/injectable";
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
import { computed } from "mobx";
import { PriorityClassesDetails } from "../../../+config-priority-classes";
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
const priorityClassDetailItemInjectable = getInjectable({
id: "priority-class-detail-item",
instantiate: (di) => {
const kubeObject = di.inject(currentKubeObjectInDetailsInjectable);
return {
Component: PriorityClassesDetails,
enabled: computed(() => isPriorityClass(kubeObject.get())),
orderNumber: 10,
};
},
injectionToken: kubeObjectDetailItemInjectionToken,
});
const isPriorityClass = kubeObjectMatchesToKindAndApiVersion(
"PriorityClass",
["scheduling.k8s.io/v1"],
);
export default priorityClassDetailItemInjectable;