search will also look for type and mime by default

This commit is contained in:
zadam 2020-08-30 23:12:49 +02:00
parent 058edcfe15
commit b793f8cb88
4 changed files with 29 additions and 3 deletions

View File

@ -851,6 +851,10 @@ export default class NoteTreeWidget extends TabAwareWidget {
if (!foundChildNode) { if (!foundChildNode) {
if (logErrors) { if (logErrors) {
// besides real errors this can be also caused by hiding of e.g. included images
// these are real notes with real notePath, user can display them in a detail
// but they don't have a node in the tree
ws.logError(`Can't find node for child node of noteId=${childNoteId} for parent of noteId=${parentNode.data.noteId} and hoistedNoteId=${hoistedNoteId}, requested path is ${notePath}`); ws.logError(`Can't find node for child node of noteId=${childNoteId} for parent of noteId=${parentNode.data.noteId} and hoistedNoteId=${hoistedNoteId}, requested path is ${notePath}`);
} }

View File

@ -160,7 +160,7 @@ class Note {
return this.flatTextCache; return this.flatTextCache;
} }
this.flatTextCache = this.noteId + ' '; this.flatTextCache = this.noteId + ' ' + this.type + ' ' + this.mime;
for (const branch of this.parentBranches) { for (const branch of this.parentBranches) {
if (branch.prefix) { if (branch.prefix) {

View File

@ -36,6 +36,12 @@ class NoteCacheFlatTextExp extends Expression {
const foundAttrTokens = []; const foundAttrTokens = [];
for (const token of tokens) {
if (note.type.includes(token) || note.mime.includes(token)) {
foundAttrTokens.push(token);
}
}
for (const attribute of note.ownedAttributes) { for (const attribute of note.ownedAttributes) {
for (const token of tokens) { for (const token of tokens) {
if (attribute.name.toLowerCase().includes(token) if (attribute.name.toLowerCase().includes(token)
@ -77,10 +83,18 @@ class NoteCacheFlatTextExp extends Expression {
const foundAttrTokens = []; const foundAttrTokens = [];
for (const token of this.tokens) {
if (note.type.includes(token) || note.mime.includes(token)) {
foundAttrTokens.push(token);
}
}
for (const attribute of note.ownedAttributes) { for (const attribute of note.ownedAttributes) {
const lcName = attribute.name.toLowerCase();
const lcValue = attribute.value.toLowerCase();
for (const token of this.tokens) { for (const token of this.tokens) {
if (attribute.name.toLowerCase().includes(token) if (lcName.includes(token) || lcValue.includes(token)) {
|| attribute.value.toLowerCase().includes(token)) {
foundAttrTokens.push(token); foundAttrTokens.push(token);
} }
} }

View File

@ -146,6 +146,14 @@ function highlightSearchResults(searchResults, highlightedTokens) {
result.highlightedNotePathTitle = result.notePathTitle; result.highlightedNotePathTitle = result.notePathTitle;
if (highlightedTokens.find(token => note.type.includes(token))) {
result.highlightedNotePathTitle += ` <small>type: ${note.type}</small>`;
}
if (highlightedTokens.find(token => note.mime.includes(token))) {
result.highlightedNotePathTitle += ` <small>mime: ${note.mime}</small>`;
}
for (const attr of note.attributes) { for (const attr of note.attributes) {
if (highlightedTokens.find(token => attr.name.includes(token) || attr.value.includes(token))) { if (highlightedTokens.find(token => attr.name.includes(token) || attr.value.includes(token))) {
result.highlightedNotePathTitle += ` <small>${formatAttribute(attr)}</small>`; result.highlightedNotePathTitle += ` <small>${formatAttribute(attr)}</small>`;