feat(launcher): improve Events Presentation Launcher stability and data flow
- Standardized ID usage: Migrated multiple components from '_random' variants to standard 'id' properties to align with V3 backend and Dexie patterns. - Electron Integration: Added global 'native_app' declaration and Window interface augmentation in app.d.ts to resolve TypeScript errors. - Type Safety: Enhanced ae_EventSession interface with missing 'event_file_li' and added runtime null checks in session loading logic. - UI/UX: Restored missing launcher components in location-specific pages and fixed LiveQuery filter logic for session lists. - Bug Fixes: Resolved indexing errors in location list and corrected store update patterns in layout.
This commit is contained in:
@@ -71,8 +71,8 @@
|
||||
console.log(`lq__event_file_obj: event_file_id = ${$events_slct?.event_file_id}`);
|
||||
}
|
||||
let results = await db_events.file
|
||||
// .where('event_session_id_random')
|
||||
.where('for_id_random')
|
||||
// .where('event_session_id')
|
||||
.where('for_id')
|
||||
.equals(slct__event_session_id)
|
||||
.reverse() // Need reverse for created_on newest first.
|
||||
.sortBy('created_on'); // or filename
|
||||
@@ -128,7 +128,7 @@
|
||||
sort_by = 'name';
|
||||
}
|
||||
let results = await db_events.presentation
|
||||
.where('event_session_id_random')
|
||||
.where('event_session_id')
|
||||
.equals(slct__event_session_id)
|
||||
.sortBy(sort_by);
|
||||
// .sortBy('name')
|
||||
@@ -233,8 +233,8 @@
|
||||
|
||||
// // for (let i = 0; i < load_results.length; i++) {
|
||||
// // let event_presenter_obj = load_results[i];
|
||||
// // let event_presenter_id_random = event_presenter_obj.event_presenter_id_random;
|
||||
// // tmp_li.push(event_presenter_id_random);
|
||||
// // let event_presenter_id = event_presenter_obj.event_presenter_id;
|
||||
// // tmp_li.push(event_presenter_id);
|
||||
// // }
|
||||
// // event_presenter_id_li = tmp_li;
|
||||
// // console.log(`event_presenter_id_li:`, event_presenter_id_li);
|
||||
@@ -265,7 +265,7 @@
|
||||
</span> -->
|
||||
{/if}
|
||||
|
||||
{#if $lq__event_session_obj && $lq__event_session_obj.event_session_id_random}
|
||||
{#if $lq__event_session_obj && $lq__event_session_obj.event_session_id}
|
||||
<header
|
||||
class="event_session_about text-center border-b-2 border-gray-400 flex flex-row flex-wrap gap-2 items-center justify-between"
|
||||
>
|
||||
@@ -323,7 +323,7 @@
|
||||
>
|
||||
<h2
|
||||
class="shrink text-xl"
|
||||
title={`Name: ${$lq__event_session_obj.name}\nType: ${$lq__event_session_obj.type_code} \nCode: ${$lq__event_session_obj.code} \nID: ${$lq__event_session_obj.event_session_id_random} \nStart Date/Time: ${ae_util.iso_datetime_formatter($lq__event_session_obj.start_datetime, 'week_long')} ${ae_util.iso_datetime_formatter($lq__event_session_obj.start_datetime, $events_loc.launcher.time_format)} \nEnd Date/Time: ${ae_util.iso_datetime_formatter($lq__event_session_obj.end_datetime, $events_loc.launcher.time_format)}`}
|
||||
title={`Name: ${$lq__event_session_obj.name}\nType: ${$lq__event_session_obj.type_code} \nCode: ${$lq__event_session_obj.code} \nID: ${$lq__event_session_obj.event_session_id} \nStart Date/Time: ${ae_util.iso_datetime_formatter($lq__event_session_obj.start_datetime, 'week_long')} ${ae_util.iso_datetime_formatter($lq__event_session_obj.start_datetime, $events_loc.launcher.time_format)} \nEnd Date/Time: ${ae_util.iso_datetime_formatter($lq__event_session_obj.end_datetime, $events_loc.launcher.time_format)}`}
|
||||
>
|
||||
{$lq__event_session_obj?.name}
|
||||
</h2>
|
||||
@@ -370,7 +370,7 @@
|
||||
<button on:click={async () => {
|
||||
show_modal_upload_files = true;
|
||||
link_to_type = 'event_session';
|
||||
link_to_id = $lq__event_session_obj.event_session_id_random;
|
||||
link_to_id = $lq__event_session_obj.event_session_id;
|
||||
}}
|
||||
type="button" class="ae_btn btn_outline_warning btn_xs" title="Upload updated or additional files"
|
||||
>
|
||||
@@ -386,7 +386,7 @@
|
||||
event_file_obj.hide}
|
||||
>
|
||||
<Event_launcher_file_cont
|
||||
event_file_id={event_file_obj.event_file_id_random}
|
||||
event_file_id={event_file_obj.event_file_id}
|
||||
{event_file_obj}
|
||||
hide_created_on={true}
|
||||
show_bak_download={$ae_loc.trusted_access && $ae_loc.edit_mode}
|
||||
@@ -407,10 +407,10 @@
|
||||
<!-- <Launcher_file_cont {event_file_obj} hide_created_on={false} show_bak_download={($ae_loc.trusted_access || $events_loc.launcher.trusted_access)} open_file_as={$lq__event_session_obj.type_code} poster_title={$lq__event_session_obj.title} /> -->
|
||||
|
||||
<!-- <a
|
||||
href="{$ae_api.base_url}/event/file/{event_file_obj.event_file_id_random}/download?filename={event_file_obj.filename}&x_no_account_id_token=direct-download"
|
||||
href="{$ae_api.base_url}/event/file/{event_file_obj.event_file_id}/download?filename={event_file_obj.filename}&x_no_account_id_token=direct-download"
|
||||
class="btn btn-sm variant-soft-secondary m-0.5 *:hover:inline"
|
||||
class:hidden={!ae_tmp.show__direct_download}
|
||||
title={`Download this file:\n${event_file_obj.filename}\n[API] SHA256: ${event_file_obj.hash_sha256.slice(0, 10)}... Hosted ID: ${event_file_obj.hosted_file_id_random} Event File ID: ${event_file_obj.event_file_id_random}`}
|
||||
title={`Download this file:\n${event_file_obj.filename}\n[API] SHA256: ${event_file_obj.hash_sha256.slice(0, 10)}... Hosted ID: ${event_file_obj.hosted_file_id} Event File ID: ${event_file_obj.event_file_id}`}
|
||||
>
|
||||
<span class="fas fa-download mx-1"></span>
|
||||
<div class="hidden">
|
||||
@@ -472,7 +472,7 @@
|
||||
<!-- Yes, this is kind of inefficient, but it works for now. -->
|
||||
{#if $lq__event_presenter_obj_li && type_code == 'poster'}
|
||||
{#each $lq__event_presenter_obj_li as event_presenter_obj, index}
|
||||
{#if event_presenter_obj.event_presentation_id_random == event_presentation_obj.event_presentation_id_random}
|
||||
{#if event_presenter_obj.event_presentation_id == event_presentation_obj.event_presentation_id}
|
||||
<span
|
||||
class="event_presentation_single_presenter italic text-sm text-gray-500"
|
||||
>
|
||||
@@ -497,7 +497,7 @@
|
||||
{#if $lq__event_presenter_obj_li && $lq__event_presenter_obj_li.length}
|
||||
<ul class="event_presentation_presenter_list">
|
||||
{#each $lq__event_presenter_obj_li as event_presenter_obj, index}
|
||||
{#if event_presenter_obj.event_presentation_id_random == event_presentation_obj.event_presentation_id_random}
|
||||
{#if event_presenter_obj.event_presentation_id == event_presentation_obj.event_presentation_id}
|
||||
<li
|
||||
class="
|
||||
border border-transparent
|
||||
|
||||
Reference in New Issue
Block a user