mirror of
https://github.com/zadam/trilium.git
synced 2025-01-16 03:58:53 +08:00
same event handling note execute only once, closes #1278
This commit is contained in:
parent
cabb78b3e4
commit
a665d193eb
1 changed files with 8 additions and 10 deletions
|
@ -6,17 +6,15 @@ const repository = require('./repository');
|
|||
const Attribute = require('../entities/attribute');
|
||||
|
||||
function runAttachedRelations(note, relationName, originEntity) {
|
||||
const runRelations = note.getRelations(relationName);
|
||||
// same script note can get here with multiple ways, but execute only once
|
||||
const notesToRun = new Set(
|
||||
note.getRelations(relationName)
|
||||
.map(relation => relation.getTargetNote())
|
||||
.filter(note => !!note)
|
||||
);
|
||||
|
||||
for (const relation of runRelations) {
|
||||
const scriptNote = relation.getTargetNote();
|
||||
|
||||
if (scriptNote) {
|
||||
scriptService.executeNoteNoException(scriptNote, { originEntity });
|
||||
}
|
||||
else {
|
||||
log.error(`Target note ${relation.value} of atttribute ${relation.attributeId} has not been found.`);
|
||||
}
|
||||
for (const noteToRun of notesToRun) {
|
||||
scriptService.executeNoteNoException(noteToRun, { originEntity });
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue