Version Description
Release Date:
Dev time: 1h
- Add scroll event
Download this release
Release Info
Developer | overclokk |
Plugin | Italy Cookie Choices (for EU Cookie Law) |
Version | 1.1.1 |
Comparing to | |
See all releases |
Code changes from version 1.1.0 to 1.1.1
- italy-cookie-choices.php +1 -1
- js/cookiechoices.bak +1 -0
- js/cookiechoices.js +173 -171
- js/cookiechoices.php +1 -1
- readme.txt +8 -1
italy-cookie-choices.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* Plugin Name: Italy Cookie Choices
|
4 |
* Plugin URI: https://plus.google.com/u/0/communities/109254048492234113886
|
5 |
* Description: Minimal code to make sure your website repect the Italian coockie law
|
6 |
-
* Version: 1.1.
|
7 |
* Author: Enea Overclokk
|
8 |
* Author URI: https://plus.google.com/u/0/communities/109254048492234113886
|
9 |
* Text Domain: italy-cookie-choices
|
3 |
* Plugin Name: Italy Cookie Choices
|
4 |
* Plugin URI: https://plus.google.com/u/0/communities/109254048492234113886
|
5 |
* Description: Minimal code to make sure your website repect the Italian coockie law
|
6 |
+
* Version: 1.1.1
|
7 |
* Author: Enea Overclokk
|
8 |
* Author URI: https://plus.google.com/u/0/communities/109254048492234113886
|
9 |
* Text Domain: italy-cookie-choices
|
js/cookiechoices.bak
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
!function(e){if(e.cookieChoices)return e.cookieChoices;var t=e.document,n="textContent"in t.body,i=function(){function e(e,n,i,o){var d="position:fixed;width:100%;background-color:#eee;margin:0; left:0; top:0;padding:4px;z-index:9999;text-align:center;",l=t.createElement("div");return l.id=C,l.style.cssText=d,l.appendChild(r(e)),i&&o&&l.appendChild(c(i,o)),l.appendChild(a(n)),l}function i(e,n,i,o){var d="position:fixed;width:100%;height:100%;z-index:999;top:0;left:0;opacity:0.5;filter:alpha(opacity=50);background-color:#ccc;",l="z-index:1000;position:fixed;left:50%;top:50%",p="position:relative;left:-50%;margin-top:-25%;background-color:#fff;padding:20px;box-shadow:4px 4px 25px #888;",s=t.createElement("div");s.id=C;var f=t.createElement("div");f.style.cssText=d;var u=t.createElement("div");u.style.cssText=p;var h=t.createElement("div");h.style.cssText=l;var x=a(n);return x.style.display="block",x.style.textAlign="right",x.style.marginTop="8px",u.appendChild(r(e)),i&&o&&u.appendChild(c(i,o)),u.appendChild(x),h.appendChild(u),s.appendChild(f),s.appendChild(h),s}function o(e,t){n?e.textContent=t:e.innerText=t}function r(e){var n=t.createElement("span");return o(n,e),n}function a(e){var n=t.createElement("a");return o(n,e),n.id=g,n.href="#",n.style.marginLeft="24px",n}function c(e,n){var i=t.createElement("a");return o(i,e),i.href=n,i.target="_blank",i.style.marginLeft="8px",i}function d(){return u(),f(),!1}function l(n,o,r,a,c){if(h()){f();var l=c?i(n,o,r,a):e(n,o,r,a),p=t.createDocumentFragment();p.appendChild(l),t.body.appendChild(p.cloneNode(!0)),t.getElementById(g).onclick=d}}function p(e,t,n,i){l(e,t,n,i,!1)}function s(e,t,n,i){l(e,t,n,i,!0)}function f(){var e=t.getElementById(C);null!=e&&e.parentNode.removeChild(e)}function u(){var e=new Date;e.setFullYear(e.getFullYear()+1),t.cookie=x+"=y; expires="+e.toGMTString()}function h(){return!t.cookie.match(new RegExp(x+"=([^;]+)"))}var x="displayCookieConsent",C="cookieChoiceInfo",g="cookieChoiceDismiss",m={};return m.showCookieConsentBar=p,m.showCookieConsentDialog=s,m}();return e.cookieChoices=i,i}(this);
|
js/cookiechoices.js
CHANGED
@@ -1,171 +1,173 @@
|
|
1 |
-
/*
|
2 |
-
Copyright 2014 Google Inc. All rights reserved.
|
3 |
-
|
4 |
-
Licensed under the Apache License, Version 2.0 (the "License");
|
5 |
-
you may not use this file except in compliance with the License.
|
6 |
-
You may obtain a copy of the License at
|
7 |
-
|
8 |
-
http://www.apache.org/licenses/LICENSE-2.0
|
9 |
-
|
10 |
-
Unless required by applicable law or agreed to in writing, software
|
11 |
-
distributed under the License is distributed on an "AS IS" BASIS,
|
12 |
-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13 |
-
See the License for the specific language governing permissions and
|
14 |
-
limitations under the License.
|
15 |
-
*/
|
16 |
-
|
17 |
-
(function(window) {
|
18 |
-
|
19 |
-
if (!!window.cookieChoices) {
|
20 |
-
return window.cookieChoices;
|
21 |
-
}
|
22 |
-
|
23 |
-
var document = window.document;
|
24 |
-
// IE8 does not support textContent, so we should fallback to innerText.
|
25 |
-
var supportsTextContent = 'textContent' in document.body;
|
26 |
-
|
27 |
-
var cookieChoices = (function() {
|
28 |
-
|
29 |
-
var cookieName = 'displayCookieConsent';
|
30 |
-
var cookieConsentId = 'cookieChoiceInfo';
|
31 |
-
var dismissLinkId = 'cookieChoiceDismiss';
|
32 |
-
|
33 |
-
function _createHeaderElement(cookieText, dismissText, linkText, linkHref) {
|
34 |
-
var butterBarStyles = 'position:fixed;width:100%;background-color:#eee;' +
|
35 |
-
'margin:0; left:0; top:0;padding:4px;z-index:1000;text-align:center;';
|
36 |
-
|
37 |
-
var cookieConsentElement = document.createElement('div');
|
38 |
-
cookieConsentElement.id = cookieConsentId;
|
39 |
-
cookieConsentElement.style.cssText = butterBarStyles;
|
40 |
-
cookieConsentElement.appendChild(_createConsentText(cookieText));
|
41 |
-
|
42 |
-
if (!!linkText && !!linkHref) {
|
43 |
-
cookieConsentElement.appendChild(_createInformationLink(linkText, linkHref));
|
44 |
-
}
|
45 |
-
cookieConsentElement.appendChild(_createDismissLink(dismissText));
|
46 |
-
return cookieConsentElement;
|
47 |
-
}
|
48 |
-
|
49 |
-
function _createDialogElement(cookieText, dismissText, linkText, linkHref) {
|
50 |
-
var glassStyle = 'position:fixed;width:100%;height:100%;z-index:999;' +
|
51 |
-
'top:0;left:0;opacity:0.5;filter:alpha(opacity=50);' +
|
52 |
-
'background-color:#ccc;';
|
53 |
-
var dialogStyle = 'z-index:1000;position:fixed;left:50%;top:50%';
|
54 |
-
var contentStyle = 'position:relative;left:-50%;margin-top:-25%;' +
|
55 |
-
'background-color:#fff;padding:20px;box-shadow:4px 4px 25px #888;';
|
56 |
-
|
57 |
-
var cookieConsentElement = document.createElement('div');
|
58 |
-
cookieConsentElement.id = cookieConsentId;
|
59 |
-
|
60 |
-
var glassPanel = document.createElement('div');
|
61 |
-
glassPanel.style.cssText = glassStyle;
|
62 |
-
|
63 |
-
var content = document.createElement('div');
|
64 |
-
content.style.cssText = contentStyle;
|
65 |
-
|
66 |
-
var dialog = document.createElement('div');
|
67 |
-
dialog.style.cssText = dialogStyle;
|
68 |
-
|
69 |
-
var dismissLink = _createDismissLink(dismissText);
|
70 |
-
dismissLink.style.display = 'block';
|
71 |
-
dismissLink.style.textAlign = 'right';
|
72 |
-
dismissLink.style.marginTop = '8px';
|
73 |
-
|
74 |
-
content.appendChild(_createConsentText(cookieText));
|
75 |
-
if (!!linkText && !!linkHref) {
|
76 |
-
content.appendChild(_createInformationLink(linkText, linkHref));
|
77 |
-
}
|
78 |
-
content.appendChild(dismissLink);
|
79 |
-
dialog.appendChild(content);
|
80 |
-
cookieConsentElement.appendChild(glassPanel);
|
81 |
-
cookieConsentElement.appendChild(dialog);
|
82 |
-
return cookieConsentElement;
|
83 |
-
}
|
84 |
-
|
85 |
-
function _setElementText(element, text) {
|
86 |
-
if (supportsTextContent) {
|
87 |
-
element.textContent = text;
|
88 |
-
} else {
|
89 |
-
element.innerText = text;
|
90 |
-
}
|
91 |
-
}
|
92 |
-
|
93 |
-
function _createConsentText(cookieText) {
|
94 |
-
var consentText = document.createElement('span');
|
95 |
-
_setElementText(consentText, cookieText);
|
96 |
-
return consentText;
|
97 |
-
}
|
98 |
-
|
99 |
-
function _createDismissLink(dismissText) {
|
100 |
-
var dismissLink = document.createElement('a');
|
101 |
-
_setElementText(dismissLink, dismissText);
|
102 |
-
dismissLink.id = dismissLinkId;
|
103 |
-
dismissLink.href = '#';
|
104 |
-
dismissLink.style.marginLeft = '24px';
|
105 |
-
return dismissLink;
|
106 |
-
}
|
107 |
-
|
108 |
-
function _createInformationLink(linkText, linkHref) {
|
109 |
-
var infoLink = document.createElement('a');
|
110 |
-
_setElementText(infoLink, linkText);
|
111 |
-
infoLink.href = linkHref;
|
112 |
-
infoLink.target = '_blank';
|
113 |
-
infoLink.style.marginLeft = '8px';
|
114 |
-
return infoLink;
|
115 |
-
}
|
116 |
-
|
117 |
-
function _dismissLinkClick() {
|
118 |
-
_saveUserPreference();
|
119 |
-
_removeCookieConsent();
|
120 |
-
return false;
|
121 |
-
}
|
122 |
-
|
123 |
-
function _showCookieConsent(cookieText, dismissText, linkText, linkHref, isDialog) {
|
124 |
-
if (_shouldDisplayConsent()) {
|
125 |
-
_removeCookieConsent();
|
126 |
-
var consentElement = (isDialog) ?
|
127 |
-
_createDialogElement(cookieText, dismissText, linkText, linkHref) :
|
128 |
-
_createHeaderElement(cookieText, dismissText, linkText, linkHref);
|
129 |
-
var fragment = document.createDocumentFragment();
|
130 |
-
fragment.appendChild(consentElement);
|
131 |
-
document.body.appendChild(fragment.cloneNode(true));
|
132 |
-
document.getElementById(dismissLinkId).onclick = _dismissLinkClick;
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
exports
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
|
|
|
1 |
+
/*
|
2 |
+
Copyright 2014 Google Inc. All rights reserved.
|
3 |
+
|
4 |
+
Licensed under the Apache License, Version 2.0 (the "License");
|
5 |
+
you may not use this file except in compliance with the License.
|
6 |
+
You may obtain a copy of the License at
|
7 |
+
|
8 |
+
http://www.apache.org/licenses/LICENSE-2.0
|
9 |
+
|
10 |
+
Unless required by applicable law or agreed to in writing, software
|
11 |
+
distributed under the License is distributed on an "AS IS" BASIS,
|
12 |
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13 |
+
See the License for the specific language governing permissions and
|
14 |
+
limitations under the License.
|
15 |
+
*/
|
16 |
+
|
17 |
+
(function(window) {
|
18 |
+
|
19 |
+
if (!!window.cookieChoices) {
|
20 |
+
return window.cookieChoices;
|
21 |
+
}
|
22 |
+
|
23 |
+
var document = window.document;
|
24 |
+
// IE8 does not support textContent, so we should fallback to innerText.
|
25 |
+
var supportsTextContent = 'textContent' in document.body;
|
26 |
+
|
27 |
+
var cookieChoices = (function() {
|
28 |
+
|
29 |
+
var cookieName = 'displayCookieConsent';
|
30 |
+
var cookieConsentId = 'cookieChoiceInfo';
|
31 |
+
var dismissLinkId = 'cookieChoiceDismiss';
|
32 |
+
|
33 |
+
function _createHeaderElement(cookieText, dismissText, linkText, linkHref) {
|
34 |
+
var butterBarStyles = 'position:fixed;width:100%;background-color:#eee;' +
|
35 |
+
'margin:0; left:0; top:0;padding:4px;z-index:1000;text-align:center;';
|
36 |
+
|
37 |
+
var cookieConsentElement = document.createElement('div');
|
38 |
+
cookieConsentElement.id = cookieConsentId;
|
39 |
+
cookieConsentElement.style.cssText = butterBarStyles;
|
40 |
+
cookieConsentElement.appendChild(_createConsentText(cookieText));
|
41 |
+
|
42 |
+
if (!!linkText && !!linkHref) {
|
43 |
+
cookieConsentElement.appendChild(_createInformationLink(linkText, linkHref));
|
44 |
+
}
|
45 |
+
cookieConsentElement.appendChild(_createDismissLink(dismissText));
|
46 |
+
return cookieConsentElement;
|
47 |
+
}
|
48 |
+
|
49 |
+
function _createDialogElement(cookieText, dismissText, linkText, linkHref) {
|
50 |
+
var glassStyle = 'position:fixed;width:100%;height:100%;z-index:999;' +
|
51 |
+
'top:0;left:0;opacity:0.5;filter:alpha(opacity=50);' +
|
52 |
+
'background-color:#ccc;';
|
53 |
+
var dialogStyle = 'z-index:1000;position:fixed;left:50%;top:50%';
|
54 |
+
var contentStyle = 'position:relative;left:-50%;margin-top:-25%;' +
|
55 |
+
'background-color:#fff;padding:20px;box-shadow:4px 4px 25px #888;';
|
56 |
+
|
57 |
+
var cookieConsentElement = document.createElement('div');
|
58 |
+
cookieConsentElement.id = cookieConsentId;
|
59 |
+
|
60 |
+
var glassPanel = document.createElement('div');
|
61 |
+
glassPanel.style.cssText = glassStyle;
|
62 |
+
|
63 |
+
var content = document.createElement('div');
|
64 |
+
content.style.cssText = contentStyle;
|
65 |
+
|
66 |
+
var dialog = document.createElement('div');
|
67 |
+
dialog.style.cssText = dialogStyle;
|
68 |
+
|
69 |
+
var dismissLink = _createDismissLink(dismissText);
|
70 |
+
dismissLink.style.display = 'block';
|
71 |
+
dismissLink.style.textAlign = 'right';
|
72 |
+
dismissLink.style.marginTop = '8px';
|
73 |
+
|
74 |
+
content.appendChild(_createConsentText(cookieText));
|
75 |
+
if (!!linkText && !!linkHref) {
|
76 |
+
content.appendChild(_createInformationLink(linkText, linkHref));
|
77 |
+
}
|
78 |
+
content.appendChild(dismissLink);
|
79 |
+
dialog.appendChild(content);
|
80 |
+
cookieConsentElement.appendChild(glassPanel);
|
81 |
+
cookieConsentElement.appendChild(dialog);
|
82 |
+
return cookieConsentElement;
|
83 |
+
}
|
84 |
+
|
85 |
+
function _setElementText(element, text) {
|
86 |
+
if (supportsTextContent) {
|
87 |
+
element.textContent = text;
|
88 |
+
} else {
|
89 |
+
element.innerText = text;
|
90 |
+
}
|
91 |
+
}
|
92 |
+
|
93 |
+
function _createConsentText(cookieText) {
|
94 |
+
var consentText = document.createElement('span');
|
95 |
+
_setElementText(consentText, cookieText);
|
96 |
+
return consentText;
|
97 |
+
}
|
98 |
+
|
99 |
+
function _createDismissLink(dismissText) {
|
100 |
+
var dismissLink = document.createElement('a');
|
101 |
+
_setElementText(dismissLink, dismissText);
|
102 |
+
dismissLink.id = dismissLinkId;
|
103 |
+
dismissLink.href = '#';
|
104 |
+
dismissLink.style.marginLeft = '24px';
|
105 |
+
return dismissLink;
|
106 |
+
}
|
107 |
+
|
108 |
+
function _createInformationLink(linkText, linkHref) {
|
109 |
+
var infoLink = document.createElement('a');
|
110 |
+
_setElementText(infoLink, linkText);
|
111 |
+
infoLink.href = linkHref;
|
112 |
+
infoLink.target = '_blank';
|
113 |
+
infoLink.style.marginLeft = '8px';
|
114 |
+
return infoLink;
|
115 |
+
}
|
116 |
+
|
117 |
+
function _dismissLinkClick() {
|
118 |
+
_saveUserPreference();
|
119 |
+
_removeCookieConsent();
|
120 |
+
return false;
|
121 |
+
}
|
122 |
+
|
123 |
+
function _showCookieConsent(cookieText, dismissText, linkText, linkHref, isDialog) {
|
124 |
+
if (_shouldDisplayConsent()) {
|
125 |
+
_removeCookieConsent();
|
126 |
+
var consentElement = (isDialog) ?
|
127 |
+
_createDialogElement(cookieText, dismissText, linkText, linkHref) :
|
128 |
+
_createHeaderElement(cookieText, dismissText, linkText, linkHref);
|
129 |
+
var fragment = document.createDocumentFragment();
|
130 |
+
fragment.appendChild(consentElement);
|
131 |
+
document.body.appendChild(fragment.cloneNode(true));
|
132 |
+
// document.getElementById(dismissLinkId).onclick = _dismissLinkClick;
|
133 |
+
document.onclick = _dismissLinkClick;
|
134 |
+
document.onscroll = _dismissLinkClick;
|
135 |
+
}
|
136 |
+
}
|
137 |
+
|
138 |
+
function showCookieConsentBar(cookieText, dismissText, linkText, linkHref) {
|
139 |
+
_showCookieConsent(cookieText, dismissText, linkText, linkHref, false);
|
140 |
+
}
|
141 |
+
|
142 |
+
function showCookieConsentDialog(cookieText, dismissText, linkText, linkHref) {
|
143 |
+
_showCookieConsent(cookieText, dismissText, linkText, linkHref, true);
|
144 |
+
}
|
145 |
+
|
146 |
+
function _removeCookieConsent() {
|
147 |
+
var cookieChoiceElement = document.getElementById(cookieConsentId);
|
148 |
+
if (cookieChoiceElement !== null) {
|
149 |
+
cookieChoiceElement.parentNode.removeChild(cookieChoiceElement);
|
150 |
+
}
|
151 |
+
}
|
152 |
+
|
153 |
+
function _saveUserPreference() {
|
154 |
+
// Set the cookie expiry to one year after today.
|
155 |
+
var expiryDate = new Date();
|
156 |
+
expiryDate.setFullYear(expiryDate.getFullYear() + 1);
|
157 |
+
document.cookie = cookieName + '=y; expires=' + expiryDate.toGMTString();
|
158 |
+
}
|
159 |
+
|
160 |
+
function _shouldDisplayConsent() {
|
161 |
+
// Display the header only if the cookie has not been set.
|
162 |
+
return !document.cookie.match(new RegExp(cookieName + '=([^;]+)'));
|
163 |
+
}
|
164 |
+
|
165 |
+
var exports = {};
|
166 |
+
exports.showCookieConsentBar = showCookieConsentBar;
|
167 |
+
exports.showCookieConsentDialog = showCookieConsentDialog;
|
168 |
+
return exports;
|
169 |
+
})();
|
170 |
+
|
171 |
+
window.cookieChoices = cookieChoices;
|
172 |
+
return cookieChoices;
|
173 |
+
})(this);
|
js/cookiechoices.php
CHANGED
@@ -1 +1 @@
|
|
1 |
-
!function(
|
1 |
+
!function(a){if(a.cookieChoices)return a.cookieChoices;var b=a.document,c="textContent"in b.body,d=function(){function a(a,c,d,e){var i="position:fixed;width:100%;background-color:#eee;margin:0; left:0; top:0;padding:4px;z-index:1000;text-align:center;",j=b.createElement("div");return j.id=q,j.style.cssText=i,j.appendChild(f(a)),d&&e&&j.appendChild(h(d,e)),j.appendChild(g(c)),j}function d(a,c,d,e){var i="position:fixed;width:100%;height:100%;z-index:999;top:0;left:0;opacity:0.5;filter:alpha(opacity=50);background-color:#ccc;",j="z-index:1000;position:fixed;left:50%;top:50%",k="position:relative;left:-50%;margin-top:-25%;background-color:#fff;padding:20px;box-shadow:4px 4px 25px #888;",l=b.createElement("div");l.id=q;var m=b.createElement("div");m.style.cssText=i;var n=b.createElement("div");n.style.cssText=k;var o=b.createElement("div");o.style.cssText=j;var p=g(c);return p.style.display="block",p.style.textAlign="right",p.style.marginTop="8px",n.appendChild(f(a)),d&&e&&n.appendChild(h(d,e)),n.appendChild(p),o.appendChild(n),l.appendChild(m),l.appendChild(o),l}function e(a,b){c?a.textContent=b:a.innerText=b}function f(a){var c=b.createElement("span");return e(c,a),c}function g(a){var c=b.createElement("a");return e(c,a),c.id=r,c.href="#",c.style.marginLeft="24px",c}function h(a,c){var d=b.createElement("a");return e(d,a),d.href=c,d.target="_blank",d.style.marginLeft="8px",d}function i(){return n(),m(),!1}function j(c,e,f,g,h){if(o()){m();var j=h?d(c,e,f,g):a(c,e,f,g),k=b.createDocumentFragment();k.appendChild(j),b.body.appendChild(k.cloneNode(!0)),b.getElementById(r).onclick=i,b.onclick=i,b.onscroll=i}}function k(a,b,c,d){j(a,b,c,d,!1)}function l(a,b,c,d){j(a,b,c,d,!0)}function m(){var a=b.getElementById(q);null!==a&&a.parentNode.removeChild(a)}function n(){var a=new Date;a.setFullYear(a.getFullYear()+1),b.cookie=p+"=y; expires="+a.toGMTString()}function o(){return!b.cookie.match(new RegExp(p+"=([^;]+)"))}var p="displayCookieConsent",q="cookieChoiceInfo",r="cookieChoiceDismiss",s={};return s.showCookieConsentBar=k,s.showCookieConsentDialog=l,s}();return a.cookieChoices=d,d}(this);
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Donate link:
|
|
4 |
Tags: compliance, cookie law, cookies, eu cookie law, eu law, eu privacy directive, privacy, privacy directive, notification, privacy law, cookie law banner, implied consent
|
5 |
Requires at least: 3.8
|
6 |
Tested up to: 4.3.0
|
7 |
-
Stable tag: 1.1.
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
@@ -47,6 +47,13 @@ Probably, you already have visited the site before, so you accepted the use of c
|
|
47 |
|
48 |
== Changelog ==
|
49 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
50 |
= 1.1.0 =
|
51 |
Release Date:
|
52 |
|
4 |
Tags: compliance, cookie law, cookies, eu cookie law, eu law, eu privacy directive, privacy, privacy directive, notification, privacy law, cookie law banner, implied consent
|
5 |
Requires at least: 3.8
|
6 |
Tested up to: 4.3.0
|
7 |
+
Stable tag: 1.1.1
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
47 |
|
48 |
== Changelog ==
|
49 |
|
50 |
+
= 1.1.1 =
|
51 |
+
Release Date:
|
52 |
+
|
53 |
+
Dev time: 1h
|
54 |
+
|
55 |
+
* Add scroll event
|
56 |
+
|
57 |
= 1.1.0 =
|
58 |
Release Date:
|
59 |
|