fix: pres_mgmt session search now includes presenter and presentation names
Previously, searching by presenter name in pres_mgmt returned no results
because event_presenter_li_qry_str / event_presentation_li_qry_str were
never requested or stored.
Changes:
- ae_types.ts: add event_presentation_li_qry_str + event_presenter_li_qry_str
to ae_EventSession interface
- db_events.ts: same two fields added to Session Dexie interface
- ae_events__event_session.ts:
* add ft_presentation_search_qry_str param
* auto-upgrade view to 'alt' when either ft_presenter or ft_presentation
search is used (backend requires v_event_session_w_file_count for these)
* add both fields to properties_to_save so they persist to Dexie cache
- +page.svelte (pres_mgmt):
* pass ft_presenter_search_qry_str + ft_presentation_search_qry_str in API call
* local IDB fast path now checks both new fields
* client-side filter guard also checks both new fields
This commit is contained in:
@@ -250,12 +250,20 @@ async function handle_search_refresh(params: any) {
|
||||
const qry_string = (
|
||||
session.default_qry_str ?? ''
|
||||
).toLowerCase();
|
||||
const presenter_qry = (
|
||||
session.event_presenter_li_qry_str ?? ''
|
||||
).toLowerCase();
|
||||
const presentation_qry = (
|
||||
session.event_presentation_li_qry_str ?? ''
|
||||
).toLowerCase();
|
||||
|
||||
const match =
|
||||
name.includes(qry_str) ||
|
||||
code.includes(qry_str) ||
|
||||
description.includes(qry_str) ||
|
||||
qry_string.includes(qry_str);
|
||||
qry_string.includes(qry_str) ||
|
||||
presenter_qry.includes(qry_str) ||
|
||||
presentation_qry.includes(qry_str);
|
||||
|
||||
if (!match) return false;
|
||||
}
|
||||
@@ -298,6 +306,8 @@ async function handle_search_refresh(params: any) {
|
||||
event_id: event_id,
|
||||
fulltext_search_qry_str: qry_str || null,
|
||||
like_search_qry_str: qry_str || null,
|
||||
ft_presenter_search_qry_str: qry_str || null,
|
||||
ft_presentation_search_qry_str: qry_str || null,
|
||||
location_name: location_name || null,
|
||||
enabled: pres_mgmt_loc.current.qry_enabled ?? 'enabled',
|
||||
hidden: pres_mgmt_loc.current.qry_hidden ?? 'not_hidden',
|
||||
@@ -326,11 +336,19 @@ async function handle_search_refresh(params: any) {
|
||||
const qry_string = (
|
||||
session.default_qry_str ?? ''
|
||||
).toLowerCase();
|
||||
const presenter_qry = (
|
||||
session.event_presenter_li_qry_str ?? ''
|
||||
).toLowerCase();
|
||||
const presentation_qry = (
|
||||
session.event_presentation_li_qry_str ?? ''
|
||||
).toLowerCase();
|
||||
const match =
|
||||
name.includes(qry_str) ||
|
||||
code.includes(qry_str) ||
|
||||
description.includes(qry_str) ||
|
||||
qry_string.includes(qry_str);
|
||||
qry_string.includes(qry_str) ||
|
||||
presenter_qry.includes(qry_str) ||
|
||||
presentation_qry.includes(qry_str);
|
||||
if (!match) return false;
|
||||
}
|
||||
return true;
|
||||
|
||||
Reference in New Issue
Block a user