add support for "bottom" sort, closes #4277

This commit is contained in:
zadam 2023-09-25 23:25:00 +02:00
parent 964abf390b
commit 984bd726e9
3 changed files with 17 additions and 1 deletions

View File

@ -45,6 +45,7 @@ module.exports = [
{ type: 'label', name: 'sortNatural' },
{ type: 'label', name: 'sortLocale' },
{ type: 'label', name: 'top' },
{ type: 'label', name: 'bottom' },
{ type: 'label', name: 'fullContentWidth' },
{ type: 'label', name: 'shareHiddenFromTree' },
{ type: 'label', name: 'shareAlias' },

View File

@ -171,8 +171,15 @@ function handleMaybeSortingLabel(entity) {
if (note) {
for (const parentNote of note.getParentNotes()) {
const sorted = parentNote.getLabelValue("sorted");
if (sorted === null) {
// checking specifically for null since that means the label doesn't exist
// empty valued "sorted" is still valid
continue;
}
if (sorted?.includes(entity.name)) { // hacky check if the sorting is affected by this label
if (sorted.includes(entity.name) // hacky check if this label is used in the sort
|| entity.name === "top"
|| entity.name === "bottom") {
treeService.sortNotesIfNeeded(parentNote.noteId);
}
}

View File

@ -126,6 +126,14 @@ function sortNotes(parentNoteId, customSortBy = 'title', reverse = false, folder
return compare(topAEl, topBEl) * (reverse ? -1 : 1);
}
const bottomAEl = fetchValue(a, 'bottom');
const bottomBEl = fetchValue(b, 'bottom');
if (bottomAEl !== bottomBEl) {
// since "bottom" should not be reversible, we'll reverse it once more to nullify this effect
return compare(bottomBEl, bottomAEl) * (reverse ? -1 : 1);
}
const customAEl = fetchValue(a, customSortBy);
const customBEl = fetchValue(b, customSortBy);