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 = {
13
13
[prop : string ]: any ,
14
14
};
15
15
16
+ export type ExtendedTableNode = TableNode & {
17
+ ancestors : TableNode [],
18
+ };
19
+
16
20
export type Data = {
17
21
pageInfo ?: any ,
18
22
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';
5
5
export * from './fromTreeToList' ;
6
6
export * from './recursiveMergeInsert' ;
7
7
export * from './recursiveReplaceInsert' ;
8
+ export * from './getExtendedNodes' ;
9
+ export * from './getPath' ;
You can’t perform that action at this time.
0 commit comments