Fix another graph bug + some more work on control page
[matches/MCTX3420.git] / testing / MCTXWeb / public_html / static / mctx.control.js
1 /**
2  * Code for the controls page.
3  * @date 19-10-2013
4  */
5
6 mctx.control = {};
7 mctx.control.api = mctx.api + 'control'
8 mctx.control.states = {
9   start : 0,
10   pause : 1,
11   resume : 2,
12   stop : 3,
13   emergency : 4
14 };
15
16 $.fn.initialiseControls = function () {
17   var result = this;
18   
19   $.ajax({
20     url : mctx.control.api,
21     data : {'action' : 'identify'}
22   }).done(function (data) {
23     if (!result.checkStatus(data)) {
24       $(result).parent().addClass("fail");
25       return;
26     }
27     
28     var text;
29     var running = false;
30     var fail = false;
31     switch (data.control_state_id) {
32       case mctx.control.states.start:
33         text = "Experiment started - '" + data.control_experiment_name +
34                "' by " + data.control_user_name;
35         running = true;
36       break;
37       case mctx.control.states.pause:
38         text = "Experiment paused - '" + data.control_experiment_name +
39                "' by " + data.control_user_name;
40         running = true;
41       break;
42       case mctx.control.states.stop:
43         text = "No experiment running.";
44       break;
45       case mctx.control.states.emergency:
46         text = "Emergency mode - '" + data.control_experiment_name +
47                "' by " + data.control_user_name;
48         running = true;
49         fail = true;
50       default:
51         text = "Unknown mode: " + data.control_state_id;
52         fail = true;
53     }
54     
55     if (running) {
56       $("#experiment-stop").show();
57       $("#pressure-widget").show();
58     } else {
59       $("#start-widget").show();
60     }
61     
62     $(result).text(text);
63     if (fail) {
64       $(result).parent().addClass("fail");
65     } else {
66       $(result).parent().addClass("pass");
67     }
68   });
69 };

UCC git Repository :: git.ucc.asn.au