mirror of
https://github.com/zadam/trilium.git
synced 2025-06-05 09:28:45 +02:00
refactoring of similar notes path handling
This commit is contained in:
parent
c8a5c71ec2
commit
c9cc2cb4f3
@ -30,6 +30,25 @@ async function createNoteLink(notePath, noteTitle = null) {
|
||||
return noteLink;
|
||||
}
|
||||
|
||||
async function createNoteLinkWithPath(notePath) {
|
||||
const $link = await createNoteLink(notePath);
|
||||
|
||||
const $res = $("<span>").append($link);
|
||||
|
||||
if (notePath.includes("/")) {
|
||||
const noteIds = notePath.split("/");
|
||||
noteIds.pop(); // remove last element
|
||||
|
||||
const parentNotePath = noteIds.join("/").trim();
|
||||
|
||||
if (parentNotePath) {
|
||||
$res.append($("<small>").text(" (" + await treeUtils.getNotePathTitle(parentNotePath) + ")"));
|
||||
}
|
||||
}
|
||||
|
||||
return $res;
|
||||
}
|
||||
|
||||
function getNotePathFromLink($link) {
|
||||
const notePathAttr = $link.attr("data-note-path");
|
||||
|
||||
@ -159,6 +178,7 @@ $(document).on('mousedown', 'span.ck-button__label', e => {
|
||||
export default {
|
||||
getNotePathFromUrl,
|
||||
createNoteLink,
|
||||
createNoteLinkWithPath,
|
||||
addLinkToEditor,
|
||||
addTextToEditor,
|
||||
goToLink
|
||||
|
@ -3,6 +3,7 @@ import linkService from "../services/link.js";
|
||||
import server from "../services/server.js";
|
||||
import treeCache from "../services/tree_cache.js";
|
||||
import treeUtils from "../services/tree_utils.js";
|
||||
import treeService from "../services/tree.js";
|
||||
|
||||
class SimilarNotesWidget extends StandardWidget {
|
||||
getWidgetTitle() { return "Similar notes"; }
|
||||
@ -19,18 +20,20 @@ class SimilarNotesWidget extends StandardWidget {
|
||||
|
||||
await treeCache.getNotes(similarNotes.map(note => note.noteId)); // preload all at once
|
||||
|
||||
const $list = $('<ul style="padding-left: 20px;">');
|
||||
const $list = $('<ul>');
|
||||
|
||||
for (const similarNote of similarNotes) {
|
||||
const $item = $("<li>")
|
||||
.append(await linkService.createNoteLink(similarNote.notePath.join("/")));
|
||||
const note = await treeCache.getNote(similarNote.noteId);
|
||||
|
||||
similarNote.notePath.pop(); // remove last noteId since it's already in the link
|
||||
|
||||
if (similarNote.notePath.length > 0) {
|
||||
$item.append($("<small>").text(" (" + await treeUtils.getNotePathTitle(similarNote.notePath.join("/")) + ")"));
|
||||
if (!note) {
|
||||
continue;
|
||||
}
|
||||
|
||||
const notePath = await treeService.getSomeNotePath(note);
|
||||
|
||||
const $item = $("<li>")
|
||||
.append(await linkService.createNoteLinkWithPath(notePath));
|
||||
|
||||
$list.append($item);
|
||||
}
|
||||
|
||||
|
@ -392,6 +392,11 @@ body {
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.note-detail-sidebar .card-body ul {
|
||||
padding-left: 25px;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
#widgets-configuration {
|
||||
margin: 0;
|
||||
}
|
||||
|
@ -348,7 +348,7 @@ function evaluateSimilarity(text1, text2, noteId, results) {
|
||||
coeff -= 0.2; // archived penalization
|
||||
}
|
||||
|
||||
results.push({coeff, notePath, noteId});
|
||||
results.push({coeff, noteId});
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user