mirror of
				https://github.com/TriliumNext/Notes.git
				synced 2025-10-31 04:51:31 +08:00 
			
		
		
		
	converted branch prefix dialog to new pattern
This commit is contained in:
		
							parent
							
								
									bc87bf12cf
								
							
						
					
					
						commit
						312ffc110a
					
				| @ -1,59 +0,0 @@ | ||||
| import treeService from '../services/tree.js'; | ||||
| import server from '../services/server.js'; | ||||
| import froca from "../services/froca.js"; | ||||
| import toastService from "../services/toast.js"; | ||||
| import utils from "../services/utils.js"; | ||||
| 
 | ||||
| const $dialog = $("#branch-prefix-dialog"); | ||||
| const $form = $("#branch-prefix-form"); | ||||
| const $treePrefixInput = $("#branch-prefix-input"); | ||||
| const $noteTitle = $('#branch-prefix-note-title'); | ||||
| 
 | ||||
| let branchId; | ||||
| 
 | ||||
| export async function showDialog(notePath) { | ||||
|     const {noteId, parentNoteId} = treeService.getNoteIdAndParentIdFromNotePath(notePath); | ||||
| 
 | ||||
|     if (!noteId || !parentNoteId) { | ||||
|         return; | ||||
|     } | ||||
| 
 | ||||
|     branchId = await froca.getBranchId(parentNoteId, noteId); | ||||
|     const branch = froca.getBranch(branchId); | ||||
| 
 | ||||
|     if (!branch || branch.noteId === 'root') { | ||||
|         return; | ||||
|     } | ||||
| 
 | ||||
|     const parentNote = await froca.getNote(branch.parentNoteId); | ||||
| 
 | ||||
|     if (parentNote.type === 'search') { | ||||
|         return; | ||||
|     } | ||||
| 
 | ||||
|     utils.openDialog($dialog); | ||||
| 
 | ||||
|     $treePrefixInput.val(branch.prefix); | ||||
| 
 | ||||
|     const noteTitle = await treeService.getNoteTitle(noteId); | ||||
| 
 | ||||
|     $noteTitle.text(" - " + noteTitle); | ||||
| } | ||||
| 
 | ||||
| async function savePrefix() { | ||||
|     const prefix = $treePrefixInput.val(); | ||||
| 
 | ||||
|     await server.put('branches/' + branchId + '/set-prefix', { prefix: prefix }); | ||||
| 
 | ||||
|     $dialog.modal('hide'); | ||||
| 
 | ||||
|     toastService.showMessage("Branch prefix has been saved."); | ||||
| } | ||||
| 
 | ||||
| $form.on('submit', () => { | ||||
|     savePrefix(); | ||||
| 
 | ||||
|     return false; | ||||
| }); | ||||
| 
 | ||||
| $dialog.on('shown.bs.modal', () => $treePrefixInput.trigger('focus')); | ||||
| @ -56,6 +56,7 @@ import NoteSourceDialog from "../dialogs/note_source.js"; | ||||
| import HelpDialog from "../widgets/dialogs/help.js"; | ||||
| import RecentChangesDialog from "../widgets/dialogs/recent_changes.js"; | ||||
| import BackendLogDialog from "../widgets/dialogs/backend_log.js"; | ||||
| import BranchPrefixDialog from "../widgets/dialogs/branch_prefix.js"; | ||||
| 
 | ||||
| export default class DesktopLayout { | ||||
|     constructor(customWidgets) { | ||||
| @ -186,6 +187,7 @@ export default class DesktopLayout { | ||||
|             .child(new NoteSourceDialog()) | ||||
|             .child(new HelpDialog()) | ||||
|             .child(new RecentChangesDialog()) | ||||
|             .child(new BackendLogDialog()); | ||||
|             .child(new BackendLogDialog()) | ||||
|             .child(new BranchPrefixDialog()); | ||||
|     } | ||||
| } | ||||
|  | ||||
| @ -20,15 +20,6 @@ export default class RootCommandExecutor extends Component { | ||||
|         import("../dialogs/markdown_import.js").then(d => d.importMarkdownInline()); | ||||
|     } | ||||
| 
 | ||||
|     async editBranchPrefixCommand() { | ||||
|         const notePath = appContext.tabManager.getActiveContextNotePath(); | ||||
| 
 | ||||
|         if (notePath) { | ||||
|             const editBranchPrefixDialog = await import("../dialogs/branch_prefix.js"); | ||||
|             editBranchPrefixDialog.showDialog(notePath); | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     editReadOnlyNoteCommand() { | ||||
|         const noteContext = appContext.tabManager.getActiveContext(); | ||||
|         noteContext.readOnlyTemporarilyDisabled = true; | ||||
|  | ||||
							
								
								
									
										105
									
								
								src/public/app/widgets/dialogs/branch_prefix.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										105
									
								
								src/public/app/widgets/dialogs/branch_prefix.js
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,105 @@ | ||||
| import treeService from '../../services/tree.js'; | ||||
| import server from '../../services/server.js'; | ||||
| import froca from "../../services/froca.js"; | ||||
| import toastService from "../../services/toast.js"; | ||||
| import utils from "../../services/utils.js"; | ||||
| import BasicWidget from "../basic_widget.js"; | ||||
| import appContext from "../../services/app_context.js"; | ||||
| 
 | ||||
| let branchId; | ||||
| 
 | ||||
| const TPL = `<div class="branch-prefix-dialog modal fade mx-auto" tabindex="-1" role="dialog">
 | ||||
|     <div class="modal-dialog modal-lg" role="document"> | ||||
|         <form class="branch-prefix-form"> | ||||
|             <div class="modal-content"> | ||||
|                 <div class="modal-header"> | ||||
|                     <h5 class="modal-title mr-auto">Edit branch prefix</h5> | ||||
| 
 | ||||
|                     <button class="help-button" type="button" data-help-page="Tree-concepts#prefix" title="Help on Tree prefix">?</button> | ||||
| 
 | ||||
|                     <button type="button" class="close" data-dismiss="modal" aria-label="Close" style="margin-left: 0;"> | ||||
|                         <span aria-hidden="true">×</span> | ||||
|                     </button> | ||||
|                 </div> | ||||
|                 <div class="modal-body"> | ||||
|                     <div class="form-group"> | ||||
|                         <label for="branch-prefix-input">Prefix: </label>   | ||||
| 
 | ||||
|                         <div class="input-group"> | ||||
|                             <input class="branch-prefix-input form-control"> | ||||
| 
 | ||||
|                             <div class="input-group-append"> | ||||
|                                 <div class="branch-prefix-note-title input-group-text"></div> | ||||
|                             </div> | ||||
|                         </div> | ||||
|                     </div> | ||||
|                 </div> | ||||
|                 <div class="modal-footer"> | ||||
|                     <button class="btn btn-primary btn-sm">Save</button> | ||||
|                 </div> | ||||
|             </div> | ||||
|         </form> | ||||
|     </div> | ||||
| </div>`; | ||||
| 
 | ||||
| export default class BranchPrefixDialog extends BasicWidget { | ||||
|     doRender() { | ||||
|         this.$widget = $(TPL); | ||||
|         this.$form = this.$widget.find(".branch-prefix-form"); | ||||
|         this.$treePrefixInput = this.$widget.find(".branch-prefix-input"); | ||||
|         this.$noteTitle = this.$widget.find('.branch-prefix-note-title'); | ||||
| 
 | ||||
|         this.$form.on('submit', () => { | ||||
|             this.savePrefix(); | ||||
| 
 | ||||
|             return false; | ||||
|         }); | ||||
| 
 | ||||
|         this.$widget.on('shown.bs.modal', () => this.$treePrefixInput.trigger('focus')); | ||||
|     } | ||||
| 
 | ||||
|     async refresh(notePath) { | ||||
|         const {noteId, parentNoteId} = treeService.getNoteIdAndParentIdFromNotePath(notePath); | ||||
| 
 | ||||
|         if (!noteId || !parentNoteId) { | ||||
|             return; | ||||
|         } | ||||
| 
 | ||||
|         branchId = await froca.getBranchId(parentNoteId, noteId); | ||||
|         const branch = froca.getBranch(branchId); | ||||
| 
 | ||||
|         if (!branch || branch.noteId === 'root') { | ||||
|             return; | ||||
|         } | ||||
| 
 | ||||
|         const parentNote = await froca.getNote(branch.parentNoteId); | ||||
| 
 | ||||
|         if (parentNote.type === 'search') { | ||||
|             return; | ||||
|         } | ||||
| 
 | ||||
|         this.$treePrefixInput.val(branch.prefix); | ||||
| 
 | ||||
|         const noteTitle = await treeService.getNoteTitle(noteId); | ||||
| 
 | ||||
|         this.$noteTitle.text(" - " + noteTitle); | ||||
|     } | ||||
| 
 | ||||
|     async editBranchPrefixEvent() { | ||||
|         const notePath = appContext.tabManager.getActiveContextNotePath(); | ||||
| 
 | ||||
|         await this.refresh(notePath); | ||||
| 
 | ||||
|         utils.openDialog(this.$widget); | ||||
|     } | ||||
| 
 | ||||
|     async savePrefix() { | ||||
|         const prefix = this.$treePrefixInput.val(); | ||||
| 
 | ||||
|         await server.put(`branches/${branchId}/set-prefix`, {prefix: prefix}); | ||||
| 
 | ||||
|         this.$widget.modal('hide'); | ||||
| 
 | ||||
|         toastService.showMessage("Branch prefix has been saved."); | ||||
|     } | ||||
| } | ||||
| @ -18,7 +18,6 @@ | ||||
| <div class="dropdown-menu dropdown-menu-sm" id="context-menu-container"></div> | ||||
| 
 | ||||
| <%- include('dialogs/add_link.ejs') %> | ||||
| <%- include('dialogs/branch_prefix.ejs') %> | ||||
| <%- include('dialogs/export.ejs') %> | ||||
| <%- include('dialogs/import.ejs') %> | ||||
| <%- include('dialogs/jump_to_note.ejs') %> | ||||
|  | ||||
| @ -1,33 +0,0 @@ | ||||
| <div id="branch-prefix-dialog" class="modal fade mx-auto" tabindex="-1" role="dialog"> | ||||
|     <div class="modal-dialog modal-lg" role="document"> | ||||
|         <form id="branch-prefix-form"> | ||||
|             <div class="modal-content"> | ||||
|                 <div class="modal-header"> | ||||
|                     <h5 class="modal-title mr-auto">Edit branch prefix</h5> | ||||
| 
 | ||||
|                     <button class="help-button" type="button" data-help-page="Tree-concepts#prefix" title="Help on Tree prefix">?</button> | ||||
| 
 | ||||
|                     <button type="button" class="close" data-dismiss="modal" aria-label="Close" style="margin-left: 0;"> | ||||
|                         <span aria-hidden="true">×</span> | ||||
|                     </button> | ||||
|                 </div> | ||||
|                 <div class="modal-body"> | ||||
|                     <div class="form-group"> | ||||
|                         <label for="branch-prefix-input">Prefix: </label>   | ||||
| 
 | ||||
|                         <div class="input-group"> | ||||
|                             <input id="branch-prefix-input" class="form-control"> | ||||
| 
 | ||||
|                             <div class="input-group-append"> | ||||
|                                 <div id="branch-prefix-note-title" class="input-group-text"></div> | ||||
|                             </div> | ||||
|                         </div> | ||||
|                     </div> | ||||
|                 </div> | ||||
|                 <div class="modal-footer"> | ||||
|                     <button class="btn btn-primary btn-sm">Save</button> | ||||
|                 </div> | ||||
|             </div> | ||||
|         </form> | ||||
|     </div> | ||||
| </div> | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 zadam
						zadam