# JSDoc: Class: NoteShort

# Class: NoteShort

## NoteShort(froca, 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 Froca.

## Constructor

#### new NoteShort(froca, row)

##### Parameters:

Name | Type | Description
--- | --- | ---
`froca` | Froca |
`row` | Object.<string, Object> |

Source:
  - entities/note_short.js, line 25

### Members

#### attributes :Array.<string>

##### Type:

- Array.<string>

Source:
  - entities/note_short.js, line 34

#### children :Array.<string>

##### Type:

- Array.<string>

Source:
  - entities/note_short.js, line 42

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

##### Type:

- Object.<string, string>

Source:
  - entities/note_short.js, line 48

#### isDeleted

Source:
  - entities/note_short.js, line 65

#### isProtected

Source:
  - entities/note_short.js, line 59

#### mime

Source:
  - entities/note_short.js, line 63

#### noteId

Source:
  - entities/note_short.js, line 55

#### parents :Array.<string>

##### Type:

- Array.<string>

Source:
  - entities/note_short.js, line 40

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

##### Type:

- Object.<string, string>

Source:
  - entities/note_short.js, line 45

#### targetRelations :Array.<string>

##### Type:

- Array.<string>

Source:
  - entities/note_short.js, line 37

#### title

Source:
  - entities/note_short.js, line 57

#### type

Source:
  - entities/note_short.js, line 61

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

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

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

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

##### Returns:

Type
  Array.<Branch>

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

Source:
  - entities/note_short.js, line 128

##### Returns:

Type
  Array.<string>

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

Source:
  - entities/note_short.js, line 145

##### Returns:

Type
  Array.<Branch>

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

Source:
  - entities/note_short.js, line 183

##### Returns:

Type
  Array.<string>

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

Source:
  - entities/note_short.js, line 188

##### Returns:

Type
  Promise.<Array.<NoteShort>>

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

##### Parameters:

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

Source:
  - entities/note_short.js, line 526

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

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

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

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

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

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

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

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

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

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

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

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

##### Returns:

relation value if relation exists, null otherwise

Type
  string

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

Source:
  - entities/note_short.js, line 153

##### Returns:

Type
  Array.<string>

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

Source:
  - entities/note_short.js, line 158

##### Returns:

Type
  Array.<NoteShort>

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

##### Parameters:

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

Source:
  - entities/note_short.js, line 538

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

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

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

##### Returns:

Type
  Promise.<Array.<NoteShort>>

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

##### Parameters:

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

Source:
  - entities/note_short.js, line 562

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

##### Returns:

Type
  Array.<Attribute>

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

Get relations which target this note

Source:
  - entities/note_short.js, line 664

##### Returns:

Type
  Array.<NoteShort>

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

Source:
  - entities/note_short.js, line 592

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

##### Returns:

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

Type
  boolean

#### hasChildren() → {boolean}

Source:
  - entities/note_short.js, line 140

##### Returns:

Type
  boolean

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

##### Parameters:

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

Source:
  - entities/note_short.js, line 502

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

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

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

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

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

#### isJson() → {boolean}

Source:
  - entities/note_short.js, line 103

##### Returns:

Type
  boolean