Fix: Ensure IDAA Recovery Meetings respect the user-defined limit

- Simplified limit logic in search__event and qry_ae_obj_li__event_v2 to use the passed value directly.
- Added .slice(0, limit) to filtered results in Event module to handle over-fetching correctly.
- Explicitly passed the qry__limit from idaa_loc to the meeting list components.
- Applied .limit() to the Dexie liveQuery in the meeting list wrapper.
- Updated the UI result count and loop to strictly adhere to the requested limit.
This commit is contained in:
Scott Idem
2026-01-22 18:10:42 -05:00
parent 0ab6d2b3e3
commit 02132fc5e8
4 changed files with 11 additions and 8 deletions

View File

@@ -479,7 +479,7 @@ export async function search__event({
enabled, enabled,
hidden, hidden,
view, view,
limit: (qry_person_id || qry_conference !== null || qry_physical !== null || qry_virtual !== null || qry_type !== null) ? 500 : limit, limit,
offset, offset,
order_by_li, order_by_li,
log_lvl log_lvl
@@ -495,7 +495,7 @@ export async function search__event({
enabled, enabled,
hidden, hidden,
view, view,
limit: (qry_person_id || qry_conference !== null || qry_physical !== null || qry_virtual !== null || qry_type !== null) ? 500 : limit, limit,
offset, offset,
order_by_li, order_by_li,
log_lvl log_lvl
@@ -572,7 +572,7 @@ export async function search__event({
console.log(`Filter results (V3 Search): Input=${processed_obj_li.length}, Output=${filtered_obj_li.length}`); console.log(`Filter results (V3 Search): Input=${processed_obj_li.length}, Output=${filtered_obj_li.length}`);
} }
return filtered_obj_li; return filtered_obj_li.slice(0, limit);
} }
export const qry_ae_obj_li__event = search__event; export const qry_ae_obj_li__event = search__event;
@@ -637,7 +637,7 @@ export async function qry_ae_obj_li__event_v2({
for_obj_id, for_obj_id,
enabled, enabled,
hidden, hidden,
limit: (qry_person_id || qry_conference !== null || qry_physical !== null || qry_virtual !== null || qry_type !== null) ? 500 : limit, limit,
offset, offset,
order_by_li, order_by_li,
params_json, params_json,
@@ -707,7 +707,7 @@ export async function qry_ae_obj_li__event_v2({
console.log(`Filter results (V2): Input=${processed_obj_li.length}, Output=${filtered_obj_li.length}`); console.log(`Filter results (V2): Input=${processed_obj_li.length}, Output=${filtered_obj_li.length}`);
} }
return filtered_obj_li; return filtered_obj_li.slice(0, limit);
} }
// Updated 2025-05-09 // Updated 2025-05-09

View File

@@ -487,6 +487,7 @@
{event_id_random_li} {event_id_random_li}
link_to_type={'account'} link_to_type={'account'}
link_to_id={$ae_loc.account_id} link_to_id={$ae_loc.account_id}
limit={$idaa_loc.recovery_meetings.qry__limit}
{log_lvl} {log_lvl}
/> />
{:else} {:else}

View File

@@ -120,16 +120,16 @@
{#if $lq__event_obj_li?.length} {#if $lq__event_obj_li?.length}
<span <span
class="text-3xl font-bold bg-success-100 px-4 border rounded-lg border-success-200" class="text-3xl font-bold bg-success-100 px-4 border rounded-lg border-success-200"
title="Count {$lq__event_obj_li.length ?? 'None'}" title="Count {($lq__event_obj_li.length > $idaa_loc.recovery_meetings.qry__limit ? $idaa_loc.recovery_meetings.qry__limit : $lq__event_obj_li.length) ?? 'None'}"
> >
<span class="fas fa-list-ol mx-4"></span> <span class="fas fa-list-ol mx-4"></span>
{$lq__event_obj_li.length ?? 'None'} {($lq__event_obj_li.length > $idaa_loc.recovery_meetings.qry__limit ? $idaa_loc.recovery_meetings.qry__limit : $lq__event_obj_li.length) ?? 'None'}
</span> </span>
{/if} {/if}
</h2> </h2>
{#each $lq__event_obj_li as idaa_event_obj, index} {#each $lq__event_obj_li as idaa_event_obj, index}
{#if idaa_event_obj} {#if idaa_event_obj && index < $idaa_loc.recovery_meetings.qry__limit}
<!-- This check for the idaa_event_obj is here in case the IDB entry is deleted. --> <!-- This check for the idaa_event_obj is here in case the IDB entry is deleted. -->
<div <div
class="container recovery_meeting event_obj border rounded-lg p-2 mb-2 space-y-2 w-full max-w-(--breakpoint-lg) flex flex-col items-center justify-center bg-white" class="container recovery_meeting event_obj border rounded-lg p-2 mb-2 space-y-2 w-full max-w-(--breakpoint-lg) flex flex-col items-center justify-center bg-white"

View File

@@ -85,6 +85,7 @@
.and((event) => { .and((event) => {
return event.enable == true; return event.enable == true;
}) })
.limit(limit > 0 ? limit : 500)
.sortBy('name'); .sortBy('name');
// This should be sorted by a custom sort field // This should be sorted by a custom sort field
} else { } else {
@@ -97,6 +98,7 @@
.and((event) => { .and((event) => {
return event.enable == true; return event.enable == true;
}) })
.limit(limit > 0 ? limit : 500)
.sortBy('updated_on'); .sortBy('updated_on');
} }