lib/riemann/dash/public/toolbar.js in riemann-dash-0.2.5 vs lib/riemann/dash/public/toolbar.js in riemann-dash-0.2.6
- old
+ new
@@ -5,11 +5,16 @@
toolbar.append(form);
var pager = $('<div class="pager">');
var load = $('<div class="load"><div class="bar load1" /><div class="bar load5" /><span title="1- and 5-second subscription manager load averages">Load</span></div>');
var server = $('<input class="server" type="text" name="text">');
+ var server_type = $('<div class="server"><label><input type="radio" id="ws" name="server_type" value="ws" checked>websockets</label><input type="radio" id="sse" name="server_type" value="sse">sse</label></div>');
+ var server_type_selector = $("input[name=server_type]");
+ var server_type_sse_selector = $("input#ws");
+ var server_type_ws_selector = $("input#sse");
form.append(pager);
+ form.append(server_type);
form.append(server);
form.append(load);
form.submit(function(e) {
return false;
});
@@ -26,23 +31,43 @@
// Server ///////////////////////////////////////////////////////////////////
// Callbacks
var onServerChangeCallbacks = [];
+ var onServerTypeChangeCallbacks = [];
// React to server being set.
var onServerChange = function(callback) {
onServerChangeCallbacks.push(callback);
}
+ var onServerTypeChange = function(callback) {
+ onServerTypeChangeCallbacks.push(callback);
+ }
+
// When server is set, call callbacks.
server.change(function() {
onServerChangeCallbacks.forEach(function(f) {
f(server.val());
});
server.blur();
});
+
+ // When server_type is set, call callbacks.
+ $('input#ws').change(function(e) {
+ onServerTypeChangeCallbacks.forEach(function(f) {
+ f($("input[name=server_type]:checked").val());
+ });
+ server.blur();
+ });
+
+ $('input#sse').change(function(e) {
+ onServerTypeChangeCallbacks.forEach(function(f) {
+ f($("input[name=server_type]:checked").val());
+ });
+ server.blur();
+ });
// Suppress keybindings
server.focus(keys.disable);
server.blur(keys.enable);
@@ -203,10 +228,25 @@
} else {
server.val(s);
return s;
}
},
+ server_type: function(s) {
+ if (s === undefined) {
+ return $("input[name=server_type]:checked").val();
+ } else {
+ console.log("handling server_type: " + s);
+ if (s == "sse") {
+ $("input[name=server_type]#sse").attr("checked",true);
+ } else if (s == "ws") {
+ $("input[name=server_type]#ws").attr("checked",true);
+ }
+ return s;
+ }
+ },
+
onServerChange: onServerChange,
+ onServerTypeChange: onServerTypeChange,
onWorkspaceChange: onWorkspaceChange,
onWorkspaceReorder: onWorkspaceReorder,
onWorkspaceSwitch: onWorkspaceSwitch,
onWorkspaceAdd: onWorkspaceAdd,
onWorkspaceDelete: onWorkspaceDelete,