diff --git a/prisma/migrations/20240113221445_search_index/migration.sql b/prisma/migrations/20240113221445_search_index/migration.sql
index cd6b5db..01b2f1f 100644
--- a/prisma/migrations/20240113221445_search_index/migration.sql
+++ b/prisma/migrations/20240113221445_search_index/migration.sql
@@ -33,4 +33,5 @@ EXECUTE PROCEDURE update_entry_tsvec ();
ALTER TABLE patients
ADD COLUMN full_name TEXT GENERATED ALWAYS AS (first_name || ' ' || last_name) STORED;
+CREATE INDEX entries_tsvec ON entries USING GIN (tsvec);
CREATE INDEX patients_full_name ON patients USING gin (full_name gin_trgm_ops);
diff --git a/src/app.html b/src/app.html
index 84ffad1..5f0dd88 100644
--- a/src/app.html
+++ b/src/app.html
@@ -6,7 +6,7 @@
%sveltekit.head%
-
+
%sveltekit.body%
diff --git a/src/lib/components/filter/Autocomplete.svelte b/src/lib/components/filter/Autocomplete.svelte
index 64d535f..9f1f822 100644
--- a/src/lib/components/filter/Autocomplete.svelte
+++ b/src/lib/components/filter/Autocomplete.svelte
@@ -23,7 +23,7 @@
export let placeholder: string | undefined = undefined;
export let padding = true;
export let cls = "";
- export let inputCls = "w-full bg-transparent";
+ export let inputCls = "w-full bg-transparent outline-none";
export let asTextInput = false;
export let idInputName: string | undefined = undefined;
diff --git a/src/lib/components/filter/FilterBar.svelte b/src/lib/components/filter/FilterBar.svelte
index 1b481d6..b7bacfc 100644
--- a/src/lib/components/filter/FilterBar.svelte
+++ b/src/lib/components/filter/FilterBar.svelte
@@ -21,6 +21,7 @@
export let onUpdate: (filterData: FilterQdata | undefined) => void = () => {};
/** List of hidden filter IDs, can be specified for prefiltered views (e.g. by patient) */
export let hiddenFilters: string[] = [];
+ /** True if a separate search field should be displayed */
export let search = false;
let autocomplete: Autocomplete | undefined;
@@ -59,7 +60,9 @@
function updateFromQueryData(filterData: FilterQdata) {
const filters: FilterData[] = [];
for (const [id, value] of Object.entries(filterData)) {
- if (hiddenFilters.includes(id)) continue;
+ // If filter is hidden or undefined, dont display it
+ if (hiddenFilters.includes(id) || !FILTERS[id]) continue;
+ // Extract search parameter if a separate search field is used
if (search && id === "search") {
searchVal = value.toString();
} else if (Array.isArray(value)) {
@@ -183,10 +186,8 @@
}
-