mirror of
				https://github.com/zadam/trilium.git
				synced 2025-10-31 18:36:30 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			64 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| import treeService from './tree.js';
 | |
| import server from './server.js';
 | |
| import utils from './utils.js';
 | |
| 
 | |
| function ScriptApi(startNote, currentNote) {
 | |
|     const $pluginButtons = $("#plugin-buttons");
 | |
| 
 | |
|     async function activateNote(notePath) {
 | |
|         await treeService.activateNode(notePath);
 | |
|     }
 | |
| 
 | |
|     function addButtonToToolbar(buttonId, button) {
 | |
|         $("#" + buttonId).remove();
 | |
| 
 | |
|         button.attr('id', buttonId);
 | |
| 
 | |
|         $pluginButtons.append(button);
 | |
|     }
 | |
| 
 | |
|     function prepareParams(params) {
 | |
|         if (!params) {
 | |
|             return params;
 | |
|         }
 | |
| 
 | |
|         return params.map(p => {
 | |
|             if (typeof p === "function") {
 | |
|                 return "!@#Function: " + p.toString();
 | |
|             }
 | |
|             else {
 | |
|                 return p;
 | |
|             }
 | |
|         });
 | |
|     }
 | |
| 
 | |
|     async function runOnServer(script, params = []) {
 | |
|         if (typeof script === "function") {
 | |
|             script = script.toString();
 | |
|         }
 | |
| 
 | |
|         const ret = await server.post('script/exec', {
 | |
|             script: script,
 | |
|             params: prepareParams(params),
 | |
|             startNoteId: startNote.noteId,
 | |
|             currentNoteId: currentNote.noteId
 | |
|         });
 | |
| 
 | |
|         return ret.executionResult;
 | |
|     }
 | |
| 
 | |
|     return {
 | |
|         startNote: startNote,
 | |
|         currentNote: currentNote,
 | |
|         addButtonToToolbar,
 | |
|         activateNote,
 | |
|         getInstanceName: () => window.glob.instanceName,
 | |
|         runOnServer,
 | |
|         formatDateISO: utils.formatDateISO,
 | |
|         parseDate: utils.parseDate,
 | |
|         showMessage: utils.showMessage,
 | |
|         showError: utils.showError
 | |
|     }
 | |
| }
 | |
| 
 | |
| export default ScriptApi; |