/usr/lib/python2.7/dist-packages/notebook/static/tree/js/sessionlist.js is in python-notebook 5.2.2-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 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 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 | // Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
define([
'jquery',
'base/js/utils',
'bidi/bidi',
], function($, utils, bidi) {
"use strict";
var isRTL = bidi.isMirroringEnabled();
var SesssionList = function (options) {
/**
* Constructor
*
* Parameters:
* options: dictionary
* Dictionary of keyword arguments.
* events: $(Events) instance
* base_url : string
*/
this.events = options.events;
this.sessions = {};
this.base_url = options.base_url || utils.get_body_data("baseUrl");
// Add collapse arrows.
$('#running .panel-group .panel .panel-heading a').each(function(index, el) {
var $link = $(el);
var $icon = $('<i />')
.addClass('fa fa-caret-down');
$link.append($icon);
$link.down = true;
$link.click(function () {
if ($link.down) {
$link.down = false;
// jQeury doesn't know how to animate rotations. Abuse
// jQueries animate function by using an unused css attribute
// to do the animation (borderSpacing).
$icon.animate({ borderSpacing: 90 }, {
step: function(now,fx) {
isRTL ? $icon.css('transform','rotate(' + now + 'deg)') : $icon.css('transform','rotate(-' + now + 'deg)');
}
}, 250);
} else {
$link.down = true;
// See comment above.
$icon.animate({ borderSpacing: 0 }, {
step: function(now,fx) {
isRTL ? $icon.css('transform','rotate(' + now + 'deg)') : $icon.css('transform','rotate(-' + now + 'deg)');
}
}, 250);
}
});
});
};
SesssionList.prototype.load_sessions = function(){
var that = this;
var settings = {
processData : false,
cache : false,
type : "GET",
dataType : "json",
success : $.proxy(that.sessions_loaded, this),
error : utils.log_ajax_error,
};
var url = utils.url_path_join(this.base_url, 'api/sessions');
utils.ajax(url, settings);
};
SesssionList.prototype.sessions_loaded = function(data){
this.sessions = {};
var len = data.length;
var nb_path;
for (var i=0; i<len; i++) {
// The classic notebook only knows about sessions for notebooks,
// but the server now knows about more general sessions for
// things like consoles.
if (data[i].type === 'notebook') {
nb_path = data[i].notebook.path;
this.sessions[nb_path] = {
id: data[i].id,
kernel: {
name: data[i].kernel.name
}
};
}
}
this.events.trigger('sessions_loaded.Dashboard', this.sessions);
};
return {'SesssionList': SesssionList};
});
|