- 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()
- Deprecated:
- this API has no effect anymore. Use bookmarks or launchpad shortcuts instead.
 
- 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)
Parameters:
| Name | Type | Description | 
|---|---|---|
| keyboardShortcut | string | e.g. "ctrl+shift+a" | 
| handler | function | 
- 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: