mirror of
				https://github.com/zadam/trilium.git
				synced 2025-10-31 18:36:30 +01:00 
			
		
		
		
	added BS dialog for confirm
This commit is contained in:
		
							
								
								
									
										38
									
								
								src/public/javascripts/dialogs/confirm.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								src/public/javascripts/dialogs/confirm.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,38 @@ | ||||
| const $dialog = $("#confirm-dialog"); | ||||
| const $confirmContent = $("#confirm-dialog-content"); | ||||
| const $okButton = $("#confirm-dialog-ok-button"); | ||||
| const $cancelButton = $("#confirm-dialog-cancel-button"); | ||||
|  | ||||
| let resolve; | ||||
|  | ||||
| function confirm(message) { | ||||
|     glob.activeDialog = $dialog; | ||||
|  | ||||
|     $confirmContent.text(message); | ||||
|  | ||||
|     $dialog.modal(); | ||||
|  | ||||
|     return new Promise((res, rej) => { resolve = res; }); | ||||
| } | ||||
|  | ||||
| $dialog.on('shown.bs.modal', () => $okButton.trigger("focus")); | ||||
|  | ||||
| $dialog.on("hidden.bs.modal", () => { | ||||
|     if (resolve) { | ||||
|         resolve(false); | ||||
|     } | ||||
| }); | ||||
|  | ||||
| function doResolve(ret) { | ||||
|     resolve(ret); | ||||
|     resolve = null; | ||||
|  | ||||
|     $dialog.modal("hide"); | ||||
| } | ||||
|  | ||||
| $cancelButton.click(() => doResolve(false)); | ||||
| $okButton.click(() => doResolve(true)); | ||||
|  | ||||
| export default { | ||||
|     confirm | ||||
| } | ||||
| @@ -8,6 +8,7 @@ import infoService from "./info.js"; | ||||
| import attributeAutocompleteService from "./attribute_autocomplete.js"; | ||||
| import promptDialog from "../dialogs/prompt.js"; | ||||
| import infoDialog from "../dialogs/info.js"; | ||||
| import confirmDialog from "../dialogs/confirm.js"; | ||||
|  | ||||
| const $component = $("#note-detail-relation-map"); | ||||
| const $relationMapContainer = $("#relation-map-container"); | ||||
| @@ -293,7 +294,7 @@ function connectionContextMenuHandler(connection, event) { | ||||
|  | ||||
|     contextMenuWidget.initContextMenu(event, contextMenuItems, async (event, cmd) => { | ||||
|         if (cmd === 'remove') { | ||||
|             if (!confirm("Are you sure you want to remove the relation?")) { | ||||
|             if (!await confirmDialog.confirm("Are you sure you want to remove the relation?")) { | ||||
|                 return; | ||||
|             } | ||||
|  | ||||
| @@ -381,14 +382,14 @@ $relationMapContainer.on("contextmenu", ".note-box", e => { | ||||
|  | ||||
| async function noteContextMenuHandler(event, cmd) { | ||||
|     const $noteBox = $(event.originalTarget).closest(".note-box"); | ||||
|     const noteId = $noteBox.prop("id"); | ||||
|     const noteId = idToNoteId($noteBox.prop("id")); | ||||
|  | ||||
|     if (cmd === "remove") { | ||||
|         if (!confirm("Are you sure you want to remove the note from this diagram?")) { | ||||
|         if (!await confirmDialog.confirm("Are you sure you want to remove the note from this diagram?")) { | ||||
|             return; | ||||
|         } | ||||
|  | ||||
|         jsPlumbInstance.remove(noteId); | ||||
|         jsPlumbInstance.remove(noteIdToId(noteId)); | ||||
|  | ||||
|         mapData.notes = mapData.notes.filter(note => note.noteId !== noteId); | ||||
|  | ||||
|   | ||||
							
								
								
									
										23
									
								
								src/views/dialogs/confirm.ejs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								src/views/dialogs/confirm.ejs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,23 @@ | ||||
| <div id="confirm-dialog" class="modal mx-auto" tabindex="-1" role="dialog"> | ||||
|     <div class="modal-dialog" role="document"> | ||||
|         <div class="modal-content"> | ||||
|             <div class="modal-header"> | ||||
|                 <h5 class="modal-title mr-auto">Confirmation</h5> | ||||
|  | ||||
|                 <button type="button" class="close" data-dismiss="modal" aria-label="Close"> | ||||
|                     <span aria-hidden="true">×</span> | ||||
|                 </button> | ||||
|             </div> | ||||
|             <div class="modal-body"> | ||||
|                 <div id="confirm-dialog-content"></div> | ||||
|             </div> | ||||
|             <div class="modal-footer"> | ||||
|                 <button class="btn btn-default btn-sm" id="confirm-dialog-cancel-button">Cancel</button> | ||||
|  | ||||
|                   | ||||
|  | ||||
|                 <button class="btn btn-primary btn-sm" id="confirm-dialog-ok-button">OK</button> | ||||
|             </div> | ||||
|         </div> | ||||
|     </div> | ||||
| </div> | ||||
| @@ -12,7 +12,7 @@ | ||||
|                 <div id="info-dialog-content"></div> | ||||
|             </div> | ||||
|             <div class="modal-footer"> | ||||
|                 <button class="btn btn-primary btn-sm" id="info-dialog-ok-button">OK <kbd>enter</kbd></button> | ||||
|                 <button class="btn btn-primary btn-sm" id="info-dialog-ok-button">OK</button> | ||||
|             </div> | ||||
|         </div> | ||||
|     </div> | ||||
|   | ||||
| @@ -184,6 +184,7 @@ | ||||
|       <% include dialogs/sql_console.ejs %> | ||||
|       <% include dialogs/info.ejs %> | ||||
|       <% include dialogs/prompt.ejs %> | ||||
|       <% include dialogs/confirm.ejs %> | ||||
|     </div> | ||||
|  | ||||
|     <script type="text/javascript"> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user