| 
									
										
										
										
											2018-03-07 00:17:18 -05:00
										 |  |  | function ScriptApi(startNote, currentNote) { | 
					
						
							| 
									
										
										
										
											2018-02-14 23:31:20 -05:00
										 |  |  |     const $pluginButtons = $("#plugin-buttons"); | 
					
						
							| 
									
										
										
										
											2018-02-03 10:37:57 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  |     async function activateNote(notePath) { | 
					
						
							| 
									
										
										
										
											2018-03-24 21:39:15 -04:00
										 |  |  |         await treeService.activateNode(notePath); | 
					
						
							| 
									
										
										
										
											2018-02-03 10:37:57 -05:00
										 |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     function addButtonToToolbar(buttonId, button) { | 
					
						
							|  |  |  |         $("#" + buttonId).remove(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         button.attr('id', buttonId); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-02-14 23:31:20 -05:00
										 |  |  |         $pluginButtons.append(button); | 
					
						
							| 
									
										
										
										
											2018-02-03 10:37:57 -05:00
										 |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-03-04 21:43:14 -05:00
										 |  |  |     function prepareParams(params) { | 
					
						
							|  |  |  |         if (!params) { | 
					
						
							|  |  |  |             return params; | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         return params.map(p => { | 
					
						
							|  |  |  |             if (typeof p === "function") { | 
					
						
							|  |  |  |                 return "!@#Function: " + p.toString(); | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |             else { | 
					
						
							|  |  |  |                 return p; | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |         }); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-03-06 23:04:35 -05:00
										 |  |  |     async function runOnServer(script, params = []) { | 
					
						
							| 
									
										
										
										
											2018-03-04 21:43:14 -05:00
										 |  |  |         if (typeof script === "function") { | 
					
						
							|  |  |  |             script = script.toString(); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-03-04 23:28:26 -05:00
										 |  |  |         const ret = await server.post('script/exec', { | 
					
						
							|  |  |  |             script: script, | 
					
						
							|  |  |  |             params: prepareParams(params), | 
					
						
							| 
									
										
										
										
											2018-03-06 23:04:35 -05:00
										 |  |  |             startNoteId: startNote.noteId, | 
					
						
							|  |  |  |             currentNoteId: currentNote.noteId | 
					
						
							| 
									
										
										
										
											2018-03-04 23:28:26 -05:00
										 |  |  |         }); | 
					
						
							| 
									
										
										
										
											2018-03-04 21:43:14 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  |         return ret.executionResult; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-02-03 10:37:57 -05:00
										 |  |  |     return { | 
					
						
							| 
									
										
										
										
											2018-03-06 23:04:35 -05:00
										 |  |  |         startNote: startNote, | 
					
						
							|  |  |  |         currentNote: currentNote, | 
					
						
							| 
									
										
										
										
											2018-02-03 10:37:57 -05:00
										 |  |  |         addButtonToToolbar, | 
					
						
							| 
									
										
										
										
											2018-02-24 21:23:04 -05:00
										 |  |  |         activateNote, | 
					
						
							| 
									
										
										
										
											2018-03-24 21:39:15 -04:00
										 |  |  |         getInstanceName: treeService.getInstanceName, | 
					
						
							| 
									
										
										
										
											2018-03-04 21:43:14 -05:00
										 |  |  |         runOnServer | 
					
						
							| 
									
										
										
										
											2018-02-03 10:37:57 -05:00
										 |  |  |     } | 
					
						
							| 
									
										
										
										
											2018-03-04 14:21:11 -05:00
										 |  |  | } |