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
|
||||
async function handle_update_ae_obj_id_crud(
|
||||
{
|
||||
api_cfg,
|
||||
object_type,
|
||||
object_id,
|
||||
field_name,
|
||||
new_field_value,
|
||||
params={},
|
||||
try_cache=false,
|
||||
log_lvl=0
|
||||
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,
|
||||
field_name: string,
|
||||
new_field_value: any,
|
||||
params: any|key_val,
|
||||
try_cache: boolean,
|
||||
log_lvl: number
|
||||
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
|
||||
}) {
|
||||
|
||||
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(
|
||||
{
|
||||
@@ -467,6 +695,7 @@ let export_obj = {
|
||||
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,
|
||||
update_ae_obj_id_crud_v2: update_ae_obj_id_crud_v2,
|
||||
handle_download_export__obj_type: handle_download_export__obj_type,
|
||||
generate_qr_code: generate_qr_code
|
||||
};
|
||||
|
||||
@@ -11,6 +11,7 @@ interface Props {
|
||||
|
||||
object_type: string;
|
||||
object_id: string;
|
||||
object_reload?: boolean;
|
||||
|
||||
field_name: string;
|
||||
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;
|
||||
|
||||
hide_element?: boolean;
|
||||
hide_edit_btn?: boolean;
|
||||
hide_element?: boolean; // This hides the entire custom element.
|
||||
hide_edit_btn?: boolean; // This only hides the edit button.
|
||||
// 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;
|
||||
|
||||
@@ -57,6 +58,7 @@ let {
|
||||
|
||||
object_type,
|
||||
object_id,
|
||||
object_reload = false,
|
||||
|
||||
field_name,
|
||||
field_type = 'text',
|
||||
@@ -119,13 +121,11 @@ $effect(() => {
|
||||
// ; Super Key: ${api_crud_super_key}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
if (select_option_kv) {
|
||||
console.log(select_option_kv);
|
||||
}
|
||||
// if (select_option_kv) {
|
||||
// console.log(select_option_kv);
|
||||
// }
|
||||
|
||||
if (trigger_patch === true) {
|
||||
if (log_lvl) {
|
||||
@@ -174,21 +174,20 @@ async function handle_obj_field_patch(new_field_value: any) {
|
||||
|
||||
// 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,
|
||||
object_type: object_type,
|
||||
object_id: object_id,
|
||||
object_reload: object_reload,
|
||||
field_name: field_name,
|
||||
new_field_value: new_field_value,
|
||||
params: {},
|
||||
try_cache: false,
|
||||
log_lvl: 0
|
||||
log_lvl: 1
|
||||
})
|
||||
.then(function (results) {
|
||||
console.log('Field PATCH Promise', results);
|
||||
// console.log('Field PATCH Promise', 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';
|
||||
current_field_value = new_field_value;
|
||||
} else {
|
||||
@@ -205,7 +204,7 @@ async function handle_obj_field_patch(new_field_value: any) {
|
||||
return false;
|
||||
})
|
||||
.finally(function () {
|
||||
console.log('Field PATCH Promise finally');
|
||||
// console.log('Field PATCH Promise finally');
|
||||
if (patch_status != 'PATCH complete') {
|
||||
patch_status = 'Error during PATCH';
|
||||
patch_complete = false;
|
||||
|
||||
@@ -64,34 +64,34 @@ let trigger_reload_session_id: string = $state('');
|
||||
|
||||
// *** Functions and Logic
|
||||
|
||||
$effect(() => {
|
||||
// if (ae_triggers.session_obj_id_reload) {
|
||||
// console.log(`ae_triggers.session_obj_id_reload changed: ${ae_triggers.session_obj_id_reload}`);
|
||||
// $effect(() => {
|
||||
// // if (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) {
|
||||
console.log(`trigger_reload_session_id changed: ${trigger_reload_session_id}`);
|
||||
// if (trigger_reload_session_id) {
|
||||
// console.log(`trigger_reload_session_id changed: ${trigger_reload_session_id}`);
|
||||
|
||||
reload_event_session_id(trigger_reload_session_id);
|
||||
trigger_reload_session_id = '';
|
||||
}
|
||||
// reload_event_session_id(trigger_reload_session_id);
|
||||
// trigger_reload_session_id = '';
|
||||
// }
|
||||
|
||||
});
|
||||
// });
|
||||
|
||||
function reload_event_session_id(event_session_id_random: string) {
|
||||
console.log(`Reloading session ID: ${event_session_id_random}`);
|
||||
// function reload_event_session_id(event_session_id_random: string) {
|
||||
// console.log(`Reloading session ID: ${event_session_id_random}`);
|
||||
|
||||
events_func.load_ae_obj_id__event_session({
|
||||
api_cfg: $ae_api,
|
||||
event_session_id: event_session_id_random,
|
||||
log_lvl: log_lvl
|
||||
})
|
||||
.then(function (load_results) {
|
||||
console.log(`Loaded session:`, load_results);
|
||||
});
|
||||
}
|
||||
// events_func.load_ae_obj_id__event_session({
|
||||
// api_cfg: $ae_api,
|
||||
// event_session_id: event_session_id_random,
|
||||
// log_lvl: log_lvl
|
||||
// })
|
||||
// .then(function (load_results) {
|
||||
// console.log(`Loaded session:`, load_results);
|
||||
// });
|
||||
// }
|
||||
|
||||
</script>
|
||||
|
||||
@@ -300,14 +300,17 @@ function reload_event_session_id(event_session_id_random: string) {
|
||||
|
||||
{#if $ae_loc.edit_mode}
|
||||
<!-- $slct.location_obj_kv -->
|
||||
<!-- bind:patch_complete={trigger_reload_session_id} -->
|
||||
<Element_ae_crud_v2
|
||||
api_cfg={$ae_api}
|
||||
|
||||
trigger_patch={ae_triggers.update_location}
|
||||
bind:patch_complete={trigger_reload_session_id}
|
||||
|
||||
|
||||
object_type={'event_session'}
|
||||
object_id={session_obj?.event_session_id_random}
|
||||
object_reload={true}
|
||||
|
||||
field_name={'event_location_id_random'}
|
||||
field_type={'select'}
|
||||
|
||||
@@ -356,19 +359,13 @@ function reload_event_session_id(event_session_id_random: string) {
|
||||
<button
|
||||
type="button"
|
||||
ondblclick={() => {
|
||||
console.log('Edit the location for the session.');
|
||||
|
||||
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});
|
||||
console.log('Edit the location for the session. Get the list of locations first.');
|
||||
|
||||
$slct.event_location_obj_li = events_func.load_ae_obj_li__event_location({
|
||||
api_cfg: $ae_api,
|
||||
for_obj_type: 'event',
|
||||
for_obj_id: session_obj?.event_id_random,
|
||||
params: params,
|
||||
limit: 50,
|
||||
log_lvl: log_lvl
|
||||
})
|
||||
.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)
|
||||
if (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_li.forEach((event_location_obj) => {
|
||||
let option_text = `${event_location_obj.name} (${event_location_obj.code})`;
|
||||
|
||||
Reference in New Issue
Block a user