fix: property casing

This commit is contained in:
Seth 2023-08-29 17:32:02 +08:00
parent c2fd2d8e3d
commit 97ee47707e
2 changed files with 17 additions and 4 deletions

View File

@ -1,6 +1,6 @@
{ {
"name": "logseq-plugin-favorite-tree", "name": "logseq-plugin-favorite-tree",
"version": "1.0.1", "version": "1.0.2",
"main": "dist/index.html", "main": "dist/index.html",
"logseq": { "logseq": {
"id": "_sethyuan-logseq-favorite-tree", "id": "_sethyuan-logseq-favorite-tree",

View File

@ -44,18 +44,20 @@ export async function queryForSubItems(name: string) {
await logseq.DB.datascriptQuery( await logseq.DB.datascriptQuery(
hierarchyProperty === "tags" hierarchyProperty === "tags"
? `[:find (pull ?p [:block/name :block/original-name :block/uuid :block/properties]) ? `[:find (pull ?p [:block/name :block/original-name :block/uuid :block/properties])
:in $ ?name :in $ ?name ?equals ?contains
:where :where
[?t :block/name ?name] [?t :block/name ?name]
[?p :block/tags ?t]]` [?p :block/tags ?t]]`
: `[:find (pull ?p [:block/name :block/original-name :block/uuid :block/properties]) : `[:find (pull ?p [:block/name :block/original-name :block/uuid :block/properties])
:in $ ?name :in $ ?name ?equals ?contains
:where :where
[?p :block/original-name] [?p :block/original-name]
[?p :block/properties ?props] [?p :block/properties ?props]
[(get ?props :${hierarchyProperty}) ?v] [(get ?props :${hierarchyProperty}) ?v]
(or [(= ?v ?name)] [(contains? ?v ?name)])]`, (or [(?equals ?v ?name)] [(?contains ?v ?name)])]`,
`"${name}"`, `"${name}"`,
equals,
contains,
) )
).flat() ).flat()
@ -174,3 +176,14 @@ function constructFilter(
obj.filters, obj.filters,
) )
} }
function equals(prop: any, val: string) {
if (prop.toLowerCase == null) return false
return prop.toLowerCase() === val.toLowerCase()
}
function contains(prop: any, val: string) {
if (!Array.isArray(prop)) return false
const lowerVal = val.toLowerCase()
return prop.some((v) => v.toLowerCase().includes(lowerVal))
}