diff --git a/manifest.json b/manifest.json
index fcffcb3..0adf486 100644
--- a/manifest.json
+++ b/manifest.json
@@ -1,7 +1,7 @@
{
"id": "obsidian-book-tracker",
"name": "Book Tracker",
- "version": "1.6.1",
+ "version": "1.7.0",
"minAppVersion": "0.15.0",
"description": "Simplifies tracking your reading progress and managing your book collection in Obsidian.",
"author": "FiFiTiDo",
diff --git a/package.json b/package.json
index fa67faf..588c3f7 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "obsidian-book-tracker",
- "version": "1.6.1",
+ "version": "1.7.0",
"description": "Simplifies tracking your reading progress and managing your book collection in Obsidian.",
"main": "main.js",
"scripts": {
diff --git a/src/ui/components/setting/FileSuggestItem.svelte b/src/ui/components/setting/FileSuggestItem.svelte
index 32b04cd..c2a1d05 100644
--- a/src/ui/components/setting/FileSuggestItem.svelte
+++ b/src/ui/components/setting/FileSuggestItem.svelte
@@ -13,6 +13,6 @@
-
{#snippet control()}
-
+
{/snippet}
diff --git a/src/ui/components/setting/FolderSuggestItem.svelte b/src/ui/components/setting/FolderSuggestItem.svelte
index 767cf36..805ef36 100644
--- a/src/ui/components/setting/FolderSuggestItem.svelte
+++ b/src/ui/components/setting/FolderSuggestItem.svelte
@@ -13,6 +13,6 @@
-
{#snippet control()}
-
+
{/snippet}
diff --git a/src/ui/components/setting/PropertySuggestItem.svelte b/src/ui/components/setting/PropertySuggestItem.svelte
index f5a09a8..4971356 100644
--- a/src/ui/components/setting/PropertySuggestItem.svelte
+++ b/src/ui/components/setting/PropertySuggestItem.svelte
@@ -20,6 +20,6 @@
-
{#snippet control()}
-
+
{/snippet}
diff --git a/src/ui/components/suggesters/FileSuggest.svelte b/src/ui/components/suggesters/FileSuggest.svelte
index 12785e0..d0fdabd 100644
--- a/src/ui/components/suggesters/FileSuggest.svelte
+++ b/src/ui/components/suggesters/FileSuggest.svelte
@@ -3,42 +3,39 @@
import TextInputSuggest, { type Item } from "./TextInputSuggest.svelte";
import type { StringKeys } from "@utils/types";
import { getAppContext } from "@ui/stores/app";
+ import { isInAnyFolder } from "@utils/fs";
type Props = {
id: string;
- asString?: boolean;
property?: StringKeys;
- inFolder?: string;
- value?: TFile | string;
+ folderFilter?: string[];
+ value?: string;
disabled?: boolean;
- onSelected?: (fileOrPath: TFile | string) => void;
+ onSelected?: (propertyValue: string) => void;
};
let {
id,
- asString,
property = "path",
- inFolder,
+ folderFilter,
value = $bindable(),
disabled,
onSelected,
}: Props = $props();
const app = getAppContext();
- let items: Item[] = $state([]);
+ let items: Item[] = $state([]);
function handleChange(query: string) {
items = app.vault
.getMarkdownFiles()
.filter(
(f) =>
- (inFolder === undefined || f.path.startsWith(inFolder)) &&
+ (folderFilter === undefined ||
+ isInAnyFolder(f, folderFilter)) &&
f[property].toLowerCase().includes(query.toLowerCase()),
)
- .map((f) => ({
- text: f[property],
- value: asString ? f[property] : f,
- }));
+ .map((f) => f[property]);
}
diff --git a/src/ui/components/suggesters/FolderSuggest.svelte b/src/ui/components/suggesters/FolderSuggest.svelte
index 0138c3a..474db4a 100644
--- a/src/ui/components/suggesters/FolderSuggest.svelte
+++ b/src/ui/components/suggesters/FolderSuggest.svelte
@@ -3,22 +3,21 @@
import TextInputSuggest, { type Item } from "./TextInputSuggest.svelte";
import type { StringKeys } from "@utils/types";
import { getAppContext } from "@ui/stores/app";
+ import { isInAnyFolder } from "@utils/fs";
type Props = {
id: string;
- asString?: boolean;
property?: StringKeys;
- inFolder?: string;
- value?: TFolder | string;
+ folderFilter?: string[];
+ value?: string;
disabled?: boolean;
- onSelected?: (folderOrPath: TFolder | string) => void;
+ onSelected?: (propertyValue: string) => void;
};
let {
id,
- asString,
property = "path",
- inFolder,
+ folderFilter,
value = $bindable(),
disabled,
onSelected,
@@ -32,13 +31,11 @@
.getAllFolders()
.filter(
(f) =>
- (inFolder === undefined || f.path.startsWith(inFolder)) &&
+ (folderFilter === undefined ||
+ isInAnyFolder(f, folderFilter)) &&
f[property].toLowerCase().includes(query.toLowerCase()),
)
- .map((f) => ({
- text: f[property],
- value: asString ? f[property] : f,
- }));
+ .map((f) => f[property]);
}
diff --git a/src/ui/components/suggesters/PropertySuggest.svelte b/src/ui/components/suggesters/PropertySuggest.svelte
index f41b808..3ce023e 100644
--- a/src/ui/components/suggesters/PropertySuggest.svelte
+++ b/src/ui/components/suggesters/PropertySuggest.svelte
@@ -12,16 +12,14 @@
type Props = {
id: string;
- asString?: boolean;
- value?: Property | string;
+ value?: string;
accepts?: string[];
disabled?: boolean;
- onSelected?: (propertyOrName: Property | string) => void;
+ onSelected?: (propertyName: string) => void;
};
let {
id,
- asString,
value = $bindable(),
accepts,
disabled,
@@ -29,7 +27,7 @@
}: Props = $props();
const app = getAppContext();
- let items: Item[] = $state([]);
+ let items: Item[] = $state([]);
async function handleChange(query: string) {
const typesContent = await app.vault.adapter.read(
@@ -45,10 +43,7 @@
return name.toLowerCase().includes(query.toLowerCase());
})
- .map(([name, type]) => ({
- text: name,
- value: asString ? name : { name, type },
- }));
+ .map(([name, _]) => name);
}
diff --git a/src/ui/components/suggesters/TextInputSuggest.svelte b/src/ui/components/suggesters/TextInputSuggest.svelte
index fd1e430..0f9ed10 100644
--- a/src/ui/components/suggesters/TextInputSuggest.svelte
+++ b/src/ui/components/suggesters/TextInputSuggest.svelte
@@ -1,8 +1,10 @@