mirror of
https://github.com/zadam/trilium.git
synced 2025-02-24 06:54:44 +08:00
autocomplete cache gets updated with note update
This commit is contained in:
parent
834bfa39c7
commit
bbf04209f0
2 changed files with 28 additions and 0 deletions
|
@ -1,5 +1,7 @@
|
||||||
const sql = require('./sql');
|
const sql = require('./sql');
|
||||||
const sqlInit = require('./sql_init');
|
const sqlInit = require('./sql_init');
|
||||||
|
const syncTableService = require('./sync_table');
|
||||||
|
const repository = require('./repository');
|
||||||
|
|
||||||
let noteTitles;
|
let noteTitles;
|
||||||
let noteIds;
|
let noteIds;
|
||||||
|
@ -114,6 +116,20 @@ function getNoteTitle(path) {
|
||||||
return titles.join(' / ');
|
return titles.join(' / ');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
syncTableService.addListener(async (entityName, entityId) => {
|
||||||
|
if (entityName === 'notes') {
|
||||||
|
const note = await repository.getNote(entityId);
|
||||||
|
|
||||||
|
if (note.isDeleted) {
|
||||||
|
delete noteTitles[note.noteId];
|
||||||
|
delete childToParent[note.noteId];
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
noteTitles[note.noteId] = note.title;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
sqlInit.dbReady.then(load);
|
sqlInit.dbReady.then(load);
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
|
|
|
@ -5,6 +5,12 @@ const syncSetup = require('./sync_setup');
|
||||||
const log = require('./log');
|
const log = require('./log');
|
||||||
const cls = require('./cls');
|
const cls = require('./cls');
|
||||||
|
|
||||||
|
const listeners = [];
|
||||||
|
|
||||||
|
function addListener(listener) {
|
||||||
|
listeners.push(listener);
|
||||||
|
}
|
||||||
|
|
||||||
async function addNoteSync(noteId, sourceId) {
|
async function addNoteSync(noteId, sourceId) {
|
||||||
await addEntitySync("notes", noteId, sourceId)
|
await addEntitySync("notes", noteId, sourceId)
|
||||||
}
|
}
|
||||||
|
@ -58,6 +64,11 @@ async function addEntitySync(entityName, entityId, sourceId) {
|
||||||
// useful when you fork the DB for new "client" instance, it won't try to sync the whole DB
|
// useful when you fork the DB for new "client" instance, it won't try to sync the whole DB
|
||||||
await sql.execute("UPDATE options SET value = (SELECT MAX(id) FROM sync) WHERE name IN('lastSyncedPush', 'lastSyncedPull')");
|
await sql.execute("UPDATE options SET value = (SELECT MAX(id) FROM sync) WHERE name IN('lastSyncedPush', 'lastSyncedPull')");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (const listener of listeners) {
|
||||||
|
// not awaiting to not block the execution
|
||||||
|
listener(entityName, entityId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async function cleanupSyncRowsForMissingEntities(entityName, entityKey) {
|
async function cleanupSyncRowsForMissingEntities(entityName, entityKey) {
|
||||||
|
@ -104,6 +115,7 @@ async function fillAllSyncRows() {
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
|
addListener,
|
||||||
addNoteSync,
|
addNoteSync,
|
||||||
addBranchSync,
|
addBranchSync,
|
||||||
addNoteReorderingSync,
|
addNoteReorderingSync,
|
||||||
|
|
Loading…
Reference in a new issue