Selaa lähdekoodia

fetch bookmarks every time; de-duplicate code

Tom 4 vuotta sitten
vanhempi
commit
1a65698c41
1 muutettua tiedostoa jossa 13 lisäystä ja 47 poistoa
  1. 13 47
      assets/js/data.js

+ 13 - 47
assets/js/data.js

@@ -1,50 +1,16 @@
-var data_links = "links.json";
-var bookmarks = JSON.parse(localStorage.getItem("links"));
-
-function handleLinks(data) {
-  var mysource = document.getElementById("links-template").innerHTML;
-  var mytemplate = Handlebars.compile(mysource);
-  var myresult = mytemplate(data)
-  document.getElementById("links").innerHTML = myresult;
+function fetchAndRender (name) {
+    fetch(name + '.json')
+        .then(response => response.json())
+        .then(data => {
+            const mysource = document.getElementById(name + '-template').innerHTML;
+            const mytemplate = Handlebars.compile(mysource);
+            const myresult = mytemplate(data);
+            document.getElementById(name).innerHTML = myresult;
+        });
 }
 
-document.addEventListener("DOMContentLoaded", function () {
-  if (!bookmarks) {
-      fetch(data_links)
-          .then(response => response.json())
-          .then(function (data) {
-              handleLinks(data);
-              localStorage.setItem("links", JSON.stringify(data));
-          });
-  } else {
-      handleLinks(bookmarks);
-  }
-});
-
-var data_apps = "apps.json";
-
-document.addEventListener("DOMContentLoaded", function () {
-  fetch(data_apps)
-  .then( response => response.json())
-  .then(
-    function (data) {
-      var mysource = document.getElementById("apps-template").innerHTML;
-      var mytemplate = Handlebars.compile(mysource);
-      var myresult = mytemplate(data)
-      document.getElementById("apps").innerHTML = myresult;
-    });
+document.addEventListener('DOMContentLoaded', () => {
+    fetchAndRender('apps');
+    fetchAndRender('links');
+    fetchAndRender('providers');
 });
-
-var data_providers = "providers.json";
-
-document.addEventListener("DOMContentLoaded", function () {
-  fetch(data_providers)
-  .then( response => response.json())
-  .then(
-    function (data) {
-      var mysource = document.getElementById("providers-template").innerHTML;
-      var mytemplate = Handlebars.compile(mysource);
-      var myresult = mytemplate(data)
-      document.getElementById("providers").innerHTML = myresult;
-    });
-});