# JSDoc: Class: NoteShort

# Class: NoteShort

## NoteShort(treeCache, row)

FIXME: since there's no "full note" anymore we can rename this to Note This note's representation is used in note tree and is kept in TreeCache.

## Constructor

#### new NoteShort(treeCache, row)

##### Parameters:

Name | Type | Description
--- | --- | ---
`treeCache` | TreeCache |
`row` | Object.<string, Object> |

Source:
  - entities/note_short.js, line 13

### Members

#### attributes :Array.<string>

##### Type:

- Array.<string>

Source:
  - entities/note_short.js, line 22

#### children :Array.<string>

##### Type:

- Array.<string>

Source:
  - entities/note_short.js, line 30

#### childToBranch :Object.<string, string>

##### Type:

- Object.<string, string>

Source:
  - entities/note_short.js, line 36

#### isDeleted

Source:
  - entities/note_short.js, line 53

#### isProtected

Source:
  - entities/note_short.js, line 47

#### mime

Source:
  - entities/note_short.js, line 51

#### noteId

Source:
  - entities/note_short.js, line 43

#### parents :Array.<string>

##### Type:

- Array.<string>

Source:
  - entities/note_short.js, line 28

#### parentToBranch :Object.<string, string>

##### Type:

- Object.<string, string>

Source:
  - entities/note_short.js, line 33

#### targetRelations :Array.<string>

##### Type:

- Array.<string>

Source:
  - entities/note_short.js, line 25

#### title

Source:
  - entities/note_short.js, line 45

#### type

Source:
  - entities/note_short.js, line 49

### Methods

#### getAttribute(type, name) → {Attribute}

##### Parameters:

Name | Type | Description
--- | --- | ---
`type` | string | attribute type (label, relation, etc.)
`name` | string | attribute name

Source:
  - entities/note_short.js, line 307

##### 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:
  - entities/note_short.js, line 176

##### Returns:

all note's attributes, including inherited ones

Type
  Array.<Attribute>

#### getAttributeValue(type, name) → {string}

##### Parameters:

Name | Type | Description
--- | --- | ---
`type` | string | attribute type (label, relation, etc.)
`name` | string | attribute name

Source:
  - entities/note_short.js, line 329

##### Returns:

attribute value of given type and name or null if no such attribute exists.

Type
  string

#### getBranches() → {Array.<Branch>}

Source:
  - entities/note_short.js, line 119

##### Returns:

Type
  Array.<Branch>

#### getBranchIds() → {Array.<string>}

Source:
  - entities/note_short.js, line 114

##### Returns:

Type
  Array.<string>

#### getChildBranches() → {Array.<Branch>}

Source:
  - entities/note_short.js, line 131

##### Returns:

Type
  Array.<Branch>

#### getChildNoteIds() → {Array.<string>}

Source:
  - entities/note_short.js, line 149

##### Returns:

Type
  Array.<string>

#### (async) getChildNotes() → {Promise.<Array.<NoteShort>>}

Source:
  - entities/note_short.js, line 154

##### Returns:

Type
  Promise.<Array.<NoteShort>>

#### getLabel(name) → {Attribute}

##### Parameters:

Name | Type | Description
--- | --- | ---
`name` | string | label name

Source:
  - entities/note_short.js, line 369

##### Returns:

label if it exists, null otherwise

Type
  Attribute

#### getLabels(nameopt) → {Array.<Attribute>}

##### Parameters:

Name | Type | Attributes | Description
--- | --- | --- | ---
`name` | string | <optional> | label name to filter

Source:
  - entities/note_short.js, line 253

##### Returns:

all note's labels (attributes with type label), including inherited ones

Type
  Array.<Attribute>

#### getLabelValue(name) → {string}

##### Parameters:

Name | Type | Description
--- | --- | ---
`name` | string | label name

Source:
  - entities/note_short.js, line 393

##### Returns:

label value if label exists, null otherwise

Type
  string

#### (async) getNoteComplement() → {Promise.<NoteComplement>}

Return note complement which is most importantly note's content

Source:
  - entities/note_short.js, line 495

##### Returns:

Type
  Promise.<NoteComplement>

#### getOwnedAttribute(type, name) → {Attribute}

##### Parameters:

Name | Type | Description
--- | --- | ---
`type` | string | attribute type (label, relation, etc.)
`name` | string | attribute name

Source:
  - entities/note_short.js, line 296

##### 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

#### getOwnedAttributes(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:
  - entities/note_short.js, line 163

##### Returns:

all note's attributes, including inherited ones

Type
  Array.<Attribute>

#### getOwnedAttributeValue(type, name) → {string}

##### Parameters:

Name | Type | Description
--- | --- | ---
`type` | string | attribute type (label, relation, etc.)
`name` | string | attribute name

Source:
  - entities/note_short.js, line 318

##### Returns:

attribute value of given type and name or null if no such attribute exists.

Type
  string

#### getOwnedLabel(name) → {Attribute}

##### Parameters:

Name | Type | Description
--- | --- | ---
`name` | string | label name

Source:
  - entities/note_short.js, line 363

##### Returns:

label if it exists, null otherwise

Type
  Attribute

#### getOwnedLabels(nameopt) → {Array.<Attribute>}

##### Parameters:

Name | Type | Attributes | Description
--- | --- | --- | ---
`name` | string | <optional> | label name to filter

Source:
  - entities/note_short.js, line 245

##### Returns:

all note's labels (attributes with type label), including inherited ones

Type
  Array.<Attribute>

#### getOwnedLabelValue(name) → {string}

##### Parameters:

Name | Type | Description
--- | --- | ---
`name` | string | label name

Source:
  - entities/note_short.js, line 387

##### Returns:

label value if label exists, null otherwise

Type
  string

#### getOwnedRelation(name) → {Attribute}

##### Parameters:

Name | Type | Description
--- | --- | ---
`name` | string | relation name

Source:
  - entities/note_short.js, line 375

##### Returns:

relation if it exists, null otherwise

Type
  Attribute

#### getOwnedRelations(nameopt) → {Array.<Attribute>}

##### Parameters:

Name | Type | Attributes | Description
--- | --- | --- | ---
`name` | string | <optional> | relation name to filter

Source:
  - entities/note_short.js, line 261

##### Returns:

all note's relations (attributes with type relation), including inherited ones

Type
  Array.<Attribute>

#### getOwnedRelationValue(name) → {string}

##### Parameters:

Name | Type | Description
--- | --- | ---
`name` | string | relation name

Source:
  - entities/note_short.js, line 399

##### Returns:

relation value if relation exists, null otherwise

Type
  string

#### getParentNoteIds() → {Array.<string>}

Source:
  - entities/note_short.js, line 139

##### Returns:

Type
  Array.<string>

#### getParentNotes() → {Array.<NoteShort>}

Source:
  - entities/note_short.js, line 144

##### Returns:

Type
  Array.<NoteShort>

#### getRelation(name) → {Attribute}

##### Parameters:

Name | Type | Description
--- | --- | ---
`name` | string | relation name

Source:
  - entities/note_short.js, line 381

##### Returns:

relation if it exists, null otherwise

Type
  Attribute

#### getRelations(nameopt) → {Array.<Attribute>}

##### Parameters:

Name | Type | Attributes | Description
--- | --- | --- | ---
`name` | string | <optional> | relation name to filter

Source:
  - entities/note_short.js, line 269

##### Returns:

all note's relations (attributes with type relation), including inherited ones

Type
  Array.<Attribute>

#### (async) getRelationTarget(name) → {Promise.<NoteShort>|null}

##### Parameters:

Name | Type | Description
--- | --- | ---
`name` | string |

Source:
  - entities/note_short.js, line 411

##### Returns:

target note of the relation or null (if target is empty or note was not found)

Type
  Promise.<NoteShort> | null

#### (async) getRelationTargets(nameopt) → {Promise.<Array.<NoteShort>>}

##### Parameters:

Name | Type | Attributes | Description
--- | --- | --- | ---
`name` | string | <optional> | relation name to filter

Source:
  - entities/note_short.js, line 421

##### Returns:

Type
  Promise.<Array.<NoteShort>>

#### getRelationValue(name) → {string}

##### Parameters:

Name | Type | Description
--- | --- | ---
`name` | string | relation name

Source:
  - entities/note_short.js, line 405

##### Returns:

relation value if relation exists, null otherwise

Type
  string

#### getTargetRelations() → {Array.<Attribute>}

Get relations which target this note

Source:
  - entities/note_short.js, line 474

##### Returns:

Type
  Array.<Attribute>

#### (async) getTargetRelationSourceNotes() → {Array.<NoteShort>}

Get relations which target this note

Source:
  - entities/note_short.js, line 484

##### Returns:

Type
  Array.<NoteShort>

#### getTemplateNotes() → {Array.<NoteShort>}

Source:
  - entities/note_short.js, line 435

##### Returns:

Type
  Array.<NoteShort>

#### hasAttribute(type, name) → {boolean}

##### Parameters:

Name | Type | Description
--- | --- | ---
`type` | string | attribute type (label, relation, etc.)
`name` | string | attribute name

Source:
  - entities/note_short.js, line 278

##### Returns:

true if note has an attribute with given type and name (including inherited)

Type
  boolean

#### hasChildren() → {boolean}

Source:
  - entities/note_short.js, line 126

##### Returns:

Type
  boolean

#### hasLabel(name) → {boolean}

##### Parameters:

Name | Type | Description
--- | --- | ---
`name` | string | label name

Source:
  - entities/note_short.js, line 345

##### 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:
  - entities/note_short.js, line 287

##### Returns:

true if note has an attribute with given type and name (including inherited)

Type
  boolean

#### hasOwnedLabel(name) → {boolean}

##### Parameters:

Name | Type | Description
--- | --- | ---
`name` | string | label name

Source:
  - entities/note_short.js, line 339

##### Returns:

true if label exists (excluding inherited)

Type
  boolean

#### hasOwnedRelation(name) → {boolean}

##### Parameters:

Name | Type | Description
--- | --- | ---
`name` | string | relation name

Source:
  - entities/note_short.js, line 351

##### Returns:

true if relation exists (excluding inherited)

Type
  boolean

#### hasRelation(name) → {boolean}

##### Parameters:

Name | Type | Description
--- | --- | ---
`name` | string | relation name

Source:
  - entities/note_short.js, line 357

##### 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:
  - entities/note_short.js, line 465

#### isJson() → {boolean}

Source:
  - entities/note_short.js, line 89

##### Returns:

Type
  boolean