Overhauled radio webgui: use websockets and fgcommands
[fg:toms-fgdata.git] / Docs / gui / fgcommand.js
1 /**
2  * 
3  */
4 var fgCommand = {
5   twoArgs : function(t1, p1, t2, p2) {
6     return {
7       name : '',
8       children : [ {
9         name : t1,
10         index : 0,
11         value : p1
12       }, {
13         name : t2,
14         index : (t1 == t2 ? 1 : 0),
15         value : p2
16       } ]
17     };
18   },
19
20   twoPropsArgs : function(p1, p2) {
21     return this.twoArgs("property", p1, "property", p2);
22   },
23
24   propValueArgs : function(p, v) {
25     return this.twoArgs("property", p, "value", v);
26   },
27
28   sendCommand : function(name, args) {
29     if (typeof (args) == 'undefined ')
30       $.post("/run.cgi?value=" + name);
31     else
32       $.post("/run.cgi?value=" + name, JSON.stringify(args));
33
34   },
35
36   propertySwap : function(p1, p2) {
37     this.sendCommand("property-swap", this.twoPropsArgs(p1, p2));
38   },
39
40   propertyAssign : function(p1, value) {
41     this.sendCommand("property-assign", this.propValueArgs(p1, value));
42   },
43
44   pause : function() {
45     $.post("/run.cgi?value=pause");
46   }
47 };
48