mirror of
				https://github.com/go-gitea/gitea
				synced 2025-10-31 11:28:24 +00:00 
			
		
		
		
	Since #22632, when a commit status has multiple checks, no check is shown at all (hence no way to see the other checks). This PR fixes this by always adding a tag with the `.commit-statuses-trigger` to the DOM (the `.vm` is for vertical alignment).  --------- Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
		
			
				
	
	
		
			71 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			71 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| import $ from 'jquery';
 | |
| import {createTippy} from '../modules/tippy.js';
 | |
| import {toggleElem} from '../utils/dom.js';
 | |
| 
 | |
| const {csrfToken} = window.config;
 | |
| 
 | |
| export function initRepoEllipsisButton() {
 | |
|   $('.ellipsis-button').on('click', function (e) {
 | |
|     e.preventDefault();
 | |
|     const expanded = $(this).attr('aria-expanded') === 'true';
 | |
|     toggleElem($(this).parent().find('.commit-body'));
 | |
|     $(this).attr('aria-expanded', String(!expanded));
 | |
|   });
 | |
| }
 | |
| 
 | |
| 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;
 | |
|       }
 | |
|       // there are other <tr> rows in response (eg: <tr class="has-parent">)
 | |
|       // at the moment only the "data-entryname" rows should be processed
 | |
|       const entryName = $(row).attr('data-entryname');
 | |
|       if (entryName) {
 | |
|         entryMap[entryName].replaceWith(row);
 | |
|       }
 | |
|     });
 | |
|   });
 | |
| }
 | |
| 
 | |
| export function initCommitStatuses() {
 | |
|   $('[data-tippy="commit-statuses"]').each(function () {
 | |
|     const top = $('.repository.file.list').length > 0 || $('.repository.diff').length > 0;
 | |
| 
 | |
|     createTippy(this, {
 | |
|       content: this.nextElementSibling,
 | |
|       placement: top ? 'top-start' : 'bottom-start',
 | |
|       interactive: true,
 | |
|     });
 | |
|   });
 | |
| }
 |