@ -154,7 +154,7 @@ func (node *TreeViewNode) sortLevel() int {
return util . Iif ( node . EntryMode == "tree" || node . EntryMode == "commit" , 0 , 1 )
}
func newTreeViewNodeFromEntry ( ctx context . Context , re nderedIconPool * fileicon . RenderedIconPool , commit * git . Commit , parentDir string , entry * git . TreeEntry ) * TreeViewNode {
func newTreeViewNodeFromEntry ( ctx context . Context , re poLink string , re nderedIconPool * fileicon . RenderedIconPool , commit * git . Commit , parentDir string , entry * git . TreeEntry ) * TreeViewNode {
node := & TreeViewNode {
EntryName : entry . Name ( ) ,
EntryMode : entryModeString ( entry . Mode ( ) ) ,
@ -172,8 +172,8 @@ func newTreeViewNodeFromEntry(ctx context.Context, renderedIconPool *fileicon.Re
if subModule , err := commit . GetSubModule ( node . FullPath ) ; err != nil {
log . Error ( "GetSubModule: %v" , err )
} else if subModule != nil {
submoduleFile := git . NewCommitSubmoduleFile ( subModule. URL , entry . ID . String ( ) )
webLink := submoduleFile . SubmoduleWebLink ( ctx )
submoduleFile := git . NewCommitSubmoduleFile ( repoLink, node . FullPath , subModule. URL , entry . ID . String ( ) )
webLink := submoduleFile . SubmoduleWebLink Tree ( ctx )
node . SubmoduleURL = webLink . CommitWebLink
}
}
@ -192,7 +192,7 @@ func sortTreeViewNodes(nodes []*TreeViewNode) {
} )
}
func listTreeNodes ( ctx context . Context , re nderedIconPool * fileicon . RenderedIconPool , commit * git . Commit , tree * git . Tree , treePath , subPath string ) ( [ ] * TreeViewNode , error ) {
func listTreeNodes ( ctx context . Context , re poLink string , re nderedIconPool * fileicon . RenderedIconPool , commit * git . Commit , tree * git . Tree , treePath , subPath string ) ( [ ] * TreeViewNode , error ) {
entries , err := tree . ListEntries ( )
if err != nil {
return nil , err
@ -201,14 +201,14 @@ func listTreeNodes(ctx context.Context, renderedIconPool *fileicon.RenderedIconP
subPathDirName , subPathRemaining , _ := strings . Cut ( subPath , "/" )
nodes := make ( [ ] * TreeViewNode , 0 , len ( entries ) )
for _ , entry := range entries {
node := newTreeViewNodeFromEntry ( ctx , re nderedIconPool, commit , treePath , entry )
node := newTreeViewNodeFromEntry ( ctx , re poLink, re nderedIconPool, commit , treePath , entry )
nodes = append ( nodes , node )
if entry . IsDir ( ) && subPathDirName == entry . Name ( ) {
subTreePath := treePath + "/" + node . EntryName
if subTreePath [ 0 ] == '/' {
subTreePath = subTreePath [ 1 : ]
}
subNodes , err := listTreeNodes ( ctx , re nderedIconPool, commit , entry . Tree ( ) , subTreePath , subPathRemaining )
subNodes , err := listTreeNodes ( ctx , re poLink, re nderedIconPool, commit , entry . Tree ( ) , subTreePath , subPathRemaining )
if err != nil {
log . Error ( "listTreeNodes: %v" , err )
} else {
@ -220,10 +220,10 @@ func listTreeNodes(ctx context.Context, renderedIconPool *fileicon.RenderedIconP
return nodes , nil
}
func GetTreeViewNodes ( ctx context . Context , re nderedIconPool * fileicon . RenderedIconPool , commit * git . Commit , treePath , subPath string ) ( [ ] * TreeViewNode , error ) {
func GetTreeViewNodes ( ctx context . Context , re poLink string , re nderedIconPool * fileicon . RenderedIconPool , commit * git . Commit , treePath , subPath string ) ( [ ] * TreeViewNode , error ) {
entry , err := commit . GetTreeEntryByPath ( treePath )
if err != nil {
return nil , err
}
return listTreeNodes ( ctx , re nderedIconPool, commit , entry . Tree ( ) , treePath , subPath )
return listTreeNodes ( ctx , re poLink, re nderedIconPool, commit , entry . Tree ( ) , treePath , subPath )
}