mirror of
https://github.com/zadam/trilium.git
synced 2025-10-28 08:46:43 +01:00
Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d357943ebb | ||
|
|
07043fb177 | ||
|
|
1f8d382b1f | ||
|
|
61e8cbbcba | ||
|
|
86c5dd6494 |
2
package-lock.json
generated
2
package-lock.json
generated
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "trilium",
|
"name": "trilium",
|
||||||
"version": "0.36.5",
|
"version": "0.37.2",
|
||||||
"lockfileVersion": 1,
|
"lockfileVersion": 1,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
"name": "trilium",
|
"name": "trilium",
|
||||||
"productName": "Trilium Notes",
|
"productName": "Trilium Notes",
|
||||||
"description": "Trilium Notes",
|
"description": "Trilium Notes",
|
||||||
"version": "0.37.2",
|
"version": "0.37.3",
|
||||||
"license": "AGPL-3.0-only",
|
"license": "AGPL-3.0-only",
|
||||||
"main": "electron.js",
|
"main": "electron.js",
|
||||||
"bin": {
|
"bin": {
|
||||||
|
|||||||
@@ -142,6 +142,12 @@ async function refreshSearch() {
|
|||||||
toastService.showMessage("Saved search note refreshed.");
|
toastService.showMessage("Saved search note refreshed.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function searchInSubtree(noteId) {
|
||||||
|
showSearch();
|
||||||
|
|
||||||
|
$searchInput.val(`@in=${noteId} @text*=*`);
|
||||||
|
}
|
||||||
|
|
||||||
function init() {
|
function init() {
|
||||||
const hashValue = document.location.hash ? document.location.hash.substr(1) : ""; // strip initial #
|
const hashValue = document.location.hash ? document.location.hash.substr(1) : ""; // strip initial #
|
||||||
|
|
||||||
@@ -178,5 +184,6 @@ export default {
|
|||||||
refreshSearch,
|
refreshSearch,
|
||||||
doSearch,
|
doSearch,
|
||||||
init,
|
init,
|
||||||
|
searchInSubtree,
|
||||||
getHelpText: () => helpText
|
getHelpText: () => helpText
|
||||||
};
|
};
|
||||||
@@ -9,6 +9,7 @@ import hoistedNoteService from './hoisted_note.js';
|
|||||||
import noteDetailService from './note_detail.js';
|
import noteDetailService from './note_detail.js';
|
||||||
import clipboard from './clipboard.js';
|
import clipboard from './clipboard.js';
|
||||||
import protectedSessionHolder from "./protected_session_holder.js";
|
import protectedSessionHolder from "./protected_session_holder.js";
|
||||||
|
import searchNotesService from "./search_notes.js";
|
||||||
|
|
||||||
class TreeContextMenu {
|
class TreeContextMenu {
|
||||||
constructor(node) {
|
constructor(node) {
|
||||||
@@ -55,6 +56,8 @@ class TreeContextMenu {
|
|||||||
{ title: "Delete <kbd>Delete</kbd>", cmd: "delete", uiIcon: "trash",
|
{ title: "Delete <kbd>Delete</kbd>", cmd: "delete", uiIcon: "trash",
|
||||||
enabled: isNotRoot && !isHoisted && parentNotSearch },
|
enabled: isNotRoot && !isHoisted && parentNotSearch },
|
||||||
{ title: "----" },
|
{ title: "----" },
|
||||||
|
{ title: "Search in subtree <kbd>Ctrl+Shift+S</kbd>", cmd: "searchInSubtree", uiIcon: "search",
|
||||||
|
enabled: notSearch && noSelectedNotes },
|
||||||
isHoisted ? null : { title: "Hoist note <kbd>Ctrl-H</kbd>", cmd: "hoist", uiIcon: "empty", enabled: noSelectedNotes && notSearch },
|
isHoisted ? null : { title: "Hoist note <kbd>Ctrl-H</kbd>", cmd: "hoist", uiIcon: "empty", enabled: noSelectedNotes && notSearch },
|
||||||
!isHoisted || !isNotRoot ? null : { title: "Unhoist note <kbd>Ctrl-H</kbd>", cmd: "unhoist", uiIcon: "arrow-up" },
|
!isHoisted || !isNotRoot ? null : { title: "Unhoist note <kbd>Ctrl-H</kbd>", cmd: "unhoist", uiIcon: "arrow-up" },
|
||||||
{ title: "Edit branch prefix <kbd>F2</kbd>", cmd: "editBranchPrefix", uiIcon: "empty",
|
{ title: "Edit branch prefix <kbd>F2</kbd>", cmd: "editBranchPrefix", uiIcon: "empty",
|
||||||
@@ -177,6 +180,9 @@ class TreeContextMenu {
|
|||||||
|
|
||||||
treeService.duplicateNote(this.node.data.noteId, branch.parentNoteId);
|
treeService.duplicateNote(this.node.data.noteId, branch.parentNoteId);
|
||||||
}
|
}
|
||||||
|
else if (cmd === "searchInSubtree") {
|
||||||
|
searchNotesService.searchInSubtree(this.node.data.noteId);
|
||||||
|
}
|
||||||
else {
|
else {
|
||||||
ws.logError("Unknown command: " + cmd);
|
ws.logError("Unknown command: " + cmd);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import treeService from "./tree.js";
|
|||||||
import hoistedNoteService from "./hoisted_note.js";
|
import hoistedNoteService from "./hoisted_note.js";
|
||||||
import clipboard from "./clipboard.js";
|
import clipboard from "./clipboard.js";
|
||||||
import treeCache from "./tree_cache.js";
|
import treeCache from "./tree_cache.js";
|
||||||
|
import searchNoteService from "./search_notes.js";
|
||||||
|
|
||||||
const keyBindings = {
|
const keyBindings = {
|
||||||
"del": node => {
|
"del": node => {
|
||||||
@@ -167,6 +168,11 @@ const keyBindings = {
|
|||||||
"down": node => {
|
"down": node => {
|
||||||
node.navigate($.ui.keyCode.DOWN, true).then(treeService.clearSelectedNodes);
|
node.navigate($.ui.keyCode.DOWN, true).then(treeService.clearSelectedNodes);
|
||||||
|
|
||||||
|
return false;
|
||||||
|
},
|
||||||
|
"ctrl+shift+s": node => {
|
||||||
|
searchNoteService.searchInSubtree(node.data.noteId);
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -17,8 +17,8 @@ async function getRecentChanges() {
|
|||||||
FROM
|
FROM
|
||||||
note_revisions
|
note_revisions
|
||||||
JOIN notes USING(noteId)
|
JOIN notes USING(noteId)
|
||||||
ORDER BY
|
ORDER BY
|
||||||
utcDateCreated DESC
|
note_revisions.utcDateCreated DESC
|
||||||
LIMIT 1000
|
LIMIT 1000
|
||||||
)
|
)
|
||||||
UNION ALL SELECT * FROM (
|
UNION ALL SELECT * FROM (
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
module.exports = { buildDate:"2019-11-18T23:04:09+01:00", buildRevision: "834e1f7253186922d2b5df2f6a01c34f7c2d7fe4" };
|
module.exports = { buildDate:"2019-11-19T23:05:54+01:00", buildRevision: "07043fb177afb9d754428a410b3019d53d7b6fa0" };
|
||||||
|
|||||||
@@ -56,6 +56,8 @@ async function checkContentHashes(otherHashes) {
|
|||||||
if (hashes[key] !== otherHashes[key]) {
|
if (hashes[key] !== otherHashes[key]) {
|
||||||
allChecksPassed = false;
|
allChecksPassed = false;
|
||||||
|
|
||||||
|
log.info(`Content hash check for ${key} FAILED. Local is ${hashes[key]}, remote is ${otherHashes[key]}`);
|
||||||
|
|
||||||
if (key !== 'recent_notes') {
|
if (key !== 'recent_notes') {
|
||||||
// let's not get alarmed about recent notes which get updated often and can cause failures in race conditions
|
// let's not get alarmed about recent notes which get updated often and can cause failures in race conditions
|
||||||
ws.sendMessageToAllClients({type: 'sync-hash-check-failed'});
|
ws.sendMessageToAllClients({type: 'sync-hash-check-failed'});
|
||||||
|
|||||||
Reference in New Issue
Block a user