mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-11-03 20:36:07 +01:00 
			
		
		
		
	One of the biggest reasons for slow repository browsing is that we wait until last commit information has been generated for all files in the repository. This PR proposes deferring this generation to a new POST endpoint that does the look up outside of the main page request. Signed-off-by: Andrew Thornton <art27@cantab.net>
		
			
				
	
	
		
			41 lines
		
	
	
		
			952 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			952 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
const {csrf} = window.config;
 | 
						|
 | 
						|
export async function initLastCommitLoader() {
 | 
						|
  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: csrf,
 | 
						|
    }, (data) => {
 | 
						|
      $('table#repo-files-table').replaceWith(data);
 | 
						|
    });
 | 
						|
    return;
 | 
						|
  }
 | 
						|
 | 
						|
  $.post(lastCommitLoaderURL, {
 | 
						|
    _csrf: csrf,
 | 
						|
    '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);
 | 
						|
    });
 | 
						|
  });
 | 
						|
}
 |