diff options
Diffstat (limited to 'fg21sim/webui/static/js')
| -rw-r--r-- | fg21sim/webui/static/js/console.js | 46 | ||||
| -rw-r--r-- | fg21sim/webui/static/js/websocket.js | 18 | 
2 files changed, 64 insertions, 0 deletions
diff --git a/fg21sim/webui/static/js/console.js b/fg21sim/webui/static/js/console.js index f9e75dc..86ea90c 100644 --- a/fg21sim/webui/static/js/console.js +++ b/fg21sim/webui/static/js/console.js @@ -82,6 +82,52 @@ var appendLogMessage = function (msg) {  /** + * Toggle the display of the logging messages at the given level. + * + * NOTE: + * Use a data attribute to keep the current toggle state to be more robust. + * + * @param {String} level - Which level of logging messages to be toggled? + *                         Valid: debug, info, warning, error, critical + */ +var toggleLogMessages = function (level) { +  var valid_levels = ["debug", "info", "warning", "error", "critical"]; +  if (! level) { +    console.error("toggleLogMessages: level not specified"); +  } else if ($.inArray(level.toLowerCase(), valid_levels) == -1) { +    console.error("toggleLogMessages: invalid level:", level); +  } else { +    level = level.toLowerCase(); +    var logbox = $("#log-messages"); +    var status = null; +    if (typeof logbox.data(level) === "undefined") { +      // No stored display status, assuming true: show +      status = true; +      logbox.data(level, status); +    } else { +      // Use the stored display status +      status = logbox.data(level); +    } +    // Toggle the display status +    status = !status; +    logbox.find("p.log-" + level).toggle(); +    // Save the new display status +    logbox.data(level, status); +    console.log("Toggled", level, "logging messages:", +                status ? "show" : "hide"); +  } +}; + + +/** + * Delete all the logging messages + */ +var deleteLogMessages = function () { +  $("#log-messages").empty(); +  console.warn("Deleted all logging messages!"); +}; + +/**   * Get the task status from the server   *   * @param {Object} ws - The opened WebSocket object through which to send diff --git a/fg21sim/webui/static/js/websocket.js b/fg21sim/webui/static/js/websocket.js index 8f726b8..cff66b2 100644 --- a/fg21sim/webui/static/js/websocket.js +++ b/fg21sim/webui/static/js/websocket.js @@ -234,6 +234,24 @@ $(document).ready(function () {        getServerTaskStatus(g_ws);      }); +    /* Logging messages controls */ +    $("#log-toggle-debug").on("click", function () { +      toggleLogMessages("debug"); +    }); +    $("#log-toggle-info").on("click", function () { +      toggleLogMessages("info"); +    }); +    $("#log-toggle-warning").on("click", function () { +      toggleLogMessages("warning"); +    }); +    $("#log-toggle-error").on("click", function () { +      toggleLogMessages("error"); +      toggleLogMessages("critical"); +    }); +    $("#log-delete").on("click", function () { +      deleteLogMessages(); +    }); +    } else {      // WebSocket NOT supported      console.error("Oops, WebSocket is NOT supported!");  | 
