about summary refs log tree commit diff stats
path: root/src/pages/options/maps.js
diff options
context:
space:
mode:
authorManeraKai <manerakai@protonmail.com>2022-01-30 15:38:55 +0300
committerManeraKai <manerakai@protonmail.com>2022-01-30 15:38:55 +0300
commitd1ec4ac2af2d644b0b493818bf698dc314d45d25 (patch)
tree8004530f5752cbb508bb64cb872e0ba7b698e557 /src/pages/options/maps.js
parentUpdating options UI (diff)
downloadlibredirect-d1ec4ac2af2d644b0b493818bf698dc314d45d25.zip
Splitted options.js
Diffstat (limited to 'src/pages/options/maps.js')
-rw-r--r--src/pages/options/maps.js39
1 files changed, 39 insertions, 0 deletions
diff --git a/src/pages/options/maps.js b/src/pages/options/maps.js
new file mode 100644
index 00000000..c8ade661
--- /dev/null
+++ b/src/pages/options/maps.js
@@ -0,0 +1,39 @@
+import mapsHelper from "../../assets/javascripts/helpers/google-maps.js";
+import commonHelper from "../../assets/javascripts/helpers/common.js";
+import shared from "./shared.js";
+
+
+
+const osmInstances = mapsHelper.redirects;
+let osmInstance = document.getElementById("osm-instance");
+let disableOsm = document.getElementById("disable-osm");
+
+browser.storage.sync.get(
+    [
+        "osmInstance",
+        "disableOsm",
+    ],
+    (result) => {
+        osmInstance.value = result.osmInstance || "";
+        disableOsm.checked = !result.disableOsm;
+        let id = "osm-instance"
+        let instances = osmInstances
+        shared.autocompletes.push({ id: id, instances: instances })
+        shared.autocomplete(document.getElementById(id), instances);
+    }
+)
+
+const osmInstanceChange = commonHelper.debounce(() => {
+    if (osmInstance.checkValidity()) {
+        browser.storage.sync.set({
+            osmInstance: shared.parseURL(osmInstance.value),
+        });
+    }
+}, 500);
+osmInstance.addEventListener("input", osmInstanceChange);
+
+
+
+disableOsm.addEventListener("change", (event) => {
+    browser.storage.sync.set({ disableOsm: !event.target.checked });
+});
\ No newline at end of file