From e6ad46042bcb73f7bc446f7e7e3485626ea85605 Mon Sep 17 00:00:00 2001 From: Sebastian Malton Date: Thu, 23 Feb 2023 13:11:42 -0500 Subject: [PATCH] Remove old and unnused RecursiveTreeView Signed-off-by: Sebastian Malton --- .../renderer/components/tree-view/index.ts | 6 - .../components/tree-view/tree-view.scss | 32 ------ .../components/tree-view/tree-view.tsx | 105 ------------------ 3 files changed, 143 deletions(-) delete mode 100644 packages/core/src/renderer/components/tree-view/index.ts delete mode 100644 packages/core/src/renderer/components/tree-view/tree-view.scss delete mode 100644 packages/core/src/renderer/components/tree-view/tree-view.tsx diff --git a/packages/core/src/renderer/components/tree-view/index.ts b/packages/core/src/renderer/components/tree-view/index.ts deleted file mode 100644 index 4518af1479..0000000000 --- a/packages/core/src/renderer/components/tree-view/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ - -export * from "./tree-view"; diff --git a/packages/core/src/renderer/components/tree-view/tree-view.scss b/packages/core/src/renderer/components/tree-view/tree-view.scss deleted file mode 100644 index 7119c8b348..0000000000 --- a/packages/core/src/renderer/components/tree-view/tree-view.scss +++ /dev/null @@ -1,32 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ - -.TreeView { - .MuiTypography-body1 { - font-size: var(--font-size); - color: var(--textColorAccent); - } - - .MuiTreeItem-root { - > .MuiTreeItem-content .MuiTreeItem-label { - border-radius: 4px; - border: 1px solid transparent; - } - - &.selected { - > .MuiTreeItem-content .MuiTreeItem-label { - border-color: var(--blue); - font-weight: bold; - } - } - - // Make inner component selected state invisible - &.Mui-selected, &.Mui-selected:focus { - > .MuiTreeItem-content .MuiTreeItem-label { - background-color: transparent; - } - } - } -} diff --git a/packages/core/src/renderer/components/tree-view/tree-view.tsx b/packages/core/src/renderer/components/tree-view/tree-view.tsx deleted file mode 100644 index 8672f9597f..0000000000 --- a/packages/core/src/renderer/components/tree-view/tree-view.tsx +++ /dev/null @@ -1,105 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ - -import "./tree-view.scss"; - -import React, { useEffect, useRef } from "react"; -import { Icon } from "../icon"; -import TreeView from "@material-ui/lab/TreeView"; -import TreeItem from "@material-ui/lab/TreeItem"; -import { cssNames } from "../../utils"; - -import _ from "lodash"; -import getDeepDash from "deepdash"; - -const deepDash = getDeepDash(_); - -export interface NavigationTree { - id: string; - parentId?: string; - name: string; - selected?: boolean; - children?: NavigationTree[]; -} - -export interface RecursiveTreeViewProps { - data: NavigationTree[]; -} - -function scrollToItem(id: string) { - document.getElementById(id)?.scrollIntoView(); -} - -function getSelectedNode(data: NavigationTree[]) { - return deepDash.findDeep(data, (value, key) => key === "selected" && value === true)?.parent; -} - -export function RecursiveTreeView({ data }: RecursiveTreeViewProps) { - const [expanded, setExpanded] = React.useState([]); - const prevData = useRef(data); - - const handleToggle = (event: React.ChangeEvent<{}>, nodeIds: string[]) => { - setExpanded(nodeIds); - }; - - const expandTopLevelNodes = () => { - setExpanded(data.map(node => node.id)); - }; - - const expandParentNode = () => { - const node = getSelectedNode(data) as any as NavigationTree; - const id = node?.parentId; - - if (id && !expanded.includes(id)) { - setExpanded([...expanded, id]); - } - }; - - const onLabelClick = (event: React.MouseEvent, nodeId: string) => { - event.preventDefault(); - scrollToItem(nodeId); - }; - - const renderTree = (nodes: NavigationTree[]) => { - return nodes.map(node => ( - onLabelClick(event, node.id)} - className={cssNames({ selected: node.selected })} - title={node.name} - > - {Array.isArray(node.children) ? node.children.map((node) => renderTree([node])) : null} - - )); - }; - - useEffect(() => { - if (!prevData.current.length) { - expandTopLevelNodes(); - } else { - expandParentNode(); - } - prevData.current = data; - }, [data]); - - if (!data.length) { - return null; - } - - return ( - } - defaultExpandIcon={} - > - {renderTree(data)} - - ); -}