diff --git a/templates/client/blank.html b/templates/client/blank.html index 00219448..1be9b75a 100644 --- a/templates/client/blank.html +++ b/templates/client/blank.html @@ -87,7 +87,7 @@ This template include basic anf main styles and js files, "tag": "{{ tag }}" }; - + diff --git a/templates/client/includes/banners/tops.html b/templates/client/includes/banners/tops.html index 142e63a4..f1678855 100644 --- a/templates/client/includes/banners/tops.html +++ b/templates/client/includes/banners/tops.html @@ -1,13 +1,7 @@ +{% load static %} +
- \ No newline at end of file + + \ No newline at end of file diff --git a/templates/client/popups/cemat_modal.html b/templates/client/popups/cemat_modal.html index fb497d72..d6c437d9 100644 --- a/templates/client/popups/cemat_modal.html +++ b/templates/client/popups/cemat_modal.html @@ -16,7 +16,7 @@ - + diff --git a/templates/client/static_client/js/banners.js b/templates/client/static_client/js/rejs/banners.js similarity index 89% rename from templates/client/static_client/js/banners.js rename to templates/client/static_client/js/rejs/banners.js index 1f6126ca..df86bbb0 100644 --- a/templates/client/static_client/js/banners.js +++ b/templates/client/static_client/js/rejs/banners.js @@ -4,10 +4,17 @@ var API_URL_ROOT = "/expo-b/get-banners/"; var getUrl = function () { + var catalog = ""; + + var parts = /^\/([^\/]+)(?:\/|$)/i.exec(location.pathname); + if (parts) { + catalog = parts[1]; + } + var data = window.sendData; if (data instanceof Object) { - var search = []; + var search = ["catalog=" + catalog]; for (var key in data) { if (data.hasOwnProperty(key)) { @@ -23,9 +30,7 @@ } } - if (search.length) { - return API_URL_ROOT + "?" + search.join("&"); - } + return API_URL_ROOT + "?" + search.join("&"); } return API_URL_ROOT; diff --git a/templates/client/static_client/js/rejs/tops.js b/templates/client/static_client/js/rejs/tops.js new file mode 100644 index 00000000..db87aa6a --- /dev/null +++ b/templates/client/static_client/js/rejs/tops.js @@ -0,0 +1,72 @@ +(function () { + "use strict"; + + var API_URL_ROOT = "/expo-b/get-tops/"; + var PARENT_ID = "expo_top_events"; + + var getUrl = function () { + var catalog = ""; + + var parts = /^\/([^\/]+)(?:\/|$)/i.exec(location.pathname); + if (parts) { + catalog = parts[1]; + } + + var data = window.sendData; + + if (data instanceof Object) { + var search = ["catalog=" + catalog]; + + 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(encodeURIComponent(key) + "=" + encodeURIComponent(value[i])); + } + } else { + search.push(encodeURIComponent(key) + "=" + encodeURIComponent(value)); + } + } + } + + return API_URL_ROOT + "?" + search.join("&"); + } + + return API_URL_ROOT; + }; + + var getTops = 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(event.target.responseText); + } catch (error) { + // do nothing + } + } + } + }; + + xhr.send(); + }; + + var insertTops = function (text) { + var parent = document.getElementById(PARENT_ID); + + if (parent) { + parent.innerHTML = text; + } + }; + + var main = function () { + getTops(getUrl(), insertTops); + }; + + window.addEventListener("load", main); +})();