mirror of
				https://codeberg.org/forgejo/forgejo.git
				synced 2025-10-25 03:22:36 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			37 lines
		
	
	
	
		
			1,015 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
	
		
			1,015 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| import $ from 'jquery';
 | |
| import {showTemporaryTooltip} from '../../modules/tippy.js';
 | |
| 
 | |
| const {appSubUrl, csrfToken, pageData} = window.config;
 | |
| 
 | |
| export function initAdminConfigs() {
 | |
|   const isAdminConfigPage = pageData?.adminConfigPage;
 | |
|   if (!isAdminConfigPage) return;
 | |
| 
 | |
|   $("input[type='checkbox']").on('change', (e) => {
 | |
|     const $this = $(e.currentTarget);
 | |
|     $.ajax({
 | |
|       url: `${appSubUrl}/admin/config`,
 | |
|       type: 'POST',
 | |
|       data: {
 | |
|         _csrf: csrfToken,
 | |
|         key: $this.attr('name'),
 | |
|         value: $this.is(':checked'),
 | |
|         version: $this.attr('version'),
 | |
|       }
 | |
|     }).done((resp) => {
 | |
|       if (resp) {
 | |
|         if (resp.redirect) {
 | |
|           window.location.href = resp.redirect;
 | |
|         } else if (resp.version) {
 | |
|           $this.attr('version', resp.version);
 | |
|         } else if (resp.err) {
 | |
|           showTemporaryTooltip(e.currentTarget, resp.err);
 | |
|           $this.prop('checked', !$this.is(':checked'));
 | |
|         }
 | |
|       }
 | |
|     });
 | |
| 
 | |
|     e.preventDefault();
 | |
|     return false;
 | |
|   });
 | |
| }
 |