summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2016-11-11 15:19:21 -0800
committerIvan Kohler <ivan@freeside.biz>2016-11-11 15:19:21 -0800
commit4a9bed3848f790e9113e14ee3cc16fcd54a151f2 (patch)
tree8e3379183fb17613be4b0ad7e012f6c4fb370b00
parenta078c5a126b4a4cac8aa259dd04e51f302787a18 (diff)
oops, this is needed for the status messages
-rw-r--r--httemplate/docs/credits.html2
-rw-r--r--httemplate/docs/license.html4
-rw-r--r--httemplate/elements/js.cookie.js156
3 files changed, 162 insertions, 0 deletions
diff --git a/httemplate/docs/credits.html b/httemplate/docs/credits.html
index 596c627..8bae26d 100644
--- a/httemplate/docs/credits.html
+++ b/httemplate/docs/credits.html
@@ -87,6 +87,7 @@ Gary Jones<BR>
Fernando M. Kiernan<BR>
Frederico Caldeira Knabben<BR>
Greg Kuhnert<BR>
+Steven Levithan<BR>
Randall Lucas<BR>
Foteos Macrides<BR>
Roger Mangraviti<BR>
@@ -95,6 +96,7 @@ Mack Nagashima<BR>
David Peters<BR>
Matt Peterson<BR>
Luke Pfeifer<BR>
+Alan Phipps<BR>
Ricardo Signes<BR>
Steve Simitzis<BR>
Stanislav Sinyagin<BR>
diff --git a/httemplate/docs/license.html b/httemplate/docs/license.html
index e5e3eab..c2d912a 100644
--- a/httemplate/docs/license.html
+++ b/httemplate/docs/license.html
@@ -134,6 +134,10 @@ under the terms of the MIT license.
Contains the XRegExp library by Steven Levithan, licensed under the terms
of the MIT license.
+<P>
+Contains js-cookie by Klaus Hartl, Fagner Brack and contributors, licensed
+under the terms of the MIT license.
+
<!-- artwork -->
<P>
diff --git a/httemplate/elements/js.cookie.js b/httemplate/elements/js.cookie.js
new file mode 100644
index 0000000..12fa0ee
--- /dev/null
+++ b/httemplate/elements/js.cookie.js
@@ -0,0 +1,156 @@
+/*!
+ * JavaScript Cookie v2.1.3
+ * https://github.com/js-cookie/js-cookie
+ *
+ * Copyright 2006, 2015 Klaus Hartl & Fagner Brack
+ * Released under the MIT license
+ */
+;(function (factory) {
+ var registeredInModuleLoader = false;
+ if (typeof define === 'function' && define.amd) {
+ define(factory);
+ registeredInModuleLoader = true;
+ }
+ if (typeof exports === 'object') {
+ module.exports = factory();
+ registeredInModuleLoader = true;
+ }
+ if (!registeredInModuleLoader) {
+ var OldCookies = window.Cookies;
+ var api = window.Cookies = factory();
+ api.noConflict = function () {
+ window.Cookies = OldCookies;
+ return api;
+ };
+ }
+}(function () {
+ function extend () {
+ var i = 0;
+ var result = {};
+ for (; i < arguments.length; i++) {
+ var attributes = arguments[ i ];
+ for (var key in attributes) {
+ result[key] = attributes[key];
+ }
+ }
+ return result;
+ }
+
+ function init (converter) {
+ function api (key, value, attributes) {
+ var result;
+ if (typeof document === 'undefined') {
+ return;
+ }
+
+ // Write
+
+ if (arguments.length > 1) {
+ attributes = extend({
+ path: '/'
+ }, api.defaults, attributes);
+
+ if (typeof attributes.expires === 'number') {
+ var expires = new Date();
+ expires.setMilliseconds(expires.getMilliseconds() + attributes.expires * 864e+5);
+ attributes.expires = expires;
+ }
+
+ try {
+ result = JSON.stringify(value);
+ if (/^[\{\[]/.test(result)) {
+ value = result;
+ }
+ } catch (e) {}
+
+ if (!converter.write) {
+ value = encodeURIComponent(String(value))
+ .replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);
+ } else {
+ value = converter.write(value, key);
+ }
+
+ key = encodeURIComponent(String(key));
+ key = key.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent);
+ key = key.replace(/[\(\)]/g, escape);
+
+ return (document.cookie = [
+ key, '=', value,
+ attributes.expires ? '; expires=' + attributes.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
+ attributes.path ? '; path=' + attributes.path : '',
+ attributes.domain ? '; domain=' + attributes.domain : '',
+ attributes.secure ? '; secure' : ''
+ ].join(''));
+ }
+
+ // Read
+
+ if (!key) {
+ result = {};
+ }
+
+ // To prevent the for loop in the first place assign an empty array
+ // in case there are no cookies at all. Also prevents odd result when
+ // calling "get()"
+ var cookies = document.cookie ? document.cookie.split('; ') : [];
+ var rdecode = /(%[0-9A-Z]{2})+/g;
+ var i = 0;
+
+ for (; i < cookies.length; i++) {
+ var parts = cookies[i].split('=');
+ var cookie = parts.slice(1).join('=');
+
+ if (cookie.charAt(0) === '"') {
+ cookie = cookie.slice(1, -1);
+ }
+
+ try {
+ var name = parts[0].replace(rdecode, decodeURIComponent);
+ cookie = converter.read ?
+ converter.read(cookie, name) : converter(cookie, name) ||
+ cookie.replace(rdecode, decodeURIComponent);
+
+ if (this.json) {
+ try {
+ cookie = JSON.parse(cookie);
+ } catch (e) {}
+ }
+
+ if (key === name) {
+ result = cookie;
+ break;
+ }
+
+ if (!key) {
+ result[name] = cookie;
+ }
+ } catch (e) {}
+ }
+
+ return result;
+ }
+
+ api.set = api;
+ api.get = function (key) {
+ return api.call(api, key);
+ };
+ api.getJSON = function () {
+ return api.apply({
+ json: true
+ }, [].slice.call(arguments));
+ };
+ api.defaults = {};
+
+ api.remove = function (key, attributes) {
+ api(key, '', extend(attributes, {
+ expires: -1
+ }));
+ };
+
+ api.withConverter = init;
+
+ return api;
+ }
+
+ return init(function () {});
+}));