~azzar1/unity/add-show-desktop-key

« back to all changes in this revision

Viewing changes to ivle/webapp/console/media/console.js

  • Committer: Matt Giuca
  • Date: 2009-12-01 04:27:58 UTC
  • mfrom: (1164.2.46 sphinx-docs)
  • Revision ID: matt.giuca@gmail.com-20091201042758-wuxd9bdec00c283i
Merged sphinx-docs branch. This adds Sphinx documentation for the entire IVLE system (for system administrators and developers), and removes all of our random old document files (all either irrelevant, or moved into the Sphinx docs nicely). Currently incomplete, but ready to merge.

Show diffs side-by-side

added added

removed removed

Lines of Context:
36
36
 
37
37
interrupted = false;
38
38
 
39
 
 
40
 
function get_console_start_directory()
41
 
{
42
 
    if((typeof(current_path) != 'undefined') && current_file)
43
 
    {
44
 
        // We have a current_path - give a suggestion to the server
45
 
        var path;
46
 
        if (current_file.isdir)
47
 
        {
48
 
            // Browser
49
 
            return path_join("/home", current_path);
50
 
        }
51
 
        else
52
 
        {
53
 
            // Editor - need to chop off filename
54
 
            var tmp_path = current_path.split('/');
55
 
            tmp_path.pop();
56
 
            return path_join("/home", tmp_path.join('/'));
57
 
        }
58
 
    }
59
 
    else
60
 
    {
61
 
        // No current_path - let the server decide
62
 
        return '';
63
 
    }
64
 
}
65
 
 
66
39
/* Starts the console server, if it isn't already.
67
40
 * This can be called any number of times - it only starts the one server.
68
41
 * Note that this is asynchronous. It will return after signalling to start
91
64
                callback();
92
65
        }
93
66
 
94
 
    ajax_call(
95
 
        callback1, "console", "service",
96
 
        {"ivle.op": "start", "cwd": get_console_start_directory()}, 
97
 
        "POST");
 
67
    //var current_path;
 
68
    if((typeof(current_path) != 'undefined') && current_file)
 
69
    {
 
70
        // We have a current_path - give a suggestion to the server
 
71
        var path;
 
72
        if (current_file.isdir)
 
73
        {
 
74
            // Browser
 
75
            path = path_join("/home", current_path);
 
76
        }
 
77
        else
 
78
        {
 
79
            // Editor - need to chop off filename
 
80
            var tmp_path = current_path.split('/');
 
81
            tmp_path.pop();
 
82
            path = path_join("/home", tmp_path.join('/'));
 
83
        }
 
84
        ajax_call(callback1, "console", "service", {"ivle.op": "start", "cwd": path}, "POST");
 
85
    }
 
86
    else
 
87
    {
 
88
        // No current_path - let the server decide
 
89
        ajax_call(callback1, "console", "service", {"ivle.op": "start"}, "POST");
 
90
    }
98
91
}
99
92
 
100
93
/** Initialises the console. All apps which import console are required to
286
279
        span.appendChild(document.createTextNode(inputline));
287
280
        output.appendChild(span);
288
281
    }
289
 
    var args = {
290
 
        "ivle.op": "chat", "kind": which, "key": server_key,
291
 
        "text": inputline, "cwd": get_console_start_directory()
292
 
        };
 
282
    var args = {"ivle.op": "chat", "kind": which, "key": server_key, "text":inputline};
293
283
    var callback = function(xhr)
294
284
        {
295
285
            console_response(inputbox, inputline, xhr.responseText);
366
356
        {
367
357
            var kind = "chat";
368
358
        }
369
 
        var args = {
370
 
            "ivle.op": "chat", "kind": kind, "key": server_key,
371
 
            "text": '', "cwd": get_console_start_directory()
372
 
            };
 
359
        var args = {"ivle.op": "chat", "kind": kind, "key": server_key, "text":''};
373
360
        ajax_call(callback, "console", "service", args, "POST");
374
361
 
375
362
        // Open up the console so we can see the output
447
434
            hist.submit(inp.value);
448
435
            inp.value = hist.curr();
449
436
        }
450
 
 
451
 
        /* Disable the text box. This will be redone by
452
 
         * console_enter_line, but we do it here too in case start_server
453
 
         * takes a while.
454
 
         */
455
 
        inp.setAttribute("disabled", "disabled");
456
437
        /* Start the server if it hasn't already been started */
457
438
        start_server(callback);
458
439
        break;
486
467
    }
487
468
    else
488
469
    {
489
 
        xhr = ajax_call(null, "console", "service", {"ivle.op": "chat", "kind": "terminate", "key": server_key, "cwd": get_console_start_directory()}, "POST");
 
470
        xhr = ajax_call(null, "console", "service", {"ivle.op": "chat", "kind": "terminate", "key": server_key}, "POST");
490
471
        console_response(null, null, xhr.responseText);
491
472
    }
492
473
}