diff --git a/packages/core/src/renderer/components/+namespaces/namespace-tree-view.module.scss b/packages/core/src/renderer/components/+namespaces/namespace-tree-view.module.scss new file mode 100644 index 0000000000..b5bc104c03 --- /dev/null +++ b/packages/core/src/renderer/components/+namespaces/namespace-tree-view.module.scss @@ -0,0 +1,14 @@ +.TreeView { + .group { + margin-inline-start: var(--margin); + padding-inline-start: calc(var(--padding) * 2); + border-inline-start: 1px dashed var(--borderColor); + } + + .label { + font-size: inherit; + line-height: 1.8; + cursor: default; + background-color: transparent!important; + } +} \ No newline at end of file diff --git a/packages/core/src/renderer/components/+namespaces/namespace-tree-view.tsx b/packages/core/src/renderer/components/+namespaces/namespace-tree-view.tsx index 8c100c41cd..7dd17381e3 100644 --- a/packages/core/src/renderer/components/+namespaces/namespace-tree-view.tsx +++ b/packages/core/src/renderer/components/+namespaces/namespace-tree-view.tsx @@ -2,8 +2,10 @@ * Copyright (c) OpenLens Authors. All rights reserved. * Licensed under MIT License. See LICENSE in root directory for more information. */ -import { SvgIcon, withStyles } from "@material-ui/core"; -import type { TreeItemProps } from "@material-ui/lab"; + +import styles from "./namespace-tree-view.module.scss"; + +import { SvgIcon } from "@material-ui/core"; import { TreeItem, TreeView } from "@material-ui/lab"; import { withInjectables } from "@ogre-tools/injectable-react"; import React from "react"; @@ -34,6 +36,7 @@ function isNamespaceControlledByHNC(namespace: Namespace) { function NonInjectableNamespaceTreeView({ root, namespaceStore, getDetailsUrl }: Dependencies & NamespaceTreeViewProps) { const hierarchicalNamespaces = namespaceStore.getByLabel(["hnc.x-k8s.io/included-namespace=true"]); const [expandedItems, setExpandedItems] = React.useState(hierarchicalNamespaces.map(ns => `namespace-${ns.getId()}`)); + const classes = { group: styles.group, label: styles.label }; function renderChildren(parent: Namespace) { const children = hierarchicalNamespaces.filter(ns => @@ -41,10 +44,11 @@ function NonInjectableNamespaceTreeView({ root, namespaceStore, getDetailsUrl }: ); return children.map(child => ( - { toggleNode(`namespace-${child.getId()}`); evt.stopPropagation(); @@ -63,7 +67,7 @@ function NonInjectableNamespaceTreeView({ root, namespaceStore, getDetailsUrl }: )} > {renderChildren(child)} - + )); } @@ -80,7 +84,7 @@ function NonInjectableNamespaceTreeView({ root, namespaceStore, getDetailsUrl }: } return ( -
+
Tree View
)} expanded={expandedItems} > - { toggleNode(`namespace-${root.getId()}`); evt.stopPropagation(); }} > {renderChildren(root)} - +
); @@ -121,20 +126,6 @@ function PlusSquare() { ); } -const StyledTreeItem = withStyles(() => ({ - group: { - marginLeft: 8, - paddingLeft: 16, - borderLeft: `1px dashed var(--borderColor)`, - }, - label: { - fontSize: "inherit", - lineHeight: "1.8", - cursor: "default", - backgroundColor: "transparent!important", - }, -}))((props: TreeItemProps) => ); - export const NamespaceTreeView = withInjectables(NonInjectableNamespaceTreeView, { getProps: (di, props) => ({ namespaceStore: di.inject(namespaceStoreInjectable),