diff options
Diffstat (limited to 'html/default_blocking_policy.js')
-rw-r--r-- | html/default_blocking_policy.js | 33 |
1 files changed, 22 insertions, 11 deletions
diff --git a/html/default_blocking_policy.js b/html/default_blocking_policy.js index dcc5d0b..b42121c 100644 --- a/html/default_blocking_policy.js +++ b/html/default_blocking_policy.js @@ -41,8 +41,7 @@ * proprietary program, I am not going to enforce this in court. */ -#IMPORT common/storage_light.js AS light_storage -#IMPORT common/observables.js +#IMPORT common/indexeddb.js AS haketilodb #FROM html/DOM_helpers.js IMPORT by_id @@ -55,21 +54,33 @@ const blocking_policy_span = by_id("blocking_policy_span"); const current_policy_span = by_id("current_policy_span"); const toggle_policy_but = by_id("toggle_policy_but"); -let policy_observable; +let default_allow = false; + +function update_policy(change) +{ + if (change) + default_allow = (change.new_val || {}).value; + current_policy_span.textContent = default_allow ? "allow" : "block"; +} + +async function track_default_allow() +{ + const set_val = ch => default_allow = (ch.new_val || {}).value; + const [tracking, settings] = await haketilodb.track.settings(update_policy); + for (const setting of settings) { + if (setting.name === "default_allow") + default_allow = setting.value; + } + update_policy(); +} -const update_policy = - allowed => current_policy_span.textContent = allowed ? "allow" : "block"; const toggle_policy = - () => light_storage.set_var("default_allow", !policy_observable.value); + () => haketilodb.set_setting("default_allow", !default_allow); async function init_default_policy_dialog() { - policy_observable = await light_storage.observe_var("default_allow"); - update_policy(policy_observable.value); - observables.subscribe(policy_observable, update_policy); - + await track_default_allow(); toggle_policy_but.addEventListener("click", toggle_policy); - blocking_policy_span.classList.remove("hide"); } #IF !TEST_UNIT |