code.gitea.io/gitea@v1.22.3/web_src/js/features/comp/ConfirmModal.js (about) 1 import $ from 'jquery'; 2 import {svg} from '../../svg.js'; 3 import {htmlEscape} from 'escape-goat'; 4 import {createElementFromHTML} from '../../utils/dom.js'; 5 6 const {i18n} = window.config; 7 8 export function confirmModal(content, {confirmButtonColor = 'primary'} = {}) { 9 return new Promise((resolve) => { 10 const modal = createElementFromHTML(` 11 <div class="ui g-modal-confirm modal"> 12 <div class="content">${htmlEscape(content)}</div> 13 <div class="actions"> 14 <button class="ui cancel button">${svg('octicon-x')} ${htmlEscape(i18n.modal_cancel)}</button> 15 <button class="ui ${confirmButtonColor} ok button">${svg('octicon-check')} ${htmlEscape(i18n.modal_confirm)}</button> 16 </div> 17 </div> 18 `); 19 document.body.append(modal); 20 const $modal = $(modal); 21 $modal.modal({ 22 onApprove() { 23 resolve(true); 24 }, 25 onHidden() { 26 $modal.remove(); 27 resolve(false); 28 }, 29 }).modal('show'); 30 }); 31 }