@@ -30,7 +30,6 @@ import {
30
30
isFolder ,
31
31
moveFile ,
32
32
removeFile ,
33
- traverse ,
34
33
updateFile ,
35
34
} from "utils/filetree" ;
36
35
import {
@@ -83,20 +82,10 @@ export interface TemplateVersionEditorProps {
83
82
defaultTab ?: Tab ;
84
83
provisionerTags : Record < string , string > ;
85
84
onUpdateProvisionerTags : ( tags : Record < string , string > ) => void ;
85
+ activePath : string | undefined ;
86
+ onActivePathChange : ( path : string | undefined ) => void ;
86
87
}
87
88
88
- const findInitialFile = ( fileTree : FileTree ) : string | undefined => {
89
- let initialFile : string | undefined ;
90
-
91
- traverse ( fileTree , ( content , filename , path ) => {
92
- if ( filename . endsWith ( ".tf" ) ) {
93
- initialFile = path ;
94
- }
95
- } ) ;
96
-
97
- return initialFile ;
98
- } ;
99
-
100
89
export const TemplateVersionEditor : FC < TemplateVersionEditorProps > = ( {
101
90
disablePreview,
102
91
disableUpdate,
@@ -121,6 +110,8 @@ export const TemplateVersionEditor: FC<TemplateVersionEditorProps> = ({
121
110
defaultTab,
122
111
provisionerTags,
123
112
onUpdateProvisionerTags,
113
+ activePath,
114
+ onActivePathChange,
124
115
} ) => {
125
116
const theme = useTheme ( ) ;
126
117
const [ selectedTab , setSelectedTab ] = useState < Tab > ( defaultTab ) ;
@@ -129,9 +120,6 @@ export const TemplateVersionEditor: FC<TemplateVersionEditorProps> = ({
129
120
const [ deleteFileOpen , setDeleteFileOpen ] = useState < string > ( ) ;
130
121
const [ renameFileOpen , setRenameFileOpen ] = useState < string > ( ) ;
131
122
const [ dirty , setDirty ] = useState ( false ) ;
132
- const [ activePath , setActivePath ] = useState < string | undefined > ( ( ) =>
133
- findInitialFile ( fileTree ) ,
134
- ) ;
135
123
136
124
const triggerPreview = useCallback ( ( ) => {
137
125
onPreview ( fileTree ) ;
@@ -382,7 +370,7 @@ export const TemplateVersionEditor: FC<TemplateVersionEditorProps> = ({
382
370
checkExists = { ( path ) => existsFile ( path , fileTree ) }
383
371
onConfirm = { ( path ) => {
384
372
setFileTree ( ( fileTree ) => createFile ( path , fileTree , "" ) ) ;
385
- setActivePath ( path ) ;
373
+ onActivePathChange ( path ) ;
386
374
setCreateFileOpen ( false ) ;
387
375
setDirty ( true ) ;
388
376
} }
@@ -397,7 +385,7 @@ export const TemplateVersionEditor: FC<TemplateVersionEditorProps> = ({
397
385
) ;
398
386
setDeleteFileOpen ( undefined ) ;
399
387
if ( activePath === deleteFileOpen ) {
400
- setActivePath ( undefined ) ;
388
+ onActivePathChange ( undefined ) ;
401
389
}
402
390
setDirty ( true ) ;
403
391
} }
@@ -420,7 +408,7 @@ export const TemplateVersionEditor: FC<TemplateVersionEditorProps> = ({
420
408
setFileTree ( ( fileTree ) =>
421
409
moveFile ( renameFileOpen , newPath , fileTree ) ,
422
410
) ;
423
- setActivePath ( newPath ) ;
411
+ onActivePathChange ( newPath ) ;
424
412
setRenameFileOpen ( undefined ) ;
425
413
setDirty ( true ) ;
426
414
} }
@@ -431,7 +419,7 @@ export const TemplateVersionEditor: FC<TemplateVersionEditorProps> = ({
431
419
onDelete = { ( file ) => setDeleteFileOpen ( file ) }
432
420
onSelect = { ( filePath ) => {
433
421
if ( ! isFolder ( filePath , fileTree ) ) {
434
- setActivePath ( filePath ) ;
422
+ onActivePathChange ( filePath ) ;
435
423
}
436
424
} }
437
425
onRename = { ( file ) => setRenameFileOpen ( file ) }
0 commit comments