UNPKG

kovarp-jquery-cookiebar

Version:

Simple jQuery plugin for add information bar about cookies using.

8 lines 5.86 kB
/*! * Cookie Bar component (https://github.com/kovarp/jquery.cookieBar) * Version 1.2.6 * * Copyright 2020 Pavel Kovář - Frontend developer [www.pavelkovar.cz] * @license: MIT (https://github.com/kovarp/jquery.cookieBar/blob/master/LICENSE) */ if("undefined"==typeof jQuery)throw new Error("Cookie Bar component requires jQuery");!function(t){var a,r,c=[];c.en={message:"We use cookies to provide our services. By using this website, you agree to this.",acceptText:"OK",infoText:"More information",privacyText:"Privacy protection"},c.de={message:"Zur Bereitstellung von Diensten verwenden wir Cookies. Durch die Nutzung dieser Website stimmen Sie zu.",acceptText:"OK",infoText:"Mehr Informationen",privacyText:"Datenschutz"},c.cs={message:"K poskytování služeb využíváme soubory cookie. Používáním tohoto webu s&nbsp;tím souhlasíte.",acceptText:"V pořádku",infoText:"Více informací",privacyText:"Ochrana soukromí"},c.sk={message:"Na poskytovanie služieb využívame súbory cookie. Používaním tohto webu s&nbsp;tým súhlasíte.",acceptText:"V poriadku",infoText:"Viac informácií",privacyText:"Ochrana súkromia"},c.ru={message:"Данный сайт использует для предоставления услуг, персонализации объявлений и анализа трафика печенье. Используя этот сайт, вы соглашаетесь.",acceptText:"Я согласен",infoText:"Больше информации",privacyText:"Конфиденциальность"},c.ua={message:"Ми використовуємо файли cookies для надання послуг. Використовуючи наш сайт, ви погоджуєтесь на це.",acceptText:"Гаразд",infoText:"Більше інформації",privacyText:"Захист конфіденційності"},c.pl={message:"Używamy plików cookie w celu świadczenia naszych usług. Korzystając z tej strony, zgadzasz się na to.",acceptText:"Dobrze",infoText:"Więcej informacji",privacyText:"Ochrona prywatności"},c.es={message:"Este sitio web utiliza cookies para mejorar su experiencia. Si continúas navegando, consideraremos que aceptas su uso.",acceptText:"Aceptar",infoText:"Más información",privacyText:"Protección de datos"};var n={init:function(e){a="#cookie-bar";var o={infoLink:"https://www.google.com/policies/technologies/cookies/",infoTarget:"_blank",wrapper:"body",expireDays:365,style:"top",language:t("html").attr("lang")||"en",privacy:!1,privacyTarget:"_blank",privacyContent:null};r=t.extend(o,e),c[r.language]||(r.language="en"),"accepted"!==n.getCookie("cookies-state")&&n.displayBar(),t(document).on("click",a+" .cookie-bar__btn",function(e){e.preventDefault(),n.setCookie("cookies-state","accepted",r.expireDays),n.hideBar()}),t(document).on("click",'[data-toggle="cookieBarPrivacyPopup"]',function(e){e.preventDefault(),n.showPopup()}),t(document).on("click",".cookie-bar-privacy-popup, .cookie-bar-privacy-popup__dialog__close",function(e){n.hidePopup()}),t(document).on("click",".cookie-bar-privacy-popup__dialog",function(e){e.stopPropagation()})},displayBar:function(){t.trim(t(r.wrapper).html())||t(r.wrapper).empty();var e='<button type="button" class="cookie-bar__btn">'+c[r.language].acceptText+"</button>",o='<a href="'+r.infoLink+'" target="'+r.infoTarget+'" class="cookie-bar__link cookie-bar__link--cookies-info">'+c[r.language].infoText+"</a>",a="";r.privacy&&("link"===r.privacy?a='<a href="'+r.privacyContent+'" target="'+r.privacyTarget+'" class="cookie-bar__link cookie-bar__link--privacy-info">'+c[r.language].privacyText+"</a>":"bs_modal"===r.privacy?a='<a href="'+r.privacyContent+'" data-toggle="modal" class="cookie-bar__link cookie-bar__link--privacy-info">'+c[r.language].privacyText+"</a>":"popup"===r.privacy&&(n.renderPopup(),a='<a href="#" data-toggle="cookieBarPrivacyPopup" class="cookie-bar__link cookie-bar__link--privacy-info">'+c[r.language].privacyText+"</a>"));var i='<div id="cookie-bar" class="cookie-bar cookie-bar--'+r.style+'"><div class="cookie-bar__inner"><span class="cookie-bar__message">'+c[r.language].message+'</span><span class="cookie-bar__buttons">'+e+o+a+"</span></div></div>";"top"===r.style?t(r.wrapper).prepend(i):t(r.wrapper).append(i),t("body").addClass("has-cookie-bar"),"bottom"===r.style&&t(r.wrapper).css("padding-bottom",t("#cookie-bar").outerHeight())},hideBar:function(){t(a).slideUp(),t("body").removeClass("has-cookie-bar"),"bottom"===r.style&&t(r.wrapper).css("padding-bottom")},renderPopup:function(){var e=t('<div id="cookieBarPrivacyPopup" class="cookie-bar-privacy-popup cookie-bar-privacy-popup--hidden"><div class="cookie-bar-privacy-popup__dialog"><button type="button" class="cookie-bar-privacy-popup__dialog__close"></button></div></div>');t("body").append(e),t(".cookie-bar-privacy-popup__dialog",e).append(r.privacyContent)},showPopup:function(){t("#cookieBarPrivacyPopup").removeClass("cookie-bar-privacy-popup--hidden")},hidePopup:function(){t("#cookieBarPrivacyPopup").addClass("cookie-bar-privacy-popup--hidden")},addTranslation:function(e,o){c[e]=o},switchTranslation:function(e){e===r.language||r.privacy||(c[e]?r.language=e:r.language="en","accepted"!==n.getCookie("cookies-state")&&n.displayBar())},setCookie:function(e,o,a){var i=new Date;i.setTime(i.getTime()+24*a*60*60*1e3);var t="expires="+i.toUTCString();document.cookie=e+"="+o+";"+t+";path=/"},getCookie:function(e){for(var o=e+"=",a=document.cookie.split(";"),i=0;i<a.length;i++){for(var t=a[i];" "===t.charAt(0);)t=t.substring(1);if(0===t.indexOf(o))return t.substring(o.length,t.length)}return""}};t.cookieBar=function(e){return n[e]?n[e].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof e&&e?void t.error("Method "+e+" does not exist on Cookie Bar component"):n.init.apply(this,arguments)}}(jQuery);