Show More
@@ -0,0 +1,59 | |||
|
1 | //---------------------------------------------------------------------------- | |
|
2 | // Copyright (C) 2014 The IPython Development Team | |
|
3 | // | |
|
4 | // Distributed under the terms of the BSD License. The full license is in | |
|
5 | // the file COPYING, distributed as part of this software. | |
|
6 | //---------------------------------------------------------------------------- | |
|
7 | ||
|
8 | //============================================================================ | |
|
9 | // Running Kernels List | |
|
10 | //============================================================================ | |
|
11 | ||
|
12 | var IPython = (function (IPython) { | |
|
13 | "use strict"; | |
|
14 | ||
|
15 | var utils = IPython.utils; | |
|
16 | ||
|
17 | var SesssionList = function (options) { | |
|
18 | this.sessions = {}; | |
|
19 | this.base_url = options.base_url || utils.get_body_data("baseUrl"); | |
|
20 | }; | |
|
21 | ||
|
22 | SesssionList.prototype.load_sessions = function(){ | |
|
23 | var that = this; | |
|
24 | var settings = { | |
|
25 | processData : false, | |
|
26 | cache : false, | |
|
27 | type : "GET", | |
|
28 | dataType : "json", | |
|
29 | success : $.proxy(that.sessions_loaded, this) | |
|
30 | }; | |
|
31 | var url = utils.url_join_encode(this.base_url, 'api/sessions'); | |
|
32 | $.ajax(url,settings); | |
|
33 | }; | |
|
34 | ||
|
35 | SesssionList.prototype.sessions_loaded = function(data){ | |
|
36 | this.sessions = {}; | |
|
37 | var len = data.length; | |
|
38 | if (len > 0) { | |
|
39 | for (var i=0; i<len; i++) { | |
|
40 | var nb_path; | |
|
41 | if (!data[i].notebook.path) { | |
|
42 | nb_path = data[i].notebook.name; | |
|
43 | } | |
|
44 | else { | |
|
45 | nb_path = utils.url_path_join( | |
|
46 | data[i].notebook.path, | |
|
47 | data[i].notebook.name | |
|
48 | ); | |
|
49 | } | |
|
50 | this.sessions[nb_path] = data[i].id; | |
|
51 | } | |
|
52 | } | |
|
53 | $([IPython.events]).trigger('sessions_loaded.Dashboard', this.sessions); | |
|
54 | }; | |
|
55 | IPython.SesssionList = SesssionList; | |
|
56 | ||
|
57 | return IPython; | |
|
58 | ||
|
59 | }(IPython)); |
@@ -21,22 +21,20 var IPython = (function (IPython) { | |||
|
21 | 21 | KernelList.prototype = Object.create(IPython.NotebookList.prototype); |
|
22 | 22 | |
|
23 | 23 | KernelList.prototype.sessions_loaded = function (d) { |
|
24 | this.sessions = d; | |
|
24 | 25 | // clear out the previous list |
|
25 | 26 | this.clear_list(); |
|
26 | var len = d.length; | |
|
27 | 27 | var item; |
|
28 |
for (var |
|
|
29 | var path= utils.url_path_join(d[i].notebook.path, d[i].notebook.name); | |
|
30 | item = this.new_notebook_item(i); | |
|
28 | for (var path in d) { | |
|
29 | item = this.new_notebook_item(-1); | |
|
31 | 30 | this.add_link('', path, item); |
|
32 | this.sessions[path] = d[i].id; | |
|
33 | 31 | this.add_shutdown_button(item,this.sessions[path]); |
|
34 | 32 | } |
|
35 | 33 | |
|
36 | if (len > 0) { | |
|
37 | $('#' + this.element_name + '_list_header').hide(); | |
|
38 | } else { | |
|
34 | if ($.isEmptyObject(d)) { | |
|
39 | 35 | $('#' + this.element_name + '_list_header').show(); |
|
36 | } else { | |
|
37 | $('#' + this.element_name + '_list_header').hide(); | |
|
40 | 38 | } |
|
41 | 39 | } |
|
42 | 40 |
@@ -22,6 +22,7 $(document).ready(function () { | |||
|
22 | 22 | base_url : IPython.utils.get_body_data("baseUrl"), |
|
23 | 23 | notebook_path : IPython.utils.get_body_data("notebookPath"), |
|
24 | 24 | }; |
|
25 | IPython.session_list = new IPython.SesssionList(opts); | |
|
25 | 26 | IPython.notebook_list = new IPython.NotebookList('#notebook_list', opts); |
|
26 | 27 | IPython.cluster_list = new IPython.ClusterList('#cluster_list', opts); |
|
27 | 28 | IPython.kernel_list = new IPython.KernelList('#running_list', opts); |
@@ -36,16 +37,14 $(document).ready(function () { | |||
|
36 | 37 | //refresh immediately , then start interval |
|
37 | 38 | if($('.upload_button').length == 0) |
|
38 | 39 | { |
|
39 |
IPython. |
|
|
40 | IPython.kernel_list.load_sessions(); | |
|
40 | IPython.session_list.load_sessions(); | |
|
41 | 41 | IPython.cluster_list.load_list(); |
|
42 | 42 | } |
|
43 | 43 | if (!interval_id){ |
|
44 | 44 | interval_id = setInterval(function(){ |
|
45 | 45 | if($('.upload_button').length == 0) |
|
46 | 46 | { |
|
47 |
IPython. |
|
|
48 | IPython.kernel_list.load_sessions(); | |
|
47 | IPython.session_list.load_sessions(); | |
|
49 | 48 | IPython.cluster_list.load_list(); |
|
50 | 49 | } |
|
51 | 50 | }, time_refresh*1000); |
@@ -15,6 +15,7 var IPython = (function (IPython) { | |||
|
15 | 15 | var utils = IPython.utils; |
|
16 | 16 | |
|
17 | 17 | var NotebookList = function (selector, options, element_name) { |
|
18 | var that = this | |
|
18 | 19 | // allow code re-use by just changing element_name in kernellist.js |
|
19 | 20 | this.element_name = element_name || 'notebook'; |
|
20 | 21 | this.selector = selector; |
@@ -27,6 +28,8 var IPython = (function (IPython) { | |||
|
27 | 28 | this.sessions = {}; |
|
28 | 29 | this.base_url = options.base_url || utils.get_body_data("baseUrl"); |
|
29 | 30 | this.notebook_path = options.notebook_path || utils.get_body_data("notebookPath"); |
|
31 | $([IPython.events]).on('sessions_loaded.Dashboard', | |
|
32 | function(e, d) { that.sessions_loaded(d); }); | |
|
30 | 33 | }; |
|
31 | 34 | |
|
32 | 35 | NotebookList.prototype.style = function () { |
@@ -100,37 +103,12 var IPython = (function (IPython) { | |||
|
100 | 103 | }; |
|
101 | 104 | |
|
102 | 105 | NotebookList.prototype.load_sessions = function(){ |
|
103 | var that = this; | |
|
104 | var settings = { | |
|
105 | processData : false, | |
|
106 | cache : false, | |
|
107 | type : "GET", | |
|
108 | dataType : "json", | |
|
109 | success : $.proxy(that.sessions_loaded, this) | |
|
110 | }; | |
|
111 | var url = utils.url_join_encode(this.base_url, 'api/sessions'); | |
|
112 | $.ajax(url,settings); | |
|
106 | IPython.session_list.load_sessions(); | |
|
113 | 107 | }; |
|
114 | 108 | |
|
115 | 109 | |
|
116 | 110 | NotebookList.prototype.sessions_loaded = function(data){ |
|
117 |
this.sessions = |
|
|
118 | var len = data.length; | |
|
119 | if (len > 0) { | |
|
120 | for (var i=0; i<len; i++) { | |
|
121 | var nb_path; | |
|
122 | if (!data[i].notebook.path) { | |
|
123 | nb_path = data[i].notebook.name; | |
|
124 | } | |
|
125 | else { | |
|
126 | nb_path = utils.url_path_join( | |
|
127 | data[i].notebook.path, | |
|
128 | data[i].notebook.name | |
|
129 | ); | |
|
130 | } | |
|
131 | this.sessions[nb_path] = data[i].id; | |
|
132 | } | |
|
133 | } | |
|
111 | this.sessions = data; | |
|
134 | 112 | this.load_list(); |
|
135 | 113 | }; |
|
136 | 114 |
@@ -115,6 +115,7 data-base-kernel-url="{{base_kernel_url}}" | |||
|
115 | 115 | {{super()}} |
|
116 | 116 | <script src="{{ static_url("base/js/utils.js") }}" type="text/javascript" charset="utf-8"></script> |
|
117 | 117 | <script src="{{static_url("base/js/dialog.js") }}" type="text/javascript" charset="utf-8"></script> |
|
118 | <script src="{{static_url("tree/js/sessionlist.js") }}" type="text/javascript" charset="utf-8"></script> | |
|
118 | 119 | <script src="{{static_url("tree/js/notebooklist.js") }}" type="text/javascript" charset="utf-8"></script> |
|
119 | 120 | <script src="{{static_url("tree/js/kernellist.js") }}" type="text/javascript" charset="utf-8"></script> |
|
120 | 121 | <script src="{{static_url("tree/js/clusterlist.js") }}" type="text/javascript" charset="utf-8"></script> |
General Comments 0
You need to be logged in to leave comments.
Login now