#template label is not inherited through template since it's meant to mark the template note only

This commit is contained in:
zadam 2022-06-19 11:36:29 +02:00
parent 4f86d769be
commit 981fac8e50
3 changed files with 13 additions and 3 deletions

View File

@ -400,7 +400,11 @@ class Note extends AbstractEntity {
const templateNote = this.becca.notes[ownedAttr.value];
if (templateNote) {
templateAttributes.push(...templateNote.__getAttributes(newPath));
templateAttributes.push(
...templateNote.__getAttributes(newPath)
// template attr is used as a marker for templates, but it's not meant to be inherited
.filter(attr => !(attr.type === 'label' && attr.name === 'template'))
);
}
}
}

View File

@ -263,7 +263,11 @@ class NoteShort {
const templateNote = this.froca.notes[templateAttr.value];
if (templateNote && templateNote.noteId !== this.noteId) {
attrArrs.push(templateNote.__getCachedAttributes(newPath));
attrArrs.push(
templateNote.__getCachedAttributes(newPath)
// template attr is used as a marker for templates, but it's not meant to be inherited
.filter(attr => !(attr.type === 'label' && attr.name === 'template'))
);
}
}

View File

@ -26,7 +26,9 @@ class AttributeExistsExp extends Expression {
if (attr.isInheritable) {
resultNoteSet.addAll(note.getSubtreeNotesIncludingTemplated());
}
else if (note.isTemplate()) {
else if (note.isTemplate() &&
// template attr is used as a marker for templates, but it's not meant to be inherited
!(this.attributeType === 'label' && this.attributeName === 'template')) {
resultNoteSet.addAll(note.getTemplatedNotes());
}
else {