diff --git a/open-lens/src/renderer/index.ts b/open-lens/src/renderer/index.ts
index 49662da117..db55131970 100644
--- a/open-lens/src/renderer/index.ts
+++ b/open-lens/src/renderer/index.ts
@@ -10,7 +10,6 @@ import {
commonExtensionApi as Common,
registerLensCore,
metricsFeature,
- tableFeature,
} from "@k8slens/core/renderer";
import { autoRegister } from "@ogre-tools/injectable-extension-for-auto-registration";
import { registerFeature } from "@k8slens/feature-core";
@@ -51,7 +50,6 @@ runInAction(() => {
reactApplicationFeature,
routingFeature,
metricsFeature,
- tableFeature,
);
autoRegister({
diff --git a/packages/core/package.json b/packages/core/package.json
index 740c512056..6913a30882 100644
--- a/packages/core/package.json
+++ b/packages/core/package.json
@@ -230,7 +230,6 @@
"@k8slens/routing": "^1.0.0-alpha.5",
"@k8slens/run-many": "^1.0.0-alpha.1",
"@k8slens/startable-stoppable": "^1.0.0-alpha.1",
- "@k8slens/table-tokens": "^6.5.0-alpha.7",
"@k8slens/tooltip": "^1.0.0-alpha.5",
"@k8slens/utilities": "^1.0.0-alpha.1",
"@kubernetes/client-node": "^0.18.1",
diff --git a/packages/core/src/features/table/table-component.injectable.ts b/packages/core/src/features/table/table-component.injectable.ts
deleted file mode 100644
index 976b941f38..0000000000
--- a/packages/core/src/features/table/table-component.injectable.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-/**
- * Copyright (c) OpenLens Authors. All rights reserved.
- * Licensed under MIT License. See LICENSE in root directory for more information.
- */
-import { tableComponentInjectionToken } from "@k8slens/table-tokens";
-import { getInjectable } from "@ogre-tools/injectable";
-import { Table } from "../../renderer/components/table/table";
-
-const tableComponentInjectable = getInjectable({
- id: "table-component",
- instantiate: () => ({ Component: Table }),
- injectionToken: tableComponentInjectionToken,
-});
-
-export default tableComponentInjectable;
diff --git a/packages/core/src/features/table/table-feature.ts b/packages/core/src/features/table/table-feature.ts
deleted file mode 100644
index 3ecb298443..0000000000
--- a/packages/core/src/features/table/table-feature.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-/**
- * Copyright (c) OpenLens Authors. All rights reserved.
- * Licensed under MIT License. See LICENSE in root directory for more information.
- */
-import { getFeature } from "@k8slens/feature-core";
-import tableComponentInjectable from "./table-component.injectable";
-
-export const tableFeature = getFeature({
- id: "core-table-feature",
-
- register: (di) => {
- di.register(tableComponentInjectable);
- },
-});
diff --git a/packages/core/src/renderer/components/config-pod-disruption-budgets/__tests__/pod-distruption-budgets.test.tsx b/packages/core/src/renderer/components/config-pod-disruption-budgets/__tests__/pod-distruption-budgets.test.tsx
index 33ab10f4aa..c423962e68 100644
--- a/packages/core/src/renderer/components/config-pod-disruption-budgets/__tests__/pod-distruption-budgets.test.tsx
+++ b/packages/core/src/renderer/components/config-pod-disruption-budgets/__tests__/pod-distruption-budgets.test.tsx
@@ -18,9 +18,6 @@ import { Cluster } from "../../../../common/cluster/cluster";
import hostedClusterInjectable from "../../../cluster-frame-context/hosted-cluster.injectable";
import userPreferencesStateInjectable from "../../../../features/user-preferences/common/state.injectable";
import type { DiContainer } from "@ogre-tools/injectable";
-import { registerFeature } from "@k8slens/feature-core";
-import { runInAction } from "mobx";
-import { tableFeature } from "../../../library";
describe("", () => {
let di: DiContainer;
@@ -72,10 +69,6 @@ describe("", () => {
}),
} as any,
}));
-
- runInAction(() => {
- registerFeature(di, tableFeature);
- });
});
describe("PDB with minAvailable 0", () => {
diff --git a/packages/core/src/renderer/components/item-object-list/content.tsx b/packages/core/src/renderer/components/item-object-list/content.tsx
index 6e5c37dbb2..a3b9418b69 100644
--- a/packages/core/src/renderer/components/item-object-list/content.tsx
+++ b/packages/core/src/renderer/components/item-object-list/content.tsx
@@ -11,14 +11,14 @@ import { computed, makeObservable } from "mobx";
import { Observer, observer } from "mobx-react";
import type { ConfirmDialogParams } from "../confirm-dialog";
import type { TableProps, TableRowProps, TableSortCallbacks } from "../table";
-import { TableCell, TableHead, TableRow } from "../table";
+import { Table, TableCell, TableHead, TableRow } from "../table";
import type { IClassName, StrictReactNode } from "@k8slens/utilities";
import { cssNames, isDefined, isReactNode, noop, prevDefault, stopPropagation } from "@k8slens/utilities";
import type { AddRemoveButtonsProps } from "../add-remove-buttons";
import { AddRemoveButtons } from "../add-remove-buttons";
import { NoItems } from "../no-items";
import { Spinner } from "../spinner";
-import type { GeneralKubeObjectListLayoutColumn, ItemObject, TableCellProps } from "@k8slens/list-layout";
+import type { ItemObject, TableCellProps } from "@k8slens/list-layout";
import type { Filter, PageFiltersStore } from "./page-filters/store";
import type { LensTheme } from "../../themes/lens-theme";
import { MenuActions } from "../menu/menu-actions";
@@ -35,8 +35,6 @@ import type { ToggleTableColumnVisibility } from "../../../features/user-prefere
import toggleTableColumnVisibilityInjectable from "../../../features/user-preferences/common/toggle-table-column-visibility.injectable";
import type { IsTableColumnHidden } from "../../../features/user-preferences/common/is-table-column-hidden.injectable";
import isTableColumnHiddenInjectable from "../../../features/user-preferences/common/is-table-column-hidden.injectable";
-import type { TableComponent } from "@k8slens/table-tokens";
-import { tableComponentInjectionToken } from "@k8slens/table-tokens";
export interface ItemListLayoutContentProps- {
getFilters: () => Filter[];
@@ -56,7 +54,6 @@ export interface ItemListLayoutContentProps
- Partial>;
addRemoveButtons?: Partial;
virtual?: boolean;
- columns?: GeneralKubeObjectListLayoutColumn[];
// item details view
hasDetailsView?: boolean;
@@ -82,7 +79,6 @@ interface Dependencies {
openConfirmDialog: OpenConfirmDialog;
toggleTableColumnVisibility: ToggleTableColumnVisibility;
isTableColumnHidden: IsTableColumnHidden;
- table: TableComponent;
}
@observer
@@ -303,7 +299,6 @@ class NonInjectedItemListLayoutContent<
const {
store, hasDetailsView, addRemoveButtons = {}, virtual, sortingCallbacks,
detailsItem, className, tableProps = {}, tableId, getItems, activeTheme,
- table,
} = this.props;
const selectedItemId = detailsItem && detailsItem.getId();
const classNames = cssNames(className, "box", "grow", activeTheme.get().type);
@@ -312,9 +307,8 @@ class NonInjectedItemListLayoutContent<
return (
-
{this.renderTableHeader()}
{this.renderItems()}
-
+
{() => (
@@ -391,6 +385,5 @@ export const ItemListLayoutContent = withInjectables(props: ItemListLayoutContentProps- ) => React.ReactElement;
diff --git a/packages/core/src/renderer/components/item-object-list/list-layout.tsx b/packages/core/src/renderer/components/item-object-list/list-layout.tsx
index fd1d34eac0..32f46e7a2a 100644
--- a/packages/core/src/renderer/components/item-object-list/list-layout.tsx
+++ b/packages/core/src/renderer/components/item-object-list/list-layout.tsx
@@ -13,9 +13,7 @@ import type { TableProps, TableRowProps, TableSortCallbacks } from "../table";
import type { IClassName, StrictReactNode, SingleOrMany } from "@k8slens/utilities";
import { cssNames, noop } from "@k8slens/utilities";
import type { AddRemoveButtonsProps } from "../add-remove-buttons";
-import type { ItemObject, TableCellProps,
- GeneralKubeObjectListLayoutColumn,
-} from "@k8slens/list-layout";
+import type { ItemObject, TableCellProps } from "@k8slens/list-layout";
import type { SearchInputUrlProps } from "../input";
import type { PageFiltersStore } from "./page-filters/store";
import { FilterType } from "./page-filters/store";
@@ -100,7 +98,6 @@ export type ItemListLayoutProps
- ;
customizeHeader?: HeaderCustomizer | HeaderCustomizer[];
- columns?: GeneralKubeObjectListLayoutColumn[];
// items list configuration
isReady?: boolean; // show loading indicator while not ready
@@ -307,7 +304,6 @@ class NonInjectedItemListLayout
- columns={this.props.columns}
getItems={() => this.items}
getFilters={() => this.filters}
tableId={this.props.tableId}
diff --git a/packages/core/src/renderer/components/kube-object-list-layout/kube-object-list-layout.test.tsx b/packages/core/src/renderer/components/kube-object-list-layout/kube-object-list-layout.test.tsx
index 9239310005..ee52707837 100644
--- a/packages/core/src/renderer/components/kube-object-list-layout/kube-object-list-layout.test.tsx
+++ b/packages/core/src/renderer/components/kube-object-list-layout/kube-object-list-layout.test.tsx
@@ -23,9 +23,6 @@ import type { PodStore } from "../workloads-pods/store";
import { Cluster } from "../../../common/cluster/cluster";
import isTableColumnHiddenInjectable from "../../../features/user-preferences/common/is-table-column-hidden.injectable";
import { podListLayoutColumnInjectionToken } from "@k8slens/list-layout";
-import { registerFeature } from "@k8slens/feature-core";
-import { runInAction } from "mobx";
-import { tableFeature } from "../../library";
describe("kube-object-list-layout", () => {
let di: DiContainer;
@@ -57,10 +54,6 @@ describe("kube-object-list-layout", () => {
get: () => ({}),
}));
- runInAction(() => {
- registerFeature(di, tableFeature);
- });
-
podStore = di.inject(podStoreInjectable);
});
diff --git a/packages/core/src/renderer/components/kube-object-list-layout/kube-object-list-layout.tsx b/packages/core/src/renderer/components/kube-object-list-layout/kube-object-list-layout.tsx
index 87fd84504e..fe8b87dc68 100644
--- a/packages/core/src/renderer/components/kube-object-list-layout/kube-object-list-layout.tsx
+++ b/packages/core/src/renderer/components/kube-object-list-layout/kube-object-list-layout.tsx
@@ -42,7 +42,7 @@ export interface KubeObjectListLayoutProps<
// eslint-disable-next-line unused-imports/no-unused-vars-ts, @typescript-eslint/no-unused-vars
A extends KubeApi,
D extends KubeJsonApiDataFor,
-> extends Omit, "getItems" | "dependentStores" | "preloadStores" | "columns"> {
+> extends Omit, "getItems" | "dependentStores" | "preloadStores"> {
items?: K[];
getItems?: () => K[];
store: KubeItemListStore;
@@ -193,7 +193,6 @@ class NonInjectedKubeObjectListLayout<
getItems={() => this.props.items || store.contextItems}
preloadStores={false} // loading handled in kubeWatchApi.subscribeStores()
detailsItem={this.selectedItem}
- columns={targetColumns as GeneralKubeObjectListLayoutColumn[]}
customizeHeader={[
({ filters, searchProps, info, ...headerPlaceHolders }) => ({
filters: (
diff --git a/packages/core/src/renderer/components/test-utils/get-application-builder.tsx b/packages/core/src/renderer/components/test-utils/get-application-builder.tsx
index ba69f8015e..c2822c4fb5 100644
--- a/packages/core/src/renderer/components/test-utils/get-application-builder.tsx
+++ b/packages/core/src/renderer/components/test-utils/get-application-builder.tsx
@@ -72,7 +72,6 @@ import { sendMessageToChannelInjectionToken } from "@k8slens/messaging";
import { getMessageBridgeFake } from "@k8slens/messaging-fake-bridge";
import { historyInjectionToken } from "@k8slens/routing";
import writeJsonSyncInjectable from "../../../common/fs/write-json-sync.injectable";
-import { tableFeature } from "../../library";
type MainDiCallback = (container: { mainDi: DiContainer }) => void | Promise;
type WindowDiCallback = (container: { windowDi: DiContainer }) => void | Promise;
@@ -257,7 +256,6 @@ export const getApplicationBuilder = () => {
registerFeature(
windowDi,
applicationFeature,
- tableFeature,
);
windowDi.register(rendererExtensionsStateInjectable);
diff --git a/packages/core/src/renderer/library.ts b/packages/core/src/renderer/library.ts
index 2d239e7393..8ed023c559 100644
--- a/packages/core/src/renderer/library.ts
+++ b/packages/core/src/renderer/library.ts
@@ -22,4 +22,3 @@ export * as ReactRouterDom from "react-router-dom";
export * as rendererExtensionApi from "../extensions/renderer-api";
export * as commonExtensionApi from "../extensions/common-api";
export { metricsFeature } from "../features/metrics/metrics-feature";
-export { tableFeature } from "../features/table/table-feature";
diff --git a/packages/table/CHANGELOG.md b/packages/table/CHANGELOG.md
deleted file mode 100644
index 92f7b573a8..0000000000
--- a/packages/table/CHANGELOG.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# Change Log
-
-All notable changes to this project will be documented in this file.
-See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-
-# 6.5.0 (2023-05-26)
-
-**Note:** Version bump only for package @k8slens/table-tokens
diff --git a/packages/table/README.md b/packages/table/README.md
deleted file mode 100644
index e66efd11b8..0000000000
--- a/packages/table/README.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# Description
-
-The package exports tokens needed for external table configuration.
diff --git a/packages/table/index.ts b/packages/table/index.ts
deleted file mode 100644
index b6f785dfb2..0000000000
--- a/packages/table/index.ts
+++ /dev/null
@@ -1,28 +0,0 @@
-import { getInjectionToken } from "@ogre-tools/injectable";
-import type { KubeObject } from "@k8slens/kube-object/src/kube-object";
-import type {
- BaseKubeObjectListLayoutColumn,
- GeneralKubeObjectListLayoutColumn,
- SpecificKubeListLayoutColumn,
-} from "@k8slens/list-layout";
-
-type Column = (
- | BaseKubeObjectListLayoutColumn
- | SpecificKubeListLayoutColumn
- | GeneralKubeObjectListLayoutColumn
-);
-
-export interface TableComponentProps {
- tableId?: string;
- columns?: Column[];
- save?: (state: object) => void;
- load?: (tableId: string) => object;
-}
-
-export interface TableComponent {
- Component: React.ComponentType;
-}
-
-export const tableComponentInjectionToken = getInjectionToken({
- id: "table-component-injection-token",
-});
diff --git a/packages/table/package.json b/packages/table/package.json
deleted file mode 100644
index 58488d219c..0000000000
--- a/packages/table/package.json
+++ /dev/null
@@ -1,28 +0,0 @@
-{
- "name": "@k8slens/table-tokens",
- "version": "6.5.0",
- "description": "Injection token exporter for table components",
- "license": "MIT",
- "type": "commonjs",
- "private": false,
- "publishConfig": {
- "access": "public",
- "registry": "https://registry.npmjs.org/"
- },
- "main": "./dist/index.js",
- "types": "./dist/index.d.ts",
- "files": [
- "dist"
- ],
- "scripts": {
- "clean": "rimraf dist/",
- "build": "lens-webpack-build"
- },
- "devDependencies": {
- "@k8slens/webpack": "^6.5.0",
- "rimraf": "^4.4.1"
- },
- "peerDependencies": {
- "@ogre-tools/injectable": "^16.1.0"
- }
-}
diff --git a/packages/table/tsconfig.json b/packages/table/tsconfig.json
deleted file mode 100644
index 1819203dc1..0000000000
--- a/packages/table/tsconfig.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "extends": "@k8slens/typescript/config/base.json",
- "include": ["**/*.ts"]
-}
diff --git a/packages/table/webpack.config.js b/packages/table/webpack.config.js
deleted file mode 100644
index 3183f30179..0000000000
--- a/packages/table/webpack.config.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = require("@k8slens/webpack").configForNode;