Now able to search the Journal Entries!

This commit is contained in:
Scott Idem
2025-06-04 17:54:37 -04:00
parent 8c9f0afc02
commit ac81aadd6f
4 changed files with 202 additions and 10 deletions

View File

@@ -49,6 +49,7 @@ if (log_lvl) {
console.log(`ae_acct = `, ae_acct);
}
$journals_sess.entry_li = [];
$journals_slct.journal_id = ae_acct.slct.journal_id;
let lq__journal_obj = $derived(liveQuery(async () => {
@@ -293,23 +294,56 @@ async function handle_update_journal() {
Search:
</span>
<input
disabled={true}
disabled={false}
type="text"
placeholder="Search Journal Entries"
bind:value={$journals_loc.qry__search_text}
onkeyup={(event) => {
onkeyup={async (event) => {
if (event.key === 'Enter') {
log_lvl = 1;
// $journals_loc.qry__search_text = event.target.value;
// $journals_trig.journal_entry_li = true;
// console.log('Search query:', $journals_loc.qry__search_text);
$journals_prom.load__journal_entry_obj_qry = await journals_func.qry__journal_entry({
api_cfg: $ae_api,
journal_id: $lq__journal_obj?.journal_id ?? '',
qry_str: $journals_loc.qry__search_text,
// qry_created_on: null,
// qry_alert: null,
// qry_priority: null,
// qry_type: and_type,
// enabled: $journals_loc.recovery_meetings.qry__enabled,
// hidden: $journals_loc.recovery_meetings.qry__hidden,
// order_by_li: $journals_loc.recovery_meetings.qry__order_by_li,
// limit: $journals_loc.recovery_meetings.qry__limit,
// try_cache: try_cache,
log_lvl: log_lvl,
});
if ($journals_prom.load__journal_entry_obj_qry.length) {
$journals_sess.entry_li = $journals_prom.load__journal_entry_obj_qry;
$journals_sess = {
...$journals_sess }; // ensure session is updated
// $journals_trig.journal_entry_li = true; // trigger the entry list to refresh
// $journals_trig.journal_entry_li = $journals_prom.load__journal_entry_obj_qry;
} else {
console.log('Clear the search results: no entries found for that query.');
// $journals_sess.entry_li = [''];
$journals_sess.entry_li = null;
// $journals_trig.journal_entry_li = true;
// alert('No journal entries found for that search query.');
// $journals_sess = $journals_sess;
}
}
}}
oninput={(event) => {
// $journals_loc.qry__search_text = event.target.value;
// console.log('Search query:', $journals_loc.qry__search_text);
}}
title="Search Journal Entries"
class="input input-sm input-bordered w-48 md:w-64"
class="input input-sm input-bordered w-44 text-sm md:w-52"
class:bg-red-200={$journals_sess.entry_li == null}
class:dark:bg-red-800={$journals_sess.entry_li == null}
/>
<!-- Clear search text button -->
<button

View File

@@ -67,11 +67,31 @@ let lq__journal_obj = $derived(liveQuery(async () => {
let lq__journal_entry_obj_li = $derived(liveQuery(async () => {
log_lvl = 1;
if (log_lvl) {
console.log(`$lq__journal_obj.cfg_json = `, $lq__journal_obj?.cfg_json);
console.log(`$journals_loc.filter__category_code = `, $journals_loc.filter__category_code);
}
if ($lq__journal_obj?.cfg_json?.entry_group_sort === 'DESC') {
if ($journals_sess.entry_li_trigger && !$journals_sess?.entry_li) {
$journals_sess.entry_li = null;
$journals_sess.entry_li_trigger = false;
}
if ($journals_sess?.entry_li && $journals_sess?.entry_li?.length) {
// $journals_sess.entry_li_trigger = false;
let journal_entry_id_random_li = []; // This is to prevent the array from constantly updating and triggering the liveQuery.
for (let i = 0; i < $journals_sess?.entry_li.length; i++) {
let journal_entry_obj = $journals_sess?.entry_li[i];
let journal_entry_id_random = journal_entry_obj.journal_entry_id_random;
journal_entry_id_random_li.push(journal_entry_id_random);
}
// let journal_entry_id_random_li = tmp_li;
let results = await db_journals.journal_entry
.bulkGet(journal_entry_id_random_li);
return results;
} else if ($lq__journal_obj?.cfg_json?.entry_group_sort === 'DESC') {
let results = await db_journals.journal_entry
// .orderBy('updated_on')
.where('journal_id')
@@ -117,6 +137,12 @@ $effect(() => {
if ($journals_trig.journal_entry_li) {
$journals_trig.journal_entry_li = false;
// if ($journals_trig?.journal_entry_li.length > 0) {
// $journals_sess.entry_li = $journals_trig.journal_entry_li;
// console.log('TEST TEST TEST');
// return ;
// }
if (log_lvl) {
console.log(`Triggered: $journals_trig.journal_entry_li`);
}