From 26b8ed66dac5a946919e0c3e65156159dbdc77a7 Mon Sep 17 00:00:00 2001 From: Alex Andreev Date: Mon, 29 May 2023 10:10:05 +0300 Subject: [PATCH] Reverting table injection tokens (7754) Signed-off-by: Alex Andreev --- open-lens/src/renderer/index.ts | 2 -- packages/core/package.json | 1 - .../table/table-component.injectable.ts | 15 ---------- .../core/src/features/table/table-feature.ts | 14 ---------- .../pod-distruption-budgets.test.tsx | 7 ----- .../components/item-object-list/content.tsx | 15 +++------- .../item-object-list/list-layout.tsx | 6 +--- .../kube-object-list-layout.test.tsx | 7 ----- .../kube-object-list-layout.tsx | 3 +- .../test-utils/get-application-builder.tsx | 2 -- packages/core/src/renderer/library.ts | 1 - packages/table/CHANGELOG.md | 8 ------ packages/table/README.md | 3 -- packages/table/index.ts | 28 ------------------- packages/table/package.json | 28 ------------------- packages/table/tsconfig.json | 4 --- packages/table/webpack.config.js | 1 - 17 files changed, 6 insertions(+), 139 deletions(-) delete mode 100644 packages/core/src/features/table/table-component.injectable.ts delete mode 100644 packages/core/src/features/table/table-feature.ts delete mode 100644 packages/table/CHANGELOG.md delete mode 100644 packages/table/README.md delete mode 100644 packages/table/index.ts delete mode 100644 packages/table/package.json delete mode 100644 packages/table/tsconfig.json delete mode 100644 packages/table/webpack.config.js 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;