- Source:
Members
$container
Properties:
Name | Type | Description |
---|---|---|
container |
jQuery | of all the rendered script content |
- Source:
BasicWidget
Properties:
Type | Description |
---|---|
BasicWidget |
- Source:
CollapsibleWidget
Properties:
Type | Description |
---|---|
CollapsibleWidget |
- Source:
NoteContextAwareWidget
Properties:
Type | Description |
---|---|
NoteContextAwareWidget |
- 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:
startNote
Properties:
Name | Type | Description |
---|---|---|
note |
object | where script started executing |
- 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 a new launcher to the launchbar. If the launcher (id) already exists, it will be updated.
Parameters:
Name | Type | Description |
---|---|---|
opts |
AddButtonToToolbarOptions |
- Deprecated:
- you can now create/modify launchers in the top-left Menu -> Configure Launchbar for special needs there's also backend API's createOrUpdateLauncher()
- Source:
addTextToActiveContextEditor(text)
Adds given text to the editor cursor
Parameters:
Name | Type | Description |
---|---|---|
text |
string | this must be clear text, HTML is not supported. |
- Source:
addTextToActiveTabEditor(text)
Adds given text to the editor cursor
Parameters:
Name | Type | Description |
---|---|---|
text |
string | this must be clear text, HTML is not supported. |
- Deprecated:
- use addTextToActiveContextEditor() instead
- Source:
bindGlobalShortcut(keyboardShortcut, handler, namespaceopt)
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
keyboardShortcut |
string | e.g. "ctrl+shift+a" | |
handler |
function | ||
namespace |
string |
<optional> |
specify namespace of the handler for the cases where call for bind may be repeated. If a handler with this ID exists, it's replaced by the new handler. |
- Source:
createNoteLink(notePath, paramsopt)
Create note link (jQuery object) for given note.
Parameters:
Name | Type | Attributes | Description | |||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
notePath |
string | (or noteId) | ||||||||||||||||||||||||||
params |
object |
<optional> |
Properties
|
- Source:
formatDateISO(date) → {string}
Parameters:
Name | Type | Description |
---|---|---|
date |
Date |
- Source:
Returns:
date in YYYY-MM-DD format
- Type
- string
getActiveContextCodeEditor() → {Promise.<CodeMirror>}
See https://codemirror.net/doc/manual.html#api
- Source:
Returns:
instance of CodeMirror
- Type
- Promise.<CodeMirror>
getActiveContextNote() → {NoteShort}
- Source:
Returns:
active note (loaded into right pane)
- Type
- NoteShort
getActiveContextNotePath() → {Promise.<(string|null)>}
- Source:
Returns:
returns note path of active note or null if there isn't active note
- Type
- Promise.<(string|null)>
getActiveContextTextEditor() → {Promise.<CKEditor>}
See https://ckeditor.com/docs/ckeditor5/latest/api/module_core_editor_editor-Editor.html for a documentation on the returned instance.
- Source:
Returns:
instance of CKEditor
- Type
- Promise.<CKEditor>
getActiveNoteDetailWidget() → {Promise.<NoteDetailWidget>}
Get access to the widget handling note detail. Methods like `getWidgetType()` and `getTypeWidget()` to get to the
implementation of actual widget type.
- Source:
Returns:
- Type
- Promise.<NoteDetailWidget>
getActiveTabNote() → {NoteShort}
- Deprecated:
- use getActiveContextNote() instead
- Source:
Returns:
active note (loaded into right pane)
- Type
- NoteShort
getActiveTabNotePath() → {Promise.<(string|null)>}
- Deprecated:
- use getActiveContextNotePath() instead
- Source:
Returns:
returns note path of active note or null if there isn't active note
- Type
- Promise.<(string|null)>
getActiveTabTextEditor(callbackopt)
See https://ckeditor.com/docs/ckeditor5/latest/api/module_core_editor_editor-Editor.html for a documentation on the returned instance.
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
callback |
<optional> |
callback receiving "textEditor" instance |
- Deprecated:
- use getActiveContextTextEditor()
- Source:
getComponentByEl(el) → {Component}
Returns component which owns given DOM element (the nearest parent component in DOM tree)
Parameters:
Name | Type | Description |
---|---|---|
el |
Element | DOM element |
- Source:
Returns:
- Type
- Component
getDateNote(date) → {Promise.<NoteShort>}
Returns day note for a given date. If it doesn't exist, it is automatically created.
Parameters:
Name | Type | Description |
---|---|---|
date |
string | e.g. "2019-04-29" |
- Deprecated:
- use getDayNote instead
- Source:
Returns:
- Type
- Promise.<NoteShort>
getDayNote(date) → {Promise.<NoteShort>}
Returns day note for a given date. 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>
getWeekNote(date) → {Promise.<NoteShort>}
Returns day note for the first date of the week of the given date. 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>
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>
log(message)
Log given message to the log pane in UI
Parameters:
Name | Type | Description |
---|---|---|
message |
- Source:
openSplitWithNote(notePath, activate) → {Promise.<void>}
Open a note in a new split.
Parameters:
Name | Type | Description |
---|---|---|
notePath |
string | (or noteId) |
activate |
boolean | set to true to activate the new split, false to stay on the current split |
- Source:
Returns:
- Type
- Promise.<void>
openTabWithNote(notePath, activate) → {Promise.<void>}
Open a note in a new tab.
Parameters:
Name | Type | Description |
---|---|---|
notePath |
string | (or noteId) |
activate |
boolean | set to true to activate the new tab, false to stay on the current tab |
- Source:
Returns:
- Type
- Promise.<void>
parseDate(str) → {Date}
Parameters:
Name | Type | Description |
---|---|---|
str |
string |
- Source:
Returns:
parsed object
- Type
- Date
protectActiveNote()
- Deprecated:
- use protectNote and protectSubtree instead
- Source:
protectNote(noteId, protect)
Parameters:
Name | Type | Description |
---|---|---|
noteId |
string | |
protect |
boolean | true to protect note, false to unprotect |
- Source:
protectSubTree(noteId, protect)
Parameters:
Name | Type | Description |
---|---|---|
noteId |
string | |
protect |
boolean | true to protect subtree, false to unprotect |
- Source:
randomString(length) → {string}
Return randomly generated string of given length. This random string generation is NOT cryptographically secure.
Parameters:
Name | Type | Description |
---|---|---|
length |
number | of the string |
- Source:
Returns:
random string
- Type
- string
refreshIncludedNote(includedNoteId)
This will refresh all currently opened notes which have included note specified in the parameter
Parameters:
Name | Type | Description |
---|---|---|
includedNoteId |
noteId of the included note |
- Source:
refreshTree()
- Deprecated:
- - this is now no-op since all the changes should be gracefully handled per widget
- Source:
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 in the current tab. 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:
triggerCommand(name, data)
Trigger command.
Parameters:
Name | Type | Description |
---|---|---|
name |
string | |
data |
object |
- Source:
triggerEvent(name, data)
Trigger event.
Parameters:
Name | Type | Description |
---|---|---|
name |
string | |
data |
object |
- 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: