mirror of
				https://github.com/zadam/trilium.git
				synced 2025-11-04 05:28:59 +01:00 
			
		
		
		
	Merge remote-tracking branch 'upstream/master' into share
This commit is contained in:
		
						commit
						a3540772dd
					
				
							
								
								
									
										0
									
								
								bin/create-anonymization-script.js
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										0
									
								
								bin/create-anonymization-script.js
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							@ -1,169 +1,47 @@
 | 
			
		||||
 | 
			
		||||
UPDATE etapi_tokens SET tokenHash = 'API token hash value';
 | 
			
		||||
UPDATE notes SET title = 'title' WHERE noteId != 'root' AND noteId NOT LIKE '\_%' ESCAPE '\';
 | 
			
		||||
UPDATE notes SET title = 'title' WHERE title NOT IN ('root', '_hidden', '_share');
 | 
			
		||||
UPDATE blobs SET content = 'text' WHERE content IS NOT NULL;
 | 
			
		||||
UPDATE revisions SET title = 'title';
 | 
			
		||||
 | 
			
		||||
UPDATE attributes SET name = 'name', value = 'value'
 | 
			
		||||
                  WHERE type = 'label'
 | 
			
		||||
                    AND name NOT IN ('inbox',
 | 
			
		||||
                                     'disableVersioning',
 | 
			
		||||
                                     'calendarRoot',
 | 
			
		||||
                                     'archived',
 | 
			
		||||
                                     'excludeFromExport',
 | 
			
		||||
                                     'disableInclusion',
 | 
			
		||||
                                     'appCss',
 | 
			
		||||
                                     'appTheme',
 | 
			
		||||
                                     'hidePromotedAttributes',
 | 
			
		||||
                                     'readOnly',
 | 
			
		||||
                                     'autoReadOnlyDisabled',
 | 
			
		||||
                                     'cssClass',
 | 
			
		||||
                                     'iconClass',
 | 
			
		||||
                                     'keyboardShortcut',
 | 
			
		||||
                                     'run',
 | 
			
		||||
                                     'runOnInstance',
 | 
			
		||||
                                     'runAtHour',
 | 
			
		||||
                                     'customRequestHandler',
 | 
			
		||||
                                     'customResourceProvider',
 | 
			
		||||
                                     'widget',
 | 
			
		||||
                                     'noteInfoWidgetDisabled',
 | 
			
		||||
                                     'linkMapWidgetDisabled',
 | 
			
		||||
                                     'revisionsWidgetDisabled',
 | 
			
		||||
                                     'whatLinksHereWidgetDisabled',
 | 
			
		||||
                                     'similarNotesWidgetDisabled',
 | 
			
		||||
                                     'workspace',
 | 
			
		||||
                                     'workspaceIconClass',
 | 
			
		||||
                                     'workspaceTabBackgroundColor',
 | 
			
		||||
                                     'searchHome',
 | 
			
		||||
                                     'workspaceInbox',
 | 
			
		||||
                                     'workspaceSearchHome',
 | 
			
		||||
                                     'sqlConsoleHome',
 | 
			
		||||
                                     'datePattern',
 | 
			
		||||
                                     'pageSize',
 | 
			
		||||
                                     'viewType',
 | 
			
		||||
                                     'mapRootNoteId',
 | 
			
		||||
                                     'bookmarkFolder',
 | 
			
		||||
                                     'sorted',
 | 
			
		||||
                                     'top',
 | 
			
		||||
                                     'fullContentWidth',
 | 
			
		||||
                                     'shareHiddenFromTree',
 | 
			
		||||
                                     'shareExternalLink',
 | 
			
		||||
                                     'shareAlias',
 | 
			
		||||
                                     'shareOmitDefaultCss',
 | 
			
		||||
                                     'shareRoot',
 | 
			
		||||
                                     'internalLink',
 | 
			
		||||
                                     'imageLink',
 | 
			
		||||
                                     'relationMapLink',
 | 
			
		||||
                                     'includeMapLink',
 | 
			
		||||
                                     'runOnNoteCreation',
 | 
			
		||||
                                     'runOnNoteTitleChange',
 | 
			
		||||
                                     'runOnNoteContentChange',
 | 
			
		||||
                                     'runOnNoteChange',
 | 
			
		||||
                                     'runOnChildNoteCreation',
 | 
			
		||||
                                     'runOnAttributeCreation',
 | 
			
		||||
                                     'runOnAttributeChange',
 | 
			
		||||
                                     'template',
 | 
			
		||||
                                     'inherit',
 | 
			
		||||
                                     'widget',
 | 
			
		||||
                                     'renderNote',
 | 
			
		||||
                                     'shareCss',
 | 
			
		||||
                                     'shareJs',
 | 
			
		||||
                                     'shareTemplate',
 | 
			
		||||
                                     'shareFavicon',
 | 
			
		||||
                                     'executeButton',
 | 
			
		||||
                                     'keepCurrentHoisting',
 | 
			
		||||
                                     'color',
 | 
			
		||||
                                     'toc',
 | 
			
		||||
                                     'excludeFromNoteMap',
 | 
			
		||||
                                     'docName',
 | 
			
		||||
                                     'launcherType',
 | 
			
		||||
                                     'builtinWidget',
 | 
			
		||||
                                     'baseSize',
 | 
			
		||||
                                     'growthFactor'
 | 
			
		||||
                      );
 | 
			
		||||
 | 
			
		||||
UPDATE attributes SET name = 'name'
 | 
			
		||||
                    AND name NOT IN ('inbox',
 | 
			
		||||
                                     'disableVersioning',
 | 
			
		||||
                                     'calendarRoot',
 | 
			
		||||
                                     'archived',
 | 
			
		||||
                                     'excludeFromExport',
 | 
			
		||||
                                     'disableInclusion',
 | 
			
		||||
                                     'appCss',
 | 
			
		||||
                                     'appTheme',
 | 
			
		||||
                                     'hidePromotedAttributes',
 | 
			
		||||
                                     'readOnly',
 | 
			
		||||
                                     'autoReadOnlyDisabled',
 | 
			
		||||
                                     'cssClass',
 | 
			
		||||
                                     'iconClass',
 | 
			
		||||
                                     'keyboardShortcut',
 | 
			
		||||
                                     'run',
 | 
			
		||||
                                     'runOnInstance',
 | 
			
		||||
                                     'runAtHour',
 | 
			
		||||
                                     'customRequestHandler',
 | 
			
		||||
                                     'customResourceProvider',
 | 
			
		||||
                                     'widget',
 | 
			
		||||
                                     'noteInfoWidgetDisabled',
 | 
			
		||||
                                     'linkMapWidgetDisabled',
 | 
			
		||||
                                     'revisionsWidgetDisabled',
 | 
			
		||||
                                     'whatLinksHereWidgetDisabled',
 | 
			
		||||
                                     'similarNotesWidgetDisabled',
 | 
			
		||||
                                     'workspace',
 | 
			
		||||
                                     'workspaceIconClass',
 | 
			
		||||
                                     'workspaceTabBackgroundColor',
 | 
			
		||||
                                     'searchHome',
 | 
			
		||||
                                     'workspaceInbox',
 | 
			
		||||
                                     'workspaceSearchHome',
 | 
			
		||||
                                     'sqlConsoleHome',
 | 
			
		||||
                                     'datePattern',
 | 
			
		||||
                                     'pageSize',
 | 
			
		||||
                                     'viewType',
 | 
			
		||||
                                     'mapRootNoteId',
 | 
			
		||||
                                     'bookmarkFolder',
 | 
			
		||||
                                     'sorted',
 | 
			
		||||
                                     'top',
 | 
			
		||||
                                     'fullContentWidth',
 | 
			
		||||
                                     'shareHiddenFromTree',
 | 
			
		||||
                                     'shareExternalLink',
 | 
			
		||||
                                     'shareAlias',
 | 
			
		||||
                                     'shareOmitDefaultCss',
 | 
			
		||||
                                     'shareRoot',
 | 
			
		||||
                                     'internalLink',
 | 
			
		||||
                                     'imageLink',
 | 
			
		||||
                                     'relationMapLink',
 | 
			
		||||
                                     'includeMapLink',
 | 
			
		||||
                                     'runOnNoteCreation',
 | 
			
		||||
                                     'runOnNoteTitleChange',
 | 
			
		||||
                                     'runOnNoteContentChange',
 | 
			
		||||
                                     'runOnNoteChange',
 | 
			
		||||
                                     'runOnChildNoteCreation',
 | 
			
		||||
                                     'runOnAttributeCreation',
 | 
			
		||||
                                     'runOnAttributeChange',
 | 
			
		||||
                                     'template',
 | 
			
		||||
                                     'inherit',
 | 
			
		||||
                                     'widget',
 | 
			
		||||
                                     'renderNote',
 | 
			
		||||
                                     'shareCss',
 | 
			
		||||
                                     'shareJs',
 | 
			
		||||
                                     'shareTemplate',
 | 
			
		||||
                                     'shareFavicon',
 | 
			
		||||
                                     'executeButton',
 | 
			
		||||
                                     'keepCurrentHoisting',
 | 
			
		||||
                                     'color',
 | 
			
		||||
                                     'toc',
 | 
			
		||||
                                     'excludeFromNoteMap',
 | 
			
		||||
                                     'docName',
 | 
			
		||||
                                     'launcherType',
 | 
			
		||||
                                     'builtinWidget',
 | 
			
		||||
                                     'baseSize',
 | 
			
		||||
                                     'growthFactor'
 | 
			
		||||
                                    );
 | 
			
		||||
 | 
			
		||||
UPDATE attributes SET name  = 'name', value = 'value' WHERE type = 'label'
 | 
			
		||||
  AND name NOT IN
 | 
			
		||||
      ('inbox', 'disableVersioning', 'calendarRoot', 'archived', 'excludeFromExport', 'disableInclusion', 'appCss',
 | 
			
		||||
       'appTheme', 'hidePromotedAttributes', 'readOnly', 'autoReadOnlyDisabled', 'cssClass', 'iconClass',
 | 
			
		||||
       'keyboardShortcut', 'run', 'runOnInstance', 'runAtHour', 'customRequestHandler', 'customResourceProvider',
 | 
			
		||||
       'widget', 'noteInfoWidgetDisabled', 'linkMapWidgetDisabled', 'revisionsWidgetDisabled',
 | 
			
		||||
       'whatLinksHereWidgetDisabled', 'similarNotesWidgetDisabled', 'workspace', 'workspaceIconClass',
 | 
			
		||||
       'workspaceTabBackgroundColor', 'workspaceCalendarRoot', 'workspaceTemplate', 'searchHome', 'workspaceInbox',
 | 
			
		||||
       'workspaceSearchHome', 'sqlConsoleHome', 'datePattern', 'pageSize', 'viewType', 'mapRootNoteId',
 | 
			
		||||
       'bookmarkFolder', 'sorted', 'sortDirection', 'sortFoldersFirst', 'sortNatural', 'sortLocale', 'top',
 | 
			
		||||
       'fullContentWidth', 'shareHiddenFromTree', 'shareExternalLink', 'shareOmitDefaultCss', 'shareRoot', 'shareDescription',
 | 
			
		||||
       'shareRaw', 'shareDisallowRobotIndexing', 'shareIndex', 'displayRelations', 'hideRelations', 'titleTemplate',
 | 
			
		||||
       'template', 'toc', 'color', 'keepCurrentHoisting', 'executeButton', 'executeDescription', 'newNotesOnTop',
 | 
			
		||||
       'clipperInbox', 'internalLink', 'imageLink', 'relationMapLink', 'includeMapLink', 'runOnNoteCreation',
 | 
			
		||||
       'runOnNoteTitleChange', 'runOnNoteChange', 'runOnNoteContentChange', 'runOnNoteDeletion', 'runOnBranchCreation',
 | 
			
		||||
       'runOnBranchDeletion', 'runOnChildNoteCreation', 'runOnAttributeCreation', 'runOnAttributeChange', 'template',
 | 
			
		||||
       'inherit', 'widget', 'renderNote', 'shareCss', 'shareJs', 'shareTemplate', 'shareFavicon');
 | 
			
		||||
UPDATE attributes SET name = 'name' WHERE type = 'relation'
 | 
			
		||||
  AND name NOT IN
 | 
			
		||||
      ('inbox', 'disableVersioning', 'calendarRoot', 'archived', 'excludeFromExport', 'disableInclusion', 'appCss',
 | 
			
		||||
       'appTheme', 'hidePromotedAttributes', 'readOnly', 'autoReadOnlyDisabled', 'cssClass', 'iconClass',
 | 
			
		||||
       'keyboardShortcut', 'run', 'runOnInstance', 'runAtHour', 'customRequestHandler', 'customResourceProvider',
 | 
			
		||||
       'widget', 'noteInfoWidgetDisabled', 'linkMapWidgetDisabled', 'revisionsWidgetDisabled',
 | 
			
		||||
       'whatLinksHereWidgetDisabled', 'similarNotesWidgetDisabled', 'workspace', 'workspaceIconClass',
 | 
			
		||||
       'workspaceTabBackgroundColor', 'workspaceCalendarRoot', 'workspaceTemplate', 'searchHome', 'workspaceInbox',
 | 
			
		||||
       'workspaceSearchHome', 'sqlConsoleHome', 'datePattern', 'pageSize', 'viewType', 'mapRootNoteId',
 | 
			
		||||
       'bookmarkFolder', 'sorted', 'sortDirection', 'sortFoldersFirst', 'sortNatural', 'sortLocale', 'top',
 | 
			
		||||
       'fullContentWidth', 'shareHiddenFromTree', 'shareExternalLink', 'shareOmitDefaultCss', 'shareRoot', 'shareDescription',
 | 
			
		||||
       'shareRaw', 'shareDisallowRobotIndexing', 'shareIndex', 'displayRelations', 'hideRelations', 'titleTemplate',
 | 
			
		||||
       'template', 'toc', 'color', 'keepCurrentHoisting', 'executeButton', 'executeDescription', 'newNotesOnTop',
 | 
			
		||||
       'clipperInbox', 'internalLink', 'imageLink', 'relationMapLink', 'includeMapLink', 'runOnNoteCreation',
 | 
			
		||||
       'runOnNoteTitleChange', 'runOnNoteChange', 'runOnNoteContentChange', 'runOnNoteDeletion', 'runOnBranchCreation',
 | 
			
		||||
       'runOnBranchDeletion', 'runOnChildNoteCreation', 'runOnAttributeCreation', 'runOnAttributeChange', 'template',
 | 
			
		||||
       'inherit', 'widget', 'renderNote', 'shareCss', 'shareJs', 'shareTemplate', 'shareFavicon');
 | 
			
		||||
UPDATE branches SET prefix = 'prefix' WHERE prefix IS NOT NULL AND prefix != 'recovered';
 | 
			
		||||
UPDATE options SET value = 'anonymized' WHERE name IN
 | 
			
		||||
                    ('documentId', 'documentSecret', 'encryptedDataKey',
 | 
			
		||||
                     'passwordVerificationHash', 'passwordVerificationSalt',
 | 
			
		||||
                     'passwordDerivedKeySalt', 'username', 'syncServerHost', 'syncProxy')
 | 
			
		||||
                      AND value != '';
 | 
			
		||||
      ('documentId', 'documentSecret', 'encryptedDataKey',
 | 
			
		||||
       'passwordVerificationHash', 'passwordVerificationSalt',
 | 
			
		||||
       'passwordDerivedKeySalt', 'username', 'syncServerHost', 'syncProxy')
 | 
			
		||||
  AND value != '';
 | 
			
		||||
 | 
			
		||||
VACUUM;
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										1
									
								
								db/migrations/0226__rename_noteSize_label.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								db/migrations/0226__rename_noteSize_label.sql
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1 @@
 | 
			
		||||
UPDATE attributes SET value = 'contentAndAttachmentsAndRevisionsSize' WHERE name = 'orderBy' AND value = 'noteSize';
 | 
			
		||||
@ -1,3 +1,5 @@
 | 
			
		||||
# Running `docker-compose up` will create/use the "trilium-data" directory in the user home
 | 
			
		||||
# Run `TRILIUM_DATA_DIR=/path/of/your/choice docker-compose up` to set a different directory
 | 
			
		||||
version: '2.1'
 | 
			
		||||
services:
 | 
			
		||||
  trilium:
 | 
			
		||||
@ -8,7 +10,7 @@ services:
 | 
			
		||||
    ports:
 | 
			
		||||
      - "8080:8080"
 | 
			
		||||
    volumes:
 | 
			
		||||
      - trilium:/home/node/trilium-data
 | 
			
		||||
      - ${TRILIUM_DATA_DIR:-~/trilium-data}:/home/node/trilium-data
 | 
			
		||||
 | 
			
		||||
volumes:
 | 
			
		||||
  trilium:
 | 
			
		||||
 | 
			
		||||
@ -183,7 +183,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line55">line 55</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line35">line 35</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -259,7 +259,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line246">line 246</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line250">line 250</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -364,7 +364,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line124">line 124</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line128">line 128</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -484,7 +484,7 @@
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    <h4 class="name" id="generateHash"><span class="type-signature">(protected) </span>generateHash<span class="signature">()</span><span class="type-signature"></span></h4>
 | 
			
		||||
    <h4 class="name" id="generateHash"><span class="type-signature">(protected) </span>generateHash<span class="signature">()</span><span class="type-signature"> → {string}</span></h4>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
@ -532,7 +532,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line32">line 32</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line59">line 59</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -557,6 +557,24 @@
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<h5>Returns:</h5>
 | 
			
		||||
 | 
			
		||||
        
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<dl>
 | 
			
		||||
    <dt>
 | 
			
		||||
        Type
 | 
			
		||||
    </dt>
 | 
			
		||||
    <dd>
 | 
			
		||||
        
 | 
			
		||||
<span class="param-type">string</span>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    </dd>
 | 
			
		||||
</dl>
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -568,7 +586,7 @@
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    <h4 class="name" id="generateIdIfNecessary"><span class="type-signature">(protected) </span>generateIdIfNecessary<span class="signature">()</span><span class="type-signature"></span></h4>
 | 
			
		||||
    <h4 class="name" id="getPojo"><span class="type-signature">(abstract, protected) </span>getPojo<span class="signature">()</span><span class="type-signature"></span></h4>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
@ -616,7 +634,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line25">line 25</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line82">line 82</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -700,7 +718,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line76">line 76</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line74">line 74</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -784,7 +802,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line47">line 47</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line27">line 27</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -938,7 +956,7 @@ This is a low-level method, for notes and branches use `note.deleteNote()` and '
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line263">line 263</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line267">line 267</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -1022,7 +1040,7 @@ This is a low-level method, for notes and branches use `note.deleteNote()` and '
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line64">line 64</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line44">line 44</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -1110,7 +1128,7 @@ This is a low-level method, for notes and branches use `note.deleteNote()` and '
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line85">line 85</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line91">line 91</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -205,7 +205,7 @@ larger amounts of data and generally not accessible to the user.</div>
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_battachment.js.html">becca/entities/battachment.js</a>, <a href="becca_entities_battachment.js.html#line40">line 40</a>
 | 
			
		||||
        <a href="becca_entities_battachment.js.html">becca/entities/battachment.js</a>, <a href="becca_entities_battachment.js.html#line39">line 39</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -268,7 +268,7 @@ larger amounts of data and generally not accessible to the user.</div>
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line55">line 55</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line35">line 35</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -336,7 +336,7 @@ larger amounts of data and generally not accessible to the user.</div>
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_battachment.js.html">becca/entities/battachment.js</a>, <a href="becca_entities_battachment.js.html#line55">line 55</a>
 | 
			
		||||
        <a href="becca_entities_battachment.js.html">becca/entities/battachment.js</a>, <a href="becca_entities_battachment.js.html#line54">line 54</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -408,7 +408,7 @@ larger amounts of data and generally not accessible to the user.</div>
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_battachment.js.html">becca/entities/battachment.js</a>, <a href="becca_entities_battachment.js.html#line69">line 69</a>
 | 
			
		||||
        <a href="becca_entities_battachment.js.html">becca/entities/battachment.js</a>, <a href="becca_entities_battachment.js.html#line68">line 68</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -476,7 +476,7 @@ larger amounts of data and generally not accessible to the user.</div>
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_battachment.js.html">becca/entities/battachment.js</a>, <a href="becca_entities_battachment.js.html#line59">line 59</a>
 | 
			
		||||
        <a href="becca_entities_battachment.js.html">becca/entities/battachment.js</a>, <a href="becca_entities_battachment.js.html#line58">line 58</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -544,7 +544,7 @@ larger amounts of data and generally not accessible to the user.</div>
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_battachment.js.html">becca/entities/battachment.js</a>, <a href="becca_entities_battachment.js.html#line57">line 57</a>
 | 
			
		||||
        <a href="becca_entities_battachment.js.html">becca/entities/battachment.js</a>, <a href="becca_entities_battachment.js.html#line56">line 56</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -612,7 +612,7 @@ larger amounts of data and generally not accessible to the user.</div>
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_battachment.js.html">becca/entities/battachment.js</a>, <a href="becca_entities_battachment.js.html#line49">line 49</a>
 | 
			
		||||
        <a href="becca_entities_battachment.js.html">becca/entities/battachment.js</a>, <a href="becca_entities_battachment.js.html#line48">line 48</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -684,7 +684,7 @@ larger amounts of data and generally not accessible to the user.</div>
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_battachment.js.html">becca/entities/battachment.js</a>, <a href="becca_entities_battachment.js.html#line45">line 45</a>
 | 
			
		||||
        <a href="becca_entities_battachment.js.html">becca/entities/battachment.js</a>, <a href="becca_entities_battachment.js.html#line44">line 44</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -752,7 +752,7 @@ larger amounts of data and generally not accessible to the user.</div>
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_battachment.js.html">becca/entities/battachment.js</a>, <a href="becca_entities_battachment.js.html#line53">line 53</a>
 | 
			
		||||
        <a href="becca_entities_battachment.js.html">becca/entities/battachment.js</a>, <a href="becca_entities_battachment.js.html#line52">line 52</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -820,7 +820,7 @@ larger amounts of data and generally not accessible to the user.</div>
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_battachment.js.html">becca/entities/battachment.js</a>, <a href="becca_entities_battachment.js.html#line47">line 47</a>
 | 
			
		||||
        <a href="becca_entities_battachment.js.html">becca/entities/battachment.js</a>, <a href="becca_entities_battachment.js.html#line46">line 46</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -888,7 +888,7 @@ larger amounts of data and generally not accessible to the user.</div>
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_battachment.js.html">becca/entities/battachment.js</a>, <a href="becca_entities_battachment.js.html#line51">line 51</a>
 | 
			
		||||
        <a href="becca_entities_battachment.js.html">becca/entities/battachment.js</a>, <a href="becca_entities_battachment.js.html#line50">line 50</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -956,7 +956,7 @@ larger amounts of data and generally not accessible to the user.</div>
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_battachment.js.html">becca/entities/battachment.js</a>, <a href="becca_entities_battachment.js.html#line61">line 61</a>
 | 
			
		||||
        <a href="becca_entities_battachment.js.html">becca/entities/battachment.js</a>, <a href="becca_entities_battachment.js.html#line60">line 60</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -1024,7 +1024,7 @@ larger amounts of data and generally not accessible to the user.</div>
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_battachment.js.html">becca/entities/battachment.js</a>, <a href="becca_entities_battachment.js.html#line63">line 63</a>
 | 
			
		||||
        <a href="becca_entities_battachment.js.html">becca/entities/battachment.js</a>, <a href="becca_entities_battachment.js.html#line62">line 62</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -1105,7 +1105,7 @@ larger amounts of data and generally not accessible to the user.</div>
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line246">line 246</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line250">line 250</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -1215,7 +1215,7 @@ larger amounts of data and generally not accessible to the user.</div>
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line124">line 124</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line128">line 128</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -1388,7 +1388,7 @@ larger amounts of data and generally not accessible to the user.</div>
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_battachment.js.html">becca/entities/battachment.js</a>, <a href="becca_entities_battachment.js.html#line139">line 139</a>
 | 
			
		||||
        <a href="becca_entities_battachment.js.html">becca/entities/battachment.js</a>, <a href="becca_entities_battachment.js.html#line138">line 138</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -1490,7 +1490,7 @@ larger amounts of data and generally not accessible to the user.</div>
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_battachment.js.html">becca/entities/battachment.js</a>, <a href="becca_entities_battachment.js.html#line75">line 75</a>
 | 
			
		||||
        <a href="becca_entities_battachment.js.html">becca/entities/battachment.js</a>, <a href="becca_entities_battachment.js.html#line74">line 74</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -1544,7 +1544,7 @@ larger amounts of data and generally not accessible to the user.</div>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    <h4 class="name" id="generateHash"><span class="type-signature">(protected) </span>generateHash<span class="signature">()</span><span class="type-signature"></span></h4>
 | 
			
		||||
    <h4 class="name" id="generateHash"><span class="type-signature">(protected) </span>generateHash<span class="signature">()</span><span class="type-signature"> → {string}</span></h4>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
@ -1597,7 +1597,7 @@ larger amounts of data and generally not accessible to the user.</div>
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line32">line 32</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line59">line 59</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -1622,95 +1622,24 @@ larger amounts of data and generally not accessible to the user.</div>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<h5>Returns:</h5>
 | 
			
		||||
 | 
			
		||||
        
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    <h4 class="name" id="generateIdIfNecessary"><span class="type-signature">(protected) </span>generateIdIfNecessary<span class="signature">()</span><span class="type-signature"></span></h4>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<dl>
 | 
			
		||||
    <dt>
 | 
			
		||||
        Type
 | 
			
		||||
    </dt>
 | 
			
		||||
    <dd>
 | 
			
		||||
        
 | 
			
		||||
<span class="param-type">string</span>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<dl class="details">
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-overrides">Overrides:</dt>
 | 
			
		||||
    <dd class="tag-overrides"><ul class="dummy"><li>
 | 
			
		||||
        <a href="AbstractBeccaEntity.html#generateIdIfNecessary">AbstractBeccaEntity#generateIdIfNecessary</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line25">line 25</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    </dd>
 | 
			
		||||
</dl>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -1770,7 +1699,7 @@ larger amounts of data and generally not accessible to the user.</div>
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_battachment.js.html">becca/entities/battachment.js</a>, <a href="becca_entities_battachment.js.html#line124">line 124</a>
 | 
			
		||||
        <a href="becca_entities_battachment.js.html">becca/entities/battachment.js</a>, <a href="becca_entities_battachment.js.html#line123">line 123</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -1875,7 +1804,7 @@ larger amounts of data and generally not accessible to the user.</div>
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_battachment.js.html">becca/entities/battachment.js</a>, <a href="becca_entities_battachment.js.html#line87">line 87</a>
 | 
			
		||||
        <a href="becca_entities_battachment.js.html">becca/entities/battachment.js</a>, <a href="becca_entities_battachment.js.html#line86">line 86</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -1923,6 +1852,95 @@ larger amounts of data and generally not accessible to the user.</div>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    <h4 class="name" id="getPojo"><span class="type-signature">(abstract, protected) </span>getPojo<span class="signature">()</span><span class="type-signature"></span></h4>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<dl class="details">
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-overrides">Overrides:</dt>
 | 
			
		||||
    <dd class="tag-overrides"><ul class="dummy"><li>
 | 
			
		||||
        <a href="AbstractBeccaEntity.html#getPojo">AbstractBeccaEntity#getPojo</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line82">line 82</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
</dl>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
@ -1982,7 +2000,7 @@ larger amounts of data and generally not accessible to the user.</div>
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line76">line 76</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line74">line 74</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -2071,7 +2089,7 @@ larger amounts of data and generally not accessible to the user.</div>
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line47">line 47</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line27">line 27</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -2155,7 +2173,7 @@ larger amounts of data and generally not accessible to the user.</div>
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_battachment.js.html">becca/entities/battachment.js</a>, <a href="becca_entities_battachment.js.html#line92">line 92</a>
 | 
			
		||||
        <a href="becca_entities_battachment.js.html">becca/entities/battachment.js</a>, <a href="becca_entities_battachment.js.html#line91">line 91</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -2336,7 +2354,7 @@ This is a low-level method, for notes and branches use `note.deleteNote()` and '
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line263">line 263</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line267">line 267</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -2425,7 +2443,7 @@ This is a low-level method, for notes and branches use `note.deleteNote()` and '
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line64">line 64</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line44">line 44</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -2518,7 +2536,7 @@ This is a low-level method, for notes and branches use `note.deleteNote()` and '
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line85">line 85</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line91">line 91</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -2815,7 +2833,7 @@ This is a low-level method, for notes and branches use `note.deleteNote()` and '
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_battachment.js.html">becca/entities/battachment.js</a>, <a href="becca_entities_battachment.js.html#line134">line 134</a>
 | 
			
		||||
        <a href="becca_entities_battachment.js.html">becca/entities/battachment.js</a>, <a href="becca_entities_battachment.js.html#line133">line 133</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -268,7 +268,7 @@ and relation (representing named relationship between source and target note)</d
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line55">line 55</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line35">line 35</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -825,7 +825,7 @@ and relation (representing named relationship between source and target note)</d
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line246">line 246</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line250">line 250</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -935,7 +935,7 @@ and relation (representing named relationship between source and target note)</d
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line124">line 124</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line128">line 128</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -1060,7 +1060,7 @@ and relation (representing named relationship between source and target note)</d
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    <h4 class="name" id="generateHash"><span class="type-signature">(protected) </span>generateHash<span class="signature">()</span><span class="type-signature"></span></h4>
 | 
			
		||||
    <h4 class="name" id="generateHash"><span class="type-signature">(protected) </span>generateHash<span class="signature">()</span><span class="type-signature"> → {string}</span></h4>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
@ -1113,7 +1113,7 @@ and relation (representing named relationship between source and target note)</d
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line32">line 32</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line59">line 59</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -1138,95 +1138,24 @@ and relation (representing named relationship between source and target note)</d
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<h5>Returns:</h5>
 | 
			
		||||
 | 
			
		||||
        
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    <h4 class="name" id="generateIdIfNecessary"><span class="type-signature">(protected) </span>generateIdIfNecessary<span class="signature">()</span><span class="type-signature"></span></h4>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<dl>
 | 
			
		||||
    <dt>
 | 
			
		||||
        Type
 | 
			
		||||
    </dt>
 | 
			
		||||
    <dd>
 | 
			
		||||
        
 | 
			
		||||
<span class="param-type">string</span>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<dl class="details">
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-overrides">Overrides:</dt>
 | 
			
		||||
    <dd class="tag-overrides"><ul class="dummy"><li>
 | 
			
		||||
        <a href="AbstractBeccaEntity.html#generateIdIfNecessary">AbstractBeccaEntity#generateIdIfNecessary</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line25">line 25</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    </dd>
 | 
			
		||||
</dl>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -1337,6 +1266,95 @@ and relation (representing named relationship between source and target note)</d
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    <h4 class="name" id="getPojo"><span class="type-signature">(abstract, protected) </span>getPojo<span class="signature">()</span><span class="type-signature"></span></h4>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<dl class="details">
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-overrides">Overrides:</dt>
 | 
			
		||||
    <dd class="tag-overrides"><ul class="dummy"><li>
 | 
			
		||||
        <a href="AbstractBeccaEntity.html#getPojo">AbstractBeccaEntity#getPojo</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line82">line 82</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
</dl>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
@ -1396,7 +1414,7 @@ and relation (representing named relationship between source and target note)</d
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line76">line 76</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line74">line 74</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -1590,7 +1608,7 @@ and relation (representing named relationship between source and target note)</d
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line47">line 47</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line27">line 27</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -1851,7 +1869,7 @@ This is a low-level method, for notes and branches use `note.deleteNote()` and '
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line263">line 263</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line267">line 267</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -1940,7 +1958,7 @@ This is a low-level method, for notes and branches use `note.deleteNote()` and '
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line64">line 64</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line44">line 44</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -2033,7 +2051,7 @@ This is a low-level method, for notes and branches use `note.deleteNote()` and '
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line85">line 85</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line91">line 91</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -203,7 +203,7 @@ Always check noteId instead.</div>
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line55">line 55</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line35">line 35</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -945,7 +945,7 @@ of deletion should not act as a clone.
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line246">line 246</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line250">line 250</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -1055,7 +1055,7 @@ of deletion should not act as a clone.
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line124">line 124</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line128">line 128</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -1384,7 +1384,7 @@ of deletion should not act as a clone.
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    <h4 class="name" id="generateHash"><span class="type-signature">(protected) </span>generateHash<span class="signature">()</span><span class="type-signature"></span></h4>
 | 
			
		||||
    <h4 class="name" id="generateHash"><span class="type-signature">(protected) </span>generateHash<span class="signature">()</span><span class="type-signature"> → {string}</span></h4>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
@ -1437,7 +1437,7 @@ of deletion should not act as a clone.
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line32">line 32</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line59">line 59</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -1462,95 +1462,24 @@ of deletion should not act as a clone.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<h5>Returns:</h5>
 | 
			
		||||
 | 
			
		||||
        
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    <h4 class="name" id="generateIdIfNecessary"><span class="type-signature">(protected) </span>generateIdIfNecessary<span class="signature">()</span><span class="type-signature"></span></h4>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<dl>
 | 
			
		||||
    <dt>
 | 
			
		||||
        Type
 | 
			
		||||
    </dt>
 | 
			
		||||
    <dd>
 | 
			
		||||
        
 | 
			
		||||
<span class="param-type">string</span>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<dl class="details">
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-overrides">Overrides:</dt>
 | 
			
		||||
    <dd class="tag-overrides"><ul class="dummy"><li>
 | 
			
		||||
        <a href="AbstractBeccaEntity.html#generateIdIfNecessary">AbstractBeccaEntity#generateIdIfNecessary</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line25">line 25</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    </dd>
 | 
			
		||||
</dl>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -1658,6 +1587,95 @@ of deletion should not act as a clone.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    <h4 class="name" id="getPojo"><span class="type-signature">(abstract, protected) </span>getPojo<span class="signature">()</span><span class="type-signature"></span></h4>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<dl class="details">
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-overrides">Overrides:</dt>
 | 
			
		||||
    <dd class="tag-overrides"><ul class="dummy"><li>
 | 
			
		||||
        <a href="AbstractBeccaEntity.html#getPojo">AbstractBeccaEntity#getPojo</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line82">line 82</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
</dl>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
@ -1717,7 +1735,7 @@ of deletion should not act as a clone.
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line76">line 76</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line74">line 74</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -1806,7 +1824,7 @@ of deletion should not act as a clone.
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line47">line 47</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line27">line 27</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -1965,7 +1983,7 @@ This is a low-level method, for notes and branches use `note.deleteNote()` and '
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line263">line 263</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line267">line 267</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -2054,7 +2072,7 @@ This is a low-level method, for notes and branches use `note.deleteNote()` and '
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line64">line 64</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line44">line 44</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -2147,7 +2165,7 @@ This is a low-level method, for notes and branches use `note.deleteNote()` and '
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line85">line 85</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line91">line 91</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -205,7 +205,7 @@ from tokenHash and token.</div>
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line55">line 55</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line35">line 35</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -694,7 +694,7 @@ from tokenHash and token.</div>
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line246">line 246</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line250">line 250</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -804,7 +804,7 @@ from tokenHash and token.</div>
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line124">line 124</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line128">line 128</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -929,7 +929,7 @@ from tokenHash and token.</div>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    <h4 class="name" id="generateHash"><span class="type-signature">(protected) </span>generateHash<span class="signature">()</span><span class="type-signature"></span></h4>
 | 
			
		||||
    <h4 class="name" id="generateHash"><span class="type-signature">(protected) </span>generateHash<span class="signature">()</span><span class="type-signature"> → {string}</span></h4>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
@ -982,7 +982,7 @@ from tokenHash and token.</div>
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line32">line 32</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line59">line 59</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -1007,6 +1007,24 @@ from tokenHash and token.</div>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<h5>Returns:</h5>
 | 
			
		||||
 | 
			
		||||
        
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<dl>
 | 
			
		||||
    <dt>
 | 
			
		||||
        Type
 | 
			
		||||
    </dt>
 | 
			
		||||
    <dd>
 | 
			
		||||
        
 | 
			
		||||
<span class="param-type">string</span>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    </dd>
 | 
			
		||||
</dl>
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -1018,7 +1036,7 @@ from tokenHash and token.</div>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    <h4 class="name" id="generateIdIfNecessary"><span class="type-signature">(protected) </span>generateIdIfNecessary<span class="signature">()</span><span class="type-signature"></span></h4>
 | 
			
		||||
    <h4 class="name" id="getPojo"><span class="type-signature">(abstract, protected) </span>getPojo<span class="signature">()</span><span class="type-signature"></span></h4>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
@ -1048,7 +1066,7 @@ from tokenHash and token.</div>
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-overrides">Overrides:</dt>
 | 
			
		||||
    <dd class="tag-overrides"><ul class="dummy"><li>
 | 
			
		||||
        <a href="AbstractBeccaEntity.html#generateIdIfNecessary">AbstractBeccaEntity#generateIdIfNecessary</a>
 | 
			
		||||
        <a href="AbstractBeccaEntity.html#getPojo">AbstractBeccaEntity#getPojo</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -1071,7 +1089,7 @@ from tokenHash and token.</div>
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line25">line 25</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line82">line 82</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -1160,7 +1178,7 @@ from tokenHash and token.</div>
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line76">line 76</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line74">line 74</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -1249,7 +1267,7 @@ from tokenHash and token.</div>
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line47">line 47</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line27">line 27</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -1408,7 +1426,7 @@ This is a low-level method, for notes and branches use `note.deleteNote()` and '
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line263">line 263</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line267">line 267</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -1497,7 +1515,7 @@ This is a low-level method, for notes and branches use `note.deleteNote()` and '
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line64">line 64</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line44">line 44</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -1590,7 +1608,7 @@ This is a low-level method, for notes and branches use `note.deleteNote()` and '
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line85">line 85</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line91">line 91</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -270,7 +270,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line55">line 55</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line35">line 35</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -1171,7 +1171,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line246">line 246</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line250">line 250</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -1281,7 +1281,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line124">line 124</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line128">line 128</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -1588,7 +1588,7 @@ See addLabel, addRelation for more specific methods.
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1345">line 1345</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1351">line 1351</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -1835,7 +1835,7 @@ See addLabel, addRelation for more specific methods.
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1366">line 1366</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1372">line 1372</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -2081,7 +2081,7 @@ returned.
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1379">line 1379</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1385">line 1385</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -2316,7 +2316,7 @@ returned.
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1464">line 1464</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1470">line 1470</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -2432,7 +2432,7 @@ In the future, this functionality might get more generic and some of the require
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1516">line 1516</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1522">line 1522</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -2653,7 +2653,7 @@ In the future, this functionality might get more generic and some of the require
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1554">line 1554</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1560">line 1560</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -2689,7 +2689,7 @@ In the future, this functionality might get more generic and some of the require
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    <h4 class="name" id="generateHash"><span class="type-signature">(protected) </span>generateHash<span class="signature">()</span><span class="type-signature"></span></h4>
 | 
			
		||||
    <h4 class="name" id="generateHash"><span class="type-signature">(protected) </span>generateHash<span class="signature">()</span><span class="type-signature"> → {string}</span></h4>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
@ -2742,7 +2742,7 @@ In the future, this functionality might get more generic and some of the require
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line32">line 32</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line59">line 59</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -2767,95 +2767,24 @@ In the future, this functionality might get more generic and some of the require
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<h5>Returns:</h5>
 | 
			
		||||
 | 
			
		||||
        
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    <h4 class="name" id="generateIdIfNecessary"><span class="type-signature">(protected) </span>generateIdIfNecessary<span class="signature">()</span><span class="type-signature"></span></h4>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<dl>
 | 
			
		||||
    <dt>
 | 
			
		||||
        Type
 | 
			
		||||
    </dt>
 | 
			
		||||
    <dd>
 | 
			
		||||
        
 | 
			
		||||
<span class="param-type">string</span>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<dl class="details">
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-overrides">Overrides:</dt>
 | 
			
		||||
    <dd class="tag-overrides"><ul class="dummy"><li>
 | 
			
		||||
        <a href="AbstractBeccaEntity.html#generateIdIfNecessary">AbstractBeccaEntity#generateIdIfNecessary</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line25">line 25</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    </dd>
 | 
			
		||||
</dl>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -2919,7 +2848,7 @@ In the future, this functionality might get more generic and some of the require
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1186">line 1186</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1192">line 1192</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -3025,7 +2954,7 @@ In the future, this functionality might get more generic and some of the require
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1062">line 1062</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1068">line 1068</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -3127,7 +3056,7 @@ In the future, this functionality might get more generic and some of the require
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1036">line 1036</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1042">line 1042</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -3229,7 +3158,7 @@ In the future, this functionality might get more generic and some of the require
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1143">line 1143</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1149">line 1149</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -3334,7 +3263,7 @@ In the future, this functionality might get more generic and some of the require
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1170">line 1170</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1176">line 1176</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -3436,7 +3365,7 @@ In the future, this functionality might get more generic and some of the require
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1125">line 1125</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1131">line 1131</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -3538,7 +3467,7 @@ In the future, this functionality might get more generic and some of the require
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1158">line 1158</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1164">line 1164</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -3712,7 +3641,7 @@ In the future, this functionality might get more generic and some of the require
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line599">line 599</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line605">line 605</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -3891,7 +3820,7 @@ In the future, this functionality might get more generic and some of the require
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line610">line 610</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line616">line 616</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -4099,7 +4028,7 @@ In the future, this functionality might get more generic and some of the require
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line352">line 352</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line358">line 358</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -4278,7 +4207,7 @@ In the future, this functionality might get more generic and some of the require
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1239">line 1239</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1245">line 1245</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -4457,7 +4386,7 @@ In the future, this functionality might get more generic and some of the require
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1249">line 1249</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1255">line 1255</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -4565,7 +4494,7 @@ In the future, this functionality might get more generic and some of the require
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line194">line 194</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line200">line 200</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -4667,7 +4596,7 @@ In the future, this functionality might get more generic and some of the require
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line214">line 214</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line220">line 220</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -4769,7 +4698,7 @@ In the future, this functionality might get more generic and some of the require
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line204">line 204</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line210">line 210</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -4871,7 +4800,7 @@ In the future, this functionality might get more generic and some of the require
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line228">line 228</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line234">line 234</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -4978,7 +4907,7 @@ In the future, this functionality might get more generic and some of the require
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line983">line 983</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line989">line 989</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -5068,7 +4997,7 @@ In the future, this functionality might get more generic and some of the require
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line784">line 784</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line790">line 790</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -5174,7 +5103,7 @@ In the future, this functionality might get more generic and some of the require
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1088">line 1088</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1094">line 1094</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -5281,7 +5210,7 @@ In the future, this functionality might get more generic and some of the require
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line235">line 235</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line241">line 241</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -5395,7 +5324,7 @@ In the future, this functionality might get more generic and some of the require
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line246">line 246</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line252">line 252</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -5553,7 +5482,7 @@ In the future, this functionality might get more generic and some of the require
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line539">line 539</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line545">line 545</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -5711,7 +5640,7 @@ In the future, this functionality might get more generic and some of the require
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line563">line 563</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line569">line 569</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -5881,7 +5810,7 @@ In the future, this functionality might get more generic and some of the require
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line639">line 639</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line645">line 645</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -6048,7 +5977,7 @@ In the future, this functionality might get more generic and some of the require
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line631">line 631</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line637">line 637</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -6154,7 +6083,7 @@ In the future, this functionality might get more generic and some of the require
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line709">line 709</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line715">line 715</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -6334,7 +6263,7 @@ This method can be significantly faster than the getAttribute()
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line621">line 621</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line627">line 627</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -6604,7 +6533,7 @@ This method can be significantly faster than the getAttribute()
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line684">line 684</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line690">line 690</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -6759,7 +6688,7 @@ This method can be significantly faster than the getAttribute()
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line545">line 545</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line551">line 551</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -6917,7 +6846,7 @@ This method can be significantly faster than the getAttribute()
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line569">line 569</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line575">line 575</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -7087,7 +7016,7 @@ This method can be significantly faster than the getAttribute()
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line655">line 655</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line661">line 661</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -7254,7 +7183,7 @@ This method can be significantly faster than the getAttribute()
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line647">line 647</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line653">line 653</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -7409,7 +7338,7 @@ This method can be significantly faster than the getAttribute()
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line557">line 557</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line563">line 563</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -7567,7 +7496,7 @@ This method can be significantly faster than the getAttribute()
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line581">line 581</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line587">line 587</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -7737,7 +7666,7 @@ This method can be significantly faster than the getAttribute()
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line671">line 671</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line677">line 677</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -7843,7 +7772,7 @@ This method can be significantly faster than the getAttribute()
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line177">line 177</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line183">line 183</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -7945,7 +7874,7 @@ This method can be significantly faster than the getAttribute()
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line199">line 199</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line205">line 205</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -7993,6 +7922,95 @@ This method can be significantly faster than the getAttribute()
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    <h4 class="name" id="getPojo"><span class="type-signature">(abstract, protected) </span>getPojo<span class="signature">()</span><span class="type-signature"></span></h4>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<dl class="details">
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-overrides">Overrides:</dt>
 | 
			
		||||
    <dd class="tag-overrides"><ul class="dummy"><li>
 | 
			
		||||
        <a href="AbstractBeccaEntity.html#getPojo">AbstractBeccaEntity#getPojo</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line82">line 82</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
</dl>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
@ -8052,7 +8070,7 @@ This method can be significantly faster than the getAttribute()
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line76">line 76</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line74">line 74</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -8185,7 +8203,7 @@ This method can be significantly faster than the getAttribute()
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line551">line 551</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line557">line 557</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -8343,7 +8361,7 @@ This method can be significantly faster than the getAttribute()
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line575">line 575</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line581">line 581</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -8513,7 +8531,7 @@ This method can be significantly faster than the getAttribute()
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line663">line 663</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line669">line 669</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -8619,7 +8637,7 @@ This method can be significantly faster than the getAttribute()
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1119">line 1119</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1125">line 1125</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -8721,7 +8739,7 @@ This method can be significantly faster than the getAttribute()
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line328">line 328</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line334">line 334</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -8830,7 +8848,7 @@ This method can be significantly faster than the getAttribute()
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line894">line 894</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line900">line 900</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -9001,7 +9019,7 @@ This method can be significantly faster than the getAttribute()
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1208">line 1208</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1214">line 1214</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -9107,7 +9125,7 @@ This method can be significantly faster than the getAttribute()
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line186">line 186</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line192">line 192</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -9209,7 +9227,7 @@ This method can be significantly faster than the getAttribute()
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line917">line 917</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line923">line 923</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -9311,7 +9329,7 @@ This method can be significantly faster than the getAttribute()
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line976">line 976</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line982">line 982</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -9417,7 +9435,7 @@ This method can be significantly faster than the getAttribute()
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line862">line 862</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line868">line 868</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -9519,7 +9537,7 @@ This method can be significantly faster than the getAttribute()
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1082">line 1082</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1088">line 1088</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -9626,7 +9644,7 @@ This method can be significantly faster than the getAttribute()
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line47">line 47</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line27">line 27</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -9710,7 +9728,7 @@ This method can be significantly faster than the getAttribute()
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1067">line 1067</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1073">line 1073</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -9936,7 +9954,7 @@ This method can be significantly faster than the getAttribute()
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line469">line 469</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line475">line 475</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -10038,7 +10056,7 @@ This method can be significantly faster than the getAttribute()
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line209">line 209</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line215">line 215</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -10232,7 +10250,7 @@ This method can be significantly faster than the getAttribute()
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line498">line 498</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line504">line 504</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -10461,7 +10479,7 @@ This method can be significantly faster than the getAttribute()
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line589">line 589</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line595">line 595</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -10659,7 +10677,7 @@ This method can be significantly faster than the getAttribute()
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line519">line 519</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line525">line 525</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -10857,7 +10875,7 @@ This method can be significantly faster than the getAttribute()
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line533">line 533</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line539">line 539</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -11055,7 +11073,7 @@ This method can be significantly faster than the getAttribute()
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line526">line 526</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line532">line 532</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -11161,7 +11179,7 @@ This method can be significantly faster than the getAttribute()
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line323">line 323</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line329">line 329</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -11311,7 +11329,7 @@ This method can be significantly faster than the getAttribute()
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1280">line 1280</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1286">line 1286</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -11417,7 +11435,7 @@ This method can be significantly faster than the getAttribute()
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1258">line 1258</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1264">line 1264</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -11511,7 +11529,7 @@ This method can be significantly faster than the getAttribute()
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line306">line 306</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line312">line 312</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -11617,7 +11635,7 @@ This method can be significantly faster than the getAttribute()
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line312">line 312</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line318">line 318</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -11723,7 +11741,7 @@ This method can be significantly faster than the getAttribute()
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line298">line 298</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line304">line 304</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -11829,7 +11847,7 @@ This method can be significantly faster than the getAttribute()
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line293">line 293</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line299">line 299</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -11984,7 +12002,7 @@ This method can be significantly faster than the getAttribute()
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line504">line 504</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line510">line 510</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -12090,7 +12108,7 @@ This method can be significantly faster than the getAttribute()
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line288">line 288</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line294">line 294</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -12198,7 +12216,7 @@ This method can be significantly faster than the getAttribute()
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line318">line 318</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line324">line 324</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -12357,7 +12375,7 @@ This is a low-level method, for notes and branches use `note.deleteNote()` and '
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line263">line 263</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line267">line 267</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -12446,7 +12464,7 @@ This is a low-level method, for notes and branches use `note.deleteNote()` and '
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line64">line 64</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line44">line 44</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -12657,7 +12675,7 @@ This is a low-level method, for notes and branches use `note.deleteNote()` and '
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1324">line 1324</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1330">line 1330</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -12837,7 +12855,7 @@ This is a low-level method, for notes and branches use `note.deleteNote()` and '
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1440">line 1440</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1446">line 1446</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -13017,7 +13035,7 @@ This is a low-level method, for notes and branches use `note.deleteNote()` and '
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1448">line 1448</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1454">line 1454</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -13110,7 +13128,7 @@ This is a low-level method, for notes and branches use `note.deleteNote()` and '
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line85">line 85</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line91">line 91</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -13212,7 +13230,7 @@ This is a low-level method, for notes and branches use `note.deleteNote()` and '
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1656">line 1656</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1658">line 1658</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -13314,7 +13332,7 @@ This is a low-level method, for notes and branches use `note.deleteNote()` and '
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1608">line 1608</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1614">line 1614</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -13546,7 +13564,7 @@ This is a low-level method, for notes and branches use `note.deleteNote()` and '
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1293">line 1293</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1299">line 1299</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -13825,7 +13843,7 @@ This is a low-level method, for notes and branches use `note.deleteNote()` and '
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line261">line 261</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line267">line 267</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -14005,7 +14023,7 @@ This is a low-level method, for notes and branches use `note.deleteNote()` and '
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1424">line 1424</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1430">line 1430</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -14165,7 +14183,7 @@ This is a low-level method, for notes and branches use `note.deleteNote()` and '
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1432">line 1432</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1438">line 1438</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -14407,7 +14425,7 @@ This is a low-level method, for notes and branches use `note.deleteNote()` and '
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1391">line 1391</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1397">line 1397</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -14618,7 +14636,7 @@ This is a low-level method, for notes and branches use `note.deleteNote()` and '
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1407">line 1407</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1413">line 1413</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -14829,7 +14847,7 @@ This is a low-level method, for notes and branches use `note.deleteNote()` and '
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1416">line 1416</a>
 | 
			
		||||
        <a href="becca_entities_bnote.js.html">becca/entities/bnote.js</a>, <a href="becca_entities_bnote.js.html#line1422">line 1422</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -199,7 +199,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line55">line 55</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line35">line 35</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -552,7 +552,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line246">line 246</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line250">line 250</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -662,7 +662,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line124">line 124</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line128">line 128</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -787,7 +787,7 @@
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    <h4 class="name" id="generateHash"><span class="type-signature">(protected) </span>generateHash<span class="signature">()</span><span class="type-signature"></span></h4>
 | 
			
		||||
    <h4 class="name" id="generateHash"><span class="type-signature">(protected) </span>generateHash<span class="signature">()</span><span class="type-signature"> → {string}</span></h4>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
@ -840,7 +840,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line32">line 32</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line59">line 59</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -865,6 +865,24 @@
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<h5>Returns:</h5>
 | 
			
		||||
 | 
			
		||||
        
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<dl>
 | 
			
		||||
    <dt>
 | 
			
		||||
        Type
 | 
			
		||||
    </dt>
 | 
			
		||||
    <dd>
 | 
			
		||||
        
 | 
			
		||||
<span class="param-type">string</span>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    </dd>
 | 
			
		||||
</dl>
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -876,7 +894,7 @@
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    <h4 class="name" id="generateIdIfNecessary"><span class="type-signature">(protected) </span>generateIdIfNecessary<span class="signature">()</span><span class="type-signature"></span></h4>
 | 
			
		||||
    <h4 class="name" id="getPojo"><span class="type-signature">(abstract, protected) </span>getPojo<span class="signature">()</span><span class="type-signature"></span></h4>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
@ -906,7 +924,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-overrides">Overrides:</dt>
 | 
			
		||||
    <dd class="tag-overrides"><ul class="dummy"><li>
 | 
			
		||||
        <a href="AbstractBeccaEntity.html#generateIdIfNecessary">AbstractBeccaEntity#generateIdIfNecessary</a>
 | 
			
		||||
        <a href="AbstractBeccaEntity.html#getPojo">AbstractBeccaEntity#getPojo</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -929,7 +947,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line25">line 25</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line82">line 82</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -1018,7 +1036,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line76">line 76</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line74">line 74</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -1107,7 +1125,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line47">line 47</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line27">line 27</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -1266,7 +1284,7 @@ This is a low-level method, for notes and branches use `note.deleteNote()` and '
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line263">line 263</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line267">line 267</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -1355,7 +1373,7 @@ This is a low-level method, for notes and branches use `note.deleteNote()` and '
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line64">line 64</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line44">line 44</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -1448,7 +1466,7 @@ This is a low-level method, for notes and branches use `note.deleteNote()` and '
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line85">line 85</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line91">line 91</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -199,7 +199,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line55">line 55</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line35">line 35</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -484,7 +484,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line246">line 246</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line250">line 250</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -594,7 +594,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line124">line 124</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line128">line 128</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -719,7 +719,7 @@
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    <h4 class="name" id="generateHash"><span class="type-signature">(protected) </span>generateHash<span class="signature">()</span><span class="type-signature"></span></h4>
 | 
			
		||||
    <h4 class="name" id="generateHash"><span class="type-signature">(protected) </span>generateHash<span class="signature">()</span><span class="type-signature"> → {string}</span></h4>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
@ -772,7 +772,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line32">line 32</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line59">line 59</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -797,6 +797,24 @@
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<h5>Returns:</h5>
 | 
			
		||||
 | 
			
		||||
        
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<dl>
 | 
			
		||||
    <dt>
 | 
			
		||||
        Type
 | 
			
		||||
    </dt>
 | 
			
		||||
    <dd>
 | 
			
		||||
        
 | 
			
		||||
<span class="param-type">string</span>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    </dd>
 | 
			
		||||
</dl>
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -808,7 +826,7 @@
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    <h4 class="name" id="generateIdIfNecessary"><span class="type-signature">(protected) </span>generateIdIfNecessary<span class="signature">()</span><span class="type-signature"></span></h4>
 | 
			
		||||
    <h4 class="name" id="getPojo"><span class="type-signature">(abstract, protected) </span>getPojo<span class="signature">()</span><span class="type-signature"></span></h4>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
@ -838,7 +856,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-overrides">Overrides:</dt>
 | 
			
		||||
    <dd class="tag-overrides"><ul class="dummy"><li>
 | 
			
		||||
        <a href="AbstractBeccaEntity.html#generateIdIfNecessary">AbstractBeccaEntity#generateIdIfNecessary</a>
 | 
			
		||||
        <a href="AbstractBeccaEntity.html#getPojo">AbstractBeccaEntity#getPojo</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -861,7 +879,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line25">line 25</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line82">line 82</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -950,7 +968,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line76">line 76</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line74">line 74</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -1039,7 +1057,7 @@
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line47">line 47</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line27">line 27</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -1198,7 +1216,7 @@ This is a low-level method, for notes and branches use `note.deleteNote()` and '
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line263">line 263</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line267">line 267</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -1287,7 +1305,7 @@ This is a low-level method, for notes and branches use `note.deleteNote()` and '
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line64">line 64</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line44">line 44</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -1380,7 +1398,7 @@ This is a low-level method, for notes and branches use `note.deleteNote()` and '
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line85">line 85</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line91">line 91</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -200,7 +200,7 @@ It's used for seamless note versioning.</div>
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line55">line 55</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line35">line 35</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -1165,7 +1165,7 @@ It's used for seamless note versioning.</div>
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line246">line 246</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line250">line 250</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -1275,7 +1275,7 @@ It's used for seamless note versioning.</div>
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line124">line 124</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line128">line 128</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -1400,7 +1400,7 @@ It's used for seamless note versioning.</div>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    <h4 class="name" id="generateHash"><span class="type-signature">(protected) </span>generateHash<span class="signature">()</span><span class="type-signature"></span></h4>
 | 
			
		||||
    <h4 class="name" id="generateHash"><span class="type-signature">(protected) </span>generateHash<span class="signature">()</span><span class="type-signature"> → {string}</span></h4>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
@ -1453,7 +1453,7 @@ It's used for seamless note versioning.</div>
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line32">line 32</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line59">line 59</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -1478,6 +1478,24 @@ It's used for seamless note versioning.</div>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<h5>Returns:</h5>
 | 
			
		||||
 | 
			
		||||
        
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<dl>
 | 
			
		||||
    <dt>
 | 
			
		||||
        Type
 | 
			
		||||
    </dt>
 | 
			
		||||
    <dd>
 | 
			
		||||
        
 | 
			
		||||
<span class="param-type">string</span>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    </dd>
 | 
			
		||||
</dl>
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -1489,7 +1507,7 @@ It's used for seamless note versioning.</div>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    <h4 class="name" id="generateIdIfNecessary"><span class="type-signature">(protected) </span>generateIdIfNecessary<span class="signature">()</span><span class="type-signature"></span></h4>
 | 
			
		||||
    <h4 class="name" id="getAttachmentById"><span class="type-signature"></span>getAttachmentById<span class="signature">()</span><span class="type-signature"> → {<a href="BAttachment.html">BAttachment</a>|null}</span></h4>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
@ -1517,11 +1535,6 @@ It's used for seamless note versioning.</div>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-overrides">Overrides:</dt>
 | 
			
		||||
    <dd class="tag-overrides"><ul class="dummy"><li>
 | 
			
		||||
        <a href="AbstractBeccaEntity.html#generateIdIfNecessary">AbstractBeccaEntity#generateIdIfNecessary</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -1542,7 +1555,7 @@ It's used for seamless note versioning.</div>
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line25">line 25</a>
 | 
			
		||||
        <a href="becca_entities_brevision.js.html">becca/entities/brevision.js</a>, <a href="becca_entities_brevision.js.html#line132">line 132</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -1567,6 +1580,129 @@ It's used for seamless note versioning.</div>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<h5>Returns:</h5>
 | 
			
		||||
 | 
			
		||||
        
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<dl>
 | 
			
		||||
    <dt>
 | 
			
		||||
        Type
 | 
			
		||||
    </dt>
 | 
			
		||||
    <dd>
 | 
			
		||||
        
 | 
			
		||||
<span class="param-type"><a href="BAttachment.html">BAttachment</a></span>
 | 
			
		||||
|
 | 
			
		||||
 | 
			
		||||
<span class="param-type">null</span>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    </dd>
 | 
			
		||||
</dl>
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    <h4 class="name" id="getAttachmentByTitle"><span class="type-signature"></span>getAttachmentByTitle<span class="signature">()</span><span class="type-signature"> → {<a href="BAttachment.html">BAttachment</a>}</span></h4>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<dl class="details">
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_brevision.js.html">becca/entities/brevision.js</a>, <a href="becca_entities_brevision.js.html#line159">line 159</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
</dl>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<h5>Returns:</h5>
 | 
			
		||||
 | 
			
		||||
        
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<dl>
 | 
			
		||||
    <dt>
 | 
			
		||||
        Type
 | 
			
		||||
    </dt>
 | 
			
		||||
    <dd>
 | 
			
		||||
        
 | 
			
		||||
<span class="param-type"><a href="BAttachment.html">BAttachment</a></span>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    </dd>
 | 
			
		||||
</dl>
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -1626,7 +1762,109 @@ It's used for seamless note versioning.</div>
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_brevision.js.html">becca/entities/brevision.js</a>, <a href="becca_entities_brevision.js.html#line99">line 99</a>
 | 
			
		||||
        <a href="becca_entities_brevision.js.html">becca/entities/brevision.js</a>, <a href="becca_entities_brevision.js.html#line122">line 122</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
</dl>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<h5>Returns:</h5>
 | 
			
		||||
 | 
			
		||||
        
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<dl>
 | 
			
		||||
    <dt>
 | 
			
		||||
        Type
 | 
			
		||||
    </dt>
 | 
			
		||||
    <dd>
 | 
			
		||||
        
 | 
			
		||||
<span class="param-type">Array.<<a href="BAttachment.html">BAttachment</a>></span>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    </dd>
 | 
			
		||||
</dl>
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    <h4 class="name" id="getAttachmentsByRole"><span class="type-signature"></span>getAttachmentsByRole<span class="signature">()</span><span class="type-signature"> → {Array.<<a href="BAttachment.html">BAttachment</a>>}</span></h4>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<dl class="details">
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_brevision.js.html">becca/entities/brevision.js</a>, <a href="becca_entities_brevision.js.html#line147">line 147</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -1779,6 +2017,318 @@ It's used for seamless note versioning.</div>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    <h4 class="name" id="getJsonContent"><span class="type-signature"></span>getJsonContent<span class="signature">()</span><span class="type-signature"> → {*}</span></h4>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<dl class="details">
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_brevision.js.html">becca/entities/brevision.js</a>, <a href="becca_entities_brevision.js.html#line92">line 92</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
</dl>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<h5>Throws:</h5>
 | 
			
		||||
 | 
			
		||||
        
 | 
			
		||||
 | 
			
		||||
    <div class="param-desc">
 | 
			
		||||
    
 | 
			
		||||
        Error in case of invalid JSON
 | 
			
		||||
    
 | 
			
		||||
    </div>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<h5>Returns:</h5>
 | 
			
		||||
 | 
			
		||||
        
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<dl>
 | 
			
		||||
    <dt>
 | 
			
		||||
        Type
 | 
			
		||||
    </dt>
 | 
			
		||||
    <dd>
 | 
			
		||||
        
 | 
			
		||||
<span class="param-type">*</span>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    </dd>
 | 
			
		||||
</dl>
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    <h4 class="name" id="getJsonContentSafely"><span class="type-signature"></span>getJsonContentSafely<span class="signature">()</span><span class="type-signature"> → {*|null}</span></h4>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<dl class="details">
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_brevision.js.html">becca/entities/brevision.js</a>, <a href="becca_entities_brevision.js.html#line103">line 103</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
</dl>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<h5>Returns:</h5>
 | 
			
		||||
 | 
			
		||||
        
 | 
			
		||||
<div class="param-desc">
 | 
			
		||||
    valid object or null if the content cannot be parsed as JSON
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<dl>
 | 
			
		||||
    <dt>
 | 
			
		||||
        Type
 | 
			
		||||
    </dt>
 | 
			
		||||
    <dd>
 | 
			
		||||
        
 | 
			
		||||
<span class="param-type">*</span>
 | 
			
		||||
|
 | 
			
		||||
 | 
			
		||||
<span class="param-type">null</span>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    </dd>
 | 
			
		||||
</dl>
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    <h4 class="name" id="getPojo"><span class="type-signature">(abstract, protected) </span>getPojo<span class="signature">()</span><span class="type-signature"></span></h4>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<dl class="details">
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-overrides">Overrides:</dt>
 | 
			
		||||
    <dd class="tag-overrides"><ul class="dummy"><li>
 | 
			
		||||
        <a href="AbstractBeccaEntity.html#getPojo">AbstractBeccaEntity#getPojo</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line82">line 82</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
</dl>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
@ -1838,7 +2388,7 @@ It's used for seamless note versioning.</div>
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line76">line 76</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line74">line 74</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -1927,7 +2477,7 @@ It's used for seamless note versioning.</div>
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line47">line 47</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line27">line 27</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -2192,7 +2742,7 @@ This is a low-level method, for notes and branches use `note.deleteNote()` and '
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line263">line 263</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line267">line 267</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -2281,7 +2831,7 @@ This is a low-level method, for notes and branches use `note.deleteNote()` and '
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line64">line 64</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line44">line 44</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -2374,7 +2924,7 @@ This is a low-level method, for notes and branches use `note.deleteNote()` and '
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line85">line 85</a>
 | 
			
		||||
        <a href="becca_entities_abstract_becca_entity.js.html">becca/entities/abstract_becca_entity.js</a>, <a href="becca_entities_abstract_becca_entity.js.html#line91">line 91</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -2632,7 +3182,7 @@ This is a low-level method, for notes and branches use `note.deleteNote()` and '
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="becca_entities_brevision.js.html">becca/entities/brevision.js</a>, <a href="becca_entities_brevision.js.html#line94">line 94</a>
 | 
			
		||||
        <a href="becca_entities_brevision.js.html">becca/entities/brevision.js</a>, <a href="becca_entities_brevision.js.html#line117">line 117</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -46,31 +46,11 @@ let becca = null;
 | 
			
		||||
class AbstractBeccaEntity {
 | 
			
		||||
    /** @protected */
 | 
			
		||||
    beforeSaving() {
 | 
			
		||||
        this.generateIdIfNecessary();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /** @protected */
 | 
			
		||||
    generateIdIfNecessary() {
 | 
			
		||||
        if (!this[this.constructor.primaryKeyName]) {
 | 
			
		||||
            this[this.constructor.primaryKeyName] = utils.newEntityId();
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /** @protected */
 | 
			
		||||
    generateHash(isDeleted = false) {
 | 
			
		||||
        let contentToHash = "";
 | 
			
		||||
 | 
			
		||||
        for (const propertyName of this.constructor.hashedProperties) {
 | 
			
		||||
            contentToHash += `|${this[propertyName]}`;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (isDeleted) {
 | 
			
		||||
            contentToHash += "|deleted";
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        return utils.hash(contentToHash).substr(0, 10);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /** @protected */
 | 
			
		||||
    getUtcDateChanged() {
 | 
			
		||||
        return this.utcDateModified || this.utcDateCreated;
 | 
			
		||||
@ -89,7 +69,7 @@ class AbstractBeccaEntity {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /** @protected */
 | 
			
		||||
    putEntityChange(isDeleted = false) {
 | 
			
		||||
    putEntityChange(isDeleted) {
 | 
			
		||||
        entityChangesService.putEntityChange({
 | 
			
		||||
            entityName: this.constructor.entityName,
 | 
			
		||||
            entityId: this[this.constructor.primaryKeyName],
 | 
			
		||||
@ -100,11 +80,37 @@ class AbstractBeccaEntity {
 | 
			
		||||
        });
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @protected
 | 
			
		||||
     * @returns {string}
 | 
			
		||||
     */
 | 
			
		||||
    generateHash(isDeleted) {
 | 
			
		||||
        let contentToHash = "";
 | 
			
		||||
 | 
			
		||||
        for (const propertyName of this.constructor.hashedProperties) {
 | 
			
		||||
            contentToHash += `|${this[propertyName]}`;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (isDeleted) {
 | 
			
		||||
            contentToHash += "|deleted";
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        return utils.hash(contentToHash).substr(0, 10);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /** @protected */
 | 
			
		||||
    getPojoToSave() {
 | 
			
		||||
        return this.getPojo();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @protected
 | 
			
		||||
     * @abstract
 | 
			
		||||
     */
 | 
			
		||||
    getPojo() {
 | 
			
		||||
        throw new Error(`Unimplemented getPojo() for entity '${this.constructor.name}'`)
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Saves entity - executes SQL, but doesn't commit the transaction on its own
 | 
			
		||||
     *
 | 
			
		||||
@ -116,9 +122,7 @@ class AbstractBeccaEntity {
 | 
			
		||||
 | 
			
		||||
        const isNewEntity = !this[primaryKeyName];
 | 
			
		||||
 | 
			
		||||
        if (this.beforeSaving) {
 | 
			
		||||
            this.beforeSaving(opts);
 | 
			
		||||
        }
 | 
			
		||||
        this.beforeSaving(opts);
 | 
			
		||||
 | 
			
		||||
        const pojo = this.getPojoToSave();
 | 
			
		||||
 | 
			
		||||
@ -129,7 +133,7 @@ class AbstractBeccaEntity {
 | 
			
		||||
                return;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            this.putEntityChange(false);
 | 
			
		||||
            this.putEntityChange(!!this.isDeleted);
 | 
			
		||||
 | 
			
		||||
            if (!cls.isEntityEventsDisabled()) {
 | 
			
		||||
                const eventPayload = {
 | 
			
		||||
 | 
			
		||||
@ -48,8 +48,7 @@ const attachmentRoleToNoteTypeMapping = {
 | 
			
		||||
class BAttachment extends AbstractBeccaEntity {
 | 
			
		||||
    static get entityName() { return "attachments"; }
 | 
			
		||||
    static get primaryKeyName() { return "attachmentId"; }
 | 
			
		||||
    static get hashedProperties() { return ["attachmentId", "ownerId", "role", "mime", "title", "blobId",
 | 
			
		||||
                                            "utcDateScheduledForErasureSince", "utcDateModified"]; }
 | 
			
		||||
    static get hashedProperties() { return ["attachmentId", "ownerId", "role", "mime", "title", "blobId", "utcDateScheduledForErasureSince"]; }
 | 
			
		||||
 | 
			
		||||
    constructor(row) {
 | 
			
		||||
        super();
 | 
			
		||||
 | 
			
		||||
@ -178,11 +178,17 @@ class BNote extends AbstractBeccaEntity {
 | 
			
		||||
         */
 | 
			
		||||
        this.contentSize = null;
 | 
			
		||||
        /**
 | 
			
		||||
         * size of the content and note revision contents in bytes
 | 
			
		||||
         * size of the note content, attachment contents in bytes
 | 
			
		||||
         * @type {int|null}
 | 
			
		||||
         * @private
 | 
			
		||||
         */
 | 
			
		||||
        this.noteSize = null;
 | 
			
		||||
        this.contentAndAttachmentsSize = null;
 | 
			
		||||
        /**
 | 
			
		||||
         * size of the note content, attachment contents and revision contents in bytes
 | 
			
		||||
         * @type {int|null}
 | 
			
		||||
         * @private
 | 
			
		||||
         */
 | 
			
		||||
        this.contentAndAttachmentsAndRevisionsSize = null;
 | 
			
		||||
        /**
 | 
			
		||||
         * number of note revisions for this note
 | 
			
		||||
         * @type {int|null}
 | 
			
		||||
@ -1653,16 +1659,12 @@ class BNote extends AbstractBeccaEntity {
 | 
			
		||||
 | 
			
		||||
            revision.save(); // to generate revisionId, which is then used to save attachments
 | 
			
		||||
 | 
			
		||||
            if (this.type === 'text') {
 | 
			
		||||
                for (const noteAttachment of this.getAttachments()) {
 | 
			
		||||
                    if (noteAttachment.utcDateScheduledForErasureSince) {
 | 
			
		||||
                        continue;
 | 
			
		||||
                    }
 | 
			
		||||
 | 
			
		||||
                    const revisionAttachment = noteAttachment.copy();
 | 
			
		||||
                    revisionAttachment.ownerId = revision.revisionId;
 | 
			
		||||
                    revisionAttachment.setContent(noteAttachment.getContent(), {forceSave: true});
 | 
			
		||||
            for (const noteAttachment of this.getAttachments()) {
 | 
			
		||||
                const revisionAttachment = noteAttachment.copy();
 | 
			
		||||
                revisionAttachment.ownerId = revision.revisionId;
 | 
			
		||||
                revisionAttachment.setContent(noteAttachment.getContent(), {forceSave: true});
 | 
			
		||||
 | 
			
		||||
                if (this.type === 'text') {
 | 
			
		||||
                    // content is rewritten to point to the revision attachments
 | 
			
		||||
                    noteContent = noteContent.replaceAll(`attachments/${noteAttachment.attachmentId}`,
 | 
			
		||||
                        `attachments/${revisionAttachment.attachmentId}`);
 | 
			
		||||
 | 
			
		||||
@ -114,6 +114,29 @@ class BRevision extends AbstractBeccaEntity {
 | 
			
		||||
        return this._getContent();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @returns {*}
 | 
			
		||||
     * @throws Error in case of invalid JSON */
 | 
			
		||||
    getJsonContent() {
 | 
			
		||||
        const content = this.getContent();
 | 
			
		||||
 | 
			
		||||
        if (!content || !content.trim()) {
 | 
			
		||||
            return null;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        return JSON.parse(content);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /** @returns {*|null} valid object or null if the content cannot be parsed as JSON */
 | 
			
		||||
    getJsonContentSafely() {
 | 
			
		||||
        try {
 | 
			
		||||
            return this.getJsonContent();
 | 
			
		||||
        }
 | 
			
		||||
        catch (e) {
 | 
			
		||||
            return null;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @param content
 | 
			
		||||
     * @param {object} [opts]
 | 
			
		||||
@ -133,6 +156,45 @@ class BRevision extends AbstractBeccaEntity {
 | 
			
		||||
            .map(row => new BAttachment(row));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /** @returns {BAttachment|null} */
 | 
			
		||||
    getAttachmentById(attachmentId, opts = {}) {
 | 
			
		||||
        opts.includeContentLength = !!opts.includeContentLength;
 | 
			
		||||
 | 
			
		||||
        const query = opts.includeContentLength
 | 
			
		||||
            ? `SELECT attachments.*, LENGTH(blobs.content) AS contentLength
 | 
			
		||||
               FROM attachments 
 | 
			
		||||
               JOIN blobs USING (blobId) 
 | 
			
		||||
               WHERE ownerId = ? AND attachmentId = ? AND isDeleted = 0`
 | 
			
		||||
            : `SELECT * FROM attachments WHERE ownerId = ? AND attachmentId = ? AND isDeleted = 0`;
 | 
			
		||||
 | 
			
		||||
        return sql.getRows(query, [this.revisionId, attachmentId])
 | 
			
		||||
            .map(row => new BAttachment(row))[0];
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /** @returns {BAttachment[]} */
 | 
			
		||||
    getAttachmentsByRole(role) {
 | 
			
		||||
        return sql.getRows(`
 | 
			
		||||
                SELECT attachments.*
 | 
			
		||||
                FROM attachments 
 | 
			
		||||
                WHERE ownerId = ? 
 | 
			
		||||
                  AND role = ?
 | 
			
		||||
                  AND isDeleted = 0
 | 
			
		||||
                ORDER BY position`, [this.revisionId, role])
 | 
			
		||||
            .map(row => new BAttachment(row));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /** @returns {BAttachment} */
 | 
			
		||||
    getAttachmentByTitle(title) {
 | 
			
		||||
        return sql.getRows(`
 | 
			
		||||
                SELECT attachments.*
 | 
			
		||||
                FROM attachments 
 | 
			
		||||
                WHERE ownerId = ? 
 | 
			
		||||
                  AND title = ?
 | 
			
		||||
                  AND isDeleted = 0
 | 
			
		||||
                ORDER BY position`, [this.revisionId, title])
 | 
			
		||||
            .map(row => new BAttachment(row))[0];
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    beforeSaving() {
 | 
			
		||||
        super.beforeSaving();
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -266,7 +266,7 @@ available in the JS frontend notes. You can use e.g. <code>api.showMessage(api.s
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line76">line 76</a>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line77">line 77</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -334,7 +334,7 @@ available in the JS frontend notes. You can use e.g. <code>api.showMessage(api.s
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line73">line 73</a>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line74">line 74</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -402,7 +402,7 @@ available in the JS frontend notes. You can use e.g. <code>api.showMessage(api.s
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line70">line 70</a>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line71">line 71</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -462,7 +462,7 @@ available in the JS frontend notes. You can use e.g. <code>api.showMessage(api.s
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line371">line 371</a>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line372">line 372</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -486,7 +486,7 @@ available in the JS frontend notes. You can use e.g. <code>api.showMessage(api.s
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<div class="description">
 | 
			
		||||
    Note where the script is currently executing
 | 
			
		||||
    Note where the script is currently executing, i.e. the note where the currently executing source code is written.
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -607,7 +607,7 @@ See <a href="https://day.js.org">https://day.js.org</a> for documentation
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line67">line 67</a>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line68">line 68</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -638,7 +638,7 @@ See <a href="https://day.js.org">https://day.js.org</a> for documentation
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<div class="description">
 | 
			
		||||
    Entity whose event triggered this execution
 | 
			
		||||
    Entity whose event triggered this execution.
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -689,7 +689,7 @@ See <a href="https://day.js.org">https://day.js.org</a> for documentation
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line59">line 59</a>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line60">line 60</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -713,7 +713,7 @@ See <a href="https://day.js.org">https://day.js.org</a> for documentation
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<div class="description">
 | 
			
		||||
    Note where the script started executing
 | 
			
		||||
    Note where the script started executing, i.e., the (event) entrypoint of the current script execution.
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -890,7 +890,7 @@ See <a href="https://day.js.org">https://day.js.org</a> for documentation
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line95">line 95</a>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line96">line 96</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -1045,7 +1045,7 @@ See <a href="https://day.js.org">https://day.js.org</a> for documentation
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line85">line 85</a>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line86">line 86</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -1393,7 +1393,7 @@ See <a href="https://day.js.org">https://day.js.org</a> for documentation
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line155">line 155</a>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line156">line 156</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -1530,7 +1530,7 @@ See <a href="https://day.js.org">https://day.js.org</a> for documentation
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line379">line 379</a>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line380">line 380</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -1738,7 +1738,7 @@ See <a href="https://day.js.org">https://day.js.org</a> for documentation
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line545">line 545</a>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line546">line 546</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -2157,7 +2157,7 @@ See <a href="https://day.js.org">https://day.js.org</a> for documentation
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line368">line 368</a>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line369">line 369</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -2312,7 +2312,7 @@ See <a href="https://day.js.org">https://day.js.org</a> for documentation
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line282">line 282</a>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line283">line 283</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -2469,7 +2469,7 @@ See <a href="https://day.js.org">https://day.js.org</a> for documentation
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line589">line 589</a>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line590">line 590</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -2624,7 +2624,7 @@ See <a href="https://day.js.org">https://day.js.org</a> for documentation
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line581">line 581</a>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line582">line 582</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -2730,7 +2730,7 @@ See <a href="https://day.js.org">https://day.js.org</a> for documentation
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line391">line 391</a>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line392">line 392</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -2840,7 +2840,7 @@ See <a href="https://day.js.org">https://day.js.org</a> for documentation
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line425">line 425</a>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line426">line 426</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -2946,7 +2946,7 @@ See <a href="https://day.js.org">https://day.js.org</a> for documentation
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line385">line 385</a>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line386">line 386</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -3052,7 +3052,7 @@ See <a href="https://day.js.org">https://day.js.org</a> for documentation
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line440">line 440</a>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line441">line 441</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -3162,7 +3162,7 @@ See <a href="https://day.js.org">https://day.js.org</a> for documentation
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line417">line 417</a>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line418">line 418</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -3268,7 +3268,7 @@ See <a href="https://day.js.org">https://day.js.org</a> for documentation
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line397">line 397</a>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line398">line 398</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -3379,7 +3379,7 @@ implementation of actual widget type.
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line434">line 434</a>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line435">line 435</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -3534,7 +3534,7 @@ implementation of actual widget type.
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line449">line 449</a>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line450">line 450</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -3689,7 +3689,7 @@ implementation of actual widget type.
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line493">line 493</a>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line494">line 494</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -3796,7 +3796,7 @@ if some action needs to happen on only one specific instance.
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line275">line 275</a>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line276">line 276</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -3898,7 +3898,7 @@ if some action needs to happen on only one specific instance.
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line409">line 409</a>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line410">line 410</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -4057,7 +4057,7 @@ if some action needs to happen on only one specific instance.
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line511">line 511</a>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line512">line 512</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -4213,7 +4213,7 @@ if some action needs to happen on only one specific instance.
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line245">line 245</a>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line246">line 246</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -4315,7 +4315,7 @@ if some action needs to happen on only one specific instance.
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line403">line 403</a>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line404">line 404</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -4520,7 +4520,7 @@ otherwise (by e.g. createLink())
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line258">line 258</a>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line259">line 259</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -4626,7 +4626,7 @@ otherwise (by e.g. createLink())
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line484">line 484</a>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line485">line 485</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -4781,7 +4781,7 @@ otherwise (by e.g. createLink())
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line502">line 502</a>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line503">line 503</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -4936,7 +4936,7 @@ otherwise (by e.g. createLink())
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line520">line 520</a>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line521">line 521</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -5086,7 +5086,7 @@ otherwise (by e.g. createLink())
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line600">line 600</a>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line601">line 601</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -5264,7 +5264,7 @@ otherwise (by e.g. createLink())
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line128">line 128</a>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line129">line 129</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -5442,7 +5442,7 @@ otherwise (by e.g. createLink())
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line110">line 110</a>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line111">line 111</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -5593,7 +5593,7 @@ otherwise (by e.g. createLink())
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line289">line 289</a>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line290">line 290</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -5771,7 +5771,7 @@ otherwise (by e.g. createLink())
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line464">line 464</a>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line465">line 465</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -5945,7 +5945,7 @@ otherwise (by e.g. createLink())
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line474">line 474</a>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line475">line 475</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -6100,7 +6100,7 @@ otherwise (by e.g. createLink())
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line574">line 574</a>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line575">line 575</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -6254,7 +6254,7 @@ otherwise (by e.g. createLink())
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line565">line 565</a>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line566">line 566</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -6409,7 +6409,7 @@ otherwise (by e.g. createLink())
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line266">line 266</a>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line267">line 267</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -6573,7 +6573,7 @@ Internally this serializes the anonymous function into string and sends it to ba
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line188">line 188</a>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line189">line 189</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -6733,7 +6733,7 @@ Internally this serializes the anonymous function into string and sends it to ba
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line232">line 232</a>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line233">line 233</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -6889,7 +6889,7 @@ Internally this serializes the anonymous function into string and sends it to ba
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line220">line 220</a>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line221">line 221</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -7044,7 +7044,7 @@ Internally this serializes the anonymous function into string and sends it to ba
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line529">line 529</a>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line530">line 530</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -7195,7 +7195,7 @@ Internally this serializes the anonymous function into string and sends it to ba
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line456">line 456</a>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line457">line 457</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -7350,7 +7350,7 @@ Internally this serializes the anonymous function into string and sends it to ba
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line323">line 323</a>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line324">line 324</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -7509,7 +7509,7 @@ Internally this serializes the anonymous function into string and sends it to ba
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line305">line 305</a>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line306">line 306</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -7646,7 +7646,7 @@ Internally this serializes the anonymous function into string and sends it to ba
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line314">line 314</a>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line315">line 315</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -7801,7 +7801,7 @@ Internally this serializes the anonymous function into string and sends it to ba
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line297">line 297</a>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line298">line 298</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -8033,7 +8033,7 @@ Internally this serializes the anonymous function into string and sends it to ba
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line335">line 335</a>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line336">line 336</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -8215,7 +8215,7 @@ Internally this serializes the anonymous function into string and sends it to ba
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line344">line 344</a>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line345">line 345</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -8375,7 +8375,7 @@ Internally this serializes the anonymous function into string and sends it to ba
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line353">line 353</a>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line354">line 354</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -8467,7 +8467,7 @@ Typical use case is when a new note has been created, we should wait until it is
 | 
			
		||||
    
 | 
			
		||||
    <dt class="tag-source">Source:</dt>
 | 
			
		||||
    <dd class="tag-source"><ul class="dummy"><li>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line557">line 557</a>
 | 
			
		||||
        <a href="services_frontend_script_api.js.html">services/frontend_script_api.js</a>, <a href="services_frontend_script_api.js.html#line558">line 558</a>
 | 
			
		||||
    </li></ul></dd>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -70,18 +70,19 @@ function FrontendScriptApi(startNote, currentNote, originEntity = null, $contain
 | 
			
		||||
    this.$container = $container;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Note where the script started executing
 | 
			
		||||
     * Note where the script started executing, i.e., the (event) entrypoint of the current script execution.
 | 
			
		||||
     * @type {FNote}
 | 
			
		||||
     */
 | 
			
		||||
    this.startNote = startNote;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Note where the script is currently executing
 | 
			
		||||
     * Note where the script is currently executing, i.e. the note where the currently executing source code is written.
 | 
			
		||||
     * @type {FNote}
 | 
			
		||||
     */
 | 
			
		||||
    this.currentNote = currentNote;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Entity whose event triggered this execution
 | 
			
		||||
     * Entity whose event triggered this execution.
 | 
			
		||||
     * @type {object|null}
 | 
			
		||||
     */
 | 
			
		||||
    this.originEntity = originEntity;
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										2
									
								
								libraries/codemirror/addon/lint/eslint.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								libraries/codemirror/addon/lint/eslint.js
									
									
									
									
										vendored
									
									
								
							@ -46,7 +46,7 @@
 | 
			
		||||
        const errors = new eslint().verify(text, {
 | 
			
		||||
            root: true,
 | 
			
		||||
            parserOptions: {
 | 
			
		||||
                ecmaVersion: 2022
 | 
			
		||||
                ecmaVersion: "latest"
 | 
			
		||||
            },
 | 
			
		||||
            extends: ['eslint:recommended', 'airbnb-base'],
 | 
			
		||||
            env: {
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										13
									
								
								libraries/codemirror/addon/lint/lint.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										13
									
								
								libraries/codemirror/addon/lint/lint.js
									
									
									
									
										vendored
									
									
								
							@ -24,8 +24,10 @@
 | 
			
		||||
 | 
			
		||||
    function position(e) {
 | 
			
		||||
      if (!tt.parentNode) return CodeMirror.off(document, "mousemove", position);
 | 
			
		||||
      tt.style.top = Math.max(0, e.clientY - tt.offsetHeight - 5) + "px";
 | 
			
		||||
      tt.style.left = (e.clientX + 5) + "px";
 | 
			
		||||
      var top = Math.max(0, e.clientY - tt.offsetHeight - 5);
 | 
			
		||||
      var left = Math.max(0, Math.min(e.clientX + 5, tt.ownerDocument.defaultView.innerWidth - tt.offsetWidth));
 | 
			
		||||
      tt.style.top = top + "px"
 | 
			
		||||
      tt.style.left = left + "px";
 | 
			
		||||
    }
 | 
			
		||||
    CodeMirror.on(document, "mousemove", position);
 | 
			
		||||
    position(e);
 | 
			
		||||
@ -199,10 +201,6 @@
 | 
			
		||||
      var anns = annotations[line];
 | 
			
		||||
      if (!anns) continue;
 | 
			
		||||
 | 
			
		||||
      // filter out duplicate messages
 | 
			
		||||
      var message = [];
 | 
			
		||||
      anns = anns.filter(function(item) { return message.indexOf(item.message) > -1 ? false : message.push(item.message) });
 | 
			
		||||
 | 
			
		||||
      var maxSeverity = null;
 | 
			
		||||
      var tipLabel = state.hasGutter && document.createDocumentFragment();
 | 
			
		||||
 | 
			
		||||
@ -220,9 +218,8 @@
 | 
			
		||||
          __annotation: ann
 | 
			
		||||
        }));
 | 
			
		||||
      }
 | 
			
		||||
      // use original annotations[line] to show multiple messages
 | 
			
		||||
      if (state.hasGutter)
 | 
			
		||||
        cm.setGutterMarker(line, GUTTER_ID, makeMarker(cm, tipLabel, maxSeverity, annotations[line].length > 1,
 | 
			
		||||
        cm.setGutterMarker(line, GUTTER_ID, makeMarker(cm, tipLabel, maxSeverity, anns.length > 1,
 | 
			
		||||
                                                       options.tooltips));
 | 
			
		||||
 | 
			
		||||
      if (options.highlightLines)
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										136
									
								
								libraries/codemirror/addon/mode/multiplex.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										136
									
								
								libraries/codemirror/addon/mode/multiplex.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,136 @@
 | 
			
		||||
// CodeMirror, copyright (c) by Marijn Haverbeke and others
 | 
			
		||||
// Distributed under an MIT license: https://codemirror.net/5/LICENSE
 | 
			
		||||
 | 
			
		||||
(function(mod) {
 | 
			
		||||
  if (typeof exports == "object" && typeof module == "object") // CommonJS
 | 
			
		||||
    mod(require("../../lib/codemirror"));
 | 
			
		||||
  else if (typeof define == "function" && define.amd) // AMD
 | 
			
		||||
    define(["../../lib/codemirror"], mod);
 | 
			
		||||
  else // Plain browser env
 | 
			
		||||
    mod(CodeMirror);
 | 
			
		||||
})(function(CodeMirror) {
 | 
			
		||||
"use strict";
 | 
			
		||||
 | 
			
		||||
CodeMirror.multiplexingMode = function(outer /*, others */) {
 | 
			
		||||
  // Others should be {open, close, mode [, delimStyle] [, innerStyle] [, parseDelimiters]} objects
 | 
			
		||||
  var others = Array.prototype.slice.call(arguments, 1);
 | 
			
		||||
 | 
			
		||||
  function indexOf(string, pattern, from, returnEnd) {
 | 
			
		||||
    if (typeof pattern == "string") {
 | 
			
		||||
      var found = string.indexOf(pattern, from);
 | 
			
		||||
      return returnEnd && found > -1 ? found + pattern.length : found;
 | 
			
		||||
    }
 | 
			
		||||
    var m = pattern.exec(from ? string.slice(from) : string);
 | 
			
		||||
    return m ? m.index + from + (returnEnd ? m[0].length : 0) : -1;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return {
 | 
			
		||||
    startState: function() {
 | 
			
		||||
      return {
 | 
			
		||||
        outer: CodeMirror.startState(outer),
 | 
			
		||||
        innerActive: null,
 | 
			
		||||
        inner: null,
 | 
			
		||||
        startingInner: false
 | 
			
		||||
      };
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    copyState: function(state) {
 | 
			
		||||
      return {
 | 
			
		||||
        outer: CodeMirror.copyState(outer, state.outer),
 | 
			
		||||
        innerActive: state.innerActive,
 | 
			
		||||
        inner: state.innerActive && CodeMirror.copyState(state.innerActive.mode, state.inner),
 | 
			
		||||
        startingInner: state.startingInner
 | 
			
		||||
      };
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    token: function(stream, state) {
 | 
			
		||||
      if (!state.innerActive) {
 | 
			
		||||
        var cutOff = Infinity, oldContent = stream.string;
 | 
			
		||||
        for (var i = 0; i < others.length; ++i) {
 | 
			
		||||
          var other = others[i];
 | 
			
		||||
          var found = indexOf(oldContent, other.open, stream.pos);
 | 
			
		||||
          if (found == stream.pos) {
 | 
			
		||||
            if (!other.parseDelimiters) stream.match(other.open);
 | 
			
		||||
            state.startingInner = !!other.parseDelimiters
 | 
			
		||||
            state.innerActive = other;
 | 
			
		||||
 | 
			
		||||
            // Get the outer indent, making sure to handle CodeMirror.Pass
 | 
			
		||||
            var outerIndent = 0;
 | 
			
		||||
            if (outer.indent) {
 | 
			
		||||
              var possibleOuterIndent = outer.indent(state.outer, "", "");
 | 
			
		||||
              if (possibleOuterIndent !== CodeMirror.Pass) outerIndent = possibleOuterIndent;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            state.inner = CodeMirror.startState(other.mode, outerIndent);
 | 
			
		||||
            return other.delimStyle && (other.delimStyle + " " + other.delimStyle + "-open");
 | 
			
		||||
          } else if (found != -1 && found < cutOff) {
 | 
			
		||||
            cutOff = found;
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
        if (cutOff != Infinity) stream.string = oldContent.slice(0, cutOff);
 | 
			
		||||
        var outerToken = outer.token(stream, state.outer);
 | 
			
		||||
        if (cutOff != Infinity) stream.string = oldContent;
 | 
			
		||||
        return outerToken;
 | 
			
		||||
      } else {
 | 
			
		||||
        var curInner = state.innerActive, oldContent = stream.string;
 | 
			
		||||
        if (!curInner.close && stream.sol()) {
 | 
			
		||||
          state.innerActive = state.inner = null;
 | 
			
		||||
          return this.token(stream, state);
 | 
			
		||||
        }
 | 
			
		||||
        var found = curInner.close && !state.startingInner ?
 | 
			
		||||
            indexOf(oldContent, curInner.close, stream.pos, curInner.parseDelimiters) : -1;
 | 
			
		||||
        if (found == stream.pos && !curInner.parseDelimiters) {
 | 
			
		||||
          stream.match(curInner.close);
 | 
			
		||||
          state.innerActive = state.inner = null;
 | 
			
		||||
          return curInner.delimStyle && (curInner.delimStyle + " " + curInner.delimStyle + "-close");
 | 
			
		||||
        }
 | 
			
		||||
        if (found > -1) stream.string = oldContent.slice(0, found);
 | 
			
		||||
        var innerToken = curInner.mode.token(stream, state.inner);
 | 
			
		||||
        if (found > -1) stream.string = oldContent;
 | 
			
		||||
        else if (stream.pos > stream.start) state.startingInner = false
 | 
			
		||||
 | 
			
		||||
        if (found == stream.pos && curInner.parseDelimiters)
 | 
			
		||||
          state.innerActive = state.inner = null;
 | 
			
		||||
 | 
			
		||||
        if (curInner.innerStyle) {
 | 
			
		||||
          if (innerToken) innerToken = innerToken + " " + curInner.innerStyle;
 | 
			
		||||
          else innerToken = curInner.innerStyle;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        return innerToken;
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    indent: function(state, textAfter, line) {
 | 
			
		||||
      var mode = state.innerActive ? state.innerActive.mode : outer;
 | 
			
		||||
      if (!mode.indent) return CodeMirror.Pass;
 | 
			
		||||
      return mode.indent(state.innerActive ? state.inner : state.outer, textAfter, line);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    blankLine: function(state) {
 | 
			
		||||
      var mode = state.innerActive ? state.innerActive.mode : outer;
 | 
			
		||||
      if (mode.blankLine) {
 | 
			
		||||
        mode.blankLine(state.innerActive ? state.inner : state.outer);
 | 
			
		||||
      }
 | 
			
		||||
      if (!state.innerActive) {
 | 
			
		||||
        for (var i = 0; i < others.length; ++i) {
 | 
			
		||||
          var other = others[i];
 | 
			
		||||
          if (other.open === "\n") {
 | 
			
		||||
            state.innerActive = other;
 | 
			
		||||
            state.inner = CodeMirror.startState(other.mode, mode.indent ? mode.indent(state.outer, "", "") : 0);
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
      } else if (state.innerActive.close === "\n") {
 | 
			
		||||
        state.innerActive = state.inner = null;
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    electricChars: outer.electricChars,
 | 
			
		||||
 | 
			
		||||
    innerMode: function(state) {
 | 
			
		||||
      return state.inner ? {state: state.inner, mode: state.innerActive.mode} : {state: state.outer, mode: outer};
 | 
			
		||||
    }
 | 
			
		||||
  };
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
});
 | 
			
		||||
							
								
								
									
										90
									
								
								libraries/codemirror/addon/mode/overlay.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										90
									
								
								libraries/codemirror/addon/mode/overlay.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,90 @@
 | 
			
		||||
// CodeMirror, copyright (c) by Marijn Haverbeke and others
 | 
			
		||||
// Distributed under an MIT license: https://codemirror.net/5/LICENSE
 | 
			
		||||
 | 
			
		||||
// Utility function that allows modes to be combined. The mode given
 | 
			
		||||
// as the base argument takes care of most of the normal mode
 | 
			
		||||
// functionality, but a second (typically simple) mode is used, which
 | 
			
		||||
// can override the style of text. Both modes get to parse all of the
 | 
			
		||||
// text, but when both assign a non-null style to a piece of code, the
 | 
			
		||||
// overlay wins, unless the combine argument was true and not overridden,
 | 
			
		||||
// or state.overlay.combineTokens was true, in which case the styles are
 | 
			
		||||
// combined.
 | 
			
		||||
 | 
			
		||||
(function(mod) {
 | 
			
		||||
  if (typeof exports == "object" && typeof module == "object") // CommonJS
 | 
			
		||||
    mod(require("../../lib/codemirror"));
 | 
			
		||||
  else if (typeof define == "function" && define.amd) // AMD
 | 
			
		||||
    define(["../../lib/codemirror"], mod);
 | 
			
		||||
  else // Plain browser env
 | 
			
		||||
    mod(CodeMirror);
 | 
			
		||||
})(function(CodeMirror) {
 | 
			
		||||
"use strict";
 | 
			
		||||
 | 
			
		||||
CodeMirror.overlayMode = function(base, overlay, combine) {
 | 
			
		||||
  return {
 | 
			
		||||
    startState: function() {
 | 
			
		||||
      return {
 | 
			
		||||
        base: CodeMirror.startState(base),
 | 
			
		||||
        overlay: CodeMirror.startState(overlay),
 | 
			
		||||
        basePos: 0, baseCur: null,
 | 
			
		||||
        overlayPos: 0, overlayCur: null,
 | 
			
		||||
        streamSeen: null
 | 
			
		||||
      };
 | 
			
		||||
    },
 | 
			
		||||
    copyState: function(state) {
 | 
			
		||||
      return {
 | 
			
		||||
        base: CodeMirror.copyState(base, state.base),
 | 
			
		||||
        overlay: CodeMirror.copyState(overlay, state.overlay),
 | 
			
		||||
        basePos: state.basePos, baseCur: null,
 | 
			
		||||
        overlayPos: state.overlayPos, overlayCur: null
 | 
			
		||||
      };
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    token: function(stream, state) {
 | 
			
		||||
      if (stream != state.streamSeen ||
 | 
			
		||||
          Math.min(state.basePos, state.overlayPos) < stream.start) {
 | 
			
		||||
        state.streamSeen = stream;
 | 
			
		||||
        state.basePos = state.overlayPos = stream.start;
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      if (stream.start == state.basePos) {
 | 
			
		||||
        state.baseCur = base.token(stream, state.base);
 | 
			
		||||
        state.basePos = stream.pos;
 | 
			
		||||
      }
 | 
			
		||||
      if (stream.start == state.overlayPos) {
 | 
			
		||||
        stream.pos = stream.start;
 | 
			
		||||
        state.overlayCur = overlay.token(stream, state.overlay);
 | 
			
		||||
        state.overlayPos = stream.pos;
 | 
			
		||||
      }
 | 
			
		||||
      stream.pos = Math.min(state.basePos, state.overlayPos);
 | 
			
		||||
 | 
			
		||||
      // state.overlay.combineTokens always takes precedence over combine,
 | 
			
		||||
      // unless set to null
 | 
			
		||||
      if (state.overlayCur == null) return state.baseCur;
 | 
			
		||||
      else if (state.baseCur != null &&
 | 
			
		||||
               state.overlay.combineTokens ||
 | 
			
		||||
               combine && state.overlay.combineTokens == null)
 | 
			
		||||
        return state.baseCur + " " + state.overlayCur;
 | 
			
		||||
      else return state.overlayCur;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    indent: base.indent && function(state, textAfter, line) {
 | 
			
		||||
      return base.indent(state.base, textAfter, line);
 | 
			
		||||
    },
 | 
			
		||||
    electricChars: base.electricChars,
 | 
			
		||||
 | 
			
		||||
    innerMode: function(state) { return {state: state.base, mode: base}; },
 | 
			
		||||
 | 
			
		||||
    blankLine: function(state) {
 | 
			
		||||
      var baseToken, overlayToken;
 | 
			
		||||
      if (base.blankLine) baseToken = base.blankLine(state.base);
 | 
			
		||||
      if (overlay.blankLine) overlayToken = overlay.blankLine(state.overlay);
 | 
			
		||||
 | 
			
		||||
      return overlayToken == null ?
 | 
			
		||||
        baseToken :
 | 
			
		||||
        (combine && baseToken != null ? baseToken + " " + overlayToken : overlayToken);
 | 
			
		||||
    }
 | 
			
		||||
  };
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
});
 | 
			
		||||
@ -8259,8 +8259,8 @@
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  function disableBrowserMagic(field, spellcheck, autocorrect, autocapitalize) {
 | 
			
		||||
    field.setAttribute("autocorrect", autocorrect ? "" : "off");
 | 
			
		||||
    field.setAttribute("autocapitalize", autocapitalize ? "" : "off");
 | 
			
		||||
    field.setAttribute("autocorrect", autocorrect ? "on" : "off");
 | 
			
		||||
    field.setAttribute("autocapitalize", autocapitalize ? "on" : "off");
 | 
			
		||||
    field.setAttribute("spellcheck", !!spellcheck);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
@ -8275,7 +8275,6 @@
 | 
			
		||||
    else { te.setAttribute("wrap", "off"); }
 | 
			
		||||
    // If border: 0; -- iOS fails to open keyboard (issue #1287)
 | 
			
		||||
    if (ios) { te.style.border = "1px solid black"; }
 | 
			
		||||
    disableBrowserMagic(te);
 | 
			
		||||
    return div
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
@ -8897,6 +8896,7 @@
 | 
			
		||||
      }
 | 
			
		||||
      // Old-fashioned briefly-focus-a-textarea hack
 | 
			
		||||
      var kludge = hiddenTextarea(), te = kludge.firstChild;
 | 
			
		||||
      disableBrowserMagic(te);
 | 
			
		||||
      cm.display.lineSpace.insertBefore(kludge, cm.display.lineSpace.firstChild);
 | 
			
		||||
      te.value = lastCopied.text.join("\n");
 | 
			
		||||
      var hadFocus = activeElt(div.ownerDocument);
 | 
			
		||||
@ -9461,6 +9461,8 @@
 | 
			
		||||
    // The semihidden textarea that is focused when the editor is
 | 
			
		||||
    // focused, and receives input.
 | 
			
		||||
    this.textarea = this.wrapper.firstChild;
 | 
			
		||||
    var opts = this.cm.options;
 | 
			
		||||
    disableBrowserMagic(this.textarea, opts.spellcheck, opts.autocorrect, opts.autocapitalize);
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  TextareaInput.prototype.screenReaderLabelChanged = function (label) {
 | 
			
		||||
@ -9865,7 +9867,7 @@
 | 
			
		||||
 | 
			
		||||
  addLegacyProps(CodeMirror);
 | 
			
		||||
 | 
			
		||||
  CodeMirror.version = "5.65.9";
 | 
			
		||||
  CodeMirror.version = "5.65.15";
 | 
			
		||||
 | 
			
		||||
  return CodeMirror;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										10
									
								
								libraries/codemirror/mode/clike/clike.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										10
									
								
								libraries/codemirror/mode/clike/clike.js
									
									
									
									
										vendored
									
									
								
							@ -218,7 +218,8 @@ CodeMirror.defineMode("clike", function(config, parserConfig) {
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    indent: function(state, textAfter) {
 | 
			
		||||
      if (state.tokenize != tokenBase && state.tokenize != null || state.typeAtEndOfLine) return CodeMirror.Pass;
 | 
			
		||||
      if (state.tokenize != tokenBase && state.tokenize != null || state.typeAtEndOfLine && isTopScope(state.context))
 | 
			
		||||
        return CodeMirror.Pass;
 | 
			
		||||
      var ctx = state.context, firstChar = textAfter && textAfter.charAt(0);
 | 
			
		||||
      var closing = firstChar == ctx.type;
 | 
			
		||||
      if (ctx.type == "statement" && firstChar == "}") ctx = ctx.prev;
 | 
			
		||||
@ -512,8 +513,8 @@ CodeMirror.defineMode("clike", function(config, parserConfig) {
 | 
			
		||||
    name: "clike",
 | 
			
		||||
    keywords: words("abstract as async await base break case catch checked class const continue" +
 | 
			
		||||
                    " default delegate do else enum event explicit extern finally fixed for" +
 | 
			
		||||
                    " foreach goto if implicit in interface internal is lock namespace new" +
 | 
			
		||||
                    " operator out override params private protected public readonly ref return sealed" +
 | 
			
		||||
                    " foreach goto if implicit in init interface internal is lock namespace new" +
 | 
			
		||||
                    " operator out override params private protected public readonly record ref required return sealed" +
 | 
			
		||||
                    " sizeof stackalloc static struct switch this throw try typeof unchecked" +
 | 
			
		||||
                    " unsafe using virtual void volatile while add alias ascending descending dynamic from get" +
 | 
			
		||||
                    " global group into join let orderby partial remove select set value var yield"),
 | 
			
		||||
@ -522,7 +523,7 @@ CodeMirror.defineMode("clike", function(config, parserConfig) {
 | 
			
		||||
                 " UInt64 bool byte char decimal double short int long object"  +
 | 
			
		||||
                 " sbyte float string ushort uint ulong"),
 | 
			
		||||
    blockKeywords: words("catch class do else finally for foreach if struct switch try while"),
 | 
			
		||||
    defKeywords: words("class interface namespace struct var"),
 | 
			
		||||
    defKeywords: words("class interface namespace record struct var"),
 | 
			
		||||
    typeFirstDefinitions: true,
 | 
			
		||||
    atoms: words("true false null"),
 | 
			
		||||
    hooks: {
 | 
			
		||||
@ -613,6 +614,7 @@ CodeMirror.defineMode("clike", function(config, parserConfig) {
 | 
			
		||||
        return state.tokenize(stream, state);
 | 
			
		||||
      },
 | 
			
		||||
      "'": function(stream) {
 | 
			
		||||
        if (stream.match(/^(\\[^'\s]+|[^\\'])'/)) return "string-2"
 | 
			
		||||
        stream.eatWhile(/[\w\$_\xa1-\uffff]/);
 | 
			
		||||
        return "atom";
 | 
			
		||||
      },
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										8
									
								
								libraries/codemirror/mode/dart/dart.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								libraries/codemirror/mode/dart/dart.js
									
									
									
									
										vendored
									
									
								
							@ -12,10 +12,10 @@
 | 
			
		||||
  "use strict";
 | 
			
		||||
 | 
			
		||||
  var keywords = ("this super static final const abstract class extends external factory " +
 | 
			
		||||
    "implements mixin get native set typedef with enum throw rethrow " +
 | 
			
		||||
    "assert break case continue default in return new deferred async await covariant " +
 | 
			
		||||
    "try catch finally do else for if switch while import library export " +
 | 
			
		||||
    "part of show hide is as extension on yield late required").split(" ");
 | 
			
		||||
    "implements mixin get native set typedef with enum throw rethrow assert break case " +
 | 
			
		||||
    "continue default in return new deferred async await covariant try catch finally " +
 | 
			
		||||
    "do else for if switch while import library export part of show hide is as extension " +
 | 
			
		||||
    "on yield late required sealed base interface when inline").split(" ");
 | 
			
		||||
  var blockKeywords = "try catch finally do else for if switch while".split(" ");
 | 
			
		||||
  var atoms = "true false null".split(" ");
 | 
			
		||||
  var builtins = "void bool num int double dynamic var String Null Never".split(" ");
 | 
			
		||||
 | 
			
		||||
@ -779,7 +779,7 @@ CodeMirror.defineMode("javascript", function(config, parserConfig) {
 | 
			
		||||
    if (type == "async" ||
 | 
			
		||||
        (type == "variable" &&
 | 
			
		||||
         (value == "static" || value == "get" || value == "set" || (isTS && isModifier(value))) &&
 | 
			
		||||
         cx.stream.match(/^\s+[\w$\xa1-\uffff]/, false))) {
 | 
			
		||||
         cx.stream.match(/^\s+#?[\w$\xa1-\uffff]/, false))) {
 | 
			
		||||
      cx.marked = "keyword";
 | 
			
		||||
      return cont(classBody);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										2
									
								
								libraries/codemirror/mode/nsis/nsis.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								libraries/codemirror/mode/nsis/nsis.js
									
									
									
									
										vendored
									
									
								
							@ -24,7 +24,7 @@ CodeMirror.defineSimpleMode("nsis",{
 | 
			
		||||
    { regex: /`(?:[^\\`]|\\.)*`?/, token: "string" },
 | 
			
		||||
 | 
			
		||||
    // Compile Time Commands
 | 
			
		||||
    {regex: /^\s*(?:\!(addincludedir|addplugindir|appendfile|cd|define|delfile|echo|error|execute|finalize|getdllversion|gettlbversion|include|insertmacro|macro|macroend|makensis|packhdr|pragma|searchparse|searchreplace|system|tempfile|undef|uninstfinalize|verbose|warning))\b/i, token: "keyword"},
 | 
			
		||||
    {regex: /^\s*(?:\!(addincludedir|addplugindir|appendfile|assert|cd|define|delfile|echo|error|execute|finalize|getdllversion|gettlbversion|include|insertmacro|macro|macroend|makensis|packhdr|pragma|searchparse|searchreplace|system|tempfile|undef|uninstfinalize|verbose|warning))\b/i, token: "keyword"},
 | 
			
		||||
 | 
			
		||||
    // Conditional Compilation
 | 
			
		||||
    {regex: /^\s*(?:\!(if(?:n?def)?|ifmacron?def|macro))\b/i, token: "keyword", indent: true},
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										3
									
								
								libraries/codemirror/mode/pegjs/pegjs.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								libraries/codemirror/mode/pegjs/pegjs.js
									
									
									
									
										vendored
									
									
								
							@ -31,8 +31,6 @@ CodeMirror.defineMode("pegjs", function (config) {
 | 
			
		||||
      };
 | 
			
		||||
    },
 | 
			
		||||
    token: function (stream, state) {
 | 
			
		||||
      if (stream)
 | 
			
		||||
 | 
			
		||||
      //check for state changes
 | 
			
		||||
      if (!state.inString && !state.inComment && ((stream.peek() == '"') || (stream.peek() == "'"))) {
 | 
			
		||||
        state.stringType = stream.peek();
 | 
			
		||||
@ -43,7 +41,6 @@ CodeMirror.defineMode("pegjs", function (config) {
 | 
			
		||||
        state.inComment = true;
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      //return state
 | 
			
		||||
      if (state.inString) {
 | 
			
		||||
        while (state.inString && !stream.eol()) {
 | 
			
		||||
          if (stream.peek() === state.stringType) {
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										6
									
								
								libraries/codemirror/mode/python/python.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								libraries/codemirror/mode/python/python.js
									
									
									
									
										vendored
									
									
								
							@ -20,7 +20,7 @@
 | 
			
		||||
                        "def", "del", "elif", "else", "except", "finally",
 | 
			
		||||
                        "for", "from", "global", "if", "import",
 | 
			
		||||
                        "lambda", "pass", "raise", "return",
 | 
			
		||||
                        "try", "while", "with", "yield", "in"];
 | 
			
		||||
                        "try", "while", "with", "yield", "in", "False", "True"];
 | 
			
		||||
  var commonBuiltins = ["abs", "all", "any", "bin", "bool", "bytearray", "callable", "chr",
 | 
			
		||||
                        "classmethod", "compile", "complex", "delattr", "dict", "dir", "divmod",
 | 
			
		||||
                        "enumerate", "eval", "filter", "float", "format", "frozenset",
 | 
			
		||||
@ -60,7 +60,7 @@
 | 
			
		||||
    if (py3) {
 | 
			
		||||
      // since http://legacy.python.org/dev/peps/pep-0465/ @ is also an operator
 | 
			
		||||
      var identifiers = parserConf.identifiers|| /^[_A-Za-z\u00A1-\uFFFF][_A-Za-z0-9\u00A1-\uFFFF]*/;
 | 
			
		||||
      myKeywords = myKeywords.concat(["nonlocal", "False", "True", "None", "async", "await"]);
 | 
			
		||||
      myKeywords = myKeywords.concat(["nonlocal", "None", "aiter", "anext", "async", "await", "breakpoint", "match", "case"]);
 | 
			
		||||
      myBuiltins = myBuiltins.concat(["ascii", "bytes", "exec", "print"]);
 | 
			
		||||
      var stringPrefixes = new RegExp("^(([rbuf]|(br)|(rb)|(fr)|(rf))?('{3}|\"{3}|['\"]))", "i");
 | 
			
		||||
    } else {
 | 
			
		||||
@ -68,7 +68,7 @@
 | 
			
		||||
      myKeywords = myKeywords.concat(["exec", "print"]);
 | 
			
		||||
      myBuiltins = myBuiltins.concat(["apply", "basestring", "buffer", "cmp", "coerce", "execfile",
 | 
			
		||||
                                      "file", "intern", "long", "raw_input", "reduce", "reload",
 | 
			
		||||
                                      "unichr", "unicode", "xrange", "False", "True", "None"]);
 | 
			
		||||
                                      "unichr", "unicode", "xrange", "None"]);
 | 
			
		||||
      var stringPrefixes = new RegExp("^(([rubf]|(ur)|(br))?('{3}|\"{3}|['\"]))", "i");
 | 
			
		||||
    }
 | 
			
		||||
    var keywords = wordRegexp(myKeywords);
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										23
									
								
								libraries/codemirror/mode/sparql/sparql.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										23
									
								
								libraries/codemirror/mode/sparql/sparql.js
									
									
									
									
										vendored
									
									
								
							@ -33,6 +33,9 @@ CodeMirror.defineMode("sparql", function(config) {
 | 
			
		||||
                             "true", "false", "with",
 | 
			
		||||
                             "data", "copy", "to", "move", "add", "create", "drop", "clear", "load", "into"]);
 | 
			
		||||
  var operatorChars = /[*+\-<>=&|\^\/!\?]/;
 | 
			
		||||
  var PN_CHARS = "[A-Za-z_\\-0-9]";
 | 
			
		||||
  var PREFIX_START = new RegExp("[A-Za-z]");
 | 
			
		||||
  var PREFIX_REMAINDER = new RegExp("((" + PN_CHARS + "|\\.)*(" + PN_CHARS + "))?:");
 | 
			
		||||
 | 
			
		||||
  function tokenBase(stream, state) {
 | 
			
		||||
    var ch = stream.next();
 | 
			
		||||
@ -71,20 +74,18 @@ CodeMirror.defineMode("sparql", function(config) {
 | 
			
		||||
      stream.eatWhile(/[a-z\d\-]/i);
 | 
			
		||||
      return "meta";
 | 
			
		||||
    }
 | 
			
		||||
    else {
 | 
			
		||||
      stream.eatWhile(/[_\w\d]/);
 | 
			
		||||
      if (stream.eat(":")) {
 | 
			
		||||
    else if (PREFIX_START.test(ch) && stream.match(PREFIX_REMAINDER)) {
 | 
			
		||||
        eatPnLocal(stream);
 | 
			
		||||
        return "atom";
 | 
			
		||||
      }
 | 
			
		||||
      var word = stream.current();
 | 
			
		||||
      if (ops.test(word))
 | 
			
		||||
        return "builtin";
 | 
			
		||||
      else if (keywords.test(word))
 | 
			
		||||
        return "keyword";
 | 
			
		||||
      else
 | 
			
		||||
        return "variable";
 | 
			
		||||
    }
 | 
			
		||||
    stream.eatWhile(/[_\w\d]/);
 | 
			
		||||
    var word = stream.current();
 | 
			
		||||
    if (ops.test(word))
 | 
			
		||||
      return "builtin";
 | 
			
		||||
    else if (keywords.test(word))
 | 
			
		||||
      return "keyword";
 | 
			
		||||
    else
 | 
			
		||||
      return "variable";
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  function eatPnLocal(stream) {
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										26
									
								
								libraries/codemirror/mode/sql/sql.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										26
									
								
								libraries/codemirror/mode/sql/sql.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										2
									
								
								libraries/codemirror/mode/yaml/yaml.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								libraries/codemirror/mode/yaml/yaml.js
									
									
									
									
										vendored
									
									
								
							@ -85,7 +85,7 @@ CodeMirror.defineMode("yaml", function() {
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      /* pairs (associative arrays) -> key */
 | 
			
		||||
      if (!state.pair && stream.match(/^\s*(?:[,\[\]{}&*!|>'"%@`][^\s'":]|[^,\[\]{}#&*!|>'"%@`])[^#]*?(?=\s*:($|\s))/)) {
 | 
			
		||||
      if (!state.pair && stream.match(/^\s*(?:[,\[\]{}&*!|>'"%@`][^\s'":]|[^\s,\[\]{}#&*!|>'"%@`])[^#:]*(?=:($|\s))/)) {
 | 
			
		||||
        state.pair = true;
 | 
			
		||||
        state.keyCol = stream.indentation();
 | 
			
		||||
        return "atom";
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										2462
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2462
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										22
									
								
								package.json
									
									
									
									
									
								
							
							
						
						
									
										22
									
								
								package.json
									
									
									
									
									
								
							@ -2,7 +2,7 @@
 | 
			
		||||
  "name": "trilium",
 | 
			
		||||
  "productName": "Trilium Notes",
 | 
			
		||||
  "description": "Trilium Notes",
 | 
			
		||||
  "version": "0.61.7-beta",
 | 
			
		||||
  "version": "0.61.8-beta",
 | 
			
		||||
  "license": "AGPL-3.0-only",
 | 
			
		||||
  "main": "electron.js",
 | 
			
		||||
  "bin": {
 | 
			
		||||
@ -34,9 +34,9 @@
 | 
			
		||||
    "@braintree/sanitize-url": "6.0.4",
 | 
			
		||||
    "@electron/remote": "2.0.11",
 | 
			
		||||
    "@excalidraw/excalidraw": "0.16.1",
 | 
			
		||||
    "archiver": "5.3.1",
 | 
			
		||||
    "archiver": "6.0.1",
 | 
			
		||||
    "async-mutex": "0.4.0",
 | 
			
		||||
    "axios": "1.5.0",
 | 
			
		||||
    "axios": "1.5.1",
 | 
			
		||||
    "better-sqlite3": "8.4.0",
 | 
			
		||||
    "chokidar": "3.5.3",
 | 
			
		||||
    "cls-hooked": "4.2.2",
 | 
			
		||||
@ -48,12 +48,12 @@
 | 
			
		||||
    "debounce": "1.2.1",
 | 
			
		||||
    "ejs": "3.1.9",
 | 
			
		||||
    "electron-debug": "3.2.0",
 | 
			
		||||
    "electron-dl": "3.5.0",
 | 
			
		||||
    "electron-dl": "3.5.1",
 | 
			
		||||
    "electron-window-state": "5.0.3",
 | 
			
		||||
    "escape-html": "1.0.3",
 | 
			
		||||
    "express": "4.18.2",
 | 
			
		||||
    "express-partial-content": "1.0.2",
 | 
			
		||||
    "express-rate-limit": "6.11.0",
 | 
			
		||||
    "express-rate-limit": "7.1.0",
 | 
			
		||||
    "express-session": "1.17.3",
 | 
			
		||||
    "fs-extra": "11.1.1",
 | 
			
		||||
    "helmet": "7.0.0",
 | 
			
		||||
@ -68,7 +68,7 @@
 | 
			
		||||
    "jimp": "0.22.10",
 | 
			
		||||
    "joplin-turndown-plugin-gfm": "1.0.12",
 | 
			
		||||
    "jsdom": "22.1.0",
 | 
			
		||||
    "marked": "9.0.3",
 | 
			
		||||
    "marked": "9.1.0",
 | 
			
		||||
    "mime-types": "2.1.35",
 | 
			
		||||
    "multer": "1.4.5-lts.1",
 | 
			
		||||
    "node-abi": "3.47.0",
 | 
			
		||||
@ -78,11 +78,11 @@
 | 
			
		||||
    "react": "18.2.0",
 | 
			
		||||
    "react-dom": "18.2.0",
 | 
			
		||||
    "request": "2.88.2",
 | 
			
		||||
    "rimraf": "5.0.1",
 | 
			
		||||
    "rimraf": "5.0.5",
 | 
			
		||||
    "safe-compare": "1.1.4",
 | 
			
		||||
    "sanitize-filename": "1.6.3",
 | 
			
		||||
    "sanitize-html": "2.11.0",
 | 
			
		||||
    "sax": "1.2.4",
 | 
			
		||||
    "sax": "1.3.0",
 | 
			
		||||
    "semver": "7.5.4",
 | 
			
		||||
    "serve-favicon": "2.5.0",
 | 
			
		||||
    "session-file-store": "1.5.0",
 | 
			
		||||
@ -97,11 +97,11 @@
 | 
			
		||||
  },
 | 
			
		||||
  "devDependencies": {
 | 
			
		||||
    "cross-env": "7.0.3",
 | 
			
		||||
    "electron": "25.8.2",
 | 
			
		||||
    "electron": "25.9.0",
 | 
			
		||||
    "electron-builder": "24.6.4",
 | 
			
		||||
    "electron-packager": "17.1.2",
 | 
			
		||||
    "electron-rebuild": "3.2.9",
 | 
			
		||||
    "eslint": "8.49.0",
 | 
			
		||||
    "eslint": "8.51.0",
 | 
			
		||||
    "eslint-config-airbnb-base": "15.0.0",
 | 
			
		||||
    "eslint-config-prettier": "9.0.0",
 | 
			
		||||
    "eslint-plugin-import": "2.28.1",
 | 
			
		||||
@ -116,7 +116,7 @@
 | 
			
		||||
    "lorem-ipsum": "2.0.8",
 | 
			
		||||
    "nodemon": "3.0.1",
 | 
			
		||||
    "prettier": "3.0.3",
 | 
			
		||||
    "rcedit": "3.1.0",
 | 
			
		||||
    "rcedit": "4.0.0",
 | 
			
		||||
    "webpack": "5.88.2",
 | 
			
		||||
    "webpack-cli": "5.1.4"
 | 
			
		||||
  },
 | 
			
		||||
 | 
			
		||||
@ -208,6 +208,7 @@ class Becca {
 | 
			
		||||
        return this.etapiTokens[etapiTokenId];
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /** @returns {AbstractBeccaEntity|null} */
 | 
			
		||||
    getEntity(entityName, entityId) {
 | 
			
		||||
        if (!entityName || !entityId) {
 | 
			
		||||
            return null;
 | 
			
		||||
 | 
			
		||||
@ -63,10 +63,10 @@ function load() {
 | 
			
		||||
    log.info(`Becca (note cache) load took ${Date.now() - start}ms`);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function reload() {
 | 
			
		||||
function reload(reason) {
 | 
			
		||||
    load();
 | 
			
		||||
 | 
			
		||||
    require('../services/ws').reloadFrontend();
 | 
			
		||||
    require('../services/ws').reloadFrontend(reason || "becca reloaded");
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
eventService.subscribeBeccaLoader([eventService.ENTITY_CHANGE_SYNCED],  ({entityName, entityRow}) => {
 | 
			
		||||
 | 
			
		||||
@ -18,31 +18,11 @@ let becca = null;
 | 
			
		||||
class AbstractBeccaEntity {
 | 
			
		||||
    /** @protected */
 | 
			
		||||
    beforeSaving() {
 | 
			
		||||
        this.generateIdIfNecessary();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /** @protected */
 | 
			
		||||
    generateIdIfNecessary() {
 | 
			
		||||
        if (!this[this.constructor.primaryKeyName]) {
 | 
			
		||||
            this[this.constructor.primaryKeyName] = utils.newEntityId();
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /** @protected */
 | 
			
		||||
    generateHash(isDeleted = false) {
 | 
			
		||||
        let contentToHash = "";
 | 
			
		||||
 | 
			
		||||
        for (const propertyName of this.constructor.hashedProperties) {
 | 
			
		||||
            contentToHash += `|${this[propertyName]}`;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (isDeleted) {
 | 
			
		||||
            contentToHash += "|deleted";
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        return utils.hash(contentToHash).substr(0, 10);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /** @protected */
 | 
			
		||||
    getUtcDateChanged() {
 | 
			
		||||
        return this.utcDateModified || this.utcDateCreated;
 | 
			
		||||
@ -61,7 +41,7 @@ class AbstractBeccaEntity {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /** @protected */
 | 
			
		||||
    putEntityChange(isDeleted = false) {
 | 
			
		||||
    putEntityChange(isDeleted) {
 | 
			
		||||
        entityChangesService.putEntityChange({
 | 
			
		||||
            entityName: this.constructor.entityName,
 | 
			
		||||
            entityId: this[this.constructor.primaryKeyName],
 | 
			
		||||
@ -72,11 +52,37 @@ class AbstractBeccaEntity {
 | 
			
		||||
        });
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @protected
 | 
			
		||||
     * @returns {string}
 | 
			
		||||
     */
 | 
			
		||||
    generateHash(isDeleted) {
 | 
			
		||||
        let contentToHash = "";
 | 
			
		||||
 | 
			
		||||
        for (const propertyName of this.constructor.hashedProperties) {
 | 
			
		||||
            contentToHash += `|${this[propertyName]}`;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (isDeleted) {
 | 
			
		||||
            contentToHash += "|deleted";
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        return utils.hash(contentToHash).substr(0, 10);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /** @protected */
 | 
			
		||||
    getPojoToSave() {
 | 
			
		||||
        return this.getPojo();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @protected
 | 
			
		||||
     * @abstract
 | 
			
		||||
     */
 | 
			
		||||
    getPojo() {
 | 
			
		||||
        throw new Error(`Unimplemented getPojo() for entity '${this.constructor.name}'`)
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Saves entity - executes SQL, but doesn't commit the transaction on its own
 | 
			
		||||
     *
 | 
			
		||||
@ -88,9 +94,7 @@ class AbstractBeccaEntity {
 | 
			
		||||
 | 
			
		||||
        const isNewEntity = !this[primaryKeyName];
 | 
			
		||||
 | 
			
		||||
        if (this.beforeSaving) {
 | 
			
		||||
            this.beforeSaving(opts);
 | 
			
		||||
        }
 | 
			
		||||
        this.beforeSaving(opts);
 | 
			
		||||
 | 
			
		||||
        const pojo = this.getPojoToSave();
 | 
			
		||||
 | 
			
		||||
@ -101,7 +105,7 @@ class AbstractBeccaEntity {
 | 
			
		||||
                return;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            this.putEntityChange(false);
 | 
			
		||||
            this.putEntityChange(!!this.isDeleted);
 | 
			
		||||
 | 
			
		||||
            if (!cls.isEntityEventsDisabled()) {
 | 
			
		||||
                const eventPayload = {
 | 
			
		||||
 | 
			
		||||
@ -20,8 +20,7 @@ const attachmentRoleToNoteTypeMapping = {
 | 
			
		||||
class BAttachment extends AbstractBeccaEntity {
 | 
			
		||||
    static get entityName() { return "attachments"; }
 | 
			
		||||
    static get primaryKeyName() { return "attachmentId"; }
 | 
			
		||||
    static get hashedProperties() { return ["attachmentId", "ownerId", "role", "mime", "title", "blobId",
 | 
			
		||||
                                            "utcDateScheduledForErasureSince", "utcDateModified"]; }
 | 
			
		||||
    static get hashedProperties() { return ["attachmentId", "ownerId", "role", "mime", "title", "blobId", "utcDateScheduledForErasureSince"]; }
 | 
			
		||||
 | 
			
		||||
    constructor(row) {
 | 
			
		||||
        super();
 | 
			
		||||
 | 
			
		||||
@ -150,11 +150,17 @@ class BNote extends AbstractBeccaEntity {
 | 
			
		||||
         */
 | 
			
		||||
        this.contentSize = null;
 | 
			
		||||
        /**
 | 
			
		||||
         * size of the content and note revision contents in bytes
 | 
			
		||||
         * size of the note content, attachment contents in bytes
 | 
			
		||||
         * @type {int|null}
 | 
			
		||||
         * @private
 | 
			
		||||
         */
 | 
			
		||||
        this.noteSize = null;
 | 
			
		||||
        this.contentAndAttachmentsSize = null;
 | 
			
		||||
        /**
 | 
			
		||||
         * size of the note content, attachment contents and revision contents in bytes
 | 
			
		||||
         * @type {int|null}
 | 
			
		||||
         * @private
 | 
			
		||||
         */
 | 
			
		||||
        this.contentAndAttachmentsAndRevisionsSize = null;
 | 
			
		||||
        /**
 | 
			
		||||
         * number of note revisions for this note
 | 
			
		||||
         * @type {int|null}
 | 
			
		||||
@ -1625,16 +1631,12 @@ class BNote extends AbstractBeccaEntity {
 | 
			
		||||
 | 
			
		||||
            revision.save(); // to generate revisionId, which is then used to save attachments
 | 
			
		||||
 | 
			
		||||
            if (this.type === 'text') {
 | 
			
		||||
                for (const noteAttachment of this.getAttachments()) {
 | 
			
		||||
                    if (noteAttachment.utcDateScheduledForErasureSince) {
 | 
			
		||||
                        continue;
 | 
			
		||||
                    }
 | 
			
		||||
 | 
			
		||||
                    const revisionAttachment = noteAttachment.copy();
 | 
			
		||||
                    revisionAttachment.ownerId = revision.revisionId;
 | 
			
		||||
                    revisionAttachment.setContent(noteAttachment.getContent(), {forceSave: true});
 | 
			
		||||
            for (const noteAttachment of this.getAttachments()) {
 | 
			
		||||
                const revisionAttachment = noteAttachment.copy();
 | 
			
		||||
                revisionAttachment.ownerId = revision.revisionId;
 | 
			
		||||
                revisionAttachment.setContent(noteAttachment.getContent(), {forceSave: true});
 | 
			
		||||
 | 
			
		||||
                if (this.type === 'text') {
 | 
			
		||||
                    // content is rewritten to point to the revision attachments
 | 
			
		||||
                    noteContent = noteContent.replaceAll(`attachments/${noteAttachment.attachmentId}`,
 | 
			
		||||
                        `attachments/${revisionAttachment.attachmentId}`);
 | 
			
		||||
 | 
			
		||||
@ -86,6 +86,29 @@ class BRevision extends AbstractBeccaEntity {
 | 
			
		||||
        return this._getContent();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @returns {*}
 | 
			
		||||
     * @throws Error in case of invalid JSON */
 | 
			
		||||
    getJsonContent() {
 | 
			
		||||
        const content = this.getContent();
 | 
			
		||||
 | 
			
		||||
        if (!content || !content.trim()) {
 | 
			
		||||
            return null;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        return JSON.parse(content);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /** @returns {*|null} valid object or null if the content cannot be parsed as JSON */
 | 
			
		||||
    getJsonContentSafely() {
 | 
			
		||||
        try {
 | 
			
		||||
            return this.getJsonContent();
 | 
			
		||||
        }
 | 
			
		||||
        catch (e) {
 | 
			
		||||
            return null;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @param content
 | 
			
		||||
     * @param {object} [opts]
 | 
			
		||||
@ -105,6 +128,45 @@ class BRevision extends AbstractBeccaEntity {
 | 
			
		||||
            .map(row => new BAttachment(row));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /** @returns {BAttachment|null} */
 | 
			
		||||
    getAttachmentById(attachmentId, opts = {}) {
 | 
			
		||||
        opts.includeContentLength = !!opts.includeContentLength;
 | 
			
		||||
 | 
			
		||||
        const query = opts.includeContentLength
 | 
			
		||||
            ? `SELECT attachments.*, LENGTH(blobs.content) AS contentLength
 | 
			
		||||
               FROM attachments 
 | 
			
		||||
               JOIN blobs USING (blobId) 
 | 
			
		||||
               WHERE ownerId = ? AND attachmentId = ? AND isDeleted = 0`
 | 
			
		||||
            : `SELECT * FROM attachments WHERE ownerId = ? AND attachmentId = ? AND isDeleted = 0`;
 | 
			
		||||
 | 
			
		||||
        return sql.getRows(query, [this.revisionId, attachmentId])
 | 
			
		||||
            .map(row => new BAttachment(row))[0];
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /** @returns {BAttachment[]} */
 | 
			
		||||
    getAttachmentsByRole(role) {
 | 
			
		||||
        return sql.getRows(`
 | 
			
		||||
                SELECT attachments.*
 | 
			
		||||
                FROM attachments 
 | 
			
		||||
                WHERE ownerId = ? 
 | 
			
		||||
                  AND role = ?
 | 
			
		||||
                  AND isDeleted = 0
 | 
			
		||||
                ORDER BY position`, [this.revisionId, role])
 | 
			
		||||
            .map(row => new BAttachment(row));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /** @returns {BAttachment} */
 | 
			
		||||
    getAttachmentByTitle(title) {
 | 
			
		||||
        return sql.getRows(`
 | 
			
		||||
                SELECT attachments.*
 | 
			
		||||
                FROM attachments 
 | 
			
		||||
                WHERE ownerId = ? 
 | 
			
		||||
                  AND title = ?
 | 
			
		||||
                  AND isDeleted = 0
 | 
			
		||||
                ORDER BY position`, [this.revisionId, title])
 | 
			
		||||
            .map(row => new BAttachment(row))[0];
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    beforeSaving() {
 | 
			
		||||
        super.beforeSaving();
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -127,7 +127,8 @@ paths:
 | 
			
		||||
            - targetRelationCount
 | 
			
		||||
            - targetRelationCountIncludingLinks
 | 
			
		||||
            - contentSize
 | 
			
		||||
            - noteSize
 | 
			
		||||
            - contentAndAttachmentsSize
 | 
			
		||||
            - contentAndAttachmentsAndRevisionsSize
 | 
			
		||||
            - revisionCount
 | 
			
		||||
        - name: orderDirection
 | 
			
		||||
          in: query
 | 
			
		||||
 | 
			
		||||
@ -22,6 +22,7 @@ import GlobalMenuWidget from "../widgets/buttons/global_menu.js";
 | 
			
		||||
import LauncherContainer from "../widgets/containers/launcher_container.js";
 | 
			
		||||
import RootContainer from "../widgets/containers/root_container.js";
 | 
			
		||||
import SharedInfoWidget from "../widgets/shared_info.js";
 | 
			
		||||
import PromotedAttributesWidget from "../widgets/ribbon_widgets/promoted_attributes.js";
 | 
			
		||||
 | 
			
		||||
const MOBILE_CSS = `
 | 
			
		||||
<style>
 | 
			
		||||
@ -154,6 +155,7 @@ export default class MobileLayout {
 | 
			
		||||
                        .child(new HideFloatingButtonsButton())
 | 
			
		||||
                    )
 | 
			
		||||
                    .child(new MermaidWidget())
 | 
			
		||||
                    .child(new PromotedAttributesWidget())
 | 
			
		||||
                    .child(
 | 
			
		||||
                        new ScrollingContainer()
 | 
			
		||||
                            .filling()
 | 
			
		||||
 | 
			
		||||
@ -32,8 +32,8 @@ export default class LauncherContextMenu {
 | 
			
		||||
        const isVisibleItem = parentNoteId === '_lbVisibleLaunchers';
 | 
			
		||||
        const isAvailableItem = parentNoteId === '_lbAvailableLaunchers';
 | 
			
		||||
        const isItem = isVisibleItem || isAvailableItem;
 | 
			
		||||
        const canBeDeleted = !note.isLaunchBarConfig();
 | 
			
		||||
        const canBeReset = note.isLaunchBarConfig();
 | 
			
		||||
        const canBeDeleted = !note.noteId.startsWith("_"); // fixed notes can't be deleted
 | 
			
		||||
        const canBeReset = !canBeDeleted && note.isLaunchBarConfig();;
 | 
			
		||||
 | 
			
		||||
        return [
 | 
			
		||||
            (isVisibleRoot || isAvailableRoot) ? { title: 'Add a note launcher', command: 'addNoteLauncher', uiIcon: "bx bx-plus" } : null,
 | 
			
		||||
 | 
			
		||||
@ -42,18 +42,19 @@ function FrontendScriptApi(startNote, currentNote, originEntity = null, $contain
 | 
			
		||||
    this.$container = $container;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Note where the script started executing
 | 
			
		||||
     * Note where the script started executing, i.e., the (event) entrypoint of the current script execution.
 | 
			
		||||
     * @type {FNote}
 | 
			
		||||
     */
 | 
			
		||||
    this.startNote = startNote;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Note where the script is currently executing
 | 
			
		||||
     * Note where the script is currently executing, i.e. the note where the currently executing source code is written.
 | 
			
		||||
     * @type {FNote}
 | 
			
		||||
     */
 | 
			
		||||
    this.currentNote = currentNote;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Entity whose event triggered this execution
 | 
			
		||||
     * Entity whose event triggered this execution.
 | 
			
		||||
     * @type {object|null}
 | 
			
		||||
     */
 | 
			
		||||
    this.originEntity = originEntity;
 | 
			
		||||
 | 
			
		||||
@ -10,6 +10,8 @@ const CODE_MIRROR = {
 | 
			
		||||
        "libraries/codemirror/addon/lint/lint.js",
 | 
			
		||||
        "libraries/codemirror/addon/lint/eslint.js",
 | 
			
		||||
        "libraries/codemirror/addon/mode/loadmode.js",
 | 
			
		||||
        "libraries/codemirror/addon/mode/multiplex.js",
 | 
			
		||||
        "libraries/codemirror/addon/mode/overlay.js",
 | 
			
		||||
        "libraries/codemirror/addon/mode/simple.js",
 | 
			
		||||
        "libraries/codemirror/addon/search/match-highlighter.js",
 | 
			
		||||
        "libraries/codemirror/mode/meta.js",
 | 
			
		||||
 | 
			
		||||
@ -252,11 +252,15 @@ class NoteListRenderer {
 | 
			
		||||
            if (pageCount < 20 || i <= 5 || pageCount - i <= 5 || Math.abs(this.page - i) <= 2) {
 | 
			
		||||
                lastPrinted = true;
 | 
			
		||||
 | 
			
		||||
                const startIndex = (i - 1) * this.pageSize + 1;
 | 
			
		||||
                const endIndex = Math.min(this.noteIds.length, i * this.pageSize);
 | 
			
		||||
 | 
			
		||||
                $pager.append(
 | 
			
		||||
                    i === this.page
 | 
			
		||||
                        ? $('<span>').text(i).css('text-decoration', 'underline').css('font-weight', "bold")
 | 
			
		||||
                        : $('<a href="javascript:">')
 | 
			
		||||
                            .text(i)
 | 
			
		||||
                            .attr("title", `Page of ${startIndex} - ${endIndex}`)
 | 
			
		||||
                            .on('click', () => {
 | 
			
		||||
                                this.page = i;
 | 
			
		||||
                                this.renderList();
 | 
			
		||||
@ -270,6 +274,9 @@ class NoteListRenderer {
 | 
			
		||||
                lastPrinted = false;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        // no need to distinguish "note" vs "notes" since in case of one result, there's no paging at all
 | 
			
		||||
        $pager.append(`<span class="note-list-pager-total-count">(${this.noteIds.length} notes)</span>`);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    async renderNote(note, expand = false) {
 | 
			
		||||
 | 
			
		||||
@ -45,6 +45,7 @@ const TPL = `
 | 
			
		||||
        <a class="dropdown-item export-note-button">Export note</a>
 | 
			
		||||
        <a class="dropdown-item delete-note-button">Delete note</a>
 | 
			
		||||
        <a data-trigger-command="printActiveNote" class="dropdown-item print-active-note-button"><kbd data-command="printActiveNote"></kbd> Print note</a>
 | 
			
		||||
        <a data-trigger-command="forceSaveRevision" class="dropdown-item save-revision-button"><kbd data-command="forceSaveRevision"></kbd> Save revision</a>
 | 
			
		||||
    </div>
 | 
			
		||||
</div>`;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -274,26 +274,11 @@ export default class RevisionsDialog extends BasicWidget {
 | 
			
		||||
 | 
			
		||||
            this.$content.html($table);
 | 
			
		||||
        } else if (revisionItem.type === 'canvas') {
 | 
			
		||||
            /**
 | 
			
		||||
             * FIXME: We load a font called Virgil.wof2, which originates from excalidraw.com
 | 
			
		||||
             *        REMOVE external dependency!!!! This is defined in the svg in defs.style
 | 
			
		||||
             */
 | 
			
		||||
            const content = fullRevision.content;
 | 
			
		||||
            const sanitizedTitle = revisionItem.title.replace(/[^a-z0-9-.]/gi, "");
 | 
			
		||||
 | 
			
		||||
            try {
 | 
			
		||||
                const data = JSON.parse(content)
 | 
			
		||||
                const svg = data.svg || "no svg present."
 | 
			
		||||
 | 
			
		||||
                /**
 | 
			
		||||
                 * maxWidth: 100% use full width of container but do not enlarge!
 | 
			
		||||
                 * height:auto to ensure that height scales with width
 | 
			
		||||
                 */
 | 
			
		||||
                const $svgHtml = $(svg).css({maxWidth: "100%", height: "auto"});
 | 
			
		||||
                this.$content.html($('<div>').append($svgHtml));
 | 
			
		||||
            } catch (err) {
 | 
			
		||||
                console.error("error parsing fullRevision.content as JSON", fullRevision.content, err);
 | 
			
		||||
                this.$content.html($("<div>").text("Error parsing content. Please check console.error() for more details."));
 | 
			
		||||
            }
 | 
			
		||||
            this.$content.html($("<img>")
 | 
			
		||||
                .attr("src", `api/revisions/${revisionItem.revisionId}/image/${sanitizedTitle}?${Math.random()}`)
 | 
			
		||||
                .css("max-width", "100%"));
 | 
			
		||||
        } else {
 | 
			
		||||
            this.$content.text("Preview isn't available for this note type.");
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
@ -5,6 +5,7 @@ import noteAutocompleteService from "../../services/note_autocomplete.js";
 | 
			
		||||
import NoteContextAwareWidget from "../note_context_aware_widget.js";
 | 
			
		||||
import attributeService from "../../services/attributes.js";
 | 
			
		||||
import options from "../../services/options.js";
 | 
			
		||||
import utils from "../../services/utils.js";
 | 
			
		||||
 | 
			
		||||
const TPL = `
 | 
			
		||||
<div>
 | 
			
		||||
@ -37,9 +38,13 @@ const TPL = `
 | 
			
		||||
    </style>
 | 
			
		||||
    
 | 
			
		||||
    <div class="promoted-attributes-container"></div>
 | 
			
		||||
</div>
 | 
			
		||||
`;
 | 
			
		||||
</div>`;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * This widget is quite special because it's used in the desktop ribbon, but in mobile outside of ribbon.
 | 
			
		||||
 * This works without many issues (apart from autocomplete), but it should be kept in mind when changing things
 | 
			
		||||
 * and testing.
 | 
			
		||||
 */
 | 
			
		||||
export default class PromotedAttributesWidget extends NoteContextAwareWidget {
 | 
			
		||||
    get name() {
 | 
			
		||||
        return "promotedAttributes";
 | 
			
		||||
@ -147,34 +152,37 @@ export default class PromotedAttributesWidget extends NoteContextAwareWidget {
 | 
			
		||||
            if (definition.labelType === 'text') {
 | 
			
		||||
                $input.prop("type", "text");
 | 
			
		||||
 | 
			
		||||
                // no need to await for this, can be done asynchronously
 | 
			
		||||
                server.get(`attribute-values/${encodeURIComponent(valueAttr.name)}`).then(attributeValues => {
 | 
			
		||||
                    if (attributeValues.length === 0) {
 | 
			
		||||
                        return;
 | 
			
		||||
                    }
 | 
			
		||||
 | 
			
		||||
                    attributeValues = attributeValues.map(attribute => ({value: attribute}));
 | 
			
		||||
 | 
			
		||||
                    $input.autocomplete({
 | 
			
		||||
                        appendTo: document.querySelector('body'),
 | 
			
		||||
                        hint: false,
 | 
			
		||||
                        autoselect: false,
 | 
			
		||||
                        openOnFocus: true,
 | 
			
		||||
                        minLength: 0,
 | 
			
		||||
                        tabAutocomplete: false
 | 
			
		||||
                    }, [{
 | 
			
		||||
                        displayKey: 'value',
 | 
			
		||||
                        source: function (term, cb) {
 | 
			
		||||
                            term = term.toLowerCase();
 | 
			
		||||
 | 
			
		||||
                            const filtered = attributeValues.filter(attr => attr.value.toLowerCase().includes(term));
 | 
			
		||||
 | 
			
		||||
                            cb(filtered);
 | 
			
		||||
                // autocomplete for label values is just nice to have, mobile can keep labels editable without autocomplete
 | 
			
		||||
                if (utils.isDesktop()) {
 | 
			
		||||
                    // no need to await for this, can be done asynchronously
 | 
			
		||||
                    server.get(`attribute-values/${encodeURIComponent(valueAttr.name)}`).then(attributeValues => {
 | 
			
		||||
                        if (attributeValues.length === 0) {
 | 
			
		||||
                            return;
 | 
			
		||||
                        }
 | 
			
		||||
                    }]);
 | 
			
		||||
 | 
			
		||||
                    $input.on('autocomplete:selected', e => this.promotedAttributeChanged(e));
 | 
			
		||||
                });
 | 
			
		||||
                        attributeValues = attributeValues.map(attribute => ({value: attribute}));
 | 
			
		||||
 | 
			
		||||
                        $input.autocomplete({
 | 
			
		||||
                            appendTo: document.querySelector('body'),
 | 
			
		||||
                            hint: false,
 | 
			
		||||
                            autoselect: false,
 | 
			
		||||
                            openOnFocus: true,
 | 
			
		||||
                            minLength: 0,
 | 
			
		||||
                            tabAutocomplete: false
 | 
			
		||||
                        }, [{
 | 
			
		||||
                            displayKey: 'value',
 | 
			
		||||
                            source: function (term, cb) {
 | 
			
		||||
                                term = term.toLowerCase();
 | 
			
		||||
 | 
			
		||||
                                const filtered = attributeValues.filter(attr => attr.value.toLowerCase().includes(term));
 | 
			
		||||
 | 
			
		||||
                                cb(filtered);
 | 
			
		||||
                            }
 | 
			
		||||
                        }]);
 | 
			
		||||
 | 
			
		||||
                        $input.on('autocomplete:selected', e => this.promotedAttributeChanged(e));
 | 
			
		||||
                    });
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            else if (definition.labelType === 'number') {
 | 
			
		||||
                $input.prop("type", "number");
 | 
			
		||||
@ -219,7 +227,7 @@ export default class PromotedAttributesWidget extends NoteContextAwareWidget {
 | 
			
		||||
                    .append($openButton));
 | 
			
		||||
            }
 | 
			
		||||
            else {
 | 
			
		||||
                ws.logError(`Unknown labelType=${definitionAttr.labelType}`);
 | 
			
		||||
                ws.logError(`Unknown labelType '${definitionAttr.labelType}'`);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        else if (valueAttr.type === 'relation') {
 | 
			
		||||
@ -227,17 +235,22 @@ export default class PromotedAttributesWidget extends NoteContextAwareWidget {
 | 
			
		||||
                $input.val(await treeService.getNoteTitle(valueAttr.value));
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            // no need to wait for this
 | 
			
		||||
            noteAutocompleteService.initNoteAutocomplete($input, {allowCreatingNotes: true});
 | 
			
		||||
            if (utils.isDesktop()) {
 | 
			
		||||
                // no need to wait for this
 | 
			
		||||
                noteAutocompleteService.initNoteAutocomplete($input, {allowCreatingNotes: true});
 | 
			
		||||
 | 
			
		||||
            $input.on('autocomplete:noteselected', (event, suggestion, dataset) => {
 | 
			
		||||
                this.promotedAttributeChanged(event);
 | 
			
		||||
            });
 | 
			
		||||
                $input.on('autocomplete:noteselected', (event, suggestion, dataset) => {
 | 
			
		||||
                    this.promotedAttributeChanged(event);
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            $input.setSelectedNotePath(valueAttr.value);
 | 
			
		||||
                $input.setSelectedNotePath(valueAttr.value);
 | 
			
		||||
            } else {
 | 
			
		||||
                // we can't provide user a way to edit the relation so make it read only
 | 
			
		||||
                $input.attr("readonly", "readonly");
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        else {
 | 
			
		||||
            ws.logError(`Unknown attribute type=${valueAttr.type}`);
 | 
			
		||||
            ws.logError(`Unknown attribute type '${valueAttr.type}'`);
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -14,7 +14,8 @@ const TPL = `
 | 
			
		||||
            <option value="dateCreated">Date created</option>
 | 
			
		||||
            <option value="dateModified">Date of last modification</option>
 | 
			
		||||
            <option value="contentSize">Note content size</option>
 | 
			
		||||
            <option value="noteSize">Note content size including revisions</option>
 | 
			
		||||
            <option value="contentAndAttachmentsSize">Note content size including attachments</option>
 | 
			
		||||
            <option value="contentAndAttachmentsAndRevisionsSize">Note content size including attachments and revisions</option>
 | 
			
		||||
            <option value="revisionCount">Number of revisions</option>
 | 
			
		||||
            <option value="childrenCount">Number of children notes</option>
 | 
			
		||||
            <option value="parentCount">Number of clones</option>
 | 
			
		||||
 | 
			
		||||
@ -5,14 +5,27 @@ const becca = require('../../becca/becca');
 | 
			
		||||
const RESOURCE_DIR = require('../../services/resource_dir').RESOURCE_DIR;
 | 
			
		||||
const fs = require('fs');
 | 
			
		||||
 | 
			
		||||
function returnImage(req, res) {
 | 
			
		||||
function returnImageFromNote(req, res) {
 | 
			
		||||
    const image = becca.getNote(req.params.noteId);
 | 
			
		||||
 | 
			
		||||
    return returnImageInt(image, res);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function returnImageFromRevision(req, res) {
 | 
			
		||||
    const image = becca.getRevision(req.params.revisionId);
 | 
			
		||||
 | 
			
		||||
    return returnImageInt(image, res);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @param {BNote|BRevision} image
 | 
			
		||||
 * @param res
 | 
			
		||||
 */
 | 
			
		||||
function returnImageInt(image, res) {
 | 
			
		||||
    if (!image) {
 | 
			
		||||
        res.set('Content-Type', 'image/png');
 | 
			
		||||
        return res.send(fs.readFileSync(`${RESOURCE_DIR}/db/image-deleted.png`));
 | 
			
		||||
    }
 | 
			
		||||
    else if (!["image", "canvas"].includes(image.type)){
 | 
			
		||||
    } else if (!["image", "canvas"].includes(image.type)) {
 | 
			
		||||
        return res.sendStatus(400);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@ -84,7 +97,8 @@ function updateImage(req) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
module.exports = {
 | 
			
		||||
    returnImage,
 | 
			
		||||
    returnImageFromNote,
 | 
			
		||||
    returnImageFromRevision,
 | 
			
		||||
    returnAttachedImage,
 | 
			
		||||
    updateImage
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
@ -181,6 +181,8 @@ function register(app) {
 | 
			
		||||
    apiRoute(GET, '/api/revisions/:revisionId/blob', revisionsApiRoute.getRevisionBlob);
 | 
			
		||||
    apiRoute(DEL, '/api/revisions/:revisionId', revisionsApiRoute.eraseRevision);
 | 
			
		||||
    apiRoute(PST, '/api/revisions/:revisionId/restore', revisionsApiRoute.restoreRevision);
 | 
			
		||||
    route(GET, '/api/revisions/:revisionId/image/:filename', [auth.checkApiAuthOrElectron], imageRoute.returnImageFromRevision);
 | 
			
		||||
 | 
			
		||||
    route(GET, '/api/revisions/:revisionId/download', [auth.checkApiAuthOrElectron], revisionsApiRoute.downloadRevision);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -200,7 +202,7 @@ function register(app) {
 | 
			
		||||
    apiRoute(GET, '/api/attribute-values/:attributeName', attributesRoute.getValuesForAttribute);
 | 
			
		||||
 | 
			
		||||
    // :filename is not used by trilium, but instead used for "save as" to assign a human-readable filename
 | 
			
		||||
    route(GET, '/api/images/:noteId/:filename', [auth.checkApiAuthOrElectron], imageRoute.returnImage);
 | 
			
		||||
    route(GET, '/api/images/:noteId/:filename', [auth.checkApiAuthOrElectron], imageRoute.returnImageFromNote);
 | 
			
		||||
    route(PUT, '/api/images/:noteId', [auth.checkApiAuthOrElectron, uploadMiddlewareWithErrorHandling, csrfMiddleware], imageRoute.updateImage, apiResultHandler);
 | 
			
		||||
 | 
			
		||||
    apiRoute(GET, '/api/options', optionsApiRoute.getOptions);
 | 
			
		||||
 | 
			
		||||
@ -7,8 +7,9 @@ const sql = require("./sql");
 | 
			
		||||
 | 
			
		||||
function getFullAnonymizationScript() {
 | 
			
		||||
    // we want to delete all non-builtin attributes because they can contain sensitive names and values
 | 
			
		||||
// on the other hand builtin/system attrs should not contain any sensitive info
 | 
			
		||||
    // on the other hand builtin/system attrs should not contain any sensitive info
 | 
			
		||||
    const builtinAttrNames = BUILTIN_ATTRIBUTES
 | 
			
		||||
        .filter(attr => !["shareCredentials", "shareAlias"].includes(attr.name))
 | 
			
		||||
        .map(attr => `'${attr.name}'`).join(', ');
 | 
			
		||||
 | 
			
		||||
    const anonymizeScript = `
 | 
			
		||||
 | 
			
		||||
@ -4,7 +4,7 @@ const build = require('./build');
 | 
			
		||||
const packageJson = require('../../package');
 | 
			
		||||
const {TRILIUM_DATA_DIR} = require('./data_dir');
 | 
			
		||||
 | 
			
		||||
const APP_DB_VERSION = 225;
 | 
			
		||||
const APP_DB_VERSION = 226;
 | 
			
		||||
const SYNC_VERSION = 31;
 | 
			
		||||
const CLIPPER_PROTOCOL_VERSION = "1.0";
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -1 +1 @@
 | 
			
		||||
module.exports = { buildDate:"2023-09-21T23:38:18+02:00", buildRevision: "79e5e3b65ff613cdb81e2afaa832037ccf06d7b8" };
 | 
			
		||||
module.exports = { buildDate:"2023-09-29T00:54:45+02:00", buildRevision: "e5555beea9a1638fefa218118e0596f4cfc1f4d0" };
 | 
			
		||||
 | 
			
		||||
@ -763,7 +763,7 @@ class ConsistencyChecks {
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (this.reloadNeeded) {
 | 
			
		||||
            require("../becca/becca_loader").reload();
 | 
			
		||||
            require("../becca/becca_loader").reload("consistency checks need becca reload");
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        return !this.unrecoveredConsistencyErrors;
 | 
			
		||||
 | 
			
		||||
@ -148,12 +148,13 @@ function fillEntityChanges(entityName, entityPrimaryKey, condition = '') {
 | 
			
		||||
                const entity = becca.getEntity(entityName, entityId);
 | 
			
		||||
 | 
			
		||||
                if (entity) {
 | 
			
		||||
                    ec.hash = entity.generateHash() || "|deleted";
 | 
			
		||||
                    ec.hash = entity.generateHash();
 | 
			
		||||
                    ec.utcDateChanged = entity.getUtcDateChanged() || dateUtils.utcNowDateTime();
 | 
			
		||||
                    ec.isSynced = entityName !== 'options' || !!entity.isSynced;
 | 
			
		||||
                } else {
 | 
			
		||||
                    // entity might be null (not present in becca) when it's deleted
 | 
			
		||||
                    // FIXME: hacky, not sure if it might cause some problems
 | 
			
		||||
                    // this will produce different hash value than when entity is being deleted since then
 | 
			
		||||
                    // all normal hashed attributes are being used. Sync should recover from that, though.
 | 
			
		||||
                    ec.hash = "deleted";
 | 
			
		||||
                    ec.utcDateChanged = dateUtils.utcNowDateTime();
 | 
			
		||||
                    ec.isSynced = true; // deletable (the ones with isDeleted) entities are synced
 | 
			
		||||
 | 
			
		||||
@ -327,6 +327,11 @@ async function importZip(taskContext, fileBuffer, importRootNote) {
 | 
			
		||||
        content = content.replace(/<\/body>.*<\/html>/gis, "");
 | 
			
		||||
 | 
			
		||||
        content = content.replace(/src="([^"]*)"/g, (match, url) => {
 | 
			
		||||
            if (url.startsWith("data:image")) {
 | 
			
		||||
                // inline images are parsed and saved into attachments in the note service
 | 
			
		||||
                return match;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            try {
 | 
			
		||||
                url = decodeURIComponent(url).trim();
 | 
			
		||||
            } catch (e) {
 | 
			
		||||
@ -456,7 +461,7 @@ async function importZip(taskContext, fileBuffer, importRootNote) {
 | 
			
		||||
                position: attachmentMeta.position
 | 
			
		||||
            });
 | 
			
		||||
 | 
			
		||||
            attachment.setContent(content);
 | 
			
		||||
            attachment.setContent(content, { forceSave: true });
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -60,7 +60,7 @@ function checkProtectedSessionExpiration() {
 | 
			
		||||
 | 
			
		||||
        log.info("Expiring protected session");
 | 
			
		||||
 | 
			
		||||
        require('./ws').reloadFrontend();
 | 
			
		||||
        require('./ws').reloadFrontend("leaving protected session");
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -56,9 +56,9 @@ class OrderByAndLimitExp extends Expression {
 | 
			
		||||
                if (!valA && !valB) {
 | 
			
		||||
                    // the attribute value is empty/zero in both notes so continue to the next order definition
 | 
			
		||||
                    continue;
 | 
			
		||||
                } else if (!valB || valA < valB) {
 | 
			
		||||
                } else if (valA < valB) {
 | 
			
		||||
                    return smaller;
 | 
			
		||||
                } else if (!valA || valA > valB) {
 | 
			
		||||
                } else if (valA > valB) {
 | 
			
		||||
                    return larger;
 | 
			
		||||
                }
 | 
			
		||||
                // else the values are equal and continue to next order definition
 | 
			
		||||
 | 
			
		||||
@ -31,7 +31,8 @@ const PROP_MAPPING = {
 | 
			
		||||
    "targetrelationcount": "targetRelationCount",
 | 
			
		||||
    "targetrelationcountincludinglinks": "targetRelationCountIncludingLinks",
 | 
			
		||||
    "contentsize": "contentSize",
 | 
			
		||||
    "notesize": "noteSize",
 | 
			
		||||
    "contentandattachmentssize": "contentAndAttachmentsSize",
 | 
			
		||||
    "contentandattachmentsandrevisionssize": "contentAndAttachmentsAndRevisionsSize",
 | 
			
		||||
    "revisioncount": "revisionCount"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
@ -48,7 +49,7 @@ class PropertyComparisonExp extends Expression {
 | 
			
		||||
        this.comparedValue = comparedValue; // for DEBUG mode
 | 
			
		||||
        this.comparator = buildComparator(operator, comparedValue);
 | 
			
		||||
 | 
			
		||||
        if (['contentsize', 'notesize', 'revisioncount'].includes(this.propertyName)) {
 | 
			
		||||
        if (['contentsize', 'contentandattachmentssize', 'contentandattachmentsandrevisionssize', 'revisioncount'].includes(this.propertyName)) {
 | 
			
		||||
            searchContext.dbLoadNeeded = true;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@ -92,47 +92,107 @@ function searchFromRelation(note, relationName) {
 | 
			
		||||
function loadNeededInfoFromDatabase() {
 | 
			
		||||
    const sql = require('../../sql');
 | 
			
		||||
 | 
			
		||||
    for (const noteId in becca.notes) {
 | 
			
		||||
        becca.notes[noteId].contentSize = 0;
 | 
			
		||||
        becca.notes[noteId].noteSize = 0;
 | 
			
		||||
        becca.notes[noteId].revisionCount = 0;
 | 
			
		||||
    }
 | 
			
		||||
    /**
 | 
			
		||||
     * This complex structure is needed to calculate total occupied space by a note. Several object instances
 | 
			
		||||
     * (note, revisions, attachments) can point to a single blobId, and thus the blob size should count towards the total
 | 
			
		||||
     * only once.
 | 
			
		||||
     *
 | 
			
		||||
     * @var {Object.<string, Object.<string, int>>} - noteId => { blobId => blobSize }
 | 
			
		||||
     */
 | 
			
		||||
    const noteBlobs = {};
 | 
			
		||||
 | 
			
		||||
    const noteContentLengths = sql.getRows(`
 | 
			
		||||
        SELECT 
 | 
			
		||||
            noteId, 
 | 
			
		||||
            blobId,
 | 
			
		||||
            LENGTH(content) AS length 
 | 
			
		||||
        FROM notes
 | 
			
		||||
             JOIN blobs USING(blobId) 
 | 
			
		||||
        WHERE notes.isDeleted = 0`);
 | 
			
		||||
 | 
			
		||||
    for (const {noteId, length} of noteContentLengths) {
 | 
			
		||||
    for (const {noteId, blobId, length} of noteContentLengths) {
 | 
			
		||||
        if (!(noteId in becca.notes)) {
 | 
			
		||||
            log.error(`Note ${noteId} not found in becca.`);
 | 
			
		||||
            log.error(`Note '${noteId}' not found in becca.`);
 | 
			
		||||
            continue;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        becca.notes[noteId].contentSize = length;
 | 
			
		||||
        becca.notes[noteId].noteSize = length;
 | 
			
		||||
        becca.notes[noteId].revisionCount = 0;
 | 
			
		||||
 | 
			
		||||
        noteBlobs[noteId] = { [blobId]: length };
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    const revisionContentLengths = sql.getRows(`
 | 
			
		||||
        SELECT 
 | 
			
		||||
            noteId, 
 | 
			
		||||
            LENGTH(content) AS length 
 | 
			
		||||
        FROM notes
 | 
			
		||||
             JOIN revisions USING(noteId) 
 | 
			
		||||
             JOIN blobs USING(blobId) 
 | 
			
		||||
        WHERE notes.isDeleted = 0`);
 | 
			
		||||
    const attachmentContentLengths = sql.getRows(`
 | 
			
		||||
        SELECT
 | 
			
		||||
            ownerId AS noteId,
 | 
			
		||||
            attachments.blobId,
 | 
			
		||||
            LENGTH(content) AS length
 | 
			
		||||
        FROM attachments
 | 
			
		||||
            JOIN notes ON attachments.ownerId = notes.noteId
 | 
			
		||||
            JOIN blobs ON attachments.blobId = blobs.blobId
 | 
			
		||||
        WHERE attachments.isDeleted = 0 
 | 
			
		||||
            AND notes.isDeleted = 0`);
 | 
			
		||||
 | 
			
		||||
    for (const {noteId, length} of revisionContentLengths) {
 | 
			
		||||
    for (const {noteId, blobId, length} of attachmentContentLengths) {
 | 
			
		||||
        if (!(noteId in becca.notes)) {
 | 
			
		||||
            log.error(`Note ${noteId} not found in becca.`);
 | 
			
		||||
            log.error(`Note '${noteId}' not found in becca.`);
 | 
			
		||||
            continue;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        becca.notes[noteId].noteSize += length;
 | 
			
		||||
        becca.notes[noteId].revisionCount++;
 | 
			
		||||
        if (!(noteId in noteBlobs)) {
 | 
			
		||||
            log.error(`Did not find a '${noteId}' in the noteBlobs.`);
 | 
			
		||||
            continue;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        noteBlobs[noteId][blobId] = length;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    for (const noteId in noteBlobs) {
 | 
			
		||||
        becca.notes[noteId].contentAndAttachmentsSize = Object.values(noteBlobs[noteId]).reduce((acc, size) => acc + size, 0);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    const revisionContentLengths = sql.getRows(`
 | 
			
		||||
            SELECT 
 | 
			
		||||
                noteId, 
 | 
			
		||||
                revisions.blobId,
 | 
			
		||||
                LENGTH(content) AS length,
 | 
			
		||||
                1 AS isNoteRevision
 | 
			
		||||
            FROM notes
 | 
			
		||||
                JOIN revisions USING(noteId) 
 | 
			
		||||
                JOIN blobs ON revisions.blobId = blobs.blobId
 | 
			
		||||
            WHERE notes.isDeleted = 0
 | 
			
		||||
        UNION ALL
 | 
			
		||||
            SELECT
 | 
			
		||||
                noteId,
 | 
			
		||||
                revisions.blobId,
 | 
			
		||||
                LENGTH(content) AS length,
 | 
			
		||||
                0 AS isNoteRevision -- it's attachment not counting towards revision count
 | 
			
		||||
            FROM notes
 | 
			
		||||
                JOIN revisions USING(noteId)
 | 
			
		||||
                JOIN attachments ON attachments.ownerId = revisions.revisionId
 | 
			
		||||
                JOIN blobs ON attachments.blobId = blobs.blobId
 | 
			
		||||
            WHERE notes.isDeleted = 0`);
 | 
			
		||||
 | 
			
		||||
    for (const {noteId, blobId, length, isNoteRevision} of revisionContentLengths) {
 | 
			
		||||
        if (!(noteId in becca.notes)) {
 | 
			
		||||
            log.error(`Note '${noteId}' not found in becca.`);
 | 
			
		||||
            continue;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (!(noteId in noteBlobs)) {
 | 
			
		||||
            log.error(`Did not find a '${noteId}' in the noteBlobs.`);
 | 
			
		||||
            continue;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        noteBlobs[noteId][blobId] = length;
 | 
			
		||||
 | 
			
		||||
        if (isNoteRevision) {
 | 
			
		||||
            becca.notes[noteId].revisionCount++;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    for (const noteId in noteBlobs) {
 | 
			
		||||
        becca.notes[noteId].contentAndAttachmentsAndRevisionsSize = Object.values(noteBlobs[noteId]).reduce((acc, size) => acc + size, 0);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -27,7 +27,8 @@ const PROP_MAPPING = {
 | 
			
		||||
    "targetrelationcount": "targetRelationCount",
 | 
			
		||||
    "targetrelationcountincludinglinks": "targetRelationCountIncludingLinks",
 | 
			
		||||
    "contentsize": "contentSize",
 | 
			
		||||
    "notesize": "noteSize",
 | 
			
		||||
    "contentandattachmentssize": "contentAndAttachmentsSize",
 | 
			
		||||
    "contentandattachmentsandrevisionssize": "contentAndAttachmentsAndRevisionsSize",
 | 
			
		||||
    "revisioncount": "revisionCount"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
@ -42,7 +43,7 @@ class ValueExtractor {
 | 
			
		||||
            this.propertyPath = ['note', 'relations', this.propertyPath[0].substr(1), ...this.propertyPath.slice(1, this.propertyPath.length)];
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (['contentsize', 'notesize', 'revisioncount'].includes(this.propertyPath[this.propertyPath.length - 1])) {
 | 
			
		||||
        if (['contentsize', 'contentandattachmentssize', 'contentandattachmentsandrevisionssize', 'revisioncount'].includes(this.propertyPath[this.propertyPath.length - 1])) {
 | 
			
		||||
            searchContext.dbLoadNeeded = true;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@ -151,9 +151,14 @@ async function pullChanges(syncContext) {
 | 
			
		||||
        if (entityChanges.length === 0) {
 | 
			
		||||
            break;
 | 
			
		||||
        } else {
 | 
			
		||||
            const sizeInKb = Math.round(JSON.stringify(resp).length / 1024);
 | 
			
		||||
            try { // https://github.com/zadam/trilium/issues/4310
 | 
			
		||||
                const sizeInKb = Math.round(JSON.stringify(resp).length / 1024);
 | 
			
		||||
 | 
			
		||||
            log.info(`Sync ${logMarkerId}: Pulled ${entityChanges.length} changes in ${sizeInKb} KB, starting at entityChangeId=${lastSyncedPull} in ${pulledDate - startDate}ms and applied them in ${Date.now() - pulledDate}ms, ${outstandingPullCount} outstanding pulls`);
 | 
			
		||||
                log.info(`Sync ${logMarkerId}: Pulled ${entityChanges.length} changes in ${sizeInKb} KB, starting at entityChangeId=${lastSyncedPull} in ${pulledDate - startDate}ms and applied them in ${Date.now() - pulledDate}ms, ${outstandingPullCount} outstanding pulls`);
 | 
			
		||||
            }
 | 
			
		||||
            catch (e) {
 | 
			
		||||
                log.error(`Error occurred ${e.message} ${e.stack}`);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -106,7 +106,7 @@ function updateNormalEntity(remoteEC, remoteEntityRow, instanceId, updateContext
 | 
			
		||||
        updateContext.updated[remoteEC.entityName] = updateContext.updated[remoteEC.entityName] || [];
 | 
			
		||||
        updateContext.updated[remoteEC.entityName].push(remoteEC.entityId);
 | 
			
		||||
 | 
			
		||||
        if (!localEC || localEC.utcDateChanged < remoteEC.utcDateChanged) {
 | 
			
		||||
        if (!localEC || localEC.utcDateChanged < remoteEC.utcDateChanged || localEC.hash !== remoteEC.hash) {
 | 
			
		||||
            entityChangesService.putEntityChangeWithInstanceId(remoteEC, instanceId);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -13,7 +13,7 @@ const env = require('./env');
 | 
			
		||||
if (env.isDev()) {
 | 
			
		||||
    const chokidar = require('chokidar');
 | 
			
		||||
    const debounce = require('debounce');
 | 
			
		||||
    const debouncedReloadFrontend = debounce(reloadFrontend, 200);
 | 
			
		||||
    const debouncedReloadFrontend = debounce(() => reloadFrontend("source code change"), 200);
 | 
			
		||||
    chokidar
 | 
			
		||||
        .watch('src/public')
 | 
			
		||||
        .on('add', debouncedReloadFrontend)
 | 
			
		||||
@ -230,8 +230,8 @@ function syncFailed() {
 | 
			
		||||
    sendMessageToAllClients({ type: 'sync-failed', lastSyncedPush });
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function reloadFrontend() {
 | 
			
		||||
    sendMessageToAllClients({ type: 'reload-frontend' });
 | 
			
		||||
function reloadFrontend(reason) {
 | 
			
		||||
    sendMessageToAllClients({ type: 'reload-frontend', reason });
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function setLastSyncedPush(entityChangeId) {
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user