diff options
author | Norwin <noerw@users.noreply.github.com> | 2021-06-28 01:13:20 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-06-28 01:13:20 +0200 |
commit | 9c6aeb47f7979a434bf30408992c06118c142771 (patch) | |
tree | 0aed39da360583610dee02a2d96a7a43b022d45d /web_src/js/index.js | |
parent | 59c58553baa5597f5c2156b47fd2e47e46aa58ac (diff) | |
download | gitea-9c6aeb47f7979a434bf30408992c06118c142771.tar.gz gitea-9c6aeb47f7979a434bf30408992c06118c142771.zip |
Link to previous blames in file blame page (#16259)
Adds a link to each blame hunk, to view the blame of an earlier version of the file, similar to GitHub. Also refactors the blame render from fmtstring based to template based.
* Fix blame bottom line and add blame prior button
* Jump to previous parent commit from the commit.
* Fix previous commit link
* Fix previous blame link
* Fix the given file not exist in the previous commit.
* Fix blameRow struct not export
* fix theming issues, rename template var
* remove unused LastCommit fetch
* fix location of blame-hunk divider
* rewrite previous commit checks
* remove duplicate commit lookup
its already resolved and stored in ctx.Repo.Commit!
* split out blamePart processing into function
Co-authored-by: rogerluo410 <rogerluo410@gmail.com>
Diffstat (limited to 'web_src/js/index.js')
-rw-r--r-- | web_src/js/index.js | 25 |
1 files changed, 19 insertions, 6 deletions
diff --git a/web_src/js/index.js b/web_src/js/index.js index f1f41ce747..0693175a00 100644 --- a/web_src/js/index.js +++ b/web_src/js/index.js @@ -2283,20 +2283,24 @@ function initCodeView() { const $select = $(this); let $list; if ($('div.blame').length) { - $list = $('.code-view td.lines-code li'); + $list = $('.code-view td.lines-code.blame-code'); } else { $list = $('.code-view td.lines-code'); } selectRange($list, $list.filter(`[rel=${$select.attr('id')}]`), (e.shiftKey ? $list.filter('.active').eq(0) : null)); deSelect(); - showLineButton(); + + // show code view menu marker (don't show in blame page) + if ($('div.blame').length === 0) { + showLineButton(); + } }); $(window).on('hashchange', () => { let m = window.location.hash.match(/^#(L\d+)-(L\d+)$/); let $list; if ($('div.blame').length) { - $list = $('.code-view td.lines-code li'); + $list = $('.code-view td.lines-code.blame-code'); } else { $list = $('.code-view td.lines-code'); } @@ -2304,7 +2308,12 @@ function initCodeView() { if (m) { $first = $list.filter(`[rel=${m[1]}]`); selectRange($list, $first, $list.filter(`[rel=${m[2]}]`)); - showLineButton(); + + // show code view menu marker (don't show in blame page) + if ($('div.blame').length === 0) { + showLineButton(); + } + $('html, body').scrollTop($first.offset().top - 200); return; } @@ -2312,7 +2321,12 @@ function initCodeView() { if (m) { $first = $list.filter(`[rel=L${m[2]}]`); selectRange($list, $first); - showLineButton(); + + // show code view menu marker (don't show in blame page) + if ($('div.blame').length === 0) { + showLineButton(); + } + $('html, body').scrollTop($first.offset().top - 200); } }).trigger('hashchange'); @@ -2911,7 +2925,6 @@ function selectRange($list, $select, $from) { } else { $issue.attr('href', `${$issue.attr('href')}%23L${a}-L${b}`); } - return; } } |