mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-30 06:38:37 -04:00 
			
		
		
		
	Update eslint and all plugins. Many plugins still do not ship type definitions so I had to add stubs. Also, I had to put a few typescript error expectations because if some unknown error in the types. `eslint-plugin-no-jquery` is disabled because it's not compatible with eslint 9 flat config (https://github.com/wikimedia/eslint-plugin-no-jquery/issues/311).
		
			
				
	
	
		
			43 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import {svg} from '../../svg.ts';
 | |
| import {html, htmlRaw} from '../../utils/html.ts';
 | |
| import {createElementFromHTML} from '../../utils/dom.ts';
 | |
| import {fomanticQuery} from '../../modules/fomantic/base.ts';
 | |
| 
 | |
| const {i18n} = window.config;
 | |
| 
 | |
| type ConfirmModalOptions = {
 | |
|   header?: string;
 | |
|   content?: string;
 | |
|   confirmButtonColor?: 'primary' | 'red' | 'green' | 'blue';
 | |
| };
 | |
| 
 | |
| export function createConfirmModal({header = '', content = '', confirmButtonColor = 'primary'}:ConfirmModalOptions = {}): HTMLElement {
 | |
|   const headerHtml = header ? html`<div class="header">${header}</div>` : '';
 | |
|   return createElementFromHTML(html`
 | |
|     <div class="ui g-modal-confirm modal">
 | |
|       ${htmlRaw(headerHtml)}
 | |
|       <div class="content">${content}</div>
 | |
|       <div class="actions">
 | |
|         <button class="ui cancel button">${htmlRaw(svg('octicon-x'))} ${i18n.modal_cancel}</button>
 | |
|         <button class="ui ${confirmButtonColor} ok button">${htmlRaw(svg('octicon-check'))} ${i18n.modal_confirm}</button>
 | |
|       </div>
 | |
|     </div>
 | |
|   `.trim());
 | |
| }
 | |
| 
 | |
| export function confirmModal(modal: HTMLElement | ConfirmModalOptions): Promise<boolean> {
 | |
|   if (!(modal instanceof HTMLElement)) modal = createConfirmModal(modal);
 | |
|   return new Promise((resolve) => {
 | |
|     const $modal = fomanticQuery(modal);
 | |
|     $modal.modal({
 | |
|       onApprove() {
 | |
|         resolve(true);
 | |
|       },
 | |
|       onHidden() {
 | |
|         $modal.remove();
 | |
|         resolve(false);
 | |
|       },
 | |
|     }).modal('show');
 | |
|   });
 | |
| }
 |