Compare commits

...

5 Commits

9 changed files with 40 additions and 8 deletions

2
package-lock.json generated
View File

@@ -1,6 +1,6 @@
{ {
"name": "trilium", "name": "trilium",
"version": "0.36.2", "version": "0.36.3",
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true, "requires": true,
"dependencies": { "dependencies": {

View File

@@ -2,7 +2,7 @@
"name": "trilium", "name": "trilium",
"productName": "Trilium Notes", "productName": "Trilium Notes",
"description": "Trilium Notes", "description": "Trilium Notes",
"version": "0.36.3", "version": "0.36.4",
"license": "AGPL-3.0-only", "license": "AGPL-3.0-only",
"main": "electron.js", "main": "electron.js",
"bin": { "bin": {

View File

@@ -16,9 +16,9 @@ function getNotePathFromUrl(url) {
async function createNoteLink(notePath, noteTitle = null, tooltip = true) { async function createNoteLink(notePath, noteTitle = null, tooltip = true) {
if (!noteTitle) { if (!noteTitle) {
const noteId = treeUtils.getNoteIdFromNotePath(notePath); const {noteId, parentNoteId} = treeUtils.getNoteIdAndParentIdFromNotePath(notePath);
noteTitle = await treeUtils.getNoteTitle(noteId); noteTitle = await treeUtils.getNoteTitle(noteId, parentNoteId);
} }
const $noteLink = $("<a>", { const $noteLink = $("<a>", {

View File

@@ -131,11 +131,13 @@ class NoteDetailBook {
for (const childNote of await note.getChildNotes()) { for (const childNote of await note.getChildNotes()) {
const type = this.getRenderingType(childNote); const type = this.getRenderingType(childNote);
const childNotePath = this.ctx.notePath + '/' + childNote.noteId;
const $card = $('<div class="note-book-card">') const $card = $('<div class="note-book-card">')
.attr('data-note-id', childNote.noteId) .attr('data-note-id', childNote.noteId)
.css("flex-basis", ZOOMS[this.zoomLevel].width) .css("flex-basis", ZOOMS[this.zoomLevel].width)
.addClass("type-" + type) .addClass("type-" + type)
.append($('<h5 class="note-book-title">').append(await linkService.createNoteLink(childNote.noteId, null, false))) .append($('<h5 class="note-book-title">').append(await linkService.createNoteLink(childNotePath, null, false)))
.append($('<div class="note-book-content">') .append($('<div class="note-book-content">')
.css("max-height", ZOOMS[this.zoomLevel].height) .css("max-height", ZOOMS[this.zoomLevel].height)
.append(await this.getNoteContent(type, childNote))); .append(await this.getNoteContent(type, childNote)));
@@ -270,7 +272,10 @@ class NoteDetailBook {
return type; return type;
} }
getContent() {} getContent() {
// for auto-book cases when renaming title there should be content
return "";
}
show() { show() {
this.$component.show(); this.$component.show();

View File

@@ -25,6 +25,29 @@ function getNoteIdFromNotePath(notePath) {
return lastSegment.split("-")[0]; return lastSegment.split("-")[0];
} }
function getNoteIdAndParentIdFromNotePath(notePath) {
let parentNoteId = 'root';
let noteId = '';
if (notePath) {
const path = notePath.split("/");
const lastSegment = path[path.length - 1];
// path could have also tabId suffix
noteId = lastSegment.split("-")[0];
if (path.length > 1) {
parentNoteId = path[path.length - 2];
}
}
return {
parentNoteId,
noteId
}
}
async function getNotePath(node) { async function getNotePath(node) {
if (!node) { if (!node) {
console.error("Node is null"); console.error("Node is null");
@@ -103,6 +126,7 @@ export default {
getNodeByKey, getNodeByKey,
getNotePath, getNotePath,
getNoteIdFromNotePath, getNoteIdFromNotePath,
getNoteIdAndParentIdFromNotePath,
getNoteTitle, getNoteTitle,
getNotePathTitle, getNotePathTitle,
}; };

View File

@@ -1 +1 @@
module.exports = { buildDate:"2019-11-05T21:49:16+01:00", buildRevision: "72fda89360d924aedf7a26216fd387346254dfd3" }; module.exports = { buildDate:"2019-11-09T21:19:34+01:00", buildRevision: "c2ebd4b308d712b3f4cff99019c559ccab0e49b7" };

View File

@@ -6,6 +6,7 @@ const treeService = require('./tree');
const noteService = require('./notes'); const noteService = require('./notes');
const repository = require('./repository'); const repository = require('./repository');
const Branch = require('../entities/branch'); const Branch = require('../entities/branch');
const TaskContext = require("./task_context.js");
async function cloneNoteToParent(noteId, parentNoteId, prefix) { async function cloneNoteToParent(noteId, parentNoteId, prefix) {
if (await isNoteDeleted(noteId) || await isNoteDeleted(parentNoteId)) { if (await isNoteDeleted(noteId) || await isNoteDeleted(parentNoteId)) {
@@ -53,7 +54,7 @@ async function ensureNoteIsAbsentFromParent(noteId, parentNoteId) {
const branch = await repository.getEntity(`SELECT * FROM branches WHERE noteId = ? AND parentNoteId = ? AND isDeleted = 0`, [noteId, parentNoteId]); const branch = await repository.getEntity(`SELECT * FROM branches WHERE noteId = ? AND parentNoteId = ? AND isDeleted = 0`, [noteId, parentNoteId]);
if (branch) { if (branch) {
await noteService.deleteBranch(branch); await noteService.deleteBranch(branch, new TaskContext());
} }
} }

View File

@@ -370,6 +370,7 @@ async function updateNote(noteId, noteUpdates) {
note.isProtected = noteUpdates.isProtected; note.isProtected = noteUpdates.isProtected;
await note.save(); await note.save();
// this might be simplified to just !== undefined
if (!['file', 'image', 'render'].includes(note.type)) { if (!['file', 'image', 'render'].includes(note.type)) {
noteUpdates.content = await saveLinks(note, noteUpdates.content); noteUpdates.content = await saveLinks(note, noteUpdates.content);

View File

@@ -79,6 +79,7 @@
</div> </div>
<% include dialogs/protected_session_password.ejs %> <% include dialogs/protected_session_password.ejs %>
<% include dialogs/confirm.ejs %>
<div class="dropdown-menu dropdown-menu-sm" id="context-menu-container"></div> <div class="dropdown-menu dropdown-menu-sm" id="context-menu-container"></div>