Work on the new Hub to manage the header, footer, menu, quick access, etc
This commit is contained in:
167
public/ae_bridge_init.js
Normal file
167
public/ae_bridge_init.js
Normal file
@@ -0,0 +1,167 @@
|
||||
|
||||
// These localStorage values were created when generating the HTML
|
||||
// ae value is reset every page load
|
||||
// ae_com value is ?
|
||||
// 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.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) {
|
||||
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) {
|
||||
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');
|
||||
// console.log(ae_bridge.example);
|
||||
// console.log(ae_bridge.ae_com);
|
||||
|
||||
// export let ae_bridge = ae_bridge;
|
||||
|
||||
// export { default as Element_sql_qry }
|
||||
|
||||
/* Add this to the stores.ts */
|
||||
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);
|
||||
});
|
||||
Reference in New Issue
Block a user