mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-11-03 20:36:07 +01:00 
			
		
		
		
	Remove jQuery AJAX from the archive download links (#29380)
- Removed all jQuery AJAX calls and replaced with our fetch wrapper - Tested the repo archive download links dropdown functionality and it works as before # Demo using `fetch` instead of jQuery AJAX  --------- Signed-off-by: Yarden Shoham <git@yardenshoham.com>
This commit is contained in:
		@@ -1,24 +1,19 @@
 | 
			
		||||
import $ from 'jquery';
 | 
			
		||||
import {hideElem, showElem} from '../utils/dom.js';
 | 
			
		||||
import {POST} from '../modules/fetch.js';
 | 
			
		||||
 | 
			
		||||
const {csrfToken} = window.config;
 | 
			
		||||
 | 
			
		||||
function getArchive($target, url, first) {
 | 
			
		||||
  $.ajax({
 | 
			
		||||
    url,
 | 
			
		||||
    type: 'POST',
 | 
			
		||||
    data: {
 | 
			
		||||
      _csrf: csrfToken,
 | 
			
		||||
    },
 | 
			
		||||
    complete(xhr) {
 | 
			
		||||
      if (xhr.status === 200) {
 | 
			
		||||
        if (!xhr.responseJSON) {
 | 
			
		||||
async function getArchive($target, url, first) {
 | 
			
		||||
  try {
 | 
			
		||||
    const response = await POST(url);
 | 
			
		||||
    if (response.status === 200) {
 | 
			
		||||
      const data = await response.json();
 | 
			
		||||
      if (!data) {
 | 
			
		||||
        // XXX Shouldn't happen?
 | 
			
		||||
        $target.closest('.dropdown').children('i').removeClass('loading');
 | 
			
		||||
        return;
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
        if (!xhr.responseJSON.complete) {
 | 
			
		||||
      if (!data.complete) {
 | 
			
		||||
        $target.closest('.dropdown').children('i').addClass('loading');
 | 
			
		||||
        // Wait for only three quarters of a second initially, in case it's
 | 
			
		||||
        // quickly archived.
 | 
			
		||||
@@ -31,8 +26,9 @@ function getArchive($target, url, first) {
 | 
			
		||||
        window.location.href = url;
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
    },
 | 
			
		||||
  });
 | 
			
		||||
  } catch {
 | 
			
		||||
    $target.closest('.dropdown').children('i').removeClass('loading');
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export function initRepoArchiveLinks() {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user