File tree Expand file tree Collapse file tree 4 files changed +37
-0
lines changed Expand file tree Collapse file tree 4 files changed +37
-0
lines changed Original file line number Diff line number Diff line change @@ -13,6 +13,10 @@ export type TableNode = {
1313 [prop : string ]: any ,
1414};
1515
16+ export type ExtendedTableNode = TableNode & {
17+ ancestors : TableNode [],
18+ };
19+
1620export type Data = {
1721 pageInfo ?: any ,
1822 nodes : TableNode [],
Original file line number Diff line number Diff line change 1+ import { TableNode } from '@table-library/react-table-library/types/table' ;
2+
3+ export const getExtendedNodes = ( nodes : TableNode [ ] , parentNode : TableNode ) : TableNode [ ] => {
4+ const extendedNodes = nodes . map ( ( node ) => ( {
5+ ...node ,
6+ ancestors : parentNode ? parentNode . ancestors . concat ( node ) : [ node ] ,
7+ } ) ) ;
8+
9+ return extendedNodes . map ( ( extendedNode ) => {
10+ if ( extendedNode . nodes ) {
11+ return {
12+ ...extendedNode ,
13+ nodes : getExtendedNodes ( extendedNode . nodes , extendedNode ) ,
14+ } ;
15+ } else {
16+ return extendedNode ;
17+ }
18+ } ) ;
19+ } ;
Original file line number Diff line number Diff line change 1+ import { TableNode } from '@table-library/react-table-library/types/table' ;
2+ import { findNodeById } from './findNodeById' ;
3+
4+ export const getPath = ( selectedFolderId : string | null , extendedNodes : TableNode [ ] ) => {
5+ if ( ! selectedFolderId ) return '/' ;
6+
7+ const extendedNode = findNodeById ( extendedNodes , selectedFolderId ) ;
8+
9+ if ( ! extendedNode ) return '/' ;
10+
11+ return extendedNode . ancestors . map ( ( node : TableNode ) => `/${ node . name } ` ) . join ( '' ) ;
12+ } ;
Original file line number Diff line number Diff line change @@ -5,3 +5,5 @@ export * from './findNodeById';
55export * from './fromTreeToList' ;
66export * from './recursiveMergeInsert' ;
77export * from './recursiveReplaceInsert' ;
8+ export * from './getExtendedNodes' ;
9+ export * from './getPath' ;
You can’t perform that action at this time.
0 commit comments