Added new auto reload for most object types with new v2 function and element.
This commit is contained in:
@@ -292,23 +292,25 @@ async function handle_load_ae_obj_code__data_store(
|
|||||||
// Updated 2024-03-27
|
// Updated 2024-03-27
|
||||||
async function handle_update_ae_obj_id_crud(
|
async function handle_update_ae_obj_id_crud(
|
||||||
{
|
{
|
||||||
api_cfg,
|
api_cfg,
|
||||||
object_type,
|
object_type,
|
||||||
object_id,
|
object_id,
|
||||||
field_name,
|
object_reload = false,
|
||||||
new_field_value,
|
field_name,
|
||||||
params={},
|
new_field_value,
|
||||||
try_cache=false,
|
params = {},
|
||||||
log_lvl=0
|
try_cache = false,
|
||||||
|
log_lvl = 0
|
||||||
}: {
|
}: {
|
||||||
api_cfg: any,
|
api_cfg: any,
|
||||||
object_type: string,
|
object_type: string,
|
||||||
object_id: string,
|
object_id: string,
|
||||||
field_name: string,
|
object_reload?: boolean,
|
||||||
new_field_value: any,
|
field_name: string,
|
||||||
params: any|key_val,
|
new_field_value: any,
|
||||||
try_cache: boolean,
|
params: any|key_val,
|
||||||
log_lvl: number
|
try_cache: boolean,
|
||||||
|
log_lvl: number
|
||||||
}) {
|
}) {
|
||||||
|
|
||||||
let patch_result: any = null;
|
let patch_result: any = null;
|
||||||
@@ -352,6 +354,232 @@ async function handle_update_ae_obj_id_crud(
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Core - Already imported above
|
||||||
|
// import { load_ae_obj_id__person } from "$lib/ae_core/core__person";
|
||||||
|
// import { load_ae_obj_id__user } from "$lib/ae_core/core__user";
|
||||||
|
|
||||||
|
// Additional Modules
|
||||||
|
import { load_ae_obj_id__archive } from "$lib/ae_archives/ae_archives__archive";
|
||||||
|
import { load_ae_obj_id__archive_content } from "$lib/ae_archives/ae_archives__archive_content";
|
||||||
|
|
||||||
|
import { load_ae_obj_id__event } from "$lib/ae_events/ae_events__event";
|
||||||
|
// import { load_ae_obj_id__event_badge } from "$lib/ae_events/ae_events__event_badge";
|
||||||
|
import { load_ae_obj_id__event_device } from "$lib/ae_events/ae_events__event_device";
|
||||||
|
// import { load_ae_obj_id__event_exhibit } from "$lib/ae_events/ae_events__event_exhibit";
|
||||||
|
import { load_ae_obj_id__event_file } from "$lib/ae_events/ae_events__event_file";
|
||||||
|
import { load_ae_obj_id__event_location } from "$lib/ae_events/ae_events__event_location";
|
||||||
|
import { load_ae_obj_id__event_presentation } from "$lib/ae_events/ae_events__event_presentation";
|
||||||
|
import { load_ae_obj_id__event_presenter } from "$lib/ae_events/ae_events__event_presenter";
|
||||||
|
import { load_ae_obj_id__event_session } from "$lib/ae_events/ae_events__event_session";
|
||||||
|
|
||||||
|
import { load_ae_obj_id__journal } from "$lib/ae_journals/ae_journals__journal";
|
||||||
|
import { load_ae_obj_id__journal_entry } from "$lib/ae_journals/ae_journals__journal_entry";
|
||||||
|
|
||||||
|
import { load_ae_obj_id__post } from "$lib/ae_posts/ae_posts__post";
|
||||||
|
import { load_ae_obj_id__post_comment } from "$lib/ae_posts/ae_posts__post_comment";
|
||||||
|
|
||||||
|
// Updated 2025-09-30
|
||||||
|
async function update_ae_obj_id_crud_v2(
|
||||||
|
{
|
||||||
|
api_cfg,
|
||||||
|
object_type,
|
||||||
|
object_id,
|
||||||
|
object_reload = false,
|
||||||
|
field_name,
|
||||||
|
new_field_value,
|
||||||
|
params = {},
|
||||||
|
try_cache = false,
|
||||||
|
log_lvl = 0
|
||||||
|
}: {
|
||||||
|
api_cfg: any,
|
||||||
|
object_type: string,
|
||||||
|
object_id: string,
|
||||||
|
object_reload?: boolean,
|
||||||
|
field_name: string,
|
||||||
|
new_field_value: any,
|
||||||
|
params?: any|key_val,
|
||||||
|
try_cache?: boolean,
|
||||||
|
log_lvl?: number
|
||||||
|
}) {
|
||||||
|
if (log_lvl) {
|
||||||
|
console.log(`*** update_ae_obj_id_crud_v2() *** object_type=${object_type}, object_id=${object_id}, object_reload=${object_reload}, field_name=${field_name}, new_field_value=`, new_field_value);
|
||||||
|
}
|
||||||
|
let patch_result: any = null;
|
||||||
|
|
||||||
|
ae_promises.api_update__ae_obj = await api.update_ae_obj_id_crud({
|
||||||
|
api_cfg: api_cfg,
|
||||||
|
obj_type: object_type,
|
||||||
|
obj_id: object_id,
|
||||||
|
field_name: field_name,
|
||||||
|
field_value: new_field_value,
|
||||||
|
// fields: data,
|
||||||
|
key: api_cfg.api_crud_super_key,
|
||||||
|
// jwt: null,
|
||||||
|
// params: params,
|
||||||
|
// data: patch_data,
|
||||||
|
log_lvl: log_lvl
|
||||||
|
})
|
||||||
|
.then(function (results) {
|
||||||
|
console.log('PATCH Promise', results);
|
||||||
|
|
||||||
|
if (results) {
|
||||||
|
console.log(`Patched - Field Name: ${field_name} with new Field Value: ${new_field_value}`);
|
||||||
|
patch_result = 'PATCH complete';
|
||||||
|
|
||||||
|
if (object_reload) {
|
||||||
|
if (log_lvl) {
|
||||||
|
console.log(`Reloading the object after patching...`);
|
||||||
|
}
|
||||||
|
// Reload the object to get the latest data. There is a special case for each type.
|
||||||
|
if (object_type == 'person') {
|
||||||
|
let load_person_obj = load_ae_obj_id__person({
|
||||||
|
api_cfg: api_cfg,
|
||||||
|
person_id: object_id,
|
||||||
|
log_lvl: log_lvl
|
||||||
|
});
|
||||||
|
return load_person_obj;
|
||||||
|
}
|
||||||
|
// if (object_type == 'user') {
|
||||||
|
// let load_user_obj = load_ae_obj_id__user({
|
||||||
|
// api_cfg: api_cfg,
|
||||||
|
// user_id: object_id,
|
||||||
|
// log_lvl: log_lvl
|
||||||
|
// });
|
||||||
|
// return load_user_obj;
|
||||||
|
// }
|
||||||
|
|
||||||
|
if (object_type == 'archive') {
|
||||||
|
let load_archive_obj = load_ae_obj_id__archive({
|
||||||
|
api_cfg: api_cfg,
|
||||||
|
archive_id: object_id,
|
||||||
|
log_lvl: log_lvl
|
||||||
|
});
|
||||||
|
return load_archive_obj;
|
||||||
|
}
|
||||||
|
if (object_type == 'archive_content') {
|
||||||
|
let load_archive_content_obj = load_ae_obj_id__archive_content({
|
||||||
|
api_cfg: api_cfg,
|
||||||
|
archive_content_id: object_id,
|
||||||
|
log_lvl: log_lvl
|
||||||
|
});
|
||||||
|
return load_archive_content_obj;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (object_type == 'journal') {
|
||||||
|
let load_journal_obj = load_ae_obj_id__journal({
|
||||||
|
api_cfg: api_cfg,
|
||||||
|
journal_id: object_id,
|
||||||
|
log_lvl: log_lvl
|
||||||
|
});
|
||||||
|
return load_journal_obj;
|
||||||
|
}
|
||||||
|
if (object_type == 'journal_entry') {
|
||||||
|
let load_journal_entry_obj = load_ae_obj_id__journal_entry({
|
||||||
|
api_cfg: api_cfg,
|
||||||
|
journal_entry_id: object_id,
|
||||||
|
log_lvl: log_lvl
|
||||||
|
});
|
||||||
|
return load_journal_entry_obj;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (object_type == 'event') {
|
||||||
|
let load_event_obj = load_ae_obj_id__event({
|
||||||
|
api_cfg: api_cfg,
|
||||||
|
event_id: object_id,
|
||||||
|
log_lvl: log_lvl
|
||||||
|
});
|
||||||
|
return load_event_obj;
|
||||||
|
}
|
||||||
|
if (object_type == 'event_device') {
|
||||||
|
let load_event_device_obj = load_ae_obj_id__event_device({
|
||||||
|
api_cfg: api_cfg,
|
||||||
|
event_device_id: object_id,
|
||||||
|
log_lvl: log_lvl
|
||||||
|
});
|
||||||
|
return load_event_device_obj;
|
||||||
|
}
|
||||||
|
if (object_type == 'event_file') {
|
||||||
|
let load_event_file_obj = load_ae_obj_id__event_file({
|
||||||
|
api_cfg: api_cfg,
|
||||||
|
event_file_id: object_id,
|
||||||
|
log_lvl: log_lvl
|
||||||
|
});
|
||||||
|
return load_event_file_obj;
|
||||||
|
}
|
||||||
|
if (object_type == 'event_location') {
|
||||||
|
let load_event_location_obj = load_ae_obj_id__event_location({
|
||||||
|
api_cfg: api_cfg,
|
||||||
|
event_location_id: object_id,
|
||||||
|
log_lvl: log_lvl
|
||||||
|
});
|
||||||
|
return load_event_location_obj;
|
||||||
|
}
|
||||||
|
if (object_type == 'event_presentation') {
|
||||||
|
let load_event_presentation_obj = load_ae_obj_id__event_presentation({
|
||||||
|
api_cfg: api_cfg,
|
||||||
|
event_presentation_id: object_id,
|
||||||
|
log_lvl: log_lvl
|
||||||
|
});
|
||||||
|
return load_event_presentation_obj;
|
||||||
|
}
|
||||||
|
if (object_type == 'event_presenter') {
|
||||||
|
let load_event_presenter_obj = load_ae_obj_id__event_presenter({
|
||||||
|
api_cfg: api_cfg,
|
||||||
|
event_presenter_id: object_id,
|
||||||
|
log_lvl: log_lvl
|
||||||
|
});
|
||||||
|
return load_event_presenter_obj;
|
||||||
|
}
|
||||||
|
if (object_type == 'event_session') {
|
||||||
|
let load_event_session_obj = load_ae_obj_id__event_session({
|
||||||
|
api_cfg: api_cfg,
|
||||||
|
event_session_id: object_id,
|
||||||
|
log_lvl: log_lvl
|
||||||
|
});
|
||||||
|
return load_event_session_obj;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (object_type == 'post') {
|
||||||
|
let load_post_obj = load_ae_obj_id__post({
|
||||||
|
api_cfg: api_cfg,
|
||||||
|
post_id: object_id,
|
||||||
|
log_lvl: log_lvl
|
||||||
|
});
|
||||||
|
return load_post_obj;
|
||||||
|
}
|
||||||
|
if (object_type == 'post_comment') {
|
||||||
|
let load_post_comment_obj = load_ae_obj_id__post_comment({
|
||||||
|
api_cfg: api_cfg,
|
||||||
|
post_comment_id: object_id,
|
||||||
|
log_lvl: log_lvl
|
||||||
|
});
|
||||||
|
return load_post_comment_obj;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
console.log(`Not Patched - Field Name: ${field_name} with new Field Value: ${new_field_value}; Account ID: ${api_cfg.account_id}`);
|
||||||
|
patch_result = 'PATCH failed';
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
})
|
||||||
|
.catch(function (error) {
|
||||||
|
console.log('Something went wrong patching the record.');
|
||||||
|
console.log(error);
|
||||||
|
return false;
|
||||||
|
})
|
||||||
|
.finally(function () {
|
||||||
|
console.log('PATCH Promise finally');
|
||||||
|
});
|
||||||
|
|
||||||
|
return ae_promises.api_update__ae_obj;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
async function handle_download_export__obj_type(
|
async function handle_download_export__obj_type(
|
||||||
{
|
{
|
||||||
@@ -467,6 +695,7 @@ let export_obj = {
|
|||||||
auth_ae_obj__user_id_change_password: auth_ae_obj__user_id_change_password,
|
auth_ae_obj__user_id_change_password: auth_ae_obj__user_id_change_password,
|
||||||
|
|
||||||
handle_update_ae_obj_id_crud: handle_update_ae_obj_id_crud,
|
handle_update_ae_obj_id_crud: handle_update_ae_obj_id_crud,
|
||||||
|
update_ae_obj_id_crud_v2: update_ae_obj_id_crud_v2,
|
||||||
handle_download_export__obj_type: handle_download_export__obj_type,
|
handle_download_export__obj_type: handle_download_export__obj_type,
|
||||||
generate_qr_code: generate_qr_code
|
generate_qr_code: generate_qr_code
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ interface Props {
|
|||||||
|
|
||||||
object_type: string;
|
object_type: string;
|
||||||
object_id: string;
|
object_id: string;
|
||||||
|
object_reload?: boolean;
|
||||||
|
|
||||||
field_name: string;
|
field_name: string;
|
||||||
field_type?: string; // button, text, textarea, template (older method), select (in progress method)
|
field_type?: string; // button, text, textarea, template (older method), select (in progress method)
|
||||||
@@ -33,10 +34,10 @@ interface Props {
|
|||||||
|
|
||||||
// export let input_field_template: null|object = null;
|
// export let input_field_template: null|object = null;
|
||||||
|
|
||||||
hide_element?: boolean;
|
hide_element?: boolean; // This hides the entire custom element.
|
||||||
hide_edit_btn?: boolean;
|
hide_edit_btn?: boolean; // This only hides the edit button.
|
||||||
// hide_edit_form?: boolean;
|
// hide_edit_form?: boolean;
|
||||||
show_edit_form?: boolean;
|
show_edit_form?: boolean; // This is used if the parent needs to make the edit form visible.
|
||||||
|
|
||||||
outline_element?: boolean;
|
outline_element?: boolean;
|
||||||
|
|
||||||
@@ -57,6 +58,7 @@ let {
|
|||||||
|
|
||||||
object_type,
|
object_type,
|
||||||
object_id,
|
object_id,
|
||||||
|
object_reload = false,
|
||||||
|
|
||||||
field_name,
|
field_name,
|
||||||
field_type = 'text',
|
field_type = 'text',
|
||||||
@@ -119,13 +121,11 @@ $effect(() => {
|
|||||||
// ; Super Key: ${api_crud_super_key}
|
// ; Super Key: ${api_crud_super_key}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (select_option_kv) {
|
// if (select_option_kv) {
|
||||||
console.log(select_option_kv);
|
// console.log(select_option_kv);
|
||||||
}
|
// }
|
||||||
|
|
||||||
if (trigger_patch === true) {
|
if (trigger_patch === true) {
|
||||||
if (log_lvl) {
|
if (log_lvl) {
|
||||||
@@ -174,21 +174,20 @@ async function handle_obj_field_patch(new_field_value: any) {
|
|||||||
|
|
||||||
// let params = {};
|
// let params = {};
|
||||||
|
|
||||||
ae_promises.api_update__ae_obj = core_func.handle_update_ae_obj_id_crud({
|
ae_promises.api_update__ae_obj = core_func.update_ae_obj_id_crud_v2({
|
||||||
api_cfg: api_cfg,
|
api_cfg: api_cfg,
|
||||||
object_type: object_type,
|
object_type: object_type,
|
||||||
object_id: object_id,
|
object_id: object_id,
|
||||||
|
object_reload: object_reload,
|
||||||
field_name: field_name,
|
field_name: field_name,
|
||||||
new_field_value: new_field_value,
|
new_field_value: new_field_value,
|
||||||
params: {},
|
log_lvl: 1
|
||||||
try_cache: false,
|
|
||||||
log_lvl: 0
|
|
||||||
})
|
})
|
||||||
.then(function (results) {
|
.then(function (results) {
|
||||||
console.log('Field PATCH Promise', results);
|
// console.log('Field PATCH Promise', results);
|
||||||
|
|
||||||
if (results) {
|
if (results) {
|
||||||
console.log(`Patched - Field Name: ${field_name} with New Field Value: ${new_field_value}; Original Field Value: ${current_field_value}`);
|
// console.log(`Patched - Field Name: ${field_name} with New Field Value: ${new_field_value}; Original Field Value: ${current_field_value}`);
|
||||||
patch_status = 'PATCH complete';
|
patch_status = 'PATCH complete';
|
||||||
current_field_value = new_field_value;
|
current_field_value = new_field_value;
|
||||||
} else {
|
} else {
|
||||||
@@ -205,7 +204,7 @@ async function handle_obj_field_patch(new_field_value: any) {
|
|||||||
return false;
|
return false;
|
||||||
})
|
})
|
||||||
.finally(function () {
|
.finally(function () {
|
||||||
console.log('Field PATCH Promise finally');
|
// console.log('Field PATCH Promise finally');
|
||||||
if (patch_status != 'PATCH complete') {
|
if (patch_status != 'PATCH complete') {
|
||||||
patch_status = 'Error during PATCH';
|
patch_status = 'Error during PATCH';
|
||||||
patch_complete = false;
|
patch_complete = false;
|
||||||
|
|||||||
@@ -64,34 +64,34 @@ let trigger_reload_session_id: string = $state('');
|
|||||||
|
|
||||||
// *** Functions and Logic
|
// *** Functions and Logic
|
||||||
|
|
||||||
$effect(() => {
|
// $effect(() => {
|
||||||
// if (ae_triggers.session_obj_id_reload) {
|
// // if (ae_triggers.session_obj_id_reload) {
|
||||||
// console.log(`ae_triggers.session_obj_id_reload changed: ${ae_triggers.session_obj_id_reload}`);
|
// // console.log(`ae_triggers.session_obj_id_reload changed: ${ae_triggers.session_obj_id_reload}`);
|
||||||
|
|
||||||
// reload_session_id(ae_triggers.session_obj_id_reload);
|
// // reload_session_id(ae_triggers.session_obj_id_reload);
|
||||||
// }
|
// // }
|
||||||
|
|
||||||
if (trigger_reload_session_id) {
|
// if (trigger_reload_session_id) {
|
||||||
console.log(`trigger_reload_session_id changed: ${trigger_reload_session_id}`);
|
// console.log(`trigger_reload_session_id changed: ${trigger_reload_session_id}`);
|
||||||
|
|
||||||
reload_event_session_id(trigger_reload_session_id);
|
// reload_event_session_id(trigger_reload_session_id);
|
||||||
trigger_reload_session_id = '';
|
// trigger_reload_session_id = '';
|
||||||
}
|
// }
|
||||||
|
|
||||||
});
|
// });
|
||||||
|
|
||||||
function reload_event_session_id(event_session_id_random: string) {
|
// function reload_event_session_id(event_session_id_random: string) {
|
||||||
console.log(`Reloading session ID: ${event_session_id_random}`);
|
// console.log(`Reloading session ID: ${event_session_id_random}`);
|
||||||
|
|
||||||
events_func.load_ae_obj_id__event_session({
|
// events_func.load_ae_obj_id__event_session({
|
||||||
api_cfg: $ae_api,
|
// api_cfg: $ae_api,
|
||||||
event_session_id: event_session_id_random,
|
// event_session_id: event_session_id_random,
|
||||||
log_lvl: log_lvl
|
// log_lvl: log_lvl
|
||||||
})
|
// })
|
||||||
.then(function (load_results) {
|
// .then(function (load_results) {
|
||||||
console.log(`Loaded session:`, load_results);
|
// console.log(`Loaded session:`, load_results);
|
||||||
});
|
// });
|
||||||
}
|
// }
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
@@ -300,14 +300,17 @@ function reload_event_session_id(event_session_id_random: string) {
|
|||||||
|
|
||||||
{#if $ae_loc.edit_mode}
|
{#if $ae_loc.edit_mode}
|
||||||
<!-- $slct.location_obj_kv -->
|
<!-- $slct.location_obj_kv -->
|
||||||
|
<!-- bind:patch_complete={trigger_reload_session_id} -->
|
||||||
<Element_ae_crud_v2
|
<Element_ae_crud_v2
|
||||||
api_cfg={$ae_api}
|
api_cfg={$ae_api}
|
||||||
|
|
||||||
trigger_patch={ae_triggers.update_location}
|
trigger_patch={ae_triggers.update_location}
|
||||||
bind:patch_complete={trigger_reload_session_id}
|
|
||||||
|
|
||||||
object_type={'event_session'}
|
object_type={'event_session'}
|
||||||
object_id={session_obj?.event_session_id_random}
|
object_id={session_obj?.event_session_id_random}
|
||||||
|
object_reload={true}
|
||||||
|
|
||||||
field_name={'event_location_id_random'}
|
field_name={'event_location_id_random'}
|
||||||
field_type={'select'}
|
field_type={'select'}
|
||||||
|
|
||||||
@@ -356,19 +359,13 @@ function reload_event_session_id(event_session_id_random: string) {
|
|||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
ondblclick={() => {
|
ondblclick={() => {
|
||||||
console.log('Edit the location for the session.');
|
console.log('Edit the location for the session. Get the list of locations first.');
|
||||||
|
|
||||||
let params = {
|
|
||||||
qry__limit: 50,
|
|
||||||
}
|
|
||||||
|
|
||||||
// $slct.event_location_obj_li = await core_func.load_ae_obj_li__event_location({api_cfg: $ae_api, account_id: $slct.account_id, params: params});
|
|
||||||
|
|
||||||
$slct.event_location_obj_li = events_func.load_ae_obj_li__event_location({
|
$slct.event_location_obj_li = events_func.load_ae_obj_li__event_location({
|
||||||
api_cfg: $ae_api,
|
api_cfg: $ae_api,
|
||||||
for_obj_type: 'event',
|
for_obj_type: 'event',
|
||||||
for_obj_id: session_obj?.event_id_random,
|
for_obj_id: session_obj?.event_id_random,
|
||||||
params: params,
|
limit: 50,
|
||||||
log_lvl: log_lvl
|
log_lvl: log_lvl
|
||||||
})
|
})
|
||||||
.then(function (load_results) {
|
.then(function (load_results) {
|
||||||
@@ -377,7 +374,7 @@ function reload_event_session_id(event_session_id_random: string) {
|
|||||||
// We need to make this ready for the select option list. Convert the list to a key value pair with the event_location_id_random as the key. We also need to set the option text value to: name (room)
|
// We need to make this ready for the select option list. Convert the list to a key value pair with the event_location_id_random as the key. We also need to set the option text value to: name (room)
|
||||||
if (load_results) {
|
if (load_results) {
|
||||||
let event_location_obj_li = load_results;
|
let event_location_obj_li = load_results;
|
||||||
let event_location_obj_kv = {}; //: key_val = {};
|
let event_location_obj_kv: key_val = {};
|
||||||
event_location_obj_kv[''] = '-- Select a location --';
|
event_location_obj_kv[''] = '-- Select a location --';
|
||||||
event_location_obj_li.forEach((event_location_obj) => {
|
event_location_obj_li.forEach((event_location_obj) => {
|
||||||
let option_text = `${event_location_obj.name} (${event_location_obj.code})`;
|
let option_text = `${event_location_obj.name} (${event_location_obj.code})`;
|
||||||
|
|||||||
Reference in New Issue
Block a user