mirror of
				https://github.com/go-gitea/gitea
				synced 2025-11-03 21:08:25 +00: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');
 | 
						|
  });
 | 
						|
}
 |