- Source:
Members
$container
Properties:
Name | Type | Description |
---|---|---|
container |
jQuery | of all the rendered script content |
- Source:
currentNote
Properties:
Name | Type | Description |
---|---|---|
note |
object | where script is currently executing |
- Source:
originEntity
Properties:
Name | Type | Description |
---|---|---|
entity |
object | null | whose event triggered this execution |
- Source:
StandardWidget
Properties:
Type | Description |
---|---|
StandardWidget |
- Source:
startNote
Properties:
Name | Type | Description |
---|---|---|
note |
object | where script started executing |
- Source:
tabContext
Properties:
Type | Description |
---|---|
TabContext | null | experimental! |
- Source:
Methods
activateNewNote(notePath) → {Promise.<void>}
Activates newly created note. Compared to this.activateNote() also makes sure that frontend has been fully synced.
Parameters:
Name | Type | Description |
---|---|---|
notePath |
string | (or noteId) |
- Source:
Returns:
- Type
- Promise.<void>
activateNote(notePath) → {Promise.<void>}
Activates note in the tree and in the note detail.
Parameters:
Name | Type | Description |
---|---|---|
notePath |
string | (or noteId) |
- Source:
Returns:
- Type
- Promise.<void>
addButtonToToolbar(opts)
Adds new button the the plugin area.
Parameters:
Name | Type | Description |
---|---|---|
opts |
ToolbarButtonOptions |
- Source:
bindGlobalShortcut(keyboardShortcut, handler)
Parameters:
Name | Type | Description |
---|---|---|
keyboardShortcut |
string | e.g. "ctrl+shift+a" |
handler |
function |
- Source:
createNoteLink(notePath, noteTitleopt)
Create note link (jQuery object) for given note.
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
notePath |
string | (or noteId) | |
noteTitle |
string |
<optional> |
if not present we'll use note title |
- Source:
formatDateISO(date) → {string}
Parameters:
Name | Type | Description |
---|---|---|
date |
Date |
- Source:
Returns:
date in YYYY-MM-DD format
- Type
- string
getActiveTabNote() → {NoteFull}
- Source:
Returns:
active note (loaded into right pane)
- Type
- NoteFull
getActiveTabNotePath() → {Promise.<(string|null)>}
- Source:
Returns:
returns note path of active note or null if there isn't active note
- Type
- Promise.<(string|null)>
getDateNote(date) → {Promise.<NoteShort>}
Returns date-note. If it doesn't exist, it is automatically created.
Parameters:
Name | Type | Description |
---|---|---|
date |
string | e.g. "2019-04-29" |
- Source:
Returns:
- Type
- Promise.<NoteShort>
getInstanceName() → {string}
Instance name identifies particular Trilium instance. It can be useful for scripts
if some action needs to happen on only one specific instance.
- Source:
Returns:
- Type
- string
getMonthNote(month) → {Promise.<NoteShort>}
Returns month-note. If it doesn't exist, it is automatically created.
Parameters:
Name | Type | Description |
---|---|---|
month |
string | e.g. "2019-04" |
- Source:
Returns:
- Type
- Promise.<NoteShort>
getNote(noteId) → {Promise.<NoteShort>}
Returns note by given noteId. If note is missing from cache, it's loaded.
*
Parameters:
Name | Type | Description |
---|---|---|
noteId |
string |
- Source:
Returns:
- Type
- Promise.<NoteShort>
getNotes(noteIds, silentNotFoundErroropt) → {Promise.<Array.<NoteShort>>}
Returns list of notes. If note is missing from cache, it's loaded.
This is often used to bulk-fill the cache with notes which would have to be picked one by one
otherwise (by e.g. createNoteLink())
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
noteIds |
Array.<string> | ||
silentNotFoundError |
boolean |
<optional> |
don't report error if the note is not found |
- Source:
Returns:
- Type
- Promise.<Array.<NoteShort>>
getTodayNote() → {Promise.<NoteShort>}
Returns date-note for today. If it doesn't exist, it is automatically created.
- Source:
Returns:
- Type
- Promise.<NoteShort>
getYearNote(year) → {Promise.<NoteShort>}
Returns year-note. If it doesn't exist, it is automatically created.
Parameters:
Name | Type | Description |
---|---|---|
year |
string | e.g. "2019" |
- Source:
Returns:
- Type
- Promise.<NoteShort>
isNoteStillActive() → {boolean}
This method checks whether user navigated away from the note from which the scripts has been started.
This is necessary because script execution is async and by the time it is finished, the user might have
already navigated away from this page - the end result would be that script might return data for the wrong
note.
- Source:
Returns:
returns true if the original note is still loaded, false if user switched to another
- Type
- boolean
onNoteChange(func)
Parameters:
Name | Type | Description |
---|---|---|
func |
function | callback called on note change as user is typing (not necessarily tied to save event) |
- Source:
parseDate(str) → {Date}
Parameters:
Name | Type | Description |
---|---|---|
str |
string |
- Source:
Returns:
parsed object
- Type
- Date
protectActiveNote()
- Source:
refreshActiveTab() → {Promise.<void>}
Refresh active tab
- Source:
Returns:
- Type
- Promise.<void>
refreshAllTabs() → {Promise.<void>}
Refresh current tab
- Source:
Returns:
- Type
- Promise.<void>
refreshTree() → {Promise.<void>}
Refresh tree
- Source:
Returns:
- Type
- Promise.<void>
reloadNotes(noteIds)
Update frontend tree (note) cache from the backend.
Parameters:
Name | Type | Description |
---|---|---|
noteIds |
Array.<string> |
- Source:
runOnBackend(script, params) → {Promise.<*>}
Executes given anonymous function on the backend.
Internally this serializes the anonymous function into string and sends it to backend via AJAX.
Parameters:
Name | Type | Description |
---|---|---|
script |
string | script to be executed on the backend |
params |
Array.<?> | list of parameters to the anonymous function to be send to backend |
- Source:
Returns:
return value of the executed function on the backend
- Type
- Promise.<*>
runOnServer()
- Deprecated:
- new name of this API call is runOnBackend so use that
- Source:
searchForNote(searchString) → {Promise.<(NoteShort|null)>}
This is a powerful search method - you can search by attributes and their values, e.g.:
"@dateModified =* MONTH AND @log". See full documentation for all options at: https://github.com/zadam/trilium/wiki/Search
Parameters:
Name | Type | Description |
---|---|---|
searchString |
string |
- Source:
Returns:
- Type
- Promise.<(NoteShort|null)>
searchForNotes(searchString) → {Promise.<Array.<NoteShort>>}
This is a powerful search method - you can search by attributes and their values, e.g.:
"@dateModified =* MONTH AND @log". See full documentation for all options at: https://github.com/zadam/trilium/wiki/Search
Parameters:
Name | Type | Description |
---|---|---|
searchString |
string |
- Source:
Returns:
- Type
- Promise.<Array.<NoteShort>>
setHoistedNoteId(noteId) → {Promise}
Hoist note. See https://github.com/zadam/trilium/wiki/Note-hoisting
Parameters:
Name | Type | Description |
---|---|---|
noteId |
string | set hoisted note. 'root' will effectively unhoist |
- Source:
Returns:
- Type
- Promise
setupElementTooltip($el)
Parameters:
Name | Type | Description |
---|---|---|
$el |
object | jquery object on which to setup the tooltip |
- Source:
showError(message)
Show error message to the user.
Parameters:
Name | Type | Description |
---|---|---|
message |
string |
- Source:
showMessage(message)
Show info message to the user.
Parameters:
Name | Type | Description |
---|---|---|
message |
string |
- Source:
waitUntilSynced()
Trilium runs in backend and frontend process, when something is changed on the backend from script,
frontend will get asynchronously synchronized.
This method returns a promise which resolves once all the backend -> frontend synchronization is finished.
Typical use case is when new note has been created, we should wait until it is synced into frontend and only then activate it.
- Source: