~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: 2010-02-25 09:34:17 UTC
  • Revision ID: matt.giuca@gmail.com-20100225093417-02z6stnx9biqpbol
Exercise display: Shows a warning if the worksheet cutoff has passed for this subject, that it will not count towards your marks.

Show diffs side-by-side

added added

removed removed

Lines of Context:
108
108
            }
109
109
        }
110
110
 
111
 
    $("#console_output").append(
112
 
        '<span class="console_message">IVLE console starting up...</span>\n');
113
 
    console_maximize(true);
114
111
    ajax_call(
115
112
        callback1, "console", "service",
116
113
        {"ivle.op": "start", "cwd": get_console_start_directory()}, 
117
114
        "POST");
118
115
}
119
116
 
120
 
/** Start up the console backend before the user has entered text.
121
 
 * This will disable the text input, start a backend, and enable the input
122
 
 * again.
123
 
 */
124
 
function start_server_early()
125
 
{
126
 
    var inputbox = document.getElementById("console_inputText");
127
 
    inputbox.setAttribute("disabled", "disabled");
128
 
    var callback = function(xhr)
129
 
    {
130
 
        inputbox.removeAttribute("disabled")
131
 
    }
132
 
    start_server(callback);
133
 
}
134
 
 
135
117
/** Initialises the console. All apps which import console are required to
136
118
 * call this function.
137
119
 * Optional "windowpane" (bool), if true, will cause the console to go into
165
147
 
166
148
/** Show the main console panel, so it enlarges out to its full size.
167
149
 */
168
 
function console_maximize(do_not_start)
 
150
function console_maximize()
169
151
{
170
152
    if (!windowpane_mode) return;
171
 
    if (!do_not_start && !server_started) start_server_early();
172
153
    console_body.setAttribute("class", "console_body windowpane maximal");
173
154
    console_filler.setAttribute("class", "windowpane maximal");
174
155
}
295
276
{
296
277
    interrupted = false;
297
278
 
298
 
    // Open up the console so we can see the output
299
 
    console_maximize();
300
 
 
301
279
    if (typeof(inputbox) == "string")
302
280
    {
303
281
        var inputline = inputbox + "\n";
324
302
        span.setAttribute("class", "inputMsg");
325
303
        span.appendChild(document.createTextNode(inputline));
326
304
        output.appendChild(span);
327
 
        divScroll.activeScroll();
328
305
    }
329
306
    var args = {
330
307
        "ivle.op": "chat", "kind": which, "key": server_key,
356
333
        {
357
334
            output.appendChild(document.createTextNode(res.okay + "\n"));
358
335
            output.appendChild(span);
359
 
            divScroll.activeScroll();
360
336
        }
361
337
        // set the prompt to >>>
362
338
        set_prompt(">>>");
379
355
 
380
356
        // Print a reason to explain why we'd do such a horrible thing
381
357
        // (console timeout, server error etc.)
382
 
        print_error(
383
 
            "IVLE console restarted: " + res.restart, "console_message");
 
358
        print_error("Console Restart: " + res.restart);
384
359
        
385
360
        // set the prompt to >>>
386
361
        set_prompt(">>>");
395
370
        if (res.output.length > 0)
396
371
        {
397
372
            output.appendChild(document.createTextNode(res.output));
398
 
            divScroll.activeScroll();
399
373
        }
400
374
        var callback = function(xhr)
401
375
            {
416
390
        ajax_call(callback, "console", "service", args, "POST");
417
391
 
418
392
        // Open up the console so we can see the output
 
393
        // FIXME: do we need to maximize here?
419
394
        console_maximize();
420
395
 
 
396
        /* Auto-scrolling */
 
397
        divScroll.activeScroll();
 
398
 
421
399
        // Return early, so we don't re-enable the input box.
422
400
        return;
423
401
    }
438
416
        interrupted = false;
439
417
    }
440
418
 
 
419
    /* Open up the console so we can see the output */
 
420
    console_maximize();
441
421
    /* Auto-scrolling */
442
422
    divScroll.activeScroll();
443
423
 
533
513
}
534
514
 
535
515
/** Prints an error line in the console **/
536
 
function print_error(error, class)
 
516
function print_error(error)
537
517
538
 
    if (!class)
539
 
        class = "errorMsg";
540
 
 
541
518
    var output = document.getElementById("console_output");
542
519
  
543
520
    // Create text block
544
521
    var span = document.createElement("span");
545
 
    span.setAttribute("class", class);
 
522
    span.setAttribute("class", "errorMsg");
546
523
    span.appendChild(document.createTextNode(error + "\n"));
547
524
    output.appendChild(span);
548
525