mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
Scrolling to item on TreeItem click
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
This commit is contained in:
parent
662cb25787
commit
d0e25e90b0
@ -25,6 +25,7 @@ export function RecursiveTreeView({ data }: Props) {
|
|||||||
key={node.id}
|
key={node.id}
|
||||||
nodeId={node.id}
|
nodeId={node.id}
|
||||||
label={node.name}
|
label={node.name}
|
||||||
|
onLabelClick={() => scrollToItem(node.id)}
|
||||||
className={cssNames({selected: node.selected})}
|
className={cssNames({selected: node.selected})}
|
||||||
>
|
>
|
||||||
{Array.isArray(node.children) ? node.children.map((node) => renderTree([node])) : null}
|
{Array.isArray(node.children) ? node.children.map((node) => renderTree([node])) : null}
|
||||||
@ -32,6 +33,12 @@ export function RecursiveTreeView({ data }: Props) {
|
|||||||
));
|
));
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const scrollToItem = (id: string) => {
|
||||||
|
const element = document.getElementById(id);
|
||||||
|
|
||||||
|
element?.scrollIntoView();
|
||||||
|
};
|
||||||
|
|
||||||
const getAllNodeIds = (nodes: NavigationTree[]): string[] => {
|
const getAllNodeIds = (nodes: NavigationTree[]): string[] => {
|
||||||
return flattenDeep(nodes.map(node => {
|
return flattenDeep(nodes.map(node => {
|
||||||
return [node.id, ...node.children.map(item => getAllNodeIds([item]))];
|
return [node.id, ...node.children.map(item => getAllNodeIds([item]))];
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user