diff options
| author | Alexandru DAMIAN <alexandru.damian@intel.com> | 2014-01-16 13:07:02 +0000 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2014-01-27 21:01:04 +0000 |
| commit | d27c7f26d39b66c41c1b09d6b5875e957045355d (patch) | |
| tree | 011cbba4b7e1ff08581835bba3cf9250f238c38a | |
| parent | 15e52903fa2373b81345cf1e293e7b60ae122a91 (diff) | |
| download | poky-d27c7f26d39b66c41c1b09d6b5875e957045355d.tar.gz | |
bitbake: toaster: add jquery cookie plugin
We add the jquery cookie plugin to allow us to save
and read local client date in cookie.
jquery-cookie using version 1.4.0 under MIT licence.
(Bitbake rev: 8ce1668dd93269add878f8ea69deb8b53f3bca8b)
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
| -rw-r--r-- | bitbake/lib/toaster/toastergui/static/js/jquery.cookie.js | 117 | ||||
| -rw-r--r-- | bitbake/lib/toaster/toastergui/templates/base.html | 2 |
2 files changed, 119 insertions, 0 deletions
diff --git a/bitbake/lib/toaster/toastergui/static/js/jquery.cookie.js b/bitbake/lib/toaster/toastergui/static/js/jquery.cookie.js new file mode 100644 index 0000000000..9271900087 --- /dev/null +++ b/bitbake/lib/toaster/toastergui/static/js/jquery.cookie.js | |||
| @@ -0,0 +1,117 @@ | |||
| 1 | /*! | ||
| 2 | * jQuery Cookie Plugin v1.4.0 | ||
| 3 | * https://github.com/carhartl/jquery-cookie | ||
| 4 | * | ||
| 5 | * Copyright 2013 Klaus Hartl | ||
| 6 | * Released under the MIT license | ||
| 7 | */ | ||
| 8 | (function (factory) { | ||
| 9 | if (typeof define === 'function' && define.amd) { | ||
| 10 | // AMD. Register as anonymous module. | ||
| 11 | define(['jquery'], factory); | ||
| 12 | } else { | ||
| 13 | // Browser globals. | ||
| 14 | factory(jQuery); | ||
| 15 | } | ||
| 16 | }(function ($) { | ||
| 17 | |||
| 18 | var pluses = /\+/g; | ||
| 19 | |||
| 20 | function encode(s) { | ||
| 21 | return config.raw ? s : encodeURIComponent(s); | ||
| 22 | } | ||
| 23 | |||
| 24 | function decode(s) { | ||
| 25 | return config.raw ? s : decodeURIComponent(s); | ||
| 26 | } | ||
| 27 | |||
| 28 | function stringifyCookieValue(value) { | ||
| 29 | return encode(config.json ? JSON.stringify(value) : String(value)); | ||
| 30 | } | ||
| 31 | |||
| 32 | function parseCookieValue(s) { | ||
| 33 | if (s.indexOf('"') === 0) { | ||
| 34 | // This is a quoted cookie as according to RFC2068, unescape... | ||
| 35 | s = s.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\'); | ||
| 36 | } | ||
| 37 | |||
| 38 | try { | ||
| 39 | // Replace server-side written pluses with spaces. | ||
| 40 | // If we can't decode the cookie, ignore it, it's unusable. | ||
| 41 | s = decodeURIComponent(s.replace(pluses, ' ')); | ||
| 42 | } catch(e) { | ||
| 43 | return; | ||
| 44 | } | ||
| 45 | |||
| 46 | try { | ||
| 47 | // If we can't parse the cookie, ignore it, it's unusable. | ||
| 48 | return config.json ? JSON.parse(s) : s; | ||
| 49 | } catch(e) {} | ||
| 50 | } | ||
| 51 | |||
| 52 | function read(s, converter) { | ||
| 53 | var value = config.raw ? s : parseCookieValue(s); | ||
| 54 | return $.isFunction(converter) ? converter(value) : value; | ||
| 55 | } | ||
| 56 | |||
| 57 | var config = $.cookie = function (key, value, options) { | ||
| 58 | |||
| 59 | // Write | ||
| 60 | if (value !== undefined && !$.isFunction(value)) { | ||
| 61 | options = $.extend({}, config.defaults, options); | ||
| 62 | |||
| 63 | if (typeof options.expires === 'number') { | ||
| 64 | var days = options.expires, t = options.expires = new Date(); | ||
| 65 | t.setDate(t.getDate() + days); | ||
| 66 | } | ||
| 67 | |||
| 68 | return (document.cookie = [ | ||
| 69 | encode(key), '=', stringifyCookieValue(value), | ||
| 70 | options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE | ||
| 71 | options.path ? '; path=' + options.path : '', | ||
| 72 | options.domain ? '; domain=' + options.domain : '', | ||
| 73 | options.secure ? '; secure' : '' | ||
| 74 | ].join('')); | ||
| 75 | } | ||
| 76 | |||
| 77 | // Read | ||
| 78 | |||
| 79 | var result = key ? undefined : {}; | ||
| 80 | |||
| 81 | // To prevent the for loop in the first place assign an empty array | ||
| 82 | // in case there are no cookies at all. Also prevents odd result when | ||
| 83 | // calling $.cookie(). | ||
| 84 | var cookies = document.cookie ? document.cookie.split('; ') : []; | ||
| 85 | |||
| 86 | for (var i = 0, l = cookies.length; i < l; i++) { | ||
| 87 | var parts = cookies[i].split('='); | ||
| 88 | var name = decode(parts.shift()); | ||
| 89 | var cookie = parts.join('='); | ||
| 90 | |||
| 91 | if (key && key === name) { | ||
| 92 | // If second argument (value) is a function it's a converter... | ||
| 93 | result = read(cookie, value); | ||
| 94 | break; | ||
| 95 | } | ||
| 96 | |||
| 97 | // Prevent storing a cookie that we couldn't decode. | ||
| 98 | if (!key && (cookie = read(cookie)) !== undefined) { | ||
| 99 | result[name] = cookie; | ||
| 100 | } | ||
| 101 | } | ||
| 102 | |||
| 103 | return result; | ||
| 104 | }; | ||
| 105 | |||
| 106 | config.defaults = {}; | ||
| 107 | |||
| 108 | $.removeCookie = function (key, options) { | ||
| 109 | if ($.cookie(key) !== undefined) { | ||
| 110 | // Must not alter options, thus extending a fresh object... | ||
| 111 | $.cookie(key, '', $.extend({}, options, { expires: -1 })); | ||
| 112 | return true; | ||
| 113 | } | ||
| 114 | return false; | ||
| 115 | }; | ||
| 116 | |||
| 117 | })); | ||
diff --git a/bitbake/lib/toaster/toastergui/templates/base.html b/bitbake/lib/toaster/toastergui/templates/base.html index 3508962e67..492a0f561a 100644 --- a/bitbake/lib/toaster/toastergui/templates/base.html +++ b/bitbake/lib/toaster/toastergui/templates/base.html | |||
| @@ -11,6 +11,8 @@ | |||
| 11 | <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | 11 | <meta name="viewport" content="width=device-width, initial-scale=1.0" /> |
| 12 | <script src="{% static 'js/jquery-2.0.3.min.js' %}"> | 12 | <script src="{% static 'js/jquery-2.0.3.min.js' %}"> |
| 13 | </script> | 13 | </script> |
| 14 | <script src="{% static 'js/jquery.cookie.js' %}"> | ||
| 15 | </script> | ||
| 14 | <script src="{% static 'js/bootstrap.min.js' %}"> | 16 | <script src="{% static 'js/bootstrap.min.js' %}"> |
| 15 | </script> | 17 | </script> |
| 16 | <script src="{% static 'js/prettify.js' %}"> | 18 | <script src="{% static 'js/prettify.js' %}"> |
