Merge branch 'master' into next53

# Conflicts:
#	package-lock.json
#	src/routes/api/search.js
This commit is contained in:
zadam 2022-06-08 22:51:18 +02:00
commit 0f7fa7a7b7
7 changed files with 24 additions and 10 deletions

View file

@ -36,7 +36,7 @@
"commonmark": "0.30.0",
"cookie-parser": "1.4.6",
"csurf": "1.11.0",
"dayjs": "1.11.2",
"dayjs": "1.11.3",
"ejs": "3.1.8",
"electron-debug": "3.2.0",
"electron-dl": "3.3.1",

View file

@ -1133,6 +1133,10 @@ class Note extends AbstractEntity {
* @param {TaskContext} [taskContext]
*/
deleteNote(deleteId, taskContext) {
if (this.isDeleted) {
return;
}
if (!deleteId) {
deleteId = utils.randomString(10);
}

View file

@ -971,3 +971,8 @@ input {
.note-split.full-content-width {
max-width: 999999px;
}
button.close:hover {
text-shadow: none;
color: currentColor;
}

View file

@ -170,7 +170,6 @@ span.fancytree-active .fancytree-title {
}
span.fancytree-selected {
color: var(--hover-item-text-color) !important;
border-color: var(--main-border-color) !important;
border-radius: 5px;
}

View file

@ -7,15 +7,16 @@ const scriptService = require('../../services/script');
const searchService = require('../../services/search/services/search');
const bulkActionService = require("../../services/bulk_actions");
const {formatAttrForSearch} = require("../../services/attribute_formatter");
const utils = require("../../services/utils.js");
async function searchFromNoteInt(note) {
function searchFromNoteInt(note) {
let searchResultNoteIds;
const searchScript = note.getRelationValue('searchScript');
const searchString = note.getLabelValue('searchString');
if (searchScript) {
searchResultNoteIds = await searchFromRelation(note, 'searchScript');
searchResultNoteIds = searchFromRelation(note, 'searchScript');
} else {
const searchContext = new SearchContext({
fastSearch: note.hasLabel('fastSearch'),
@ -57,7 +58,7 @@ async function searchFromNote(req) {
return await searchFromNoteInt(note);
}
async function searchAndExecute(req) {
function searchAndExecute(req) {
const note = becca.getNote(req.params.noteId);
if (!note) {
@ -73,7 +74,7 @@ async function searchAndExecute(req) {
return [400, `Note ${req.params.noteId} is not a search note.`]
}
const searchResultNoteIds = await searchFromNoteInt(note);
const searchResultNoteIds = searchFromNoteInt(note);
bulkActionService.executeActions(note, searchResultNoteIds);
}

View file

@ -78,6 +78,10 @@ function findResultsWithExpression(expression, searchContext) {
const searchResults = noteSet.notes
.map(note => {
if (note.isDeleted) {
return null;
}
const notePathArray = executionContext.noteIdToNotePath[note.noteId] || beccaService.getSomePath(note);
if (!notePathArray) {
@ -85,7 +89,8 @@ function findResultsWithExpression(expression, searchContext) {
}
return new SearchResult(notePathArray);
});
})
.filter(note => !!note);
for (const res of searchResults) {
res.computeScore(searchContext.highlightedTokens);
@ -129,7 +134,7 @@ function parseQueryToExpression(query, searchContext) {
structuredExpressionTokens,
expression
};
log.info("Search debug: " + JSON.stringify(searchContext.debugInfo, null, 4));
}

View file

@ -242,9 +242,9 @@ function transactional(func) {
return ret;
}
catch (e) {
const entityChanges = cls.getAndClearEntityChangeIds();
const entityChangeIds = cls.getAndClearEntityChangeIds();
if (entityChanges.length > 0) {
if (entityChangeIds.length > 0) {
log.info("Transaction rollback dirtied the becca, forcing reload.");
require('../becca/becca_loader').load();