diff --git a/templates/client/blank.html b/templates/client/blank.html index 6ffdd844..9d4b6acf 100644 --- a/templates/client/blank.html +++ b/templates/client/blank.html @@ -80,18 +80,14 @@ This template include basic anf main styles and js files, +
diff --git a/templates/client/static_client/js/banners.js b/templates/client/static_client/js/banners.js new file mode 100644 index 00000000..b073f897 --- /dev/null +++ b/templates/client/static_client/js/banners.js @@ -0,0 +1,93 @@ +(function () { + "use strict"; + + var API_URL_ROOT = "/expo-b/get-banners/"; + + var getUrl = function () { + var data = window.sendData; + + if (data instanceof Object) { + var search = []; + + for (var key in data) { + if (data.hasOwnProperty(key)) { + var value = data[key]; + + if (value instanceof Array) { + for (var i = 0, l = value.length; i < l; i++) { + search.push(key + "=" + value[i]); + } + } else { + search.push(key + "=" + value); + } + } + } + + if (search.length) { + return API_URL_ROOT + "?" + search.join("&"); + } + } + + return API_URL_ROOT; + }; + + var getBanners = function (url, callback) { + var xhr = new XMLHttpRequest(); + xhr.open("GET", url, true); + + xhr.onreadystatechange = function (event) { + if (event.target.readyState === 4) { + if (event.target.status === 200) { + try { + callback(JSON.parse(event.target.responseText)); + } catch (error) { + // do nothing + } + } + } + }; + + xhr.send(); + }; + + var addBanner = function (banner) { + console.log(banner); + + var parent = document.getElementById(banner.id); + + if (parent) { + console.log(parent); + + if (banner.is_img) { + var a = document.createElement("a"); + a.href = banner.url; + + var img = document.createElement("img"); + img.src = banner.img; + img.alt = banner.alt; + + a.appendChild(img); + parent.appendChild(a); + } else if (banner.is_html || banner.is_js) { + parent.innerHTML = banner.text; + // $(parent).html(""); + // $(parent).html(banner.text); + } + } + + }; + + var insertBanners = function (data) { + if (data instanceof Array) { + for (var i = 0, l = data.length; i < l; i++) { + addBanner(data[i]); + } + } + }; + + var main = function () { + getBanners(getUrl(), insertBanners); + }; + + window.addEventListener("load", main); +})();