summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsilverwind <me@silverwind.io>2020-08-26 17:52:44 +0200
committerGitHub <noreply@github.com>2020-08-26 11:52:44 -0400
commit7d14d6c1c13f1eac4b9456c5db4c3594bc4dc237 (patch)
tree7c1b062b9d39d257c8e7968cbe92d19037e86374
parent69b3dd636201d340ab6bdfa49ed95456a4e5acb7 (diff)
downloadgitea-7d14d6c1c13f1eac4b9456c5db4c3594bc4dc237.tar.gz
gitea-7d14d6c1c13f1eac4b9456c5db4c3594bc4dc237.zip
Fix file table overflows (#12603)
- Fix overflow regression from https://github.com/go-gitea/gitea/pull/12553. - Fix submodule columns stretching the table - Refactor template to share more HTML nodes - Introduce CSS helper classes Co-authored-by: zeripath <art27@cantab.net> Co-authored-by: techknowlogick <techknowlogick@gitea.io>
-rw-r--r--integrations/repo_test.go2
-rw-r--r--templates/repo/view_list.tmpl58
-rw-r--r--web_src/less/_repository.less19
-rw-r--r--web_src/less/helpers.less6
-rw-r--r--web_src/less/index.less1
5 files changed, 52 insertions, 34 deletions
diff --git a/integrations/repo_test.go b/integrations/repo_test.go
index 3121b5135f..c1652aeb1d 100644
--- a/integrations/repo_test.go
+++ b/integrations/repo_test.go
@@ -148,7 +148,7 @@ func TestViewRepoWithSymlinks(t *testing.T) {
resp := session.MakeRequest(t, req, http.StatusOK)
htmlDoc := NewHTMLParser(t, resp.Body)
- files := htmlDoc.doc.Find("#repo-files-table > TBODY > TR > TD.name")
+ files := htmlDoc.doc.Find("#repo-files-table > TBODY > TR > TD.name > SPAN.truncate")
items := files.Map(func(i int, s *goquery.Selection) string {
cls, _ := s.Find("SVG").Attr("class")
file := strings.Trim(s.Find("A").Text(), " \t\n")
diff --git a/templates/repo/view_list.tmpl b/templates/repo/view_list.tmpl
index db810890f5..36c3024d1d 100644
--- a/templates/repo/view_list.tmpl
+++ b/templates/repo/view_list.tmpl
@@ -43,37 +43,39 @@
{{$entry := index $item 0}}
{{$commit := index $item 1}}
<tr>
- {{if $entry.IsSubModule}}
- <td>
- {{svg "octicon-file-submodule" 16}}
- {{$refURL := $commit.RefURL AppUrl $.Repository.FullName}}
- {{if $refURL}}
- <a href="{{$refURL}}">{{$entry.Name}}</a> @ <a href="{{$refURL}}/commit/{{$commit.RefID}}">{{ShortSha $commit.RefID}}</a>
+ <td class="name four wide">
+ <span class="truncate">
+ {{if $entry.IsSubModule}}
+ {{svg "octicon-file-submodule" 16}}
+ {{$refURL := $commit.RefURL AppUrl $.Repository.FullName}}
+ {{if $refURL}}
+ <a class="flex-0" href="{{$refURL}}">{{$entry.Name}}</a><span class="at">@</span><a class="flex-1" href="{{$refURL}}/commit/{{$commit.RefID}}">{{ShortSha $commit.RefID}}</a>
+ {{else}}
+ {{$entry.Name}}<span class="at">@</span>{{ShortSha $commit.RefID}}
+ {{end}}
{{else}}
- {{$entry.Name}} @ {{ShortSha $commit.RefID}}
+ {{if $entry.IsDir}}
+ {{$subJumpablePathName := $entry.GetSubJumpablePathName}}
+ {{$subJumpablePath := SubJumpablePath $subJumpablePathName}}
+ {{svg "octicon-file-directory" 16}}
+ <a class="flex-1" href="{{EscapePound $.TreeLink}}/{{EscapePound $subJumpablePathName}}" title="{{$subJumpablePathName}}">
+ {{if eq (len $subJumpablePath) 2}}
+ <span class="jumpable-path">{{index $subJumpablePath 0}}</span>{{index $subJumpablePath 1}}
+ {{else}}
+ {{index $subJumpablePath 0}}
+ {{end}}
+ </a>
+ {{else}}
+ {{svg (printf "octicon-%s" (EntryIcon $entry)) 16}}
+ <a class="flex-1" href="{{EscapePound $.TreeLink}}/{{EscapePound $entry.Name}}" title="{{$entry.Name}}">{{$entry.Name}}</a>
+ {{end}}
{{end}}
- </td>
- {{else}}
- <td class="name four wide">
- {{if $entry.IsDir}}
- {{$subJumpablePathName := $entry.GetSubJumpablePathName}}
- {{$subJumpablePath := SubJumpablePath $subJumpablePathName}}
- {{svg "octicon-file-directory" 16}}
- <a href="{{EscapePound $.TreeLink}}/{{EscapePound $subJumpablePathName}}" title="{{$subJumpablePathName}}">
- {{if eq (len $subJumpablePath) 2}}
- <span class="jumpable-path">{{index $subJumpablePath 0}}</span>{{index $subJumpablePath 1}}
- {{else}}
- {{index $subJumpablePath 0}}
- {{end}}
- </a>
- {{else}}
- {{svg (printf "octicon-%s" (EntryIcon $entry)) 16}}
- <a href="{{EscapePound $.TreeLink}}/{{EscapePound $entry.Name}}" title="{{$entry.Name}}">{{$entry.Name}}</a>
- {{end}}
- </td>
- {{end}}
+ </span>
+ </td>
<td class="message nine wide">
- <a href="{{$.RepoLink}}/commit/{{$commit.ID}}" title="{{$commit.Summary}}">{{$commit.Summary | RenderEmoji}}</a>
+ <span class="truncate">
+ <a class="flex-1" href="{{$.RepoLink}}/commit/{{$commit.ID}}" title="{{$commit.Summary}}">{{$commit.Summary | RenderEmoji}}</a>
+ </span>
</td>
<td class="text right age three wide">{{TimeSince $commit.Committer.When $.Lang}}</td>
</tr>
diff --git a/web_src/less/_repository.less b/web_src/less/_repository.less
index c149cc4fe4..26423ff29f 100644
--- a/web_src/less/_repository.less
+++ b/web_src/less/_repository.less
@@ -361,14 +361,23 @@
width: 120px;
}
- > a {
- width: calc(100% - 8px); /* prevent overflow into adjacant cell */
- display: inline-block;
- padding-top: 8px;
- padding-bottom: 8px;
+ .truncate {
+ display: inline-flex;
+ align-items: center;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
+ width: 100%;
+ }
+
+ a {
+ padding-top: 8px;
+ padding-bottom: 8px;
+ }
+
+ .at {
+ margin-left: 3px;
+ margin-right: 3px;
}
> * {
diff --git a/web_src/less/helpers.less b/web_src/less/helpers.less
new file mode 100644
index 0000000000..d854d28807
--- /dev/null
+++ b/web_src/less/helpers.less
@@ -0,0 +1,6 @@
+.flex-0 {
+ flex: 0;
+}
+.flex-1 {
+ flex: 1;
+}
diff --git a/web_src/less/index.less b/web_src/less/index.less
index 92b25e1db1..bcc0d54d87 100644
--- a/web_src/less/index.less
+++ b/web_src/less/index.less
@@ -1,5 +1,6 @@
@import "~font-awesome/css/font-awesome.css";
+@import "./helpers.less";
@import "./features/gitgraph.less";
@import "./features/animations.less";
@import "./markdown/mermaid.less";