refactoring of similar notes path handling

This commit is contained in:
zadam 2019-09-01 13:42:10 +02:00
parent c8a5c71ec2
commit c9cc2cb4f3
4 changed files with 36 additions and 8 deletions

View File

@ -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

View File

@ -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);
}

View File

@ -392,6 +392,11 @@ body {
border: 0;
}
.note-detail-sidebar .card-body ul {
padding-left: 25px;
margin-bottom: 5px;
}
#widgets-configuration {
margin: 0;
}

View File

@ -348,7 +348,7 @@ function evaluateSimilarity(text1, text2, noteId, results) {
coeff -= 0.2; // archived penalization
}
results.push({coeff, notePath, noteId});
results.push({coeff, noteId});
}
}