Constructor
new Note(row)
Parameters:
| Name | Type | Description | 
|---|---|---|
| row | object containing database row from "notes" table | 
Properties:
| Name | Type | Description | 
|---|---|---|
| noteId | string | primary key | 
| type | string | one of "text", "code", "file" or "render" | 
| mime | string | MIME type, e.g. "text/html" | 
| title | string | note title | 
| isProtected | boolean | true if note is protected | 
| isDeleted | boolean | true if note is deleted | 
| deleteId | string | null | ID identifying delete transaction | 
| isErased | boolean | true if note's content is erased after it has been deleted | 
| dateCreated | string | local date time (with offset) | 
| dateModified | string | local date time (with offset) | 
| utcDateCreated | string | |
| utcDateModified | string | 
- Source:
Extends
Methods
addAttribute() → {Attribute}
- Source:
Returns:
- Type
- Attribute
getAllNotePaths() → {Array.<Array.<string>>}
- Source:
Returns:
    - array of notePaths (each represented by array of noteIds constituting the particular note path)
- Type
- Array.<Array.<string>>
getAttribute(type, name) → {Attribute}
Parameters:
| Name | Type | Description | 
|---|---|---|
| type | string | attribute type (label, relation, etc.) | 
| name | string | attribute name | 
- Source:
Returns:
    attribute of given type and name. If there's more such attributes, first is  returned. Returns null if there's no such attribute belonging to this note.
- Type
- Attribute
getAttributes(typeopt, nameopt) → {Array.<Attribute>}
Parameters:
| Name | Type | Attributes | Description | 
|---|---|---|---|
| type | string | <optional> | (optional) attribute type to filter | 
| name | string | <optional> | (optional) attribute name to filter | 
- Source:
Returns:
    all note's attributes, including inherited ones
- Type
- Array.<Attribute>
getAttributeValue(type, name) → {string|null}
Parameters:
| Name | Type | Description | 
|---|---|---|
| type | string | attribute type (label, relation, etc.) | 
| name | string | attribute name | 
- Source:
Returns:
    attribute value of given type and name or null if no such attribute exists.
- Type
- string | null
getBranches() → {Array.<Branch>}
- Source:
Returns:
- Type
- Array.<Branch>
getChildBranches() → {Array.<Branch>}
- Source:
Returns:
    child branches of this note
- Type
- Array.<Branch>
getChildNotes() → {Array.<Note>}
- Source:
Returns:
    child notes of this note
- Type
- Array.<Note>
getContent() → {*}
- Source:
Returns:
- Type
- *
getContentMetadata() → {Object}
- Source:
Returns:
- Type
- Object
getDescendantNoteIds() → {Array.<string>}
- Source:
Returns:
    return list of all descendant noteIds of this note. Returning just noteIds because number of notes can be huge. Includes also this note's noteId
- Type
- Array.<string>
getDescendantNotesWithAttribute(type, name, valueopt) → {Array.<Note>}
    Finds descendant notes with given attribute name and value. Only own attributes are considered, not inherited ones
    Parameters:
| Name | Type | Attributes | Description | 
|---|---|---|---|
| type | string | attribute type (label, relation, etc.) | |
| name | string | attribute name | |
| value | string | <optional> | attribute value | 
- Source:
Returns:
- Type
- Array.<Note>
getDescendantNotesWithLabel(name, valueopt) → {Array.<Note>}
    Finds descendant notes with given label name and value. Only own labels are considered, not inherited ones
    Parameters:
| Name | Type | Attributes | Description | 
|---|---|---|---|
| name | string | label name | |
| value | string | <optional> | label value | 
- Source:
Returns:
- Type
- Array.<Note>
getDescendantNotesWithRelation(name, valueopt) → {Array.<Note>}
    Finds descendant notes with given relation name and value. Only own relations are considered, not inherited ones
    Parameters:
| Name | Type | Attributes | Description | 
|---|---|---|---|
| name | string | relation name | |
| value | string | <optional> | relation value | 
- Source:
Returns:
- Type
- Array.<Note>
getJsonContent() → {*}
- Source:
Returns:
- Type
- *
getLabel(name) → {Attribute|null}
Parameters:
| Name | Type | Description | 
|---|---|---|
| name | string | label name | 
- Source:
Returns:
    label if it exists, null otherwise
- Type
- Attribute | null
getLabels(nameopt) → {Array.<Attribute>}
Parameters:
| Name | Type | Attributes | Description | 
|---|---|---|---|
| name | string | <optional> | label name to filter | 
- Source:
Returns:
    all note's labels (attributes with type label), including inherited ones
- Type
- Array.<Attribute>
getLabelValue(name) → {string|null}
Parameters:
| Name | Type | Description | 
|---|---|---|
| name | string | label name | 
- Source:
Returns:
    label value if label exists, null otherwise
- Type
- string | null
getLinks() → {Array.<Attribute>}
    Get list of links coming out of this note.
- Deprecated:
- - not intended for general use
 
- Source:
Returns:
- Type
- Array.<Attribute>
getOwnedAttribute() → {Attribute}
- Source:
Returns:
    attribute belonging to this specific note (excludes inherited attributes)
This method can be significantly faster than the getAttribute()
- Type
- Attribute
getOwnedAttributes(typeopt, nameopt) → {Array.<Attribute>}
    This method is a faster variant of getAttributes() which looks for only owned attributes.
Use when inheritance is not needed and/or in batch/performance sensitive operations.
    Parameters:
| Name | Type | Attributes | Description | 
|---|---|---|---|
| type | string | <optional> | (optional) attribute type to filter | 
| name | string | <optional> | (optional) attribute name to filter | 
- Source:
Returns:
    note's "owned" attributes - excluding inherited ones
- Type
- Array.<Attribute>
getOwnedAttributeValue(type, name) → {string|null}
Parameters:
| Name | Type | Description | 
|---|---|---|
| type | string | attribute type (label, relation, etc.) | 
| name | string | attribute name | 
- Source:
Returns:
    attribute value of given type and name or null if no such attribute exists.
- Type
- string | null
getOwnedLabel(name) → {Attribute|null}
Parameters:
| Name | Type | Description | 
|---|---|---|
| name | string | label name | 
- Source:
Returns:
    label if it exists, null otherwise
- Type
- Attribute | null
getOwnedLabels(nameopt) → {Array.<Attribute>}
Parameters:
| Name | Type | Attributes | Description | 
|---|---|---|---|
| name | string | <optional> | label name to filter | 
- Source:
Returns:
    all note's labels (attributes with type label), excluding inherited ones
- Type
- Array.<Attribute>
getOwnedLabelValue(name) → {string|null}
Parameters:
| Name | Type | Description | 
|---|---|---|
| name | string | label name | 
- Source:
Returns:
    label value if label exists, null otherwise
- Type
- string | null
getOwnedRelation(name) → {Attribute|null}
Parameters:
| Name | Type | Description | 
|---|---|---|
| name | string | relation name | 
- Source:
Returns:
    relation if it exists, null otherwise
- Type
- Attribute | null
getOwnedRelations(nameopt) → {Array.<Attribute>}
Parameters:
| Name | Type | Attributes | Description | 
|---|---|---|---|
| name | string | <optional> | relation name to filter | 
- Source:
Returns:
    all note's relations (attributes with type relation), excluding inherited ones
- Type
- Array.<Attribute>
getOwnedRelationTarget(name) → {Note|null}
Parameters:
| Name | Type | Description | 
|---|---|---|
| name | string | 
- Source:
Returns:
    target note of the relation or null (if target is empty or note was not found)
- Type
- Note | null
getOwnedRelationValue(name) → {string|null}
Parameters:
| Name | Type | Description | 
|---|---|---|
| name | string | relation name | 
- Source:
Returns:
    relation value if relation exists, null otherwise
- Type
- string | null
getParentNotes() → {Array.<Note>}
- Source:
Returns:
    parent notes of this note (note can have multiple parents because of cloning)
- Type
- Array.<Note>
getRelation(name) → {Attribute|null}
Parameters:
| Name | Type | Description | 
|---|---|---|
| name | string | relation name | 
- Source:
Returns:
    relation if it exists, null otherwise
- Type
- Attribute | null
getRelations(nameopt) → {Array.<Attribute>}
Parameters:
| Name | Type | Attributes | Description | 
|---|---|---|---|
| name | string | <optional> | relation name to filter | 
- Source:
Returns:
    all note's relations (attributes with type relation), including inherited ones
- Type
- Array.<Attribute>
getRelationTarget(name) → {Note|null}
Parameters:
| Name | Type | Description | 
|---|---|---|
| name | string | 
- Source:
Returns:
    target note of the relation or null (if target is empty or note was not found)
- Type
- Note | null
getRelationTargets(nameopt) → {Array.<Note>}
Parameters:
| Name | Type | Attributes | Description | 
|---|---|---|---|
| name | string | <optional> | relation name to filter | 
- Source:
Returns:
- Type
- Array.<Note>
getRelationValue(name) → {string|null}
Parameters:
| Name | Type | Description | 
|---|---|---|
| name | string | relation name | 
- Source:
Returns:
    relation value if relation exists, null otherwise
- Type
- string | null
getRevisions() → {Array.<NoteRevision>}
    Returns note revisions of this note.
- Source:
Returns:
- Type
- Array.<NoteRevision>
getScriptEnv() → {string}
- Source:
Returns:
    JS script environment - either "frontend" or "backend"
- Type
- string
getTargetRelations() → {Array.<Attribute>}
- Source:
Returns:
    relations targetting this specific note
- Type
- Array.<Attribute>
hasAttribute(type, name) → {boolean}
Parameters:
| Name | Type | Description | 
|---|---|---|
| type | string | attribute type (label, relation, etc.) | 
| name | string | attribute name | 
- Source:
Returns:
    true if note has an attribute with given type and name (including inherited)
- Type
- boolean
hasChildren() → {boolean}
- Source:
Returns:
    - true if note has children
- Type
- boolean
hasLabel(name) → {boolean}
Parameters:
| Name | Type | Description | 
|---|---|---|
| name | string | label name | 
- Source:
Returns:
    true if label exists (including inherited)
- Type
- boolean
hasOwnedAttribute(type, name) → {boolean}
Parameters:
| Name | Type | Description | 
|---|---|---|
| type | string | attribute type (label, relation, etc.) | 
| name | string | attribute name | 
- Source:
Returns:
    true if note has an attribute with given type and name (excluding inherited)
- Type
- boolean
hasOwnedLabel(name) → {boolean}
Parameters:
| Name | Type | Description | 
|---|---|---|
| name | string | label name | 
- Source:
Returns:
    true if label exists (excluding inherited)
- Type
- boolean
hasOwnedRelation(name) → {boolean}
Parameters:
| Name | Type | Description | 
|---|---|---|
| name | string | relation name | 
- Source:
Returns:
    true if relation exists (excluding inherited)
- Type
- boolean
hasRelation(name) → {boolean}
Parameters:
| Name | Type | Description | 
|---|---|---|
| name | string | relation name | 
- Source:
Returns:
    true if relation exists (including inherited)
- Type
- boolean
invalidateAttributeCache()
    Clear note's attributes cache to force fresh reload for next attribute request.
Cache is note instance scoped.
- Source:
isDescendantOfNote(ancestorNoteId) → {boolean}
Parameters:
| Name | Type | Description | 
|---|---|---|
| ancestorNoteId | 
- Source:
Returns:
    - true if ancestorNoteId occurs in at least one of the note's paths
- Type
- boolean
isHtml() → {boolean}
- Source:
Returns:
    true if this note is HTML
- Type
- boolean
isJavaScript() → {boolean}
- Source:
Returns:
    true if this note is JavaScript (code or attachment)
- Type
- boolean
isJson() → {boolean}
- Source:
Returns:
    true if this note is of application/json content type
- Type
- boolean
isRoot() → {boolean}
- Source:
Returns:
    true if this note is the root of the note tree. Root note has "root" noteId
- Type
- boolean
isStringNote() → {boolean}
- Source:
Returns:
    true if the note has string content (not binary)
- Type
- boolean
removeAttribute(type, name, valueopt)
    Removes given attribute name-value pair if it exists.
    Parameters:
| Name | Type | Attributes | Description | 
|---|---|---|---|
| type | string | attribute type (label, relation, etc.) | |
| name | string | attribute name | |
| value | string | <optional> | attribute value (optional) | 
- Source:
removeLabel(name, valueopt)
    Remove label name-value pair, if it exists.
    Parameters:
| Name | Type | Attributes | Description | 
|---|---|---|---|
| name | string | label name | |
| value | string | <optional> | label value | 
- Source:
removeRelation(name, valueopt)
    Remove relation name-value pair, if it exists.
    Parameters:
| Name | Type | Attributes | Description | 
|---|---|---|---|
| name | string | relation name | |
| value | string | <optional> | relation value (noteId) | 
- Source:
setAttribute(type, name, valueopt)
    Update's given attribute's value or creates it if it doesn't exist
    Parameters:
| Name | Type | Attributes | Description | 
|---|---|---|---|
| type | string | attribute type (label, relation, etc.) | |
| name | string | attribute name | |
| value | string | <optional> | attribute value (optional) | 
- Source:
setLabel(name, valueopt)
    Update's given label's value or creates it if it doesn't exist
    Parameters:
| Name | Type | Attributes | Description | 
|---|---|---|---|
| name | string | label name | |
| value | string | <optional> | label value | 
- Source:
setRelation(name, valueopt)
    Update's given relation's value or creates it if it doesn't exist
    Parameters:
| Name | Type | Attributes | Description | 
|---|---|---|---|
| name | string | relation name | |
| value | string | <optional> | relation value (noteId) | 
- Source:
toggleAttribute(type, enabled, name, valueopt)
    Based on enabled, attribute is either set or removed.
    Parameters:
| Name | Type | Attributes | Description | 
|---|---|---|---|
| type | string | attribute type ('relation', 'label' etc.) | |
| enabled | boolean | toggle On or Off | |
| name | string | attribute name | |
| value | string | <optional> | attribute value (optional) | 
- Source:
toggleLabel(enabled, name, valueopt)
    Based on enabled, label is either set or removed.
    Parameters:
| Name | Type | Attributes | Description | 
|---|---|---|---|
| enabled | boolean | toggle On or Off | |
| name | string | label name | |
| value | string | <optional> | label value (optional) | 
- Source:
toggleRelation(enabled, name, valueopt)
    Based on enabled, relation is either set or removed.
    Parameters:
| Name | Type | Attributes | Description | 
|---|---|---|---|
| enabled | boolean | toggle On or Off | |
| name | string | relation name | |
| value | string | <optional> | relation value (noteId) | 
- Source: