Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
converse.js
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
converse.js
Commits
6e2a72ca
Commit
6e2a72ca
authored
Mar 15, 2012
by
Michal Čihař
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Cookie based persistence for context tabs
parent
78a36796
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
93 additions
and
0 deletions
+93
-0
html/base.html
html/base.html
+1
-0
media/js/jquery.cookie.js
media/js/jquery.cookie.js
+89
-0
media/js/loader.js
media/js/loader.js
+3
-0
No files found.
html/base.html
View file @
6e2a72ca
...
...
@@ -19,6 +19,7 @@
<script
src=
"/media/js/jquery-ui-1.8.18.custom.min.js"
type=
"text/javascript"
></script>
<script
src=
"/media/js/jquery.autogrow-textarea.js"
type=
"text/javascript"
></script>
<script
src=
"/media/js/jquery.sortElements.js"
type=
"text/javascript"
></script>
<script
src=
"/media/js/jquery.cookie.js"
type=
"text/javascript"
></script>
<script
src=
"/media/js/loader.js"
type=
"text/javascript"
></script>
<script
src=
"{% url 'django.views.i18n.javascript_catalog' %}"
type=
"text/javascript"
></script>
{% if target_language %}
...
...
media/js/jquery.cookie.js
0 → 100644
View file @
6e2a72ca
/*jslint browser: true */
/*global jQuery: true */
/**
* jQuery Cookie plugin
*
* Copyright (c) 2010 Klaus Hartl (stilbuero.de)
* Dual licensed under the MIT and GPL licenses:
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html
*
*/
// TODO JsDoc
/**
* Create a cookie with the given key and value and other optional parameters.
*
* @example $.cookie('the_cookie', 'the_value');
* @desc Set the value of a cookie.
* @example $.cookie('the_cookie', 'the_value', { expires: 7, path: '/', domain: 'jquery.com', secure: true });
* @desc Create a cookie with all available options.
* @example $.cookie('the_cookie', 'the_value');
* @desc Create a session cookie.
* @example $.cookie('the_cookie', null);
* @desc Delete a cookie by passing null as value. Keep in mind that you have to use the same path and domain
* used when the cookie was set.
*
* @param String key The key of the cookie.
* @param String value The value of the cookie.
* @param Object options An object literal containing key/value pairs to provide optional cookie attributes.
* @option Number|Date expires Either an integer specifying the expiration date from now on in days or a Date object.
* If a negative value is specified (e.g. a date in the past), the cookie will be deleted.
* If set to null or omitted, the cookie will be a session cookie and will not be retained
* when the the browser exits.
* @option String path The value of the path atribute of the cookie (default: path of page that created the cookie).
* @option String domain The value of the domain attribute of the cookie (default: domain of page that created the cookie).
* @option Boolean secure If true, the secure attribute of the cookie will be set and the cookie transmission will
* require a secure protocol (like HTTPS).
* @type undefined
*
* @name $.cookie
* @cat Plugins/Cookie
* @author Klaus Hartl/klaus.hartl@stilbuero.de
*/
/**
* Get the value of a cookie with the given key.
*
* @example $.cookie('the_cookie');
* @desc Get the value of a cookie.
*
* @param String key The key of the cookie.
* @return The value of the cookie.
* @type String
*
* @name $.cookie
* @cat Plugins/Cookie
* @author Klaus Hartl/klaus.hartl@stilbuero.de
*/
jQuery
.
cookie
=
function
(
key
,
value
,
options
)
{
// key and value given, set cookie...
if
(
arguments
.
length
>
1
&&
(
value
===
null
||
typeof
value
!==
"
object
"
))
{
options
=
jQuery
.
extend
({},
options
);
if
(
value
===
null
)
{
options
.
expires
=
-
1
;
}
if
(
typeof
options
.
expires
===
'
number
'
)
{
var
days
=
options
.
expires
,
t
=
options
.
expires
=
new
Date
();
t
.
setDate
(
t
.
getDate
()
+
days
);
}
return
(
document
.
cookie
=
[
encodeURIComponent
(
key
),
'
=
'
,
options
.
raw
?
String
(
value
)
:
encodeURIComponent
(
String
(
value
)),
options
.
expires
?
'
; expires=
'
+
options
.
expires
.
toUTCString
()
:
''
,
// use expires attribute, max-age is not supported by IE
options
.
path
?
'
; path=
'
+
options
.
path
:
''
,
options
.
domain
?
'
; domain=
'
+
options
.
domain
:
''
,
options
.
secure
?
'
; secure
'
:
''
].
join
(
''
));
}
// key and possibly options given, get cookie...
options
=
value
||
{};
var
result
,
decode
=
options
.
raw
?
function
(
s
)
{
return
s
;
}
:
decodeURIComponent
;
return
(
result
=
new
RegExp
(
'
(?:^|; )
'
+
encodeURIComponent
(
key
)
+
'
=([^;]*)
'
).
exec
(
document
.
cookie
))
?
decode
(
result
[
1
])
:
null
;
};
media/js/loader.js
View file @
6e2a72ca
...
...
@@ -172,6 +172,9 @@ $(function() {
error
:
function
(
xhr
,
status
,
index
,
anchor
)
{
$
(
anchor
.
hash
).
html
(
gettext
(
"
AJAX request to load this content has failed!
"
));
}
},
cookie
:
{
expires
:
31
}
});
$
(
'
tr.clickable
'
).
click
(
function
()
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment