2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
# File 'lib/auto_session_timeout_warning_helper.rb', line 2
def auto_session_timeout_js(options={})
frequency = options[:frequency] || 60
timeout = options[:timeout] || 60
start = options[:start] || 60
warning = options[:warning] || 20
code = "if(typeof(jQuery) != 'undefined'){\n$(\"#logout_dialog\").dialog({\n modal: true,\n bgiframe: true,\n width: 500,\n height: 180,\n autoOpen: false,\n dialogClass: \"no-close\"\n});\n\n$(\".logout_dialog\").click(function (e) {\n e.preventDefault();\n\n $(\"#logout_dialog\").dialog('option', 'buttons', {\n \"Continue\": function () {\n window.location.reload();\n }\n });\n\n $(\"#logout_dialog\").dialog(\"open\");\n\n});\n\nfunction PeriodicalQuery() {\n $.ajax({\n url: '/active',\n success: function(data) {\n if(new Date(data.timeout).getTime() < (new Date().getTime() + \#{warning} * 1000)){\n showDialog();\n }\n if(data.live == false){\n window.location.href = '/timeout';\n }\n }\n });\n setTimeout(PeriodicalQuery, (\#{frequency} * 1000));\n}\nsetTimeout(PeriodicalQuery, (\#{start} * 1000));\n\nfunction showDialog(){\n $('.logout_dialog').trigger('click');\n}\n}\n"
javascript_tag(code)
end
|