summaryrefslogtreecommitdiffstats
path: root/web_src/js/features/repo-commit.js
diff options
context:
space:
mode:
authorwxiaoguang <wxiaoguang@gmail.com>2021-11-09 17:27:25 +0800
committerGitHub <noreply@github.com>2021-11-09 17:27:25 +0800
commitbb71ceeeb24a7d3e768ace8075b7dcc5c13713df (patch)
treef06b659609893ecafff60a0772b31dbf83d51412 /web_src/js/features/repo-commit.js
parent3a693bd18c6274b62aa7bcde69e9a0d86e43c534 (diff)
downloadgitea-bb71ceeeb24a7d3e768ace8075b7dcc5c13713df.tar.gz
gitea-bb71ceeeb24a7d3e768ace8075b7dcc5c13713df.zip
Improve async/await usage, and sort init calls in `index.js` (#17386)
* clean up async/await, and sort init calls in `index.js * use `const _promise` to indicate that we do not need await an async function
Diffstat (limited to 'web_src/js/features/repo-commit.js')
-rw-r--r--web_src/js/features/repo-commit.js41
1 files changed, 41 insertions, 0 deletions
diff --git a/web_src/js/features/repo-commit.js b/web_src/js/features/repo-commit.js
index 336a37d654..847fed3f1d 100644
--- a/web_src/js/features/repo-commit.js
+++ b/web_src/js/features/repo-commit.js
@@ -1,6 +1,47 @@
+const {csrfToken} = window.config;
+
export function initRepoCommitButton() {
$('.commit-button').on('click', function (e) {
e.preventDefault();
$(this).parent().find('.commit-body').toggle();
});
}
+
+export function initRepoCommitLastCommitLoader() {
+ const entryMap = {};
+
+ const entries = $('table#repo-files-table tr.notready')
+ .map((_, v) => {
+ entryMap[$(v).attr('data-entryname')] = $(v);
+ return $(v).attr('data-entryname');
+ })
+ .get();
+
+ if (entries.length === 0) {
+ return;
+ }
+
+ const lastCommitLoaderURL = $('table#repo-files-table').data('lastCommitLoaderUrl');
+
+ if (entries.length > 200) {
+ $.post(lastCommitLoaderURL, {
+ _csrf: csrfToken,
+ }, (data) => {
+ $('table#repo-files-table').replaceWith(data);
+ });
+ return;
+ }
+
+ $.post(lastCommitLoaderURL, {
+ _csrf: csrfToken,
+ 'f': entries,
+ }, (data) => {
+ $(data).find('tr').each((_, row) => {
+ if (row.className === 'commit-list') {
+ $('table#repo-files-table .commit-list').replaceWith(row);
+ return;
+ }
+ entryMap[$(row).attr('data-entryname')].replaceWith(row);
+ });
+ });
+}