/** * This file is part of Haketilo. * * Function: Logic for the dialog of default policy selection. * * Copyright (C) 2021 Wojtek Kosior * Redistribution terms are gathered in the `copyright' file. */ /* * IMPORTS_START * IMPORT by_id * IMPORT light_storage * IMPORT observables * IMPORTS_END */ /* * Used with `default_blocking_policy.html' to allow user to choose whether to * block scripts globally or not. */ 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; const update_policy = allowed => current_policy_span.textContent = allowed ? "allow" : "block"; const toggle_policy = () => light_storage.set_var("default_allow", !policy_observable.value); 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); toggle_policy_but.addEventListener("click", toggle_policy); blocking_policy_span.classList.remove("hide"); } /* * EXPORTS_START * EXPORT init_default_policy_dialog * EXPORTS_END */