瀏覽代碼

Implementation of Folder Jumping

tags/v1.1.0
Sl@ny 7 年之前
父節點
當前提交
c22f9114c7

+ 11
- 0
modules/templates/helper.go 查看文件

@@ -117,6 +117,17 @@ func NewFuncMap() []template.FuncMap {
}
return "tab-size-8"
},
"SubJumpablePath": func(str string) []string {
var path []string
index := strings.LastIndex(str, "/")
if index != -1 && index != len(str) {
path = append(path, string(str[0:index+1]))
path = append(path, string(str[index+1:]))
} else {
path = append(path, str)
}
return path
},
}}
}


+ 3
- 0
public/css/index.css 查看文件

@@ -1272,6 +1272,9 @@ footer .ui.language .menu {
.repository.file.list #repo-files-table tr:hover {
background-color: #ffffEE;
}
.repository.file.list #repo-files-table .jumpable-path {
color: #888;
}
.repository.file.list #file-content .header .icon {
font-size: 1em;
margin-top: -2px;

+ 3
- 0
public/less/_repository.less 查看文件

@@ -205,6 +205,9 @@
tr:hover {
background-color: #ffffEE;
}
.jumpable-path {
color: #888;
}
}

#file-content {

+ 15
- 2
templates/repo/view_list.tmpl 查看文件

@@ -43,8 +43,21 @@
</td>
{{else}}
<td class="name">
<span class="octicon octicon-file-{{if or $entry.IsDir}}directory{{else}}text{{end}}"></span>
<a href="{{EscapePound $.TreeLink}}/{{EscapePound $entry.Name}}">{{$entry.Name}}</a>
{{if $entry.IsDir}}
{{$subJumpablePathName := $entry.GetSubJumpablePathName}}
{{$subJumpablePath := SubJumpablePath $subJumpablePathName}}
<span class="octicon octicon-file-directory"></span>
<a href="{{EscapePound $.TreeLink}}/{{EscapePound $subJumpablePathName}}">
{{if eq (len $subJumpablePath) 2}}
<span class="jumpable-path">{{index $subJumpablePath 0}}</span>{{index $subJumpablePath 1}}
{{else}}
{{index $subJumpablePath 0}}
{{end}}
</a>
{{else}}
<span class="octicon octicon-file-text"></span>
<a href="{{EscapePound $.TreeLink}}/{{EscapePound $entry.Name}}">{{$entry.Name}}</a>
{{end}}
</td>
{{end}}
<td class="message collapsing has-emoji">

+ 19
- 0
vendor/code.gitea.io/git/tree_entry.go 查看文件

@@ -94,6 +94,25 @@ func (te *TreeEntry) Blob() *Blob {
}
}

// GetSubJumpablePathName return the full path of subdirectory jumpable ( contains only one directory )
func (te *TreeEntry) GetSubJumpablePathName() string {
if te.IsSubModule() || !te.IsDir() {
return ""
}
tree, err := te.ptree.SubTree(te.name)
if err != nil {
return te.name
}
entries, _ := tree.ListEntries()
if len(entries) == 1 && entries[0].IsDir() {
name := entries[0].GetSubJumpablePathName()
if name != "" {
return te.name + "/" + name
}
}
return te.name
}

// Entries a list of entry
type Entries []*TreeEntry


+ 3
- 3
vendor/vendor.json 查看文件

@@ -3,10 +3,10 @@
"ignore": "test",
"package": [
{
"checksumSHA1": "OWuUWQ8sWC8n+eTQttx+3vfES8g=",
"checksumSHA1": "mIaKLz6373W+jDLjgE/Yzt/exeo=",
"path": "code.gitea.io/git",
"revision": "634abd6a61c350a95f6b146c3a5fc323282608ae",
"revisionTime": "2016-12-22T08:49:21Z"
"revision": "3d0fa331865619d2f3a7a0fcf23670a389310954",
"revisionTime": "2016-12-28T14:57:51Z"
},
{
"checksumSHA1": "dnGaLR7sd9D5YpQZP4QUGZiEq+c=",

Loading…
取消
儲存