Project

General

Profile

Download (1.92 KB) Statistics
| Branch: | Revision:
1
define([
2
], function(){
3

    
4
    function getLog(scroll) {
5
        //Look up the node we'll stick the text under.
6
        var targetNode = dojo.byId("logContainer");
7
        if (!dijit.byId("activityPane") || !dijit.byId("activityPane").open) {
8
            return;
9
        }
10
        dojo.byId("activityPane_pane").style.padding = "0";
11
        var xhrArgs = {
12
            url: "/stabile/nodes?action=listlog",
13
            handleAs: "text",
14
            preventCache: "true",
15
            load: function(data) {
16
                //Replace newlines with nice HTML tags.
17
                data = data.replace(/\n/g, "<br>");
18
                //Replace tabs with spacess.
19
                data = data.replace(/\t/g, "&nbsp;&nbsp;&nbsp;");
20
                var s = targetNode.style.height;
21
                var l = s.indexOf("px");
22
                var n = targetNode.scrollHeight - parseInt(s.substring(0,l), 10) - 4;
23
                var atbottom = (targetNode.scrollTop >= n);
24
                targetNode.innerHTML = data;
25
                if (atbottom || scroll) {
26
                    console.log("scrolling log");
27
                    targetNode.scrollTop = targetNode.scrollHeight;
28
                }
29
            },
30
            error: function(error) {
31
                targetNode.innerHTML = "--";
32
            }
33
        };
34
        var deferred = dojo.xhrGet(xhrArgs);
35
    };
36

    
37
    function clearLog() {
38
        var targetNode = dojo.byId("logContainer");
39
        var xhrArgs = {
40
            url: "/stabile/nodes?action=clearlog",
41
            handleAs: "text",
42
            preventCache: "true",
43
            load: function(data) {
44
                targetNode.innerHTML = "--";
45
            },
46
            error: function(error) {
47
                targetNode.innerHTML = "An unexpected error occurred: " + error;
48
            }
49
        };
50
        targetNode.innerHTML = "--";
51
        var deferred = dojo.xhrGet(xhrArgs);
52
    };
53

    
54
    window.getLog = getLog;
55
    window.clearLog = clearLog;
56

    
57
});
58

    
(11-11/23)