176 lines
6.4 KiB
JavaScript
176 lines
6.4 KiB
JavaScript
|
|
// These localStorage values were created when generating the HTML
|
|
|
|
// let ae_local = window.localStorage.getItem('ae'); // Includes: cfg, client, page, other
|
|
// let ae_session = window.sessionStorage.getItem('ae'); // Includes: cfg, client, page, other
|
|
// let ae_com_local = window.localStorage.getItem('ae_com');
|
|
// let ae_com_session = window.sessionStorage.getItem('ae_com');
|
|
|
|
if (window.localStorage.getItem('ae') === null) {
|
|
window.localStorage.setItem('ae', JSON.stringify({ 'cfg': {}, 'client': {}, 'page': {}, 'other': {}, 'test': {} }));
|
|
}
|
|
|
|
if (window.sessionStorage.getItem('ae') === null) {
|
|
window.sessionStorage.setItem('ae', JSON.stringify({ 'cfg': {}, 'client': {}, 'page': {}, 'other': {}, 'test': {} }));
|
|
}
|
|
// JSON.parse(window.sessionStorage.getItem('ae'))
|
|
|
|
// export let ae_bridge = {
|
|
const ae_bridge = {
|
|
// example_var: 'Example Default Value',
|
|
// get example() {
|
|
// return this.example_var;
|
|
// },
|
|
// set example(new_value) {
|
|
// this.example_var = new_value;
|
|
// this.example_var_listener(new_value);
|
|
// this.example_var_core_listener(new_value);
|
|
// this.example_var_mods_listener(new_value);
|
|
// },
|
|
|
|
// example_var_listener: function (new_value) {},
|
|
// registerNewListener: function (external_listener_function) {
|
|
// this.example_var_listener = external_listener_function;
|
|
// },
|
|
|
|
// example_var_core_listener: function (new_value) {},
|
|
// registerNewCoreListener: function (external_core_listener_function) {
|
|
// this.example_var_core_listener = external_core_listener_function;
|
|
// },
|
|
|
|
// example_var_mods_listener: function (new_value) {},
|
|
// registerNewModsListener: function (external_mods_listener_function) {
|
|
// this.example_var_mods_listener = external_mods_listener_function;
|
|
// },
|
|
|
|
|
|
// Monitor change in **local** storage AE
|
|
// Created and set when generating and then rendering the inital HTML and JS
|
|
// ae_local_var: true,
|
|
ae_local_var: JSON.parse(window.localStorage.getItem('ae')),
|
|
get ae_local() {
|
|
return this.ae_local_var;
|
|
},
|
|
set ae_local(new_value) {
|
|
console.log('ae_local_var: new_value: ', new_value);
|
|
this.ae_local_var = new_value;
|
|
this.ae_local_listener(new_value);
|
|
window.localStorage.setItem('ae', new_value);
|
|
},
|
|
|
|
ae_local_listener: function (new_value) {},
|
|
register_ae_local_listener: function (external_listener_function) {
|
|
this.ae_local_listener = external_listener_function;
|
|
},
|
|
|
|
|
|
// Monitor change in **session* storage AE
|
|
// Created and set when generating and then rendering the inital HTML and JS
|
|
// ae_session_var: true,
|
|
// ae_session_var: JSON.parse((window.sessionStorage.getItem('ae') ? window.sessionStorage.getItem('ae') : {'cfg': true, 'client': true, 'page': true, 'other': true})),
|
|
// ae_session_var: {'example': 'This is just an example from init.js!'},
|
|
ae_session_var: JSON.parse(window.sessionStorage.getItem('ae')),
|
|
get ae_session() {
|
|
return this.ae_session_var;
|
|
},
|
|
set ae_session(new_value) {
|
|
console.log('ae_session_var: new_value: ', new_value);
|
|
this.ae_session_var = new_value;
|
|
this.ae_session_listener(new_value);
|
|
window.sessionStorage.setItem('ae', new_value);
|
|
},
|
|
|
|
ae_session_listener: function (new_value) {},
|
|
register_ae_session_listener: function (external_listener_function) {
|
|
this.ae_session_listener = external_listener_function;
|
|
},
|
|
|
|
|
|
// Monitor change in Access Type
|
|
access_type_var: 'anonymous',
|
|
get access_type() {
|
|
return this.access_type_var;
|
|
},
|
|
set access_type(new_value) {
|
|
this.access_type_var = new_value;
|
|
this.access_type_var_core_listener(new_value);
|
|
this.access_type_var_mods_listener(new_value);
|
|
},
|
|
|
|
access_type_var_core_listener: function (new_value) {},
|
|
register_core_access_type_listener: function (external_core_listener_function) {
|
|
this.access_type_var_core_listener = external_core_listener_function;
|
|
},
|
|
|
|
access_type_var_mods_listener: function (new_value) {},
|
|
register_mods_access_type_listener: function (external_mods_listener_function) {
|
|
this.access_type_var_mods_listener = external_mods_listener_function;
|
|
},
|
|
|
|
|
|
// Monitor change in AE Common
|
|
// ae_com_var: true,
|
|
ae_com_var: JSON.parse(window.localStorage.getItem('ae_com')),
|
|
get ae_com() {
|
|
return this.ae_com_var;
|
|
},
|
|
set ae_com(new_value) {
|
|
this.ae_com_var = new_value;
|
|
this.ae_com_var_core_listener(new_value);
|
|
this.ae_com_var_mods_listener(new_value);
|
|
},
|
|
|
|
ae_com_var_core_listener: function (new_value) {},
|
|
register_core_ae_com_listener: function (external_core_listener_function) {
|
|
this.ae_com_var_core_listener = external_core_listener_function;
|
|
},
|
|
|
|
ae_com_var_mods_listener: function (new_value) {},
|
|
register_mods_ae_com_listener: function (external_mods_listener_function) {
|
|
this.ae_com_var_mods_listener = external_mods_listener_function;
|
|
},
|
|
|
|
|
|
// Monitor change in Client
|
|
client_var: true,
|
|
get client() {
|
|
return this.client_var;
|
|
},
|
|
set client(new_value) {
|
|
this.client_var = new_value;
|
|
this.client_var_core_listener(new_value);
|
|
this.client_var_mods_listener(new_value);
|
|
},
|
|
|
|
client_var_core_listener: function (new_value) {},
|
|
register_core_client_listener: function (external_core_listener_function) {
|
|
this.client_var_core_listener = external_core_listener_function;
|
|
},
|
|
|
|
client_var_mods_listener: function (new_value) {},
|
|
register_mods_client_listener: function (external_mods_listener_function) {
|
|
this.client_var_mods_listener = external_mods_listener_function;
|
|
},
|
|
|
|
};
|
|
console.log('ae_bridge_init.js loaded');
|
|
|
|
|
|
// Updated: 2024-02-09
|
|
/* BEGIN: Add this to the stores.ts */
|
|
// This adds a listener to the ae_bridge object. This can then be exported and used in the Svelte components.
|
|
// export let ae_example = writable(ae_bridge.ae_example);
|
|
// ae_bridge.register_ae_example_listener((new_value) => {
|
|
// console.log(`AE Bridge: AE Example: ${new_value}`);
|
|
// console.log(new_value);
|
|
|
|
// ae_example.set(new_value);
|
|
// console.log(ae_example);
|
|
// });
|
|
/* END: Add this to the stores.ts */
|
|
|
|
|
|
/* BEGIN: Add this to the Svelte components */
|
|
// import { ae_example } from './stores';
|
|
/* END: Add this to the Svelte components */
|