refactor: Standardize data processing and update to Svelte 5 runes
This commit introduces a major refactoring of the data processing logic across multiple modules (events, archives, posts, sponsorships) to use a standardized pattern with . This improves consistency and maintainability. Key changes: - Replaced module-specific data processing with a generic helper. - Removed deprecated functions. - Updated Svelte components to leverage the new Svelte 5 runes, simplifying state management. - Fixed linting errors and updated test configurations. - Added .
This commit is contained in:
@@ -62,10 +62,12 @@ import Journal_obj_id_edit from '../ae_comp__journal_obj_id_edit.svelte';
|
||||
// Variables
|
||||
// *** Quickly pull out data from parent(s)
|
||||
let ae_acct = data[$slct.account_id];
|
||||
$effect(() => {
|
||||
if (log_lvl > 1) {
|
||||
console.log(`ae_acct = `, ae_acct);
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
$inspect(log_lvl, `log_lvl = ${log_lvl}`);
|
||||
$inspect($journals_slct.journal_id, `$journals_slct.journal_id = ${$journals_slct.journal_id}`);
|
||||
@@ -88,55 +90,42 @@ $journals_sess.entry_li = [];
|
||||
$journals_slct.journal_entry_id = null;
|
||||
|
||||
let lq__journal_obj = $derived(liveQuery(async () => {
|
||||
if (log_lvl) {
|
||||
console.log(`lq__journal_obj: journal_id = ${$journals_slct?.journal_id}`);
|
||||
}
|
||||
|
||||
let results = await db_journals.journal
|
||||
.get($journals_slct?.journal_id ?? ''); // null or undefined does not reset things like '' does
|
||||
if (log_lvl) {
|
||||
console.log(`lq__journal_obj: results = `, results);
|
||||
}
|
||||
// tmp_journal_obj = { ...results };
|
||||
|
||||
// Check if results are different than the current session version stored under $journals_slct
|
||||
if ($journals_slct.journal_obj && results) {
|
||||
if (JSON.stringify($journals_slct.journal_obj) !== JSON.stringify(results)) {
|
||||
$journals_slct.journal_obj = { ...results};
|
||||
if (log_lvl) {
|
||||
console.log(`Session slct stored version has changed for ID = ${$journals_slct.journal_id}`, $journals_slct.journal_obj);
|
||||
}
|
||||
} else {
|
||||
if (log_lvl) {
|
||||
console.log(`Session slct stored version has not changed for ID = ${$journals_slct.journal_id}`);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return results;
|
||||
}));
|
||||
|
||||
$effect(() => {
|
||||
if (log_lvl) {
|
||||
console.log(`lq__journal_obj: journal_id = ${$journals_slct?.journal_id}`);
|
||||
console.log(`lq__journal_obj: results = `, lq__journal_obj);
|
||||
if ($journals_slct.journal_obj && lq__journal_obj) {
|
||||
if (JSON.stringify($journals_slct.journal_obj) !== JSON.stringify(lq__journal_obj)) {
|
||||
console.log(`Session slct stored version has changed for ID = ${$journals_slct.journal_id}`, $journals_slct.journal_obj);
|
||||
} else {
|
||||
console.log(`Session slct stored version has not changed for ID = ${$journals_slct.journal_id}`);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
let lq__journal_entry_obj_li = $derived(liveQuery(async () => {
|
||||
log_lvl = 1;
|
||||
|
||||
if (log_lvl) {
|
||||
console.log(`LQ - $lq__journal_obj.cfg_json = `, $lq__journal_obj?.cfg_json);
|
||||
console.log(`LQ - $journals_loc.filter__category_code = `, $journals_loc.filter__category_code);
|
||||
}
|
||||
let results;
|
||||
|
||||
if ($journals_sess.entry_li_trigger && !$journals_sess?.entry_li) {
|
||||
$journals_sess.entry_li = null;
|
||||
$journals_sess.entry_li_trigger = false;
|
||||
}
|
||||
|
||||
let results;
|
||||
|
||||
if ($journals_sess?.entry_li && $journals_sess?.entry_li?.length) {
|
||||
if (log_lvl) {
|
||||
console.log(`LQ - Using $journals_sess.entry_li to get journal entries.`);
|
||||
}
|
||||
// $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++) {
|
||||
@@ -150,9 +139,6 @@ let lq__journal_entry_obj_li = $derived(liveQuery(async () => {
|
||||
.bulkGet(journal_entry_id_random_li);
|
||||
|
||||
} else if ($lq__journal_obj?.cfg_json?.entry_group_sort === 'DESC') {
|
||||
if (log_lvl) {
|
||||
console.log(`LQ - Using DESC sort for Journal Entry list journal_id: ${$journals_slct?.journal_id}`);
|
||||
}
|
||||
results = await db_journals.journal_entry
|
||||
// .orderBy('updated_on')
|
||||
.where('journal_id')
|
||||
@@ -163,9 +149,6 @@ let lq__journal_entry_obj_li = $derived(liveQuery(async () => {
|
||||
// .sortBy('title');
|
||||
|
||||
} else if ($journals_loc.filter__category_code && $journals_loc.filter__category_code.length > 0) {
|
||||
if (log_lvl) {
|
||||
console.log(`LQ - Using category filter: ${$journals_loc.filter__category_code}`);
|
||||
}
|
||||
results = await db_journals.journal_entry
|
||||
.where('journal_id')
|
||||
.equals($journals_slct?.journal_id ?? '') // null or undefined does not reset things like '' does
|
||||
@@ -174,10 +157,6 @@ let lq__journal_entry_obj_li = $derived(liveQuery(async () => {
|
||||
.sortBy('tmp_sort_1');
|
||||
|
||||
} else {
|
||||
if (log_lvl) {
|
||||
// console.log(`$lq__journal_obj.cfg_json = `, $lq__journal_obj?.cfg_json);
|
||||
console.log(`LQ - Using default sort for Journal Entry list journal_id: ${$journals_slct?.journal_id}`);
|
||||
}
|
||||
results = await db_journals.journal_entry
|
||||
.where('journal_id')
|
||||
.equals($journals_slct?.journal_id ?? '') // null or undefined does not reset things like '' does
|
||||
@@ -190,19 +169,35 @@ let lq__journal_entry_obj_li = $derived(liveQuery(async () => {
|
||||
// Check if results are different than the current session version stored under $journals_slct
|
||||
if ($journals_slct.journal_entry_obj_li && JSON.stringify($journals_slct.journal_entry_obj_li) !== JSON.stringify(results)) {
|
||||
$journals_slct.journal_entry_obj_li = [...results];
|
||||
if (log_lvl) {
|
||||
console.log(`Session slct li stored version has changed for ID = ${$journals_slct.journal_id}`, $journals_slct.journal_entry_obj_li);
|
||||
}
|
||||
} else {
|
||||
if (log_lvl > 1) {
|
||||
console.log(`Session slct li stored version has not changed for ID = ${$journals_slct.journal_id}`);
|
||||
}
|
||||
}
|
||||
|
||||
return results;
|
||||
|
||||
}));
|
||||
|
||||
$effect(() => {
|
||||
if (log_lvl) {
|
||||
console.log(`LQ - $lq__journal_obj.cfg_json = `, $lq__journal_obj?.cfg_json);
|
||||
console.log(`LQ - $journals_loc.filter__category_code = `, $journals_loc.filter__category_code);
|
||||
if ($journals_sess?.entry_li && $journals_sess?.entry_li?.length) {
|
||||
console.log(`LQ - Using $journals_sess.entry_li to get journal entries.`);
|
||||
} else if ($lq__journal_obj?.cfg_json?.entry_group_sort === 'DESC') {
|
||||
console.log(`LQ - Using DESC sort for Journal Entry list journal_id: ${$journals_slct?.journal_id}`);
|
||||
} else if ($journals_loc.filter__category_code && $journals_loc.filter__category_code.length > 0) {
|
||||
console.log(`LQ - Using category filter: ${$journals_loc.filter__category_code}`);
|
||||
} else {
|
||||
console.log(`LQ - Using default sort for Journal Entry list journal_id: ${$journals_slct?.journal_id}`);
|
||||
}
|
||||
if ($journals_slct.journal_entry_obj_li && JSON.stringify($journals_slct.journal_entry_obj_li) !== JSON.stringify(lq__journal_entry_obj_li)) {
|
||||
console.log(`Session slct li stored version has changed for ID = ${$journals_slct.journal_id}`, $journals_slct.journal_entry_obj_li);
|
||||
} else {
|
||||
if (log_lvl > 1) {
|
||||
console.log(`Session slct li stored version has not changed for ID = ${$journals_slct.journal_id}`);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
// Trigger doing a basic load of journal entries
|
||||
// NOTE: Categories are (currently) filtered at the CSS style level.
|
||||
|
||||
Reference in New Issue
Block a user