diff --git a/package-lock.json b/package-lock.json index 9904624d1d..ac8130ea40 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3935,6 +3935,10 @@ "resolved": "packages/technical-features/application/legacy-extensions", "link": true }, + "node_modules/@k8slens/list-layout": { + "resolved": "packages/list-layout", + "link": true + }, "node_modules/@k8slens/messaging": { "resolved": "packages/technical-features/messaging/agnostic", "link": true @@ -35719,6 +35723,7 @@ "@astronautlabs/jsonpath": "^1.1.0", "@hapi/call": "^9.0.1", "@hapi/subtext": "^7.1.0", + "@k8slens/list-layout": "^1.0.0-alpha.0", "@k8slens/metrics": "^6.5.0-alpha.3", "@k8slens/node-fetch": "^6.5.0-alpha.3", "@k8slens/react-application": "^1.0.0-alpha.2", @@ -36657,6 +36662,20 @@ } } }, + "packages/list-layout": { + "name": "@k8slens/list-layout", + "version": "1.0.0-alpha.0", + "license": "MIT", + "devDependencies": { + "@k8slens/eslint-config": "^6.5.0-alpha.2", + "@k8slens/jest": "^6.5.0-alpha.2", + "@k8slens/typescript": "^6.5.0-alpha.2" + }, + "peerDependencies": { + "@ogre-tools/injectable": "^15.1.2", + "react": "^17.0.2" + } + }, "packages/metrics": { "name": "@k8slens/metrics", "version": "6.5.0-alpha.3", diff --git a/packages/core/package.json b/packages/core/package.json index 4c62e9c601..ed8002974c 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -115,6 +115,7 @@ "@k8slens/metrics": "^6.5.0-alpha.3", "@k8slens/node-fetch": "^6.5.0-alpha.3", "@k8slens/react-application": "^1.0.0-alpha.2", + "@k8slens/list-layout": "^1.0.0-alpha.0", "@kubernetes/client-node": "^0.18.1", "@material-ui/styles": "^4.11.5", "@sentry/electron": "^3.0.8", diff --git a/packages/core/src/common/item.store.ts b/packages/core/src/common/item.store.ts index 4d7c3343ef..cb9b27ed2e 100644 --- a/packages/core/src/common/item.store.ts +++ b/packages/core/src/common/item.store.ts @@ -3,14 +3,11 @@ * Licensed under MIT License. See LICENSE in root directory for more information. */ +import type { ItemObject } from "@k8slens/list-layout"; import autoBind from "auto-bind"; import orderBy from "lodash/orderBy"; import { action, computed, observable, when, makeObservable } from "mobx"; -export interface ItemObject { - getId(): string; - getName(): string; -} export abstract class ItemStore { protected defaultSorting = (item: Item) => item.getName(); diff --git a/packages/core/src/common/k8s-api/endpoints/helm-releases.api.ts b/packages/core/src/common/k8s-api/endpoints/helm-releases.api.ts index 3460378e59..a5807edb68 100644 --- a/packages/core/src/common/k8s-api/endpoints/helm-releases.api.ts +++ b/packages/core/src/common/k8s-api/endpoints/helm-releases.api.ts @@ -3,7 +3,7 @@ * Licensed under MIT License. See LICENSE in root directory for more information. */ -import type { ItemObject } from "../../item.store"; +import type { ItemObject } from "@k8slens/list-layout"; import type { HelmReleaseDetails } from "./helm-releases.api/request-details.injectable"; export interface HelmReleaseUpdateDetails { diff --git a/packages/core/src/common/k8s-api/kube-object.ts b/packages/core/src/common/k8s-api/kube-object.ts index a45d5c415f..e43633aed6 100644 --- a/packages/core/src/common/k8s-api/kube-object.ts +++ b/packages/core/src/common/k8s-api/kube-object.ts @@ -22,7 +22,7 @@ import { isTypedArray, isRecord, } from "@k8slens/utilities"; -import type { ItemObject } from "../item.store"; +import type { ItemObject } from "@k8slens/list-layout"; import type { Patch } from "rfc6902"; import assert from "assert"; import type { JsonObject } from "type-fest"; diff --git a/packages/core/src/features/cluster/workloads/__snapshots__/pods.test.tsx.snap b/packages/core/src/features/cluster/workloads/__snapshots__/pods.test.tsx.snap new file mode 100644 index 0000000000..63c7621cba --- /dev/null +++ b/packages/core/src/features/cluster/workloads/__snapshots__/pods.test.tsx.snap @@ -0,0 +1,2600 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`workloads / pods when navigating to workloads / pods view given a namespace has pods renders 1`] = ` + +
+
+
+
+
+ +
+ + + close + + +
+ Close +
+
+
+
+
+
+
+
+