From 5964cdafc0b751d8f0be26b0b4df4e73ac49bc7e Mon Sep 17 00:00:00 2001 From: re0ne Date: Thu, 3 Sep 2015 15:25:02 +0300 Subject: [PATCH 1/2] Changed url generation --- templates/client/blank.html | 6 +----- .../client/static_client/js/rejs/banners.js | 18 ++++++++++-------- templates/client/static_client/js/rejs/tops.js | 13 +++++-------- 3 files changed, 16 insertions(+), 21 deletions(-) diff --git a/templates/client/blank.html b/templates/client/blank.html index 6d3514b9..2a28c17f 100644 --- a/templates/client/blank.html +++ b/templates/client/blank.html @@ -231,15 +231,11 @@ This template include basic anf main styles and js files, diff --git a/templates/client/static_client/js/rejs/banners.js b/templates/client/static_client/js/rejs/banners.js index fc266152..70e4998b 100644 --- a/templates/client/static_client/js/rejs/banners.js +++ b/templates/client/static_client/js/rejs/banners.js @@ -4,18 +4,22 @@ var API_URL_ROOT = "/expo-b/get-banners/"; var getUrl = function () { - var catalog = ""; + var search = []; var parts = /^\/([^\/]+)(?:\/|$)/i.exec(location.pathname); if (parts) { - catalog = parts[1]; + search.push("catalog=" + encodeURIComponent(parts[1])); + } else { + search.push("catalog="); } - var data = window.sendData; + var elements = $("[id^=\"expo_b_\"]"); + for (var j = 0; j < elements.length; j++) { + search.push("places=" + encodeURIComponent($(elements[j]).attr("id"))); + } + 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]; @@ -29,11 +33,9 @@ } } } - - return API_URL_ROOT + "?" + search.join("&"); } - return API_URL_ROOT; + return API_URL_ROOT + "?" + search.join("&"); }; var getBanners = function (url, callback) { diff --git a/templates/client/static_client/js/rejs/tops.js b/templates/client/static_client/js/rejs/tops.js index db87aa6a..31bee27b 100644 --- a/templates/client/static_client/js/rejs/tops.js +++ b/templates/client/static_client/js/rejs/tops.js @@ -5,18 +5,17 @@ var PARENT_ID = "expo_top_events"; var getUrl = function () { - var catalog = ""; + var search = []; var parts = /^\/([^\/]+)(?:\/|$)/i.exec(location.pathname); if (parts) { - catalog = parts[1]; + search.push("catalog=" + encodeURIComponent(parts[1])); + } else { + search.push("catalog="); } 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]; @@ -30,11 +29,9 @@ } } } - - return API_URL_ROOT + "?" + search.join("&"); } - return API_URL_ROOT; + return API_URL_ROOT + "?" + search.join("&"); }; var getTops = function (url, callback) { From 592ff39e29d98a5363903341a2cade27828ece8f Mon Sep 17 00:00:00 2001 From: re0ne Date: Thu, 3 Sep 2015 17:38:17 +0300 Subject: [PATCH 2/2] Fixed calendar button --- templates/client/static_client/js/_modules/block.common.js | 2 +- .../client/static_client/js_min/_modules/block.common.min.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/client/static_client/js/_modules/block.common.js b/templates/client/static_client/js/_modules/block.common.js index c61cda55..9dad6235 100644 --- a/templates/client/static_client/js/_modules/block.common.js +++ b/templates/client/static_client/js/_modules/block.common.js @@ -354,7 +354,7 @@ if (EXPO.common){ $staticFields = $('.'+validErrorClass); $waiter = $('#wait-ajax:not(.absolute)').css({'z-index': '8031'}); - $('.'+addClass+', .'+remClass).on('click', function(event){ + $('body').on('click', '.' + addClass + ', .' + remClass, function(event) { addText = self.opt.addCalendarText; remText = self.opt.removeCalendarText; event.preventDefault(); diff --git a/templates/client/static_client/js_min/_modules/block.common.min.js b/templates/client/static_client/js_min/_modules/block.common.min.js index bbe0ad18..ec08a27c 100644 --- a/templates/client/static_client/js_min/_modules/block.common.min.js +++ b/templates/client/static_client/js_min/_modules/block.common.min.js @@ -1 +1 @@ -var EXPO=EXPO||{};EXPO.common?console.warn("WARNING: EXPO.common is already defined!"):EXPO.common=function(){var e,t={},s=function(e,t){return(e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.oMatchesSelector).call(e,t)};t.opt={};var r=function(e){this.fields=[],this.allIsClear=!1,this.ajaxUrl=e.getAttribute("action"),this.DOM=e,this._initFields(),this._eventController()};return r.prototype={_eventController:function(){var e=this;this.DOM.addEventListener?this.DOM.addEventListener("submit",function(t){return e.validate(),t.preventDefault(),!1},!1):this.DOM.attachEvent&&this.DOM.attachEvent("onsubmit",function(t){return e.validate(),t.preventDefault(),!1})},_initFields:function(){},validate:function(){var t,s=this,r=$(s.DOM).serialize(),o={},a="err-message-box",i=s.DOM.querySelector("."+a),n=i.innerHTML,l=function(r){var a,l;if(t=r,s.unHighlightFields(),t.success)i&&EXPO.common.removeClass(i,"active"),$(s.DOM).attr("id")==EXPO.common.opt.registerFormId?(a=$("#"+EXPO.common.opt.successRegisterId),l=$.trim($("#id_email",s.DOM).val()),$("."+EXPO.common.opt.resendLetterClass,a).attr("data-email",l),$.fancybox.close(!0),$.fancybox("#"+EXPO.common.opt.successRegisterId)):window.location.reload();else{EXPO.common.removeClass(i,"active"),o={},s.fields=[];for(var c in t.errors)t.errors.hasOwnProperty(c)&&("__all__"!=c?(o={name:c,id:"id_"+c,errorText:t.errors[c]},s.fields.push(o)):i&&(EXPO.common.addClass(i,"active"),n.indexOf(t.errors[c])<0&&i.insertAdjacentHTML("beforeend",t.errors[c]+" ")));s.highliteFields()}e.hide()};s.unHighlightFields(),e.show(),EXPO.common.postRequest(r,s.ajaxUrl,l)},highliteFields:function(){for(var e,t,s=0;s").attr("class","error").append(s);r.parent().addClass("required err").prepend(o)}))};"post"==o?$.post(s,r,a):$.get(s,r,a)}),$("form.simple-validate-register").on("submit",function(e){e.preventDefault();var t=$(this),s=t.attr("action"),r=$(this).serialize(),o=t.attr("method"),a=$("#pw-reg-complete"),i=$(".resend-letter",a),n=$.trim($("#id_email",t).val()),l=function(e){e.success?($(".error",t).remove(),$(".required.err",t).removeClass("required err"),$("input:text",t).val(""),$(".pwf-line .msg-help",t).each(function(){var e=$(this),t=e.attr("data-default");""!=$.trim(t)&&e.html("").text(t)}),i.attr("data-email",n),$.fancybox.close(!0),$.fancybox("#pw-reg-complete")):($(".error",t).remove(),$(".required.err",t).removeClass("required err"),$(".pwf-line .msg-help",t).each(function(){var e=$(this),t=e.attr("data-default");""!=$.trim(t)&&e.html("").text(t)}),$.each(e.errors,function(e,s){var r=$("#id_"+e,t),o=$("
").attr("class","error").append(s),a=r.closest(".pwf-line").find(".msg-help");r.parent().addClass("required err"),a.attr("data-default",a.text()),a.text("").prepend(o)}))};"post"==o?$.post(s,r,l):$.get(s,r,l)})}),$(function(){$.fancybox.helpers.overlay.overlay=$('
').appendTo("body"),$.fn.customRadioCheck=function(){return $(this).each(function(){function e(){if("radio"==s){var e=t.attr("name"),r=$('input[type="radio"]').filter('[name="'+e+'"]');r.each(function(){var e=$(this).closest(".custom-radio");e.removeClass("checked"),$(this).is(":checked")&&e.addClass("checked")})}else t.prop("checked")?o.addClass("checked"):o.removeClass("checked");t.trigger("blur")}var t=$(this),s=t.attr("type"),r=t.closest("label"),o=t.wrap("").parent();r.addClass("custom-radio-check"),e(),t.on("change",e)})},$("input[type='checkbox'], input[type='radio']").customRadioCheck()}),function(e){e.fn.inlineStyle=function(t){var s,r=this.attr("style");return r&&r.split(";").forEach(function(r){var o=r.split(":");e.trim(o[0])===t&&(s=o[1])}),s}}(jQuery),t.init=function(t){$.extend(this.opt,t);{var s,r=this,o=this.opt.addCalendarClass,a=this.opt.removeCalendarClass,i=this.opt.addCalendarText,n=this.opt.removeCalendarText,l=r.opt.staticValidation.errorClass,c=r.opt.staticValidation.containerClass;r.opt.staticValidation.blobClass}$(function(){s=$("."+l),e=$("#wait-ajax:not(.absolute)").css({"z-index":"8031"}),$("."+o+", ."+a).on("click",function(e){i=r.opt.addCalendarText,n=r.opt.removeCalendarText,e.preventDefault();var t=$(this),s=t.attr("href");$.get(s,function(e){e.not_authorized?$.fancybox.open("#"+r.opt.loginModalId):e.success&&(e.in?t.removeClass(o).addClass(a).text(n):t.removeClass(a).addClass(o).text(i))})}),s.length&&s.find("input:text").on("keyup",function(){""!=$.trim($(this).val())?$(this).closest("."+l).removeClass(l):$(this).closest("."+c).addClass(l)});for(var t=0;t=0;)r=r.replace(" "+s+" "," ");e.className=r.replace(/^\s+|\s+$/g," ")}return e},t.closest=function(e,s){for(var r=function(s){return t.hasClass(e,s)};e;){if(r(s))return e;e=e.parentNode}},t.children=function(e,t){for(var r,o=[],r=0,a=e.childNodes.length;a>r;++r)s(e.childNodes[r],t)&&o.push(e.childNodes[r]);return o},t.postRequest=function(e,t,s){e||(e=""),$.ajax({type:"POST",url:t,data:e,success:function(e){return"function"!=typeof s?e:(console.log("data recieved:"),console.log(e),console.log(JSON.stringify(e)),s(e),void 0)}})},t.getRequest=function(e,t,s){e||(e=""),$.ajax({type:"GET",url:t,data:e,success:function(e){return"function"!=typeof s?e:(console.log("data recieved:"),console.log(e),console.log(JSON.stringify(e)),s(e),void 0)}})},t.Modal=function(e){var t=this;this.id,this.opt=e,this.DOMwrap=document.getElementById(e.id),this.DOM=this.DOMwrap.querySelector("."+e.wrapClass),$(".modal-close",this.DOM).on("click",function(){t.close()}),$(".modals > *").on("click",function(e){$(e.target.parentNode).find(t.DOMwrap).length&&t.close()})},t.Modal.prototype={pullData:function(e){this.id=e.substr(1),$(e).show().siblings().hide(),this.refresh()},open:function(){$(this.DOMwrap).fadeIn(),t.addClass(document.body,"ov-hidden")},close:function(){$(this.DOMwrap).fadeOut(),t.removeClass(document.body,"ov-hidden")},refresh:function(){var e=this;e.DOM.style.width=e.opt.size[e.id].width+"px",e.DOM.style.minHeight=e.opt.size[e.id].height+"px",e.DOM.style.marginLeft=-(e.opt.size[e.id].width/2)+"px",e.DOM.style.marginTop=-(e.opt.size[e.id].height/2)+"px"}},t.SEOhide={seoContent:{},seoHrefs:{},decode:function(e){for(var t=$("["+e+"]"),s=0,r=t.length;r>s;s++){var o=t.eq(s),a=o.attr("data-hash");switch(o.data("type")){case"href":o.attr("href",Base64.decode(this.seoHrefs[a]));break;case"content":o.replaceWith(Base64.decode(this.seoContent[a]))}}}},t.nl2br=function(e,t){var s=t||"undefined"==typeof t?"
":"
";return(e+"").replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g,"$1"+s+"$2")},t}(); \ No newline at end of file +var EXPO=EXPO||{};EXPO.common?console.warn("WARNING: EXPO.common is already defined!"):EXPO.common=function(){var e,t={},s=function(e,t){return(e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.oMatchesSelector).call(e,t)};t.opt={};var r=function(e){this.fields=[],this.allIsClear=!1,this.ajaxUrl=e.getAttribute("action"),this.DOM=e,this._initFields(),this._eventController()};return r.prototype={_eventController:function(){var e=this;this.DOM.addEventListener?this.DOM.addEventListener("submit",function(t){return e.validate(),t.preventDefault(),!1},!1):this.DOM.attachEvent&&this.DOM.attachEvent("onsubmit",function(t){return e.validate(),t.preventDefault(),!1})},_initFields:function(){},validate:function(){var t,s=this,r=$(s.DOM).serialize(),o={},a="err-message-box",i=s.DOM.querySelector("."+a),n=i.innerHTML,l=function(r){var a,l;if(t=r,s.unHighlightFields(),t.success)i&&EXPO.common.removeClass(i,"active"),$(s.DOM).attr("id")==EXPO.common.opt.registerFormId?(a=$("#"+EXPO.common.opt.successRegisterId),l=$.trim($("#id_email",s.DOM).val()),$("."+EXPO.common.opt.resendLetterClass,a).attr("data-email",l),$.fancybox.close(!0),$.fancybox("#"+EXPO.common.opt.successRegisterId)):window.location.reload();else{EXPO.common.removeClass(i,"active"),o={},s.fields=[];for(var c in t.errors)t.errors.hasOwnProperty(c)&&("__all__"!=c?(o={name:c,id:"id_"+c,errorText:t.errors[c]},s.fields.push(o)):i&&(EXPO.common.addClass(i,"active"),n.indexOf(t.errors[c])<0&&i.insertAdjacentHTML("beforeend",t.errors[c]+" ")));s.highliteFields()}e.hide()};s.unHighlightFields(),e.show(),EXPO.common.postRequest(r,s.ajaxUrl,l)},highliteFields:function(){for(var e,t,s=0;s").attr("class","error").append(s);r.parent().addClass("required err").prepend(o)}))};"post"==o?$.post(s,r,a):$.get(s,r,a)}),$("form.simple-validate-register").on("submit",function(e){e.preventDefault();var t=$(this),s=t.attr("action"),r=$(this).serialize(),o=t.attr("method"),a=$("#pw-reg-complete"),i=$(".resend-letter",a),n=$.trim($("#id_email",t).val()),l=function(e){e.success?($(".error",t).remove(),$(".required.err",t).removeClass("required err"),$("input:text",t).val(""),$(".pwf-line .msg-help",t).each(function(){var e=$(this),t=e.attr("data-default");""!=$.trim(t)&&e.html("").text(t)}),i.attr("data-email",n),$.fancybox.close(!0),$.fancybox("#pw-reg-complete")):($(".error",t).remove(),$(".required.err",t).removeClass("required err"),$(".pwf-line .msg-help",t).each(function(){var e=$(this),t=e.attr("data-default");""!=$.trim(t)&&e.html("").text(t)}),$.each(e.errors,function(e,s){var r=$("#id_"+e,t),o=$("
").attr("class","error").append(s),a=r.closest(".pwf-line").find(".msg-help");r.parent().addClass("required err"),a.attr("data-default",a.text()),a.text("").prepend(o)}))};"post"==o?$.post(s,r,l):$.get(s,r,l)})}),$(function(){$.fancybox.helpers.overlay.overlay=$('
').appendTo("body"),$.fn.customRadioCheck=function(){return $(this).each(function(){function e(){if("radio"==s){var e=t.attr("name"),r=$('input[type="radio"]').filter('[name="'+e+'"]');r.each(function(){var e=$(this).closest(".custom-radio");e.removeClass("checked"),$(this).is(":checked")&&e.addClass("checked")})}else t.prop("checked")?o.addClass("checked"):o.removeClass("checked");t.trigger("blur")}var t=$(this),s=t.attr("type"),r=t.closest("label"),o=t.wrap("").parent();r.addClass("custom-radio-check"),e(),t.on("change",e)})},$("input[type='checkbox'], input[type='radio']").customRadioCheck()}),function(e){e.fn.inlineStyle=function(t){var s,r=this.attr("style");return r&&r.split(";").forEach(function(r){var o=r.split(":");e.trim(o[0])===t&&(s=o[1])}),s}}(jQuery),t.init=function(t){$.extend(this.opt,t);{var s,r=this,o=this.opt.addCalendarClass,a=this.opt.removeCalendarClass,i=this.opt.addCalendarText,n=this.opt.removeCalendarText,l=r.opt.staticValidation.errorClass,c=r.opt.staticValidation.containerClass;r.opt.staticValidation.blobClass}$(function(){s=$("."+l),e=$("#wait-ajax:not(.absolute)").css({"z-index":"8031"}),$("body").on("click","."+o+", ."+a,function(e){i=r.opt.addCalendarText,n=r.opt.removeCalendarText,e.preventDefault();var t=$(this),s=t.attr("href");$.get(s,function(e){e.not_authorized?$.fancybox.open("#"+r.opt.loginModalId):e.success&&(e.in?t.removeClass(o).addClass(a).text(n):t.removeClass(a).addClass(o).text(i))})}),s.length&&s.find("input:text").on("keyup",function(){""!=$.trim($(this).val())?$(this).closest("."+l).removeClass(l):$(this).closest("."+c).addClass(l)});for(var t=0;t=0;)r=r.replace(" "+s+" "," ");e.className=r.replace(/^\s+|\s+$/g," ")}return e},t.closest=function(e,s){for(var r=function(s){return t.hasClass(e,s)};e;){if(r(s))return e;e=e.parentNode}},t.children=function(e,t){for(var r,o=[],r=0,a=e.childNodes.length;a>r;++r)s(e.childNodes[r],t)&&o.push(e.childNodes[r]);return o},t.postRequest=function(e,t,s){e||(e=""),$.ajax({type:"POST",url:t,data:e,success:function(e){return"function"!=typeof s?e:(console.log("data recieved:"),console.log(e),console.log(JSON.stringify(e)),s(e),void 0)}})},t.getRequest=function(e,t,s){e||(e=""),$.ajax({type:"GET",url:t,data:e,success:function(e){return"function"!=typeof s?e:(console.log("data recieved:"),console.log(e),console.log(JSON.stringify(e)),s(e),void 0)}})},t.Modal=function(e){var t=this;this.id,this.opt=e,this.DOMwrap=document.getElementById(e.id),this.DOM=this.DOMwrap.querySelector("."+e.wrapClass),$(".modal-close",this.DOM).on("click",function(){t.close()}),$(".modals > *").on("click",function(e){$(e.target.parentNode).find(t.DOMwrap).length&&t.close()})},t.Modal.prototype={pullData:function(e){this.id=e.substr(1),$(e).show().siblings().hide(),this.refresh()},open:function(){$(this.DOMwrap).fadeIn(),t.addClass(document.body,"ov-hidden")},close:function(){$(this.DOMwrap).fadeOut(),t.removeClass(document.body,"ov-hidden")},refresh:function(){var e=this;e.DOM.style.width=e.opt.size[e.id].width+"px",e.DOM.style.minHeight=e.opt.size[e.id].height+"px",e.DOM.style.marginLeft=-(e.opt.size[e.id].width/2)+"px",e.DOM.style.marginTop=-(e.opt.size[e.id].height/2)+"px"}},t.SEOhide={seoContent:{},seoHrefs:{},decode:function(e){for(var t=$("["+e+"]"),s=0,r=t.length;r>s;s++){var o=t.eq(s),a=o.attr("data-hash");switch(o.data("type")){case"href":o.attr("href",Base64.decode(this.seoHrefs[a]));break;case"content":o.replaceWith(Base64.decode(this.seoContent[a]))}}}},t.nl2br=function(e,t){var s=t||"undefined"==typeof t?"
":"
";return(e+"").replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g,"$1"+s+"$2")},t}(); \ No newline at end of file