// 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); });