diff --git a/src/lib/ae_idaa_stores.ts b/src/lib/ae_idaa_stores.ts index d16ff459..c93202e3 100644 --- a/src/lib/ae_idaa_stores.ts +++ b/src/lib/ae_idaa_stores.ts @@ -74,10 +74,10 @@ let idaa_local_data_struct: key_val = { qry__enabled: 'enabled', // all, disabled, enabled qry__hidden: 'not_hidden', // all, hidden, not_hidden - qry__limit: 50, + qry__limit: 25, qry__offset: 0, qry__order_by: 'updated_on', // For the IDB index query - qry__order_by_li: {'priority': 'DESC', 'sort': 'DESC', 'updated_on': 'DESC', 'created_on': 'DESC', 'title': 'ASC'}, // For the SQL query + qry__order_by_li: {'updated_on': 'DESC', 'created_on': 'DESC'}, // For the SQL query }, diff --git a/src/lib/ae_posts/ae_posts__post.ts b/src/lib/ae_posts/ae_posts__post.ts index 29103151..789c7155 100644 --- a/src/lib/ae_posts/ae_posts__post.ts +++ b/src/lib/ae_posts/ae_posts__post.ts @@ -140,6 +140,7 @@ export async function load_ae_obj_li__post( api_cfg, for_obj_type = 'account', for_obj_id, + qry_archive_on = null, inc_comment_li = false, enabled = 'enabled', hidden = 'not_hidden', @@ -147,18 +148,21 @@ export async function load_ae_obj_li__post( offset = 0, order_by_li = {'priority': 'DESC', 'sort': 'DESC', 'updated_on': 'DESC', 'created_on': 'DESC', 'title': 'ASC'}, params = {}, + params_json = null, try_cache = true, log_lvl = 0 }: { api_cfg: any, for_obj_type: string, for_obj_id: string, + qry_archive_on?: boolean|null|string, inc_comment_li?: boolean, enabled?: string, hidden?: string, limit?: number, offset?: number, order_by_li?: key_val, + params_json?: null|key_val, params?: key_val, try_cache?: boolean, log_lvl?: number @@ -168,12 +172,48 @@ export async function load_ae_obj_li__post( console.log(`*** load_ae_obj_li__post() *** for_obj_type=${for_obj_type} for_obj_id=${for_obj_id}`); } - let params_json: key_val = {}; + // There is probably a better way to handle this. I don't want to just start a new object if it is not passed. However, the qry_conference and qry_str are sort of a special case. -2024-10-01 + if (!params_json) { + params_json = {}; + } + + params_json['qry'] = []; + + if (qry_archive_on) { + // let qry_param = + // { + // type: "AND", + // field: "archive_on", + // operator: ">", + // value: qry_archive_on + // }; + // params_json['qry'].push(qry_param); + } + + + // if (qry_archive_on) { + // if (!params_json['and_qry']) { + // params_json['and_qry'] = {}; + // } + + // params_json['and_qry']['archive_on'] = qry_archive_on; + // } else if (qry_archive_on === false) { + // if (!params_json['and_qry']) { + // params_json['and_qry'] = {}; + // } + + // if (log_lvl) { + // console.log('qry_archive_on is false!'); + // } + // params_json['and_qry']['conference'] = qry_archive_on; + // } if (log_lvl) { console.log('params_json:', params_json); } + + ae_promises.load__post_obj_li = await api.get_ae_obj_li_for_obj_id_crud_v2({ api_cfg: api_cfg, obj_type: 'post', diff --git a/src/lib/ae_posts/db_posts.ts b/src/lib/ae_posts/db_posts.ts index bf6dc72d..8048c958 100644 --- a/src/lib/ae_posts/db_posts.ts +++ b/src/lib/ae_posts/db_posts.ts @@ -36,7 +36,7 @@ export interface Post { enable_comments?: null|boolean; archive?: null|boolean; - archive_on?: Date; + archive_on?: null|Date; linked_li_json?: null|string; cfg_json?: null|key_val; diff --git a/src/routes/idaa/(idaa)/bb/+page.svelte b/src/routes/idaa/(idaa)/bb/+page.svelte index 3379d2f4..cbed6525 100644 --- a/src/routes/idaa/(idaa)/bb/+page.svelte +++ b/src/routes/idaa/(idaa)/bb/+page.svelte @@ -42,13 +42,19 @@ if (!post_id) { } // Functions and Logic +// WARNING: For now the archive_on is hardcoded. It should be configurable. let lq__post_obj_li = $derived(liveQuery(async () => { let results = await db_posts.post .where('account_id') .equals($slct.account_id) + // .and((x) => (x.archive_on === null || x.archive_on > (new Date()).toISOString())) + .and((x) => (x.archive_on === null || x.archive_on > (new Date()).toISOString())) // null or future posts only + // .and((x) => (x.archive_on < (new Date()).toISOString())) // past posts only + // .and((x) => (x.archive_on > (new Date()).toISOString())) // future posts only // .orderBy('updated_on') // .toArray() .reverse() + .limit($idaa_loc.bb.qry__limit) .sortBy('tmp_sort_1'); // .sortBy('updated_on'); // .sortBy('updated_on, created_on'); @@ -58,30 +64,30 @@ let lq__post_obj_li = $derived(liveQuery(async () => { return results; })); -let lq__post_obj = $derived(liveQuery(async () => { - let results = await db_posts.post - .get($idaa_slct.post_id ?? ''); // null or undefined does not reset things like '' does +// let lq__post_obj = $derived(liveQuery(async () => { +// let results = await db_posts.post +// .get($idaa_slct.post_id ?? ''); // null or undefined does not reset things like '' does - return results; -})); +// return results; +// })); -let lq__post_comment_obj_li = $derived(liveQuery(async () => { - let results = await db_posts.comment - .where('post_id') - .equals($idaa_slct.post_id ?? '') // null or undefined does not reset things like '' does - .reverse() - .sortBy('updated_on'); - // .sortBy('title'); +// let lq__post_comment_obj_li = $derived(liveQuery(async () => { +// let results = await db_posts.comment +// .where('post_id') +// .equals($idaa_slct.post_id ?? '') // null or undefined does not reset things like '' does +// .reverse() +// .sortBy('updated_on'); +// // .sortBy('title'); - return results; -})); +// return results; +// })); -let lq__post_comment_obj = $derived(liveQuery(async () => { - let results = await db_posts.comment - .get($idaa_slct.post_comment_id ?? ''); // null or undefined does not reset things like '' does +// let lq__post_comment_obj = $derived(liveQuery(async () => { +// let results = await db_posts.comment +// .get($idaa_slct.post_comment_id ?? ''); // null or undefined does not reset things like '' does - return results; -})); +// return results; +// })); $effect(() => { @@ -110,6 +116,7 @@ $effect(() => { api_cfg: $ae_api, for_obj_type: 'account', for_obj_id: $idaa_slct.account_id, + qry_archive_on: '2024-01-01', // (new Date()).toISOString(), inc_comment_li: true, enabled: $idaa_loc.bb.qry__enabled, hidden: $idaa_loc.bb.qry__hidden, @@ -128,12 +135,12 @@ if (browser) { let message = {'post_id': $idaa_slct?.post_id ?? null}; window.parent.postMessage(message, "*"); - add_activity_log( - { - action: 'idaa_bb_page', - action_with: 'browser', - } - ); + // add_activity_log( + // { + // action: 'idaa_bb_page', + // action_with: 'browser', + // } + // ); } diff --git a/src/routes/idaa/(idaa)/bb/+page.ts b/src/routes/idaa/(idaa)/bb/+page.ts index 04554ba9..81b8e52e 100644 --- a/src/routes/idaa/(idaa)/bb/+page.ts +++ b/src/routes/idaa/(idaa)/bb/+page.ts @@ -7,7 +7,7 @@ import { browser } from '$app/environment'; import { posts_func } from '$lib/ae_posts/ae_posts_functions'; export const load = (async ({ params, parent }) => { // route - let log_lvl: number = 0; + let log_lvl: number = 1; let data = await parent(); data.log_lvl = log_lvl; @@ -20,11 +20,14 @@ export const load = (async ({ params, parent }) => { // route api_cfg: ae_acct.api, for_obj_type: 'account', for_obj_id: account_id, + // archive_on should be current datetime in ISO format + // Date().toISOString() + qry_archive_on: '2024-01-01', // (new Date()).toISOString(), inc_comment_li: true, enabled: 'enabled', hidden: 'not_hidden', - limit: 29, - order_by_li: {'priority': 'DESC', 'sort': 'DESC', 'updated_on': 'DESC', 'created_on': 'DESC', 'title': 'ASC'}, + limit: 19, + order_by_li: {'updated_on': 'DESC', 'created_on': 'DESC'}, try_cache: true, log_lvl: log_lvl });