promoted and inherited attributes should be shown grouped based on the owning note, #3761

This commit is contained in:
zadam 2023-03-23 23:47:28 +01:00
parent 6b1f9d3243
commit cd72ea524e
2 changed files with 20 additions and 2 deletions

View file

@ -706,7 +706,14 @@ class FNote {
});
// attrs are not resorted if position changes after initial load
promotedAttrs.sort((a, b) => a.position < b.position ? -1 : 1);
promotedAttrs.sort((a, b) => {
if (a.noteId === b.noteId) {
return a.position < b.position ? -1 : 1;
} else {
// inherited promoted attributes should stay grouped: https://github.com/zadam/trilium/issues/3761
return a.noteId < b.noteId ? -1 : 1;
}
});
return promotedAttrs;
}

View file

@ -92,7 +92,18 @@ export default class InheritedAttributesWidget extends NoteContextAwareWidget {
}
getInheritedAttributes(note) {
return note.getAttributes().filter(attr => attr.noteId !== this.noteId);
const attrs = note.getAttributes().filter(attr => attr.noteId !== this.noteId);
attrs.sort((a, b) => {
if (a.noteId === b.noteId) {
return a.position < b.position ? -1 : 1;
} else {
// inherited attributes should stay grouped: https://github.com/zadam/trilium/issues/3761
return a.noteId < b.noteId ? -1 : 1;
}
});
return attrs;
}
entitiesReloadedEvent({loadResults}) {