mirror of
				https://github.com/zadam/trilium.git
				synced 2025-10-31 10:26:08 +01:00 
			
		
		
		
	fixed runOnAttributeChange event
This commit is contained in:
		| @@ -10,18 +10,22 @@ const Option = require('../entities/option'); | ||||
| const repository = require('../services/repository'); | ||||
|  | ||||
| const TABLE_NAME_TO_ENTITY = { | ||||
|     "attributes": Attribute.constructor, | ||||
|     "images": Image.constructor, | ||||
|     "note_images": NoteImage.constructor, | ||||
|     "branches": Branch.constructor, | ||||
|     "notes": Note.constructor, | ||||
|     "note_revisions": NoteRevision.constructor, | ||||
|     "recent_notes": RecentNote.constructor, | ||||
|     "options": Option.constructor, | ||||
|     "api_tokens": ApiToken.constructor, | ||||
|     "attributes": Attribute, | ||||
|     "images": Image, | ||||
|     "note_images": NoteImage, | ||||
|     "branches": Branch, | ||||
|     "notes": Note, | ||||
|     "note_revisions": NoteRevision, | ||||
|     "recent_notes": RecentNote, | ||||
|     "options": Option, | ||||
|     "api_tokens": ApiToken | ||||
| }; | ||||
|  | ||||
| function getEntityFromTableName(tableName) { | ||||
|     if (!(tableName in TABLE_NAME_TO_ENTITY)) { | ||||
|         throw new Error(`Entity for table ${tableName} not found!`); | ||||
|     } | ||||
|  | ||||
|     return TABLE_NAME_TO_ENTITY[tableName]; | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -44,7 +44,7 @@ function ScriptApi(startNote, currentNote, originEntity = null) { | ||||
|             params: prepareParams(params), | ||||
|             startNoteId: startNote.noteId, | ||||
|             currentNoteId: currentNote.noteId, | ||||
|             originEntityName: originEntity ? originEntity.constructor.tableName() : null, | ||||
|             originEntityName: originEntity ? originEntity.constructor.tableName : null, | ||||
|             originEntityId: originEntity ? originEntity.noteId : null | ||||
|         }); | ||||
|  | ||||
|   | ||||
| @@ -14,7 +14,7 @@ async function exec(req) { | ||||
| async function run(req) { | ||||
|     const note = await repository.getNote(req.params.noteId); | ||||
|  | ||||
|     const result = await scriptService.executeNote(req, note); | ||||
|     const result = await scriptService.executeNote(note, note); | ||||
|  | ||||
|     return { executionResult: result }; | ||||
| } | ||||
|   | ||||
| @@ -19,7 +19,8 @@ const BUILTIN_ATTRIBUTES = [ | ||||
|  | ||||
|     // relation names | ||||
|     { type: 'relation', name: 'runOnNoteView' }, | ||||
|     { type: 'relation', name: 'runOnNoteTitleChange' } | ||||
|     { type: 'relation', name: 'runOnNoteTitleChange' }, | ||||
|     { type: 'relation', name: 'runOnAttributeChange' } | ||||
| ]; | ||||
|  | ||||
| async function getNotesWithLabel(name, value) { | ||||
|   | ||||
| @@ -11,7 +11,7 @@ async function runAttachedRelations(note, relationName, originEntity) { | ||||
|     for (const relation of runRelations) { | ||||
|         const scriptNote = await relation.getTargetNote(); | ||||
|  | ||||
|         await scriptService.executeNote(scriptNote, scriptNote, originEntity); | ||||
|         await scriptService.executeNote(scriptNote, originEntity); | ||||
|     } | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -273,8 +273,6 @@ eventService.subscribe(eventService.ENTITY_CHANGED, async ({entityName, entityId | ||||
|             const hideLabel = await repository.getEntity(`SELECT * FROM attributes WHERE isDeleted = 0 AND type = 'label'  | ||||
|                                  AND name = 'archived' AND noteId = ?`, [attribute.noteId]); | ||||
|  | ||||
|             console.log(hideLabel); | ||||
|  | ||||
|             if (hideLabel) { | ||||
|                 archived[attribute.noteId] = hideLabel.isInheritable ? 1 : 0; | ||||
|             } | ||||
|   | ||||
| @@ -10,9 +10,9 @@ async function setEntityConstructor(constructor) { | ||||
| } | ||||
|  | ||||
| async function getEntityFromName(entityName, entityId) { | ||||
|     const entityConstructor = entityConstructor.getEntityFromTableName(entityName); | ||||
|     const constructor = entityConstructor.getEntityFromTableName(entityName); | ||||
|  | ||||
|     return await getEntity(`SELECT * FROM ${entityConstructor.tableName()} WHERE ${entityConstructor.primaryKeyName()} = ?`, [entityId]); | ||||
|     return await getEntity(`SELECT * FROM ${constructor.tableName} WHERE ${constructor.primaryKeyName} = ?`, [entityId]); | ||||
| } | ||||
|  | ||||
| async function getEntities(query, params = []) { | ||||
|   | ||||
| @@ -17,7 +17,7 @@ async function runNotesWithLabel(runAttrValue) { | ||||
|           AND notes.isDeleted = 0`, [runAttrValue]); | ||||
|  | ||||
|     for (const note of notes) { | ||||
|         scriptService.executeNote(note); | ||||
|         scriptService.executeNote(note, note); | ||||
|     } | ||||
| } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user