diff --git a/routers/web/repo/view.go b/routers/web/repo/view.go index 36d6ed022..27984e762 100644 --- a/routers/web/repo/view.go +++ b/routers/web/repo/view.go @@ -35,7 +35,6 @@ import ( "code.gitea.io/gitea/modules/actions" "code.gitea.io/gitea/modules/base" "code.gitea.io/gitea/modules/charset" - "code.gitea.io/gitea/modules/container" "code.gitea.io/gitea/modules/git" "code.gitea.io/gitea/modules/highlight" "code.gitea.io/gitea/modules/lfs" @@ -881,25 +880,18 @@ func renderDirectoryFiles(ctx *context.Context, timeout time.Duration) git.Entri defer cancel() } - selected := make(container.Set[string]) - selected.AddMultiple(ctx.FormStrings("f[]")...) - - entries := allEntries - if len(selected) > 0 { - entries = make(git.Entries, 0, len(selected)) - for _, entry := range allEntries { - if selected.Contains(entry.Name()) { - entries = append(entries, entry) - } - } - } - - var latestCommit *git.Commit - ctx.Data["Files"], latestCommit, err = entries.GetCommitsInfo(commitInfoCtx, ctx.Repo.Commit, ctx.Repo.TreePath) + files, latestCommit, err := allEntries.GetCommitsInfo(commitInfoCtx, ctx.Repo.Commit, ctx.Repo.TreePath) if err != nil { ctx.ServerError("GetCommitsInfo", err) return nil } + ctx.Data["Files"] = files + for _, f := range files { + if f.Commit == nil { + ctx.Data["HasFilesWithoutLatestCommit"] = true + break + } + } if !loadLatestCommitData(ctx, latestCommit) { return nil diff --git a/templates/repo/view_list.tmpl b/templates/repo/view_list.tmpl index c1ef4ff4c..988a5ddd5 100644 --- a/templates/repo/view_list.tmpl +++ b/templates/repo/view_list.tmpl @@ -1,7 +1,7 @@ - +
- @@ -55,7 +55,7 @@ {{$commitLink := printf "%s/commit/%s" $.RepoLink (PathEscape $commit.ID.String)}} {{RenderCommitMessageLinkSubject $.Context $commit.Message $commitLink ($.Repository.ComposeMetas ctx)}} {{else}} -
+
{{end}} diff --git a/web_src/js/features/repo-commit.js b/web_src/js/features/repo-commit.js index 7e2f6fa58..f61ea08a4 100644 --- a/web_src/js/features/repo-commit.js +++ b/web_src/js/features/repo-commit.js @@ -1,7 +1,5 @@ import {createTippy} from '../modules/tippy.js'; import {toggleElem} from '../utils/dom.js'; -import {parseDom} from '../utils.js'; -import {POST} from '../modules/fetch.js'; export function initRepoEllipsisButton() { for (const button of document.querySelectorAll('.js-toggle-commit-body')) { @@ -14,47 +12,6 @@ export function initRepoEllipsisButton() { } } -export async function initRepoCommitLastCommitLoader() { - const entryMap = {}; - - const entries = Array.from(document.querySelectorAll('table#repo-files-table tr.notready'), (el) => { - const entryName = el.getAttribute('data-entryname'); - entryMap[entryName] = el; - return entryName; - }); - - if (entries.length === 0) { - return; - } - - const lastCommitLoaderURL = document.querySelector('table#repo-files-table').getAttribute('data-last-commit-loader-url'); - - if (entries.length > 200) { - // For more than 200 entries, replace the entire table - const response = await POST(lastCommitLoaderURL); - const data = await response.text(); - document.querySelector('table#repo-files-table').outerHTML = data; - return; - } - - // For fewer entries, update individual rows - const response = await POST(lastCommitLoaderURL, {data: {'f': entries}}); - const data = await response.text(); - const doc = parseDom(data, 'text/html'); - for (const row of doc.querySelectorAll('tr')) { - if (row.className === 'commit-list') { - document.querySelector('table#repo-files-table .commit-list')?.replaceWith(row); - continue; - } - // there are other rows in response (eg: ) - // at the moment only the "data-entryname" rows should be processed - const entryName = row.getAttribute('data-entryname'); - if (entryName) { - entryMap[entryName]?.replaceWith(row); - } - } -} - export function initCommitStatuses() { for (const element of document.querySelectorAll('[data-tippy="commit-statuses"]')) { const top = document.querySelector('.repository.file.list') || document.querySelector('.repository.diff'); diff --git a/web_src/js/index.js b/web_src/js/index.js index b7f3ba99a..c7eac9d24 100644 --- a/web_src/js/index.js +++ b/web_src/js/index.js @@ -33,11 +33,7 @@ import { initRepoPullRequestAllowMaintainerEdit, initRepoPullRequestReview, initRepoIssueSidebarList, initArchivedLabelHandler, } from './features/repo-issue.js'; -import { - initRepoEllipsisButton, - initRepoCommitLastCommitLoader, - initCommitStatuses, -} from './features/repo-commit.js'; +import {initRepoEllipsisButton, initCommitStatuses} from './features/repo-commit.js'; import { initFootLanguageMenu, initGlobalButtonClickOnEnter, @@ -148,7 +144,6 @@ onDomReady(() => { initRepoCommentForm(); initRepoEllipsisButton(); initRepoDiffCommitBranchesAndTags(); - initRepoCommitLastCommitLoader(); initRepoEditor(); initRepoGraphGit(); initRepoIssueContentHistory();
+ {{template "repo/latest_commit" .}} {{if .LatestCommit}}{{if .LatestCommit.Committer}}{{TimeSince .LatestCommit.Committer.When ctx.Locale}}{{end}}{{end}}